* {
  margin: 0;
  padding: 0;
  list-style-type: none;
  box-sizing: border-box;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  text-decoration: none; }

header {
  padding: 50px 0 0 0;
  position: relative; }
  header .headerLogo {
    width: 220px;
    display: block;
    margin: 0 auto; }
  header .sns {
    position: absolute;
    top: 50px;
    left: 80px; }
    header .sns a {
      transition: .3s;
      display: inline-block; }
      header .sns a:hover {
        transform: translateY(-8px); }
    header .sns img {
      width: 25px;
      margin-right: 25px; }
  header nav {
    display: block;
    width: 100%;
    border-top: solid thin gray;
    border-bottom: solid thin gray;
    padding: 20px 0;
    margin: 50px 0 0 0; }
    header nav ul {
      width: 900px;
      display: flex;
      margin: 0 auto;
      justify-content: space-between; }
      header nav ul li a {
        color: #4d4d4d; }
      header nav ul li a.line {
        width: 100%;
        height: 100%;
        position: relative; }
        header nav ul li a.line::before, header nav ul li a.line::after {
          border-bottom: solid 1px #4d4d4d;
          bottom: -5px;
          content: "";
          display: block;
          position: absolute;
          transition: all .3s ease;
          -webkit-transition: all .3s ease;
          width: 0; }
        header nav ul li a.line::before {
          left: 50%; }
        header nav ul li a.line::after {
          right: 50%; }
        header nav ul li a.line:hover::before, header nav ul li a.line:hover::after {
          width: 50%; }

h2 {
  font-size: 30px;
  color: #4d4d4d;
  text-align: center;
  margin-bottom: 75px; }

footer {
  padding: 80px 0;
  background-color: #685B56;
  position: relative; }
  footer .footerLogo {
    margin-left: 180px;
    transition: .3s; }
    footer .footerLogo img {
      width: 165px; }
    footer .footerLogo:hover {
      opacity: 0.5; }
  footer nav {
    position: absolute;
    top: 80px;
    right: 180px; }
    footer nav ul {
      width: 650px;
      display: flex;
      justify-content: space-between; }
      footer nav ul li {
        display: inline-block; }
        footer nav ul li a {
          color: white; }
        footer nav ul li a.line {
          width: 100%;
          height: 100%;
          position: relative; }
          footer nav ul li a.line::before, footer nav ul li a.line::after {
            border-bottom: solid 1px white;
            bottom: -5px;
            content: "";
            display: block;
            position: absolute;
            transition: all .3s ease;
            -webkit-transition: all .3s ease;
            width: 0; }
          footer nav ul li a.line::before {
            left: 50%; }
          footer nav ul li a.line::after {
            right: 50%; }
          footer nav ul li a.line:hover::before, footer nav ul li a.line:hover::after {
            width: 50%; }
  footer .sns {
    position: absolute;
    bottom: 80px;
    right: 180px; }
    footer .sns a {
      width: 25px;
      display: inline-block;
      margin-left: 20px;
      transition: .3s; }
      footer .sns a:hover {
        transform: translateY(-8px); }
    footer .sns img {
      width: 25px; }

@media (max-width: 768px) {
  header, nav {
    display: none; }

  footer {
    display: none; } }
.pc {
  display: block; }

.sp {
  display: none; }

#hero {
  background-image: url("../img/companyHero.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 500px; }

#profile {
  padding: 90px 0 200px 0; }
  #profile .titleEn {
    width: 85px;
    display: block;
    margin: 0 auto 15px auto; }
  #profile h2 {
    line-height: 1.5; }
  #profile > div {
    display: table;
    margin: 0 auto; }
    #profile > div .profile {
      display: inline-block;
      width: 270px;
      height: 270px;
      border-radius: 50%;
      background: gray;
      vertical-align: top;
      margin-right: 40px;
      color: #4d4d4d; }
    #profile > div dl {
      display: inline-block;
      margin: 0 auto;
      vertical-align: top; }
      #profile > div dl dt {
        font-size: 30px;
        margin-bottom: 35px; }
        #profile > div dl dt:after {
          content: "Atsuko Sako";
          font-size: 15px;
          margin-left: 20px; }
      #profile > div dl p.title {
        padding: 0 10px 0 10px;
        border: solid thin gray;
        display: inline-block;
        margin-bottom: 20px;
        font-size: 19px; }
      #profile > div dl p {
        font-size: 19px;
        line-height: 2; }

