@charset "utf-8";
/* CSS Document */

#wrapper {
  padding: 0 0 40px;
}
#article{
  padding-bottom: 60px;
  color: #333;
}


#article .section{
	text-align:justify;
	line-height:1.6em;
	}
	
/* box1 */
#article .box dt{
	font-size:250%;
	margin-bottom:20px;
	display:block;
	line-height:1.2em;
	}
#article .box dl.left{
	float:left;
	width:360px;
	margin-bottom:50px;
	}
#article .box dl.right{
	float:right;
	width:360px;
	margin-bottom:50px;
	}


/* box2 */
#article .box2 dt{
	font-size:250%;
	margin-bottom:20px;
	display:block;
	line-height:1.2em;
	}
#article .box2 dl.left{
	float:left;
	width:215px;
	margin:0 67px 50px 0;
	}
#article .box2 dl.right{
	float:right;
	width:215px;
	margin-bottom:50px;
	}



/* box3 */
#article .box3 dt{
	font-size:250%;
	margin-bottom:20px;
	display:block;
	line-height:1.2em;
	font-family:"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
	}
#article .box3 dl.left{
	float:left;
	width:380px;
	margin-bottom:50px;
	}
#article .box3 dl.right{
	float:right;
	width:380px;
	margin-bottom:50px;
	}



/* box4 */
#article .box4{
	width:720px;
	margin:0 auto 30px auto;
	line-height:2em;
	}
#article .box4 h4{
	font-size:130%;
	margin:0 0 15px 0;
	}
#article .box4 strong{
	color:#194a70;
	}



/* box5 */
#article .box5{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content: space-between;
  align-items: center;
}
#article .box5 h4{
	font-size:250%;
	margin-bottom:20px;
	display:block;
	line-height:1.2em;
	}
#article .box5 .left{
	width:250px;
	}
#article .box5 .right{
	width:500px;
	}


/* box6 */
#article .box6{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content: space-between;
  align-items: center;
}
#article .box6 h4{
	font-size:250%;
	margin-bottom:20px;
	display:block;
	line-height:1.2em;
	}
#article .box6 .right{
	width:250px;
	}
#article .box6 .left{
	width:500px;
	}


/* 202006追加 */
/* ================================
common
================================= */
.mv{
  margin-bottom: 80px;
}
.intro_ttl{
	font-size:300%;
	margin:0 auto 40px;
	font-weight:700;
  letter-spacing: 5px;
  text-indent:5px;
}
.intro_ttl.fz_small{
  font-size: 180%;
  letter-spacing: 0;
}
.intro_ttl_en {
  font-size: 260%;
  letter-spacing: 0;
  text-indent: 0;
}
.intro{
  margin-bottom: 80px;
}
.intro_lead{
  line-height: 2;
  font-size: 22px;
	font-weight:700;
  margin-bottom: 20px;
}
.intro_desc{
  font-size: 17px;
  line-height: 2;
  margin-bottom: 20px;
}
/* ================================
about
================================= */
#about .intro_ttl{
	padding-top: 40px;
  margin-bottom: 60px;
}
#about .section,
.flex_section{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 80px;
}
#about .section.section_last{
  justify-content: center;
}
#about .section.section_last .member{
  width: auto;
}
#about .section figure,
.flex_section figure{
  width: 250px;
  overflow: hidden;
  border-radius: 125px;
}
.member{
  width:580px;
}
.member dt{
  line-height: 2;
  margin-bottom: 20px;
}
.member dt span{
  font-size: 22px;
	font-weight:700;
  display: inline-block;
  margin-right: 20px;
  letter-spacing: 3px;
}
.member dt i{
  font-size: 15px;
	font-weight:400;
  font-style: normal;
}
.member dt strong{
  display: block;
  font-size: 16px;
}
.member dd{
  font-size: 17px;
  line-height: 2;
}
.member dd small{
  display: block;
  line-height: 2;
}

/* ================================
history
================================= */
#history .desc{
  font-size: 20px;
  line-height: 2;
}
#history h4{
  font-size: 28px;
  margin-bottom: 40px;
  text-align: center;
  padding-top: 40px;
}
#history .cut_img{
  margin: 40px auto;
}
#history .intro_ttl,
#rippo .intro_ttl{
	padding-top: 60px;
}
#history .intro_ttl.pt150{
	padding-top: 150px;
}
#history .section{
	padding-top: 50px;
}

#history .intro_desc{
  padding-top: 60px;
  line-height: 2;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 80px;
}

