@charset "UTF-8";
* {
  margin: 0;
  padding: 0; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #000;
  color: #fff; }

body a {
  color: #fff;
  text-decoration: none; }

li {
  list-style: none; }

/* header */
header {
  max-width: 1094px;
  margin: auto; }

.pc_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 133px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95%;
  margin: auto; }

.pc_menu nav {
  margin-left: auto; }

.pc_menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.pc_menu ul li {
  margin-left: 36px; }

/* footer */
footer p {
  width: 30%;
  margin: 1.6% auto 3%; }

footer p img {
  width: 100%; }

/* contents */
h2, h3 {
  margin: 0 auto;
  font-size: 195%;
  letter-spacing: 0.1em; }

h4 {
  margin: 0 auto;
  font-family: Noto Serif JP;
  font-size: 135%;
  letter-spacing: 0.1em; }

h3 {
  margin: 1% 0;
  font-weight: lighter;
  font-family: sans-serif; }

.anchor {
  padding-top: 60px;
  margin-top: -60px; }

#miyoshi_kegawa {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center; }

.inner_miyoshi_kegawa {
  max-width: 1094px;
  width: 100%;
  margin: 0 auto; }

.kv {
  max-width: 1094px;
  width: 95%;
  margin: auto; }

.kv img {
  max-width: 1094px;
  width: 100%; }

.au_bg_area {
  background-image: url("../img/pc_bg.jpg");
  background-repeat: no-repeat;
  background-position-y: top -40%;
  }

#about_us {
  padding: 0% 0;
  margin: 8% 5%;
}

#about_us p, .products_text, .company p {
  margin: 0 0 3% 0;
  font-family: Noto Serif JP; }

#about_us h3 {
  font-family: 'Oswald', sans-serif !important; }

#about_us img {
  margin: 1.5% 0 2% 0; }

.about_us_text {
  font-size: 80%;
  line-height: 220%;
  letter-spacing: 0.1em; }

#products img {
  width: 100%; }

#products,
#products a {
  color: #424242; }

.inner_products {
  background-image: url("../img/pc_products_bk.png");
  background-repeat: repeat-y;
  background-position: center center;
  max-width: 1094px;
  padding: 5% 0px;
  width: 95%;
  margin: auto; }

.flx_list_p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 895px;
  width: 100%;
  margin: 0 auto;
  padding: 0; }

.flx_list_p li {
  width: 18.85%;
  margin: 2.5%; }

.flx_list_p li p {
  margin: 0;
  text-align: left;
  font-size: 80%;
  letter-spacing: 0.1em; }

.flx_list_p li img, .flx_list_l li img {
  width: 100%; }

.link_area img {
  width: 100%; }

.link_bg_area {
  background-image: url("../img/pc_bg.jpg");
  background-repeat: no-repeat;
  background-position-y: top -20%; }

.flx_list_l {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin: 0 auto;
  padding: 6% 0 0 0; }

.flx_list_l li {
  width: 25.15%;
  margin: 1.5%; }

.company {
  width: 100%; }

#company {
  margin-top: 5%;
  padding: 8% 0 0 0; }

.tel a, .tel_link a {
  color: #fff;
  text-decoration: none; }

.inner_company {
  font-size: 90%;
  line-height: 200%;
  margin: 2% auto;
  letter-spacing: 0.1em; }

table.inner_company {
  border-collapse: separate;
  border-spacing: 8px; }

table.inner_company > tbody > tr {
  vertical-align: top; }

.contact_us {
  width: 100%; }

.contact_us {
  padding: 8% 0 0 0; }

.inner_contact_us {
  font-size: 100%;
  line-height: 150%;
  margin: 2% auto;
  border: 1px solid;
  max-width: 413px;
  padding: 2%; }

.contactus {
  margin: 0 auto;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: 0.1em; }

.contact_us .tel {
  font-size: 220%;
  font-weight: bolder;
  letter-spacing: 0.2em;
  margin: 2%;
  font-family: 'Oswald', sans-serif; }

.contact_us .hours, .contact_us .mail {
  margin: 0;
  font-size: 0.9em;
  letter-spacing: 0.1em; }

.contact_us .mail img {
  margin: 0 7px 0 0; }

#access {
  /*    width: 100%;
    padding: 8% 0 0 0;*/
  padding: 8% 0 0 0;
  margin: 14% auto 9% auto;
  border-top: 1px solid #969696; }

.access_text {
  font-size: 96%;
  line-height: 170%;
  margin: 5% 0; }

.map {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }

.map iframe,
.map object,
.map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.br-pc {
  display: block; }

.br-sp {
  display: none; }

.pc_only {
  display: block; }

.sp_only {
  display: none; }

