@charset "utf-8";

/* --------------------------------------- */
/* default-style
/* --------------------------------------- */
html {
  box-sizing: border-box;
  font-size: 62.5%; /* 1rem = 10px */
  font-feature-settings: "palt";
  font-weight: 500;
  text-rendering : optimizeLegibility;
  word-break: break-all;
    -webkit-text-size-adjust: 100%;

}
body {
  color: #333;
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Meiryo", sans-serif;
  /* font-family: YakuHanJPs, "Hiragino Sans", "Arial", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Meiryo", sans-serif; */
  font-size: 1.4rem; /*14px*/
  line-height: 1.5rem;
  margin: 0 auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
a:hover{
  opacity: .7;
}
a img:hover {
  opacity: .7;
}
@media screen and (max-width: 767px) { /* SPのみ */
  img {
    vertical-align: top;
    width: 100%;
  }
}
@media screen and (min-width: 768px) { /* PCのみ */
  body {
    font-size: 1.6rem; /*16px*/
  }
  img {
    max-width: 100%;
  }
  a:hover{
    opacity: .7;
  }
  a img:hover {
    opacity: 0.7;
  }
}


/* --------------------------------------- */
/* common-style
/* --------------------------------------- */
@media screen and (max-width: 767px) { /* SP */
  .pc {
    display: none!important
  }
}
@media screen and (min-width: 768px) { /* PC */
  .sp {
    display: none!important;
  }
}

/* --------------------------------------- */
/* header
/* --------------------------------------- */
@media screen and (max-width: 767px) { /* SP */
  .pc {
    display: none!important
  }
  header {
    background-color: #fff;
    opacity: .8;
    position: fixed;
    text-align: center;
    width: 100%;
    z-index: 999;
  }
  header .nav {
    margin: 0 auto;
    text-align: center;
  }
  header .nav .nav_inner ul {
    display: flex;
    justify-content: center;
    margin: 0 1rem;
  }
  header .nav .nav_inner li {
    font-size: 1.2rem;
    padding-right: .5rem;
  }
  header .nav .nav_inner li:after{
    content: "|";
    padding-left: .4rem;
  }
  header .nav .nav_inner li:last-of-type:after{
    content: "";
  }
  header .nav img {
    margin: 20px auto;
    text-align: center;
    width: 30%;
  }
   header .nav .nav_inner .sns_logo {
    margin: -5px 0;
    width: 10%;
 }
   header .nav .nav_inner .sns_logo img {
    margin: 0;
    width: 100%;
 }
}
@media screen and (min-width: 768px) { /* PC */
  .sp {
    display: none!important;
  }
  header {
    background-color: #fff;
    opacity: .8;
    position: fixed;
    width: 100%;
    z-index: 999;
  }
  header .nav {
    display: flex;
    justify-content: space-between;
  }
  header .nav figure {
    width: 150px;
  }
  header .nav .nav_inner ul {
    display: flex;
    margin: 30px 0;
  }
  header .nav .nav_inner li {
    padding-right: 50px;
  }
  header .nav img {
    margin: 5px 20px;
    width: 100%;
  }
  header .nav .nav_inner .sns_logo img {
    margin: -10px;
    padding-right: -50px;
    width: 30%;
 }
}
/* --------------------------------------- */
/* main
/* --------------------------------------- */
@media screen and (max-width: 767px) { /* SP */
  .mv {
    background: url("../images/mv_sp.jpg") no-repeat center 0;
    background-size: 800px 750px;
    margin: 0 auto;
    text-align: center;
    width: 100%;
  }
  .mv .mv_inner {
    position: relative;
    margin: 0 auto;
    height: 750px;
    width: 100%;
  }
  .mv .mv_copy p {
    background-color: #fff;
    color: gray;
    font-size: 2rem;
    letter-spacing: .2rem;
    opacity: .7;
    padding: 20px;
    position: absolute;
     top: 45%;
     left: 0;
  }
  .mv .mv_copy p:nth-of-type(2) {
    background-color: #fff;
    color: gray;
    font-size: 1.6rem;
    letter-spacing: .2rem;
    padding: 20px;
    position: absolute;
    top: 55%;
    left: 10%;
  }
  .mv .mv_scroll {
   position: absolute;
   left: 45%;
   bottom: 3%;
  }
  .mv .mv_scroll .mv_scroll_btn {
    background-color: #000;
    border-radius: 50%;
    color: #fff;
    height: 50px;
    margin: 0 auto;
    text-align: center;
    padding-top: 18px;
    vertical-align: middle;
    width: 50px;
  }

   #philosophy {
     margin: 120px 0 0;
     text-align: center;
    }
   #philosophy .sec_ttl {
     margin-bottom: 50px;
    }
   #philosophy .sec_ttl p {
      letter-spacing: .3rem;
    }
    #philosophy h1 {
     border-bottom: 5px solid #c6b6d2;
     display: inline-block;
     font-weight: 300;
     letter-spacing: .3rem;
     margin-bottom: 20px;
     padding-bottom: 15px;
    }
  #philosophy .philosophy_txt {
    background: url("../images/philosophy_sp.png") no-repeat center 0;
    background-size: 800px 750px;
    margin: 0 auto;
    padding: 100px 0;
  }
  #philosophy .philosophy_txt .txt_bgw {
    background-color: #fff;
    line-height: 3rem;
    letter-spacing: .3rem;
    margin: 0 auto;
    opacity: .85;
    padding: 20px;
    width: 90%;
    Z-index: 999;
  }

    #business {
      margin: 120px auto 450px;
      text-align: center;
      width: 100%;
    }
    #business .sec_ttl {
      margin-bottom: 50px;
    }
    #business .sec_ttl p {
      letter-spacing: .3rem;
    }
    #business h1 {
      border-bottom: 5px solid #c6b6d2;
      display: inline-block;
      font-weight: 300;
      letter-spacing: .3rem;
      margin-bottom: 20px;
      padding-bottom: 10px;
    }
    #business .sec_ttl p {
      letter-spacing: .3rem;
    }
    #business .business_sec_01  {
      position: relative;
    }
    #business .business_sec_01 .business_sec_txt_l {
      border: 3px solid #9a9198;
      margin: 0 auto;
      padding: 60px 0;
      width: 90%;
    }
      #business .business_sec_01 .business_sec_txt_l figure {
      margin: 0 auto 4%;
      width: 50%;
    }
    #business .business_sec_01 .business_sec_txt_l .business_txt {
      letter-spacing: .3rem;
      line-height: 3rem;
      margin: 0 auto 3%;
      width: 90%;
    }
    #business .business_sec_01 .business_sec_txt_l .business_btn {
      background-color: #9a9198;
      border-radius: 20px;
      color: #fff;
      height: 50px;
      margin: 0 auto;
      text-align: center;
      padding-top: 15px;
      width: 50%;
    }
    #business .business_sec_01 .business_sec_txt_l .business_btn a {
      display: inline-block;
      height: 100%;
      width: 100%;
    }
    #business .business_sec_01 .business_sec_img_r {
      position: absolute;
      bottom: -80%;
      right: 0;
    }

      #business .business_sec_02  {
      margin-top: 400px;
      position: relative;
    }
    #business .business_sec_02 .business_sec_txt_r {
      border: 3px solid #9a9198;
      margin: 0 auto;
      padding: 60px 0;
      width: 90%;
    }
      #business .business_sec_02 .business_sec_txt_r figure {
      margin: 0 auto 4%;
      width: 50%;
    }
    #business .business_sec_02 .business_sec_txt_r .business_txt {
      letter-spacing: .3rem;
      line-height: 3rem;
      margin: 0 auto 3%;
      width: 90%;
    }
    #business .business_sec_02 .business_sec_txt_r .business_btn {
      background-color: #9a9198;
      border-radius: 20px;
      color: #fff;
      height: 50px;
      margin: 0 auto;
      text-align: center;
      padding-top: 15px;
      width: 50%;
    }
    #business .business_sec_02 .business_sec_txt_r .business_btn a {
      display: inline-block;
      height: 100%;
      width: 100%;
    }
    #business .business_sec_02 .business_sec_img_l {
      position: absolute;
      bottom: -80%;
      right: 0;
    }

      #about {
      margin: 200px auto 0;
      text-align: center;
    }
      #about .sec_ttl {
      margin-bottom: 50px;
    }
    #about .sec_ttl p {
      letter-spacing: .3rem;
    }
    #about h1 {
      border-bottom: 5px solid #c6b6d2;
      display: inline-block;
      font-weight: 300;
      letter-spacing: .3rem;
      margin-bottom: 20px;
      padding-bottom: 10px;
    }
    #about .about_table {
    background: url("../images/about_sp.png") no-repeat center 0;
    background-size: 800px 1319px;
    margin: 0 auto;
    padding: 100px 0 100px;
  }

    #about .about_table .txt_bgw {
    background-color: #fff;
    line-height: 3rem;
    margin: 0 auto;
    opacity: .85;
    width: 90%;
    Z-index: 999;
  }
  #about .about_table .txt_bgw tr {
    border-bottom: 1px solid #000;
  }
  #about .about_table .txt_bgw tr td:nth-of-type(1) {
    padding: 10px 20px;
    text-align: left;
    width: 35%;
  }
  #about .about_table .txt_bgw tr td:nth-of-type(2) {
    padding: 0 20px 0 0;
    text-align: left;
  }

     #news {
      margin: 150px auto 0;
    }
      #news .sec_ttl {
      margin-bottom: 50px;
      text-align: center;
    }
    #news .sec_ttl p {
      letter-spacing: .3rem;
    }
    #news h1 {
      border-bottom: 5px solid #c6b6d2;
      display: inline-block;
      font-weight: 300;
      margin-bottom: 20px;
      padding-bottom: 10px;
    }
  #news .news_sec {
    margin: 0 auto;
    text-align: left;
    width: 90%;
  }
  #news .news_sec a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  #news .news_sec a::after {
    position: absolute;
    bottom: -6px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(1, 1);
    transform-origin: left top;
    transition: transform .3s;
  }
  #news .news_sec a:hover::after {
    transform: scale(0, 1);
  }
  #news .news_sec .ttl_sub {
    color: #c6b6d2;
    padding-left: 10px;
  }
  #news .sec_ttl p {
    letter-spacing: .3rem;
  }
  #news .news_sec ul {
    margin-bottom: 30px;
    letter-spacing: .4rem;
    line-height: 2rem;
  }
  #news .news_sec:last-child {
    margin-bottom: 0;
  }
