@charset "UTF-8";

/*++++++++++++++++++++++++++
背景
++++++++++++++++++++++++++*/
#wrapper {
    width: 100%;
    margin: auto;
    padding: 0 0 0;
    box-sizing: border-box;
    clear: both;
}

@media screen and (max-width: 1000px) {
    #wrapper {
        width: 100%;
        margin: auto;
        padding: 0 0 40px;
        box-sizing: border-box;
        clear: both;
    }
}

/*++++++++++++++++++++++++++
共通
++++++++++++++++++++++++++*/
section {
    padding: 100px 0 100px;
    margin: auto;
}

/*++++++++++++++++++++++++++
ヘッダー
++++++++++++++++++++++++++*/
header {

}

header nav {

}

header nav h1 {

}

/*++++++++++++++++++++++++++
mainvisual
++++++++++++++++++++++++++*/
#mainvisual .logo_waku{
  /* border: 1px solid red; */
  background: linear-gradient(white 25%, 80%, transparent);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}

#mainvisual  .wave_l{
  /* border: 1px solid blue; */
  width: 12%;
  overflow-x: hidden;
}
#mainvisual  .wave_r{
  /* border: 1px solid blue; */
  /* width: 60%; */
  width: 80%;
  overflow-x: hidden;
}
#mainvisual  .wave_u{
  /* border: 1px solid blue; */
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  background-image: url(../images/wave_u.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  margin-top: -100px;
  height: auto;
  /* height: 425px; */
  justify-content: center;
  align-items: center;
  padding-bottom: 20px;
}
#mainvisual  .wave_l img{
   /* border: 1px solid green; */
   display: block;
   width: 1300px;
  float: right;
}
#mainvisual  .wave_r img {
   /* border: 1px solid green; */
   display: block;
   /* width: 1300px; */
  float: left;
}

#mainvisual  .logo{
  width: 280px;
  margin: 10px 40px;
}

#mainvisual {
  /* border: 1px solid red; */
  padding: 0px;
}
#mainvisual .bg-sw{
  max-width: 100%;
  width: 100vw;
  height: 80vh;
  background-position:center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -100px;
}
#mainvisual .catch{
  width: 200px;
  margin: 0px 30% 0px 70%;
  /* background-color: rgba(255,255,255,0.3); */
  /* border-radius: 22px; */
  /* padding: 15px; */
}
#mainvisual .title{
	color: #fff;
  font-size: 40px;
  line-height: 54px;
  font-family: 'Noto Serif JP', serif;
	text-align:center;
  margin: 20px auto;
}
#mainvisual .text_info{
	color: #fff;
  font-size: 16px;
  line-height: 42px;
	text-align:center;
}

@media screen and (max-width: 768px) {
  #mainvisual .bg-sw{
    max-width: 100%;
    width: 100vw;
    height: 48vh;
    background-position:center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -100px;
  }
  #mainvisual .logo_waku{
    margin-top: -20px;
  }
  #mainvisual  .logo{
    width: 220px;
    margin: 10px auto;
  }
  #mainvisual .title{
    font-size: 28px;
    margin-top: -25px;
    margin-bottom: -2px;
    line-height: 40px;
  }
  #mainvisual .text_info{
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 2px;
    text-align:left;
    margin: 10px;
  }
  #mainvisual .catch{
    width: 120px;
    margin: 0px 27% 0px 73%;
  }

  #mainvisual  .wave_u{
    margin-bottom: 0px;
    height: auto;
  }

}


/*++++++++++++++++++++++++++
business_content
++++++++++++++++++++++++++*/
#business_content {
  /* border: 1px solid red; */
  max-width: 1000px;
  padding: 10px;
  margin-top: 60px;
}
#business_content .title{
  /* border: 1px solid red; */
  margin: 20px auto;
}
#business_content .title{
  position: relative;
	color: #000;
  font-size: 40px;
  line-height: 54px;
	text-align:center;
}
#business_content .title:after{
  content: '';
  width: 60px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px)
}
#business_content .waku{
  /* border: 1px solid blue; */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: 60px auto;
}
#business_content .co_waku{
  /* border: 1px solid green; */
  text-align: center;
  width: 50%;
  margin: 0px 0px auto;
}
#business_content .co_waku img{
  display: block;
  width: 309px;
  margin: 10px auto;
}
#business_content .co_waku .c_name{
  font-size: 22px;
  line-height: 30px;
  color: #ED6C00;
  margin: 10px auto;
}
#business_content .co_waku .c_jigyou{
  font-size: 16px;
  line-height: 23px;
  color: #000;
  margin: 10px auto;
}
@media screen and (max-width: 768px) {
  #business_content .title{
    font-size: 32px;
  }
  #business_content .co_waku{
    /* border: 1px solid green; */
    text-align: center;
    width: 100%;
    margin: 0px 0px auto;
  }



}

