@charset "UTF-8";

.sm {
font-size: calc(24 * var(--scale));
  margin-top: 70px;
  margin-bottom: 15px;
    line-height: 1.5em;
}
.pryvacy01-inner p {
  line-height: 1.5em;
}

/* ギャラリー-------------------------------------------------------------------- */
.gallery01-inner .flow_root {
  display: flow-root;
  margin-top: 120px;
}
.gallery01-inner ul .float_l {
  width: calc((100% / 4) - 10px);
  margin-bottom: 15px;
  position:		relative;
  overflow: hidden;
  float: left;
}
.gallery01-inner ul .float_l img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  -webkit-transition:	all 0.3s ease;
	transition:		all 0.3s ease;
}
.gallery01-inner ul .float_l:nth-child(4n-1) {
  margin-right: 10px;
}
.gallery01-inner ul .float_l:nth-child(1n-1) {
  margin-right: 10px;
}
.gallery01-inner .caption {
	font-size: 1.2em;
	text-align: center;
	color:#323232;
  display: block;
  width: 100%;
}
.gallery01-inner .mask {
	width:	100%;
	height:	350px;
	position:		absolute;
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
}
.gallery01-inner .float_l:hover .caption {
  background-color: #fff;
  display: inline-table;
  text-align: center;
  padding: 25px 0px 20px 0px;
  line-height: 1.2em;
}
.gallery01-inner .float_l:hover .mask {
	opacity:		1;	/* マスクを表示する */
	padding-top:		115px;	/* ホバーで下にずらす */
  box-sizing: border-box;
}
.gallery01-inner .float_l a:hover {
  opacity: 1;
}
.gallery01-inner .float_l a:hover img {
  transform:scale(1.2,1.2);
  -webkit-transition:	all 0.3s ease;
	transition:		all 0.3s ease;
}

@media screen and (max-width: 767px) {
.sm {
  width: calc(357 * var(--scale));
    font-size: calc(20 * var(--scale));
}
.gallery01-inner .flow_root {
  margin-top: calc(70 * var(--scale));
}
.lineup {
padding: calc(100 * var(--scale)) 0;
}
.gallery01-inner ul .float_l {
  width: calc((100% / 2) - 10px);
}
.gallery01-inner ul .float_l:nth-child(n-1) {
  margin-right: 5px;
  margin-left: 5px;
}
.gallery01-inner ul .float_l:nth-child(even) {
  margin-right: 0;
}
}





/* ニュースSCC-------------------------------------------------------------------- */

/* お知らせ関連CSS */
.news {
  margin-top: 70px;
}
.news .float_l {
  margin-top: 25px;
  width: 20%;
}
.news .float_r {
  width: 80%;
}
.news h3 {
  display: inline-block;
  text-align: left;
}
.news .Btn {
  display: inline-block;
}
.news_C {
border-spacing:0em;
width: 100%;
margin-top: calc(120 * var(--scale));
}
.news_C .T,.news_C .C,.news_C .S {
padding:20px 12px;
border-top: 1px solid #EEEEEE;
}
.news_C .C {
  padding-left: 0;
}
.news_C tr:first-child .T,.news_C tr:first-child .C,.news_C tr:first-child .S {
  border-top: 0px solid #EEEEEE;
}
.news_C tr:last-child .T,.news_C tr:last-child .C,.news_C tr:last-child .S {
  border-bottom: 0px solid #EEEEEE;
}
.news_C .T {
  color: #fff;
  width: 7em;
  white-space: nowrap;
  font-size: 0.9em;
}
.news_C .S {
  width: auto;
  line-height: 1.8em;
}
.news_C .C {
  width: 9em;
  white-space: nowrap;
  font-size: 0.9em;
}
.news_C .C span {
  color: #fff;
  width: 100%;
  display: inline-block;
  text-align: center;
  }
