.big-bg {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.crimson {
  font-family: 'Crimson Text', serif; }

li {
  list-style: none; }

a {
  text-decoration: none;
  color: #111; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

.header {
  overflow: hidden; }

.about {
  overflow: hidden; }

.design {
  overflow: hidden; }

.our-items-sec {
  overflow: hidden; }

.contact {
  overflow: hidden; }

.footer-sec {
  overflow: hidden; }

.fadeIn {
  transform: translate3d(0, -40px, 0);
  transition: 1.5s;
  opacity: 0; }
  .fadeIn.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1; }

.fadeInLeft {
  transform: translate3d(-40px, 0, 0);
  transition: 1s;
  opacity: 0; }
  .fadeInLeft.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1; }

.fadeInRight {
  transform: translate3d(40px, 0, 0);
  transition: 2s;
  opacity: 0; }
  .fadeInRight.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1; }

.fadeInBottom {
  transform: translate3d(0, 40px, 0);
  transition: 3s;
  opacity: 0; }
  .fadeInBottom.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1; }

.ttl {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  color: black; }
  @media screen and (min-width: 530px) {
    .ttl {
      font-size: 3.5rem; } }
  @media screen and (max-width: 420px) {
    .ttl {
      font-size: 2.4rem; } }
  .ttl span {
    opacity: 0;
    -webkit-transition: .6s ease-in-out;
    transition: .6s ease-in-out; }

.ttl1 span {
  opacity: 0;
  -webkit-transition: .6s ease-in-out;
  transition: .6s ease-in-out; }
  .ttl1 span.animated {
    opacity: 1; }

#header {
  min-height: 100vh;
  position: relative; }
  #header .header-logo-sp {
    position: absolute;
    z-index: 10000;
    top: 5%;
    left: 10%; }
  #header .header-logo {
    display: none; }
  #header .header-right-photo {
    background-image: url("../images/saki-nakashima4.jpg");
    top: 0;
    left: 0;
    width: 70%;
    height: 70vh; }
  #header .header-left-photo {
    background-image: url("../images/header-right-bg.JPG");
    margin: 10% 0 0 32%;
    width: 70%;
    height: 60vw;
    top: 160px;
    right: 0;
    margin-left: 30%; }
  #header .background-black {
    display: block;
    position: absolute;
    top: 400px;
    width: 100%;
    height: calc(100vh - 59% + 236px);
    background-color: #333;
    z-index: -100; }
  #header .header-center-subtitle {
    position: absolute;
    left: 45%;
    top: 35%; }
    @media screen and (min-width: 541px) {
      #header .header-center-subtitle {
        top: 25%;
        left: 50%; } }
    @media screen and (max-width: 420px) {
      #header .header-center-subtitle {
        top: 30%;
        left: 40%; } }
  #header .header-pc-navigation {
    display: none; }
  #header .header-sp-navigation {
    position: fixed;
    z-index: 10000;
    top: 2%;
    right: 5%;
    cursor: pointer; }
    #header .header-sp-navigation .btn-header-sp .open-icon {
      position: relative;
      height: 32px;
      width: 32px; }
      #header .header-sp-navigation .btn-header-sp .open-icon span {
        position: absolute;
        display: block;
        height: 2px;
        background-color: black;
        width: 32px; }
        #header .header-sp-navigation .btn-header-sp .open-icon span:first-child {
          top: 12px; }
        #header .header-sp-navigation .btn-header-sp .open-icon span:nth-child(2) {
          top: 24px; }
        #header .header-sp-navigation .btn-header-sp .open-icon spanspan:nth-child(3) {
          bottom: 12px; }
  #header .header-sp-menu {
    height: 60vh;
    position: fixed;
    z-index: 10000;
    top: -100%;
    background-color: #fff;
    width: 100%;
    opacity: .95; }
    #header .header-sp-menu .btn-header-sp-menu {
      position: absolute;
      top: 7%;
      right: 5%;
      cursor: pointer; }
      #header .header-sp-menu .btn-header-sp-menu .close-icon {
        position: relative;
        height: 32px;
        width: 32px; }
        #header .header-sp-menu .btn-header-sp-menu .close-icon span {
          position: absolute;
          display: block;
          height: 2px;
          background-color: black;
          width: 32px; }
          #header .header-sp-menu .btn-header-sp-menu .close-icon span:first-child {
            transform: rotate(45deg); }
          #header .header-sp-menu .btn-header-sp-menu .close-icon span:nth-child(2) {
            transform: rotate(-45deg); }
    #header .header-sp-menu .header-logo-menu-sp {
      text-align: center;
      margin-bottom: 5%; }
    #header .header-sp-menu .center-area-sp-menu {
      padding: 50px 0 50px;
      height: 100%; }
    #header .header-sp-menu .menu {
      text-align: center; }
      #header .header-sp-menu .menu .menu1 li {
        margin-bottom: 20px; }
    #header .header-sp-menu .sns-box {
      text-align: center; }
    #header .header-sp-menu .copy-right {
      text-align: center;
      margin-top: 10px; }

