/*===========================================================================
module
共通利用する最小パーツ用CSS
接頭辞【.m-】

【予測変換用 _base.css記述】
:root {
  --font-color-base: #333;
  --font-color-main: #005bab;
  --font-family-base: "Noto Sans JP", sans-serif;
  --font-family-roboto: "Roboto", sans-serif;
  --back-color-base: #fff;
  --back-color-gradient: linear-gradient(100deg, #4896db 1.76%, #0e67b4 26.76%, #005bab 98.94%);
  --design-size-pc: 1400;
  --design-size-sp: 750;
}
===========================================================================*/

/*====================================
スライド開閉用
====================================*/
[data-js-toggle-open],
[data-js-toggle-close] {
  cursor: pointer;
}

/*====================================
テキストリンク
====================================*/
.m-txtLink {
  text-decoration: none;
  display: inline-block;
  font-family: "Sigma Sans";
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.26rem;
  cursor: pointer;
  text-transform: uppercase;
  position: relative;
  transition: all 0.1s linear;
}
.m-txtLink.--spacing-24 {
  padding-top: 0;
  margin-top: 24rem;
}
.m-txtLink:hover {
  opacity: 0.7;
}
[lang="ja"] .m-txtLink {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 13rem;
	line-height: 1.8;
}
.m-txtLink[class*="--icn-"] {
  display: flex;
  align-items: center;
}
.m-txtLink[class*="--icn-"]::after {
  flex-shrink: 0;
  content: "";
  display: inline-block;
  margin-left: var(--spacing-02);
  background-color: var(--font-color-base);
  mask: no-repeat center / contain;
  -webkit-mask: no-repeat center / contain;
  width: 12rem;
  height: 12rem;
}
.m-txtLink.--icn-cancel::after {
  mask-image: url(/common/images/icn_cancel.svg);
  -webkit-mask-image: url(/common/images/icn_cancel.svg);
}
.m-txtLink.--icn-arw-forward::after {
  mask-image: url(/common/images/icn_arw_forward.svg);
  -webkit-mask-image: url(/common/images/icn_arw_forward.svg);
}
.m-txtLink.--icn-arw::after {
  mask-image: url(/common/images/icn_arw_r.svg);
  -webkit-mask-image: url(/common/images/icn_arw_r.svg);
}
.m-txtLink.--inverted {
  opacity: 0.7;
}
/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
  .m-txtLink:hover {
    opacity: 0.7;
  }
  .m-txtLink.--inverted:hover {
    opacity: 1;
  }
}


