/* ================================
bblhero
================================ */



#pgHeadlineImg .Box {
  margin-top: -10%;
	z-index: 5;
	position: relative;
}
main#bblhero {
  font-feature-settings: "palt";
  padding: 0;
}
main#bblhero .sideSp {
  max-width: 1080px;
}
main#bblhero #pgHeadlineImg .inBox {
  max-width: 1080px;
  margin: auto;
  display: flex;
  height: 670px;
	position:relative;
	z-index: 5;
	flex-direction: column;
}
main#bblhero #pgHeadlineImg .inBox p{
	width: 45%;
	font-size: clamp(14px, 2vw, 16px);
	padding:0;
}
main#bblhero #pgHeadlineImg .imgBox {
  padding: 2em 0 1em;
}
main#bblhero h1 {
  background: #fff;
  height: 670px;
  position:relative;
  overflow: hidden;
}


main#bblhero h1 .topGimmick {
	width:50%;
	right:0;
	top:0;
    z-index: 2;
	position:absolute;
	height: 670px;

	overflow: hidden;
	
}




main#bblhero h1 .topGimmick .video-container video{
	width:1000px;
	height:auto;
	opacity: 0.4;
	position:relative;
}


main#bblhero h1 picture {
  width: 60%;
  max-width: 540px;
  height: auto;
  margin-top: 120px;
}
main#bblhero h1 .sideSp {
  max-width: 1080px;
}




main#bblhero h1 .machineImg {
	display:block;
	position: absolute;
	right: 22%;
	bottom:-40px;
	z-index: 4;
	width: 40%;
	max-width: 540px;
}



.hifuClr {
  color: #25489c;
}
main#bblhero h2.hifuClr {
  position: relative;
}
main#bblhero h2.hifuClr {
  text-align: center;
  margin-bottom: 1em;
}
main#bblhero h2.hifuClr::after {
  position: absolute;
  bottom: -0.5em;
  left: 30%;
  width: 40%;
  height: 1px;
  content: '';
  background-color: #25489c;
}





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

	main#bblhero h1 .topGimmick .video-container video{
		display: block;
		left: -20%;
}
}


@media screen and (max-width: 1560px) {
	main#bblhero h1 .machineImg {
	right: 18%;
}
}
@media screen and (max-width: 1280px) {
	main#bblhero h1 .topGimmick .video-container video{
  width:800px;
	height:auto;
}
}
@media screen and (max-width: 1200px) {
main#bblhero h1 picture {
  margin-top: 15%;
}
main#bblhero h1 {
  background-position: right 12% center;
}
}

@media screen and (max-width: 1140px) {
	main#bblhero #pgHeadlineImg .inBox {
		margin-left: 20px;
	}
	
	main#bblhero #pgHeadlineImg .inBox p br{
		display: none;
	}
}

@media screen and (max-width: 1000px) {
main#bblhero h1 picture {
  width: 52%;
  max-width: 540px;
  height: auto;
  margin-top: 18%;
}
main#bblhero h1 {
  background-position: right 18% center;
}
}
@media screen and (max-width: 820px) {
main#bblhero h1 {
  background-position: right 20% center;
}
main#bblhero h1 picture {
  margin-top: 24%;
}
}
@media screen and (max-width: 767px) {
  main#bblhero h1 {
    background: none;
    height: auto;
	  overflow: hidden;
  }
main#bblhero h1 .topGimmick {
	width: 140%;
	height:auto;
	min-height: 400px;
}
	
main#bblhero h1 .topGimmick .video-container{
	background: #ababab;
}	
	
  main#bblhero h1 picture {
    width: 100%;
    max-width: none;
    height: auto;
    margin-left: 0;
    margin-top: 0;
  }
  main#bblhero h1 picture img {
    width: 100%;
    height: auto;
  }
  main#bblhero #about h2 {
    padding-top: 1rem;
  }
  main#bblhero #pgHeadlineImg .inBox {
    margin: 0 15%;
    display: flex;
    align-items: center;
    height: auto;
	 padding:100px 0 140px;
  }
	
  main#bblhero h2 br {
    display: none;
  }
	
	main#bblhero h1 .topGimmick .video-container video{
  width:100%;
  left: 0%;
	opacity: 0.2;
}	
main#bblhero #pgHeadlineImg .inBox p{
	
	width: 100%;
	font-size: clamp(14px, 2vw, 16px);
	padding: 15px 0 0;
	
}
	
