@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@600&display=swap');

.container {
  width:100%;
  overflow: hidden;
}

/* -----------------------------------
	スライド
 ----------------------------------- */

.swiper-container {
    margin: 20px auto 40px auto;
}

.swiper-container >.swiper-pagination-bullets {
    width: 100%;
    padding: 20px 0 0;
    bottom: 0;
    position: relative;
}

.swiper-container .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 10px;
    display: inline-block;
    border-radius: 100%;
    background: #cecece;
    opacity: 1;
}

.swiper-container .swiper-pagination-bullet-active {
    opacity: 1;
    background: #222;
}

/* -----------------------------------
	main
 ----------------------------------- */

.visual {
  width:100%;
  max-width:1000px;
  margin: 20px auto 50px auto;
}

.visual picture img {
  width: 100%;
  height:auto;
}
 
.content {
  position: relative;
  width: 100%;
  margin: 0 auto;
  font-weight:500;
  color:#888888;
}

.gray { 
  background:#CCCCCC;
  padding:35px 0;
  z-index: -1;
}

.content h2 {
  font-size:1.4rem;
  padding:0.5em;
}

.en-title {
  color: #1F507D;
  font-family: 'Oswald', sans-serif;
  font-size:3.2rem;
  font-weight:600;
  line-height:1.1;
  margin-bottom:20px;
}

@media (min-width: 685px) and (max-width: 959px) {
.visual { margin: 20px auto 5% auto;}
}

@media screen and (max-width:684px){
.visual { margin: 20px auto 40px auto;}
}

/* -----------------------------------
	lineup
 ----------------------------------- */

.lineup {
  width: 90%;
  margin: 70px auto 120px auto;
  text-align: center;
}

.lineup h2 {
  font-size: clamp( 18px, calc( 13px + 1.25vw ), 28px );
  font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO",'M PLUS 1p';
  line-height: 1.6;
  margin: 0 auto 1em auto;
  text-align: center;
}

.lineup figure {
  width: 80%;
  max-width: 350px;
  margin: 0 auto;
  text-align: center;
}

.lineup figure img {
  width: 100%;
  height: auto;
}

@media screen and (max-width:684px){
.lineup { width: 86%; margin: 50px auto 100px auto;}
}

/* -----------------------------------
	point
 ----------------------------------- */

#point h3 {
  width: 95px;
  margin: -82px auto 50px auto;
  text-align: center;
}

#point h3 img {
  display: inline-block;
  width: 100%;
  height:auto;
}

ul.point-list_01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  max-width: 680px;
  margin: 1.5em auto;
  text-align:center;
}

ul.point-list_01 li {
  width:48%;
  margin:0 0 4% 0;
}

ul.point-list_01 li img { 
  max-width:100%;
  height:auto;
}

ul.point-list_02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 94%;
  max-width: 680px;
  margin: 1.5em auto 3em auto;
  text-align:center;
}

ul.point-list_02 li {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #535353;
  border-radius: 8px; 
  color: #FFF;
  font-size: clamp( 16px, calc( 14.5px + 0.625vw ), 21px );
  text-align:center;
  margin-bottom: 0.8em;
  padding: 0.4em 1em;
  width: auto;
  min-width: 6em;
}

@media screen and (min-width: 1280px){
ul.point-list_02 li { min-width: 4em;}
}

@media screen and (max-width:684px){
ul.point-list_02 li { font-size: 16px; padding: 0.6em 1em; width: 48%;}
#point h3 { margin: -82px auto 30px auto;}
ul.point-list_01 { flex-flow: column;}
ul.point-list_01 li { width: 100%; margin:0 0 8% 0;}
}

/* 製品-スペック */

.item-box{
  width: 100%;
  margin: 0 auto 3% auto;
  text-align:center;
  z-index: 2;
}

.item-box h3 {
  width: 95px;
  margin: -48px auto 35px auto;
  text-align: center;
}

.item-box h3 img {
  width: 100%;
  height:auto;
}

#item-spec{
  width:90%;
  max-width:680px;
  margin:0 auto;
  text-align:center;
}

table.spec {
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  empty-cells:show;
}

table.spec tr:nth-child(odd){
	background: #E9ECEC;
}

table.spec th {
  width: 12em;
  padding:12px 14px;
  font-weight:normal;
  vertical-align: top;
}

table.spec td {
  width: calc(100% - 12em);
}

table.spec td.spec-name {
  border-left: 1px solid #FEFEFE;
}

table.spec th.spec-name,
table.spec td.spec-name{
  background:#8E8A89;
  color:#FFF;
  font-weight:bold;
}

.spec td{
  border-left: 1px solid #8E8A89;
  padding:12px 14px;
}

.spec td.non-border{
  border-left: none;
}

.spec ul li{
  padding-left: 1em;
  text-indent: -1em;
}

ul.remarks{
  margin:2em 0 2em;
}

ul.remarks li{
  padding-left: 1em;
  text-indent: -1em;
}

/* 商品-取扱説明書 */

#item-other{
  width:90%;
  max-width:680px;
  margin:50px auto;
  text-align:center;
}

#item-other ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

#item-other li{
  display: flex;
  width:100%;
  display:inline-block;
  justify-content:space-between;
  border: 1px solid #666;
  box-sizing: border-box;
  font-size:1.3rem;
  font-weight:bold;
  line-height: 1.2;
  text-align: center;
  vertical-align:text-top; 
}

#item-other li:nth-child(2) {
  border-left:none;
}

#item-other li a{
  position: relative;
  display:block;
  width:100%;
  padding: .7em 2em;
  text-align: center;
  text-decoration: none;
}
  
#item-other li a:hover {
  color:#333;
  background: #E3E2E1;
}

.overflow {
  display:none;
}

@media screen and (max-width:684px){
table.spec th{ width:5.5em;padding:10px 0.5em;font-weight:normal; vertical-align: top; text-align:center; border-top:1px solid #E3E2E1;}
table.spec td{ vertical-align: middle;}
table.spec th.spec-name { text-align:center;}
table.spec td.sp-left{ text-align: left;}
#item-other{-ms-flex:1; flex: 1; margin:8% auto;}
#item-other ul { display: block;}
#item-other li{ width: 100%; margin:0 0 4% 0; display: block;}
#item-other li:nth-child(2) {  border-left: 1px solid #666;}
}