#news .news_sec ul li:nth-of-type(1) {
  margin-bottom: 20px;
}
#news .news_sec ul li:nth-of-type(2) {
  border-bottom: 1px solid #9a9198;
  padding-bottom: 30px;
  }
  #news .bk_nmb p {
    letter-spacing: .3rem;
    margin: 0 auto;
    text-align: right;
    width: 90%;
  }
  }
@media screen and (min-width: 768px) { /* PC */
.mv {
  background: url("../images/mv_pc.jpg") no-repeat center 0;
  background-size: 1920px 850px;
  margin: 0 auto;
  padding-bottom: 150px;
  text-align: center;
}
.mv .mv_inner {
  position: relative;
  margin: 0 auto;
  height: 698px;
  width: 750px;
}
.mv .mv_copy p {
/*   background-color: #fff; */
  color: gray;
  font-size: 4rem;
  letter-spacing: .2rem;
  padding: 20px 200px 20px 20px;
  position: absolute;
   top: 350px;
   left: -180px;
}
.mv .mv_copy p:nth-of-type(2) {
/*   background-color: #fff; */
  font-size: 3rem;
  letter-spacing: .5rem;
  padding: 20px 200px 20px 20px;
  position: absolute;
  top: 430px;
  left: -20px;
}
.mv .mv_scroll {
 position: absolute;
 left: 370px;
 bottom: 40px;
}
.mv .mv_scroll .mv_scroll_btn {
  background-color: #000;
  border-radius: 50%;
  color: #fff;
	height: 50px;
  margin: 0 auto;
  text-align: center;
  padding-top: 18px;
  vertical-align: middle;
  width: 50px;
}

 #philosophy {
   margin: 120px 0 0;
   text-align: center;
  }
 #philosophy .sec_ttl {
   margin-bottom: 50px;
  }
 #philosophy .sec_ttl p {
    letter-spacing: .3rem;
    }
  #philosophy h1 {
   border-bottom: 5px solid #c6b6d2;
   display: inline-block;
   font-weight: 300;
   letter-spacing: .3rem;
   margin-bottom: 20px;
   padding-bottom: 10px;
  }
