.sec-first {
  background: url("../images/common/bg_texture.jpg") no-repeat center, linear-gradient(45deg, #EFEFEF 0%, #ffffff 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#EFEFEF', endColorstr='#ffffff', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
  background-blend-mode: color-burn;
  background-size: cover;
  position: relative;
  padding-top: 6em;
  padding-bottom: 7em;
  overflow: hidden;
}

.sec-first.quality {
  background: url("../images/common/bg_texture.jpg") no-repeat center, linear-gradient(-45deg, #ffffff 0%, #E6E6E6 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#E6E6E6', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
  background-blend-mode: color-burn;
  background-size: cover;
}

.sec {
  background: url("../images/common/bg_texture.jpg") no-repeat center, linear-gradient(15deg, #ffffff 0%, #EAEAEA 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#EAEAEA', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
  background-blend-mode: color-burn;
  background-size: cover;
  position: relative;
  padding-top: 6em;
  padding-bottom: 7em;
  overflow: hidden;
}

.sec.quality_brand {
  background: url("../images/page/brand_mv.jpg") no-repeat center bottom;
  background-size: cover;
}

.sec.about_info {
  background: url("../images/page/info_bg.jpg") no-repeat center bottom;
  background-size: cover;
}

.sec.about_msg {
  background: url("../images/common/bg_texture.jpg") no-repeat center, linear-gradient(15deg, #ffffff 0%, #E6E6E6 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#E6E6E6', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
  background-size: cover;
  background-blend-mode: color-burn;
}

.page-head {
  width: 100%;
  height: 568px;
  position: absolute;
  top: 0;
}

.page-bg {
  background: #FFFFFF;
  padding: 5em 7em 6em;
  position: relative;
  z-index: 1;
}

.page-bg p {
  margin-bottom: 1.5em;
}

.page-ttl {
  border-bottom: 12px solid #000000;
  margin-bottom: 4.5em;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
}

.page-ttl .jp-h {
  font-size: 4rem;
  padding-right: 1em;
}

.page-ttl .en-h {
  font-size: 1.7rem;
}

.page-ttl_lv2 {
  font-size: 2rem;
  padding-left: 1em;
  font-weight: 500;
  margin-bottom: 1em;
  letter-spacing: 0.05em;
  position: relative;
  color: rgba(0, 0, 0, .6);
}

.page-ttl_lv2::before {
  content: "";
  display: block;
  width: 8px;
  height: 20px;
  background: rgba(0, 0, 0, .5);
  position: absolute;
  top: 4px;
  left: 0;
}

.page-ttl_lv2.mt {
  margin-top: 6em;
}

.page-ttl_lv3 {
  font-size: 3.4rem;
  margin-bottom: 1em;
  letter-spacing: 0.05em;
}

.page-ttl_lv4 {
  font-size: 2.6rem;
  letter-spacing: 0.05em;
}

.page-ttl_lv5 {
  font-size: 2.1rem;
  letter-spacing: 0.05em;
}


/*box-border*/

.box-border {
  border: 3px solid #000000;
  padding: 3.5em 4em;
  position: relative
}

.box-border .label {
  font-size: 1.8rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  margin: auto;
  top: -2.7em;
  width: 100%;
  text-align: center;
}

.box-border .label::after {
  content: '';
  width: 2px;
  height: 36px;
  background: #000000;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  top: 1.7em;
}

.box-border .ttl {
  margin-bottom: 1.25em;
}


/*box-normal*/

.box-normal {
  padding: 3.5em 0 0 0;
}

.box-normal .label {
  font-size: 1.8rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  margin: auto;
  top: 1.8em;
  width: 100%;
  text-align: center;
}

.box-normal .label::after {
  content: '';
  width: 2px;
  height: 36px;
  background: #000000;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  top: 1.7em;
}

.box-normal .ttl {
  margin-bottom: 1.25em;
}


/*box-normal.lv2*/

.box-normal.lv2 {
  padding: 0.5em 0 0 0;
  display: flex;
  justify-content: center;
}

.box-normal.lv2 .label {
  top: -0.8em;
}


/*テーブル*/

.ns-tbl1 {
  width: 80%;
  margin: 0 auto;
  border-collapse: collapse;
  border-spacing: 0;
  border-bottom: 2px solid rgba(0, 0, 0, .2);
}

.ns-tbl1 th, .ns-tbl1 td {
  border-top: 2px solid rgba(0, 0, 0, .2);
  padding: 0.5em 1em;
  font-weight: normal;
}


/*リスト*/

.ns-ul, .ns-ol {
  margin-left: 1em;
}

.ns-ul li, .ns-ol li {
  line-height: 1.8;
  margin-bottom: 0.8em;
}

.ns-ul li {
  list-style: circle;
}

.ns-ul li:last-child {
  margin-bottom: 0;
}

.ns-ul li a, .ns-ol li a {
  color: #000000;
  text-decoration: underline;
  word-break: break-all;
}

.ns-ul li a:hover, .ns-ol li a:hover {
  text-decoration: none;
}


/*経営理念*/

.rinen_pic1 {
  margin-top: 4em;
}


/*メッセージ*/

.msg_copy {
  padding-top: 1em;
  margin-left: -0.7em;
}

.msg_copy .page-ttl_lv3 {
  margin-bottom: 0.5em;
}

.msg_pic1 {
  margin-top: 0em;
  margin-bottom: 2.5em;
}

.msg_pic {
  width: 100%;
  justify-content: center;
  margin-bottom: 3em;
}

.msg_pic .pic {
  width: 50%;
}

.msg_pic .pic:first-child {
  margin-top: 5em;
}

.msg_name {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
}

.msg_name .position {
  font-size: 1.6rem;
  font-weight: 300;
}


/*屋号*/

.yago_box p {
  width: calc(100% - 200px);
}

.yago_box .pic {
  width: 150px;
  margin-top: -1.5em;
}


/*こだわり*/

.qua_pic {
  margin-top: 3em;
}


/*ブランド*/

.quality_brand .page-bg {
  background: rgba(255, 255, 255, .85)
}

.quality_brand .ttl br {
  display: none;
}

.quality_brand .typo {
  max-width: 360px;
  margin: 3em auto;
}

.quality_brand .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.75rem;
  font-weight: 600;
  width: 100%;
  max-width: 500px;
  height: 64px;
  box-sizing: border-box;
  border: 3px solid #000;
  color: #000;
  position: relative;
  z-index: 2;
  margin: 0 auto;
  margin-top: 2em;
  padding-top: 1px;
  letter-spacing: 0.05em;
}

.quality_brand .btn svg {
  position: absolute;
  right: 30px;
  top: 25px;
}

.quality_brand .btn::after {
  position: absolute;
  display: block;
  content: '';
  width: 0%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  background: #000;
  transition: .3s;
}

.quality_brand .btn:hover svg #a1, .quality_brand .btn:hover svg #a2 {
  transition: .3s;
}

.quality_brand .btn:hover {
  color: #FFF;
}

.quality_brand .btn:hover::after {
  width: 100%;
}

.quality_brand .btn:hover svg #a1 {
  fill: #FFF;
}

.quality_brand .btn:hover svg #a2 {
  stroke: #FFF;
}

