/* デザイン変更 202610 */
   .u-inline-block {
      display: inline-block;
   }
   .model-viewer-slide {
      background: linear-gradient(to top, rgb(217 217 217) 0%, rgb(255 255 255) 50%, rgb(233 233 233) 100%);
   }
   .u-ml--14 {
      margin-left: 14em;
   }
   .p-detail-ttl-main.is-flex::after {
      display: none;
   }
   .p-detail-ttl-main::before {
      width: 10%;
      background-color: #ffffff;
      z-index: 1;
      height: 101%;
   }
   .p-detail-ttl-main__en {
      color: #fff;
      border-bottom: none;
      font-size: 1.5em;
   }
   .p-detail-ttl-main::after {
      width: 10%;
      background-color: #ffffff;
      z-index: 1;
   }
   .p-detail-ttl-main {
      color: #fff;
      font-weight: 600;
      padding: .5em .7em .45em;
      margin-bottom: 0;
      background: linear-gradient(to right, #3ed0f1 0%, #2073c3 50%, #003b93 100%);
   }

   .fadein {
      opacity: 0;
      transform: translateY(30px);
      transition:
      opacity 1.2s ease,
      transform 1.2s ease;
   }
   .fadein.is-show {
      opacity: 1;
      transform: translateY(0);
   }
   @media(min-width: 768px) {
      .modal-lg,.modal-xl {
         max-width:800px
      }
      .p-detail-ttl-main {
         font-size: 26px;
      }
   }
   @media(max-width: 767px) {
      .p-detail-ttl-main {
         flex-direction: column;
      }
      .p-detail-ttl-main::before {
         width: 14%;
         transform: skewX(-15deg);
      }
      .model-viewer {
         border-radius: 1.1em;
      }
   }
/* デザイン変更 202610 end */

/* スライダー css */
   .gallery-top.is-pt2 {
      position: relative;
   }

   .gallery-top.is-pt2 .swiper-pagination {
      position: absolute;
      top: 3%;
      right: 9%;
      left: auto;
      width: auto;
      z-index: 10;
      color: #232323;
      background-color: #ebebeb;
      display: inline-block;
      margin-bottom: auto;
      height: 1.6em;
      padding: 0 .7em;
      border-radius: 100px;
      font-size: .9em;
      line-height: 1.6;
   }
   .swiper-slide {
      position: relative;
   }

   .swiper-slide img {
      width: 100%;
      display: block;
   }

   /* 文字 */
   .slide-txt-wrap {
      position: absolute;
      left: 4%;
      top: 11%;

      color: #fff;

      opacity: 0;
      transform: translateY(30px);
      transition:
      opacity 1s ease,
      transform 1s cubic-bezier(0.22, 1, 0.36, 1);
   }

   /* 現在表示されているスライド */
   .swiper-slide-active .slide-txt-wrap {
      opacity: 1;
      transform: translateY(0);
   }
   .slide-ttl {
      font-size: 1.6em;
      font-weight: 700;
      padding-bottom: 1em;
   }
   .slide-txt {
      font-weight: 600;
      color: #2f2f2f;
      font-size: 1.4em;
   }
   .gallery-thumbs .swiper-wrapper {
      gap: 5px;
      flex-wrap: wrap;
   }
   .model-viewer {
      width: 100%;
      height: 100%;
   }
   #exampleModal {
      z-index: 99999999999;
   }

   .modal-open {
      overflow: hidden;
   }

   .modal-open .modal {
      overflow-x: hidden;
      overflow-y: auto;
   }

   .modal {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 1050;
      display: none;
      width: 100%;
      height: 100%;
      overflow: hidden;
      outline: 0
   }

   .modal-dialog {
      position: relative;
      width: auto;
      margin: .5rem;
      pointer-events: none
   }

   .modal.fade .modal-dialog {
      -webkit-transition: -webkit-transform .3s ease-out;
      transition: -webkit-transform .3s ease-out;
      -o-transition: transform .3s ease-out;
      transition: transform .3s ease-out;
      transition: transform .3s ease-out, -webkit-transform .3s ease-out;
      -webkit-transform: translate(0, -50px);
      -ms-transform: translate(0, -50px);
      transform: translate(0, -50px)
   }

   @media(prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
         -webkit-transition: none;
         -o-transition: none;
         transition: none
      }
   }

   .modal.show .modal-dialog {
      -webkit-transform: none;
      -ms-transform: none;
      transform: none
   }

   .modal.modal-static .modal-dialog {
      -webkit-transform: scale(1.02);
      -ms-transform: scale(1.02);
      transform: scale(1.02)
   }

   .modal-dialog-scrollable {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      max-height: calc(100% - 1rem)
   }

   .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 1rem);
      overflow: hidden
   }

   .modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer {
      -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0
   }

   .modal-dialog-scrollable .modal-body {
      overflow-y: auto
   }

   .modal-dialog-centered {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      min-height: calc(100% - 1rem)
   }

   .modal-dialog-centered::before {
      display: block;
      height: calc(100vh - 1rem);
      height: -webkit-min-content;
      height: -moz-min-content;
      height: min-content;
      content: ""
   }

   .modal-dialog-centered.modal-dialog-scrollable {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      height: 100%
   }

   .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none
   }

   .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none
   }

   .modal-content {
      position: relative;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 100%;
      pointer-events: auto;
      background-color: #fff;
      background-clip: padding-box;
      border: 1px solid rgba(0,0,0,.2);
      border-radius: .3rem;
      outline: 0
   }

   .modal-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 1040;
      width: 100vw;
      height: 100vh;
      background-color: #000
   }

   .modal-backdrop.fade {
      opacity: 0
   }

   .modal-backdrop.show {
      opacity: .5
   }

   .modal-header {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 1rem 1rem;
      border-bottom: 1px solid #dee2e6;
      border-top-left-radius: calc(0.3rem - 1px);
      border-top-right-radius: calc(0.3rem - 1px)
   }

   .modal-header .close {
      padding: 1rem 1rem;
      margin: -1rem -1rem -1rem auto
   }

   .modal-title {
      margin-bottom: 0;
      line-height: 1.5
   }

   .modal-body {
      position: relative;
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
      padding: 1rem
   }

   .modal-footer {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      padding: .75rem;
      border-top: 1px solid #dee2e6;
      border-bottom-right-radius: calc(0.3rem - 1px);
      border-bottom-left-radius: calc(0.3rem - 1px)
   }

   .modal-footer>* {
      margin: .25rem
   }

   .modal-scrollbar-measure {
      position: absolute;
      top: -9999px;
      width: 50px;
      height: 50px;
      overflow: scroll
   }

   @media(min-width: 576px) {
      .modal-dialog {
         max-width:500px;
         margin: 1.75rem auto
      }

      .modal-dialog-scrollable {
         max-height: calc(100% - 3.5rem)
      }

      .modal-dialog-scrollable .modal-content {
         max-height: calc(100vh - 3.5rem)
      }

      .modal-dialog-centered {
         min-height: calc(100% - 3.5rem)
      }

      .modal-dialog-centered::before {
         height: calc(100vh - 3.5rem);
         height: -webkit-min-content;
         height: -moz-min-content;
         height: min-content
      }

      .modal-sm {
         max-width: 300px
      }
   }

   @media(min-width: 992px) {
      .modal-lg,.modal-xl {
         max-width:800px
      }
   }

   @media(min-width: 1200px) {
      .modal-xl {
         max-width:1140px
      }
   }


   .p-detail-ttl-bg--blue {
      background: #0075c2;
      color: #fff;
      font-size: 1.6em;
      font-weight: 900;
      line-height: 1;
      margin-bottom: 1em;
      margin-top: 0.3em;
      position: relative;
      overflow: hidden;
      padding: 1em;
      margin-bottom: 1em;
   }
   .p-detail-ttl__en-bg--blue {
      font-size: .7em;
      line-height: 1.5rem;
      /* border-bottom: 3px solid #0075c2; */
      text-indent: 0;
      font-family: 'Roboto Condensed', sans-serif;
      display: inline-block;
      margin-top: 0.4em;
   }


   .swiper-button-next,.swiper-button-prev {
      top: 55%;
      -webkit-transition: .5s;
      -o-transition: .5s;
      transition: .5s;
      width: 30px !important;
      height: 30px !important;
      border-radius: 100%;
   }
   @media screen and (max-width: 540px) {

   }
   .swiper-button-next:hover,.swiper-button-prev:hover {
      border-radius: 100%;
      background-color: #03c6fc;
      color: #fff;
      cursor: pointer;
   }
   .swiper-button-prev {
      left: -10px;
   }
   .swiper-button-next {
      right: -10px
   }
   .gallery-thumbs {
      /* height: 140px; */
      width: 100%
   }
   @media screen and (max-width: 991px) {
      .gallery-thumbs {
         /* height: 125px; */
      }
   }
   @media screen and (max-width: 767px) {
      .gallery-thumbs {
         /* height: 83px; */
      }
   }
   .gallery-thumbs .swiper-slide {
      border: 1px solid #a014d8;
      position: relative;
      -webkit-transition: border .15s linear;
      -o-transition: border .15s linear;
      transition: border .15s linear;
      border: 1px solid #ebebeb;
      border-radius: 3px;
      cursor: pointer;
      overflow: hidden;
      height: calc(100% - 2px);
      border-radius: 1.5em;
      min-width: 0;
      aspect-ratio: 1/1;
      width: 140px;
      max-width: 23.9%;
      /* max-width: 19%; */
   }
   .gallery-thumbs .swiper-slide img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      max-width: 100%;
      object-fit: contain;
      max-height: 100%;
      aspect-ratio: 1 / 1;
   }
   .gallery-thumbs .swiper-slide.swiper-slide-thumb-active::before,
   .gallery-thumbs .swiper-slide.swiper-slide-active::before {
      position: absolute;
      content: "";
      background-color: #e7e7e7;
      top: 0;
      left: 0;
      filter: invert(.3);
      width: 100%;
      height: 100%;
      z-index: 1;
      opacity: .8;
      mix-blend-mode: multiply;
   }


   .product__carousel {
      display: block;
      /* max-width: 700px; */
      margin: 1em auto 0;
      margin-top: 0
   }

   @media screen and (min-width: 768px) {
		.gallery-thumbs .swiper-slide.is-5 {
			width: 110px;
		}
		.gallery-thumbs .swiper-wrapper.is-5 .swiper-slide {
			width: 110px;
		}
      .gallery-thumbs .swiper-wrapper.is-2 .swiper-slide {
         width: 160px;
         max-width: 33.9%;
      }
	}

   @media screen and (max-width: 540px) {
      .product__carousel {
         margin:0
      }
   }

   .product__carousel a {
      display: block;
      margin-bottom: 15px
   }

   @media screen and (max-width: 540px) {
      .product__carousel a {
         margin-bottom:0
      }
      .gallery-thumbs .swiper-slide {
         border-radius: .8em;
         width: 23.7%;
      }
   }

   /* @media screen and (max-width: 540px) {
      .product__carousel .gallery-thumbs {
         padding-bottom:3rem
      }
   } */

   /* .product__carousel .gallery-thumbs .swiper-slide {
      border: 1px solid #a014d8;
      position: relative;
      -webkit-transition: border .15s linear;
      -o-transition: border .15s linear;
      transition: border .15s linear;
      border: 1px solid #ebebeb;
      cursor: pointer;
      overflow: hidden;
      height: calc(100% - 2px);
      aspect-ratio: 1/1;
      width: 100%;
   } */

   .product__carousel .gallery-thumbs .swiper-slide img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      max-width: 100%
   }

   .product__carousel .gallery-thumbs .swiper-slide.swiper-slide-thumb-active {
      border-color: #000
   }

   .product__carousel .gallery-top {
      border-radius: 3px;
      margin-bottom: 5px;
      height: auto !important
   }

   .product__carousel .gallery-top .swiper-slide {
      position: relative;
      overflow: hidden;
      height: 650px;
   }
   .product__carousel .gallery-top.is-pt2 .swiper-slide {
      aspect-ratio: 1/1;
   }
   .product__carousel .gallery-top .swiper-slide a img {
      /* max-height: 600px; */
      /* background: #efefef; */
   }

   @media screen and (max-width: 1500px) {
      .product__carousel .gallery-top .swiper-slide {
         height: 520px;
      }
      .product__carousel .gallery-top .swiper-slide a img {
         /* max-height: 520px; */
      }
   }

   @media screen and (min-width: 541px) {
      .product__carousel .gallery-top.is-pt2 .swiper-slide {
         height: 570px;
      }
   }

   @media screen and (max-width: 540px) {
      .product__carousel .gallery-top {
         margin-bottom: 15px;
      }
      .product__carousel .gallery-top .swiper-slide {
         height: auto;
         display: grid;
      }
      .product__carousel .gallery-thumbs .swiper-slide {
         border-radius: 3px;
      }
   }

   .product__carousel .gallery-top .swiper-slide a {
      position: relative;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      width: 95%;
      height: 95%;
      border: 2px solid #efefef;
      border-radius: 3em;
   }

   .product__carousel .gallery-top .swiper-slide a img {
      object-fit: contain;
      width: 100%;
      display: grid;
      height: 90%;
      -o-object-fit: contain;
      object-fit: contain
   }
   .product__carousel .gallery-top.is-pt2 .swiper-slide a img {
      width: 95%;
   }

   @media screen and (max-width: 767px) {
      .product__carousel .gallery-top .swiper-slide a {
         border-radius: 1.1em;
         height: auto;
         width: 100%;
      }
   }

   @media screen and (max-width: 540px) {
      .product__carousel .gallery-top .swiper-slide a img {
         height: 88%;
         object-fit: contain;
         max-height: 450px;
      }
   }

   .product__carousel .gallery-top .swiper-slide .easyzoom-flyout img {
      min-width: 100%;
      min-height: 100%
   }

   .product__carousel .gallery-top .swiper-button-next {
      display: block;
      content: "→";
      font-size: 2.3rem;
      font-weight: 200;
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
      -webkit-transition: .2s;
      -o-transition: .2s;
      transition: .2s;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center
   }

   .product__carousel .gallery-top .swiper-button-next:hover {
      width: 2.6rem;
      height: 2.6rem;
      background-color: #2e90d1;
      color: #fff;
      padding: .4rem;
      -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
      transform: scale(0.9);
      border-radius: 100%
   }

   @media screen and (max-width: 540px) {
      .product__carousel .gallery-top .swiper-button-next {
         display:none
      }
   }

   .product__carousel .gallery-top .swiper-button-prev {
      display: block;
      font-weight: 200;
      font-size: 2.3rem;
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
      -webkit-transition: .2s;
      -o-transition: .2s;
      transition: .2s;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center
   }

   .product__carousel .gallery-top .swiper-button-prev:hover {
      width: 2.6rem;
      height: 2.6rem;
      background-color: #2e90d1;
      color: #fff;
      padding: .4rem;
      -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
      transform: scale(0.9);
      border-radius: 100%
   }

   @media screen and (max-width: 540px) {
      .product__carousel .gallery-top .swiper-button-prev {
         display:none
      }
      .slide-txt {
         font-size: .9em;
         line-height: 1.5;
      }
      .gallery-top.is-pt2 .swiper-pagination {
         right: 3%;
      }
   }


   .swiper-button-next:after {
      font-size: 1.2em;
      padding: .15em 0 0 .15em;
   }

   .swiper-button-prev:after {
      font-size: 1.2em;
      padding: .15em .15em 0 0;
   }

   .p-detail-ttl-line--double strong {
      font-size: 1.1em;
      letter-spacing: .03em;
   }

   .p-detail-ttl-band-sml {
      padding: .4em 1.2em;
      overflow: hidden;
      position: relative;
      background-color: #1a8bd4;
      color: #fff;
      font-weight: 500;
   }
   .p-detail-tbl th:first-child strong {
      font-size: 1.2em;
   }
   .p-detail-tbl strong {
      font-size: 1.1em;
   }

   .p-detail-tbl-txt-gray {
      color: #515151;
      font-weight: 500;
   }

   .gallery-thumbs-box {
      position: relative;
      margin: auto -30px;
   }
   .p-detail-tbl-btn {
      -webkit-appearance: unset;
      border: none;
      background-color: unset;
      margin: auto;
      display: grid;
      transition: .3s transform;
   }
   .p-detail-tbl-btn:hover {
      transform: scale(1.2);
   }
   .p-detail-tbl th {
      overflow: hidden;
   }
   button,[type=button],[type=reset],[type=submit] {
      -webkit-appearance: button
   }

   button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled) {
      cursor: pointer
   }
   .p-detail-tbl-bg--lyel {
      background-color:rgb(255, 251, 238) !important;
   }
   .p-detail-tbl-bg--dgr {
      background-color: #a9a9a9 !important;
      color: #fff;
   }
   .p-detail-tbl--middle {
      vertical-align: middle;
   }
   .u-fc-gry {
      color: #7b7b7b;
   }
   .p-detail-tbl-w--main table {
      min-width: 365px;
   }
   .p-detail-ttl-strong__txt {
      font-size: 1.2em;
      display: inline-block;
      text-indent: 0;
      font-family: 'Roboto Condensed', sans-serif;
      line-height: 1.3;
   }
   .p-detail-ttl-check {
      display: flex;
   }
   .p-detail-ttl-check:before {
      min-width: 12px;
      margin-top: 10px;
   }
   @media screen and (min-width: 768px) {
      .u-ta-c-pc {
         text-align: center !important;
      }
      .p-detail-ttl-strong__txt {
         text-align: right;
      }
      .u-h--100-pc {
         height: 100%;
      }
      .p-detail-ttl-simple small {
         font-size: 0.9em;
      }
      p strong {
         font-size: 1.1em;
      }
      .p-detail-ttl-band::before {
         width: 60px;
         left: -20px;
      }
   }
   @media screen and (max-width: 767px) {
		.u-ta-l-sp {
			text-align: left !important;
		}
      .p-detail-ttl-check:before {
         min-width: 10px;
         margin-top: 11px;
      }
      .p-detail-ttl-strong__txt {
         font-size: 1em;
         margin: .06em 0 .1em;
      }
      .gallery-thumbs-box {
         order: -1;
         margin: 0;
         padding-right:0;
         padding-left:0;
      }
      .p-product-detail--right {
         display: flex;
         flex-direction: column;
      }
      .p-detail-ttl-band::before {
         left: -23px;
      }
      .p-detail-ttl-band {
         padding-left: 3.4em;
      }
      .p-detail-ttl__en-bg--blue {
         letter-spacing: 0.06em;
      }
      .swiper-button-next,.swiper-button-prev {
         font-size: 0.7em;
      }
      .swiper-button-prev {
         left: -5px;
      }
      .swiper-button-next {
         right: -5px;
      }
   }

   @media screen and (max-width: 991px) and (min-width: 541px) {
      /* .gallery-thumbs-box {
         padding-right: 2em;
         padding-left: 2em;
      } */
   }

   @media (prefers-reduced-motion: no-preference) {
      :root {
         scroll-behavior: unset !important;
      }
   }