.news_C .C span {
  background-color: #7F8489;
}
.news_C .C1 span {
  background-color: #7F8489;
}
.news_C .C2 span {
  background-color: #5BAC83;
}
.news_C .C3 span {
  background-color: #CC5656;
}
.news_C .C4 span {
  background-color: #6B92B0;
}
.news_C .C5 span {
  background-color: #C7A978;
}
.news .more {
width: 100%;
text-align: center;
}
.news .Btn01 {
  padding: 0.8em 4em;
}
.News .news::before {
  display: none;
}




/* 一覧 */
.newsL {
  margin-top: 80px;
}
.newsL .news_C tr:first-child .T, .newsL .news_C tr:first-child .C, .newsL .news_C tr:first-child .S {
  border-top: 1px solid #EEEEEE;
}
.newsL .news_C tr:last-child .T, .newsL .news_C tr:last-child .C, .newsL .news_C tr:last-child .S {
  border-bottom: 1px solid #EEEEEE;
}
.newsL .more {
  width: 100%;
  text-align: center;
  clear: both;
}

/* ページ送りボタンデザイン */
.SortNavi {
  margin-top: 40px;
  text-align: center;
}
.SortNavi span {
  padding: 0.3em 0.7em;
}
.SortNavi .active {
background-color: #a0a0a0;
  color: #000;
}
.SortNavi p {
  margin-top: 30px;
}
.PrevNext {
  display: inline-block;
}
.kensu {
  margin-top: 20px;
}

