@charset "UTF-8";
/* index.scss  */
/*==========================================================================

   mixin

===========================================================================*/
/* use
-----------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   SHOW / HIDE
---------------------------------------------------------------------------*/
/*
 show / hide
 -- レスポンシブ用 表示/非表示
*/
.mi-pc {
  display: block;
}

img.mi-pc {
  display: inline;
}

.mi-sp {
  display: none;
}

/* media query -> sp
========================================*/
@media only screen and (max-width: 640px) {
  .mi-pc,
  img.mi-pc {
    display: none;
  }
  .mi-sp {
    display: block;
  }
  img.mi-sp {
    display: inline;
  }
}
/*--------------------------------------------------------------------------
   TEXT
---------------------------------------------------------------------------*/
/*
 note
 -- 改行時、一文字目に余白を持たせる
*/
.mi-note,
.mi-list-note li {
  padding-left: 1em;
  text-indent: -1em;
}

/*--------------------------------------------------------------------------
   IMAGE
---------------------------------------------------------------------------*/
/*
 max
 -- 横幅に合わせて画像を最大化
*/
.mi-img-max {
  width: 100%;
  height: auto;
}

/* use
-----------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   init
---------------------------------------------------------------------------*/
.is-animate.is-fadein {
  opacity: 0;
}
.is-animate.is-fadeup {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}
.is-animate.is-fadedown {
  opacity: 0;
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
}
.is-animate.is-fadeleft {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
}
.is-animate.is-faderight {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}
.is-animate.is-fadezoom {
  opacity: 0;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
}

