@charset "UTF-8";
/*PC・タブレット・スマホ共通設定
 ---------------------------------------------------------------------------*/
/* mobile first*/
/* For Bootstrap4 Breakpoints  */
/* For Bootstrap4 Breakpoints  End */
/* ----
// * ex) @include text-stroke(2, #fff);
---- */
body {
  /*
    padding-top: 3rem;

     */
  padding-bottom: 3rem;
  color: #5a5a5a; }

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
/* Carousel base class */
.carousel {
  margin-bottom: 1rem; }
  @media (min-width: 992px) {
    .carousel {
      margin-bottom: -1rem; } }
  @media (min-width: 1200px) {
    .carousel {
      margin-bottom: -2rem; } }
  @media (min-width: 1440px) {
    .carousel {
      margin-bottom: -4rem; } }

/* Since positioning the image, we need to help out the caption
.carousel-caption, .carousel-caption h1{
    top: 30%;
    z-index: 10;
    color: #224478;

}
*/
/* Declare heights because of positioning of img element */
.carousel-item {
  height: 40rem; }
  @media (min-width: 1440px) {
    .carousel-item {
      height: 50rem; } }

/*
.carousel-item > img {
    position: absolute;
    top: -30%;
    left: 0;
    width: 100%;
   // height: 32rem;
    background-size: contain;
}
*/
.carousel-item .first,
.carousel-item .second,
.carousel-item .third {
  position: absolute;
  top: -30%;
  left: 30%;
  height: 100%;
  -webkit-transform: translate(-30%, 30%);
          transform: translate(-30%, 30%);
  /*
    @include screen-mq(xxl) {
        position: absolute;
        top: -60%;
        left: 0;
        width: 100%;
        height: unset;
        transform: translate( -60%, 0);
    }

 */ }
  @media (min-width: 992px) {
    .carousel-item .first,
    .carousel-item .second,
    .carousel-item .third {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: unset;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); } }
  @media (min-width: 1200px) {
    .carousel-item .first,
    .carousel-item .second,
    .carousel-item .third {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: unset;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); } }

@media (min-width: 1200px) {
  .carousel-item img.first {
    /*
        top: -10%;

         */ } }

@media (min-width: 1440px) {
  .carousel-item img.first {
    /*
        top: -22%;

         */ } }

.carousel-control-prev-icon, .carousel-control-next-icon {
  height: 30px;
  width: 30px;
  outline: #a0caff;
  background-color: rgba(32, 71, 129, 0.8);
  background-size: 80%, 80%;
  border-radius: 50%; }
  @media (min-width: 544px) {
    .carousel-control-prev-icon, .carousel-control-next-icon {
      height: 50px;
      width: 50px; } }

.carousel-item figcaption {
  position: absolute;
  left: 50%;
  bottom: 40px;
  color: #044780;
  z-index: 10000;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 30px;
  padding: 4px 5px 2px 8px;
  font-size: 0.8rem;
  white-space: nowrap; }

/* MARKETING CONTENT
-------------------------------------------------- */
/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center; }

.marketing h2 {
  font-weight: 400; }

/* rtl:begin:ignore */
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem; }

/* rtl:end:ignore */
/* Featurettes
------------------------- */
.featurette-divider {
  margin: 5rem 0;
  /* Space out the Bootstrap <hr> more */ }

/* Thin out the marketing headings */
.featurette-heading {
  font-weight: 300;
  line-height: 1;
  /* rtl:remove */
  letter-spacing: -.05rem; }

.carousel-caption p.sub {
  font-size: 1rem;
  text-shadow: 2.5px 0 0 rgba(255, 255, 255, 0.75), -2.5px 0 0 rgba(255, 255, 255, 0.75), 0 -2.5px 0 rgba(255, 255, 255, 0.75), 0 2.5px 0 rgba(255, 255, 255, 0.75), 2.5px 2.5px 0 rgba(255, 255, 255, 0.75), -2.5px 2.5px 0 rgba(255, 255, 255, 0.75), 2.5px -2.5px 0 rgba(255, 255, 255, 0.75), -2.5px -2.5px 0 rgba(255, 255, 255, 0.75), 1.5px 2.5px 0 rgba(255, 255, 255, 0.75), -1.5px 2.5px 0 rgba(255, 255, 255, 0.75), 1.5px -2.5px 0 rgba(255, 255, 255, 0.75), -1.5px -2.5px 0 rgba(255, 255, 255, 0.75), 2.5px 1.5px 0 rgba(255, 255, 255, 0.75), -2.5px 1.5px 0 rgba(255, 255, 255, 0.75), 2.5px -1.5px 0 rgba(255, 255, 255, 0.75), -2.5px -1.5px 0 rgba(255, 255, 255, 0.75), 1.5px 1.5px 0 rgba(255, 255, 255, 0.75), -1.5px 1.5px 0 rgba(255, 255, 255, 0.75), 1.5px -1.5px 0 rgba(255, 255, 255, 0.75), -1.5px -1.5px 0 rgba(255, 255, 255, 0.75); }
  @media (min-width: 992px) {
    .carousel-caption p.sub {
      font-size: 1.3rem; } }

