@charset "UTF-8";
/* stylelint-disable order/properties-alphabetical-order */
/* stylelint-enable */
@font-face {
  font-family: "DIN Alternate Bold";
  font-style: normal;
  font-weight: normal;
  src: local("DIN Alternate Bold"), url("DINAlternate-Bold.woff") format("woff");
}
/*----------------------------------------------------------
 * *      Initialize
 * *----------------------------------------------------------*/
html {
  height: 100%;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
}
@media only screen and (max-width:768px) {
  html {
    min-width: 100%;
    font-size: 10px !important;
  }
}

body {
  display: block;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  background: #ffffff;
  font-size: 10px;
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.05em;
  color: #000000;
  text-rendering: optimizeLegibility;
}
@media only screen and (max-width:768px) {
  body {
    min-width: 100%;
    font-size: 10px !important;
  }
}

p {
  margin: 0;
}

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

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1;
}

strong {
  font-weight: bold;
}

a {
  color: #000000;
  text-decoration: none;
  transition: all 0.3s ease;
}
a img {
  transition: all 0.3s ease;
  opacity: 1;
}
a:hover {
  color: #b3b3b3;
  text-decoration: none;
}
a:hover img {
  opacity: 0.7;
}
a:focus {
  color: #b3b3b3;
}

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

.visible-xs {
  display: none !important;
}
@media only screen and (max-width:768px) {
  .visible-xs {
    display: block !important;
  }
}

.visible__inline-xs {
  display: none;
}
@media only screen and (max-width:768px) {
  .visible__inline-xs {
    display: inline;
  }
}

@media only screen and (max-width:768px) {
  .hidden-xs {
    display: none !important;
  }
}

/*----------------------------------------------------------
 * *      Header
 * *----------------------------------------------------------*/
header {
  width: 100%;
  height: 115px;
}
@media only screen and (max-width:768px) {
  header {
    margin: 0 0 62px 0;
  }
}
header .contents--wrap {
  position: relative;
}

.head__logo {
  position: absolute;
  top: 43px;
  left: 0;
  width: 413px;
  height: 36px;
}
.head__logo a {
  display: block;
  width: 100%;
  height: 100%;
}
.head__logo a:hover {
  opacity: 0.6;
}
.head__logo img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .head__logo {
    top: 52px;
    left: 40px;
    width: 335px;
    height: 44.08px;
  }
  .head__logo a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .head__logo a:hover {
    opacity: 0.6;
  }
  .head__logo img {
    width: 100%;
    height: auto;
  }
}

/*----------------------------------------------------------
 * *      Footet
 * *----------------------------------------------------------*/
footer {
  padding: 47px 0 48px 0;
  background: #000000;
}

.foot__logo {
  width: 290.25px;
  height: 37.185px;
  margin: 0 auto;
}
.foot__logo img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .foot__logo {
    width: 560.6px;
    height: 71.82px;
  }
  .foot__logo img {
    width: 100%;
    height: auto;
  }
}

.foot__tool--wrap {
  position: relative;
  width: 470px;
  height: 20px;
  margin: 0 auto 32px auto;
}
@media only screen and (max-width:768px) {
  .foot__tool--wrap {
    width: auto;
    height: auto;
    margin: 0 auto 48px auto;
  }
}

.foot__sns--wrap ul {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  position: absolute;
  top: 0;
}
@media only screen and (max-width:768px) {
  .foot__sns--wrap ul {
    position: static;
    justify-content: center;
    margin: 0 0 28px 0;
  }
}

.foot__sns__instagram {
  width: 17.13px;
  height: 17.125px;
  margin: 0 16px 0 0;
}
.foot__sns__instagram img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .foot__sns__instagram {
    margin: 0 32px 0 0;
    width: 42.02px;
    height: 42.02px;
  }
  .foot__sns__instagram img {
    width: 100%;
    height: auto;
  }
}

.foot__sns__facebook {
  width: 10.48px;
  height: 19.565px;
}
.foot__sns__facebook img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .foot__sns__facebook {
    width: 25.6px;
    height: 48px;
  }
  .foot__sns__facebook img {
    width: 100%;
    height: auto;
  }
}