/*====================================
製品Panel
====================================*/
.m-productCard {
  position: relative;
}
.m-productCard.js-hide-item {
  display: none;
}
.m-productCard.--hr {
  border-right: 1px solid rgb(51, 51, 51,0.1);
}
.m-productCard.--listing {
  padding: var(--spacing-16) var(--spacing-16) var(--spacing-32) var(--spacing-16);
  border-right: 1px solid rgb(51, 51, 51,0.1);
  border-bottom: 1px solid rgb(51, 51, 51,0.1);
}
.m-productCard.--new .m-productCard__img {
  position: relative;
}
.m-productCard.--new .m-productCard__img::before {
  content: 'New';
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Sigma Sans";
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.26rem;
  text-transform: uppercase;
}
.m-productCard a {
  text-decoration: none;
  transition: all 0.3s linear;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.m-productCard__img {
  /* aspect-ratio: 4 / 5; */
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-productCard__img img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  /* width: 100%;
  height: 100%; */
}
.--type-cover .m-productCard__img {
  aspect-ratio: 4 / 5;
}
.--type-noCover .m-productCard__img {
  aspect-ratio: 0 / 0;
}
.--type-coverInp .m-productCard__img {
  aspect-ratio: 3 / 4;
}
.--type-coverInp .m-productCard__img img,
.--type-cover .m-productCard__img img {
  width: 100%;
  height: 100%;
}
.m-productCard p {
  margin-top: auto;
  padding-top: var(--spacing-16);
}
[lang="ja"] .m-productCard p {
  font-family: var(--font-family-sigma);
	font-weight: 400;
}
/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
  .m-productCard p {
    padding-right: var(--spacing-16);
  }
  [lang="ja"] .m-productCard p {
    font-family: var(--font-family-sigma);
    font-weight: 400;
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .m-productCard {
    position: relative;
  }
  .m-productCard.--hr {
    border-right: 0px;
  }
  .m-productCard.--listing {
    padding: var(--spacing-16) var(--spacing-16) var(--spacing-64);
    border-right: 0;
  }
  .m-productCard a {
  }
  .m-productCard p {
    padding-top: var(--spacing-16);
  }
}

/*====================================
コンテンツPanel
====================================*/
.m-contentCard {
  position: relative;
}
.m-contentCard__inr {
  text-decoration: none;
  transition: all 0.3s linear;
  display: block;
}
.m-contentCard p {
  padding-right: var(--spacing-120);
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .m-contentCard p {
    padding-right: 0;
  }
}


/*====================================
tabGroup
====================================*/
.m-tab__inr {
  position: relative;
  cursor: pointer;
}
.m-tab__inr:hover .m-tab__txt {
  opacity: 0.7;
}
.m-tab__inr input {
  width: 0;
  height: 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.m-tab__inr input:checked + span {
  border-bottom: 1px solid;
}

.m-tab .is_current > span {
  border-bottom: 1px solid;
}

/*====================================
Filter Selector
====================================*/
.m-filterSelector {
  position: relative;
  cursor: pointer;
}
.m-filterSelector input {
  width: 0;
  height: 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.m-filterSelector input:checked + span {
  border-bottom: 1px solid;
}
.m-filterSelector:has( input:disabled) {
  color: var(--font-color-disabled);
}
.m-filterSelector:has( input:not(:checked)):hover {
  opacity: 0.6;
}


/*====================================
オーバーレイ
====================================*/
.m-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.15);
  z-index: 1000;
  display: none;
}


/*====================================
MoodImageProduct
====================================*/
.m-moodProduct {
  position: relative;
}
.m-moodProduct.--large {
  width: 100%;
}
.m-moodProduct.js-hide-item {
  display: none;
}
.m-moodProduct a {
  color: #FFF;
}
.m-moodProduct__img {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.m-moodProduct__img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.m-moodProduct__body {
  padding: var(--spacing-16) var(--spacing-16) var(--spacing-32);
  position: absolute;
  color: #FFF;
  width: 100%;
  left: 0;
  bottom: 0;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .m-moodProduct {
    height: auto;
    width: 100%;
  }
  .m-moodProduct__body {
    padding: var(--spacing-16);
  }
  .m-moodProduct.--large {
    height: calc(100vh - var(--header-height));
    max-height: 800rem;
  }
}


/*====================================
ソートパネル
====================================*/
.m-sort {
  position: relative;
}
.m-sort__box {
  position: absolute;
  top: var(--spacing-32);
  left: 50%;
  transform: translateX(-50%);
  display: none;
  height: 0;
  min-width: 163rem;
  background-color: var(--back-color-Off-white);
  box-shadow: 0 0 10rem 0 rgba(0, 0, 0, 0.10);
  z-index: 10;
}
.m-sort__boxInr {
  border: 1px solid rgba(51, 51, 51, 0.10);
  padding: calc(var(--spacing-16) - 1rem);
}


/*====================================
リスト
====================================*/
.m-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-02);
}
.m-list.--gap-04 {
  gap: var(--spacing-04);
}

.m-list.--bullet > li {
  position: relative;
  padding-left: 1em;
}
.m-list.--bullet > li::before {
  content: "・";
  margin-left: -1em;
}


/*====================================
用語アイテム
====================================*/
.m-infoItem {
  border-bottom: 1px solid var(--font-color-secondary);
  padding: var(--spacing-08) 0;
}
.m-infoItem.--internalSpacing-04 {
  padding: var(--spacing-04) 0;
}

.m-dlItem {
  border-top: 1px solid var(--font-color-secondary);
  padding: var(--spacing-08) 0 var(--spacing-32);
}


/*====================================
カラーアイコン注釈
====================================*/
.m-colorCap {
  gap: 0 var(--spacing-04);
}
.m-colorCap__icn {
  display: inline-block;
  width: var(--spacing-08);
  height: var(--spacing-08);
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid transparent;
}