/*--------------------------------------------------------------------------
   animated
---------------------------------------------------------------------------*/
.is-animated.is-fadein {
  opacity: 1;
  -webkit-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.is-animated.is-fadeup {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.is-animated.is-fadedown {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.is-animated.is-fadeleft {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.is-animated.is-faderight {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.is-animated.is-fadezoom {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.6s ease-in-out, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

/* index
-----------------------------------------------------------------*/
.index {
  width: 100%;
  color: #474d52;
}
.index__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 640px) {
  .index__inner {
    padding: 0 5vw;
  }
}
.index__section-title {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 40px;
}
@media only screen and (max-width: 640px) {
  .index__section-title {
    font-size: 5.5vw;
    margin-bottom: 6vw;
  }
}
.index__section-title--white {
  color: #fff;
}
.index__mv {
  width: 100%;
}
.index__mv-title {
  font-size: clamp(21px, 3.75vw, 42px);
  font-weight: 700;
  text-align: center;
  padding: clamp(20px, 3.5714285714vw, 40px) 0;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .index__mv-title {
    font-size: clamp(21px, 3.5897435897vw, 42px);
    padding: clamp(22.5px, 3.8461538462vw, 45px) 0;
  }
}
.index__mv-visual {
  position: relative;
  width: 100%;
  height: auto;
}
.index__mv-bg {
  width: 100%;
}
.index__mv-bg img {
  display: block;
  width: 100%;
  height: auto;
}
.index__mv-content {
  width: 100%;
  z-index: 2;
  padding: clamp(25px, 4.4642857143vw, 50px) 20px;
  text-align: center;
  color: #fff;
  background-color: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 640px) {
  .index__mv-content {
    padding: clamp(30px, 5.1282051282vw, 60px) 10px;
  }
}
.index__mv-catch {
  font-size: clamp(20px, 3.5714285714vw, 40px);
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 640px) {
  .index__mv-catch {
    font-size: clamp(0px, 4.9572649573vw, 58px);
    line-height: 1.8;
  }
}
.index__intro {
  padding: clamp(40px, 7.1428571429vw, 80px) 0;
  background-color: #e2e4e4;
}
@media only screen and (max-width: 640px) {
  .index__intro {
    padding: clamp(0px, 8.547008547vw, 100px) 0;
  }
}
.index__intro-title {
  font-size: clamp(21px, 3.75vw, 42px);
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: clamp(20px, 3.5714285714vw, 40px);
}
@media only screen and (max-width: 640px) {
  .index__intro-title {
    font-size: clamp(0px, 4.9572649573vw, 58px);
    margin-bottom: clamp(0px, 8.547008547vw, 100px);
  }
}
.index__intro-text {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
}
.index__intro-text + p {
  margin-top: 1em;
}
@media only screen and (max-width: 640px) {
  .index__intro-text {
    font-size: clamp(0px, 3.7606837607vw, 44px);
  }
}
.index__system {
  padding: clamp(40px, 7.1428571429vw, 80px) 0;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .index__system {
    padding: clamp(0px, 8.547008547vw, 100px) 0;
  }
}
.index__system-title {
  font-size: clamp(17px, 3.0357142857vw, 34px);
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 40px;
}
@media only screen and (max-width: 640px) {
  .index__system-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: 6vw;
  }
}
.index__system-text {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}

.index__system-note {
  font-size: clamp(12px, 1.4285714286vw, 16px);
  line-height: 1.5;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}

@media only screen and (max-width: 640px) {
  .index__system-text {
    font-size: clamp(0px, 3.7606837607vw, 44px);
    margin-bottom: 10vw;
  }
}
.index__system-camera-title {
  position: relative;
  font-size: clamp(17px, 3.0357142857vw, 34px);
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: clamp(20px, 3.5714285714vw, 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: clamp(0px, 6.8376068376vw, 80px);
  }
}
.index__system-camera-title::before {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  height: 1px;
  background-color: #333;
}
.index__system-camera-title > span {
  position: relative;
  padding: 0 50px;
  background-color: #fff;
}
.index__system-camera-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6vw;
  }
}
.index__system-camera-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 32%;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-item {
    width: 100%;
  }
}
.index__system-camera-item--text {
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-item--text {
    width: 100%;
  }
}
.index__system-camera-img {
  margin: 0;
  background-color: #e2e4e4;
  padding: 20px;
}
.index__system-camera-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-img {
    padding: 5vw;
  }
}
.index__system-camera-caption {
  font-size: clamp(10px, 1.7857142857vw, 20px);
  font-weight: 500;
  text-align: center;
  margin-top: 10px;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-caption {
    font-size: clamp(0px, 4.7863247863vw, 56px);
    margin-top: 2vw;
  }
}
.index__system-camera-note {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
}
@media only screen and (max-width: 640px) {
  .index__system-camera-note {
    font-size: clamp(0px, 3.4188034188vw, 40px);
  }
}
.index__workflow {
  padding: clamp(40px, 7.1428571429vw, 80px) 0;
  background-color: #f5f5f5;
}
@media only screen and (max-width: 640px) {
  .index__workflow {
    padding: clamp(0px, 8.547008547vw, 100px) 0;
  }
}
.index__workflow-title {
  font-size: clamp(17px, 3.0357142857vw, 34px);
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: clamp(25px, 4.4642857143vw, 50px);
}
@media only screen and (max-width: 640px) {
  .index__workflow-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: clamp(0px, 8.547008547vw, 100px);
  }
}
.index__workflow-text {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}
@media only screen and (max-width: 640px) {
  .index__workflow-text {
    font-size: clamp(0px, 3.7606837607vw, 44px);
    margin-bottom: clamp(0px, 8.547008547vw, 100px);
  }
}
.index__workflow-img {
  margin: 0;
}
.index__workflow-img img {
  display: block;
  width: 100%;
  height: auto;
}
.index__tools {
  padding: clamp(40px, 7.1428571429vw, 80px) 0;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .index__tools {
    padding: clamp(0px, 8.547008547vw, 100px) 0;
  }
}
.index__tools-title {
  position: relative;
  font-size: clamp(17px, 3.0357142857vw, 34px);
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: clamp(20px, 3.5714285714vw, 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
@media only screen and (max-width: 640px) {
  .index__tools-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: clamp(0px, 6.8376068376vw, 80px);
  }
}
.index__tools-title::before {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  height: 1px;
  background-color: #333;
}
.index__tools-title > span {
  position: relative;
  padding: 0 50px;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  .index__tools-title > span {
    padding: 0 20px;
  }
}
.index__tools-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(15px, 2.6785714286vw, 30px);
}
@media only screen and (max-width: 640px) {
  .index__tools-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6vw;
  }
}
.index__tools-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #e2e4e4;
  padding: 30px;
}
@media only screen and (max-width: 640px) {
  .index__tools-item {
    max-width: 100%;
    padding: 5vw;
  }
}
.index__tools-img {
  margin: 0 0 20px;
}
.index__tools-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .index__tools-img {
    margin-bottom: 4vw;
  }
}
.index__tools-item-text {
  font-size: clamp(12px, 1.4285714286vw, 16px);
  line-height: 1.5;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .index__tools-item-text {
    font-size: clamp(0px, 3.4188034188vw, 40px);
  }
}
.index__provenance {
  margin-bottom: clamp(70px, 12.5vw, 140px);
}
@media only screen and (max-width: 640px) {
  .index__provenance {
    margin-bottom: clamp(0px, 8.547008547vw, 100px);
  }
}
.index__provenance-header {
  background-color: #e2e4e4;
  padding: clamp(20px, 3.5714285714vw, 40px) 0;
}
@media only screen and (max-width: 640px) {
  .index__provenance-header {
    padding: clamp(0px, 8.547008547vw, 100px) 0;
  }
}
.index__provenance-header-title {
  font-size: clamp(21px, 3.75vw, 42px);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
}
@media only screen and (max-width: 640px) {
  .index__provenance-header-title {
    font-size: clamp(0px, 4.9572649573vw, 58px);
  }
}
.index__provenance-body {
  background-color: #bcdece;
  padding: clamp(40px, 7.1428571429vw, 80px) 0;
}
@media only screen and (max-width: 640px) {
  .index__provenance-body {
    padding: 8vw 0 12vw;
  }
}
.index__provenance-title {
  font-size: clamp(17px, 3.0357142857vw, 34px);
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 30px;
}
@media only screen and (max-width: 640px) {
  .index__provenance-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: clamp(0px, 7.6923076923vw, 90px);
  }
}
.index__provenance-text {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
  text-align: left;
  margin-bottom: clamp(20px, 3.5714285714vw, 40px);
}
@media only screen and (max-width: 640px) {
  .index__provenance-text {
    font-size: clamp(0px, 3.7606837607vw, 44px);
    margin-bottom: clamp(0px, 7.6923076923vw, 90px);
  }
}
.index__provenance-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .index__provenance-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6vw;
  }
}
.index__provenance-item {
  width: 48.5%;
}
@media only screen and (max-width: 640px) {
  .index__provenance-item {
    width: 100%;
  }
}
.index__provenance-item-title {
  font-size: clamp(12px, 2.1428571429vw, 24px);
  font-weight: 700;
  text-align: center;
  margin-bottom: clamp(12.5px, 2.2321428571vw, 25px);
  width: 100%;
  display: grid;
  place-items: center;
  height: 60px;
}
@media only screen and (max-width: 640px) {
  .index__provenance-item-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: 4vw;
    height: auto;
  }
}
.index__provenance-item-caption {
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 20px;
  color: #747373;
}
@media only screen and (max-width: 640px) {
  .index__provenance-item-caption {
    font-size: clamp(0px, 3.4188034188vw, 40px);
    margin-bottom: 4vw;
  }
}
.index__provenance-item-img {
  margin: 0 0 clamp(10px, 1.7857142857vw, 20px);
}
@media only screen and (max-width: 640px) {
  .index__provenance-item-img {
    margin: 0 0 clamp(0px, 3.4188034188vw, 40px);
  }
}
.index__provenance-item-img img {
  display: block;
  width: 100%;
  height: auto;
}
.index__provenance-item-text {
  font-size: clamp(12px, 1.4285714286vw, 16px);
  line-height: 1.6;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .index__provenance-item-text {
    font-size: clamp(0px, 3.4188034188vw, 40px);
  }
}
.index__provenance-divider {
  border-top: 1px solid #333;
  margin: 50px 0;
}
@media only screen and (max-width: 640px) {
  .index__provenance-divider {
    margin: clamp(0px, 6.8376068376vw, 80px) 0;
  }
}
.index__validity-header {
  background-color: #e2e4e4;
  padding: clamp(20px, 3.5714285714vw, 40px) 0;
}
@media only screen and (max-width: 640px) {
  .index__validity-header {
    padding: clamp(0px, 8.547008547vw, 100px) 0;
  }
}
.index__validity-header-title {
  font-size: clamp(21px, 3.75vw, 42px);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
}
@media only screen and (max-width: 640px) {
  .index__validity-header-title {
    font-size: clamp(0px, 4.9572649573vw, 58px);
  }
}
.index__validity-body {
  background-color: #cfebf6;
  padding: clamp(40px, 7.1428571429vw, 80px) 0;
}
@media only screen and (max-width: 640px) {
  .index__validity-body {
    padding: 8vw 0 12vw;
  }
}
.index__validity-title {
  font-size: clamp(17px, 3.0357142857vw, 34px);
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}
@media only screen and (max-width: 640px) {
  .index__validity-title {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: clamp(0px, 7.6923076923vw, 90px);
  }
}
.index__validity-text {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
  text-align: left;
  margin-bottom: clamp(20px, 3.5714285714vw, 40px);
}