.foot__link--wrap {
  position: absolute;
  top: 0;
  left: 70px;
}
@media only screen and (max-width:768px) {
  .foot__link--wrap {
    position: static;
  }
}
.foot__link--wrap ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width:768px) {
  .foot__link--wrap ul {
    justify-content: center;
  }
}
.foot__link--wrap li {
  margin: 3px 20px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .foot__link--wrap li {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.4rem;
    font-weight: 300;
    letter-spacing: 0.01em;
    line-height: 1;
    text-align: center;
  }
}
.foot__link--wrap li::after {
  content: "|";
  color: #ffffff;
  margin: 0 0 0 20px;
}
.foot__link--wrap li:nth-child(3)::after {
  display: none;
}
.foot__link--wrap a {
  color: #ffffff;
}
.foot__link--wrap a:hover {
  opacity: 0.7;
}

/*----------------------------------------------------------
 * *      Global Navi
 * *----------------------------------------------------------*/
.nav__tool--wrap {
  position: absolute;
  top: 2.3vw;
  right: 0;
}
@media only screen and (max-width:768px) {
  .nav__tool--wrap {
    top: 0;
  }
}

.nav__sns--wrap {
  position: absolute;
  top: 0;
  right: 86px;
  width: 54px;
  height: 24px;
}
@media only screen and (max-width:768px) {
  .nav__sns--wrap {
    top: 51px;
    right: 206px;
    width: 108px;
  }
}
.nav__sns--wrap ul {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  position: absolute;
  top: 0;
}

.nav__sns__instagram {
  width: 21.01px;
  height: 21.01px;
  margin: 0 20px 0 0;
}
.nav__sns__instagram img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .nav__sns__instagram {
    width: 42.02px;
    height: 42.02px;
    margin: 0 38.5px 0 0;
  }
  .nav__sns__instagram img {
    width: 100%;
    height: auto;
  }
}

.nav__sns__facebook {
  width: 12.85px;
  height: 24px;
}
.nav__sns__facebook img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .nav__sns__facebook {
    width: 25.7px;
    height: 48px;
  }
  .nav__sns__facebook img {
    width: 100%;
    height: auto;
  }
}

.nav__menu {
  width: 50px;
  height: 37px;
}
.nav__menu img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .nav__menu {
    position: absolute;
    width: 100px;
    height: 74px;
    top: 40px;
    right: 40px;
  }
  .nav__menu img {
    width: 100%;
    height: auto;
  }
}

/*----------------------------------------------------------
 * *      Global Navi Menu
 * *----------------------------------------------------------*/
nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  background: rgba(255, 255, 255, 0.95);
  z-index: 100;
}
nav .contents--wrap {
  position: relative;
  padding: 115px 0 0 0;
}
@media only screen and (max-width:768px) {
  nav .contents--wrap {
    padding: 115px 0 160px 0;
  }
}

.nav__close {
  position: absolute;
  top: 43px;
  right: 7px;
  width: 36.77px;
  height: 36.77px;
}
.nav__close a {
  display: block;
  width: 100%;
  height: 100%;
}
.nav__close a:hover {
  opacity: 0.7;
}
.nav__close img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .nav__close {
    top: 40px;
    right: 40px;
    width: 73.54px;
    height: 73.54px;
  }
  .nav__close a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .nav__close a:hover {
    opacity: 0.7;
  }
  .nav__close img {
    width: 100%;
    height: auto;
  }
}

.nav--wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .nav--wrap {
    display: block;
    padding: 0 96px;
  }
}
.nav--wrap li {
  position: relative;
  margin: 0 0 32px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .nav--wrap li {
    margin: 0 0 48px 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1;
  }
}

.nav__title {
  margin: 0 0 38px 0;
  color: #FAC1BA;
  font-family: "DIN Alternate Bold", sans-serif;
  font-size: 3.2rem;
  font-weight: 300;
  letter-spacing: 1em;
  line-height: 1;
  text-align: left;
}
@media only screen and (max-width:768px) {
  .nav__title {
    margin: 0 0 58px 0;
    color: #FAC1BA;
    font-family: "DIN Alternate Bold", sans-serif;
    font-size: 4.8rem;
    font-weight: 300;
    letter-spacing: 1em;
    line-height: 1;
    text-align: left;
  }
}