main#bblhero h1 .machineImg {
	right: -20%;
	bottom:-60px;
	width: 60%;
	max-width: 540px;
}	
	
}
@media screen and (max-width: 480px) {
main#bblhero h1 .topGimmick {
	width: 160%;
	height:auto;
	min-height: 400px;
}
	
  main#bblhero #pgHeadlineImg .inBox {
    margin: 0 5%;
    display: flex;
    align-items: center;
    height: auto;
	 padding:100px 0 100px;
  }	
main#bblhero h1 .machineImg {
	right: -20%;
	bottom:-50px;
	width: 70%;
	max-width: 540px;
}
}


/*about */


#about { 
  position: relative;
  z-index: 5;
  margin-top: -2%;
  background: #fffbf5 url("../img/bblhero/about_bg.png") no-repeat;
	background-position: right 10% center;
	padding-bottom: 120px;
}


#about h2 {
	padding: 0;
}
#about .inBox {
	display: flex;
	align-items:  center;
	margin-top: 30px;
}
#about .inBox .video-container{ 
	max-width: 400px;
	width: 35%;
}

#about .inBox .video-container video{
	width: 100%;
} 
#about .textBox{
	margin-left: 5%;
	flex: 1;
}
#about .textBox p {
	font-size: clamp(14px, 3vw, 16px);
}
#about .textBox h3{
	padding: 0 0 20px;
	font-weight: bold;
	color:#387fb7;
	font-size: min(6vw, 32px);
}

@media screen and (max-width: 1280px) {
#about { 
	background-position: right -10% bottom -10%;
	background-size: 50%;
}	
}


@media screen and (max-width: 600px) {
#about { 
	background-position: right -10% bottom 70%;
	background-size: 70%;
}	
#about .inBox {
	margin-top: 20px;
}
#about h2 {
	width: 220px;
	height: auto;
}	
	
#about .inBox {
	display: flex;
	flex-direction: column-reverse;
}
#about .textBox{
	margin-left: 0;
}

#about .inBox .video-container{ 
	max-width: 400px;
	width: 100%;
	margin-top: 40px;
}
#about .textBox h3{
	padding: 0 0 10px;
}
#about {
  padding-bottom: 40px;
}
}
@media screen and (max-width: 540px) {
  #about {
    background-position: right -10% bottom 60%;
    background-size: 70%;
  }
}
/*customization*/

#customization {
	margin-bottom: 100px;
}

#customization .inBox {
	display: flex;
	align-items: flex-start;
	margin-top: 30px;
	position: relative;
	height:700px;
}
#customization .inBox .video-container{ 
	width: 80%;
	margin-right: -20%;
	margin-left: -30%;
	position: relative;
	z-index: 2;
}

#customization .inBox .video-container video{
	width: 100%;
} 

#customization .textBox{
	width: 60%;
	position: relative;
	z-index: 4;
	margin-top: 160px;
}
#customization .textBox p {
	font-size: clamp(14px, 3vw, 16px);
}
#customization .textBox h2{
	padding: 0 0 20px;
	font-weight: bold;
	color:#387fb7;
	font-size: min(6vw, 32px);
}
#customization .inBox .video-container img{
 display: block;
 position:relative;
 max-width: 600px;
	width: 60%;
	z-index:4;
	margin-top: -100px;
	margin-left: 10%;
}
#customization .inBox {
	
}
#customization .inBox .deco {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	max-width: 1200px;
	
}

@media screen and (max-width: 1200px) {
#customization .textBox {

  margin-top: 0;
}
	#customization .inBox {
	height:600px;
		align-items: center;
		margin-top: 0;
}
#customization .inBox .video-container {
  width: 70%;
  margin-right: -20%;
  margin-left: -20%;
  position: relative;
  z-index: 2;
}
#customization .inBox .video-container img {
  max-width: 600px;
  width: 60%;
  z-index: 1;
  margin-top: -50px;
  margin-left: 30%;
}
}

@media screen and (max-width: 860px) {
		#customization .inBox {
	height:540px;
}
}
@media screen and (max-width: 767px) {
#customization {
	margin-bottom: 60px;
	padding-top: 40px;
}
	#customization .inBox {
		flex-direction: column;
	   height:auto;
		padding-bottom: 100px;
}
	#customization .textBox{
	width: 100%;
}
	#customization .textBox h2{
	padding: 0 0 10px;
}
 #customization .inBox .video-container {
    width: 100%;
    margin-right: 0%;
    margin-left: 0%;
	 margin-top: -20px;
  }
