* {
  margin: 0px;
  padding: 0px;
  font-family: 'IBM Plex Mono';
  box-sizing: border-box;
  scroll-behavior: smooth;
}

html, body, main {
  width: 100%;
  height: 100%;
}

body {
  background-color: #f7f7f7;
  color: #010101;
  line-height: 2rem;
}

h1 {
  font-size: 2rem;
    background-color:rgba(247,247,247,0.5);
	padding: 6px 13px 6px 13px;
}

h2 {
  font-size: 2rem;
}

h3{
font-weight:100;
font-size: 1.5rem;
color:#999;
margin-top:26px;
margin-bottom:-52px;
}


p {
  width: 90%;
  margin: 2rem 0;
}

.listh3{
margin-bottom:-60px;
}


.justify{
  text-align:justify;
  word-break:break-all; 
  text-justify:inter-ideograph;
  text-justify:inter-character;
  word-wrap:break-word;
  overflow-wrap:break-word;
  white-space:pre-wrap;
}

.txtmini{
  font-size: 1.2rem;	
}

/*改行宣言p*********************************/
.br:before {
content: "\A" ;
white-space: pre ;
}


section {
  height: 100vh;
}

.container {
  padding: 5rem;
}

.scroll_container {
  height: 200vh;
}

.horizontal_scroll {
  position: absolute;
  top: 0;
  height: 100%;
  width: 200vw;
  will-change: transform;
  display: flex;
  justify-content: space-between;
}


.scroll_contents {
  height: 100%;
  width: 100vw;
}

.sticky_wrap {
  overflow: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
}

/*2分割*********************************/

.scroll_container2 {
  height: 200vh;
}

.horizontal_scroll2 {
  position: absolute;
  top: 0;
  height: 100%;
  width: 200vw;
  will-change: transform;
  display: flex;
  justify-content: space-between;
}

.sticky_wrap2 {
  overflow: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
}

/*3分割*********************************/

.scroll_container3 {
  height: 300vh;
}

.horizontal_scroll3 {
  position: absolute;
  top: 0;
  height: 100%;
  width: 300vw;
  will-change: transform;
  display: flex;
  justify-content: space-between;
}

.sticky_wrap3 {
  overflow: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
}

/*4分割*********************************/

.scroll_container4 {
  height: 400vh;
}

.horizontal_scroll4 {
  position: absolute;
  top: 0;
  height: 100%;
  width: 400vw;
  will-change: transform;
  display: flex;
  justify-content: space-between;
}

.sticky_wrap4 {
  overflow: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
}

/*4分割*********************************/

.scroll_container5 {
  height: 500vh;
}

.horizontal_scroll5 {
  position: absolute;
  top: 0;
  height: 100%;
  width: 500vw;
  will-change: transform;
  display: flex;
  justify-content: space-between;
}

.sticky_wrap5 {
  overflow: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
}



/*その他*********************************/

.mainbox{
  padding: 0 0 0 40px;
  width: 90%;
  margin: 0 auto;
  max-width: 900px;

}

/*SVGicon*****************************/
.svgbox {
margin: -8px -5px -8px 0px;
width:78px;
float:left;
text-align:center;
}

.svgbox img {
text-align:center;
width:52px;
height:52px;
}

.svgbox p {
font-size: 0.7rem;
margin: -10px 0 0px 3px;
text-align: center;
line-height: 1rem;
color:#000;
}

.dib {
display: flex;
flex-wrap: wrap;
height: 45px;
position: fixed;
bottom: 0;
right: 0;
z-index: 10000;
margin-bottom:30px;
background-color:rgba(247,247,247,0.5);
padding: 6px 13px 70px 6px;
}

.gry1 {
  background-color:  #f0f0f0;
}

.gry2 {
  background-color:  #fbfbfb;
}


.gry1m {
  background-color:  #f0ebf0;
}

.gry1y {
  background-color:  #f0f0eb;
}


.left {
  margin-top: 5vh;
  margin-left: -2vw;
}

.left2 {
  margin-top: 3vh;
  margin-bottom: -52px;
  font-size: 1.6rem;

}

.right {
  text-align: right;
  margin-top: 85vh;
  margin-right: 5vw;
}