.qua_pic.brand {
  display: none;
}


/*サムネイル付きリスト-２カラム*/

.ns-col-2 .ttl {
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: wrap;
  text-align: center;
}

.ns-col-2 .ttl .sp {
  display: none;
}

.ns-col-2 .ttl .kakko {
  font-size: 80%;
  display: block;
  letter-spacing: 0.08em;
  width: 100%;
  margin-top: -2em;
}

.ns-col-2 img {
  margin-bottom: 0.5em;
}

.ns-col-2 .text {
  font-size: 90%;
}

.ns-col-2.lv2 .clm {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 2em;
}

.ns-col-2.lv2 .clm:last-child {
  margin-bottom: 0;
}

.ns-col-2.lv3 .ttl {
  min-height: 60px;
  margin-bottom: 1em;
}

.ns-col-2.lv3 .ttl .small {
  font-size: 80%;
  display: block;
  letter-spacing: 0.08em;
  width: 100%;
  margin-top: 1em;
}

@media screen and (max-width:1024px) {
  .sec-first {
    padding-top: 6em;
    padding-bottom: 5em;
  }
  .sec {
    padding-top: 5em;
    padding-bottom: 5em;
  }
  .page-bg {
    padding: 3em 3em 4.5em;
  }
  .page-ttl {
    margin-bottom: 4em;
  }
  .page-ttl .jp-h {
    font-size: 3.6rem;
  }
  .page-ttl .en-h {
    font-size: 1.5rem;
  }
  .page-ttl_lv2 {
    font-size: 1.75rem;
    margin-bottom: 0.8em;
  }
  .page-ttl_lv2::before {
    height: 18px;
  }
  .page-ttl_lv2.mt {
    margin-top: 5em;
  }
  .page-ttl_lv3 {
    font-size: 3rem;
  }
  .page-ttl_lv4 {
    font-size: 2.2rem;
  }
  .page-ttl_lv5 {
    font-size: 1.8rem;
  }
  /*box-border*/
  .box-border {
    padding: 2.5em 3em;
  }
  .box-border .label {
    font-size: 1.6rem;
  }
  .box-border .label::after {
    top: 1.75em;
  }
  /*box-normal*/
  .box-normal {
    padding: 4em 0 0 0;
  }
  .box-normal .label {
    font-size: 1.6rem;
    top: 1.5em;
  }
  .box-normal .label::after {
    top: 1.75em;
  }
  /*テーブル*/
  .ns-tbl1 {
    width: 100%;
    margin: 0 auto;
  }
  /*経営理念*/
  .rinen_pic1 {
    margin-top: 3.8em;
  }
  /*屋号*/
  .yago_box p {
    width: 100%;
  }
  .yago_box .pic {
    margin: 0 auto;
    margin-top: 2em;
  }
  /*サムネイル付きリスト-２カラム*/
  .ns-col-2 .clm {
    margin-bottom: 3em;
  }
  .ns-col-2 .ttl {
    height: 0;
    margin-bottom: 2em!important;
  }
  .ns-col-2 .ttl {
    font-size: 2.5rem;
  }
  .ns-col-2 .ttl .kakko {
    display: inline-block;
    width: auto;
    margin-top: 0;
  }
  .ns-col-2.lv2 .ttl {
    font-size: 2.2rem;
  }
  .ns-col-2 .text {
    font-size: 100%;
  }
  .ns-col-2.lv3 .clm {
    max-width: 80%;
    margin: 0 auto;
    margin-bottom: 2em;
  }
}