#philosophy .philosophy_txt {
  background: url("../images/philosophy.jpg") no-repeat center 0;
  background-size: 1920px 750px;
  margin: 0 auto;
  padding: 100px 0;
}
#philosophy .philosophy_txt .txt_bgw {
  background-color: #fff;
  line-height: 3.5rem;
  letter-spacing: .3rem;
  margin: 0 auto;
  opacity: .85;
  padding: 80px;
  width: 1080px;
  Z-index: 999;
}

  #business {
    margin: 120px auto 1050px;
    text-align: center;
    width: 1080px;
  }
  #business .sec_ttl {
    margin-bottom: 50px;
  }
  #business .sec_ttl p {
    letter-spacing: .3rem;
    }
  #business h1 {
    border-bottom: 5px solid #c6b6d2;
    display: inline-block;
    font-weight: 300;
    letter-spacing: .3rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
  #business .business_sec_01  {
    display: flex;
    justify-content: center;
    position: relative;
  }
  #business .business_sec_01 .business_sec_txt_l {
    border: 3px solid #9a9198;
    height: 395px;
    padding: 40px 0;
    position: absolute;
    top: 30px;
    left: 0;
    width: 720px;
  }
    #business .business_sec_01 .business_sec_txt_l figure {
    margin-bottom: 30px;
    padding-left: 80px;
    width: 450px;
  }
  #business .business_sec_01 .business_sec_txt_l .business_txt {
    letter-spacing: .3rem;
    line-height: 3rem;
    padding-left: 80px;
    width: 450px;
  }
  #business .business_sec_01 .business_sec_txt_l .business_btn {
    background-color: #9a9198;
    border-radius: 20px;
    color: #fff;
    height: 50px;
    margin: 20px 120px;
    text-align: center;
    padding-top: 15px;
    width: 300px;
  }
  #business .business_sec_01 .business_sec_txt_l .business_btn a {
    display: inline-block;
    height: 100%;
    width: 100%;
  }
  #business .business_sec_01 .business_sec_img_r {
    position: absolute;
    top: 0;
    right: 0;
  }
  #business .business_sec_02  {
    margin-top: 400px;
    position: relative;
  }
  #business .business_sec_02 .business_sec_txt_r {
    border: 3px solid #9a9198;
    height: 395px;
    padding: 40px 0;
    position: absolute;
    top: 100px;
    right: 0;
    width: 720px;
  }
    #business .business_sec_02 .business_sec_txt_r figure {
    margin-bottom: 30px;
    padding-left: 130px;
    width: 800px;
  }
  #business .business_sec_02 .business_sec_txt_r .business_txt {
    letter-spacing: .3rem;
    line-height: 3rem;
    padding-left: 300px;
    width: 650px;
  }
  #business .business_sec_02 .business_sec_txt_r .business_btn {
    background-color: #9a9198;
    border-radius: 20px;
    color: #fff;
    height: 50px;
    margin: 25px 120px 0 330px;
    text-align: center;
    padding-top: 15px;
    width: 300px;
  }
  #business .business_sec_02 .business_sec_txt_r .business_btn a {
    display: inline-block;
    height: 100%;
    width: 100%;
  }
  #business .business_sec_02 .business_sec_img_l {
    position: absolute;
    top:80px;
    left: 0;
  }
    #about {
    margin: 200px auto 0;
    text-align: center;
  }
    #about .sec_ttl {
    margin-bottom: 50px;
  }
  #about .sec_ttl p {
    letter-spacing: .3rem;
    }
  #about h1 {
    border-bottom: 5px solid #c6b6d2;
    display: inline-block;
    font-weight: 300;
    letter-spacing: .3rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
  #about .about_table {
    background: url("../images/about.jpg") no-repeat center 0;
    background-size: 1920px 1319px;
    margin: 0 auto;
    padding: 100px 0;
  }
  #about .about_table .txt_bgw {
  background-color: #fff;
  line-height: 3rem;
  margin: 0 auto;
  opacity: .85;
  width: 1080px;
  Z-index: 999;
}
#about .about_table .txt_bgw tr {
  border-bottom: 1px solid #000;
}
#about .about_table .txt_bgw tr td {
  padding: 50px 0 50px 180px;
  text-align: left;
}

   #news {
    margin: 80px auto 0;
  }
    #news .sec_ttl {
    margin-bottom: 50px;
    text-align: center;
  }
  #news .sec_ttl p {
    letter-spacing: .3rem;
    }
  #news h1 {
    border-bottom: 5px solid #c6b6d2;
    display: inline-block;
    font-weight: 300;
    letter-spacing: .3rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