/*====================================
ボタン
====================================*/
.m-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--spacing-12) var(--spacing-16);
  background-color: var(--font-color-base);
  color: #fff;
  font-family: "Sigma Sans";
  font-size: 13rem;
  line-height: 1.25;
  letter-spacing: 0.26rem;
  transition: all 0.1s linear;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
}
.m-btn.--type-reverse {
  background-color:transparent;
  color:  var(--font-color-base);
  border: 1px solid var(--font-color-base);
}
.m-btn.--type-reverse:hover {
  background-color: var(--font-color-base);
  color: #fff;
  border: 1px solid transparent;
  opacity: 0.9;
}
.m-btn.--type-disabled {
  pointer-events: none;
  background-color: #E5E5E5;
  color: #999999;
}
.m-btn:hover {
  opacity: 0.9;
}

/*====================================
チャート線
====================================*/
.m-chartBorder {
  display: inline-block;
  width: 80rem;
  height: 2px;
}
.m-chartDashed {
  display: inline-block;
  width: 80rem;
  height: 2px;
  background: linear-gradient(to right, var(--dash-color), var(--dash-color) 24rem, transparent 4rem) repeat-x left bottom / 28rem 100%;
}

.m-chartBorder.--bgc-red {
  background-color: #BD3849;
}
.m-chartBorder.--bgc-gr {
  background-color: #047F03;
}
.m-chartBorder.--bgc-bl {
  background-color: #1c487f;
}
.m-chartBorder.--bgc-yg {
  background-color: #73BB4A;
}
.m-chartBorder.--bgc-newRed {
  background-color: #D18672;
}
.m-chartBorder.--bgc-newGr {
  background-color: #80A7E9;
}

.m-chartDashed.--bgc-red {
  --dash-color: #BD3849;
}
.m-chartDashed.--bgc-gr {
  --dash-color: #047F03;
}
.m-chartDashed.--bgc-newRed {
  --dash-color: #D18672;
}
.m-chartDashed.--bgc-newGr {
  --dash-color: #80A7E9;
}


/*====================================
iframe
====================================*/
.m-iframe,
.m-video {
  position: relative;
  aspect-ratio: 704 / 396;
}
.m-iframe.--cover-long,
.m-video.--cover-long {
  aspect-ratio: 704 / 880;
}
.m-iframe iframe,
.m-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.m-iframe.--back-grey iframe,
.m-video.--back-grey video {
  background-color: rgb(0, 0, 0,0.03);
}
.m-iframe.--type-cover iframe,
.m-video.--type-cover video {
  -o-object-fit: cover;
     object-fit: cover;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .m-iframe,
  .m-video  {
    aspect-ratio: 358 / 201;
  }
}


