:root {
  --index_font_16: max(16px, 1.07vw);
  --index_font_17: max(17px, 1.24vw);
  --index_font_21: max(21px, 1.54vw);
  --index_font_27: max(27px, 1.98vw);
  --index_font_55: max(55px, 3.67vw);
  --index_margin_20: max(20px, 1.33vw);
  --index_margin_40: max(40px, 2.93vw);
  --index_margin_50: max(50px, 3.66vw);
  --index_margin_70: max(70px, 4.67vw);
  --index_margin_60: max(60px, 4vw);
  --index_font_65: max(65px, 4.76vw);
  --index_margin_160: max(160px, 11.71vw);
  --button_area_17: max(17px, 1.24vw);
  --button_area_10: max(10px, 0.67vw);
  --button_area_65: max(65px, 4.76vw);
}
@media screen and (max-width: 770px) {
  :root {
    --index_font_16: max(13px, 3.47vw);
    --index_font_17: max(17px, 3.73vw);
    --index_font_21: max(13px, 3.47vw);
    --index_font_27: max(20px, 5.33vw);
    --index_font_55: max(29px, 7.73vw);
    --index_margin_20: max(15px, 3.73vw);
    --index_margin_40: max(30px, 8vw);
    --index_margin_50: max(30px, 8vw);
    --index_margin_60: max(30px, 8vw);
    --index_font_65: max(55px, 14.67vw);
    --index_margin_70: max(40px, 10.67vw);
    --index_margin_160: max(80px, 21.33vw);
    --button_area_17: max(14px, 3.73vw);
    --button_area_10: max(7px, 1.87vw);
    --button_area_65: max(55px, 14.67vw);
    --index_margin_120: max(60px, 16vw);
  }
}