/*++++++++++++++++++++++++++
company_profile
++++++++++++++++++++++++++*/
#company_profile_wrap {
  background-color:#FEF7F1;
  padding: 10px;
}
#company_profile {
  /* border: 1px solid red; */
  margin: 60px auto;
  max-width: 1000px;
  /* margin: 60px auto; */
  padding: 10px;
}
#company_profile .title{
  /* border: 1px solid red; */
  margin: 20px auto;
  position: relative;
	color: #000;
  font-size: 40px;
  line-height: 54px;
	text-align:center;
}
#company_profile .title:after{
  content: '';
  width: 60px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px)
}
#company_profile table {
  width: 98%;
  font-size: 18px;
  line-height: 35px;
  margin: 60px auto 0px auto;
}
#company_profile table tr {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #707070;
  /* border-bottom: 1px solid #707070; */
  min-height: 50px;
  height: auto;
  padding: 10px;
}
#company_profile table tr:last-child{
  border-bottom: 1px solid #707070;
}
#company_profile table tr th {
  display: block;
  /* border: 1px solid #707070; */
  width: 30%;
}
#company_profile table tr td {
  display: block;
  /* border: 1px solid #707070; */
  width: 70%;
}

@media screen and (max-width: 768px) {
  #company_profile table {
    width: 100%;
    font-size: 16px;
  }
  #company_profile table tr {
    flex-direction: column;
    align-items: unset;
    padding: 10px;
  }
  #company_profile table tr th {
    width: auto;
    text-align: left;
  }
  #company_profile table tr td {
    text-align: center;
    text-align: left;
    width: 100%;
  }
  #company_profile .title{
    font-size: 32px;
  }

}

/*++++++++++++++++++++++++++
goaisatsu
++++++++++++++++++++++++++*/
#goaisatsu {
  /* border: 1px solid red; */
  max-width: 1000px;
  padding: 10px;
  margin-top: 60px;
}
#goaisatsu .title{
  /* border: 1px solid red; */
  margin: 20px auto;
}
#goaisatsu .title{
  position: relative;
	color: #000;
  font-size: 40px;
  line-height: 54px;
	text-align:center;
}
#goaisatsu .title:after{
  content: '';
  width: 60px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px)
}
#goaisatsu .logo_waku{
  /* border: 1px solid red; */
  width: 270px;
  margin: 10px auto;
  float: right;
}
#goaisatsu p {
  font-size: 16px;
  line-height: 42px;
  color: #000;
  margin: 60px auto 0px auto;
}
#goaisatsu .logo_waku p{
  /* text-align: center; */
  /* width: 270px; */
  font-size: 20px;
  line-height: 28px;
  color: #000;
  margin: 60px auto 0px auto;
}
#goaisatsu .logo_waku img{
  display: block;
  /* width: 270px; */
  margin: 10px auto;
}
#goaisatsu .title2, .title3{
  position: relative;
	color: #ED6C00;
  font-size: 35px;
  line-height: 47px;
	text-align:center;
}

#goaisatsu .title2 + p { /* 1つ下*/
  position: relative;
	color: #000;
  font-size: 20px;
  line-height: 42px;
	text-align:center;
  margin: 25px auto;
}
#goaisatsu .title2:before{
  content: '';
  width: 100px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  top: 25px;
  right: calc(50% - 320px);
}
#goaisatsu .title2:after{
  content: '';
  width: 100px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  top: 25px;
  left: calc(50% - 320px);
}
#goaisatsu .title3 + p { /* 1つ下*/
  position: relative;
	color: #ED6C00;
  font-size: 20px;
  line-height: 27px;
	text-align:center;
  margin: 10px auto;
}
#goaisatsu .title3 + p + p { /* 2つ下*/
  position: relative;
	color: #000;
  font-size: 16px;
  line-height: 42px;
	text-align:center;
  margin-bottom: 40px;
}
#goaisatsu .title3:before{
  content: '';
  width: 100px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  top: 40px;
  right: calc(50% - 320px);
}
#goaisatsu .title3:after{
  content: '';
  width: 100px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  top: 40px;
  left: calc(50% - 320px);
}
#goaisatsu .slogan{
  /* border: 1px solid red; */
  margin: 60px auto;
}

