@charset "utf-8";
/* CSS Document */

.mainvisual {
  background: url('../img/mv.png')no-repeat center;
  background-size: cover;
}
.wrapper .container {
    padding: 64px 0 0px;
    width: 90%;
  margin: auto;
}
.pri_head {
    max-width: 890px;
    width: 100%;
    margin: 0 auto 50px;
    background: #F2F1F0;
    display: flex;
    align-items: center;
    min-height: 125px;
    padding: 20px 65px;
    border-top: 3px solid #00AFEC;
}

/*アンカーリンク*/
.anker_link{
  max-width: 574px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 60px;
}

.anker_link li a{
  position: relative;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #00AFEC;
  font-size: 1.5rem;
  font-weight: bold;
  width: 276px;
  border: 1px solid #00AFEC;
  border-radius: 20px ;
  margin-bottom: 20px;
  padding-right: 20px;
  transition: .3s;
}
.anker_link li a:hover{
  opacity: 1;
  background-color: #00AFEC;
  color: #fff;
}
.anker_link li a::after{
  position: absolute;
  content: url("../img/allow.png");
  right: 20px;
  line-height: 1;
}
.anker_link li a:hover::after{
  content: url("../img/allow02.png");
}

/*用途*/
.used{
  background-color: #F2F1F0;
  padding: 50px 0;
}
.used h3{
  text-align: center;
  font-size:2.4rem;
  font-weight: bold;
}

