@charset "UTF-8";
/* CSS Document */
header{
	margin-top: 13rem;
}
header div.topslide{
	position: relative;
	overflow: hidden;
}
header div.topslide div{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 850px;
	margin: 0;
	overflow: hidden;
}
header div.slider-item1{
	background-image: url("../img/top-slideimg-1.jpg");
}
header div.slider-item2{
	background-image: url("../img/top-slideimg-2.jpg");
}
header div.slider-item3{
	background-image: url("../img/top-slideimg-3_2024.jpg");
}
header div.slider-item4{
	background-image: url("../img/top-slideimg-4_2024.jpg");
}
header div.topslide::before{
	content: "";
	display: inline-block;
	width: 850px;
	height: 850px;
	background: url("../img/topimg-01.png");
	background-position: left center;
	position: absolute;
	left: -1px;
	top: 0;
	z-index: 2;
	mix-blend-mode: multiply;
}
header div.topslide::after{
	content: "";
	display: inline-block;
	width: 850px;
	height: 850px;
	background: url("../img/topimg-02.png");
	background-position: right center;
	position: absolute;
	right: -1px;
	top: 0;
	z-index: 2;
}
header div.topslide-logo{
	position: absolute;
	text-align: center;
	top: 370px;
	left: 0;
	right: 0;
	margin: auto;
	padding-top: 5rem;
    z-index: 10;
}
header div.topslide-logo img{
	width: 255px;
}
header div.topslide-logo p{
	color: #fff;
	margin-top: 4rem;
}
header div.topslide-logo p img{
	width: 20px;
}
header div.topslide-logo p span {
  position: absolute;
  top: 390px;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
header ul.slick-dots{
	position: absolute;
    top: 0;
    z-index: 20;
    padding-right: 2rem;
    text-align: right;
}
header ul.slick-dots li{
    margin: 0;
}

/*---------- メニュー ----------*/
.menu {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
	margin-top: -12rem;
	z-index: 25;
}
.menu > li a.init-bottom {
	color: #fff;
}
.menu > li a.init-bottom:hover {
	color: #F9ED00;
}
/*---------- about-us ----------*/
#about-us{
	margin-top: 5rem;
}
#about-us div.mincho{
	margin-top: 15rem;
}
#about-us div.mincho div.up-img{
	margin-top: -15rem;
}
#about-us div.mincho div{
	padding: 0;
}
#about-us div h3{
	font-size: 28px;
	text-align: left;
    padding: 2.5rem 2rem 0rem 3rem;
}

#about-us div p{
	font-size: 18px;
	text-align: left;
    padding: 2.5rem 3rem 0;
    margin-bottom: 0;
    line-height: 3.2rem;
}
#about-us div.tategaki{
	position: relative;
}
#about-us div.tategaki p{
	-ms-writing-mode: tb-rl;
 	writing-mode: vertical-rl;
	line-height: 6.5rem;
	letter-spacing: 3px;
	font-size: 45px;
	text-align: left;
	margin: auto;
    padding: 0;
}

/*---------- works ----------*/
#works h2{
	display: block;
}

/*---------- Sustainable ----------*/
#works div#Sustainable{
	background: url("../img/sustainable.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	height: 470px;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	position: relative;
}
#works div#Sustainable .yobou-mark {
	position: absolute;
	width: 195px;
    top: 8%;
	left: 80%;
}
#works div#Sustainable dl{
	color: #08287E;
}
#works div#Sustainable dl dt{
	font-size: 50px;
	letter-spacing: 2px;
	line-height: 3.5rem;
	padding-bottom: 2rem;
	position: relative;
}
#works div#Sustainable dl dt::after{
	content: "";
	display: inline-block;
	background: url("../img/top-subtitle0.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 150px;
	height: 150px;
	position: absolute;
    top: -27px;
    left: 319px;
}
#works div#Sustainable dl dt span{
	font-size: 20px;
	font-weight: normal;
}
#works div#Sustainable dl dd{
	display: inline-block;
	font-size: 22px;
/*	border-top: 1px solid #08287E;*/
	padding: 2rem 0 1rem;
	position: relative;
}