@media screen and (max-width: 768px) {
  #goaisatsu {
    padding: 20px;
    margin-top: 50px;
  }
  #goaisatsu .title{
    font-size: 32px;
  }
  #goaisatsu .title2, .title3{
    font-size: 32px;
  }

  #goaisatsu .title2:before{
    width: 60px;
    right: calc(50% - 180px);
  }
  #goaisatsu .title2:after{
    width: 60px;
    left: calc(50% - 180px);
  }
  #goaisatsu .title3:before{
    width: 60px;
    right: calc(50% - 180px);
  }
  #goaisatsu .title3:after{
    width: 60px;
    left: calc(50% - 180px);
  }
  #goaisatsu .logo_waku{
    width: 270px;
  }
  #goaisatsu .logo_waku{
    width: 200px;
  }



}


/*++++++++++++++++++++++++++
access
++++++++++++++++++++++++++*/
#access_wrap {
  background-color:#F1F5FE;
  padding: 10px;
}
#access {
  /* border: 1px solid red; */
  margin: 60px auto;
  max-width: 1000px;
  /* margin: 60px auto; */
  padding: 10px;
}
#access .title{
  /* border: 1px solid red; */
  margin: 20px auto;
  position: relative;
	color: #000;
  font-size: 40px;
  line-height: 54px;
	text-align:center;
}
#access .title:after{
  content: '';
  width: 60px;
  height: 5px;
  display: inline-block;
  background-color: #ED6C00;
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px)
}
#access iframe{
  display: block;
  /* width: 95%; */
  margin:60px auto 0px auto;
}

@media screen and (max-width: 768px) {
  #access .title{
    font-size: 32px;
  }

}
/*++++++++++++++++++++++++++
フッター
++++++++++++++++++++++++++*/
footer img {
  height: 75px;
}
footer .waku {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  text-align: center;
  align-items:center;
  font-size: 16px;
  margin: 20px auto;
  padding: 5px;
  max-width: 800px;
}
footer .co_waku {
  width: 370px;
  height: 75px;
  text-align: center;
  color: #000;
  font-size: 16px;
  margin: 0px auto;
  padding: 0px;
}
footer .co_waku p{
  line-height: 25px;
  text-align: center;
  color: #000;
  font-size: 16px;
  margin: 10px auto;
}
footer .copyright {
  background-color: #ED6C00;
  line-height: 45px;
  text-align: center;
  color: white;
  font-size: 16px;
  margin: 20px auto 0px auto;
  padding: 5px;
  /* height: 45px; */
}

@media screen and (max-width: 768px) {
  footer .waku {
    margin: 0px auto;
  }
  footer .co_waku img{
    width: 320px;
  }
  footer .copyright {
    font-size: 14px;
  }

}

/*--------------------------------------
    pagetop
---------------------------------------*/
a#btn_top {
    position: fixed;
    right: 40px;
    z-index: 10;
    text-decoration: none;
    color: #ffffff;
    text-align: center;
    display: block;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    padding: 8px 0 0 0;
    background: rgba(28, 99, 167, 0.54);
    font-size: 13px;
    border-radius: 40px;
    line-height: 1.2em;
    overflow: auto;
}


a#btn_top a:hover {
    text-decoration: none;
    background: rgba(28, 99, 167, 0.9);
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

@media screen and (max-width: 600px) {

    a#btn_top {
        position: fixed;
        right: 10px;
        z-index: 10;
        text-decoration: none;
        color: #ffffff;
        text-align: center;
        display: block;
        width: 60px;
        height: 60px;
        box-sizing: border-box;
        padding: 8px 0 0 0;
        background: rgba(28, 99, 167, 0.54);
        font-size: 13px;
        border-radius: 40px;
        line-height: 1.2em;
        overflow: auto;
    }


}



/*--------------------------------------
		lightbox
---------------------------------------*/
.lightbox {
    display: none;
    color: #000;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}
