@charset "UTF-8";

.flex{
	display: flex;
}
.f-rev{
	flex-direction: row-reverse;
}
.center{
	text-align: center;
}
@media only screen and (min-width: 783px) {
	/* body{
		overflow: hidden;
	} */
	.pc-flex{
		display: flex;
	}
	.sp{ display: none; }
}

.semicon main {
	background: #fff url(../img/news/bg_news.png) repeat;
	padding: 40px 0 0;
	margin-top: 500px;
}

.semicon #mainimg {
  /* position: relative; 元のコードでfixed*/ 
  width: 100%;
  height: 420px;
  aspect-ratio: 68 / 21;
  overflow: hidden;
}

#mainimg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}

#mainimg img.is-active {
  opacity: 1;
  z-index: 1;
}

@media only screen and (max-width: 782px) {
	.pc{ display: none; }

	.semicon main {
		background-size: 3px 3px;
		padding: 30px 0 50px;
		margin-top: 225px;
	}

	.semicon #mainimg {
		background-image: url(../img/semicon/main_img_sp.jpg);
		height: 180px;
	}
}

#semicon {
    /* background-color: #00c4e8; */
    position: relative;
    overflow: hidden;
    padding: 80px 0 100px;
}

#semicon .desc {
    background: url("../img/top/bg_semicon.jpg") no-repeat center 0px / 1360px auto;
    /* padding: 135px 0; */
    transition: all 8s ease;
}
h2 .en {
    /* font-family: 'Ropa Sans', sans-serif; */
    font-size: 77px;
    font-weight: 300;
    color: #11b0e4;
    /* font-style: italic; */
    display: block;
    line-height: 1;
    letter-spacing: 1px;
	position: relative;
}
h2 .en::before {
	background: url(../img/semicon/bg_h2.png) no-repeat center top / 480px 117px;
    z-index: 2;
    position: absolute;
    content: "";
    width: 480px;
    height: 117px;
	left: -2rem;
    top: -6rem;
}

h2 .jp {
    display: block;
	font-size: 19px;
    font-weight: 600;
    line-height: 1;
    margin: 10px 0 50px 0;
    letter-spacing: 2px;
}
h3{
	font-size: 22px;
    font-weight: 600;
    margin: 51px 0 20px;
    letter-spacing: 2px;
    line-height: 2;
}
.exp .img{
	background: url(../img/semicon/img1@2x.jpg) no-repeat right top / contain;
    width: 70%;
    margin-top: 8rem;
    margin-right: -8rem;
}
.exp .img:before{
	content: "";
    background: url(../img/semicon/point@2x.png) no-repeat right top / contain;
    width: 30%;
    height: 113px;
    position: absolute;
    top: 70px;
}
.exp .txt {
    width: 42%;
}

.exp .txt p {
    margin-right: 4rem;
    letter-spacing: 0.3px;
    line-height: 1.8;
}
.exp .txt p a {
    text-decoration: underline;
    text-underline-offset: 3px;
    line-height: 2;
}
@media only screen and (max-width: 782px) {
	h2{
		width: 86%;
	    margin: 0 auto;
	}
	h2 .en{
		font-size: 43px;
	}
	h2 .en::before{
		background-image: url(../img/semicon/bg_h2_sp.png);
		width: 296px;
		height: 68px;
		background-size: 296px 68px;
		left: -5%;
		top: -4.5rem;
	}
	h2 .jp {
		margin: 6px 0 30px;
        font-size: 11px;
        letter-spacing: 0.1em;
	}
	h3{
		margin: 25px 0 10px;
		font-size: 14px;
		letter-spacing: 0.1em;
		text-align: center;
	}
	.exp .txt {
		width: 100%;
	}
	.exp .txt p{
		margin: 1rem auto;
		width: 86%;
	}
	.exp .img{
		background: url(../img/semicon/img1_sp.jpg) no-repeat right top / contain;
		width: 100%;
		margin-top: 0;
		margin-right: 0;
		aspect-ratio: 65 / 43;
		position: relative;
	}
	.exp .img:before{
		content: "";
		background: url(../img/semicon/point_sp.png) no-repeat right top / contain;
		width: 65%;
        height: 61px;
        position: absolute;
        top: 70px;
        top: -20px;
        right: -10px;
	}

}


h3.under {
    text-align: center;
    margin-top: 18px;
    position: relative;
    margin-bottom: 75px;
}
h3.under:after {
    border-top: #00c0ff 7px solid;
    content: "";
    width: 100px;
    height: 7px;
    position: absolute;
    top: 140%;
    left: calc(50% - 50px);
}
@media only screen and (max-width: 782px) {
	h3.under{
		margin-top: 50px;
		margin-bottom: 48px;
	}
	h3.under:after {
		border-width: 3px;
		width: 80px;
		left: calc(50% - 40px);
		top: 130%;
	}
}
.techs .pc-flex{
	gap: 4rem;
	margin-bottom: 4rem;
}
.techs .pc-flex .txt h5, .techs .pc-flex .txt p {
    width: 83%;
    margin: 0 auto;
}
.techs .pc-flex .txt h5, .quality h5 {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 2;
    margin: 9px auto 19px;
	color: #00a7ec;
}
.techs .pc-flex .txt p {
    line-height: 1.8;
}