#works div#Sustainable dl dd::before {
    content: '';
    position: absolute;
    top: -3px;
    left: 0%;
    background: rgb(229,0,30);
    background: linear-gradient(90deg, rgba(229,0,30,1) 0%, rgba(229,0,30,1) 5.9%, rgba(215,166,0,1) 5.9%, rgba(215,166,0,1) 11.8%, rgba(0,151,59,1) 11.8%, rgba(0,151,59,1) 17.4%, rgba(198,15,40,1) 17.4%, rgba(198,15,40,1) 23.2%, rgba(232,56,25,1) 23.2%, rgba(232,56,25,1) 29%, rgba(0,166,217,1) 29%, rgba(0,166,217,1) 34.8%, rgba(250,189,0,1) 34.8%, rgba(250,189,0,1) 40.6%, rgba(151,11,49,1) 40.6%, rgba(151,11,49,1) 46.4%, rgba(237,106,2,1) 46.4%, rgba(237,106,2,1) 52.2%, rgba(220,0,122,1) 52.2%, rgba(220,0,122,1) 58.5%, rgba(245,162,0,1) 58.5%, rgba(245,162,0,1) 64.2%, rgba(211,146,0,1) 64.2%, rgba(211,146,0,1) 69.9%, rgba(66,121,53,1) 69.9%, rgba(66,121,53,1) 75.7%, rgba(0,117,186,1) 75.7%, rgba(0,117,186,1) 81.4%, rgba(40,168,56,1) 81.4%, rgba(40,168,56,1) 87.2%, rgba(0,76,136,1) 87.2%, rgba(0,76,136,1) 92.9%, rgba(0,48,103,1) 92.9%, rgba(0,48,103,1) 100%);
    display: block;
    width: 100%;
    height: 4px;
}

#works div#Sustainable + div p.minilist{
	background: -webkit-linear-gradient(360deg,#000, #fff);
	background: -o-linear-gradient(360deg,#000, #fff);
	background: linear-gradient(90deg,#000, #fff);
	padding: 0.5rem 1rem;
	margin: 1.5rem 0 2rem 0;
	color: #fff;
}

#Sustainable2 {
	background-image: url("../img/sustainable-back.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
    z-index: -1;
}

#Sustainable + div{
	position: relative;
	padding-bottom: 3rem;
	display: flex;
	flex-direction: row;
}
#Sustainable + div::after{
	content: "";
	display: inline-block;
	background: url("../img/sustainable-img.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 300px;
	height: 300px;
	position: absolute;
	bottom: 0;
	right: 0;
    z-index: -1;
}
#works #Sustainable2 .container .row div p.text-box {
	margin-top: 3rem;
}

#Sustainable + div .read-more{
	margin-left: 0;
}
#Sustainable + div img{
	width: 100%;
	padding: 3rem;
}



/*---------- Business ----------*/
#works div#for-Business{
	background: url("../img/for-Business.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	height: 470px;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}
#works div#for-Business dl{
	color: #fff;
}
#works div#for-Business dl dt{
	font-size: 50px;
	letter-spacing: 2px;
	line-height: 3.5rem;
	padding-bottom: 2rem;
	position: relative;
}
#works div#for-Business dl dt::after{
	content: "";
	display: inline-block;
	background: url("../img/top-subtitle1.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 200px;
	height: 200px;
	position: absolute;
	top: -60px;
	left: 340px;
}
#works div#for-Business dl dt span{
	font-size: 20px;
	font-weight: normal;
}
#works div#for-Business dl dd{
	display: inline-block;
	font-size: 22px;
	border-top: 1px solid #fff;
	padding: 2rem 12rem 1rem 0;
}
#works div#for-Business + div{
	color: #fff;
}
#works div#for-Business + div p.minilist{
	background: -webkit-linear-gradient(360deg,#000, #08287E);
	background: -o-linear-gradient(360deg,#000, #08287E);
	background: linear-gradient(90deg,#000, #08287E);
	padding: 0.5rem 1rem;
	margin: 1.5rem 0 2rem 0;
}
#for-Business + div{
	background: #08287E;
	position: relative;
	padding-bottom: 3rem;
}
#for-Business + div::after{
	content: "";
	display: inline-block;
	background: url("../img/for-Business-img.svg");
	background-repeat: no-repeat;
	background-position: center;
	mix-blend-mode:hard-light;
	width: 300px;
	height: 300px;
	position: absolute;
	bottom: 0;
	right: 0;
}
#for-Business + div .read-more{
	margin-left: 0;
	box-shadow: 7px 7px 5px rgba(0,20,80,0.3);
}
#for-Business + div .read-more:hover{
	box-shadow: -1px -1px 5px rgba(0,20,80,0.3);
}
#for-Business + div img{
	width: 100%;
	padding: 3rem;
}