@media only screen and (max-width:768px) {
  .nav__place--element {
    margin: 0 0 112px 0;
  }
}
.nav__place--element li {
  padding: 0 0 0 24px;
}
@media only screen and (max-width:768px) {
  .nav__place--element li {
    padding: 0 0 0 36px;
  }
}
.nav__place--element li::before {
  content: "";
  display: block;
  position: absolute;
  top: 2.5px;
  left: 0px;
  width: 13.56px;
  height: 13.56px;
  background: url("../images/com__arrow--2.png") no-repeat;
  background-size: 13.56px 13.56px;
  content: "";
  display: block;
}
@media only screen and (max-width:768px) {
  .nav__place--element li::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0px;
    width: 27.12px;
    height: 27.12px;
    background: url("../images/com__arrow--2.png") no-repeat;
    background-size: 27.12px 27.12px;
  }
}
.nav__place--element li:hover::before {
  transition: all 0.3s ease;
  opacity: 0.7;
}

@media only screen and (max-width:768px) {
  .nav__project--element {
    margin: 0 0 112px 0;
  }
}
.nav__project--element li {
  line-height: 1.5;
}

.nav__menu__sns--wrap ul {
  display: flex;
  flex-wrap: wrap;
}
.nav__menu__sns--wrap li {
  margin: 0 12px 0 0;
}
@media only screen and (max-width:768px) {
  .nav__menu__sns--wrap li {
    margin: 0 36px 0 0;
  }
}

.nav__menu__sns__instagram {
  width: 22.269px;
  height: 22.2625px;
  margin: 0 16px 0 0;
}
.nav__menu__sns__instagram img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .nav__menu__sns__instagram {
    margin: 0 32px 0 0;
    width: 42.02px;
    height: 42.02px;
  }
  .nav__menu__sns__instagram img {
    width: 100%;
    height: auto;
  }
}

.nav__menu__sns__facebook {
  width: 13.624px;
  height: 25.4345px;
}
.nav__menu__sns__facebook img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .nav__menu__sns__facebook {
    width: 25.6px;
    height: 48px;
  }
  .nav__menu__sns__facebook img {
    width: 100%;
    height: auto;
  }
}

/*----------------------------------------------------------
 * *      TOPへ
 * *----------------------------------------------------------*/
.gotop--wrap {
  position: relative;
}

.goto__btn {
  position: absolute;
  top: -300px;
  right: 0;
  width: 50px;
  height: 137px;
}
.goto__btn a {
  display: block;
  width: 100%;
  height: 100%;
}
.goto__btn a:hover {
  opacity: 0.7;
}
.goto__btn img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .goto__btn {
    top: -50px;
    right: 40px;
    width: 100px;
    height: 100px;
  }
  .goto__btn a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .goto__btn a:hover {
    opacity: 0.7;
  }
  .goto__btn img {
    width: 100%;
    height: auto;
  }
}

/*----------------------------------------------------------
 * *      Common
 * *----------------------------------------------------------*/
.common__btn--1 {
  text-align: center;
}
.common__btn--1 a {
  display: inline-block;
  position: relative;
  padding: 12px 70px 12px 40px;
  background: #e47b6e;
  border-radius: 6px;
  color: #ffffff;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .common__btn--1 a {
    padding: 24px 90px 24px 60px;
    border-radius: 12px;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
    text-align: center;
  }
}
.common__btn--1 a:hover {
  background: #f7d7d4;
}
.common__btn--1 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 13px;
  right: 20px;
  width: 21.3px;
  height: 20px;
  background: url("../images/com__arrow--1.png") no-repeat;
  background-size: 21.3px 20px;
  content: "";
  display: block;
}
@media only screen and (max-width:768px) {
  .common__btn--1 a::after {
    content: "";
    display: block;
    position: absolute;
    top: 27px;
    right: 30px;
    width: 31.95px;
    height: 30px;
    background: url("../images/com__arrow--1.png") no-repeat;
    background-size: 31.95px 30px;
  }
}

.common__btn--2 {
  width: 240px;
  border: 1px solid #E47B6E;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .common__btn--2 {
    width: 100%;
  }
}
.common__btn--2 a {
  display: inline-block;
  position: relative;
  padding: 16px 20px 16px 20px;
  color: #E47B6E;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .common__btn--2 a {
    padding: 32px 20px 32px 20px;
    color: #E47B6E;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
    text-align: center;
  }
}