.index__validity-text-note {
  font-size: clamp(12px, 1.4285714286vw, 16px);
  line-height: 1.5;
  margin-bottom: clamp(45px, 8.0357142857vw, 90px);
}
@media only screen and (max-width: 640px) {
  .index__validity-text {
    font-size: clamp(0px, 3.4188034188vw, 40px);
    margin-bottom: clamp(0px, 7.6923076923vw, 90px);
  }
}
.index__validity-subtitle {
  font-size: clamp(12px, 2.1428571429vw, 24px);
  font-weight: 700;
  text-align: center;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}
@media only screen and (max-width: 640px) {
  .index__validity-subtitle {
    font-size: clamp(0px, 4.1025641026vw, 48px);
    margin-bottom: 5vw;
  }
}
.index__validity-img {
  margin: 0 0 clamp(20px, 3.5714285714vw, 40px);
}
.index__validity-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .index__validity-img {
    margin-bottom: 6vw;
  }
}
.index__validity-divider {
  border-top: 1px solid #333;
  margin: clamp(25px, 4.4642857143vw, 50px) 0;
}
@media only screen and (max-width: 640px) {
  .index__validity-divider {
    margin: 8vw 0;
  }
}
.index__validity-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}
@media only screen and (max-width: 640px) {
  .index__validity-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(0px, 8.547008547vw, 100px);
    margin-bottom: 6vw;
  }
}
.index__validity-item {
  width: 48.5%;
}
@media only screen and (max-width: 640px) {
  .index__validity-item {
    width: 100%;
  }
}
.index__validity-item-img {
  margin: 0 0 clamp(7.5px, 1.3392857143vw, 15px);
}
.index__validity-item-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .index__validity-item-img {
    margin-bottom: 3vw;
  }
}
.index__validity-item-text {
  font-size: clamp(12px, 1.4285714286vw, 16px);
  line-height: 1.5;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .index__validity-item-text {
    font-size: clamp(0px, 3.4188034188vw, 40px);
  }
}
.index__validity-note {
  font-size: clamp(14px, 1.6071428571vw, 18px);
  line-height: 1.6;
  text-align: center;
  margin-bottom: clamp(30px, 5.3571428571vw, 60px);
}
@media only screen and (max-width: 640px) {
  .index__validity-note {
    margin-bottom: clamp(0px, 8.547008547vw, 100px);
    font-size: clamp(0px, 3.7606837607vw, 44px);
    text-align: left;
  }
}
/*
.index__validity .contents.bg-color {
  max-width: 90%;
  width: 900px;
  margin: 0 auto;
}
*/