.techs .flex-4{
	gap: 3rem;
}
.techs .flex-4 .txt h5,.techs .flex-4 .txt p{
	width: 96%;
}
.techs .flex-4 .txt h5{
	font-size: 17px;
    text-align: center;
}
.quality {
    background: #FFF;
    padding: 30px 80px 50px;
    margin: 95px 0 80px;
    border: 2px solid #00a7ec;
    border-radius: 5px;
}
.quality h5 {
	margin-bottom: 5px;
    font-size: 22px;
}
.quality .pc-flex{ 
	gap: 2rem;
	margin-bottom: 0;
}
.quality ul {
    width: 50%;
}
.quality li {
    font-size: 19px;
    line-height: 2.6;
    letter-spacing: 0.1em;
}
.quality li:before {
    content: "●";
    margin-right: 10px;
    color: #00c0ff;
}
.flex-3 {
    flex-wrap: wrap;
    gap: 2.3rem 3.3%;
}
.flex-3 .product, .flex-3 .equipment {
    width: 31%;
}
.flex-3 .product p{
	margin-top: 1.8rem;
}
@media only screen and (min-width: 783px) {
	.techs .pc-flex .img {
    	width: 52%;
	}
	.techs > .pc-flex > .txt {
		width: calc(48% - 3rem);
		padding: 30px 0;
	}

}
@media only screen and (max-width: 782px) {
	.techs .pc-flex{
		margin-bottom: 2.5rem;
	}
	.techs .txt {
		margin: -1rem auto 0;
		width: 91%;
	}
	.techs .tech4 .txt,
	.techs .tech5 .txt,
	.techs .tech6 .txt,
	.techs .tech7 .txt{
		margin: 0 auto 2.5rem;
	}
	.techs .pc-flex .txt h5, .quality h5{
		font-size: 14px;
		letter-spacing: 0.05em;
		text-align: center;
	}
	.techs .pc-flex .txt h5, .techs .pc-flex .txt p{
		width: 100%;
		margin-bottom: 10px;
	}
	.quality {
		margin-top: 50px;
		padding: 20px 40px;
		border-width: 1px;
	}
	.quality .pc-flex{
		margin-bottom: 1rem;
	}
	.quality h5 {
		text-align: left;
	}
	.quality ul{
		width: 100%;
	}
	.quality li{
		font-size: 12px;
	}
	.quality li:before {
		margin-right: 4px;
	}
	.flex-3 .product{
		width: 46%;
	}
	.flex-3 .product p{
		margin-top: 0.5rem;
	}
}



.bg{
	background: url(../img/semicon/img2@2x.jpg) no-repeat center 50% / cover;
	width: 100%;
    height: 450px;
    margin: 180px 0 0;
}
.bg-wh{
	background: #fff;
	padding-top: 100px;
}
.clean{
	padding-bottom: 9rem;
}
.clean h3 {
    margin-bottom: 95px;
}
.swiper{
	position: relative;
	overflow: hidden;
}
.swiper-slide{
	margin-bottom: 18px;
}
.swiper-slide img{
	margin: auto;
	display: block;
}
/* .swiper-wrap {
    width: 86%;
    margin: auto;
} */
.swiper-text {
    margin: 1.8rem auto 2.5rem;
	max-width: 960px;
}
.swiper-text h5 {
    font-size: 20px;
    font-weight: 600;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 10px;
}
.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
}
.swiper-button-prev, .swiper-button-next{
	top: calc(50% - 83px);
    width: 35px;
    height: 35px;
    transform: rotate(45deg);
    background-image: none;
}
.swiper-button-next{
	border-top: 1px solid;
    border-right: 1px solid;
	right: 22px;
}
.swiper-button-prev{
	border-bottom: 1px solid;
    border-left: 1px solid;
	left: 22px;
}
@media only screen and (max-width: 782px) {
	.bg{
		background: url(../img/semicon/img2_sp.jpg) no-repeat center 50% / cover;
		width: 100%;
		height: 188px;
		margin: 47px 0 0;
	}
	.bg-wh{
		padding-top: 1px;
	}
	.clean{
		padding-bottom: 6rem;
	}

	.clean h3 {
		margin-bottom: 46px;
	}
	.swiper-slide img{
		width: 85%;
	}
	.swiper-button-prev, .swiper-button-next{
		top: calc(50% - 80px);
		width: 16px;
		height: 16px;
	}
	.swiper-button-next{
		right: 5px;
	}
	.swiper-button-prev{
		left: 5px;
	}
	.swiper-text{
		margin: 1.5rem auto;
		width: 85%;
	}
	.swiper-text h5{
		font-size: 15px;
	}
	.swiper-text p {
		font-size: 11px;
	}

}

