@charset "utf-8";
/*=========================================================================================================
    base
===========================================================================================================*/

/*=========================================================================================================
    Mobile
===========================================================================================================*/
@media only screen and (max-width: 767px) {

/*--------------------
    Common
----------------------*/
  section .section_title_wrap {
    margin: 5rem 0;
    text-align: center;
  }

  section .section_title_wrap h2 {
    letter-spacing: .1em;
    margin: 0 auto;
    transform: skew(-7deg);
    width: 90%;
  }

  section .section_title_wrap h2 span {
    border-bottom: 1px solid;
    font-family: Ftr-Bk;
    font-size: 10vw;
    letter-spacing: normal;
    line-height: 2em;
    padding:.2em 1em;
  }

/*--------------------
    signboard
----------------------*/
  #signboard .section_inner {
    background: #f44d80;
    color: #fff;
    height: 70vw;
    margin: 10vw auto;
    overflow: hidden;
    position: relative;
    width: 100%;
  }

  #signboard p {
    display: inline-block;
    font-size: 6.2vw;
    letter-spacing: .3rem;
    margin: 0 auto;
    padding: 0 0 0 2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  #signboard p span {
    display: block;
    position: relative;
    transform: skew(-7deg);
  }

  #signboard p:before {
    background: url(../images/top/sec01-signboard01.svg) center center/contain no-repeat;
    content: "";
    display: block;
    height: 5vw;
    left: -2vw;
    position: absolute;
    top: 0;
    width: 3rem;
  }

  #signboard p:after {
    background: url(../images/top/sec01-signboard02.svg) center center/contain no-repeat;
    content: "";
    display: block;
    height: 5vw;
    position: absolute;
    right: -9vw;
    bottom: 0;
    width: 3rem;
  }

/*--------------------
    rhilosophy
----------------------*/
  #rhilosophy .section_inner {
    margin: 0 auto;
    width: 100%;
  }

  #rhilosophy .section_inner div:first-of-type {
    font-size: 5vw;
    letter-spacing: 0.05em;
    line-height: 1.7em;
    text-align: center;
  }

  #rhilosophy .section_inner div:last-of-type {
    font-size: 4vw;
    line-height: 1.7em;
  }

  #rhilosophy .section_inner div p {
    letter-spacing: 0.1em;
    margin: 3em auto;
    width: 95%;
  }

/*--------------------
    location
----------------------*/
  #location #map iframe {
    margin-bottom: 7rem;
    width: 100%;
  }

  #location .section_content_wrap ul {
    margin: 0 auto;
    width: 100%;
  }

  #location .section_content_wrap ul li {
    width: 100%;
  }

  #location .section_content_wrap ul figure {
    margin: 0 0 5vw;
  }

  #location figure img {
    margin: 0 0 2vw;
    max-width: 100%;
  }

  #location .summary {
    font-size: 4vw;
    margin: 0 auto;
  }

  #location .summary > p {
    line-height: 2em;
    margin-left: 6rem 0;
    max-width: 100%;
    padding: 0 1em;
  }

  #location .address {
    margin: 15vw auto;
    width: 80%;
  }

  #location .address p {
    transform: skew(-7deg);
  }

  #location .address p:nth-of-type(4),
  #location .address p:last-of-type {
    padding-left: 2em;
  }





}

/*=========================================================================================================
    PC
===========================================================================================================*/
@media only screen and (min-width: 768px) {
/*--------------------
    Common
----------------------*/
  main > section {

  }

  section .section_title_wrap {
    margin: 5rem 0;
    text-align: center;
  }

  section .section_title_wrap h2 {
    letter-spacing: .1em;
    margin: 0 auto;
    transform: skew(-7deg);
    width: 90%;
  }

  section .section_title_wrap h2 span {
    border-bottom: 1px solid;
    font-family: Ftr-Bk;
    font-size: 4.3rem;
    letter-spacing: normal;
    line-height: 2em;
    padding:.2em 1em;
  }

/*--------------------
    signboard
----------------------*/
  #signboard .section_inner {
    background: #f44d80;
    color: #fff;
    height: 250px;
    margin: 125px auto;
    position: relative;
    width: 100%;
  }

  #signboard p {
    display: inline-block;
    font-size: 3rem;
    left: 50%;
    letter-spacing: .4rem;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  #signboard p span {
    display: block;
    position: relative;
    transform: skew(-7deg);
  }

  #signboard p:before {
    background: url(../images/top/sec01-signboard01.svg) center center/contain no-repeat;
    content: "";
    display: block;
    height: 3rem;
    left: -5rem;
    position: absolute;
    top: 0;
    width: 3.4rem;
  }

  #signboard p:after {
    background: url(../images/top/sec01-signboard02.svg) center center/contain no-repeat;
    content: "";
    display: block;
    height: 3rem;
    position: absolute;
    right: -5rem;
    bottom: 0;
    width: 3.4rem;
  }

/*--------------------
    rhilosophy
----------------------*/
  #rhilosophy .section_inner {
    margin: 0 auto;
    width: 1000px;
  }

  #rhilosophy .section_inner div:first-of-type {
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.7em;
  }

  #rhilosophy .section_inner div:last-of-type {
    font-size: 1.6rem;
    line-height: 1.7em;
  }

  #rhilosophy .section_inner div p {
    letter-spacing: 0.1em;
    margin: 3em 0;
  }

/*--------------------
    location
----------------------*/
  #location #map iframe {
    margin-bottom: 7rem;
    width: 100%;
  }

  #location .section_content_wrap ul {

  }

  #location figure img {
    width: 350px;
  }

  #location .summary {
    font-size: 1.6rem;
    margin: 0 auto;
    width: 1000px;
  }

  #location .summary > p {
    line-height: 2em;
    margin-left: 6rem 0;
  }

  #location .address {
    margin: 5rem auto;
    width: calc(100% / 3);
  }

  #location .address p {
    transform: skew(-7deg);
  }

  #location .address p:nth-of-type(4),
  #location .address p:last-of-type {
    padding-left: 2em;
  }



}