/*---------- Personal ----------*/
#works div#for-Personal{
	background: url("../img/for-Personal_2024.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	height: 470px;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}
#works div#for-Personal dl{
	color: #08287E;
}
#works div#for-Personal dl dt{
	font-size: 50px;
	letter-spacing: 2px;
	line-height: 3.5rem;
	padding-bottom: 2rem;
	position: relative;
}
#works div#for-Personal dl dt::after{
	content: "";
	display: inline-block;
	background: url("../img/top-subtitle2.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 200px;
	height: 200px;
	position: absolute;
	top: -60px;
	left: 340px;
}
#works div#for-Personal dl dt span{
	font-size: 20px;
	font-weight: normal;
}
#works div#for-Personal dl dd{
	display: inline-block;
	font-size: 22px;
	border-top: 1px solid #08287E;
	padding: 2rem 0 1rem;
}
#works div#for-Personal + div p.minilist{
	background: -webkit-linear-gradient(360deg,#000, #fff);
	background: -o-linear-gradient(360deg,#000, #fff);
	background: linear-gradient(90deg,#000, #fff);
	padding: 0.5rem 1rem;
	margin: 1.5rem 0 2rem 0;
	color: #fff;
}
#for-Personal + div{
	position: relative;
	padding-bottom: 3rem;
	display: flex;
	flex-direction: row;
}
#for-Personal + div::after{
	content: "";
	display: inline-block;
	background: url("../img/for-Personal-img.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 300px;
	height: 300px;
	position: absolute;
	bottom: 0;
	right: 0;
    z-index: -1;
}
#for-Personal + div .read-more{
	margin-left: 0;
}
#for-Personal + div img{
	width: 100%;
	padding: 3rem;
}

/*---------- All ----------*/
#works div#for-All{
	background: url("../img/for-All.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	height: 470px;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}
#works div#for-All dl{
	color: #fff;
}
#works div#for-All dl dt{
	font-size: 50px;
	letter-spacing: 2px;
	line-height: 3.5rem;
	padding-bottom: 2rem;
	position: relative;
}
#works div#for-All dl dt::after{
	content: "";
	display: inline-block;
	background: url("../img/top-subtitle3.svg");
	background-repeat: no-repeat;
	background-position: center;
    width: 150px;
    height: 150px;
    position: absolute;
    top: -25px;
    left: 340px;
}
#works div#for-All dl dt span{
	font-size: 20px;
	font-weight: normal;
}
#works div#for-All dl dd{
	display: inline-block;
	font-size: 22px;
	border-top: 1px solid #fff;
	padding: 2rem 12rem 1rem 0;
}
#works div#for-All + div p.minilist{
	background: -webkit-linear-gradient(360deg,#3E3A39, rgba(255, 255, 255, 0));
	background: -o-linear-gradient(360deg,#3E3A39, rgba(255, 255, 255, 0));
	background: linear-gradient(90deg,#3E3A39, rgba(255, 255, 255, 0));
	padding: 0.5rem 1rem;
	margin: 1.5rem 0 2rem 0;
	color: #fff;
}
#for-All + div{
	position: relative;
	padding-bottom: 3rem;
	background: url("../img/for-All-back.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	color: #fff;
}
#for-All + div::after{
	content: "";
	display: inline-block;
	background: url("../img/for-All-img.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 300px;
	height: 300px;
	position: absolute;
	bottom: 0;
	right: 0;
}
#for-All + div .read-more{
	margin-left: 0;
}
#for-All + div img{
	width: 100%;
	padding: 3rem;
}
#for-All + div .read-more{
	margin-left: 0;
	box-shadow: 7px 7px 5px rgba(0,20,80,0.3);
}
#for-All + div .read-more:hover{
	box-shadow: -1px -1px 5px rgba(0,20,80,0.3);
}

/*---------- products ----------*/
#products {
	background: url("../img/products-back.jpg");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    height: 500px;
    position: relative;
}
#products dl {
	color: #FFFFFF;
	padding-top: 6rem;
	padding-left: 0;
}
#products dl dt {
	font-size: 20px;
	font-size: 2rem;
	font-weight: normal;
	padding-bottom: 2rem;
	filter: drop-shadow(0px 0px 10px rgba(8,40,126,0.8));
}
#products dl dt img {
	padding-top: 1.5rem;
	width: 400px;
}
#products dl dd {
	text-align: justify;
	filter: drop-shadow(0px 0px 10px rgba(8,40,126,0.8));
}
#products dl::before {
	content: "";
	display: inline-block;
	background: url("../img/products-suiteki.png");
	background-repeat: no-repeat;
    background-size: contain;
    height: 90%;
    width: 90%;
    position: absolute;
    left: -29%;
    top: 0%;
    z-index: -1;
}
#products dl::after {
	content: "";
	display: inline-block;
	background: url("../img/products-photo.png");
	background-repeat: no-repeat;
    /* background-position: center; */
    background-size: contain;
    height: 85%;
    width: 85%;
    position: absolute;
    bottom: -72%;
    right: -77%;
    left: 80%;
}
#products .read-more {
	margin-left: 0;
}