.ButtonArea {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid #EEEEEE;
  position: relative;
}
.ButtonArea > div {
  display: inline-block;
  width: 10em;
  text-align: center;
}
.ButtonArea a {
  padding: 0 !important;
}
.ButtonArea .prev {
  position: absolute;
  left: 0;
}
.ButtonArea .next {
  position: absolute;
  right: 0;
}
.ButtonArea .return {
  position: absolute;
  left: 0;
  margin-left: calc((100% - 10em) / 2);
}
.ButtonArea .prev::before {
  content: '';
  display: inline-block;
  background-image: url('/img/icon/icon_news_prev.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  position: relative;
  top: 0.3em;
  margin-right: 0.5em;
}
.ButtonArea .next::after {
  content: '';
  display: inline-block;
  background-image: url('/img/icon/icon_news_next.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  position: relative;
  top: 0.3em;
  margin-left: 0.5em;
}

/* 詳細ページ */
.newsD .news_C .C {
  border-top: 0px;
}
.newsD .news_C .C, .newsD .NeDay {
  display: inline-block;
}
.newsD .NeDay {
  color: #c7c7c7;
}
.newsD .NeTi {
  display: block;
  font-weight: normal;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: calc(36 * var(--scale));
  }
  .newsD .NeTi {
    line-height: 1.5em;
  }
  .newsD .NeCo p {
    line-height: 1.5em;
  }
.ImgArea img {
  width: 100%;
  height: auto;
  max-width: 600px;
  display: block;
  margin: 60px auto 0 auto;
}
.ImgArea div {
  width: 300px;
  display: block;
  float: left;
  margin-left: 10px;
margin-top: 20px;
}
.PdfArea {
  clear: both;
  margin-top: 1em;
}
.PdfArea div {
  margin-bottom: 0.5em;
}
.pdf::after{
  content: "";
  display: inline-block;
  background-image: url('../img/icon/pdf.png');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 28px;
  height: 26px;
  position: relative;
  left: 5px;
  top: 3px;
}
.xlsx::after{
  content: "";
  display: inline-block;
  background-image: url('../img/icon/excel.png');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 23px;
  height: 22px;
  position: relative;
  left: 5px;
  top: 3px;
}
.docx::after{
  content: "";
  display: inline-block;
  background-image: url('../img/icon/word.png');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 23px;
  height: 22px;
  position: relative;
  left: 5px;
  top: 3px;
}
.LinkArea {
  display: block;
  margin-top: 20px;
}
.LinkArea a,.PdfArea a {
  border-bottom: 1px solid;
}
.LinkArea a::after{
  content: "";
  display: inline-block;
  background-image: url('../img/icon/link.svg');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  position: relative;
  left: 5px;
  top: 2px;
}
.Btn03 {
  margin-top: 60px;
  position: relative;
  text-align: left;
}
.Btn03 a {
  border: 1px solid #ccc;
  padding: 15px 60px;
  text-align: center;
  position: relative;
}
.Btn03 a::before {
  content: '<';
  display: inline-block;
  position: absolute;
  top: 17px;
  left: 25px;
  font-size: 1.2em;
  color: #fff;
}


@media (max-width: 480px) {
  .newsL {
    margin-top: 50px;
  }
  .news {
    margin-top: 30px;
    padding-top: 60px;
  }
  .news .Btn {
    margin-top: -0.1em;
  }
  .ImgArea div {
    margin-left: auto;
    margin-right: auto;
    float: initial;
  }
  .news .float_l {
    width: auto;
  }
  .news .float_r {
    width: 100%;
  }
  .news_C .T, .news_C .C, .news_C .S {
    padding: 0 0px 0 10px;
    border-top: 0px;
  }
  .news_C .T, .news_C .C {
    display: inline-block;
  }
  .newsL .news_C tr:first-child .T, .newsL .news_C tr:first-child .C, .newsL .news_C tr:first-child .S {
    border-top: 0px;
  }
  .newsL .news_C tr:last-child .T, .newsL .news_C tr:last-child .C, .newsL .news_C tr:last-child .S {
    border-bottom: 0px;
  }
  .news_C .S{
    display: block;
    width: auto;
    border-bottom: 1px solid #EEEEEE !important;
    padding-bottom: 10px;
    padding-top: 10px;
    margin-bottom: 20px;
  }
  .news_C tbody tr:first-child {
    border-top: 1px solid #EEEEEE;
    display: block;
    padding-top: 20px;
  }
  .news_C .C span {
    padding: 2.5px 0;
    width: 8em;
  }
  .news_C .T {
    padding-left: 0px;
  }


  /* 詳細 */
  .newsD .wrapSB {
    width: 91.5vw;
  }
  .newsD .NeTi {
    letter-spacing: 0em;
    font-size: calc(24 * var(--scale));
  }
  .newsD .NeCate {
    padding-left: 0px;
  }
  .newsD .ImgArea img {
    width: 83.5vw;
    margin-top: 30px;
  }
  /* ページ送り（スマホ） */
  .ButtonArea .prev,.ButtonArea .next {
    width: 2em;
  }
}


/* カスタマイズ------------------------------------------------------------- */
.News .float_l {
  width: 48%;
  margin-bottom: 30px;
}
.News .float_l a {
  padding: 20px;
  background: #fbfbfb;
  border: 1px solid #eee;
  box-sizing: border-box;
  min-height: 8em;
  display: block;
}
.News ul .float_l:nth-child(odd) {
  margin-right: 4%;
}
.NTable-time {
  width: 7em;
}
.NTable-title {
  width: auto;
}


/* コンタクト-------------------------------------------------------------------- */
.Contact .TableC {
  margin-top: 120px;
  width: 100%;
}
.Contact .TableC th {
  padding: 15px 15px 5px 5px;
  text-align: left;
  box-sizing: border-box;
  font-weight: 500;
  padding-bottom: 30px;
  width: 15em;
}
.Contact .TableC td {
  text-align: left;
  padding-bottom: 30px;
  width: auto;
}
.Contact .TableC td input {
  padding: 15px;
  width: 100%;
  box-sizing: border-box;
  border: 0px;
  font-size: 1em;
}
.Contact .TableC td textarea {
  padding: 15px;
  width: 100%;
  box-sizing: border-box;
  border: 0px;
  font-size: 1em;
}
.Contact .red {
  color: #ff9b00;
  position: relative;
  top: 5px;
}
.Contact .news__button[class] {
  text-align: center;
}
.Btn06 button {
  background: initial;
  color: #fff;
  border: #fff solid 1px;
  padding: 10px;
  box-sizing: border-box;
  margin-top: 30px;
  cursor:pointer;
}
.Contact .news__button:hover {
  opacity: 0.8;
}
.Contact .news__button button {
  cursor:pointer;
}

@media (max-width: 480px) {
  .Contact .TableC th {
    padding-bottom: 10px;
  width: 100%;
  display: block;
  }
  .Contact .TableC td {
  width: 100%;
  display: block;
}
.Btn06 {
  text-align: center;
}
.Btn06 button:hover {
  opacity: 0.8;
}
}

@media screen and (max-width: 768px) {
  header {
    position: fixed;
    width: 100%;
  }
  .c-page-hero {
    padding-top: 80px;
  }
  }


/* ===============================
  右下固定メニュー
=============================== */

 :root {
    --plate-w: 130px;
    --plate-h: 370px;
  }

  * {
    box-sizing: border-box;
  }

  .plate {
    position: fixed;
    width: var(--plate-w);
    height: var(--plate-h);
    background-image: url("../img/bg_silver.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    bottom: 0;
  right: 0;
  }
  .plate a {
    text-align: center;
  }

  div.section {
    position: absolute;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* 上段: カタログ */
  .section.catalog {
    top: 10%;
  }

  /* 下段: オンラインストア */
  .section.onlinestore {
    bottom: 12%;
  }

  .icon {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 10px;
  }

  .label-jp {
    font-size: calc(18 * var(--scale));
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: 0.05em;
    margin: 0;
    line-height: 1;
  }

  .label-en {
    font-size: calc(18 * var(--scale));
    color: #1a1a1a;
    letter-spacing: 0.12em;
    margin: 10px 0 0;
    font-variant: small-caps;
    line-height: 1;
  }

  .divider {
    position: absolute;
    top: 46%;
    left: 25%;
    width: 50%;
    height: 1px;
    background: #444;
    transform: translateY(-50%);
  }
    @media screen and (min-width: 768px) {
    .plate {
    /* ...既存のスタイルはそのまま... */
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 1;
  }

  /* スクロール中: 半透明 */
  .plate.is-scrolling {
    opacity: 0.4;
  }

  /* ページ最下部: 非表示 */
  .plate.is-bottom {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

    @media screen and (max-width: 768px) {

    :root {
      --plate-w: 100%;
      --plate-h: 74px;
    }

    .plate {
      display: flex;
      align-items: stretch;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: var(--plate-h);
      border-radius: 0;
      background-image: none; /* 縦長素材の引き伸ばし崩れを回避 */
      background:
        linear-gradient(180deg,
          #fdfdfd 0%,
          #eeeeee 10%,
          #ffffff 25%,
          #d8d8d8 45%,
          #f4f4f4 60%,
          #cfcfcf 75%,
          #f7f7f7 90%,
          #dcdcdc 100%);
      box-shadow:
        0 0 0 1px #bdbdbd,
        0 -4px 12px rgba(0,0,0,0.25);
    }

    /* 左右のネジをCSSで再現 */

    div.section {
      position: static;
      flex: 1 1 50%;
      width: auto;
      height: 100%;
      flex-direction: row;
      justify-content: center;
      top: auto;
      bottom: auto;
    }

    .plate a {
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 10px;
      height: 100%;
    }

    .icon {
      width: 32px;
      height: 32px;
      margin-bottom: 0;
      margin-top: 5px;
    }

    .label-jp,
    .label-en {
      text-align: left;
    }

    .label-jp {
      font-size: 13px;
      text-align: center;
    }

    .label-en {
      font-size: 12px;
      margin-top: 2px;
      text-align: center;
    }

    /* 横幅に余裕があるので改行を無効化 */
    .label-jp br,
    .label-en br {
      display: none;
    }

    /* 横線 → 中央の縦区切り線に変更 */
    .divider {
      top: 15%;
      left: 50%;
      width: 1px;
      height: 70%;
      background: #444;
      transform: translateX(-50%);
    }
    .topmain {
      padding-top: 60px;
    }
  }