.common__btn--3 {
  text-align: center;
}
.common__btn--3 a {
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 12px 70px 12px 40px;
  background: #ffffff;
  border-radius: 6px;
  color: #e47b6e;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .common__btn--3 a {
    padding: 24px 90px 24px 60px;
    border-radius: 12px;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
    text-align: center;
  }
}
.common__btn--3 a:hover {
  background: #f7d7d4;
}
.common__btn--3 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 13px;
  right: 20px;
  width: 21.3px;
  height: 20px;
  background: url("../images/com__arrow--5.png") no-repeat;
  background-size: 21.3px 20px;
  content: "";
  display: block;
}
@media only screen and (max-width:768px) {
  .common__btn--3 a::after {
    content: "";
    display: block;
    position: absolute;
    top: 29px;
    right: 30px;
    width: 31.95px;
    height: 30px;
    background: url("../images/com__arrow--5.png") no-repeat;
    background-size: 31.95px 30px;
  }
}

.common__btn--4 a {
  display: inline-block;
  position: relative;
  padding: 11px 14px 11px 14px;
  background: #e47b6e;
  border-radius: 6px;
  color: #ffffff;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .common__btn--4 a {
    padding: 24px 60px 24px 60px;
    border-radius: 12px;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
    text-align: center;
  }
}
.common__btn--4 a:hover {
  background: #f7d7d4;
}

.common__btn--5 {
  margin: 58px;
  text-align: center;
}
.common__btn--5 a {
  display: inline-block;
  position: relative;
  padding: 11px 14px 11px 14px;
  background: #000000;
  border-radius: 6px;
  color: #ffffff;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .common__btn--5 a {
    padding: 24px 60px 24px 60px;
    border-radius: 12px;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
    text-align: center;
  }
}
.common__btn--5 a:hover {
  background: #f7d7d4;
}

.common__pager--wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.common__pager--wrap li {
  display: block;
  width: 20px;
  height: 20px;
  margin: 10px;
}
@media only screen and (max-width:768px) {
  .common__pager--wrap li {
    width: 40px;
    height: 40px;
    margin: 20px;
  }
}
.common__pager--wrap a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 2px 0 0 0;
  background-color: #FAC1BA;
  border-radius: 10px;
  color: #ffffff;
  font-family: "DIN Alternate Bold", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .common__pager--wrap a {
    padding: 4px 0 0 0;
    border-radius: 20px;
    color: #ffffff;
    font-family: "DIN Alternate Bold", sans-serif;
    font-size: 3.2rem;
    font-weight: 300;
    line-height: 1;
    text-align: center;
  }
}
.common__pager--wrap a:hover {
  background-color: #feecea;
}

.common__pager__active {
  background-color: #E47B6E !important;
}
.common__pager__active:hover {
  background-color: #f7d7d4 !important;
}

/*----------------------------------------------------------
 * *      Main Visual
 * *----------------------------------------------------------*/
.mainVisual--area {
  position: relative;
}
.mainVisual__logo--wrap {
  position: absolute;
  top: 21.25vw;
  left: calc(50% - 329px);
}
@media only screen and (min-width:769px) and (max-width:1280px) {
  .mainVisual__logo--wrap {
    top: 272px;
    left: 311px;
  }
}
@media only screen and (max-width:768px) {
  .mainVisual__logo--wrap {
    top: calc(215px * 2);
    left: calc(50px * 2);
  }
}

.mainVisual__logo {
  width: 658px;
  height: 86.57px;
  margin: 0 0 15px 0;
}
.mainVisual__logo img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .mainVisual__logo {
    width: 545.3px;
    height: 71.74px;
  }
  .mainVisual__logo img {
    width: 100%;
    height: auto;
  }
}

.mainVisual__copy {
  font-family: "kozuka-mincho-pro", serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  line-height: 1;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width:768px) {
  .mainVisual__copy {
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    text-align: center;
    top: 516px;
    left: 160px;
  }
}

.mainVisual__image {
  width: 100%;
  min-width: 1280px;
  margin: 0 auto;
}
@media only screen and (max-width:768px) {
  .mainVisual__image {
    width: 750px;
    min-width: 750px;
  }
}
.mainVisual__image img {
  width: 100%;
}

/*----------------------------------------------------------
 * *      ところと、とは？
 * *----------------------------------------------------------*/