@media screen and (max-width: 760px) {
  /* header     */
  header {
    margin: 60px 0 0 0;
    max-width: 760px; }
  h2, h3 {
    margin: 0 auto;
    font-size: 135%; }
  h2 + p,
  h3 + p {
    margin: 0 0 5% 0;
    font-size: 80%; }
  h4 {
    font-size: 100%; }
  .sp_menu h1 {
    width: 54%;
    max-width: 202px;
    margin: 4% 0 0 4%; }
  .sp_menu h1 img {
    width: 100%; }
  .header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    background-color: #000;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, .16);
            box-shadow: 0 2px 6px rgba(0, 0, 0, .16);
    z-index: 3; }
  .global-nav {
    font-family: Noto Serif JP;
    position: fixed;
    right: -100%;
    /* これで隠れる */
    top: 0;
    width: 100%;
    /* スマホに収まるくらい */
    height: 100vh;
    padding-top: 40px;
    /* background-color: #fff; */
    -webkit-transition: all .6s;
    transition: all .6s;
    z-index: 200;
    overflow-y: auto;
    /* メニューが多くなったらスクロールできるように */ }
  .hamburger {
    position: absolute;
    right: 0;
    top: 0;
    width: 47px;
    /* クリックしやすいようにちゃんと幅を指定する */
    height: 56px;
    /* クリックしやすいようにちゃんと高さを指定する */
    cursor: pointer;
    z-index: 300; }
  .global-nav__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .global-nav__item {
    text-align: center;
    padding: 0 14px; }
  .global-nav__item a {
    display: block;
    padding: 8% 0;
    border-bottom: 1px solid black;
    text-decoration: none;
    color: #000;
    text-shadow: 0px 0px 4px #fff; }
  .global-nav__item:last-child a {
    border-bottom: none; }
  .global-nav__item a span {
    font-size: 0.8em; }
  /*    .global-nav__item a:hover {
      background-color: #fff;
    }*/
  .hamburger__line {
    position: absolute;
    left: 11px;
    width: 25px;
    height: 2px;
    background-color: #fff;
    -webkit-transition: all .6s;
    transition: all .6s; }
  .hamburger__line--1 {
    top: 19px; }
  .hamburger__line--2 {
    top: 27px; }
  .hamburger__line--3 {
    top: 35px; }
  .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .6s;
    transition: all .6s;
    cursor: pointer; }
  /* 表示された時用のCSS */
  .nav-open .global-nav {
    right: 0; }
  .nav-open .black-bg {
    opacity: 0.9;
    visibility: visible; }
  .nav-open .hamburger__line--1 {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 20px;
    background-color: #333; }
  .nav-open .hamburger__line--2 {
    width: 0;
    left: 50%;
    background-color: #333; }
  .nav-open .hamburger__line--3 {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 20px;
    background-color: #333; }
  /* footer */
  footer p {
    width: 79%;
    margin: 1.6% auto 3%; }
  /* contents */
  .inner_miyoshi_kegawa {
    max-width: 750px;
    width: 100%;
    margin: 0 auto; }
  .kv img {
    width: 95%;
    margin: auto; }
  #about_us p, .products_text, .company p {
    margin: 0 0 10% 0; }
  #about_us {
    width: 90%; }
  #about_us img {
    margin: 5% 0; }
  .au_bg_area {
    background-image: url("../img/sp_bg.jpg");
    background-repeat: no-repeat;
    background-position-y: top 80%;
    background-size: 100%; }
  .inner_products {
    background-image: url("../img/pc_products_bk.png");
    background-repeat: repeat-y;
    background-position: center center;
    width: 95%;
    padding: 8% 0px;
    margin: auto; }
  .flx_list_p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 0 0; }
  .flx_list_p li {
    width: 43%; }
  .flx_list_l {
    margin: auto;
    display: block;
    padding: 10% 0 0 0; }
  .flx_list_l li {
    width: 80%;
    margin: auto;
    padding: 4% 0; }
  .flx_list_l li img {
    width: 100%; }
  .inner_company {
    font-size: 0.7em;
    margin: 0 auto;
    letter-spacing: 0.05em; }
  #company {
    padding: 0% 0 0 0; 
    margin-top: 15%!important;}
  .inner_company td{
    line-height:167% !important;
    padding: 0.9% 0 !important;}
  .tel a, .tel_link a {
    color: #fff;
    text-decoration: none; }
  table.inner_company {
    border-collapse: separate;
    border-spacing: 8px; }
  table.inner_company > tbody > tr {
    vertical-align: top; }
  table.inner_company > tbody > tr > .leftcell {
    width: 28%; }
  .contact_us {
    padding: 10% 0 0 0;
    width: 90%;
    margin: auto; }
  .contact_us .tel {
    font-size: 175%; }
  #access {
    width: 90%;
    padding: 15% 0 0 0;
    margin: 24% auto 10% auto;
    /*border-top: 1px solid #969696;*/ }
  #access .access_text {
    font-size: 0.7em; }
  .br-pc {
    display: none; }
  .br-sp {
    display: block; }
  .sp_only {
    display: block !important; }
  .pc_only {
    display: none !important; }
  .pc_hf_only {
    display: none !important; } }