.box01 {
    background-image: url(img/group1.jpg); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box02 {
    background-image: url(img/group4.gif); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box03 {
    background-image: url(img/group5.gif); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box04 {
    background-image: url(img/group6.gif); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box05 {
    background-image: url(img/group7.gif); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box06 {
    background-image: url(img/group10.gif); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box07 {
    background-image: url(img/group12.gif); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}

.box08 {
    background-image: url(img/group2.jpg); 
	background-position: center center;
    background-repeat:  no-repeat;     
	ackground-attachment: fixed;
	background-size: cover;
}


.imagebox0{
margin-top: 26px;
width:90%;
height:90%;
}

.cont-img {
  max-width: 90%;
  display: block;
  margin-top: 39px;
  backface-visibility: hidden;
}

.cont-img2 {
  max-width: 85%;
  display: block;
  margin-top: -150px;
  backface-visibility: hidden;
}

.cont-img3 {
  max-width: 55%;
  display: block;
  margin-top: -250px;
  backface-visibility: hidden;
}


.flx{
margin: 26px 1% 26px;
-webkit-flex:1;
-moz-flex:1;
-ms-flex:1;
flex:1;

display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: flex;

-webkit-flex-direction:row;
-moz-flex-direction:row;
-ms-flex-direction:row;
flex-direction:row;

-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
	
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
}

.flxbox1 {
text-align: center;

margin: 7px 1% 7px;
min-height: 160px;
border: 1px solid #babcbf;
border-radius: 3px;
	
-webkit-flex:1 0 230px;
-moz-flex:1 0 230px;
-ms-flex:1 0 230px;
flex:1 0 230px;
	
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: flex;

-webkit-align-items: flex-start;
-moz-align-items: flex-start;
-ms-align-items: flex-start;
align-items: flex-start;

-webkit-justify-content: center;
-moz-justify-content: center;
-ms-justify-content: center;
justify-content: center;
}

.flxbox1b {
border: 0px solid #babcbf;
}

.flxbox1 img{
margin-top: 8px;
}

.flxbox1 h4{
margin: 2px 0 -15px 0;
font-size: 0.95rem;
}

.flxbox1 p{
padding: 0 20px;
font-size: 0.95rem;
text-align: center;
line-height: 1.8rem;
text-align: justify;
text-justify: inter-ideograph;
width:100%;
}

.co2img{
 margin-top:240px;
}

li{
line-height: 1.5rem;
}

.plast{
width:120%;
margin: 300px 0 0 100px;
font-size: 1.5rem;
background-color:rgba(255,255,255,0.8);
padding: 6px 13px 6px 13px;
}

@media screen and (max-width: 650px) {

body {
font-size: 0.8rem;
line-height: 1.5rem;
}

.mainbox{
	margin-top: -40px;
}

h1{
font-size: 1.2rem;
padding-top:1px;
margin-left: -70px;
}

h2{
font-size: 1rem;
margin-top:40px;
}

h3{
font-size: 0.8rem;
margin-top: 40px;
}

.listh3{
margin-bottom:-72px;
}

.listh3b{
margin-top:-13px;
}


li{
font-size: 0.7rem;
line-height: 1rem;
}

.flxbox1 p{
font-size: 0.7rem;
line-height: 1.1rem;
margin: 15px 0 -15px 0;
width:100%;
}

.flxbox1 img{
	width: 104px;
	height: 104px;
}

.left {
margin-top: 10vh;
	margin-bottom:-26px;
}

.left2 {
margin-top: 4vh;
font-size: 1rem;
margin-bottom:-52px;
}

.txtmini{
  font-size: 0.8rem;	
}

.box01 {
	background-position: center left -400px;
}

.box02 {
	background-position: center left -100px;
}

.box03 {
	background-position: center left -700px;
}

.box04 {
	background-position: center left -50px;
}

.box05 {
	background-position: center left -50px;
}

.box06 {
	background-position: center left -240px;
}

.box07 {
	background-position: center left -90px;
}

.box08 {
	background-position: center left -70px;
}



.iconmain {
margin: 60px 0 0 -86px;
width: 104px;
height: 104px;
}

.svgbox {
margin: -8px -12px -8px 0px;
width:56px;
float:left;
text-align:center;
}

.svgbox img {
width:39px;
height:39px;
}

.svgbox p {
font-size: 0.6rem;
}

.dib {
margin-bottom: 1px;
padding: 6px 13px 50px 6px;
}

.cont-img2 {
  margin-top: -60px;
}

dl{
font-size: 0.7rem;
}

p {
font-size: 0.7rem;
}

.plast{
width:120%;
margin: 230px 0 0 -50px;
font-size: 0.8rem;
}

}


@media screen and (max-width: 420px) {
.svgbox {
margin: -8px 0px -8px -2px;
width:40px;
float:left;
text-align:center;
}	

.svgbox p {
font-size: 0.58rem;
}

.svgbox img {
width:30px;
height:30px;
}

.svgbox p {
letter-spacing: -0.03rem; 
}


}