.tokorototowa--wrap {
  padding: 61px 0 92px 0;
}
@media only screen and (max-width:768px) {
  .tokorototowa--wrap {
    padding: 61px 0 116px 0;
  }
}
@media only screen and (max-width:768px) {
  .tokorototowa--wrap .contents--wrap {
    padding: 0 40px;
  }
}
.tokorototowa--wrap h2 {
  position: relative;
  margin: 0 0 40px 0;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  font-size: 3.6rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.38;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .tokorototowa--wrap h2 {
    margin: 0 0 32px 0;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.5;
    text-align: center;
  }
}
.tokorototowa--wrap h2::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc(50% - 339px);
  width: 678px;
  height: 90px;
  background: #fac1ba;
  z-index: 1;
}
@media only screen and (max-width:768px) {
  .tokorototowa--wrap h2::before {
    left: calc(50% - 316px);
    width: 632px;
    height: 99px;
  }
}

.tokorototowa__title {
  display: block;
  position: relative;
  padding: 12px 0 0 0;
  z-index: 10;
}
@media only screen and (max-width:768px) {
  .tokorototowa__title {
    padding: 24px 0 0 0;
  }
}

.tokorototowa__text {
  margin: 0 0 116px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .tokorototowa__text {
    margin: 0 0 24px 0;
    padding: 0 20px 0 20px;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 2;
    text-align: left;
  }
}

header {
  position: fixed;
  top: 0;
  background: #ffffff;
  z-index: 100;
}
@media only screen and (max-width:768px) {
  header {
    height: 150px;
  }
}

/*----------------------------------------------------------
 * *      場所
 * *----------------------------------------------------------*/
.place--wrap {
  margin: 0 0 120px 0;
}
@media only screen and (max-width:768px) {
  .place--wrap {
    margin: 0 0 192px 0;
  }
}
.place--wrap h2 {
  margin: 0 0 0 0.5em;
  padding: 0 0 10px 0;
  color: #FAC1BA;
  font-family: "DIN Alternate Bold", sans-serif;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 1em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .place--wrap h2 {
    padding: 0 0 28px 0;
    color: #FAC1BA;
    font-family: "DIN Alternate Bold", sans-serif;
    font-size: 5.6rem;
    font-weight: 300;
    letter-spacing: 1em;
    line-height: 1;
    text-align: center;
  }
}

.place__text {
  margin: 0 0 56px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .place__text {
    margin: 0 0 74px 0;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: center;
  }
}

.placeList--wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width:768px) {
  .placeList--wrap {
    margin: 0 0 34px 0;
  }
}

.placeList--element {
  flex-basis: calc(50% - 40px);
  margin: 0 0 60px 0;
}
@media only screen and (max-width:768px) {
  .placeList--element {
    flex-basis: 100%;
  }
}

.placeList__image {
  margin: 0 0 20px 0;
}
@media only screen and (max-width:768px) {
  .placeList__image {
    margin: 0 0 40px 0;
  }
}
.placeList__image img {
  width: 100%;
}

.placeList__info--wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  margin: 0 0 15px 0;
}
@media only screen and (max-width:768px) {
  .placeList__info--wrap {
    margin: 0 0 37px 0;
    padding: 0 40px 0 40px;
  }
}

.placeList__tag {
  font-family: "kozuka-mincho-pro", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .placeList__tag {
    font-family: "kozuka-mincho-pro", serif;
    font-size: 4rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
  }
}

.placeList__address {
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .placeList__address {
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
  }
}

.placeList__title {
  margin: 0 0 10px 0;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
@media only screen and (max-width:768px) {
  .placeList__title {
    margin: 0 0 20px 0;
    padding: 0 40px 0 40px;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
  }
}

.placeList__description {
  margin: 0 0 10px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
}
@media only screen and (max-width:768px) {
  .placeList__description {
    margin: 0 0 28px 0;
    padding: 0 40px 0 40px;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 3.0rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 2;
  }
}

.placeList__more {
  position: relative;
  padding: 0 0 0 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .placeList__more {
    margin: 0 0 0 40px;
    padding: 0 0 0 36px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1;
  }
}
.placeList__more::before {
  content: "";
  display: block;
  position: absolute;
  top: 1.5px;
  left: 0px;
  width: 13.56px;
  height: 13.56px;
  background: url("../images/com__arrow--2.png") no-repeat;
  background-size: 13.56px 13.56px;
  content: "";
  display: block;
}
@media only screen and (max-width:768px) {
  .placeList__more::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0px;
    width: 27.12px;
    height: 27.12px;
    background: url("../images/com__arrow--2.png") no-repeat;
    background-size: 27.12px 27.12px;
  }
}
.placeList__more:hover::before {
  transition: all 0.3s ease;
  opacity: 0.7;
}