/*---------- service ----------*/
#service{
	background: url("../img/service.png");
	background-repeat: no-repeat;
	background-position: top right;
	background-size: contain;
	height: 570px;
	position: relative;
}
#service::after{
	content: "";
	display: inline-block;
	background: url("../img/service.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 120px;
	height: 120px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#service div{
	padding: 6rem 0;
}
#service h3{
	color: #08287E;
	font-size: 40px;
	position: relative;
	padding-left: 8rem;
	margin-bottom: 5rem;
}
ruby {
    position: relative;
}
ruby::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 35%;
    margin: auto;
    font-size: 10px;
}
#service h3::before{
	content: "";
	display: inline-block;
	background: url("../img/Quick＆Easy.svg");
	background-repeat: no-repeat;
	background-position: center;
	width: 70px;
	height: 70px;
	position: absolute;
	left: 0;
}
#service .read-more{
	margin-left: 0;
}

/*---------- news ----------*/
#news-titleblock-left {
    border-left: 1px solid #b3b3b3;
    border-right: 1px solid #b3b3b3;
}
#news-titleblock-right {
    border-right: 1px solid #b3b3b3;
}
#news ul {
    max-height: 200px;
    overflow: scroll;
}
#news ul::-webkit-scrollbar {
 display:none;
}

#news ul li a {
    color: #000000;
    display: block;
    padding: 2rem;
}
#news ul li a:hover {
    background-color: #EFEFEF;
}
#news ul li a .news-date {
    padding: 0 2rem;
}
#news .read-more {
    margin: 5rem -1.5rem 0 0;
}

/*---------- Instagram ----------*/
#Instagram{
	margin-bottom: 6rem;
}
#Instagram h3 img{
	width: 245px;
	margin-top: 8rem;
	margin-bottom: 2rem;
}
#Instagram p{
	color: #C9A063;
}
#Instagram .read-more{
	background: #C9A063;
	color: #fff;
	border: 1px solid #fff;
}
#Instagram .read-more:hover{
	background: #fff;
	color: #C9A063;
	border: 1px solid #C9A063;
}
#Instagram i{
	padding-right: 1rem;
}
.col-15, .col-sm-15 {
	position: relative;
	min-height: 1px;
	padding: 5px;
	width: 100%;
}
@media (min-width: 768px) {
  .col-sm-15 {
    width: 20%;
    flex: 0 0 20%;
  }
}
@media (max-width: 575px) {
  .col-sm-15 {
	padding: 0;
  }
}

@media (max-width: 1199px) {
    #about-us div.tategaki p{
        line-height: 5rem;
        font-size: 40px;
    }
    #about-us div h3{
        font-size: 28px;
        text-align: left;
        padding: 2.5rem 2rem 0rem 3rem;
    }
    
    #about-us div p {
        font-size: 18px;
        text-align: left;
        padding: 2.5rem 3rem 0;
        margin-bottom: 0;
        line-height: 3.2rem;
    }
    
    
	/*---------- Sustainable ----------*/
	#works div#Sustainable .yobou-mark {
		width: 157px;
		top:5%;
	}
    #works div#Sustainable dl dt::after {
        left: 0;
        right: 0;
        top: 6px;
    }
    #works div#Sustainable dl dt span {
        display: block;
        padding-top: 8rem;
    }
	/*---------- Business ----------*/
    #works div#for-Business dl dt::after {
        left: 0;
        right: 0;
        top: -20px;
    }
    #works div#for-Business dl dt span {
        display: block;
        padding-top: 8rem;
    }
	/*---------- Personal ----------*/
    #works div#for-Personal dl dt::after {
        left: 0;
        right: 0;
        top: -20px;
    }
    #works div#for-Personal dl dt span {
        display: block;
        padding-top: 8rem;
    }
	/*---------- All ----------*/
    #works div#for-All dl dt::after {
        left: 0;
        right: 0;
        top: 5px;
    }
    #works div#for-All dl dt span {
        display: block;
        padding-top: 8rem;
    }
}
	/*---------- products ----------*/
	#products dl::before {
		left: -11%;
		top: 0%;
	}