#news .news_sec {
  margin: 0 auto;
  text-align: left;
  width: 750px;
}
#news .news_sec a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
#news .news_sec a::after {
  position: absolute;
  bottom: -6px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #333;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform .3s;
}
#news .news_sec a:hover::after {
  transform: scale(0, 1);
}
#news .news_sec .ttl_sub {
  color: #c6b6d2;
  padding-left: 10px;
}
#news .news_sec ul {
  margin-bottom: 30px;
  letter-spacing: .3rem;
}
#news .news_sec:last-child {
  margin-bottom: 0;
}
#news .news_sec ul li:nth-of-type(1) {
  margin-bottom: 20px;
}
#news .news_sec ul li:nth-of-type(2) {
  border-bottom: 1px solid #9a9198;
  line-height: 3rem;
  padding-bottom: 30px;
}
  #news .bk_nmb p {
    letter-spacing: .3rem;
    margin: 0 auto;
    text-align: right;
    width: 750px;
  }
}

@media screen and (max-width: 767px) { /* SP */
  .bread {
    width:100%;
    max-width:100rem;
    margin:0 auto;
    background:#ffffff;
    z-index:300;
    position: relative;
  }
  .bread .bread_box {
    width:100%;
    margin:0 auto 30px;
    /*! padding:1.2rem 1.5rem; */
    text-align:left;
    }
  .bread .bread_item {
    display:inline-block;
    position:relative;
    padding:0 2rem 0 0;
    font-size:1.3rem;
    line-height: 2.5rem;
  }
  .bread .bread_item::after {
    content:'';
    display:block;
    position:absolute;
    top:1.2rem;
    right:0.7rem;
    width:0.3rem;
    height:0.3rem;
    border-top:solid 1px #3f3e42;
    border-right:solid 1px #3f3e42;
    transform:rotate(45deg);
  }
  .bread .bread_item a {
    color:#888;
  }
  .bread .bread_item:not(:nth-child(1)):last-child::after {
    content:none;
  }
  }
  @media screen and (min-width: 768px) { /* PC */
  .bread {
    width:100%;
    max-width:100rem;
    margin:0 auto;
    background:#ffffff;
    z-index:300;
    position: relative;
  }
  .bread .bread_box {
    width:800px;
    margin:0 auto;
    /*! padding:1.2rem 1.5rem; */
    text-align:left;
  }
  .bread .bread_item {
    display:inline-block;
    position:relative;
    padding:0 2rem 0 0;
    font-size:1.3rem;
    line-height:1.6rem;
  }
  .bread .bread_item::after {
    content:'';
    display:block;
    position:absolute;
    top:0.7rem;
    right:0.7rem;
    width:0.3rem;
    height:0.3rem;
    border-top:solid 1px #3f3e42;
    border-right:solid 1px #3f3e42;
    transform:rotate(45deg);
  }
  .bread .bread_item a {
    color:#888;
  }
  .bread .bread_item:not(:nth-child(1)):last-child::after {
    content:none;
  }
}
/* --------------------------------------- */
/* footer
/* --------------------------------------- */
@media screen and (max-width: 767px) { /* SP */
  .sp {
    display: none!important;
  }
    footer {
    background: #a0a0a2;
    color: #fff;
    margin: 100px auto 0;
    text-align: center;
    width: 100%;
  }
  /*
  footer .ft_nav {
  }
  footer .ft_nav .nav_inner ul {
    background-color: #e5e9ea;
    display: flex;
    font-size: 1rem;
    letter-spacing: .3rem;
    justify-content: center;
    margin: 0 auto;
    padding: 50px 0;
    width: 100%;
  }
  footer .ft_nav .nav_inner li {
    letter-spacing: .2rem;
    padding-right: .5rem;

  }
  footer .ft_nav .nav_inner li:last-child {
    padding-right: 0;
  }
   footer .ft_nav .nav_inner li:after{
    content: "|";
    padding-left: .5rem;
  }
   footer .ft_nav .nav_inner li:last-of-type:after{
    content: "";
    padding-left: .5rem;
  }
  footer .ft_sec {
    background-color: #fff;
    justify-content: space-between;
    margin: 80px auto;
    width: 100%;
  }
  footer .ft_sec .ft_l {
    display: flex;
    justify-content: center;
    align-items: middle;
  }
  footer .ft_sec .ft_l p {
    letter-spacing: .3rem;
    line-height: 2.2rem;
    margin: 20px 0 0 20px;
  }
 footer .ft_sec .ft_r ul{
   display: flex;
   flex-wrap: wrap;
   letter-spacing: .5rem;
   line-height: 4rem;
   margin: 50px 10px;
   width: 100%;
  }
   footer .ft_sec .ft_r li {
    letter-spacing: .5rem;
    line-height: 4rem;
    padding-right: 20px;
    margin: 0 auto;
  }
  */
  footer .ft_small{
    margin: 0 auto;
    padding: 20px 0;
    width: 100%;
  }
  footer p {
    font-size: 1.3rem;
    font-weight: 300;
  }
}

