@charset 'UTF-8';

/* Site
------------------------------------------------- */
body > main {
  display: block;
  padding-top: 60px;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  justify-content: center;
  background-color: #fff;
}

/* for PC
------------------- */
@media print,(min-width: 750px) {
  body > main {
    padding-top: 0;
  }
}

/* for SP
------------------- */
.sec_title {
  width: 100%;
  min-height: 560px;
  padding: 70px 16px 0;
  background-color: var(--bg);
  color: var(--fg);
}
.mod-section01 > div {
  display: flex;
  flex-direction: column-reverse;
  width: min(92vw, 1000px);
  margin: 0 auto;
}

/* 製品名ロゴ：サイズは可変でレスポンシブ */
h1.product-name img {
  width: min(50vw, 230px); 
  margin: 60px 0 0;
  height: auto;
}
.mod-section01 {
  padding: 0 auto;
  text-align: center;
  color: #000;
}
.mod-section01 p.txt{
	margin-top: 20px;
	/*font-size: 38px;*/
	font-size: 26px;
	font-weight: 700;
}
.mod-section01 li a{
		background-color: #fff;
}
.mod-section01 li a:hover{
		background-color: #dd0000;
}

/* ボタン for common SP*/
.button {
  display: inline-block;
  width: 300px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  border: 1px solid #dd0000;
  background-color: #fff;
  color: #dd0000;
  font-size: 20px;
  border-radius: 50px;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button:hover {
  color: #fff;
  background-color: #dd0000;
  text-decoration: none;
}

/* ボタン無効状態　*/
.buttonBox li div{
  display: inline-block;
  width: 300px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  border: 1px solid #999;
  background-color: #999;
  color: #fff;
  font-size: 20px;
  border-radius: 50px;
}
.buttonBox li span{
	font-size: 13px;
	margin-left: 8px;
}
.mod-section01 ul{
  margin: 50px auto 0;
  justify-content: center;
}
.mod-section01 li{
    margin-top: 20px;
}

/* for PC
------------------- */
@media print,(min-width: 750px) {
  .sec_title {
    min-height: 100vh; /* 画面いっぱい */
  }
  .mod-section01 {
    width: 1040px;
    margin: 30px auto;
	text-align: center;
  }
  h1.product-name img {
    width: min(60vw, 250px); /* PCでは少し大きく */
    margin: 200px 0 0;
  }
  .mod-section01 p.txt{
        font-size: 40px;
  }
  .mod-section01 ul{
        display: flex;
  }
  .mod-section01 li{
        margin-right: 30px;
  }
}

/* js
------------------- */
.js-scroll-container:before {
  transition: width .45s ease; 
  width: 0;
  margin: 0 auto; 
}
.js-scroll-container.is-active:before {
  width: 100%;
}
.js-scroll-elm {
  opacity: 0;
  transition: all 1s ease;
}
.js-scroll-elm.is-active {
  opacity: 1;
  transform: none;
}
.fade { transform: translateY(30px); }
.slideL { transform: translateX(30px); }
.slideR { transform: translateX(-30px); }