/*----------------------------------------------------------
 * *      プロジェクト
 * *----------------------------------------------------------*/
.project--wrap {
  margin: 0 0 120px 0;
}
@media only screen and (max-width:768px) {
  .project--wrap .contents--wrap {
    padding: 0 40px 0 40px;
  }
}
.project--wrap h2 {
  margin: 0 0 0 0.5em;
  padding: 0 0 10px 0;
  color: #FAC1BA;
  font-family: "DIN Alternate Bold", sans-serif;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 1em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .project--wrap h2 {
    padding: 0 0 28px 0;
    color: #FAC1BA;
    font-family: "DIN Alternate Bold", sans-serif;
    font-size: 5.6rem;
    font-weight: 300;
    letter-spacing: 0.8em;
    line-height: 1;
    text-align: center;
  }
}

.project__text {
  margin: 0 0 46px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .project__text {
    margin: 0 0 74px 0;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: center;
  }
}

.projectList--wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 50px;
  gap: 26px;
}

.projectList--element {
  width: 300px;
  margin: 0 0 30px;
}
@media only screen and (max-width:768px) {
  .projectList--element {
    width: 316px;
    margin: 0 0 42px;
  }
}

.projectList__tumb--wrap {
  position: relative;
  margin: 0 0 14px 0;
}

.projectList__tumb__cate {
  position: absolute;
  top: 0;
  left: 0;
  padding: 7px;
  background: #E47B6E;
  color: #ffffff;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .projectList__tumb__cate {
    padding: 10px 14px;
    color: #ffffff;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
    text-align: center;
  }
}

.projectList__tumb__image img {
  width: 100%;
}

.projectList__tumb__more {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 7px 7px 7px 23px;
  background: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .projectList__tumb__more {
    display: none;
  }
}
.projectList__tumb__more::before {
  content: "";
  display: block;
  position: absolute;
  top: 7.5px;
  left: 6px;
  width: 13.56px;
  height: 13.56px;
  background: url("../images/com__arrow--2.png") no-repeat;
  background-size: 13.56px 13.56px;
  content: "";
  display: block;
}

.projectList__tumb--wrap:hover .projectList__tumb__more::before {
  transition: all 0.3s ease;
  opacity: 0.7;
}

.projectList__date {
  margin: 0 0 16px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .projectList__date {
    margin: 8px 0 16px 0;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
  }
}

.projectList__title {
  margin: 0 0 8px 0;
  font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.4;
}
@media only screen and (max-width:768px) {
  .projectList__title {
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.5;
  }
}

.projectList__text {
  margin: 0 0 10px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.8;
}
@media only screen and (max-width:768px) {
  .projectList__text {
    display: none;
  }
}

.projectList__tag {
  margin: 0 0.5em 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
}
@media only screen and (max-width:768px) {
  .projectList__tag {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.4rem;
    font-weight: 300;
    line-height: 1.5;
  }
}

/*----------------------------------------------------------
 * *      ところと、の想い
 * *----------------------------------------------------------*/
.omoi--wrap {
  width: 100%;
  min-width: 1280px;
  height: 798px;
  margin: 0 0 120px 0;
  padding: 100px 0 0 0;
  background: url("../images/top__omoi__bg--1.jpg") no-repeat;
  background-size: cover;
}
@media only screen and (max-width:768px) {
  .omoi--wrap {
    min-width: 100%;
    height: auto;
    padding: 0 0 0 0;
    background: url("../images/top__omoi__bg--1--sp.jpg") no-repeat;
    background-position: top center;
    background-size: cover;
  }
}
@media only screen and (max-width:768px) {
  .omoi--wrap .contents--wrap {
    padding: 100px 40px 100px 40px;
  }
}