main {
  position: relative;
  z-index: 0;
}
main img,
main picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
main section {
  width: 100%;
  height: auto;
  background-color: #ffffff;
}
main .container {
  width: 93%;
  max-width: max(1100px, 73.33vw);
  margin: 0 auto;
}
main .areaText {
  padding: calc(var(--title_margin) + 20px) 0;
}
@media screen and (max-width: 770px) {
  main .areaText {
    padding: 0;
  }
}
main .areaText h2 {
  font-size: var(--index_font_27);
  margin-bottom: calc(var(--title_margin) - 10px);
  letter-spacing: 0.25em;
}
main .areaText p {
  margin-bottom: var(--list_margin);
  font-size: var(--index_font_16);
  letter-spacing: 0.15em;
}
main .areaText p:last-child {
  margin-bottom: 0;
}
main .areaText .textWrap {
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 770px) {
  main .areaText .textWrap {
    width: 100%;
  }
}
main .imgRight,
main .imgLeft {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 770px) {
  main .imgRight,
  main .imgLeft {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    row-gap: var(--block_margin);
  }
}
main .imgRight .imageArea,
main .imgLeft .imageArea {
  position: absolute;
  top: 0;
  height: 100%;
  max-height: 100%;
}
main .imgRight .imageArea img,
main .imgLeft .imageArea img {
  object-fit: contain;
}
@media screen and (max-width: 770px) {
  main .imgRight .imageArea,
  main .imgLeft .imageArea {
    position: static;
    grid-area: 2/1/3/2;
  }
}
main .imgRight .areaText,
main .imgLeft .areaText {
  width: 50%;
  margin: 0 auto;
}
@media screen and (max-width: 770px) {
  main .imgRight .areaText,
  main .imgLeft .areaText {
    width: 100%;
    grid-area: 1/1/2/2;
  }
}
main .imgRight .imageArea {
  right: 0;
}
main .imgRight .imageArea img {
  object-position: top right;
}
main .imgRight .areaText {
  margin-left: 0;
}
main .imgLeft .imageArea {
  left: 0;
}
main .imgLeft .imageArea img {
  object-position: top left;
}
main .imgLeft .areaText {
  margin-right: 0;
}
main .spborder {
  display: flex;
  align-items: center;
  justify-content: center;
}
main .spborder span {
  width: 2px;
  height: 10vh;
  background-color: #1C1C1C;
  margin-top: var(--index_margin_120);
}
main .firstView {
  width: 100%;
  height: 85dvh;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 0;
}
@media screen and (max-width: 770px) {
  main .firstView {
    height: auto;
    flex-direction: column;
    padding-top: var(--section_margin);
    padding-bottom: var(--index_margin_120);
  }
}
main .firstView .title {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 770px) {
  main .firstView .title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    bottom: unset;
  }
}
main .firstView h1 {
  font-size: var(--index_font_55);
  margin-bottom: var(--index_margin_20);
  line-height: 1;
}
main .firstView p {
  font-size: var(--index_font_21);
  line-height: 1;
}
main .firstSection {
  padding-bottom: var(--index_margin_160);
}
main .firstSection .imageArea {
  width: 50vw;
}
@media screen and (max-width: 770px) {
  main .firstSection .imageArea {
    width: 100vw;
  }
}
main .thoughtsArea {
  padding-bottom: var(--index_margin_160);
}
main .thoughtsArea .imageArea {
  width: 50vw;
}
@media screen and (max-width: 770px) {
  main .thoughtsArea .imageArea {
    width: 93%;
  }
}
main .secondArea {
  width: 100%;
  position: relative;
  z-index: 0;
  padding: var(--index_margin_70);
}
@media screen and (max-width: 770px) {
  main .secondArea {
    padding: 0;
  }
}
main .secondArea .areaText {
  width: fit-content;
  background-color: rgba(255, 255, 255, 0.8784313725);
  padding: var(--index_margin_60);
}
@media screen and (max-width: 770px) {
  main .secondArea .areaText {
    width: 100%;
    padding: 0;
    padding-bottom: var(--block_margin);
  }
  main .secondArea .areaText .wrapText {
    width: 100%;
  }
}
main .secondArea .imgBox {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 770px) {
  main .secondArea .imgBox {
    width: 93%;
    position: static;
    margin: 0 auto;
    margin-right: 0;
  }
}
main .thirdArea {
  padding: var(--section_margin) 0;
}
main .thirdArea .imgLeftSmall {
  display: grid;
  grid-template-columns: 50% 50%;
}
@media screen and (max-width: 770px) {
  main .thirdArea .imgLeftSmall {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    row-gap: var(--block_margin);
  }
}
main .thirdArea .imgLeftSmall .imageArea {
  width: 95%;
  /* aspect-ratio: 550/733; */
  margin: 0 auto;
  position: relative;
}
main .thirdArea .imgLeftSmall .imageArea::before{
  content: '';
  width: 100%;
  padding-top: 133.27%;
  display: block;
}
@media screen and (max-width: 770px) {
  main .thirdArea .imgLeftSmall .imageArea {
    width: 65%;
    grid-area: 2/1/3/2;
  }
}
main .thirdArea .imgLeftSmall .imageArea img {
  height: auto;
  object-position: right;
  position: absolute;
  top: 0;
  left: 0;
}
main .thirdArea .imgLeftSmall .areaText {
  width: 100%;
}
@media screen and (max-width: 770px) {
  main .thirdArea .imgLeftSmall .areaText {
    grid-area: 1/1/2/2;
  }
}
main .thirdArea .imgLeftSmall .areaText .wrapText {
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 770px) {
  main .thirdArea .imgLeftSmall .areaText .wrapText {
    width: 100%;
  }
}
main .faceArea {
  padding-bottom: var(--section_margin);
}
main .faceArea .imageArea {
  width: 46.27vw;
}
@media screen and (max-width: 770px) {
  main .faceArea .imageArea {
    width: 93%;
  }
}
main .justWaitAndSeeArea {
  width: 100%;
  position: relative;
  z-index: 0;
  padding: var(--index_margin_70);
}
@media screen and (max-width: 770px) {
  main .justWaitAndSeeArea {
    padding: 0;
  }
}
main .justWaitAndSeeArea .areaText {
  width: fit-content;
  background-color: rgba(255, 255, 255, 0.8784313725);
  padding: var(--index_margin_60);
  margin: 0 auto;
  margin-right: 0;
}
@media screen and (max-width: 770px) {
  main .justWaitAndSeeArea .areaText {
    width: 100%;
    padding: 0;
    padding-bottom: var(--block_margin);
  }
  main .justWaitAndSeeArea .areaText .wrapText {
    width: 100%;
  }
}
main .justWaitAndSeeArea .imgBox {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 770px) {
  main .justWaitAndSeeArea .imgBox {
    width: 93%;
    position: static;
    margin: 0 auto;
    margin-right: 0;
  }
}
main .decisiveBattleArea {
  padding: var(--section_margin) 0;
}
main .decisiveBattleArea .imgLeftSmall {
  display: grid;
  grid-template-columns: 50% 50%;
}
@media screen and (max-width: 770px) {
  main .decisiveBattleArea .imgLeftSmall {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    row-gap: var(--block_margin);
  }
}
main .decisiveBattleArea .imgLeftSmall .imageArea {
  width: 95%;
  /* aspect-ratio: 550/733; */
  justify-self: end;
  position: relative;
  overflow: hidden;
}
main .decisiveBattleArea .imgLeftSmall .imageArea::before{
  content: '';
  width: 100%;
  padding-top: 133.27%;
  display: block;
}
@media screen and (max-width: 770px) {
  main .decisiveBattleArea .imgLeftSmall .imageArea {
    width: 65%;
    grid-area: 2/1/3/2;
    justify-self: center;
  }
}
main .decisiveBattleArea .imgLeftSmall .imageArea img {
  height: auto;
  object-position: right;
  position: absolute;
  top: 0;
  left: 0;
}
main .decisiveBattleArea .imgLeftSmall .areaText {
  width: 100%;
}
@media screen and (max-width: 770px) {
  main .decisiveBattleArea .imgLeftSmall .areaText {
    grid-area: 1/1/2/2;
  }
}
main .decisiveBattleArea .imgLeftSmall .areaText .wrapText {
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 770px) {
  main .decisiveBattleArea .imgLeftSmall .areaText .wrapText {
    width: 100%;
  }
}
main .lastPart {
  width: 100%;
  padding: 110vh 0 var(--index_margin_70);
  background-color: transparent;
}
main .lastPart::after{
  content: '';
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  background: url(../images/img_08_pc.jpg) no-repeat center/cover;
}
@media screen and (max-width: 770px) {
  main .lastPart::after{
    background: url(../images/img_08_sp.jpg) no-repeat center/cover;
  }
}
main .lastPart .bottomLastPart {
  display: flex;
  align-items: center;
  justify-content: center;
}
main .lastPart .bottomLastPart .areaText {
  width: fit-content;
  background-color: #ffffff;
  padding: var(--index_margin_60);
}
@media screen and (max-width: 770px) {
  main .lastPart .bottomLastPart .areaText {
    width: 93%;
    margin: 0 auto;
  }
}
main .buttonArea {
  padding: var(--section_margin) 0;
}
main .buttonArea .arrowLinkArea {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  line-height: 1;
}
main .buttonArea .arrowLinkArea .arrowLink {
  width: fit-content;
  display: flex;
  align-items: center;
  text-decoration: none;
  margin: 0;
  margin-bottom: var(--list_margin);
}
main .buttonArea .arrowLinkArea .arrowLink img {
  width: var(--button_area_65);
  object-fit: contain;
  transition: opacity 0.35s ease;
  margin-left: var(--base_font);
  margin-bottom: 10px;
}
main .buttonArea .arrowLinkArea .arrowLink:hover span {
  color: #B0B2AF;
}
main .buttonArea .arrowLinkArea .arrowLink:hover img {
  opacity: 0.6;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p {
  font-size: var(--button_area_17);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p:first-child::after {
  content: "";
  display: block;
  width: 2px;
  height: var(--button_area_17);
  background-color: #000000;
  margin: 0 var(--small_font);
  transition: background-color 0.35s ease;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea:hover p {
  color: #B0B2AF;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea:hover p:first-child:after {
  background: #B0B2AF;
}
@media screen and (max-width: 770px) {
  main .buttonArea .arrowLinkArea .arrowLink {
    align-items: end;
  }
  main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea {
    flex-direction: column;
    align-items: end;
  }
  main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p:first-child::after {
    content: unset;
  }
  main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p:first-child {
    margin-bottom: var(--button_area_10);
  }
}/*# sourceMappingURL=index.css.map */