.features {
    width: 86%;
    margin: 3rem auto 4.5rem;
}
.features h3 {
    color: #00a7ec;
    background: #ffff00;
    border-bottom: 1px solid #00a7ec;
    padding: 0 1.5rem;
    font-size: 23px;
    margin-bottom: 0;
	margin-top: 3rem;
}
.features li {
	list-style: decimal;
    /* padding-left: 1.5rem; */
    border-bottom: 1px solid #00a7ec;
    list-style-position: inside;
    padding: 1.4rem 1rem;
	letter-spacing: 0.05em;
}
.features li::marker {
    font-family: "Teko", sans-serif;
    font-size: 2.4rem;
    padding-right: 1rem;
    color: #00a7ec;
    padding-left: 1rem;
}
.features li h5 {
    display: inline-block;
    margin-left: 0.7rem;
    margin-bottom: 0.4rem;
    font-size: 1.2rem;
    font-weight: 600;
}
.features li p {
    margin-left: 2.4rem;
    line-height: 1.9;
}
.equipments{
	width: 86%;
    margin: 0 auto;
}
.equipments h5{
    font-size: 1.2rem;
    font-weight: 600;
	color: #00a7ec;
	margin-bottom: 2rem;
}
.case h3.under {
    margin-top: 110px;
}
.case {
    width: 86%;
    margin: 0 auto;
}
.case .flex {
    gap: 4.5%;
    margin-top: 2.5rem;
}
.case .txt {
    margin: 2rem 0;
}
.case .txt h5 {
    color: #00a7ec;
    font-weight: 600;
}
.case .txt p {
	margin-top: 0.2rem;
}
.qualification {
    width: 72%;
    margin: 0 auto;
	padding-bottom: 10rem;
}
.qualification h3.under {
    margin-top: 5.8rem;
}
.qualification ul {
    border-top: 1px solid #7d7d7d;
}
.qualification li > span {
    margin-left: auto;
	font-weight: 500;
	font-size: 0.9rem;
}
.qualification li {
    display: flex;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #7d7d7d;
	font-weight: 600
}
.qualification li .large {
    font-size: 1.4rem;
	font-weight: 600;
}
@media only screen and (max-width: 782px) {
	.features {
		width: 95%;
		margin-bottom: 3rem;
	}
	.features h3{
		font-size: 14px;
		text-align: left;
		padding: 3px 1rem;
		letter-spacing: 0.15em;
	}
	.features li{
		padding: 1.2rem 1rem 1.2rem 0;
	}
	.features li:not(:has(p)) {
		padding: 1rem 1rem 0.4rem 0;
	}
	.features li::marker{
		font-size: 1.4rem;
	}
	.features li h5{
		margin-left: 0.4rem;
		font-weight: 600;
		font-size: 12px;
		width: 88%;
		vertical-align: top;
	}
	.features li p{
		font-size: 12px;
		margin-left: 1.5rem;
		margin-top: 2px;
	}
	.equipments{
		width: 94%;
	}
	.equipments h5{
		margin-bottom: 1.2rem;
		font-size: 0.9rem;
	}
	.equipments .flex-3 {
		gap: 1rem 3.3%;
	}
	.equipment p {
		font-size: 11px;
		margin: 4px 0 0;
	}

	.case{
		width: 95%;
	}
	.case h3.under{
		margin-top: 54px;
		margin-bottom: 31px;
	}
	.case .flex{
		margin-top: 1.5rem;
	}
	.case .txt{
		margin: 1rem 0;
	}

	.qualification{ 
		width: 95%; 
		padding-bottom: 1.4rem;
	}
	.qualification h3.under {
		margin-top: 3.6rem;
		margin-bottom: 2.5rem;
	}
	.qualification li{
		padding: 0.6rem 0.4rem;
	}
	.qualification li span{
		font-size: 0.7rem;
	}
	.qualification li .large{
		font-size: 1rem;
	}

}



/* .strong p {
    margin:1.5em 0 0 0;
    letter-spacing: 1px;
    line-height: 170%;
} */
@media only screen and (max-width: 782px) {
    /* #semicon {
        padding: 5% 0 30px;
        background-color: #fff;
    }
    #semicon::before {
        background-image: url(../img/top/bg_semicon_sp.jpg);
        background-size: cover;
        background-position: center bottom;
        height: 100%;
    }
    h2 .en {
        font-size: 55px;
    }
    h2 .jp {
        display: block;
        font-size: 14px;
        font-weight: bold;
        margin-top: 1em;
        margin: 20px 0;
    }
    .strong h2 {
        padding-top: 65%;
    }
    .strong {
        background: url(../img/top/semicon_img@2x.jpg) no-repeat left top / 100% auto;
        min-height: inherit;
        text-align: center;
        margin-left: 0px;
        width: auto;
    }
    .strong p {
        margin: 1em 0 0 0;
    } */

}