.omoi__box {
  padding: 52px 0 50px 0;
  background: rgba(255, 255, 255, 0.85);
}
@media only screen and (max-width:768px) {
  .omoi__box {
    padding: 74px 40px 66px 40px;
  }
}
.omoi__box h2 {
  display: block;
  width: 188.57px;
  height: 29px;
  margin: 0 auto 33px auto;
}
.omoi__box h2 img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .omoi__box h2 {
    width: 244.34px;
    height: 36.66px;
    margin: 0 auto 49px auto;
  }
  .omoi__box h2 img {
    width: 100%;
    height: auto;
  }
}

.omoi__text {
  width: 682px;
  margin: 0 auto 43px auto;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.75;
}
@media only screen and (max-width:768px) {
  .omoi__text {
    width: 100%;
    margin: 0 auto 55px auto;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.714;
  }
}

@media only screen and (max-width:768px) {
  .omoi__text__sp {
    display: none;
  }
}

@media only screen and (max-width:768px) {
  .omoi__text__sp__ten {
    display: inline;
  }
}

/*----------------------------------------------------------
 * *      人
 * *----------------------------------------------------------*/
.people--wrap {
  margin: 0 0 120px 0;
}
@media only screen and (max-width:768px) {
  .people--wrap {
    height: 720px;
  }
}
.people--wrap h2 {
  margin: 0 0 0 0.5em;
  padding: 0 0 10px 0;
  color: #FAC1BA;
  font-family: "DIN Alternate Bold", sans-serif;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 1em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .people--wrap h2 {
    padding: 0 0 28px 0;
    color: #FAC1BA;
    font-family: "DIN Alternate Bold", sans-serif;
    font-size: 5.6rem;
    font-weight: 300;
    letter-spacing: 0.8em;
    line-height: 1;
    text-align: center;
  }
}
.people--wrap .contents--wrap {
  position: relative;
}

.people__text {
  margin: 0 0 46px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .people__text {
    margin: 0 0 50px 0;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: center;
  }
}

.peopleList--wrap {
  width: 1240px;
  height: 300px;
  margin: 0 auto 0 auto;
}
@media only screen and (max-width:768px) {
  .peopleList--wrap {
    width: 552px;
  }
}

.peopleList--element {
  width: 200px;
  height: 300px;
  padding: 0 20px 0 20px;
}
@media only screen and (max-width:768px) {
  .peopleList--element {
    width: 256px;
  }
}

.peopleList__image {
  margin: 0 0 13px 0;
}
.peopleList__image img {
  width: 100%;
}

.peopleList__name {
  margin: 0 0 6px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .peopleList__name {
    margin: 0 0 12px 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.8rem;
    font-weight: 300;
    letter-spacing: 0.01em;
    line-height: 1.6666;
    text-align: center;
  }
}

.peopleList__text {
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1.6666;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .peopleList__text {
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.4rem;
    font-weight: 300;
    letter-spacing: 0.01em;
    line-height: 1.6666;
    text-align: left;
  }
}

.peopleList__nav--wrap {
  position: absolute;
  top: 230px;
  width: 100%;
}

.peopleList__nav__prev {
  width: 29.5px;
  height: 58px;
  position: absolute;
  top: 0;
  left: 0;
}
.peopleList__nav__prev img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .peopleList__nav__prev {
    width: 29.5px;
    height: 58px;
    top: 96px;
    left: 40px;
  }
  .peopleList__nav__prev img {
    width: 100%;
    height: auto;
  }
}

.peopleList__nav__next {
  width: 29.5px;
  height: 58px;
  position: absolute;
  top: 0;
  right: 0;
}
.peopleList__nav__next img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .peopleList__nav__next {
    width: 29.5px;
    height: 58px;
    top: 96px;
    right: 40px;
  }
  .peopleList__nav__next img {
    width: 100%;
    height: auto;
  }
}

.slick-prev {
  position: absolute;
  top: 97px;
  left: -20px;
  width: 29.5px;
  height: 58px;
  z-index: 10;
}
.slick-prev img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .slick-prev {
    width: 29.5px;
    height: 58px;
    top: 146px;
    left: -60px;
  }
  .slick-prev img {
    width: 100%;
    height: auto;
  }
}
.slick-prev::before {
  display: none;
}