.about {
  padding: 10% 5%;
  width: 100%; }
  .about .about-logo {
    width: 100%;
    text-align: center; }
    .about .about-logo .about-title {
      font-size: 2rem;
      color: #111; }
      @media screen and (max-width: 439px) {
        .about .about-logo .about-title {
          color: #fff; } }
  .about .about-sec-copy {
    padding: 10% 0 0; }
    .about .about-sec-copy .about-sec-copy-title {
      color: #111;
      font-size: 2.6rem;
      line-height: 1.65;
      margin-bottom: 40px; }
    .about .about-sec-copy .about-sec-lead {
      display: flex;
      flex-direction: column;
      padding: 0;
      font-size: 1rem;
      letter-spacing: 0.2rem; }

.design .design-sec-intro {
  position: relative;
  width: 100%;
  height: auto; }
  .design .design-sec-intro::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background-color: #333;
    z-index: -100; }
  .design .design-sec-intro .design-sec-img01 {
    width: 61%; }
    .design .design-sec-intro .design-sec-img01 img {
      margin-top: 25%;
      width: 100%;
      height: auto; }
  .design .design-sec-intro .design-sec-img02 {
    width: 47%;
    margin: -20% 0 0 55%; }
    .design .design-sec-intro .design-sec-img02 img {
      width: 100%; }
.design .design-sec-contents {
  position: relative;
  color: #fff;
  padding: 70px 0 70px; }
  .design .design-sec-contents::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #333;
    z-index: -100; }
  .design .design-sec-contents .design-sub-title {
    text-align: center;
    padding: 0 0 50px; }
    .design .design-sec-contents .design-sub-title .design-sec-subtitle01 {
      font-size: 2rem; }
  .design .design-sec-contents .design-sec-images {
    display: flex;
    width: 100%;
    margin: 0 auto; }
    .design .design-sec-contents .design-sec-images .left-images {
      width: 46%;
      margin-right: 8%; }
      .design .design-sec-contents .design-sec-images .left-images li {
        margin-bottom: 5%; }
        .design .design-sec-contents .design-sec-images .left-images li img {
          width: 100%; }
    .design .design-sec-contents .design-sec-images .right-images {
      width: 46%; }
      .design .design-sec-contents .design-sec-images .right-images li {
        margin-bottom: 5%; }
        .design .design-sec-contents .design-sec-images .right-images li img {
          width: 100%; }

.our-items-sec .our-items-sec-title {
  text-align: center;
  padding-top: 120px;
  margin-bottom: 115px; }
  .our-items-sec .our-items-sec-title .our-items-ttl01 {
    font-size: 2rem; }
.our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-img {
  width: 80%;
  margin: 0 20% 0 0; }
  .our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-img img {
    width: 100%;
    height: auto; }
.our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-text {
  color: black;
  width: 100%;
  padding: 8% 7% 5% 18%;
  z-index: 100;
  position: relative; }
  .our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-text::before {
    content: " ";
    display: block;
    position: absolute;
    top: 25%;
    left: -5%;
    width: 20%;
    height: 1px;
    background-color: black; }
  .our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-text .our-items-sec-text-title {
    margin-bottom: 20px; }
    .our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-text .our-items-sec-text-title p {
      font-size: 2rem; }
    .our-items-sec .our-items-sec-list li:nth-child(odd) .our-items-sec-text .our-items-sec-text-title h2 {
      font-size: 2rem;
      margin-bottom: 20px; }
.our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-img {
  width: 80%;
  margin: 0 0 0 20%; }
  .our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-img img {
    width: 100%;
    height: auto; }
.our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-text {
  color: black;
  width: 100%;
  padding: 8% 7% 5% 18%;
  z-index: 100;
  position: relative; }
  .our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-text::before {
    content: " ";
    display: block;
    position: absolute;
    top: 25%;
    left: -5%;
    width: 20%;
    height: 1px;
    background-color: black; }
  .our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-text .our-items-sec-text-title {
    margin-bottom: 20px; }
    .our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-text .our-items-sec-text-title p {
      font-size: 2rem; }
    .our-items-sec .our-items-sec-list li:nth-child(even) .our-items-sec-text .our-items-sec-text-title h2 {
      font-size: 1.9rem;
      margin-bottom: 20px; }

.contact {
  width: 100%;
  padding: 10% 0 10% 0; }
  .contact .contact-contents {
    opacity: 1;
    width: 80%;
    margin: 0 auto; }
    .contact .contact-contents .contact-title {
      text-align: center;
      padding-bottom: 50px; }
      .contact .contact-contents .contact-title .left-contact-ttl01 {
        font-size: 2rem; }
    .contact .contact-contents .contact-form {
      margin-top: 5%; }
      .contact .contact-contents .contact-form .flex {
        display: flex;
        flex-direction: column;
        margin-bottom: 2%; }
        .contact .contact-contents .contact-form .flex dt {
          font-size: 1rem;
          padding-bottom: 2%; }
        .contact .contact-contents .contact-form .flex dd input[type="text"],
        .contact .contact-contents .contact-form .flex dd input[type="email"],
        .contact .contact-contents .contact-form .flex dd input[type="tel"],
        .contact .contact-contents .contact-form .flex dd textarea {
          width: 100%;
          border: 1px solid #333; }
        .contact .contact-contents .contact-form .flex dd input[type="text"],
        .contact .contact-contents .contact-form .flex dd input[type="email"],
        .contact .contact-contents .contact-form .flex dd input[type="tel"] {
          height: 50px;
          font-size: 1rem; }
        .contact .contact-contents .contact-form .flex dd textarea {
          height: 200px; }
      .contact .contact-contents .contact-form .dd_btn {
        padding-top: 2%; }
        .contact .contact-contents .contact-form .dd_btn .ex {
          font-size: .5rem; }
      .contact .contact-contents .contact-form .send {
        font-size: 1rem;
        padding: 10px 12px 0 12px;
        border-bottom: 3px solid #333;
        height: 40px; }
        .contact .contact-contents .contact-form .send:hover {
          opacity: .5; }

#footer {
  position: relative;
  background-color: #333; }
  #footer .footer-inner {
    padding: 20% 15% 50px; }
    #footer .footer-inner .back-to-top {
      height: 60px;
      width: 60px;
      background-color: #111;
      text-align: center;
      line-height: 60px;
      border-radius: 50%;
      position: fixed;
      right: 5%;
      bottom: 14%;
      z-index: 10000; }
      #footer .footer-inner .back-to-top a {
        height: 100%;
        width: 100%;
        display: block;
        color: #fff; }
    #footer .footer-inner .footer-nav ul {
      display: flex;
      flex-direction: column; }
      #footer .footer-inner .footer-nav ul li:not(:first-child) {
        margin-top: 5%; }
      #footer .footer-inner .footer-nav ul li a {
        color: #fff; }
    #footer .footer-inner .footer-logo {
      margin-top: 10%;
      display: flex;
      flex-direction: column; }
      #footer .footer-inner .footer-logo a {
        color: #fff; }
        #footer .footer-inner .footer-logo a:first-child {
          margin-bottom: 5%; }
    #footer .footer-inner .copy-right {
      color: #fff;
      text-align: center;
      padding: 50px 0; }
