@charset "UTF-8";

.cover {
  display: table;
  width: 100vw;
  height: 100vh;
}

.cover-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size:cover;
}
.cover-bg {
	background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)),url("../img/index/cover.png");
}

.cover-text-box {
  display: table-cell;
  vertical-align:middle;
  text-align:center;
}
.string {
	text-align: center;
	color: #000;
}

@media screen and (min-width: 980px){
.cover-img {
  background-position: center top;
	}
}
@media screen and (max-width: 768px){
.cover-bg {
	background:url("../img/index/cover-sp768.png");
}
}
@media screen and (max-width: 480px){
.cover-bg {
	background:url("../img/index/cover-sp.png");
}
.cover-img {
  background-position: center top;
  background-size: auto 680px;
}
}

.slide-in {
  animation: slideIn 0.6s ease-out;
}

@keyframes slideIn {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}


/*---*/

p.catch {
margin: 0 0 0 0;
padding: 0 0 4rem 0;
line-height: 1.5;
font-weight: bold;
    text-shadow: 0 0 10px #fff,
    0 0 20px #fff,
    0 0 30px #fff,
    0 0 40px #fff,
    0 0 50px #fff,
    0 0 60px #fff,
    0 0 70px #fff;
color: #1e90ff;
	font-size:8.4rem;
letter-spacing: 0.01em;

}

p.catch span {
opacity:0;
filter: blur(8px);
animation:text_anime_on 0.15s ease-out forwards;
animation-name: blur;
animation-duration: 1.5s;
}

@keyframes blur {
0% {
opacity: 0;
filter: blur(10px);
}
100% {
opacity: 1;
filter: blur(0);
}
}

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:3.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeUpTrigger{
    opacity: 0;
}

@media screen and (max-width: 1280px) {
	p.catch {
	font-size:8.4rem;
	}
}
@media screen and (max-width: 980px) {
	p.catch {
	font-size:6.4rem;
	}
}
@media screen and (max-width: 768px) {
	p.catch {
	font-size:4.4rem;
	}
}
@media screen and (max-width: 640px) {
	p.catch {
	font-size:3.4rem;
	}
}
@media screen and (max-width: 480px) {
	p.catch {
	font-size:3.4rem;
	}
}

/*---*/

