@charset "utf-8";

@font-face {
  font-family: "Myriad Pro Regular";
  src: url("../../../../fonts/myriad/MyriadPro-Regular.woff2") format("woff2"), url("../../../../fonts/myriad/MyriadPro-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Pro Semibold";
  src: url("../../../../fonts/myriad/MyriadPro-Semibold.woff2") format("woff2"), url("../../../../fonts/myriad/MyriadPro-Semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Pro Bold";
  src: url("../../../../fonts/myriad/MyriadPro-Bold.woff2") format("woff2"), url("../../../../fonts/myriad/MyriadPro-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AP-OTF-A1GothicStd Bold";
  src: url("../../../../fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Bold.woff2") format("woff2"), url("../../../../fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AP-OTF-A1GothicStd Medium";
  src: url("../../../../fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Medium.woff2") format("woff2"), url("../../../../fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AP-OTF-A1GothicStd Regular";
  src: url("../../../../fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Regular.woff2") format("woff2"), url("../../../../fonts/ap-otf-a1gothicstd/AP-OTF-A1GothicStd-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.font-myriad-regular {
  font-family: "Myriad Pro Regular", sans-serif;
}

.font-myriad-semnibold {
  font-family: "Myriad Pro Semibold", sans-serif;
}

.font-myriad-bold {
  font-family: "Myriad Pro Bold", sans-serif;
}

.font-a1gothic-regular {
  font-family: "AP-OTF-A1GothicStd Regular", sans-serif;
}

.font-a1gothic-medium {
  font-family: "AP-OTF-A1GothicStd Medium", sans-serif;
}

.font-a1gothic-bold {
  font-family: "AP-OTF-A1GothicStd Bold", sans-serif;
}

.hidden {
  display: none;
}

.block-menu {
  position: relative;
}

.section-heading {
  color: #0065b3;
}

.process-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.process-list li {
  position: relative;
}
.process-list li::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
}
.process-list li:last-child::after {
  display: none;
}

.process-text {
  color: #0065b3;
  position: absolute;
}
.process-text::after {
  content: "";
  position: absolute;
  background: center center/contain no-repeat;
}
.process-text span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  visibility: visible;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-heading {
    letter-spacing: -0.04em;
  }
  .section-process {
    padding-bottom: 330px;
  }

  .section-heading {
    font-size: 8.4rem;
    line-height: calc(95 / 85);
  }

  .process-heading {
    margin-bottom: 340px;
  }

  .process-list li {
    padding-bottom: 130px;
  }
  .process-list li::after {
    bottom: -15px;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 30px solid #0065b3;
  }

  .process-text {
    font-size: 2.7rem;
    line-height: calc(38 / 27);
    border: solid 2px #0065b3;
    padding: 32px 58px 32px 65px;
    border-radius: 90px;
  }

  .process-list .is-first {
	margin-top: 250px;
    margin-bottom: 125px;
  }
  .process-list .is-first .process-text {
    width: 350px;
    top: -240px;
    left: -265px;
  }
  .process-list .is-first .process-text::after {
    width: 87px;
    height: 190px;
    background-image: url("/img/brand/anniversary/110/dialog_img_01.svg");
    bottom: -170px;
    left: calc(50% - 20px);
  }
  .process-list .is-second {
    padding-left: 80px;
    margin-bottom: 114px;
  }
  .process-list .is-second .process-text {
    width: 350px;
    top: -200px;
    right: -280px;
  }
  .process-list .is-second .process-text::after {
    width: 87px;
    height: 190px;
    background-image: url("/img/brand/anniversary/110/dialog_img_02.svg");
    bottom: -170px;
    left: calc(50% - 125px);
  }
  .process-list .is-third {
    padding-left: 8px;
  }
  .process-list .is-third .process-text {
    width: 425px;
    top: 375px;
    left: -90px;
  }
  .process-list .is-third .process-text::after {
    width: 110px;
    height: 235px;
    background-image: url("/img/brand/anniversary/110/dialog_img_03.svg");
    top: -205px;
    right: calc(50% - 245px);
  }
}
@media only screen and (min-width:0px) and (max-width:768px) {
  .block-menu {
    padding-bottom: 70px;
  }

  .section-heading {
    letter-spacing: 0.01em;
  }
  .section-process {
    padding-bottom: 200px;
  }
  .section-process .glb-content {
    padding: 0 27px;
  }

  .section-heading {
    font-size: 2.5rem;
    line-height: 1;
  }

  .process-heading {
    margin-bottom: 148px;
  }

  .process-list li {
    padding-bottom: 45px;
  }
  .process-list li::after {
    bottom: -7px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 14px solid #0065b3;
  }

  .process-text {
    font-size: 1.7rem;
    line-height: calc(23 / 17);
    border: solid 1px #0065b3;
  }

  .process-list .is-first {
    margin-bottom: 150px;
  }
  .process-list .is-first .process-text {
    width: 212px;
    padding: 22px 30px 20px 40px;
    border-radius: 50px;
    top: -133px;
    left: -119px;
  }
  .process-list .is-first .process-text::after {
    width: 39px;
    height: 78px;
    background-image: url("/img/brand/anniversary/110/dialog_img_01_sp.svg");
    bottom: -64px;
    left: calc(50% - 39px);
  }
  .process-list .is-second {
    margin-bottom: 70px;
    padding-left: 20px;
  }
  .process-list .is-second .process-text {
    width: 214px;
    padding: 21px 30px 20px 43px;
    border-radius: 50px;
    top: -102px;
    right: -82px;
  }
  .process-list .is-second .process-text::after {
    width: 37px;
    height: 76px;
    background-image: url("/img/brand/anniversary/110/dialog_img_02_sp.svg");
    bottom: -64px;
    left: calc(50% + 9px);
  }
  .process-list .is-third .process-image {
    margin-left: -10px;
  }
  .process-list .is-third .process-text {
    width: 250px;
    padding: 21px 13px 16px 36px;
    border-radius: 50px;
    top: 143px;
    left: -59px;
    letter-spacing: -.03em;
  }
  .process-list .is-third .process-text::after {
    width: 40px;
    height: 85px;
    background-image: url("/img/brand/anniversary/110/dialog_img_03_sp.svg");
    top: -69px;
    right: calc(50% - 89px);
  }
  .process-list .is-first img {
    width: 88px;
    height: 87px;
  }
  .process-list .is-second img {
    width: 150px;
    height: 107px;
  }
  .process-list .is-third img {
    width: 150px;
    height: 107px;
  }
}
.desinger-wrapper {
  margin-left: auto;
  margin-right: auto;
}

.common-layout .image-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
}
.common-layout.is-revert .image-wrapper {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.common-layout .designer-image-caption {
  position: absolute;
  color: #0065b3;
  background-color: #fff;
}
.common-layout .designer-image-caption::after {
  content: "";
  position: absolute;
  background: center center/contain no-repeat;
}
.common-layout.is-first .designer-image-caption {
  text-align: center;
  font-weight: normal;
}
.common-layout.is-first .designer-image-caption span {
  display: block;
}
.common-layout.is-second .designer-image-caption {
  font-weight: normal;
}

.designer-article, .designer-message {
  color: #0065b3;
}

.designer-article .article-heading {
  font-weight: normal;
  line-height: inherit;
}
.designer-article .biography-detail {
  line-height: inherit;
}
.designer-article .award-list li {
  line-height: inherit;
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {

  .designer-heading {
    margin-bottom: 104px;
  }

  .desinger-wrapper {
    max-width: 980px;
  }

  .common-layout .designer-image-caption {
    border: solid 2px #0065b3;
  }
  .common-layout.is-first {
    margin-bottom: 62px;
  }
  .common-layout.is-first .image-wrapper {
    margin-bottom: 115px;
  }
  .common-layout.is-first .designer-image-caption {
    width: 380px;
    padding: 32px 23px 28px;
    border-radius: 90px;
    bottom: -70px;
    left: 120px;
  }
  .common-layout.is-first .designer-image-caption::after {
    width: 108px;
    height: 166px;
    background-image: url("/img/brand/anniversary/110/dialog_img_04.svg");
    top: -145px;
    right: calc(50% - 170px);
  }
  .common-layout.is-first .designer-image-caption .is-small {
    font-size: 1.3rem;
    line-height: calc(27 / 13);
  }
  .common-layout.is-first .designer-image-caption .is-big {
    padding-right: 10px;
    font-size: 3.3rem;
    line-height: 1.2;
  }
  .common-layout.is-second .image-wrapper {
    margin-bottom: 275px;
  }
  .common-layout.is-second .designer-image-caption {
    width: 520px;
    padding: 58px 34px 54px 56px;
    border-radius: 58px;
    bottom: -215px;
    right: 45px;
    font-size: 3.6rem;
    line-height: calc(52 / 36);
    letter-spacing: -.03em;
  }
  .common-layout.is-second .designer-image-caption::after {
    width: 108px;
    height: 166px;
    background-image: url("/img/brand/anniversary/110/dialog_img_05.svg");
    top: -145px;
    right: calc(50% - 10px);
  }
  .common-layout.is-second .designer-message {
    letter-spacing: 0;
  }
  .common-layout.is-second .designer-message p {
    line-height: inherit
  }
  .common-layout.is-second .designer-message p:not(:last-child) {
    margin-bottom: 30px;
  }

  .designer-article, .designer-message {
    width: 730px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: 0.075em;
  }
  .designer-article {
    font-size: 1.7rem;
    line-height: calc(29 / 17);
  }

  .designer-message {
    font-size: 1.9rem;
    line-height: 1.7;
  }

  .designer-article:not(:last-child) {
    margin-bottom: 36px;
  }
}
@media only screen and (min-width:0px) and (max-width:768px) {
  .section-designer .glb-content {
    padding: 0 27px;
  }

  .designer-heading {
    margin-bottom: 16px;
  }

  .desinger-wrapper {
    padding: 0 27px;
  }

  .common-layout .designer-image-caption {
    border: solid 1px #0065b3;
  }
  .common-layout .image-wrapper {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
  }
  .common-layout.is-first {
    margin-bottom: 30px;
  }
  .common-layout.is-first .image-wrapper {
    margin-bottom: 35px;
  }
  .common-layout.is-first .designer-image {
    margin-right: -27px;
  }
  .common-layout.is-first .designer-image-caption {
    width: 238px;
    padding: 18px 20px 10px 20px;
    border-radius: 60px;
    bottom: -22px;
    left: -3px;
  }
  .common-layout.is-first .designer-image-caption::after {
    width: 48px;
    height: 58px;
    background-image: url("/img/brand/anniversary/110/dialog_img_04_sp.svg");
    top: -50px;
    left: calc(50% + 30px);
  }
  .common-layout.is-first .designer-image-caption .is-small {
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: -0.1em;
    margin-bottom: 5px;
  }
  .common-layout.is-first .designer-image-caption .is-big {
    padding-right: 0;
    font-size: 1.8rem;
    line-height: calc(18 / 15);
  }
  .common-layout.is-second .image-wrapper {
    margin-bottom: 90px;
  }
  .common-layout.is-second .designer-image {
    margin-left: -27px;
  }
  .common-layout.is-second .designer-image-caption {
    padding: 18px 15px 14px;
    border-radius: 20px;
    bottom: -73px;
    right: 0;
    font-size: 1.7rem;
    line-height: calc(23 / 17);
    letter-spacing: -0.05em;
  }
  .common-layout.is-second .designer-image-caption::after {
    width: 48px;
    height: 60px;
    background-image: url("/img/brand/anniversary/110/dialog_img_05_sp.svg");
    top: -53px;
    right: calc(50% - 23px);
  }

  .common-layout.is-second .designer-message p {
    line-height: calc(24 / 15);
  }
  .common-layout.is-second .designer-message p:not(:last-child) {
    margin-bottom: 22px;
  }

  .designer-article {
    font-size: 1.4rem;
    letter-spacing: 0.01em;
    line-height: calc(24 / 15);
  }

  .designer-article:not(:last-child) {
    margin-bottom: 22px;
  }

  .designer-message {
    font-size: 1.6rem;
    letter-spacing: -0.1em;
    line-height: calc(24 / 15);
  }

  .biography-detail,
  .designer-message {
    text-align: justify;
  }

  .award-list li {
    position: relative;
    padding-left: 10px;
  }

  .award-list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: -5px;
  }
}
.section-keyvisual .keyvisual-leading {
  color: #0065b3;
  text-align: center;
}
.section-keyvisual .keyvisual-leading span {
  display: block;
}
.section-keyvisual .keyvisual-leading .is-first {
  border-bottom: solid 1px #0065b3;
  position: relative;
}
.section-keyvisual .keyvisual-leading .is-first::after {
  content: "";
  position: absolute;
  background-color: #0065b3;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.section-keyvisual .keyvisual-video {
  display: block;
  width: 100%;
  height: auto;
  -webkit-clip-path: inset(1px 1px);
          clip-path: inset(1px 1px);
  background-color: transparent;
}
.section-keyvisual .keyvisual-nav li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.section-keyvisual .keyvisual-nav li:last-child {
  margin-bottom: 0;
}
.section-keyvisual .keyvisual-nav a {
  display: inline-block;
  text-decoration: none;
  color: #0065b3;
}

.section-keyvisual .keyvisual-nav a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-keyvisual {
    padding-top: 0;
    padding-bottom: 156px;
  }
  .section-keyvisual .keyvisual-leading {
    width: 252px;
    margin-bottom: -20px;
    font-size: 24px;
    line-height: calc(44 / 24);
  }
  .section-keyvisual .keyvisual-leading .is-first {
    letter-spacing: -0.08em;
  }
  .section-keyvisual .keyvisual-leading .is-first::after {
    width: 150px;
    height: 5px;
    bottom: -3px;
  }
  .section-keyvisual .keyvisual-leading .is-second {
    letter-spacing: -0.01em;
    padding-left: 5px;
  }
  .section-keyvisual .keyvisual-heading {
    width: 320px;
    margin: 0 auto 100px;
  }
  .section-keyvisual .video-wrapper {
    margin: 0 auto 30px;
  }
  .section-keyvisual .keyvisual-nav li {
    margin-bottom: 10px;
  }
  .section-keyvisual .keyvisual-nav a {
    padding: 9px 20px 5px;
    border: solid 2px #0065b3;
    border-radius: 20px;
    font-size: 19px;
    letter-spacing: -0.05em;
    line-height: calc(22 / 19);
  }
  .section-keyvisual .keyvisual-nav a::after {
    width: 8px;
    height: 8px;
    margin: 3px 0 8px 8px;
  }
}
@media only screen and (min-width:0px) and (max-width:768px) {
  .section-keyvisual {
    padding-top: 3px;
    padding-bottom: 120px;
  }
  .section-keyvisual .glb-content {
    padding: 0 27px;
  }
  .section-keyvisual .keyvisual-leading {
    width: 164px;
    margin: 0 auto;
    font-size: 16px;
    line-height: calc(29 / 16);
  }
  .section-keyvisual .keyvisual-leading .is-first {
    letter-spacing: -0.08em;
  }
  .section-keyvisual .keyvisual-leading .is-first::after {
    width: 98px;
    height: 5px;
    bottom: -3px;
  }
  .section-keyvisual .keyvisual-leading .is-second {
    letter-spacing: -0.05em;
    padding-left: 3px;
  }
  .section-keyvisual .keyvisual-heading {
    width: 150px;
    margin: 0 auto 60px;
  }
  .section-keyvisual .video-wrapper {
    width: calc(100% + 54px);
    margin: 0 -27px 50px;
  }
  .section-keyvisual .keyvisual-nav li {
    margin-bottom: 10px;
  }
  .section-keyvisual .keyvisual-nav a {
    padding: 7px 12px 5px;
    border: solid 1px #0065b3;
    border-radius: 15px;
    font-size: 16px;
    letter-spacing: -0.05em;
    line-height: calc(18 / 16);
  }
  .section-keyvisual .keyvisual-nav a::after {
    width: 6px;
    height: 6px;
    margin: 1px 0 6px 6px;
    border-top-width: 1px;
    border-right-width: 1px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 1150px) {
  .process-list .is-second .process-text {
    right: -245px;
  }
  .common-layout.is-second .designer-image-caption {
    width: 530px;
    right: 10px;
    font-size: 3.5rem;
  }
}

@media only screen and (min-width:0px) and (max-width:374px) {
  .section-heading {
    font-size: 2.1rem;
  }
  .process-list .is-first .process-text {
    left: -105px;
  }
  .process-list .is-second .process-text {
    right: -65px;
  }
}