@charset "UTF-8";
/* ************************************** _
タイトル：home.css
概要：home用css
更新：2023.02.08
_ ************************************** */
/* =========================================================================
   _setting
============================================================================ */
/* kill 'Browser standard style'
---------------------------------------------------------------------------- */
body, h1, h2, h3, h4, h5, h6, div, p, span, ul, ol, li, dl, dt, dd, table, tr, th, td, form, select, option, address, pre, strong, em, figure {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

/* Re style
---------------------------------------------------------------------------- */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover, a:active, a:focus {
  cursor: pointer;
  opacity: 0.7;
}

button {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
button:hover, button:active, button:focus {
  cursor: pointer;
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  a [href^="tel:"] {
    pointer-events: none;
  }
}
em {
  font-style: normal;
}

picture {
  display: inline-block;
}

img,
picture {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  width: auto;
}

li {
  list-style: none;
}

strong {
  font-weight: bold;
}

table {
  border-collapse: collapse;
}

/* html5
---------------------------------------------------------------------------- */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

/* body
---------------------------------------------------------------------------- */
body {
  background-color: #fff;
  background-size: auto;
  color: #212a34;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif, Arial, Helvetica;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  overflow-x: hidden;
  padding: 0;
}

.skipnav {
    position: absolute;
    display: none;
    text-align: left;
    margin: 50px;
    padding: 0;
}

/* ホーム用タイトル
---------------------------------------------------------------------------- */
.heading--hidden {
  font-size: 0em;
  height: 0;
  margin: 0;
  position: absolute;
  opacity: 0;
  width: 0;
}

.heading--bicolor {
  color: #212a34;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.15em;
  margin-bottom: 0.834em;
}
.heading--bicolor::first-letter {
  color: #004fa8;
}

@media screen and (min-width: 768px) {
  .heading--bicolor {
    font-size: 3.6rem;
  }
}
/* ホーム用ボタン
---------------------------------------------------------------------------- */
.btn--arrow {
  margin: 2.78em auto 0;
  width: 100%;
}
.btn--arrow a {
  background-color: #004fa8;
  border-radius: 2em;
  color: #fff;
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.0625em;
  margin: 0 auto;
  max-width: 16.67em;
  padding: 1.17em 2em;
  position: relative;
  text-align: center;
  width: 100%;
}
.btn--arrow a::after {
  background: url(../images/cmn_img/icon_btn_arrow.png) no-repeat center center;
  background-size: auto;
  bottom: 0;
  content: "";
  display: block;
  height: 14px;
  margin: auto 0;
  position: absolute;
  right: 1.4em;
  top: 0;
  width: 9px;
}
.btn--arrow.type--slim {
  margin: 0.8em auto 0;
}
.btn--arrow.type--slim a {
  font-size: 1.4rem;
  max-width: 21.34em;
  padding: 1em 2em;
}
.btn--arrow.type--slim a::after {
  height: 14px;
  right: 1.4em;
  width: 9px;
}
.btn--arrow.type--dl a::after {
  display: none;
}
.btn--arrow.type--green a {
  background-color: #00866b;
}
.btn--arrow.type--red a {
  background-color: #e03222;
}

@media screen and (min-width: 768px) {
  .btn--arrow a {
    font-size: 1.8rem;
  }
  .btn--arrow a::after {
    height: 18px;
    width: 11px;
  }
  .btn--arrow.type--slim a {
    font-size: 1.5rem;
  }
}
/* ヒーローエリア
---------------------------------------------------------------------------- */
.homeHero {
  width: 100%;
}
.homeHero .heroSwiper .swiper-button-next:hover, .homeHero .heroSwiper .swiper-button-next:active, .homeHero .heroSwiper .swiper-button-next:focus,
.homeHero .heroSwiper .swiper-button-prev:hover,
.homeHero .heroSwiper .swiper-button-prev:active,
.homeHero .heroSwiper .swiper-button-prev:focus {
  opacity: 0.7;
}
.homeHero .heroSwiper .swiper-button-next:after,
.homeHero .heroSwiper .swiper-button-prev:after {
  content: url("../images/cmn_img/icon_arrow_circle_blue.png");
}
.homeHero .heroSwiper .swiper-button-next {
  right: 20px;
  top: 100px;
}
.homeHero .heroSwiper .swiper-button-prev {
  left: auto;
  right: 20px;
  top: 40px;
}
.homeHero .heroSwiper .swiper-button-prev:after {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.homeHero .heroSwiper .swiper-slide {
  background-position: 20% top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vw;
  max-height: 768px;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideDisplay {
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--pc,
.homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--sp {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vw;
  max-height: 768px;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--pc {
  display: none;
}
.homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--sp {
  display: block;
}
.homeHero .heroSwiper .swiper-slide.slideLink {
  background-color: #fff;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideLink a {
  display: block;
  height: 100vw;
  max-height: 768px;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--pc,
.homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--sp {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vw;
  max-height: 768px;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--pc {
  display: none;
}
.homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--sp {
  display: block;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_link {
  display: block;
  padding: 10px;
  height: auto;
  width: auto;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_link:hover, .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_link:active, .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_link:focus {
  opacity: 0.8;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content {
  background-color: rgba(255, 255, 255, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: auto;
  margin: auto;
  padding: 20px 10px;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
  /*max-width: 300px;
  width: 50vw;*/
  max-width: 800px;
  width: 80vw;  
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text {
  /*width: 100%;*/
  width: 80vw;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--category {
  line-height: 1;
  margin: 0 0 5px 0;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--category span {
  display: inline-block;
  background-color: #004fa8;
  border-radius: 3px;
  color: #fff;
  /*font-size: 12px;*/
  font-size: 0.8em;
  font-weight: 700;
  line-height: 1;
  padding: 4px 12px;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--title {
  line-height: 1.25;
  /*font-size: 16px;*/
  font-size: 1em;
  font-weight: 700;
  margin: 1.2vw 0 0 0;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--schedule {
  border-top: 2px solid #004fa8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
  letter-spacing: 2px;
  margin-top: 1.25vw;
  padding-top: 1.25vw;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--date {
  display: inline-block;
  font-family: "Open Sans", sans-serif;
  /*font-size: 14px;*/
  font-size: 1em;
  font-weight: 600;
  font-display: swap;
  margin-right: 7px;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--state {
  display: inline-block;
  /*font-size: 11px;*/
  font-size: 0.8em;
  font-weight: 700;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn {
  background-color: #004fa8;
  border-radius: 30px;
  color: #fff;
  /*font-size: 15px;*/
  font-size: 1.2em;
  line-height: 1;
  margin: 3vw auto 0;
  max-width: 300px;
  position: relative;
  padding: 0.75em 2em;
  text-align: center;
  width: 100%;
}
.homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn::after {
  background: url(../images/cmn_img/icon_btn_arrow.png) no-repeat center center;
  background-size: auto;
  bottom: 0;
  content: "";
  display: block;
  height: 14px;
  margin: auto 0;
  position: absolute;
  right: 1.4em;
  top: 0;
  width: 9px;
}

@media (max-width: 375px) {
  .homeHero .heroSwiper .swiper-button-next {
    top: 85px;
  }
  .homeHero .heroSwiper .swiper-button-prev {
    top: 30px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--image {
    width: 45vw;
  }
}
@media screen and (min-width: 600px) {
  .homeHero .heroSwiper .swiper-button-next {
    right: 20px;
    top: 50%;
  }
  .homeHero .heroSwiper .swiper-button-prev {
    left: 20px;
    right: auto;
    top: 50%;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content {
    padding: 30px 20px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--image {
    margin-bottom: 20px;
    max-width: 500px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--category span {
    /*font-size: 13px;*/
    font-size: 1em;
    padding: 5px 14px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--title {
    /*font-size: 17px;*/
    font-size: 1em;
    margin: 2vw 0 0 0;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--date {
    /*font-size: 15px;*/
    font-size: 1em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn {
    /*font-size: 16px;*/
    font-size: 1em;
    margin: 3vw auto 0;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn::after {
    height: 18px;
    width: 11px;
  }
}
@media screen and (min-width: 768px) {
  .homeHero .heroSwiper .swiper-button-next {
    right: 30px;
  }
  .homeHero .heroSwiper .swiper-button-prev {
    left: 30px;
  }
  .homeHero .heroSwiper .swiper-slide {
    background-position: center top;
    height: 39vw;
    max-height: 730px;
    width: 100%;
  }
  .homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--pc,
.homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--sp {
    height: 39vw;
    max-height: 730px;
  }
  .homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--pc {
    display: block;
  }
  .homeHero .heroSwiper .swiper-slide.slideDisplay .slideDisplay_item--sp {
    display: none;
  }
  .homeHero .heroSwiper .swiper-slide.slideLink a {
    height: 39vw;
    max-height: 730px;
  }
  .homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--pc,
.homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--sp {
    height: 39vw;
    max-height: 730px;
  }
  .homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--pc {
    display: block;
  }
  .homeHero .heroSwiper .swiper-slide.slideLink .slideLink_item--sp {
    display: none;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 20px;
    max-width: 1200px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--image {
    margin-bottom: 0;
    width: 45vw;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text {
    margin-left: 20px;
    width: 40vw;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--category span {
    /*font-size: 15px;*/
    font-size: 1em;
    padding: 6px 15px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--title {
    line-height: 1.5;
    /*font-size: 20px;*/
    font-size: 1.2em;
    margin: 1.5vw 0 0 0;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--schedule {
    border-top-width: 3px;
    margin-top: 1.5vw;
    padding-top: 1.5vw;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--date {
    /*font-size: 19px;*/
    font-size: 1.2em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--state {
    /*font-size: 15px;*/
    font-size: 1em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn {
    /*font-size: 18px;*/
    font-size: 1.2em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn::after {
    height: 18px;
    width: 11px;
  }
}
@media screen and (min-width: 960px) {
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--category span {
    /*font-size: 16px;*/
    font-size: 1em;
    padding: 7px 16px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--title {
    margin: 30px 0 0 0;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--schedule {
    margin-top: 20px;
    padding-top: 20px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--date {
    /*font-size: 20px;*/
    font-size: 1.2em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--state {
    /*font-size: 16px;*/
    font-size: 1em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn {
    margin: 30px auto 0;
    padding: 1.16em 2em;
  }
}
@media screen and (min-width: 1300px) {
  .homeHero {
    width: 100%;
  }
  .homeHero .heroSwiper .swiper-slide {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    height: 39vw;
    max-height: 730px;
    width: 100%;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_link {
    padding: 30px 0;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content {
    height: 495px;
    padding: 20px 40px;
    width: 1200px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--image {
    max-width: 700px;
    width: calc(100% - 360px);
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text {
    width: 360px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--category span {
    /*font-size: 16px;*/
    font-size: 1em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--title {
    line-height: 1.8;
    /*font-size: 22px;*/
    font-size: 1.4em;
    margin: 45px 0 0 0;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--schedule {
    margin-top: 25px;
    padding-top: 25px;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--date {
    /*font-size: 22px;*/
    font-size: 2em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--state {
    /*font-size: 17px;*/
    font-size: 1.4em;
  }
  .homeHero .heroSwiper .swiper-slide.slideEvevt .slideEvevt_content .slideEvevt_content--text .event--btn {
    margin: 45px auto 0;
  }
}
/* 重要なお知らせ
---------------------------------------------------------------------------- */
.importantNotices {
  border: 3px solid #eeeeee;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 30px;
  padding: 2.5% 20px;
}
.importantNotices dt {
  /*color: #e03222;*/
  color: #cb0b0b;
  font-size: 1.8rem;
  margin-right: 1.5em;
}
.importantNotices__note{
  font-size: 0.8em;
}
.importantNotices__note a{
  text-decoration: underline;
  color: #004fa8;
}
@media (max-width: 375px) {
  .importantNotices {
    padding: 2.5% 15px;
  }
}
@media screen and (min-width: 768px) {
  .importantNotices {
    font-size: 1.8rem;
    padding: 2.5% 30px;
  }
  .importantNotices dt {
    font-size: 2rem;
    margin-right: 1.5em;
  }
}
@media screen and (min-width: 1300px) {
  .importantNotices {
    padding: 2.5% 50px;
  }
}
/* 研究所でできること
---------------------------------------------------------------------------- */
.homeCanDo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -2.7027027027% auto 0 auto;
  width: 100%;
}
.homeCanDo .homeCanDo_item {
  /*background-color: #6695cb;*/
  background-color: #0d4d95;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2rem;
  line-height: 1.67;
  margin-top: 2.7027027027%;
  position: relative;
  width: 100%;
}
.homeCanDo .homeCanDo_item.item--small {
  margin-left: 2.7027027027%;
  width: 48.6486486486%;
}
.homeCanDo .homeCanDo_item.item--small a {
  padding: 5.4054054054% 5.4054054054%;
}
.homeCanDo .homeCanDo_item:nth-child(4), .homeCanDo .homeCanDo_item:nth-child(6) {
  margin-left: 0;
}
.homeCanDo .homeCanDo_item::before {
  /*background-color: #0f59ad;*/
  background-color: #0b4382;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.homeCanDo .homeCanDo_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: auto;
  margin: auto;
  position: relative;
  padding: 2.7027027027% 2.7027027027%;
  width: 100%;
}
.homeCanDo .homeCanDo_item .homeCanDo_item--image {
  position: relative;
  width: 100%;
}
.homeCanDo .homeCanDo_item .homeCanDo_item--image img {
  margin: auto;
}
.homeCanDo .homeCanDo_item .homeCanDo_item--text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-items: center;
  position: relative;
  margin-top: 0.75em;
  font-weight: bold;
}
.homeCanDo .homeCanDo_item .homeCanDo_item--text span {
  width: calc(100% - 30px + 0.5em);
}
.homeCanDo .homeCanDo_item .homeCanDo_item--text::after {
  bottom: 0;
  background: url(../images/cmn_img/icon_arrow_circle.png) no-repeat center center;
  background-size: contain;
  content: "";
  display: block;
  height: 30px;
  margin: auto 0 auto 0.5em;
  right: 1.4em;
  top: 0;
  width: 30px;
}
.homeCanDo .homeCanDo_item .homeCanDo_item--text br {
  display: none;
}

@media screen and (max-width: 375px) {
  .homeCanDo .homeCanDo_item {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .homeCanDo {
    margin-top: -2.6041666667%;
  }
  .homeCanDo .homeCanDo_item {
    font-size: 2rem;
    margin-left: 2.8653295129%;
    margin-top: 2.8653295129%;
    width: 31.4231136581%;
  }
  .homeCanDo .homeCanDo_item.item--small {
    margin-left: 2.8653295129%;
    width: 22.8510028653%;
  }
  .homeCanDo .homeCanDo_item.item--small a {
    padding: 8.3333333333% 8.3333333333%;
  }
  .homeCanDo .homeCanDo_item:first-child, .homeCanDo .homeCanDo_item:nth-child(4) {
    margin-left: 0;
  }
  .homeCanDo .homeCanDo_item a {
    padding: 6.8181818182% 6.8181818182%;
  }
  .homeCanDo .homeCanDo_item .homeCanDo_item--text {
    margin-top: 1.1em;
  }
  .homeCanDo .homeCanDo_item .homeCanDo_item--text span {
    width: calc(100% - 45px + 0.5em);
  }
  .homeCanDo .homeCanDo_item .homeCanDo_item--text::after {
    height: 45px;
    margin: auto 0 auto 0.5em;
    right: 1.4em;
    width: 45px;
  }
}
@media screen and (min-width: 980px) {
  .homeCanDo {
    margin-top: -2.7472527473%;
  }
  .homeCanDo .homeCanDo_item {
    font-size: 2.2rem;
    margin-left: 2.7472527473%;
    margin-top: 2.7472527473%;
    width: 31.5018315018%;
  }
  .homeCanDo .homeCanDo_item.item--small {
    margin-left: 2.7472527473%;
    width: 22.9395604396%;
  }
  .homeCanDo .homeCanDo_item.item--small a {
    padding: 11.3636363636% 11.3636363636%;
  }
  .homeCanDo .homeCanDo_item:first-child, .homeCanDo .homeCanDo_item:nth-child(4) {
    margin-left: 0;
  }
  .homeCanDo .homeCanDo_item a {
    padding: 8.5034013605% 8.5034013605%;
  }
}
@media screen and (min-width: 1300px) {
  .homeCanDo {
    margin-top: -2.5%;
  }
  .homeCanDo .homeCanDo_item {
    font-size: 2.4rem;
    margin-left: 2.5%;
    margin-top: 2.5%;
    width: 31.6666666667%;
  }
  .homeCanDo .homeCanDo_item.item--small {
    margin-left: 2.5%;
    width: 23.125%;
  }
  .homeCanDo .homeCanDo_item.item--small a {
    padding: 10.7913669065% 8.9928057554%;
  }
  .homeCanDo .homeCanDo_item:first-child, .homeCanDo .homeCanDo_item:nth-child(4) {
    margin-left: 0;
  }
  .homeCanDo .homeCanDo_item a {
    padding: 6.5789473684% 7.8947368421%;
  }
  .homeCanDo .homeCanDo_item .homeCanDo_item--text br {
    display: inline;
  }
}
/* お問い合わせ
---------------------------------------------------------------------------- */
.homeContact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 70px;
  padding-top: 70px;
  position: relative;
  width: 100%;
}
.homeContact_wrap {
  /*background-color: #eeeeee;*/
  background-color: #f8f8f8;
  width: 100%;
}
.homeContact_intro {
  margin: 0 0 7% 0;
  width: 100%;
}
.homeContact_intro .btn--arrow {
  margin: 1.8em auto 0;
}
.homeContact_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.8rem;
  text-align: center;
  margin: 0;
  width: 100%;
}
.homeContact_list .btn--arrow {
  margin: 1.25em auto 0;
  position: relative;
}
.homeContact_item {
  background-color: rgba(255, 255, 255, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
  padding: 4.0760869565% 0.5em;
  width: 100%;
}
.homeContact_item:first-child {
  margin-bottom: 4px;
}
.homeContact_item--image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 32px;
  margin-bottom: 5px;
  position: relative;
  width: 100%;
}
.homeContact_item--heading {
  line-height: 1.5;
  position: relative;
  width: 100%;
}
.homeContact_item--tel {
  color: #004fa8;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.06em;
  width: 100%;
}
.homeContact_item--text {
  font-size: 1.4rem;
  line-height: 1.5;
  width: 100%;
}

@media screen and (max-width: 375px) {
  .homeContact_intro {
    margin-bottom: 10%;
  }
  .homeContact_item {
    padding: 4% 3%;
  }
}
@media screen and (min-width: 768px) {
  .homeContact {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 90px;
    padding-top: 90px;
  }
  .homeContact .btn--arrow a {
    padding: 1.17em 36px;
  }
  .homeContact .btn--arrow a::after {
    right: 22px;
  }
  .homeContact_intro {
    margin-bottom: 0;
    margin-right: 2.5%;
    width: 40%;
  }
  .homeContact_intro .btn--arrow a {
    margin-left: 0;
  }
  .homeContact_list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 2rem;
    width: 55%;
  }
  .homeContact_item {
    margin: 0;
    padding: 3.8860103627% 0.5em;
    width: 100%;
  }
  .homeContact_item--tel {
    font-size: 3.6rem;
    line-height: 1.25;
    padding: 5px 0;
  }
  .homeContact_item--text {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 960px) {
  .homeContact_intro {
    width: 32.8333333333%;
  }
  .homeContact_list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 64.6666666667%;
  }
  .homeContact_item {
    padding: 3.8860103627% 0.25em;
    width: calc((100% - 4px) / 2);
  }
  .homeContact_item:first-child {
    margin-bottom: 0;
    margin-right: 4px;
  }
}
@media screen and (min-width: 1300px) {
  .homeContact {
    padding-bottom: 110px;
    padding-top: 110px;
  }
}
/* バナーエリア
---------------------------------------------------------------------------- */
.homePickupBnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  padding: 40px 10px;
  max-width: 1000px;
}
.homePickupBnr_wrap {
  background: #779ecb url("../images/home/home_bg_banner.jpg") no-repeat top right;
  background-size: cover;
  width: 100%;
}
.homePickupBnr .homePickupBnr_item {
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 3px 20px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 3px 20px;
  margin: 5px;
  max-width: 310px;
  width: calc((100% - 30px) / 2);
}

@media screen and (max-width: 375px) {
  .homePickupBnr .homePickupBnr_item {
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 3px 15px;
    box-shadow: rgba(0, 0, 0, 0.2) 0 3px 15px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .homePickupBnr {
    padding: 55px 0;
  }
  .homePickupBnr_wrap {
    background-position: top center;
  }
  .homePickupBnr .homePickupBnr_item {
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 3px 25px;
    box-shadow: rgba(0, 0, 0, 0.2) 0 3px 25px;
    margin: 10px;
    width: auto;
  }
}
.homeSponsoredBnr {
  background-color: #004fa8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 40px 0;
}
.homeSponsoredBnr .homeSponsoredBnr_item {
  margin: 10px;
}

@media screen and (min-width: 768px) {
  .homeSponsoredBnr {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 55px 0;
  }
}
/* ニュース
---------------------------------------------------------------------------- */
.homeNews {
  margin-bottom: 40px;
  width: 100%;
}
.homeNews_item {
  border-bottom: 1px solid #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px 20px;
}
.homeNews_item > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.homeNews_item--date {
  /*color: #7d7d7d;*/
  font-size: 1.6rem;
  letter-spacing: 0.125em;
  margin-right: 1em;
}
.homeNews_item--title {
  margin-right: 1.5em;
}
.homeNews_item--pdf.btn--arrow.type--slim {
  margin: 0.8em auto 0.8em auto;
  width: 220px;
}
.homeNews_item--pdf.btn--arrow.type--slim a {
  max-width: 220px;
  padding: 0.5em 10px 0.5em 14px;
}

@media screen and (max-width: 375px) {
  .homeNews_item {
    padding: 15px 10px;
  }
  .homeNews_item--date {
    margin-right: 0.75em;
  }
  .homeNews_item--title {
    margin-right: 1em;
  }
  .homeNews_item--category span {
    margin-right: 0.75em;
  }
}
@media screen and (min-width: 768px) {
  .homeNews {
    margin-bottom: 50px;
  }
  .homeNews_item {
    padding: 15px 40px;
  }
  .homeNews_item > a {
    width: 100%;
  }
  .homeNews_item--date {
    margin-right: 2em;
    width: 100%;
  }
  .homeNews_item--title {
    margin-right: 2em;
    width: 100%;
  }
  .homeNews_item--pdf.btn--arrow.type--slim {
    margin: 0.8em 0 0.8em 0;
  }
}
/* 技術ブログ
---------------------------------------------------------------------------- */
.homeBlog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.homeBlog_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 25px;
  width: 100%;
}
.homeBlog_item:last-child {
  margin-bottom: 0;
}
.homeBlog_item > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}
.homeBlog_item--image {
  margin-right: 3%;
  width: 40%;
  /*height: 260px;*/
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.homeBlog_item--image > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homeBlog_item--content {
  width: 57%;
}
.homeBlog_item--date {
  /*color: #7d7d7d;*/
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  font-display: swap;
  letter-spacing: 0.06em;
  margin-right: 0.5em;
  width: 8.75em;
}
.homeBlog_item--pdf.btn--arrow.type--slim {
  margin: 1em auto 1em auto;
  max-width: 220px;
  width: 100%;
}
.homeBlog_item--pdf.btn--arrow.type--slim a {
  max-width: 220px;
  padding: 0.5em 10px 0.5em 14px;
}
.homeBlog_item--title {
  border-bottom: 1px solid #212a34;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  font-display: swap;
  line-height: 1.5;
  padding-bottom: 5px;
  width: 100%;
}

@media screen and (max-width: 375px) {
  .homeBlog_item > a {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .homeBlog_item--image {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
  .homeBlog_item--content {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .homeBlog {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .homeBlog_item {
    margin-bottom: 0;
    margin-left: 3.5%;
    width: 31%;
  }
  .homeBlog_item:first-child {
    margin-left: 0;
  }
  .homeBlog_item > a {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .homeBlog_item--image {
    margin-bottom: 25px;
    margin-right: 0;
    width: 100%;
  }
  .homeBlog_item--content {
    width: 100%;
  }
  .homeBlog_item--date {
    font-size: 1.6rem;
    letter-spacing: 0.125em;
    line-height: 1;
    margin-right: 0.75em;
    max-width: 9.5em;
    width: auto;
  }
  .homeBlog_item--pdf.btn--arrow.type--slim {
    margin: 1em auto 1em auto;
    max-width: 320px;
    width: 100%;
  }
  .homeBlog_item--title {
    font-size: 1.8rem;
    margin-top: 0.2em;
  }
}
/* メールマガジンのお申込み・アンケート
---------------------------------------------------------------------------- */
.homeAction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  padding: 70px 0;
}
.homeAction_wrap {
  background: #779ecb url("../images/home/home_bg_action.jpg") no-repeat top center;
  background-size: cover;
  width: 100%;
  margin-top: 90px;
}
.homeAction_item {
  background-color: rgba(255, 255, 255, 0.9);
  font-size: 2rem;
  margin: 2px 0;
  padding: 2.5%;
  text-align: center;
  width: 100%;
}
.homeAction_item--image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 40px;
}
.homeAction_item--heading {
  font-weight: 700;
  line-height: 1.5;
  margin: 5px auto;
}
.homeAction_item--text {
  font-size: 1.2rem;
}

@media screen and (max-width: 375px) {
  .homeAction_item {
    padding: 4% 3%;
  }
}
@media screen and (min-width: 768px) {
  .homeAction {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 90px 0;
    width: calc(100% - 4px);
  }
  .homeAction_item {
    font-size: 2.2rem;
    margin: 0 2px;
    width: calc((100% - 4px) / 2);
  }
  .homeAction_item--text {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1300px) {
  .homeAction {
    padding: 110px 0;
  }
}