section.sticky {
  width: 100%;
  height: 100vh;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.sticky:nth-child(2) {
	background:url("../img/index/cover2.png");
}
section.sticky:nth-child(3) {
  background-image: linear-gradient( 135deg, #FFF720 10%, #3CD500 100%);
}
section.sticky:nth-child(4) {
background:#fff;
}
section.sticky:nth-child(5) {
background-image: linear-gradient( 135deg, #FCCF31 10%, #F55555 100%);
}
section.sticky:nth-child(6) {
background-image: linear-gradient( 35deg, #C9EAFF 1%, #fff 100%);
}
@media screen and (max-width: 768px) {
section.sticky:nth-child(2) {
	background:url("../img/index/cover2-sp768.png");
}
}
@media screen and (max-width: 480px) {
section.sticky:nth-child(2) {
	background:url("../img/index/cover2-sp.png");
}
}

	  
section.sticky {
  position: sticky;
  top: 0;
}	  
		  
		  
#lineup-container .waku {
	background: #fff;
	border-radius: 20px;
	border: none;
}		  

/* インデックスの会社概要
------------------------------------------*/

.aboutus-index-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.aboutus-index-block:first-of-type {
    background-color: white;
    border-radius: 10px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    margin-bottom: 20px;
    width: calc(66.6% - 20px); 
}
.aboutus-index-block {
    background-color: white;
    border-radius: 10px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    margin-bottom: 20px;
    width: calc(33.3% - 20px); 
}


@media screen and (max-width: 980px) {
.aboutus-index-container {
        flex-direction: column;
    }
.aboutus-index-block:first-of-type {
        width: calc(100% - 10px);
        margin-right: 5px;
        margin-left: 5px;
        text-align: center;
        padding: 1rem; 
    }
.aboutus-index-block:last-of-type {
        width: calc(66.6% - 10px);
        margin-right: 5px;
        margin-left: 5px;
        text-align: center;
        padding: 1rem; 
    }
	.aboutus-index-container ul.list li {
		text-align: left;
	}
}
@media (max-width:480px) {
.aboutus-index-container {
	margin: 0 10px;
    }
.aboutus-index-block:last-of-type {
        width: calc(100% - 10px);
        margin-right: 5px;
        margin-left: 5px;
        text-align: center;
        padding: 1rem; 
    }
}
.aboutus-index-block img {
    width: 100%;
    border-radius:10px 10px 0 0;
}

.aboutus-index-block h4 {
    text-align: center;
    margin:0;
}

.aboutus-index-block p {
    text-align: left;
	margin: 0 10px 20px 10px;

}
p.address {
	text-align: center;
	font-size: 1.4rem;
	color: #666;
}
.aboutus-index-container .button-container {
	width: 90%;	
}


@media screen and (max-width: 768px) {
.aboutus-index-block h4, .aboutus-index-block p {
        margin-top: 0rem; /* Reduced space on mobile */
        margin-bottom: 1rem; /* Reduced space on mobile */
    }
}

.image-trimming {
  display: inline-block;
  overflow: hidden; 
  border-radius: 80% 20% 71% 29% / 24% 51% 49% 76% ;  
}
.image-trimming img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-small-box {
	width: 80%;
	margin:40px auto;
}

/* 共通
------------------------------------------*/
.sub-title {
	font-size: 2.0rem;
	color: #666;

}
h1.main-title {
	line-height: 120%;
}



/* 加工の種類
------------------------------------------*/

.linenup img.circle-image {
  border-radius: 50%;
  width: 320px;
  height: auto;
  object-fit: cover;
}
.linenup .cloumn-three {
	text-align: center;
}
.linenup .cloumn-three  p {
	font-size: 2.4rem;
	color: #333;
	font-weight: bold;	
}




@media screen and (max-width: 980px) {
.cloumn-three  {
	width:32%;
	margin:5px;
	padding:5px 10px;

}

}
@media screen and (max-width: 768px){
.cloumn-container {
	clear: both;
	position: relative;
	width: 100%;
	overflow: hidden;
}
.cloumn-three {
	width:48%;
	margin:5px;
	padding:5px 10px;

}
.cloumn-title {
	float:none;
	width: 100%;
}
.cloumn-title h2 {
	text-align: center;

	}
.cloumn-body {
	float:none;
	width: 100%;
	text-align: center;
}
.cloumn-btn {
	float:none;
	width: 70%;
	margin: 4.0rem auto;
}

}


@media screen and (max-width: 640px) {
.cloumn-title h2 {
	font-size: 6.0rem;
}
.cloumn-three {
	float:left;
}

}
@media screen and (max-width: 480px) {
.cloumn-title h2 {
	font-size: 4.8rem;
}
.cloumn-three {
	float: none;
	width:100%;
	margin:2px;
	padding:2px;
}

}


#lineup-detail h3 {
	text-align: center;
	font-size: 3.0rem;
color: rgba( 4,61,120, 1.0);
}
.linenup-item {
	margin: 50px 0;
	padding: 50px 0;
	border-bottom: 1px solid #fff;
	overflow: hidden;
}
.linenup-item:last-child {
	border-bottom:none;
}

/* 加工までのながれ
------------------------------------------*/
.flow-box-index {
	width: 50%;
	margin: 0 auto;
}
ul.flow-index {
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.flow-index > li:not(:last-child) {
  margin-bottom: 40px;
}


ul.flow-index li {
  text-align: center;
  border: 1px solid #F88400;
  color: #F88400;
white-space: nowrap;
  background:#fff;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 40px;
  position: relative;
  z-index: 100;
}

ul.flow-index > li::before,
ul.flow-index > li::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}


ul.flow-index li:not(:last-child):after{
  border-width: 20px;
  border-top-color:#F88400;
}

@media screen and (max-width: 980px) {
.flow-box-index {
	width: 70%;
	margin: 0 auto;
}

}
@media screen and (max-width: 480px) {
.flow-box-index {
	width: 100%;
	margin: 0;
}
ul.flow-index > li {
  display:block;
}

}













/*----------*/
ul.flow {
margin: 20px 0;
  padding: 0;
}
ul.flow li {
  list-style-type: none;
	background: #fff;
  border-radius: 20px;
}
ul.flow dd {
  margin-left: 0;
}

.flow > li {
  position: relative;
}
.flow > li:not(:last-child) {
  margin-bottom: 40px;
}
.flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 30px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
}
.flow > li dl {
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgba(247, 93, 139, 1);
  border-radius: 20px;
  position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: rgba(247, 93, 139, 1);
}
.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.flow > li dl dt {
  font-size: 1.6rem;
  font-weight: 600;
  color: rgb(107,144,219);
  -ms-flex-preferred-size: 20%;
  flex-basis: 40%;
  margin-right: 2vw;
  text-align: center;
}
.flow > li dl dt .icon {
  font-size: 2.0rem;
  color: #fff;
white-space: nowrap;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(247, 93, 139, 1) 0%, rgba(254, 220, 64, 1) 100%);
  background: -webkit-linear-gradient(left, rgba(247, 93, 139, 1) 0%,rgba(254, 220, 64, 1) 100%);
  background: linear-gradient(to right, rgba(247, 93, 139, 1) 0%,rgba(254, 220, 64, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 980px) {
.flow > li dl {
  width: 100%;
  padding: 15px 10px;
}
.flow > li dl dt {
  font-size: 1.6rem;

}
}
@media screen and (max-width: 480px) {
	
.flow > li dl {
  display:block;
}

}
/* 安全のお約束
------------------------------------------*/
#promise .waku {
	background: #fff;	
	border-radius: 20px;
}
#promise h2 , h3 {
	color: #06A196;
}