/*====================================
radioBtn
====================================*/
.m-radioBtn {
  position: relative;
  cursor: pointer;
}
.m-radioBtn input {
  width: 0;
  height: 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.m-radioBtn input + span {
  padding-left: 20rem;
  display: block;
}
.m-radioBtn input + span::before,
.m-radioBtn input + span::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  box-sizing: border-box;
}
.m-radioBtn input + span::before {
  top: 3rem;
  left: 3rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid;
}
.m-radioBtn input + span::after {
  top: 6rem;
  left: 6rem;
  width: 6rem;
  height: 6rem;
  background-color: var(--font-color-base);
  opacity: 0;
}
[lang="ja"] .m-radioBtn input + span::before {
  top: 6rem;
}
[lang="ja"] .m-radioBtn input + span::after {
  top: 9rem;
  /* left: 6rem;
  width: 5rem;
  height: 5rem; */
}
.m-radioBtn input:checked + span::after {
  opacity: 1;
}
.m-radioBtn:has( input:disabled) {
  color: var(--font-color-disabled);
  pointer-events: none;
}
.m-radioBtn:has( input:not(:checked)):hover {
  opacity: 0.6;
}
/*====================================
セレクト
====================================*/
.m-select {
  position: relative;
  margin-top: var(--spacing-08);
}
.m-select::before {
  content: " ";
  width: 16rem;
  height: 16rem;
  background: url(/common/images/icn_arw_r.svg) no-repeat center / contain;
  position: absolute;
  top: 50%;
  right: 12rem;
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
}
.m-select select {
  font-family: "Sigma Sans";
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.26rem;
  padding: 12rem 36rem 12rem 12rem;
  display: block;
  border: 1px solid #333333;
  width: 100%;
  background-color: transparent;
	color: #000;
  /*text-transform: uppercase;*/
}
.m-select select:focus {
  outline: none;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
}
/*====================================
レンズ比較-スペックリスト
====================================*/
.m-spec {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing-16) - 1px) 0;
}
.m-spec li {
  padding-top: var(--spacing-08);
  border-top: 1px solid var(--font-color-secondary);
}
.m-spec li:last-child {
  border-top: 0;
}
.m-spec__ttl {
}
.m-spec__img {
  width: 100%;
}
.m-spec__normal {
  font-family: "Sigma Sans";
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.26rem;
}
.m-spec__normal dt {
  text-transform: uppercase;
}
.m-spec__normal dd {
  margin-top: var(--spacing-16);
}
[lang="ja"] .m-spec__ttl {
  font-family: var(--font-family-sigma);
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  
}
/*====================================
アコーディオン
====================================*/
.m-accordion {
}
.m-accordion > li {
  border-top: 1px solid var(--font-color-secondary);
}
.m-accordion > li:last-child {
  border-bottom: 1px solid var(--font-color-secondary);
}
.m-accordion > li.js-last-item {
  border-bottom: 1px solid var(--font-color-secondary);
}
.m-accordion > li.js-hide-item {
  display: none;
}
.m-accordion__ttl {
  position: relative;
  padding-right: 16rem;
  cursor: pointer;
  padding: var(--spacing-08) var(--spacing-16) var(--spacing-08) 0;
}
[data-js-toggle-wrap] .m-accordion__ttl::before,
[data-js-toggle-wrap] .m-accordion__ttl::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: 4rem;
  width: 10px;
  height: 1px;
  background-color: var(--font-color-base);
  transform-origin: center;
  /* transition: all 0.3s linear; */
}
[data-js-toggle-wrap] .m-accordion__ttl::before {
  transform: translateY(-50%) rotate(90deg);
}
[data-js-toggle-wrap].js-open .m-accordion__ttl::before {
  transform: translateY(-50%) rotate(0);
}
[data-js-toggle-wrap] .m-accordion__ttl::after {
  transform: translateY(-50%)
}
.m-accordion__box {
  display: none;
  height: 0;
}
.m-accordion__box .c-txtCard li {
  padding-bottom: 0;
}
.m-accordion__box > *:first-child {
  padding-top: var(--spacing-12);
  margin-top: 0;
}
.m-accordion__box > *:last-child {
  padding-bottom: var(--spacing-20);
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
}
/*====================================
サポートカード
====================================*/
.m-bgCard {
  background-color: #E6E2DC;
}
.m-bgCard__inr {
  padding: var(--spacing-16);
  display: block;
}
.m-bgCard__cat,
.m-bgCard__ttl {
  /*text-transform: uppercase;*/
}
.m-bgCard__box {
  padding-top: var(--spacing-32);
}
[lang="ja"] .m-bgCard__cat,
[lang="ja"] .m-bgCard__ttl {
  line-height: 1.7;
}
.m-bgCard__box {
  padding-top: var(--spacing-32);
}


/*====================================
ヒストリーカード
====================================*/
.m-historyCard__ttl {
  flex-basis: 224rem;
}
.m-historyCard__body {
  flex: 1;
}


/*====================================
World networkカード
====================================*/
.m-worldNetworkCard a {
  text-decoration: underline;
}