@media (max-width: 991px) {
	header div.slider-item3{
		background-image: url("../img/top-slideimg-3_2024mini.jpg");
		background-size: cover;
		background-position: center right!important;
		}
	header div.slider-item4{
		background-image: url("../img/top-slideimg-4_2024mini.jpg");
		background-size: cover;
		background-position: center right!important;
	}

	
    #about-us div.tategaki p{
        line-height: 4rem;
        font-size: 25px;
    }
    #about-us div h3 {
    font-size: 21px;
    padding: 2rem 2rem 0rem;
}
    #about-us div p {
        font-size: 16px;
        padding: 1rem 2rem 0;
        line-height: 2.5rem;
        text-align: justify;
    }
    .read-more {
        margin: 2rem 5rem;
    }
	/*---------- Sustainable ----------*/
    #works div#Sustainable {
        background-position: top left -200px;
    }
	#works div#Sustainable .yobou-mark {
		left:75%;
	}

    #works div#Sustainable dl dt {
        font-size: 45px;
    }
    #Sustainable + div img {
        padding: 3rem 0;
    }
	#Sustainable + div::after {
		width: 250px;
		height: 250px;	
	}


	/*---------- Business ----------*/
    #works div#for-Business dl dt {
        font-size: 45px;
    }
    #for-Business + div img {
        padding: 3rem 0;
    }
	/*---------- Personal ----------*/
    #works div#for-Personal {
        background-position: top left -280px;
    }
    #works div#for-Personal dl dt {
        font-size: 45px;
    }
    #for-Personal + div img {
        padding: 3rem 0;
    }

	/*---------- All ----------*/
    #works div#for-All dl dt {
        font-size: 45px;
    }
    #for-All + div img {
        padding: 3rem 0;
    }
    
	/*---------- service ----------*/
	#service {
		background: url(../img/service.png);
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: contain;
		height: 800px;
        text-align: center;
	}
    #service h3{
        display: inline-block;
        font-size: 30px;
        padding-left: 6rem;
    }
    #service h3::before {
        width: 50px;
        height: 50px;
}
	#service div {
		padding: 5rem 0;
	}
	#service .read-more {
		margin: auto;
		display: block;
		margin-top: 5rem;
	}
    
	/*---------- news ----------*/
    #news ul li + li {
        border-top: 1px dotted #b3b3b3;
    } 
    #news-titleblock-right {
    border-left: 1px solid #b3b3b3;
    }
    #news .text-right {
        text-align: center!important;
    }
    #news .read-more {
    margin: 5rem 0 0 0;
    }

}
@media (max-width: 767px) {
    #about-us div.mincho {
        margin-top: 3rem;
    }
    #about-us div.mincho div.up-img {
        margin-top: 0;
    }
    #about-us div.tategaki p {
        line-height: 5rem;
        font-size: 30px;
        /*
    line-height: 4rem;
    font-size: 25px;
*/
    margin-top: 5rem;
    }
	
	
	
    #about-us div .firstp {
		margin-top: 8px;
	}
    #about-us .thaadphoto {
		margin-top: 25px;
	}
    #about-us div h3 {
        font-size: 19px;
