@charset "UTF-8";
.conceptArea {
  margin: 0 auto;
}

.conceptArea__item {
  position: relative;
}

@media screen and (max-width: 768px) {
  .conceptArea__item {
    padding: 0 calc(30 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--pers .conceptArea__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    left: 50%;
    max-width: 900px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(900 / 1440 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--pers .conceptArea__head {
    display: none;
    width: 500px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__item--pers .conceptArea__head {
    margin: 0 calc(-30 / 390 * 100vw);
    padding-top: calc(0 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--pers .conceptArea__bg--right {
    top: 220px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__item--pers .conceptArea__bg--right {
    bottom: calc(-100 / 390 * 100vw);
    top: unset;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--entrance .conceptArea__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 100px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--entrance .conceptArea__head .photo {
    width: 640px;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--entrance .conceptArea__cont {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__item--entrance .conceptArea__cont {
    margin-left: calc(55 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large {
    font-size: calc(25 / 390 * 100vw);
    text-align: left;
    line-height: 1.6;
  }
  .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large:before {
    content: '';
    margin-top: calc((1 - 1.6) * .5em);
  }
  .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large:after {
    margin-bottom: calc((1 - 1.6) * .5em);
  }
  .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large:before, .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--entrance .conceptArea__cont .headingCombi .heading--large + .txt {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item--entrance .conceptArea__bg {
    top: -66px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__item--entrance .conceptArea__bg {
    top: calc(305 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__item + .conceptArea__item {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__item + .conceptArea__item {
    margin-top: calc(100 / 390 * 100vw);
  }
}

.conceptArea__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .conceptArea__inner {
    max-width: 1440px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__visual {
    width: calc(1100 / 1440 * 100vw);
  }
}

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

@media print, screen and (min-width: 768px) {
  .conceptArea__head .photo__capOut {
    left: 0;
    right: unset;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__head + .conceptArea__cont {
    margin-top: calc(56 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__cont .headingCombi .heading--large {
    letter-spacing: .08em;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__cont .headingCombi .heading--large + .txt {
    letter-spacing: .1em;
  }
}

.conceptArea__bg {
  left: 0;
  position: absolute;
  top: 0;
}

@media print, screen and (min-width: 768px) {
  .conceptArea__bg {
    width: calc(980 / 1440 * 100vw);
    width: 980px;
  }
}

.conceptArea__bg--right {
  left: unset;
  right: 0;
}

@media print, screen and (min-width: 768px) {
  .conceptArea__bg--right {
    min-width: 400px;
    width: calc(400 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__bg--right {
    width: calc(200 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptArea__bg--left {
    min-width: 402px;
    width: calc(402 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptArea__bg--left {
    width: calc(201 / 390 * 100vw);
  }
}

.conceptBox {
  background-color: #ffffff;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .conceptBox {
    margin-top: 100px;
    padding: 15px 0;
    width: 1000px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox {
    margin: calc(100 / 390 * 100vw) calc(30 / 390 * 100vw) 0;
    padding: calc(10 / 390 * 100vw) 0;
  }
}

.conceptBox__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .conceptBox__inner {
    border-left: 2px solid #a8a48f;
    border-right: 2px solid #a8a48f;
    gap: 80px;
    margin: 0 20px;
    padding: 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__inner {
    border-left: 1px solid #a8a48f;
    border-right: 1px solid #a8a48f;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: calc(40 / 390 * 100vw);
    margin: 0 calc(10 / 390 * 100vw);
    padding: calc(30 / 390 * 100vw) calc(12 / 390 * 100vw);
  }
}

.conceptBox__inner:before, .conceptBox__inner:after {
  background-color: #a8a48f;
  content: '';
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media print, screen and (min-width: 768px) {
  .conceptBox__inner:before, .conceptBox__inner:after {
    height: 2px;
    width: calc(100% + 20px);
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__inner:before, .conceptBox__inner:after {
    height: 1px;
    width: calc(100% + calc(14 / 390 * 100vw));
  }
}

@media print, screen and (min-width: 768px) {
  .conceptBox__inner:before {
    top: 8px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__inner:before {
    top: calc(5 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptBox__inner:after {
    bottom: 8px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__inner:after {
    bottom: calc(5 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptBox__head .headingCombi .heading {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__head .headingCombi .heading {
    font-size: calc(18 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptBox__head .headingCombi .heading + .txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__head .headingCombi .heading + .txt {
    font-size: calc(12 / 390 * 100vw);
    letter-spacing: 0;
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptBox__cont {
    width: 218px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__cont {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__cont .photo {
    margin-right: auto;
    width: calc(218 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .conceptBox__cont .photo + .photo {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .conceptBox__cont .photo + .photo {
    margin-left: auto;
    margin-right: unset;
    margin-top: calc(10 / 390 * 100vw);
  }
}

.linkBnr {
  color: #ffffff;
  display: block;
  font-family: "EB Garamond", serif;
  position: relative;
}

.linkBnr__bg:after {
  background-color: #000000;
  content: '';
  height: 100%;
  left: 50%;
  opacity: .4;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity .6s ease-in-out;
  transition: opacity .6s ease-in-out;
  width: 100%;
  z-index: 0;
}

.linkBnr__bg + .caption {
  color: #ffffff;
  position: absolute;
  right: 10px;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .linkBnr__bg + .caption {
    bottom: 55px;
  }
}

@media screen and (max-width: 768px) {
  .linkBnr__bg + .caption {
    bottom: calc(55 / 390 * 100vw);
  }
}

.linkBnr__ttl {
  left: 50%;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .linkBnr__ttl {
    font-size: 40px;
    top: calc(167 / 1440 * 100vw);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (max-width: 768px) {
  .linkBnr__ttl {
    font-size: calc(40 / 390 * 100vw);
    text-align: center;
    top: calc(137 / 390 * 100vw);
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
  }
}

.linkBnr__obi {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #883e3e;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 50%;
  opacity: .8;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .linkBnr__obi {
    gap: 20px;
    height: calc(48 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .linkBnr__obi {
    gap: calc(15 / 390 * 100vw);
    height: calc(48 / 390 * 100vw);
  }
}

.linkBnr__obi .txt {
  letter-spacing: .1em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .linkBnr__obi .txt {
    font-size: calc(18 / 390 * 100vw);
  }
}

.linkBnr__obi .arrow {
  -webkit-transition: -webkit-transform .6s ease-in-out;
  transition: -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out;
  transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out;
}

@media print, screen and (min-width: 768px) {
  .linkBnr__obi .arrow {
    height: 10px;
    margin-bottom: 12px;
    width: 36px;
  }
}

@media screen and (max-width: 768px) {
  .linkBnr__obi .arrow {
    height: calc(10 / 390 * 100vw);
    margin-bottom: calc(15 / 390 * 100vw);
    width: calc(36 / 390 * 100vw);
  }
}

.linkBnr__obi .arrow svg path {
  fill: none;
  stroke: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .linkBnr:hover .linkBnr__bg:after {
    opacity: .2;
  }
}

@media print, screen and (min-width: 768px) {
  .linkBnr:hover .linkBnr__obi .arrow {
    -webkit-transform: translateX(20%);
            transform: translateX(20%);
  }
}

.mainVisual {
  position: relative;
}

.mainVisual__copy {
  -webkit-filter: brightness(3) blur(10px);
          filter: brightness(3) blur(10px);
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 2s 1s ease, -webkit-filter 2s 1s ease;
  transition: opacity 2s 1s ease, -webkit-filter 2s 1s ease;
  transition: opacity 2s 1s ease, filter 2s 1s ease;
  transition: opacity 2s 1s ease, filter 2s 1s ease, -webkit-filter 2s 1s ease;
}

@media print, screen and (min-width: 768px) {
  .mainVisual__copy {
    left: calc(80 / 1440 * 100vw);
    top: calc(46 / 1440 * 100vw);
    width: calc(898 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__copy {
    left: calc(30 / 390 * 100vw);
    top: calc(36 / 390 * 100vw);
    width: calc(318 / 390 * 100vw);
  }
}

.mainVisual__plot {
  -webkit-filter: brightness(2) blur(5px);
          filter: brightness(2) blur(5px);
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 1s ease, -webkit-filter 1s ease;
  transition: opacity 1s ease, -webkit-filter 1s ease;
  transition: filter 1s ease, opacity 1s ease;
  transition: filter 1s ease, opacity 1s ease, -webkit-filter 1s ease;
}

@media print, screen and (min-width: 768px) {
  .mainVisual__plot {
    bottom: calc(160 / 1440 * 100vw);
    right: calc(198 / 1440 * 100vw);
    width: calc(308 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__plot {
    bottom: calc(106 / 390 * 100vw);
    right: calc(52 / 390 * 100vw);
    width: calc(140 / 390 * 100vw);
  }
}

.mainVisual.is-load .mainVisual__copy {
  -webkit-filter: brightness(1) blur(0);
          filter: brightness(1) blur(0);
  opacity: 1;
}

.mainVisual.is-load .mainVisual__plot {
  -webkit-filter: brightness(1) blur(0);
          filter: brightness(1) blur(0);
  opacity: 1;
}

.meritArea {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .meritArea {
    width: 860px;
  }
}

@media screen and (max-width: 768px) {
  .meritArea {
    padding: 0 calc(25 / 390 * 100vw);
  }
}

.plusFreeArea {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 100px;
    padding: 100px 0;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea {
    margin-top: calc(50 / 390 * 100vw);
    padding: calc(50 / 390 * 100vw) calc(25 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__head {
    max-width: 575px;
    width: calc(575 / 1440 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__head .photo__capIn {
    left: 0;
    right: unset;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea__cont {
    margin-top: calc(50 / 390 * 100vw);
    padding: 0 calc(25 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__cont .photo {
    width: 300px;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea__cont .photo {
    width: calc(215 / 390 * 100vw);
  }
}

.plusFreeArea__cont .photo + .headingCombi {
  letter-spacing: .2em;
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__cont .photo + .headingCombi {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea__cont .photo + .headingCombi {
    margin-top: calc(48 / 390 * 100vw);
  }
}

.plusFreeArea__cont .photo + .headingCombi .heading {
  line-height: 1.6;
}

.plusFreeArea__cont .photo + .headingCombi .heading:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.plusFreeArea__cont .photo + .headingCombi .heading:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.plusFreeArea__cont .photo + .headingCombi .heading:before, .plusFreeArea__cont .photo + .headingCombi .heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__cont .photo + .headingCombi .heading {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea__cont .photo + .headingCombi .heading {
    font-size: calc(25 / 390 * 100vw);
  }
}

.plusFreeArea__cont .photo + .headingCombi .heading + .txt {
  line-height: 2.25;
}

.plusFreeArea__cont .photo + .headingCombi .heading + .txt:before {
  content: '';
  margin-top: calc((1 - 2.25) * .5em);
}

.plusFreeArea__cont .photo + .headingCombi .heading + .txt:after {
  margin-bottom: calc((1 - 2.25) * .5em);
}

.plusFreeArea__cont .photo + .headingCombi .heading + .txt:before, .plusFreeArea__cont .photo + .headingCombi .heading + .txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__cont .photo + .headingCombi .heading + .txt {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea__cont .photo + .headingCombi .heading + .txt {
    font-size: calc(14 / 390 * 100vw);
    margin-top: calc(32 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .plusFreeArea__cont .generalBtn {
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .plusFreeArea__cont .generalBtn {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.uspArea {
  color: #ffffff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: .1em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .uspArea {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .uspArea {
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item {
    font-size: calc(20 / 390 * 100vw);
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.uspArea__item .num {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-style: italic;
  letter-spacing: .1em;
}

@media print, screen and (min-width: 768px) {
  .uspArea__item .num {
    font-size: 52px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .num {
    font-size: calc(48 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item .large {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .large {
    font-size: calc(28 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item .brackets--open {
    margin-left: -10px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .brackets--open {
    margin-left: calc(-10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item .brackets--close {
    margin-right: -10px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .brackets--close {
    margin-right: calc(-10 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .line {
    display: block;
    letter-spacing: .03em;
    margin-bottom: calc(-10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item sup {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item sup {
    font-size: calc(16 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item--large {
    font-size: 30px;
    padding-right: 10px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item--large {
    font-size: calc(30 / 390 * 100vw);
    padding-bottom: calc(30 / 390 * 100vw);
  }
}

.uspArea__item--large .num {
  font-family: "Noto Serif JP", serif;
  font-style: initial;
}

.uspArea__item--separator {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .uspArea__item--separator {
    height: 20px;
    width: 20px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item--separator {
    height: calc(40 / 390 * 100vw);
  }
}

.uspArea__item--separator:before {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media print, screen and (min-width: 768px) {
  .uspArea__item--separator:before {
    content: '／';
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item--separator:before {
    background-color: #ffffff;
    content: '';
    height: 1px;
    width: calc(330 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .top-usp,
  .top-merit {
    padding: 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .top-usp,
  .top-merit {
    padding: calc(33 / 390 * 100vw) 0;
  }
}

@media print, screen and (min-width: 768px) {
  .top-concept {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .top-concept {
    padding-bottom: 0;
  }
}