/*====================================
ページネーションボタン 正方形
====================================*/
.m-btnSquare {
  display: flex;
  width: 40rem;
  height: 40rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #333;
  background: #FEFEFD;
  font-size: 13rem;
}
.m-btnSquare.--disabled,
.m-btnSquare:not(a) {
  border-color: #E5E5E5;
  color: #999;
}
a.m-btnSquare:not(.--disabled):hover {
  color: #fff;
  background: #333;
  border-color: #333;
}
.m-btnSquare.--type-arwForward::before,
.m-btnSquare.--type-arwBackward::before {
  content: "";
  display: block;
  width: 16rem;
  height: 16rem;
  background: url(/common/images/icn_arw_forward.svg) no-repeat center / contain;
}
.m-btnSquare.--type-arwBackward::before {
  background-image: url(/common/images/icn_arw_backward.svg);
}
a.m-btnSquare:not(.--disabled).--type-arwForward:hover::before {
  background-image: url(/common/images/icn_arw_forward_white.svg);
}
a.m-btnSquare:not(.--disabled).--type-arwBackward:hover:before {
  background-image: url(/common/images/icn_arw_backward_white.svg);
}
.m-btnSquare.--type-arwForward.--disabled::before,
.m-btnSquare.--type-arwBackward.--disabled::before,
.m-btnSquare.--type-arwForward:not(a)::before,
.m-btnSquare.--type-arwBackward:not(a)::before {
  opacity: 0.7;
}
/* SP
-------------------------------------*/
@media screen and (max-width: 1200px) {
}

/*====================================
通常リスト
====================================*/
.m-ul {
}
.m-ul li {
  position: relative;
  padding-left: 1em;
}
[lang="ja"] .m-ul li {
  line-height: 1.7;
}
[lang="ja"] .m-ul li + li {
  margin-top: 4rem;
}
.m-ul li a {
  text-decoration: underline;
}
.m-ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
/*====================================
数字リスト
====================================*/
.m-ol {
  counter-reset: number 0;
}
.m-ol li {
  position: relative;
  padding-left: 1.5em;
}
.m-ol li a {
  text-decoration: underline;
}
.m-ol li::before {
  counter-increment: number 1;
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0;
}
/*====================================
定義リスト
====================================*/
.m-dl {
}
.m-dl dt {
  text-transform: uppercase;
}
.m-dl dt + dd {
  margin-top: var(--spacing-16);
}
.m-dl dd + dd {
  margin-top: var(--spacing-16);
}
[lang="ja"] .m-dl dt {
  font-weight: 600;
}
[lang="ja"] .m-dl dd {
  line-height: 1.7;
}
/*====================================
モーダルモジュール
====================================*/
.m-modal {
  display: none;
}
.m-modal.is-open {
  display: block;
}
.m-modal__ol {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}
.m-modal__inr {
  position: relative;
  width: calc(100vw - 32rem);
  box-sizing: border-box;
  padding: 34rem 40rem 40rem;
  border-radius: 8rem;
  background: #fff;
  max-height: calc(100vh - 40rem);
  max-height: calc(100dvh - 40rem);
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 8rem 12rem 0 rgba(39, 55, 74, 0.10);
}
.m-modal[aria-hidden="false"] .m-modal__ol,
.m-modal[aria-hidden="false"] .m-modal__inr {
  -webkit-animation: fadeIn 0.4s linear;
  animation: fadeIn 0.4s linear;
}
.m-modal[aria-hidden="true"] .m-modal__ol,
.m-modal[aria-hidden="true"] .m-modal__inr {
  -webkit-animation: fadeOut 0.4s linear;
  animation: fadeOut 0.4s linear;
}
.m-modal .m-modal__inr,
.m-modal .m-modal__ol {
  will-change: opacity;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.m-modalLicenseCts__text {
  max-height: 500rem;
  overflow: auto;
}
.m-modalLicenseCts__dtl h4 {
  padding-top: 40rem;
  text-transform: uppercase;
}
.m-modalLicenseCts__dtl h4 + p {
  padding-top: 16rem;
}
/* SP
-------------------------------------*/
@media screen and (max-width: 1200px) {
  .m-modalLicenseCts__text {
    max-height: 300rem;
  }
}


/*====================================
チャート画像
====================================*/
.m-chartImg {
  padding: 0 120rem;
}
/* SP
-------------------------------------*/
@media screen and (max-width: 1200px) {
  .m-chartImg {
    padding: 0 60rem;
  }
}


/*====================================
省略テキスト
====================================*/
.m-ellipsisTxt {
  display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}


/*====================================
連番テキスト
====================================*/
.m-icnNumTxt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18rem;
	height: 18rem;
	box-sizing: border-box;
	padding: 2rem 1rem;
	border-radius: 100%;
	background: #f91712;
	color: #fff;
	text-align: center;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
	.m-icnNumTxt {
		padding: 2rem;
	}
}