/*        padding: 2rem 2rem 0rem;*/
        line-height: 2.5rem;
    }

	
	
	/*---------- Sustainable ----------*/
	#works div#Sustainable .yobou-mark {
    width: 180px;
    left: 66%;
	}
    #works div#Sustainable dl {
		padding: 2rem 0;
		text-align: right;
		padding-right: 3rem;
	}
	#works div#Sustainable dl dt {
		line-height: 5rem;
	}
	#works div#Sustainable dl dt::after {
		width: 140px;
		height: 140px;
		top: 23px;
        left:auto;
        right: 0;
	}
	#Sustainable + div img {
        margin-top: -30px;
	}
	#works #Sustainable2 .container .row div p.text-box {
		margin-top: 0;
	}
	#Sustainable + div::after {
		width: 300px;
		height: 300px;	
	}
	/*---------- Business ----------*/
    #works div#for-Business dl {
		padding: 2rem 0;
		text-align: right;
		padding-right: 3rem;
	}
	#works div#for-Business dl dt {
		line-height: 5rem;
	}
	#works div#for-Business dl dt::after {
		width: 180px;
		height: 180px;
		top: 0;
        left:auto;
        right: 0;
	}
	#for-Business + div img {
        margin-top: -30px;
	}

	/*---------- Personal ----------*/
    #works div#for-Personal dl {
		padding: 2rem 0;
		text-align: right;
		padding-right: 3rem;
	}
	#works div#for-Personal dl dt {
		line-height: 5rem;
	}
	#works div#for-Personal dl dt::after {
		width: 180px;
		height: 180px;
		top: 0;
        left:auto;
        right: 0;
	}
	#for-Personal + div img {
        margin-top: -30px;
	}

	/*---------- All ----------*/
    #works div#for-All dl {
		padding: 2rem 0;
		text-align: right;
		padding-right: 3rem;
	}
	#works div#for-All dl dt {
		line-height: 5rem;
	}
	#works div#for-All dl dt::after {
		width: 150px;
		height: 150px;
		top: 15px;
        left:auto;
        right: 0;
	}
	#for-All + div img {
        margin-top: -30px;
	}

	/*---------- products ----------*/
	#products {
		background: url("../img/products-back-s.jpg");
		background-repeat: no-repeat;
		background-position: top center;
		background-size: cover;
		height: 700px;
		text-align: center;
	}
	#products dl {
		padding-top: 4rem;
		padding-right: 0;
	}
	#products dl::before {
		left: -7%;
		top: 0%;
	}
	#products dl::after {
		height: 100%;
		width: 380px;
		bottom: -88%;
		left: 50%;
		transform: translateX(-50%);
/*
		height: 60%;
		width: 60%;
		bottom: -57%;
		left: 25%;
*/
	}
	#products .read-more {
		margin-top: 17rem;
		margin-right: 0;
	}
	
	
	/*---------- service ----------*/
	#service {
		height: 600px;
	}
	#service h3 + p{
		font-size: 14px;
		line-height: 2.5rem;
	}
	ruby::before {
        content: attr(data-ruby);
        position: absolute;
        top: -1em;
        left: 30%;
        margin: auto;
        font-size: 10px;
	}
}
@media (max-width: 575px) {
/*---------- header ----------*/
    header{
	    margin-top: 7.5rem;
    }
	header div.topslide div {
		height: 600px;
	}
	header div.topslide::before {
		width: 600px;
		height: 600px;
		left: -340px;
	}
	header div.topslide::after{
		width: 600px;
		height: 600px;
		right: -340px;
	}
	header div.topslide-logo img {
		width: 150px;
	}
	header div.topslide-logo p img {
		width: 15px;
	}
	header div.topslide-logo {
    	top: 250px;
	}
	header div.topslide-logo p {
		margin-top: 5rem;
		font-size: 10px;
		line-height: 2rem;
	}
	header div.topslide-logo p span {
		top: 280px;
		left: 50%;
		width: 20px;
		height: 20px;
		margin-left: -11px;
	}
	.slick-dotted.slick-slider {
        margin-bottom: 0px!important;
	}
    header ul.slick-dots {
        display: none!important;
    }
	header div.slider-item1{
		background-image: url("../img/top-slideimg-mini-1.jpg");
		background-size: cover;
		background-position: bottom right -130px!important;
	}
    header div.slider-item3{
		background-image: url("../img/top-slideimg-3_2024mini.jpg");
		background-size: cover;
		background-position: center right!important;
		}
	header div.slider-item4{
		background-image: url("../img/top-slideimg-4_2024mini.jpg");
		background-size: cover;
/*		background-position: center right -20px!important;*/
	}
/*---------- about-us ----------*/
	#about-us div.mincho {
		margin-top: 2rem;
	}
	#about-us div.tategaki p {
		line-height: 4rem;
		letter-spacing: 0px;
		font-size: 25px;
	}
	#about-us div.mincho div.up-img {
		margin-top: 0rem;
	}
	#about-us div.col-md-4 p, #about-us div.col-6 p {
		font-size: 14px;
		line-height: 2.5rem;