.used_flex{
  max-width: 890px;
  width: 90%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  margin-top: 25px;
  align-items: center;
}
.used_flex--list{
  max-width: 328px;
  width: 100%;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.used_flex--list li{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 154px;
  max-width: 154px;
  width: 100%;
  color: #00AFEC;
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 30px;
  background-color: #fff;
  border: 1px solid #00AFEC;
  text-align: center;
  line-height: 1.5; 
}

/*使用*/
.how{
  padding: 50px 0 70px;
  max-width: 1024px;
  width: 90%;
  margin: auto;
}
.how h3{
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
.how .main_text{
  max-width: 870px;
  width: 100%;
  margin: auto;
  margin-top: 55px;
}
.how_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 70px;
  margin-bottom: 30px;
}
/*テーブル*/
.outline_table {
  max-width: 502px;
  width: 100%;
  margin: 0 auto;
  border-top: 1px solid #00AFEC;
  position: relative;
}
.outline_table.last {
  margin-bottom: 0px;
}
.outline_table th {
  background: #DFF2FC;
  text-align: center;
  vertical-align: center;
  width: 226px;
  border-bottom: 1px solid #00AFEC;
  font-weight: normal;
  font-weight: bold;
}

.outline_table td {
  padding: 20px 30px;
  padding-right: 0;
  background: #fff;
  border-bottom: 1px solid #00AFEC;
  line-height: 2;
  letter-spacing: 0.64px;
}
.outline_table td.indent_td{
  padding-left: 2em;
  text-indent: -1em;
}
.how_flex--img{
  display: flex;
  justify-content: space-between;
  max-width: 676px;
  width: 100%;
  margin: auto;
  margin-top: 50px;
}
.how_flex--img .text{
  text-align: center;
  padding-top: 20px;
}


/*実績*/
.content02{
  background: url("../img/bg.png") no-repeat;
  background-size: cover;
  padding: 60px 0;
}
.content02_inner{
  max-width: 1024px;
  width: 90%;
  margin: auto;
}
.content02_inner h3{
  background-color: #00AFEC;
  height: 60px;
  display: flex;
  justify-content:center;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
.content02_block{
  background-color: rgba(255, 255, 255, .9);
  padding: 37px;
}
.content02_block--flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.content02_block--list{
  max-width: 460px;
  width: 100%;
}
.content02_block--list h4{
  background-color: #00AFEC;
  height: 50px;
  display: flex;
  justify-content:center;
  flex-direction: column;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding-left: 30px;
}
.content02_block--list p{
  background-color: #fdfdfd;
  height: 120px;
  display: flex;
  letter-spacing: 1.28px;
  padding: 20px 20px;
  line-height: 1.8;
}

/*製造工程*/
.flow{
  background-color: #DFF2FC;
  padding: 60px 0 80px;
}
.flow h3{
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
.flow .img{
  text-align: center;
  padding-top: 30px;
  background-color: #fff;
  max-width: 890px;
  width: 100%;
  margin: auto;
  padding: 45px 0;
  margin-top: 25px;
}

.how h5{
  font-size: 1.6rem;
  margin-top: 20px;
}
.table{
  max-width: 1024px;
  width: 100%;
  margin: auto;
  margin-top: 10px;
}
.table th{
  background-color: #00AFEC;
  color: #fff;
  text-align: center;
  border-left: 1px solid #fff;
  line-height: 1.5;
  padding: 5px 0;
}
.table td{
  text-align: center;
  border-left: 1px solid #fff;
  line-height: 1.5;
  padding: 5px 0;
}
.table tr:nth-child(2n+1){
  background-color: #fff;
}
.table tr:nth-child(2n){
  background-color: #d0ecf4;
}
.under_text{
  max-width: 1024px;
  width: 90%;
  margin: auto;
  margin-top: 20px;
}

/*menu*/
.menu{
  max-width: 1024px;
  width: 90%;
  margin: auto;
  padding-bottom: 70px;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
}
.menu_list{
  max-width: 195px;
  width: 100%;
}
.menu_list .title{
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #fff;
  background-color: #00AFEC;
  font-weight: bold;
}
.menu_list:hover{
  opacity: 1;
}
.menu_list p{
  overflow:hidden;
}
.menu_list img{
  transition:.5s all;
}
.menu_list:hover img{
  opacity: 1;
  transform:scale(1.1,1.1);
  transition:.5s all;
}

@media screen and (min-width: 1280px) {
}
@media screen and (max-width: 1280px) {
}
@media screen and (orientation: portrait) and (min-width: 768px){
}
@media screen and (max-width: 767px){

  .pri_head {
  padding: 20px 5%;
}

.page-pankuzu {
  bottom: 50px;
}
  .wrapper .container {
    padding: 40px 0 30px;
  }
  .pri_head {
  padding: 20px 5%;
}
/*アンカー*/
.anker_link {
  padding-bottom: 0px;
  gap: 20px;
  justify-content: center;
}
.anker_link li a {
  width: 145px;
  height: 60px;
  line-height: 1.5;
  margin-bottom: 7px;
}
.anker_link li a::after {
  right: 5%;
}
.used_flex--list {
  margin-bottom: 20px;
}
.used_flex--list li {
  margin-bottom: 10px;
}
.how .main_text {
  margin-top: 25px;
}
  .how h5{
    font-size: 1.6rem;
  }
  

/*用途*/
.used_flex{
  flex-wrap: wrap;
  justify-content: center;
}
.content02 {
  background: url(../img/bg.png) no-repeat bottom;
}
/*table*/
.how_flex {
  flex-direction: column;
  margin-top: 0px;
  margin-bottom: 30px;
}
.outline_table{
  max-width: 90%;
  margin-bottom: 50px;
  margin-top: 25px;
}
.outline_table th {
  display: block;
  width: 100%;
  margin: auto;
  padding: 15px 0;
}
.outline_table td {
  display: block;
  text-align: center;
  padding: 15px 5%;
}
.how_flex--img {
  flex-direction: column;
  align-items: center;
}
.how_flex--img li:nth-child(1){
  margin-bottom: 30px;
}
.sp_wid{
  overflow: scroll;
  width: 100%;
  margin-left: auto;
}
.table{
  width: 1024px;
}
  
/*特徴*/
.content02_block {
  padding: 30px 5%;
}
.content02_block--list p {
  height: auto;
  padding: 20px 5%;
}

.flow .img {
  width: 90%;
  padding: 20px 5%;
}
  
/*menu*/
.menu{
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  padding: 50px 0;
}
.menu_list {
  max-width: calc(50% - 5px);
  width: 157px;
  margin-bottom: 10px;
}
}