@charset "utf-8";
/* CSS Document */

/* ギャラリーのレイアウト */

.main-bar-text {
    width: 96%;
    max-width: 960px;
    margin: 0 auto 70px auto;
}



/* ------------ sell-items -------------*/
.works-items {
    margin: 40px auto;
    width: 96%;
    max-width: 960px;
    display: grid;
    flex-wrap: wrap;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    column-gap: 30px;
}

.works-items .inner {
    margin-bottom: 30px;
}

.works-items .inner-img img {
    opacity: 0.8;
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 4;
}

.works-items .inner-img {
    background-color: #ffff00;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
    margin-bottom: 10px;
    height: 150px;
}

.works-items .inner-img p {
    margin: 0;
    font-weight: bold;
    position: relative;
    z-index:5;
    color: red;
}

.works-items .inner p {
    margin: 0;
}

@media screen and (min-width: 768px) {
    .works-items {
        width: 100%;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .works-items .inner-img {
        height: 200px;
    }
}


/* ------------ flow -------------*/
/* 
#flow {
    position: relative;
}

#flow .main-bar {
    padding-top: 50px;
}

#flow .section1 {
    width: 100%;
    height: auto;
    padding-bottom: 0;
}

#flow .section1 {
    padding-left: 50px;
    box-sizing: border-box;
}

.step-bar, .step-bar-bullet {
    position: relative;
    margin-bottom: 60px;
}

.step-bar::before {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    background: #00819d;
    left: -52.5px;
    border-radius: 50%;
    top: 14px;
}

.step-bar-bullet::before {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    background: #00819d;
    left: -52.5px;
    border-radius: 50%;
    top: 14px;
}

#flow .flow-step-numbered-header-flex {
    display: flex;
    margin-bottom: 27px;
    align-items: flex-start;
    column-gap: 10px;
    flex-wrap: wrap;
    flex-direction: column;
}


.flow-step-cont {
    height: 250px;
}

#flow .flow-step-cont p {
    font-size: 14px;
    letter-spacing: 0.12em;
    line-height: 28px;
    margin-bottom: 0;
    text-align: left;
}

.step-bar::after {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% + 1540px);
    background: #CFCFCF;
    left: -47.5px;
    top: 25px;
}


#flow .flow-num {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-style: italic;
    font-size: 35px;
    letter-spacing: 0.05em;
    text-align: left;
    color: #00819d;
    margin-right: 23px;
    border-bottom: #00819d 1px solid;
}

#flow .flow-num-text {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.12em;
    line-height: 39px;
    color: #333;
}

.flow-step-image-cont {
    text-align: left;
}


.sp_none{
    display: block;
}

.pc_none{
    display: none;
}

.icon_img{
    background-size: 180px;
    background-repeat: no-repeat;
    background-position: right 10px;    
}

 .icon01{
    background-image: url(../image/icon01.png);
}
.icon02{
    background-image: url("../image/icon02.png");
}
.icon03{
    background-image: url("../image/icon04.png");
}
.icon04{
    background-image: url("../image/icon03.png");
}
.icon05{
    background-image: url(../image/icon06.png);
}
.icon06{
    background-image: url(../image/icon01.png);
}
.icon07{
    background-image: url(../image/icon08.png);
    background-size: 150px;
    background-position: right -3px;
}
.icon08{
    background-image: url(../image/icon09.png);
    
}
.icon09{
    background-image: url(../image/icon07.png);
}


section#flow {
    margin-bottom: 200px;
}






@media screen and (max-width: 1399.98px) {
.step-bar::after {
    height: calc(100% + 1600px);
}
}

@media screen and (max-width: 1200px) {
.step-bar::after {
    height: calc(100% + 1765px);
}
}

@media screen and (max-width: 992.98px) {
.step-bar::after {
    height: calc(100% + 2020px);
}
}

@media screen and (min-width: 560px) and (max-width: 560px) {
.step-bar::after {
    height: calc(100% + 320px);
}
}

@media screen and (max-width: 477px) {
.step-bar::after {
    height: calc(100% + 390px);
}
}



@media screen and (max-width: 767px) {
.sp_none{
    display: none;
}

.pc_none{
    display: block;
}
    
    .step-bar::after {
    height: calc(100% + 1745px);
}
    
        .icon_img {
        background-size: 75px;
    }
    
    
    .step-bar, .step-bar-bullet {
    margin-bottom: 15px;
}
    
    #flow .section1 {
    padding-left: 30px;
    box-sizing: border-box;
}
#flow .section1 {
    width: 90%;
    height: auto;
    padding-bottom: 0;
}
    
    #flow .flow-step-cont p {
    font-size: 12px;
    line-height: 23px;
}
    
    #flow .flow-step-numbered-header-flex {
    margin-bottom: 15px;
}
    
    
} */


.flow-container {
  display: flex;
  flex-direction: column;
  position: relative;
  /* padding-left: 40px; */
/*  margin: 40px auto;*/
  max-width: 960px;
}

.flow-step {
  position: relative;
  padding: 20px 0 20px 30px;
}

.flow-step::before {
  content: '';
  position: absolute;
  /* top: 40px; */
  top: 49%;
  left: -5px;
  width: 2px;
  height: 100%;
  background-color: #ccc;
}

.flow-step:last-child::before {
  height: 5px; /* 最後だけ少しだけに */
}

.step-inner {
  position: relative;
  background: #f9f9f9;
  padding: 15px 20px;
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.step-number {
  font-size: 30px;
  margin-bottom: 10px;
  font-weight: 700;
  font-style: italic;
  font-family: Arial, Helvetica, sans-serif;
  color: #3cb371;
  text-align: center;
  line-height: 30px;
}

.step-dot {
  font-size: 18px;
  font-weight: bold;
  color: #3cb371;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  position: absolute;
  left: -49px;
  /* top: 49%; */
}

.step-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}

.step-text {
  font-size: 14px;
  color: #555;
}

@media screen and (min-width: 768px) and (max-width: 991.98px) {
    .step-inner {
        height: 180px;
    }
}

@media screen and (min-width: 992px) {
    .step-inner {
        height: 150px;
    }
}

/********************************************************
material-Box
********************************************************/
.material-Box {
    width: 96%;
    margin: 0 auto;
    max-width: 960px;
    display: flex;
    flex-direction: column;
    column-gap: 50px;
    flex-wrap: wrap;
}

.material-Box .inner {
    width: 100%;
}

.material-Box .inner:first-child {
    margin-bottom: 15px;
}

.material-Box ul {
    /* padding-left: 0px; */
}

.material-Box ul li {
    list-style-type:square;
}


@media screen and (min-width:768px) {
    .material-Box {
        width: 96%;
        margin: 0 auto;
        max-width: 960px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        column-gap: 50px;
        flex-wrap: wrap;
    }
    
    .material-Box .inner {
        width: calc(( 100% - 50px )/2);
    }
}

#Page-manufacturing .contact-section {
    margin-top: 0px;
}