/* ここから追加 */
.kv_area {
  width: 100%;
  margin: auto;
  max-width: 1094px;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s; }

.kv_area img {
  width: 100% !important;
  display: block; }

.slider_slick {
  display: none;
  padding: 0; }

.slider_slick.slick-initialized {
  display: block;
  /*slick-initializedが付与されたら表示*/ }

.slider_slick {
  margin: 0 auto;
  padding: 0; }

.slider_slick.w300 {
  max-width: 300px; }

.slick-slide {
  margin: 0 5px;
  height: unset !important; }

.slick-slide img {
  width: 100%;
  height: auto; }

.slick-prev, .slick-next {
  z-index: 1; }

.slick-prev:before, .slick-next:before {
  color: #000; }

.slick-slide {
  -webkit-transition: all ease-in-out .3s;
  transition: all ease-in-out .3s; }

.slick-active {
  opacity: 1; }

.slick-current {
  opacity: 1; }

.thumb {
  margin: 20px 0 0; }

.thumb .slick-slide {
  cursor: pointer; }

.thumb .slick-slide:hover {
  opacity: .7; }

.opening .btn img.scroll_down,
.opening .animed {
  display: none !important; }

.kv_area.opening {
  position: fixed;
  -webkit-transition: .3s;
  transition: .3s;
  width: 100vw;
  height: 100vh;
  top: 0;
  bottom: 0;
  max-width: unset;
  margin: auto;
  padding: 0;
  left: 0;
  right: 0;
  background: #000;
  z-index: 5; }

.kv_area.opening ul {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.btn img.tap,
.anim {
  display: none !important; }

.opening .btn img.tap,
.opening .anim {
  display: block !important; }

.btn {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 5%;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  -webkit-transition: .3s;
  transition: .3s;
  z-index: 2;
  width: 88px;
  height: 58px;
  cursor: pointer; }

.opening .btn {
  width: 44px;
  bottom: -100px;
  height: 44px; }

.opening .btn img {
  width: 100%;
  display: block; }

.msgarea {
  display: none; }

.opening .msgarea {
  display: block;
  position: absolute;
  bottom: 0;
  top: 30vh;
  left: 0;
  right: 0;
  margin: auto; }

.opening .msgarea .logo {
  max-width: 260px;
  width: 90%;
  margin: auto; }

.opening .msgarea .logo img {
  width: 100%;
  display: block; }

.opening .msgarea p {
  font-size: 24px;
  
  font-family: Noto Serif JP, sans-serif;
  line-height: 220%;
  margin-top: .5em;
}

@media screen and (max-width: 760px) {
  .opening .msgarea p {
    font-size: 3.4vw; 
    margin-top: 1.5em;
} }

body.scroll_cancel {
  height: 100vh;
  overflow: hidden; }

/*scrolアニメーション*/
a#kvscrol {
  /* position: absolute; */
  /* bottom: -90px; */
  /* left: 50%; */
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  font-size: 0.6vw; }

a#kvscrol {
  padding-top: 35px; }

a#kvscrol span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 20px;
  height: 30px;
  margin-left: -10px;
  border: 2px solid #fff;
  background: #fff;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

a#kvscrol span::before {
  position: absolute;
  top: 2px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #000;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0; }
  100% {
    opacity: 0; } }

@keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    -webkit-transform: translate(0, 20px);
            transform: translate(0, 20px);
    opacity: 0; } }

@media screen and (max-width: 760px) {
  a#kvscrol {
    font-size: 2.6vw; } }

    .slick-slide{
      height: auto!important;
    }

    #care{
      margin-top: 5%;
      padding: 8% 0 0 0;
    }
    #care h2{}
    #care p{}
    #care ol{
      font-size: 90%;
      line-height: 200%;
      margin: 2% auto;
      letter-spacing: 0.1em;
      width: 60%;
    }
    #care ol li{
        text-align: left;
        list-style-type: decimal;
        margin-left: 2em;
        line-height: 1.4em;
        margin-bottom: 2%;
    }
    #care ol li span{
        display: block;
        font-weight: bold;
        font-size: 110%;
    }
    
    @media screen and (max-width: 760px) {
      #care ol{
        width: 90%;
      }
    }

#news{
  margin-top: 60px;
}
#news h2{}
#news p{
    margin: 0 0 3% 0;
    font-family: Noto Serif JP;
    }
#news .news_text {
  font-size: 80%;
  line-height: 220%;
  letter-spacing: 0.1em;
}