/* スライダー css end */

/* 装飾 css 202606 */
	.u-maru-pink {
		position: absolute;
		top: 7em;
		right: 3em;
		border-radius: 100px;
		text-align: center;
		width: 5em;
		height: 5em;
		letter-spacing: .1em;
		padding: .5em;
		display: flex;
		flex-direction: column;
		line-height: 1.4;
		background-color: #c5649e;
		color: #fff;
		font-weight: bold;
	}
	.u-maru-yellow {
		position: absolute;
		top: 13em;
		right: 3em;
		border-radius: 100%;
		text-align: center;
		width: 5em;
		height: 5em;
		padding: .5em;
		display: flex;
		flex-direction: column;
		line-height: 1.4;
		background-color: #f5c000;
		color: #ffffff;
		font-weight: bold;
		letter-spacing: .1em;
	}
	.u-maru-blue {
		position: absolute;
		top: 13em;
		right: 3em;
		border-radius: 100%;
		text-align: center;
		width: 5em;
		height: 5em;
		padding: .5em;
		display: flex;
		flex-direction: column;
		line-height: 1.4;
		background-color: #5691d9;
		color: #ffffff;
		font-weight: bold;
		letter-spacing: .1em;
	}
	.u-maru-green {
		position: absolute;
		top: 7em;
		right: 3em;
		border-radius: 100px;
		text-align: center;
		width: 5em;
		height: 5em;
		letter-spacing: .1em;
		padding: .5em;
		display: flex;
		flex-direction: column;
		line-height: 1.4;
		background-color: #70af60;
		color: #fff;
		font-weight: bold;
	}

/* 装飾 css 202606 end */