/* Q＆A
------------------------------------------*/
ul.faq-list {
	text-align: center;
	margin: 50px 0;
}
ul.faq-list li {
	font-size: 2.0rem;
}

.faq-container {
    max-width: 80%;
    margin:0 auto 25px;
    border: none;
    border-radius: 50px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #fff;
}
.faq-container[open] {
    border-radius: 25px;
}



@media (max-width:769px) {
.faq-container {
    max-width: 100%;

	}
}
.faq-container summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.faq-container summary::before,
.faq-container p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.faq-container summary::before {
    color: #75bbff;
    content: "Q";
}

.faq-container summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 1.4rem;
    height: 1.4rem;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '　　';
    transition: transform 0.5s;
}

.faq-container[open] summary::after {
    transform: rotate(225deg);
}

.faq-container p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform 0.0s, opacity 0.5s;
}

.faq-container[open] p {
    transform: none;
    opacity: 1;
}

.faq-container p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}
/* エンジョイスクエアの強み
------------------------------------------*/
p.text-large-xxxx {
	font-size: 8.0rem;
	line-height: 1.15;
	color:#008869;
}
@media screen and (max-width: 768px){
p.text-large-xxxx {
	font-size: 5.8rem;
	line-height: 1.15;
}
}
@media screen and (max-width: 480px) {
p.text-large-xxxx {
	font-size: 4.0rem;
	line-height: 1.15;
}
}
#strengths h2 {
	font-size:2.4rem;
	color: #006D01;
	text-align: center;
	background:#fff;
	padding:0.5rem 1rem;
	border-radius: 50px;
}





/* 事業紹介
------------------------------------------*/

.aboutus-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}


.aboutus-block {
    background-color: white;
    border-radius: 10px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    margin-bottom: 20px;
    width: calc(50% - 10px); 
}


@media (max-width:480px) {
.aboutus-container {
	margin: 0 10px;
    }
.aboutus-block {
        width: calc(100% - 10px);
        margin-right: 5px;
        margin-left: 5px;
        text-align: center;
        padding: 1rem; 
    }
}
.aboutus-block img {
    width: 100%;
    border-radius:10px 10px 0 0;
}

.aboutus-block h4 {
    text-align: center;
    margin:0;
}

.aboutus-block p {
    text-align: left;
	margin: 0 10px 20px 10px;

}

.aboutus-container .button-container {
	width: 90%;	
}


@media screen and (max-width: 768px) {
.aboutus-block h4, .aboutus-block p {
        margin-top: 0rem; /* Reduced space on mobile */
        margin-bottom: 1rem; /* Reduced space on mobile */
    }
}

.image-trimming {
  display: inline-block;
  overflow: hidden; 
  border-radius: 80% 20% 71% 29% / 24% 51% 49% 76% ;  
}
.image-trimming img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-small-box {
	width: 80%;
	margin:40px auto;
}