#companyProfile {
  padding: 90px 0;
  background-color: #E8EEEC; }
  #companyProfile .titleEn {
    width: 175px;
    display: block;
    margin: 0 auto 15px auto; }
  #companyProfile table {
    border-collapse: collapse;
    margin: 0 auto; }
    #companyProfile table td {
      border-bottom: solid thin gray;
      padding: 20px; }
    #companyProfile table td:first-of-type {
      border-right: solid thin gray; }

#managementPhilosophy {
  padding: 90px 0; }
  #managementPhilosophy > div {
    display: table;
    margin: 0 auto;
    position: relative; }
    #managementPhilosophy > div h2 {
      margin-bottom: 30px;
      text-align: left; }
    #managementPhilosophy > div h2:after {
      content: "management philosophy";
      font-size: 15px;
      margin-left: 20px;
      color: #478250; }
    #managementPhilosophy > div h2:before {
      position: absolute;
      top: -30px;
      left: -80px;
      content: "";
      width: 90px;
      height: 90px;
      border-radius: 50%;
      background-color: yellow;
      z-index: -1; }
    #managementPhilosophy > div p {
      font-size: 26px;
      line-height: 1.8; }
    #managementPhilosophy > div ul li {
      display: inline-block;
      vertical-align: top; }
      #managementPhilosophy > div ul li img {
        width: 200px;
        margin-left: 30px; }

@media (max-width: 768px) {
  header, nav {
    display: none; }

  footer {
    display: none; }

  .pc {
    display: none; }

  .sp {
    display: block; }

  #profile {
    padding: 90px 0 100px 0; }
    #profile .titleEn {
      width: 85px;
      display: block;
      margin: 0 auto 15px auto; }
    #profile h2 {
      line-height: 1.5; }
    #profile > div {
      display: block;
      margin: 0 auto; }
      #profile > div .profile {
        display: block;
        width: 270px;
        height: 270px;
        border-radius: 50%;
        background: gray;
        vertical-align: top;
        margin: 0 auto;
        color: #4d4d4d; }
      #profile > div dl {
        display: block;
        margin: 0 auto;
        width: 85%; }
        #profile > div dl dt {
          font-size: 30px;
          margin: 30px auto 50px auto;
          text-align: center; }
          #profile > div dl dt:after {
            content: "Atsuko Sako";
            font-size: 15px;
            margin: 10px 0px;
            display: block;
            text-align: center; }
        #profile > div dl p.title {
          border: solid thin gray;
          display: inline-block;
          margin-bottom: 20px;
          font-size: 19px; }
        #profile > div dl p {
          font-size: 15px;
          line-height: 2; }

  #companyProfile {
    padding: 90px 0;
    background-color: #E8EEEC; }
    #companyProfile .titleEn {
      width: 175px;
      display: block;
      margin: 0 auto 15px auto; }
    #companyProfile table {
      border-collapse: collapse;
      margin: 0 auto;
      width: 90%;
      font-size: 15px; }
      #companyProfile table td {
        border-bottom: solid thin gray;
        padding: 5px;
        line-height: 1.5; }
      #companyProfile table td:first-of-type {
        border-right: solid thin gray;
        width: 35%; }
      #companyProfile table td:nth-of-type(2) {
        width: 65%; }

  #managementPhilosophy {
    padding: 90px 0; }
    #managementPhilosophy > div {
      display: block;
      margin: 0 auto;
      position: relative;
      width: 90%; }
      #managementPhilosophy > div h2 {
        margin-bottom: 30px;
        text-align: center;
        display: block; }
      #managementPhilosophy > div h2:after {
        content: "management philosophy";
        font-size: 18px;
        margin-left: 0px;
        margin-top: 10px;
        color: #478250;
        display: block; }
      #managementPhilosophy > div h2:before {
        position: absolute;
        top: -20px;
        left: 0px;
        content: "";
        width: 90px;
        height: 90px;
        border-radius: 50%;
        background-color: yellow;
        z-index: -1; }
      #managementPhilosophy > div p {
        font-size: 20px;
        line-height: 1.8;
        display: block;
        width: 270px;
        margin: 0 auto; }
      #managementPhilosophy > div ul li {
        display: block;
        margin: 0 auto; }
        #managementPhilosophy > div ul li img {
          width: 70%;
          display: block;
          margin: 50px auto 0 auto; } }