#customization .inBox .video-container img {
  max-width: 600px;
  width: 60%;
  margin-top: -200px;
  margin-left: 0%;
	
}
}

@media screen and (max-width: 540px) {
#customization .inBox {
	padding-bottom: 40px;
}
#customization .inBox .video-container img {
 
  margin-top: -60px;
}
}

@media screen and (max-width: 460px) {
#customization .inBox {
	padding-bottom: 20px;
}
#customization .inBox .video-container img {
 
  margin-top: -80px;
}
}


/*attachment*/

#attachment {
	margin-bottom: 100px;
}

#attachment .inBox {
	display: flex;
	align-items: flex-start;
	margin-top: 30px;
	position: relative;
	height:740px;
}

#attachment .inBox .video-container{ 
	width: 80%;
	margin-right: -30%;
  	margin-left: -18%;
	position: relative;
	z-index: 2;
}

#attachment .inBox .video-container video{
	width: 100%;
} 

#attachment .textBox{
	width: 60%;
	position: relative;
	z-index: 4;
	margin-top: 160px;
}
#attachment .textBox p {
	font-size: clamp(14px, 3vw, 16px);
}

#attachment .textBox h2{
	padding: 0 0 20px;
	font-weight: bold;
	color:#387fb7;
	font-size: min(6vw, 32px);
}
#attachment .inBox .video-container img{
 display: block;
	position: relative;
 max-width: 600px;
	width: 60%;
	z-index:4;
	margin-top: -100px;
	margin-left: 10%;
}
#attachment .inBox {
	
}
#attachment .inBox .deco {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	max-width: 1200px;
	
}

@media screen and (max-width: 1200px) {
#attachment .textBox {

  margin-top: 0;
}
	#attachment .inBox {
	height:640px;
		align-items: center;
		margin-top: 0;
}
#attachment .inBox .video-container {
  width: 70%;
  margin-right: -20%;
  margin-left: -20%;
  position: relative;
  z-index: 2;
}
#attachment .inBox .video-container img {
  max-width: 600px;
  width: 60%;
  margin-top: -50px;
  margin-left: 30%;
}
#attachment .textBox{
	width: 55%;
}
}

@media screen and (max-width: 860px) {
		#attachment .inBox {
	height:540px;
}
  #attachment .inBox .video-container {
    margin-left: -5%;
  }
}
@media screen and (max-width: 767px) {
#attachment {
	margin-bottom: 60px;
	padding-top: 0;
}
	#attachment .inBox {
		flex-direction: column;
	height:auto;
		padding-bottom: 40px;
}
	#attachment .textBox{
	width: 100%;
}
	#attachment .textBox h2{
	padding: 0 0 10px;
}
 #attachment .inBox .video-container {
    width: 100%;
    margin-right: 0%;
    margin-left: 0%;
	 margin-top: 0;
  }
#attachment .inBox .video-container img {
  max-width: 600px;
  width: 60%;
  z-index: 1;
  margin-top: -100px;
 margin-right: -120px;
}
}

@media screen and (max-width: 540px) {
  #attachment .inBox {
    padding-bottom: 20px;
  }
#attachment {
	margin-bottom: 20px;
	padding-top: 0;
}	
#attachment .inBox .video-container img {
 margin-right: -140px;
  margin-top: -60px;
margin-left: 45%;
}
}







/*concerns*/

#concerns {
	margin-bottom: 100px;
}

#concerns h2 {
	padding: 0;
	margin-bottom :40px;
}
#concerns h2 span{
	display: block;
}
#concerns h2 .main{
	font-size: min(6vw,50px);
}

#concerns h2 .sub{
	font-size: min(6vw, 32px);
}
#concerns .inBox .fBox{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2%;
}
#concerns .inBox .fBox .condition{
	width: 24%;
	max-width: 250;
	height: auto;
}
#concerns .inBox .fBox .condition img{
	width: 100%;
	height: auto;
}
#concerns .inBox .fBox .condition dl {
	margin: 5px 0 20px;
}
#concerns .inBox .fBox .condition dl dt{
font-size: clamp(16px, 2vw, 18px);	
	border-bottom: #666 1px solid;
	margin-bottom: 5px;
}
#concerns .inBox p.note{
	margin-bottom:-60px;
	position:relative;
	font-size: clamp(13px, 2vw, 14px);	
}
#concerns .inBox .fBox .condition dl dd{
font-size: clamp(13px, 2vw, 16px);	
}
@media screen and (max-width: 767px) {
	#concerns {
	margin-bottom: 60px;
}
#concerns h2 {
	padding: 0;
	margin-bottom :20px;
}	
	