/*====================================
NEWアイコン
====================================*/
.m-txtNewIcn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 2rem 16rem;
	border-radius: 45rem;
	background: #000;
	color: #fff;
}
/*====================================
メタデータ開閉
====================================*/
.m-metaData {
  margin-top: var(--spacing-16);
}
.m-metaData__ttl {
  text-transform: uppercase;
  position: relative;
  display: inline-block;
  padding-right: var(--spacing-12);
  cursor: pointer;
}
[data-js-toggle-wrap] .m-metaData__ttl::before,
[data-js-toggle-wrap] .m-metaData__ttl::after {
  content: " ";
  position: absolute;
  top: 45%;
  right: 0;
  width: 6rem;
  height: 1px;
  background-color: var(--font-color-base);
  transform-origin: center;
  transition: all 0.3s linear;
}
[data-js-toggle-wrap] .m-metaData__ttl::before {
  transform: translateY(-50%) rotate(90deg);
}
[data-js-toggle-wrap].js-open .m-metaData__ttl::before {
  transform: translateY(-50%) rotate(0);
}
[data-js-toggle-wrap] .m-metaData__ttl::after {
  transform: translateY(-50%)
}
.m-metaData__desc {
  display: none;
  height: 0;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  
}
/*====================================
テキストリンク
====================================*/
.m-textLink {
  font-family: "Sigma Sans";
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.26rem;
  display: inline-block;
  padding-right: var(--spacing-20);
  position: relative;
  cursor: pointer;
}
.m-textLink:hover {
  text-decoration: underline;
}
.m-textLink::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 14rem;
  height: 14rem;
  background: url(/common/images/icn_external_link.svg) no-repeat center / contain;
}


.m-eyefi {
  width: 35rem;
}

.m-accordion--faq .m-accordion__box > * {
  padding-top: var(--spacing-12);
}
.m-accordion--faq .m-accordion__box > *:first-child {
  padding-top: 0;
}



.m-contact {
  width: 100%;
}
.m-contact th {
  padding: var(--spacing-04) var(--spacing-08);
  vertical-align: middle;
  height: 36rem;
}
.m-contact td {
  padding: var(--spacing-04) var(--spacing-08);
  vertical-align: middle;
  height: 36rem;
  font-size: 13rem;
}
.m-contact td .inr {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 2px solid transparent;
}
.m-contact .bgBlack .inr,
.m-colorCode .bgBlack {
  background-color: #333333;
}
.m-contact .bgGray .inr,
.m-colorCode .bgGray {
  background-color: #999999;
}
.m-contact .bgWhite .inr,
.m-colorCode .bgWhite {
  background-color: #E6E2DC;
}
.m-contact td.js-current .inr {
  border-color: #cb0000;
}
.m-colorCode .bg {
  width: 16rem;
  height: 16rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .m-contact {
    width: 100%;
  }
  .m-contact th {
    padding: var(--spacing-02) var(--spacing-04);
    height: 36rem;
  }
  .m-contact td {
    padding: var(--spacing-02) var(--spacing-04);
    height: 36rem;
    font-size: 13rem;
  }
  .m-contact td .inr {
    border: 2px solid transparent;
  }
  .m-contact .bgBlack .inr,
  .m-colorCode .bgBlack {
    background-color: #333333;
  }
  .m-contact .bgGray .inr,
  .m-colorCode .bgGray {
    background-color: #999999;
  }
  .m-contact .bgWhite .inr,
  .m-colorCode .bgWhite {
    background-color: #E6E2DC;
  }
  .m-contact td.js-current .inr {
    border-color: #cb0000;
  }
  .m-colorCode .bg {
    width: 16rem;
    height: 16rem;
  }
}


.m-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 13rem;
}
.m-checkbox input[type="checkbox"] {
  display: none;
}
.m-checkbox span {
  position: relative;
  padding-left: 20rem;
  cursor: pointer;
}
.m-checkbox span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16rem;
  height: 16rem;
  background: no-repeat url(/common/images/icn_check_blank.svg) center / contain;
  
}
.m-checkbox input[type="checkbox"]:checked + span::before {
  background-image: url(/common/images/icn_check.svg);
}
.m-modal__inr .m-checkbox {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
