/*----------------------------------------------------------
 *      Initialize
 *----------------------------------------------------------*/
html {
  width: 100%;
  min-width: 100%;
  height: 100%;
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 16px; }
  @media only screen and (max-width: 768px) {
    html {
      min-width: 100%;
      font-size: 10px !important; } }

body {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background: #ffffff;
  font-size: 16px;
  font-family: "Noto Sans Japanese", sans-serif !important;
  color: #565947; }
  @media only screen and (max-width: 768px) {
    body {
      min-width: 100%;
      font-size: 12px !important; } }

p {
  margin: 0; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none; }

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0; }

strong {
  font-weight: bold; }

a {
  color: #b28378;
  text-decoration: none;
  transition: all 0.3s; }
  @media only screen and (max-width: 768px) {
    a {
      transition: none; } }
  a:hover {
    color: #333333;
    text-decoration: underline; }
  a:focus {
    color: #333333; }

/*----------------------------------------------------------
 *      Common
 *----------------------------------------------------------*/
.contents--wrap {
  width: 100%;
  min-width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .contents--wrap {
      width: 100%;
      min-width: 100%; } }

.tool__more {
  width: 200.95px;
  height: 55.95px;
  margin: 0 auto; }
  .tool__more a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 200.95px;
    height: 55.95px;
    background: url("images/tool__more.svg") no-repeat;
    background-size: 200.95px 55.95px; }
  .tool__more a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .tool__more {
      width: 100.475px;
      height: 27.975px; }
      .tool__more a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 100.475px;
        height: 27.975px;
        background: url("images/tool__more.svg") no-repeat;
        background-size: 100.475px 27.975px; }
      .tool__more a:hover {
        opacity: 0.6; } }

.tool__more--2 {
  width: 201.32px;
  height: 57.29px;
  margin: 0 auto; }
  .tool__more--2 a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 201.32px;
    height: 57.29px;
    background: url("images/tool__more--2.svg") no-repeat;
    background-size: 201.32px 57.29px; }
  .tool__more--2 a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .tool__more--2 {
      width: 100.66px;
      height: 28.645px; }
      .tool__more--2 a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 100.66px;
        height: 28.645px;
        background: url("images/tool__more--2.svg") no-repeat;
        background-size: 100.66px 28.645px; }
      .tool__more--2 a:hover {
        opacity: 0.6; } }

.tool__top {
  width: 128.5px;
  height: 36.92px;
  margin: 0 auto; }
  .tool__top a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 128.5px;
    height: 36.92px;
    background: url("images/tool__top.svg") no-repeat;
    background-size: 128.5px 36.92px; }
  .tool__top a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .tool__top {
      width: 79.5335px;
      height: 23.019px; }
      .tool__top a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 79.5335px;
        height: 23.019px;
        background: url("images/tool__top.svg") no-repeat;
        background-size: 79.5335px 23.019px; }
      .tool__top a:hover {
        opacity: 0.6; } }

/*----------------------------------------------------------
 *      FadeIn-Out
 *----------------------------------------------------------*/
body:after,
.page__overlay:after {
  z-index: 9999;
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease; }

body.page--fade::after,
.page__overlay.page--fade::after {
  opacity: 1; }

/*----------------------------------------------------------
 *      Slide Nav
 *----------------------------------------------------------*/
.slide__gnav {
  position: fixed;
  top: -100px;
  left: 0;
  width: 100%;
  height: 90px;
  background: linear-gradient(180deg, rgba(218, 206, 190, 0.5), rgba(218, 206, 190, 0));
  z-index: 3; }
  @media only screen and (max-width: 768px) {
    .slide__gnav {
      height: 60px; } }
  .slide__gnav .contents--wrap {
    position: relative; }
  .slide__gnav h1 {
    position: absolute;
    top: 30px;
    left: 58px;
    font-family: "Helvetica Neue", "Arial", sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      .slide__gnav h1 {
        top: 22px;
        left: 40px; } }
  .slide__gnav ul {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    top: 30px;
    right: 60px; }
    @media only screen and (max-width: 768px) {
      .slide__gnav ul {
        top: 22px;
        right: 50px; } }
  .slide__gnav li {
    margin: 0 0 0 25px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 1.125rem;
    font-weight: 200;
    letter-spacing: 0.05em; }
  .slide__gnav a {
    color: #565947; }

/*----------------------------------------------------------
 *      FOOTER
 *----------------------------------------------------------*/
footer {
  padding: 60px 0 30px 0;
  background: #dacebe; }
  @media only screen and (max-width: 768px) {
    footer {
      padding: 35px 0 20px 0; } }

.foot__tool--wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 50px 0; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap ul {
      margin: 0 0 18px 0; } }

.foot__tool--wrap li {
  margin: 0 15px; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap li {
      margin: 0 12px; } }

.foot__tool--wrap li:nth-child(1) {
  width: 50px;
  height: 50px; }
  .foot__tool--wrap li:nth-child(1) a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 50px;
    height: 50px;
    background: url("../images/foot__sns--1.png") no-repeat;
    background-size: 50px 50px; }
  .foot__tool--wrap li:nth-child(1) a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap li:nth-child(1) {
      width: 40px;
      height: 40px; }
      .foot__tool--wrap li:nth-child(1) a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 40px;
        height: 40px;
        background: url("../images/foot__sns--1.png") no-repeat;
        background-size: 40px 40px; }
      .foot__tool--wrap li:nth-child(1) a:hover {
        opacity: 0.6; } }