/*		padding: 2rem;*/
		margin: 0;
		letter-spacing: -1px;
		text-align: justify;
        padding: 1rem 2rem 3rem 2rem;
	}    
    #about-us div h3 {
        font-size: 18px;
        line-height: 25px;
        text-align: left;
        padding: 2rem 2rem 0;
    }
    
    #about-us div.tategaki {
        display: flex;
        align-items: center;
    }
    #about-us div.tategaki p {
        line-height: 4.5rem;
        letter-spacing: 0px;
        font-size: 29px;
        margin: auto;
    }
	
	/*---------- Sustainable ----------*/
	#Sustainable + div .order-1 {
		order: 1!important;
	}
	#Sustainable + div .order-2 {
		order: 2!important;
	}
	#works div#Sustainable{
		background: url("../img/sustainable-mini.jpg");
		background-repeat: no-repeat;
		background-position: top left;
		background-size: cover;
		height: 280px;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content:flex-end;
	}
	#works div#Sustainable .yobou-mark {
		width: 113px;
/*		left: 76%;*/
		right: 3%;
		left: auto;
	}
	#works div#Sustainable dl {
		padding: 13rem 0;
		padding-right: 3rem;
	}
	#works div#Sustainable dl dt::after {
		width: 130px;
		height: 130px;
		top: 13px;
	}

	#works div#Sustainable + div p.mt-4 {
		color: #08287E;
		font-size: 15px;
	}
	#works div#Sustainable + div p.minilist {
		margin: 1.5rem 0;
		font-size: 12px;
	}
	#works div#Sustainable + div p.minilist + p {
		font-size: 14px;
	}
	#Sustainable + div .read-more {
		margin-top: 2rem;
	}
	#Sustainable + div img {
		width: 80%;
		padding: 0 1.5rem 1.5rem;
        margin-top: 0px;
	}
	#Sustainable + div {
		padding-bottom: 1rem;
	}
	#Sustainable + div::after {
		width: 130px;
		height: 130px;
	}
	#works div#Sustainable dl dt span {
		font-size: 15px;
	}
	#works div#Sustainable dl dt span {
		display: block;
		font-size: 15px;
		padding-top: 4.5rem;
	}
	
	#works #Sustainable2 .container .row div p.text-box {
		font-size: 14px;
	}

	
	/*---------- Business ----------*/
	#works div#for-Business dl {
		padding: 2rem 0;
		text-align: right;
		padding-right: 3rem;
	}
	#works div#for-Business dl dt {
		font-size: 45px;
		letter-spacing: 3px;
		line-height: 5rem;
		padding-bottom: 0rem;
		position: relative;
	}
	#works div#for-Business dl dt::after {
		content: "";
		display: inline-block;
		background: url(../img/top-subtitle1.svg);
		background-repeat: no-repeat;
		background-position: center;
		width: 150px;
		height: 150px;
		position: absolute;
		top: 55px;
        right: 8px;
	}	
	#works div#for-Business{
		background: url("../img/for-Business-mini.jpg");
		background-repeat: no-repeat;
		background-position: top center;
		background-size: cover;
		height: 280px;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content:flex-end;
	}
	#works div#for-Business + div p.mt-4 {
		font-size: 15px;
	}
	#works div#for-Business + div p.minilist {
		margin: 1.5rem 0;
		font-size: 12px;
	}
	#works div#for-Business + div p.minilist + p {
		font-size: 14px;
	}
	#for-Business + div .read-more {
		margin-top: 2rem;
	}
	#for-Business + div img {
		width: 80%;
		padding: 0 1.5rem 1.5rem;
        margin-top: 0px;
	}
	#for-Business + div {
		padding-bottom: 1rem;
	}
	#for-Business + div::after {
		width: 130px;
		height: 130px;
	}
	#works div#for-Business dl dt span {
		font-size: 15px;
	}
	#works div#for-Business dl dt span {
		display: block;
		font-size: 15px;
		padding-top: 4.5rem;
	}
	/*---------- Personal ----------*/
	#for-Personal + div .order-1 {
		order: 1!important;
	}
	#for-Personal + div .order-2 {
		order: 2!important;
	}
	#works div#for-Personal{