#concerns .inBox .fBox{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2%;
	flex-wrap:wrap;
}
#concerns .inBox .fBox .condition{
	width: 48%;
	max-width: none;
	height: auto;
}
#concerns .inBox p.note{
	margin-bottom:-20px;
	margin-top: 0;
}
}




/*flow*/

#flow {
  position: relative;
  z-index: 5;
  background: url("../img/bblhero/about_bg.png") no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: 40%;
  background-position: right 10% center;
  padding-bottom: 120px;
}
#flow h2 {
  padding: 0 0 20px;
  font-weight: bold;
  color: #387fb7;
  font-size: min(5.5vw, 32px);
  display:flex;
align-items: center;
gap: 10px;
}

#flow h2::before, #flow h2::after{
	content: "";
	width: 20px; 
	height: 1px;
	background: #387fb7;
}
#flow .inBox ol{
  padding-left:0;
  list-style: none;
  counter-reset: number;
}

#flow .fBox {
	display: flex;
	align-items: center;
}
#flow .fBox .mjoule {
	display: block;
	width: 320px;
	height: auto;
}

#flow .inBox ol {
	flex: 1;
}
#flow .inBox ol > li {
  position: relative;

  margin-bottom: 25px;
}
#flow .inBox ol > li dt {
	font-size: clamp(16px, 2vw, 18px);	
	margin-bottom: 5px;

}
#flow .inBox ol > li dd {
	font-size:14px;	
     padding-left: 1.5em;
}

@media screen and (max-width: 767px) {
#flow {
  position: relative;
  z-index: 5;
  background: url("../img/bblhero/about_bg.png") no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: 80%;
  background-position: right 10% bottom;
  padding-bottom: 0;
}	
#flow h2 {
  padding: 0 0 10px;
  gap: 5px;
}	
#flow .inBox ol{
	padding-left: 0;
  list-style: none;
}	
	
#flow .fBox .mjoule {
	display: block;
	width: 40%;
	height: auto;
}	
}
@media screen and (max-width: 600px) {
	#flow .fBox {
	flex-direction: column;
	
}
#flow .fBox .mjoule {
	display: block;
	width: 50%;
	max-width: 320px;
	height: auto;
}
}

/*precautions*/

#precautions {
  position: relative;
  z-index: 5;
  background: url("../img/bblhero/about_bg.png") no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: 40%;
  background-position: right 10% center;
  padding-bottom: 120px;  padding-top: 40px;
}
#precautions h2 {
  padding: 0 0 20px;
  font-weight: bold;
  color: #387fb7;
  font-size: min(6vw, 32px);
  display:flex;
align-items: center;
gap: 10px;
}

#precautions h2::before, #precautions h2::after{
	content: "";
	width: 20px; 
	height: 1px;
	background: #387fb7;
}
#precautions p {
	padding: 0;
	margin-bottom: 30px;
    font-size: clamp(14px, 2vw, 16px);
}
#precautions .inBox dt {
	font-size: clamp(15px, 2vw, 18px);	
	margin-bottom: 5px;
	color: #387fb7;
	font-weight: 600;

}
#precautions .inBox dd {
	font-size:14px;	
	margin-bottom: 30px;
	padding-top: 10px;
}
#precautions .inBox dd ul{
padding: 0 0 0 1.2em;
}
@media screen and (max-width: 767px) {
#precautions {
  position: relative;
  z-index: 5;
  background: url("../img/bblhero/about_bg.png") no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: 70%;
  background-position: right 10% bottom;
  padding-bottom: 200px;
}	
	
	
}
@media screen and (max-width: 767px) {
.textBox p br{
	display: none;
}
}




  .safariOn {
    display: none;
  }


   .safariOff {
    display: block;
  } 

/*
_:lang(x)::-moz-placeholder, video {
	.safariOn {
		display: block;
	}
	.safariOff {
	display: none !important;	
	}
}
*/


@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, video.safariOn {
        display: block;
    }
	    _::-webkit-full-page-media, _:future, video.safariOff {
        display: none;	
    }
}