.foot__tool--wrap li:nth-child(2) {
  width: 50px;
  height: 50px; }
  .foot__tool--wrap li:nth-child(2) a {
    overflow: hidden;
    text-indent: 101%;
    white-space: nowrap;
    display: block;
    width: 50px;
    height: 50px;
    background: url("../images/foot__sns--2.png") no-repeat;
    background-size: 50px 50px; }
  .foot__tool--wrap li:nth-child(2) a:hover {
    opacity: 0.6; }
  @media only screen and (max-width: 768px) {
    .foot__tool--wrap li:nth-child(2) {
      width: 40px;
      height: 40px; }
      .foot__tool--wrap li:nth-child(2) a {
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap;
        display: block;
        width: 40px;
        height: 40px;
        background: url("../images/foot__sns--2.png") no-repeat;
        background-size: 40px 40px; }
      .foot__tool--wrap li:nth-child(2) a:hover {
        opacity: 0.6; } }

.foot__copyright {
  font-size: 0.75rem;
  color: #ffffff;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .foot__copyright {
      font-size: 1rem; } }

/*----------------------------------------------------------
 *      Header
 *----------------------------------------------------------*/
header {
  width: 100%;
  height: 100px;
  z-index: 3; }
  @media only screen and (max-width: 768px) {
    header {
      height: 60px; } }
  header .contents--wrap {
    position: relative; }
  header h1 {
    position: absolute;
    top: 66px;
    left: 58px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 1.5rem;
    font-weight: 200;
    letter-spacing: 0.05em;
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      header h1 {
        top: 55px;
        left: 50px; } }
  header ul {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    top: 66px;
    right: 60px; }
    @media only screen and (max-width: 768px) {
      header ul {
        top: 55px;
        right: 50px; } }
  header li {
    margin: 0 0 0 25px;
    font-family: "Noto Sans Japanese", sans-serif;
    font-size: 1.125rem;
    font-weight: 200;
    letter-spacing: 0.05em; }
  header a {
    color: #565947; }

/*----------------------------------------------------------
 *      Profile
 *----------------------------------------------------------*/
.profile--area {
  padding: 90px 0 100px 0; }
  @media only screen and (max-width: 768px) {
    .profile--area {
      padding: 80px 0 40px 0; } }
  .profile--area .contents--wrap {
    width: 1080px;
    min-width: 1080px; }
    @media only screen and (max-width: 768px) {
      .profile--area .contents--wrap {
        width: 100%;
        min-width: 100%; } }

.profile--wrap {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .profile--wrap {
      display: block; } }

.profile--element {
  flex-basis: 50%; }
  @media only screen and (max-width: 768px) {
    .profile--element img {
      width: 100%; } }

.profile--element:nth-child(2) {
  flex-basis: calc(50% - 28px);
  margin: 0 0 0 28px; }

.profile__name {
  margin: 30px 0 56px 0;
  font-size: 1.625rem;
  font-weight: 300;
  letter-spacing: 0.1em; }
  @media only screen and (max-width: 768px) {
    .profile__name {
      margin: 30px 0 20px 0;
      font-size: 1.8rem; } }

.profile__job {
  margin: 0 0 36px 0;
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 1.25rem;
  font-weight: 200;
  letter-spacing: 0.1em; }
  @media only screen and (max-width: 768px) {
    .profile__job {
      margin: 0 0 20px 0; } }
  .profile__job li {
    line-height: 1.75; }

.profile__contact {
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 1.25rem;
  font-weight: 200;
  letter-spacing: 0.1em; }