/*　お知らせ
---------------------*/
.info {
width: 100%;
max-width: 700px;
margin: 0 auto;
}
.info dl {
display: table;
width: 100%;
margin: 20px 0 0 0;
padding:0px 0 10px 0;
border-bottom: #ccc solid 1px;
overflow: hidden;
}
.info dl:first-child {
border-top: #ccc solid 1px;
padding:20px 0 10px 0;
}
.info dt {
display: table-cell;
vertical-align: top;
width: 30%;
padding: 10px 0px 10px 0px;
}
.info dd {
display: table-cell;
vertical-align: middle;
width: 70%;
font-size: 1.8rem;
color: #666;
margin: 0;
font-weight: bold;
line-height: 1.5;
}
span.news-label {
padding:0.5rem 1rem;
	margin: 10px;
    color: #fff;
    background: #00CC99;
    font-weight: bold;
    text-align: center;
    border-radius: 5px;
}
span.news-label-kankeisya {
padding:0.5rem 1rem;
	margin: 10px;
    color: #fff;
    background:#0C8FC3;
    font-weight: bold;
    text-align: center;
    border-radius: 5px;
}


.accordion label::after {
  position: absolute;
  right: 10px;
  top: 40%;
  transform: translateY(-50%);
  content: "+";
  font-size: 2.0em;
}
.accordion-contants {
  display: none;
  background: #fff;
  padding:0;
  margin:0;
}
.accordion-contants p {
  font-weight: normal;
  line-height: 180%;
}
.accordion input {
  display: none;
}
.accordion input:checked ~ .accordion-title::after {
  content: "−";
}
label.accordion-title {
  background: #fff;
  font-weight: bold;
  position: relative;
  display: block;
  color: #337ab7;
  cursor: pointer;
  padding: 10px 38px 10px 0px;
}
label:hover {
	opacity: 0.8;
	text-decoration: underline;
}
.accordion input:checked ~ .accordion-contants {
  display: block;
}
@media screen and (max-width: 640px) {
.info dt {
display:table-row;
width: 100%;
}
.info dd {
display:table-row;
width: 100%;
}
}


/* とは？
------------------------------------------*/
.image-pc {
	display: block !important;
}
.image-sp {
	display: none !important;
}
 
@media only screen and (max-width: 640px) {
.image-pc {
	display: none !important;
	}
.image-sp {
	display: block !important;
	}
}
.yaritai-ouen {
width: 100%;
max-width: 700px;
margin: 0 auto;
background:url("../img/aboutus/yaritai-ouen-titlebg.png") no-repeat center right;
background-size:contain;
background-color:rgba(255,255,255,0.4);
background-blend-mode:lighten;
}
@media only screen and (max-width: 640px) {
.yaritai-ouen {
background:url("../img/aboutus/yaritai-ouen-titlebg-sp.png") no-repeat center right;
background-size:contain;
}
}

ul.sponser-list li  {
	list-style: none;
	margin: 1.0rem;
	font-size: 2.0rem;
	color: #333;
    text-shadow:0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff,0 0 6px #fff;
}
@media only screen and (max-width: 640px) {
	ul.sponser-list li  {
	margin: 0.5rem;
	font-size: 1.8rem;
	}
}
/*youtube*/
.video-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.video-item {
  flex: 0 0 100%;
}

.video-item p {
  text-align: center;
  margin-bottom: 10px;
}

.iframe-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* PC用（768px以上） */
@media (min-width: 768px) {
  .video-item {
    flex: 0 0 calc(33.333% - 14px);
  }
#video .video-item {
    flex: 0 0 calc(80% - 14px);
  }
	
}


/*　参加方法
---------------------*/
.flow_design08 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow08 {
  padding-left: 0;
}

.flow08 > li {
  list-style-type: none;
  border-radius: 15px;
  background: #F4F6FA;
  position: relative;
  padding: 20px;
}

.flow08 > li:not(:last-child) {
  margin-bottom: 20px;
}

.flow08 > li dl {
  display: flex;
  align-items: center;
  gap: 20px;
}

.flow08 > li dl dt {
  font-size: 1.2em;
  font-weight: 700;
  width: 20%;
  min-width: 7em;
}

.flow08 > li .icon08 {
  color: #8EB83C;
  margin-right: 0.5em;
}

.flow08 > li dl dd {
  margin: 0;
  width: calc(80% - 20px);
}
.flow08 p {
	line-height: 150%;
}