@media screen and (max-width:640px) {
  .sec-first {
    padding-top: 7em;
    padding-bottom: 5em;
  }
  .sec {
    padding-top: 5em;
    padding-bottom: 2.5em;
  }
  .page-bg {
    padding: 2.5em 0 2em;
  }
  .page-bg.sp_pb0 {
    padding-bottom: 0;
  }
  .page-bg.sp_wh {
    position: relative;
    z-index: 1;
  }
  .page-bg.sp_wh::after {
    content: '';
    width: 110%;
    height: calc(100% - 4.5em);
    background: #FFF;
    display: block;
    position: absolute;
    z-index: -1;
    top: 4.5em;
    left: -5%;
  }
  .page-bg.sp_wh_2 {
    position: relative;
    z-index: 1;
    padding-top: 4em;
  }
  .page-bg.sp_wh_2::after {
    content: '';
    width: 110%;
    height: 100%;
    background: #FFF;
    display: block;
    position: absolute;
    z-index: -1;
    left: -5%;
    top: 0;
  }
  .page-bg.sp_clear {
    background: none;
  }
  .page-head img {
    height: 180px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    object-position: center;
  }
  .page-ttl {
    margin: 0 auto;
    margin-bottom: 3em;
    padding-bottom: 0em;
    border-bottom-width: 9px;
    display: block;
    text-align: center;
    margin-top: -0.8em;
    width: 98%;
  }
  .page-ttl .jp-h {
    font-size: 2.35rem;
    padding-right: 0;
    position: relative;
    top: -0.3em;
  }
  .page-ttl .en-h {
    display: block;
    position: relative;
    top: -0.8em;
  }
  .page-ttl_lv2 {
    font-size: 1.6rem;
    padding-left: 1.25em;
  }
  .page-ttl_lv2::before {
    height: 17px;
    width: 8px;
  }
  .page-ttl_lv2.mt {
    margin-top: 3em;
  }
  .page-ttl_lv3 {
    font-size: 2.4rem;
  }
  .page-ttl_lv4 {
    font-size: 2rem;
  }
  .page-ttl_lv5 {
    font-size: 1.7rem;
  }
  .box-normal.lv2 .label {
    top: -2em;
  }
  .page-bg.sp_wh_2 .box-normal.lv2 .label {
    top: -0.8em;
  }
  /*経営理念*/
  .rinen_pic1 {
    margin-top: 2em;
    width: 110%;
    margin-left: -5%;
  }
  /*社長メッセージ*/
  .msg_pic1 {
    width: 110%;
    margin-left: -5%;
  }
  .msg_name {
    font-size: 2.4rem;
  }
  .msg_name .position {
    font-size: 1.5rem;
  }
  /*こだわり*/
  .qua_pic {
    width: 110%;
    margin-left: -5%;
    margin-top: 2em;
  }
  .quality_tips .page-bg {
    padding-top: 5em;
    padding-bottom: 0;
  }
  /*ブランド*/
  .sec.quality_brand {
    background: #FFFFFF;
    padding-top: 1em;
  }
  .quality_brand .typo {
    max-width: 180px;
    margin: 5em auto 0;
    margin-bottom: -8em;
    position: relative;
    z-index: 1;
  }
  .qua_pic.brand {
    display: block;
    margin-top: 0;
    margin-bottom: 2em;
    position: relative;
    z-index: 0;
  }
  .qua_pic.brand img {
    height: 280px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .quality_brand .btn {
    max-width: 100%;
    font-size: 1.5rem;
    height: 54px;
    padding-top: 3px;
  }
  .quality_brand .btn svg {
    right: 15px;
    top: 20px;
  }
  /*サムネイル付きリスト-２カラム*/
  .ns-col-2 .clm {
    margin-bottom: 2.5em;
  }
  .ns-col-2 .ttl {
    font-size: 2.35rem;
  }
  .ns-col-2.lv2 .ttl {
    font-size: 2rem;
  }
  .ns-col-2.lv2 .clm {
    max-width: 100%;
  }
  .ns-col-2.lv3 .clm {
    max-width: 100%;
  }
}

@media screen and (max-width:480px) {
  .box-border {
    padding: 2.5em 2.5em 2em;
  }
  .msg_name {
    font-size: 2rem;
  }
  .msg_name .position {
    font-size: 1.4rem;
  }
  .quality_brand .ttl br {
    display: block;
  }
  .quality_brand .btn {
    padding-right: 0.2em;
  }
  /*サムネイル付きリスト-２カラム*/
  .ns-col-2 .clm {
    margin-bottom: 2.5em;
  }
  .ns-col-2 .ttl {
    font-size: 1.95rem;
  }
  .ns-col-2.lv2 .ttl {
    font-size: 1.8rem;
  }
  .ns-col-2 .ttl .sp {
    display: block;
  }  
  .ns-col-2 .ttl.sp_height{
    margin-bottom: 3.5em!important;
  } 
}


/* for Microsoft Edge */

@supports (-ms-ime-align:auto) {
  .sec-first {
    background: linear-gradient(45deg, #EFEFEF 0%, #ffffff 100%);
  }
  .sec-first.quality {
    background: linear-gradient(-45deg, #ffffff 0%, #E6E6E6 100%);
  }
  .sec {
    background: linear-gradient(15deg, #ffffff 0%, #EAEAEA 100%);
  }
  .sec.about_msg {
    background: linear-gradient(15deg, #ffffff 0%, #E6E6E6 100%);
  }
}


/* IE*/

@media all and (-ms-high-contrast: none) {
  .sec-first {
    background: linear-gradient(45deg, #EFEFEF 0%, #ffffff 100%);
  }
  .sec-first.quality {
    background: linear-gradient(-45deg, #ffffff 0%, #E6E6E6 100%);
  }
  .sec {
    background: linear-gradient(15deg, #ffffff 0%, #EAEAEA 100%);
  }
  .sec.about_msg {
    background: linear-gradient(15deg, #ffffff 0%, #E6E6E6 100%);
  }
}


/*404*/
@media screen and (max-width:480px) {
    .page_404 .page-ttl .jp-h{
        line-height: 1.6;
        letter-spacing: 0;
    }
}