.carousel-caption h1 {
  font-size: 1.3rem;
  /*
    font-family:    'Yu Mincho', sans-serif;
     */
  text-shadow: 2.5px 0 0 rgba(255, 255, 255, 0.75), -2.5px 0 0 rgba(255, 255, 255, 0.75), 0 -2.5px 0 rgba(255, 255, 255, 0.75), 0 2.5px 0 rgba(255, 255, 255, 0.75), 2.5px 2.5px 0 rgba(255, 255, 255, 0.75), -2.5px 2.5px 0 rgba(255, 255, 255, 0.75), 2.5px -2.5px 0 rgba(255, 255, 255, 0.75), -2.5px -2.5px 0 rgba(255, 255, 255, 0.75), 1.5px 2.5px 0 rgba(255, 255, 255, 0.75), -1.5px 2.5px 0 rgba(255, 255, 255, 0.75), 1.5px -2.5px 0 rgba(255, 255, 255, 0.75), -1.5px -2.5px 0 rgba(255, 255, 255, 0.75), 2.5px 1.5px 0 rgba(255, 255, 255, 0.75), -2.5px 1.5px 0 rgba(255, 255, 255, 0.75), 2.5px -1.5px 0 rgba(255, 255, 255, 0.75), -2.5px -1.5px 0 rgba(255, 255, 255, 0.75), 1.5px 1.5px 0 rgba(255, 255, 255, 0.75), -1.5px 1.5px 0 rgba(255, 255, 255, 0.75), 1.5px -1.5px 0 rgba(255, 255, 255, 0.75), -1.5px -1.5px 0 rgba(255, 255, 255, 0.75); }
  @media (min-width: 320px) {
    .carousel-caption h1 {
      font-size: 1.7rem; } }
  @media (min-width: 992px) {
    .carousel-caption h1 {
      font-size: 2.3rem; } }

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
.carousel-caption, .carousel-caption h1 {
  top: 20%;
  z-index: 10;
  color: #224478; }
  @media (min-width: 992px) {
    .carousel-caption, .carousel-caption h1 {
      top: 10%; } }

.carousel-caption h1.Title {
  color: #f9005f;
  font-size: 1.7rem;
  line-height: 1; }
  @media (min-width: 992px) {
    .carousel-caption h1.Title {
      font-size: 2rem;
      line-height: 1.2; } }

.carousel-caption {
  padding-top: 3rem; }
  @media (min-width: 768px) {
    .carousel-caption {
      padding-top: 4rem; } }
  @media (min-width: 992px) {
    .carousel-caption {
      padding-top: 9rem; } }

@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4; }
  .featurette-heading {
    font-size: 50px; } }

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem; } }

.carousel-caption-back {
  background: url(../img/tagline_back.png) no-repeat center;
  background-size: cover; }
  @media (min-width: 992px) {
    .carousel-caption-back {
      background-size: contain; } }

.carousel-caption-circle {
  margin: 0 auto 0 auto;
  background-color: rgba(255, 255, 255, 0.8);
  width: 70vw;
  height: 70vw;
  border-radius: 50% 50%;
  padding: 2rem 2rem; }
  @media (min-width: 544px) {
    .carousel-caption-circle {
      width: 300px;
      height: 300px;
      padding: 3rem 2rem; } }
  @media (min-width: 992px) {
    .carousel-caption-circle {
      width: 350px;
      height: 350px; } }

/* -------------------placeholderの色を薄くする 20251106-----------*/
/* Bootstrapのフォーム全体に影響させたい場合 */
.form-control::-webkit-input-placeholder {
  color: #aaa;
  /* グレーを薄めに */
  opacity: 1;
  /* ブラウザによって必要 */
  font-style: italic;
  /* optional: 斜体にして区別しやすく */ }
.form-control:-ms-input-placeholder {
  color: #aaa;
  /* グレーを薄めに */
  opacity: 1;
  /* ブラウザによって必要 */
  font-style: italic;
  /* optional: 斜体にして区別しやすく */ }
.form-control::-ms-input-placeholder {
  color: #aaa;
  /* グレーを薄めに */
  opacity: 1;
  /* ブラウザによって必要 */
  font-style: italic;
  /* optional: 斜体にして区別しやすく */ }
.form-control::placeholder {
  color: #aaa;
  /* グレーを薄めに */
  opacity: 1;
  /* ブラウザによって必要 */
  font-style: italic;
  /* optional: 斜体にして区別しやすく */ }