@media screen and (min-width: 768px) { /* PC */
  .sp {
    display: none!important;
  }
    footer {
    background: #a0a0a2;
    color: #fff;
    margin: 100px auto 0;
    text-align: center;
    width: 100%;
  }
  /*
  footer {
    color: #a0a0a2;
    margin: 200px auto 0;
    width: 100%;
  }
  footer .ft_nav {
  }
  footer .ft_nav .nav_inner ul {
    background-color: #e5e9ea;
    display: flex;
    letter-spacing: .3rem;
    justify-content: center;
    margin: 0 auto;
    padding: 50px 0;
    width: 100%;
  }
  footer .ft_nav .nav_inner li {
    padding-right: 80px;
  }
  footer .ft_nav .nav_inner li:last-child {
    padding-right: 0;
  }
  footer .ft_sec {
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    margin: 100px auto;
    width: 1080px;
  }
  footer .ft_sec .ft_l {
    display: flex;
    justify-content: center;
    align-items: middle;
  }
  footer .ft_sec .ft_l p {
    letter-spacing: .3rem;
    line-height: 2.2rem;
    margin: 20px 0 0 20px;
  }
   footer .ft_sec .ft_r li {
    letter-spacing: .5rem;
    line-height: 4rem;
  }
  */
  footer .ft_small{
    margin: 0 auto;
    padding: 20px 0;
    width: 1080px;
  }
  footer p {
  font-size: 1.5rem;
  font-weight: 300;
  }
}