/* ================================
product
================================= */
#product .intro_desc{
  padding-top: 60px;
}
.product_box,
#history .product_box{
  position: relative;
  height: 660px;
  padding: 0;
}
#history .product_box .desc,
.product_box .desc{
  width: 500px;
  font-size: 18px;
  line-height: 2;
  padding: 50px;
  background: rgba(255,255,255,.9);
  position: inherit;
  z-index: 10;
  margin-left: auto;
}
#history .product_box figure,
.product_box figure{
  width: 700px;
  position: absolute;
  top:120px;
  left: 0;
}
#history .product_box:nth-of-type(2) .desc,
.product_box:nth-of-type(2) .desc{
  margin-left: 0;
}
#history .product_box:nth-of-type(2) figure,
.product_box:nth-of-type(2) figure{
  right: 0;
  left: auto;
}

#product #info{
  padding-bottom: 80px;
}
.oem{
}
.oem .product_box figure{
  top:40px;
}
.oem .product_box .desc{
  top:42%;
}
.oem_sec{
}
.oem_sec h3{
  font-size: 24px;
  text-align: center;
  margin-bottom: 50px;
}
.oem_sec .oem_list{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  margin:0 auto 80px;
  background: #FFF;
  padding: 50px 30px;
}
.oem_sec .oem_list ul li{
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 20px;
}
.oem_sec .oem_en{
  font-weight: 700;
  font-size: 20px;
  width: 460px;
  line-height: 1.8;
}
.oem_sec .oem_list figure{
  width: 200px;
  margin: 0 0 0 80px;
}
.oem_sec .desc{
  font-size: 20px;
  line-height: 2;
  text-align: center;
  margin: 80px auto;
}
.oem_sec .oem_list.oem_list02 figure{
  width: 240px;
  margin: 0;
  margin-right: 80px;
}

/* ================================
use
================================= */
#use .intro_ttl{
	padding-top: 60px;
}

#use .section .desc{
  text-align: center;
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 40px;
  line-height: 2;
}
#use .section figure{
  margin-bottom: 60px;
}
#use .bnr_ga{
  margin-bottom: 40px;
}
#use #lightgallery{
  margin-bottom: 40px;
}

.insta_movie{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 4%;
}
.instagram-media{
  width: 48% !important;
  min-width: 0px !important;
}
/* ================================
policy /low 
================================= */
#contact .intro_ttl,
#policy .intro_ttl,
#low .intro_ttl{
	padding-top: 80px;
}
#contact #article,
#policy #article,
#low #article{
  background: rgba(255,255,255,.7);
}
#contact #article .section{
  padding: 0 60px;
}

/* ================================
store
================================= */
#store .intro_ttl{
	padding-top: 60px;
}
#store .intro_desc{
	font-size: 20px;
  font-weight: 400;
  margin-bottom: 80px;
}
.store_sec{
}
.store_sec h3{
  font-size: 24px;
  text-align: center;
  margin-bottom: 50px;
}
.store_sec .store_list{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  margin:0 auto 80px;
  background: #FFF;
  padding: 30px;
}
.store_sec .store_list .infomation{
  font-weight: 700;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 0;
  flex: 1;
}

.store_sec .store_list figure{
  width: 400px;
  margin: 0 30px 0 0;
}
.store_sec .desc{
  font-size: 20px;
  line-height: 2;
  text-align: center;
  margin: 80px auto;
}

/*
gallery
*/
#lightgallery{
  display: flex;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  justify-content:flex-start;
  background: #FFF;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#lightgallery a{
  width: 25%;
  padding: 5px;
}
.bnr_ga a{
	border: #1d2088 solid 1px;
	background: #FFF;
	display: block;
}

.bnr_use a{
  margin: 0 auto 60px;
	display: block;
}

/* ================================
rippo
================================= */
#rippo .product_box{
  height: 580px;
}
/* .rippo_desc{
  width: 80%;
  margin: 0 auto;
} */
.rippo_desc .cut_img{
  margin-bottom: 15px;
}
.rippo_desc .cut_img2{
  margin-bottom: 60px;
}
.rippo_desc .desc{
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 60px;
}
.rippo_desc .desc2{
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 15px;
}

/* ================================
walking
================================= */
#walking .section{
  margin-bottom: 40px;
}
#walking .desc{
  font-size: 16px;
  line-height: 2;
}
#walking .desc small{
  display: block;
  line-height: 1.6;
}
#walking .flex .img{
  width: 32%;
}
#walking .flex .txt{
  width: 64%;
  text-align: left;
}
#walking .flex .txt .desc{
  font-size: 16px;
}
/* #walking #info #banner{
  display: flex;
  gap: 4%;
}
#walking #info #banner div{
  width: 48%;
}
#walking #info #banner div a{
  height: 200px;
  padding: 2em 0;
  flex-direction: column;
  gap: 10px;
}
#walking #info #banner div a strong{
  font-size: 24px;
  letter-spacing: 0;
  display: block;
	}
#walking #info #banner div a em{
  font-size: 30px;
  font-style: normal;
  display: block;
  line-height: 1.7;
  }
  #walking #info #banner div a em small{
    font-size: 16px;
    display: block;
    } */

#walking .mv{
  width: 80%;
  margin: 0 auto 80px;
}