/*		background: url("../img/");*/
		background-repeat: no-repeat;
		background-position: top left -162px;
		background-size: cover;
		height: 280px;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content:flex-end;
	}
    #works div#for-Personal dl dt::after {
		width: 150px;
		height: 150px;
		top: 50px;
	}

	#works div#for-Personal + div p.mt-4 {
		color: #08287E;
		font-size: 15px;
	}
	#works div#for-Personal + div p.minilist {
		margin: 1.5rem 0;
		font-size: 12px;
	}
	#works div#for-Personal + div p.minilist + p {
		font-size: 14px;
	}
	#for-Personal + div .read-more {
		margin-top: 2rem;
	}
	#for-Personal + div img {
		width: 80%;
		padding: 0 1.5rem 1.5rem;
        margin-top: 0px;
	}
	#for-Personal + div {
		padding-bottom: 1rem;
	}
	#for-Personal + div::after {
		width: 130px;
		height: 130px;
	}
	#works div#for-Personal dl dt span {
		font-size: 15px;
	}
	#works div#for-Personal dl dt span {
		display: block;
		font-size: 15px;
		padding-top: 4.5rem;
	}
	/*---------- All ----------*/
	#works div#for-All dl {
		padding: 2rem 0;
		text-align: right;
		padding-right: 3rem;
	}
	#works div#for-All dl dt {
		font-size: 45px;
		letter-spacing: 3px;
		line-height: 5rem;
		padding-bottom: 0rem;
		position: relative;
	}
	#works div#for-All dl dt::after {
		content: "";
		display: inline-block;
		background: url("../img/top-subtitle3.svg");
		background-repeat: no-repeat;
		background-position: center;
		width: 120px;
		height: 120px;
		position: absolute;
		top: 68px;
        right: 8px;
	}
	
	#works div#for-All{
		background: url("../img/for-All-mini.jpg");
		background-repeat: no-repeat;
		background-position: top left;
		background-size: cover;
		height: 280px;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content:flex-end;
	}
	#works div#for-All + div p.mt-4 {
		font-size: 15px;
	}
	#works div#for-All + div p.minilist {
		margin: 1.5rem 0;
		font-size: 12px;
	}
	#works div#for-All + div p.minilist + p {
		font-size: 14px;
	}
	#for-All + div .read-more {
		margin-top: 2rem;
	}
	#for-All + div img {
		width: 80%;
		padding: 0 1.5rem 1.5rem;
        margin-top: 0px;
	}
	#for-All + div {
		padding-bottom: 1rem;
	}
	#for-All + div::after {
		width: 130px;
		height: 130px;
	}
	#works div#for-All dl dt span {
		font-size: 15px;
	}
	#works div#for-All dl dt span {
		display: block;
		font-size: 15px;
		padding-top: 4.5rem;
	}

	/*---------- products ----------*/
	#products {
		height: 650px;
	}
	#products dl {
		padding-right: 0;
	}
	#products dl dt {
		font-size: 15px;
		font-size: 1.5rem;
		line-height: 2.5rem;
		padding-bottom: 1rem;
	}
	#products dl dt img {
		padding-top: 0.7rem;
		width: 280px;
	}
	#products dl dd {
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 2.5rem;
	}
	#products dl::after {
		height: 400px;
		width: 100%;
		left: 50%;
		bottom: -210%;
		right: 0%; 
		transform: translateX(-50%);
	}
	#products .read-more {
		position: absolute;
		bottom: 5%;
		left: 11%;
	}
	
	
	
	/*---------- service ----------*/
	#service {
		height: 550px;
        padding-top: 5rem;
	}
    #service h3{
        font-size: 25px;
        padding-left: 0;
    }
    #service h3::before {
        top: -7rem;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
	#service h3 + p{
        text-align: justify;
        padding: 0 2rem;
	}
    #service .read-more {
        margin-top: 2rem;
    }
	/*---------- news ----------*/
    #news-titleblock-left {
    border-left: none;
    border-right: none;
    }
    #news-titleblock-right {
    border-right: 1px none;
    border-left: 1px none;
    }
    #news ul {
    max-height: 300px;
    }
	/*---------- Instagram ----------*/
    #Instagram h3 img {
        width: 200px;
    }
}

@media (max-width: 482px) {
	/*---------- products ----------*/
	#products dl::after {
		height: 463px;
		width: 100%;
		left: 50%;
		bottom: -210%;
		right: 0%;
		transform: translateX(-50%);
	}
}

@media (max-width: 400px) {
    #about-us div .firstp {
        width: 200px;
/*        margin-top: 82px!important;*/
    }
    #about-us div.thirdp {
        margin-top: -65px;
    }
	
	/*---------- products ----------*/
	#products dl {
		padding-top: 3rem;
	}
	

	/*---------- Sustainable ----------*/
	#works div#Sustainable .yobou-mark {
		width: 107px;
/*		left: 65%;*/
	}
	#works div#Sustainable dl {
		padding: 13rem 0;
		padding-right: 3rem;
	}
	#works div#Sustainable dl dt::after {
		width: 120px;
		height: 120px;
		top: 18px;
	}
}