.slick-next {
  position: absolute;
  top: 97px;
  right: -20px;
  width: 29.5px;
  height: 58px;
  z-index: 10;
}
.slick-next img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .slick-next {
    width: 29.5px;
    height: 58px;
    top: 146px;
    right: -60px;
  }
  .slick-next img {
    width: 100%;
    height: auto;
  }
}
.slick-next::before {
  display: none;
}

/*----------------------------------------------------------
 * *      パートナー
 * *----------------------------------------------------------*/
.partner--wrap {
  margin: 0 0 90px 0;
}
@media only screen and (max-width:768px) {
  .partner--wrap {
    margin: 0 0 66px 0;
  }
}
.partner--wrap h2 {
  margin: 0 0 0 0.5em;
  padding: 0 0 10px 0;
  color: #FAC1BA;
  font-family: "DIN Alternate Bold", sans-serif;
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 1em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .partner--wrap h2 {
    padding: 0 0 28px 0;
    color: #FAC1BA;
    font-family: "DIN Alternate Bold", sans-serif;
    font-size: 5.6rem;
    font-weight: 300;
    letter-spacing: 0.8em;
    line-height: 1;
    text-align: center;
  }
}

.partner__text {
  margin: 0 0 56px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .partner__text {
    margin: 0 0 30px 0;
    font-family: "kozuka-mincho-pro", serif;
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: center;
  }
}

.partner__image {
  width: 1280px;
  margin: 0 auto 0 auto;
}
@media only screen and (max-width:768px) {
  .partner__image {
    width: 568px;
  }
}
.partner__image img {
  width: 100%;
}

.partner__image--wrap {
  display: flex;
  flex-wrap: wrap;
  width: 1280px;
  margin: 0 auto 0 auto;
  text-align: center;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width:768px) {
  .partner__image--wrap {
    width: 568px;
  }
}

.partner__image--element {
  display: inline-block;
  margin: 20px;
}

/*----------------------------------------------------------
 * *      お問い合わせ
 * *----------------------------------------------------------*/
.otoiawase--wrap {
  margin: 0 0 102px 0;
}
.otoiawase--wrap .contents--wrap {
  padding: 48px 0 46px 0;
  border: 1px solid #000000;
}
@media only screen and (max-width:768px) {
  .otoiawase--wrap .contents--wrap {
    width: calc(100% - 80px);
    min-width: auto;
    margin: 0 auto;
    border: 2px solid #000000;
  }
}

.otoiawase__text {
  margin: 0 0 38px 0;
  font-family: "kozuka-mincho-pro", serif;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .otoiawase__text {
    margin: 0 0 40px 0;
    font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
    text-align: center;
  }
}

.otoiawase__btn {
  text-align: center;
}
.otoiawase__btn a {
  display: inline-block;
  position: relative;
  padding: 21px 20px 21px 60px;
  background: #e47b6e;
  border-radius: 0;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width:768px) {
  .otoiawase__btn a {
    padding: 31px 40px 31px 100px;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
    text-align: center;
  }
}
.otoiawase__btn a:hover {
  background: #f7d7d4;
}
.otoiawase__btn a::before {
  content: "";
  display: block;
  position: absolute;
  top: 21px;
  left: 22px;
  width: 28.49px;
  height: 20.89px;
  background: url("../images/otoiawase__icon.png") no-repeat;
  background-size: 28.49px 20.89px;
  content: "";
  display: block;
}
@media only screen and (max-width:768px) {
  .otoiawase__btn a::before {
    content: "";
    display: block;
    position: absolute;
    top: 32px;
    left: 27px;
    width: 56.98px;
    height: 41.78px;
    background: url("../images/otoiawase__icon.png") no-repeat;
    background-size: 56.98px 41.78px;
  }
}

/*----------------------------------------------------------
 * *      TOPへ
 * *----------------------------------------------------------*/
.gotop--wrap {
  position: relative;
}

.goto__btn {
  position: absolute;
  top: -300px;
  right: 0;
  width: 50px;
  height: 137px;
}
.goto__btn a {
  display: block;
  width: 100%;
  height: 100%;
}
.goto__btn a:hover {
  opacity: 0.6;
}
.goto__btn img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width:768px) {
  .goto__btn {
    top: -50px;
    right: 40px;
    width: 100px;
    height: 100px;
  }
  .goto__btn a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .goto__btn a:hover {
    opacity: 0.6;
  }
  .goto__btn img {
    width: 100%;
    height: auto;
  }
}
