@charset "UTF-8";
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* フルワイド */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;400;600;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
header {
  width: 100%;
  padding: 80px 0 40px;
  background: #000000;
}
@media all and (max-width: 480px) {
  header {
    padding: 40px 0;
  }
}
header .area_head .logo {
  width: 300px;
  height: 140px;
}
@media all and (max-width: 480px) {
  header .area_head .logo {
    width: 250px;
  }
}
header .area_head h1 {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  margin-top: 40px;
  color: #FFFFFF;
  font-size: 4rem;
  line-height: 5rem;
}
header .area_head h1 span {
  font-family: 'Noto Sans Japanese';
  font-size: 2.5rem;
  line-height: 3.5rem;
}

.concept {
  width: 100%;
  background: #000000;
}
@media all and (max-width: 896px) {
  .concept {
    background: #FFFFFF;
  }
}
.concept .area_concept {
  padding: 40px 0 80px;
  color: #FFFFFF;
  border-top: 1px solid #555555;
}
@media all and (max-width: 896px) {
  .concept .area_concept {
    padding: 40px 0 0;
    color: #000000;
    border-top: none;
  }
}
.concept .area_concept p {
  width: 550px;
  margin: 0 0 0 auto;
  line-height: 2.5rem;
}
@media all and (max-width: 896px) {
  .concept .area_concept p {
    width: 100%;
    margin: 0;
  }
}
.concept .area_concept p .only {
  display: block;
}
@media all and (max-width: 896px) {
  .concept .area_concept p .only {
    display: none;
  }
}
.concept .area_concept p span {
  margin-top: 40px;
}

.place {
  margin-top: 80px;
}
@media all and (max-width: 896px) {
  .place {
    margin-top: 40px;
  }
}
.place .area_place nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.place .area_place nav ul li {
  width: calc(20% - 20px);
  margin: 0 10px;
}
@media all and (max-width: 896px) {
  .place .area_place nav ul li {
    width: 100%;
    margin: 0 0 10px;
  }
}
.place .area_place nav ul li:first-child {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 3.5rem;
  line-height: 3.5rem;
  letter-spacing: 0.5rem;
  text-align: center;
}
.place .area_place nav ul li:first-child span {
  font-family: 'Noto Sans Japanese';
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: 0;
}
.place .area_place nav ul li a {
  padding: 20px 0;
  font-size: 2rem;
  text-align: center;
  border: 1px solid #555;
  display: block;
}
.place .area_place nav ul li a:hover {
  color: #FFFFFF;
  background: #000000;
  opacity: 1;
}
.place .area_place nav ul li a.on {
  color: #FFFFFF;
  background: #000000;
}

.work {
  margin-top: 80px;
}
@media all and (max-width: 896px) {
  .work {
    margin-top: 40px;
  }
}
.work .area_work ul {
  display: flex;
  flex-wrap: wrap;
}
.work .area_work ul li {
  width: calc(25% - 20px);
  margin-bottom: 40px;
  padding: 10px;
}
@media all and (max-width: 896px) {
  .work .area_work ul li {
    width: calc(50% - 20px);
    padding: 10px;
  }
}
@media all and (max-width: 480px) {
  .work .area_work ul li {
    width: calc(50% - 10px);
    padding: 5px;
  }
}
.work .area_work ul li p.image {
  width: calc(100% - 40px);
  height: 300px;
  padding: 20px;
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media all and (max-width: 480px) {
  .work .area_work ul li p.image {
    width: calc(100% - 20px);
    height: 150px;
    padding: 10px;
  }
}
.work .area_work ul li p.image img {
  max-width: 300px;
  max-height: 300px;
}
@media all and (max-width: 1367px) {
  .work .area_work ul li p.image img {
    max-width: 250px;
    max-height: 250px;
  }
}
@media all and (max-width: 1280px) {
  .work .area_work ul li p.image img {
    max-width: 200px;
    max-height: 200px;
  }
}
@media all and (max-width: 896px) {
  .work .area_work ul li p.image img {
    max-width: 200px;
    max-height: 200px;
  }
}
@media all and (max-width: 480px) {
  .work .area_work ul li p.image img {
    max-width: 150px;
    max-height: 150px;
  }
}
.work .area_work ul li p.name {
  padding-top: 20px;
  font-size: 1.8rem;
}
.work .area_work ul li p.name span {
  padding-left: 20px;
  font-size: 1.5rem;
}
@media all and (max-width: 480px) {
  .work .area_work ul li p.name span {
    padding-left: 0;
  }
}
.work .area_work ul li p.title {
  padding-top: 10px;
}
.work .area_work ul li p.title span {
  padding-left: 20px;
}
@media all and (max-width: 480px) {
  .work .area_work ul li p.title span {
    padding-left: 0;
  }
}
.work .area_work ul li dl {
  padding-top: 10px;
  display: table;
}
.work .area_work ul li dl dt {
  width: auto;
  font-size: 1.6rem;
  vertical-align: top;
  display: table-cell;
}
@media all and (max-width: 480px) {
  .work .area_work ul li dl dt {
    width: 100%;
    display: block;
  }
}
.work .area_work ul li dl dd {
  width: 200px;
  padding-left: 20px;
  display: table-cell;
}
@media all and (max-width: 896px) {
  .work .area_work ul li dl dd {
    width: 100px;
  }
}
@media all and (max-width: 480px) {
  .work .area_work ul li dl dd {
    width: 100%;
    padding-left: 0;
    display: block;
  }
}
