@charset "utf-8";

/*----------------------------
	works
------------------------------*/

/*============================*/
/* graphic */
/*============================*/
.graphic {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  margin-bottom: 11rem;
}

.graphic h1 {
  text-align: center;
}

.graphic h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.graphic h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.graphic h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.graphic .content {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
}

.graphic .content .txtBox {
  margin-top: 0.5rem;
  width: 25rem;
}

.graphic .content .txtBox .contentTtl {
  font-weight: 500;
  line-height: 2.2rem;
}

.graphic .content .txtBox .txt {
  margin-top: 4.5rem;
  line-height: 3.1rem;
  text-align: justify;
}

.graphic .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.graphic .content .picBox {
  width: 50rem;
}

.graphic .content .picBox > p + p,
.graphic .content .picBox .df + p {
  margin-top: 2.5rem;
}

.graphic .content .picBox.mgb > p + p {
  margin-top: 5rem;
}

.graphic .content .picBox.mgb > .main + p {
  margin-top: 8rem;
}

.graphic .content .picBox > p.vertical {
  width: 38.2rem;
  margin: 0 auto;
}

.graphic .content .picBox > div.mg + div {
  margin-top: 12.5rem;
}

.graphic .content .picBox > div.mg > p + p {
  margin-top: 4.5rem;
}

.graphic .content .picBox .df {
  margin-top: 2.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.graphic .content .picBox .df.wrap {
  flex-wrap: wrap;
  gap: 2.5rem 2.8rem;
}

.graphic .content .picBox .df > p {
  width: 24.2rem;
}

.graphic .content .picBox .df.wrap > p {
  width: 23.6rem;
}

.graphic .content .picBox .df > p.vertical {
  width: 15.9rem;
}

.graphic .content .picBox .df > p.beside {
  width: 31.4rem;
}

.graphic .content .picBox .df > .dfBox {
  width: 23.6rem;
}

.graphic .content .picBox .df > .dfBox > p + p {
  margin-top: 2.7rem;
}

.graphic .content .picBox > p.small {
  width: 24rem;
  margin: 2.5rem auto 0;
}

.graphic .content .picBox > p.mg,
.graphic .content .picBox > .df.mg {
  margin-top: 6rem;
}

.graphic .content .picBox > p.smg {
  margin-top: 1rem;
}

.graphic .content .picBox > p.center {
  text-align: center;
}

.graphic .content .picBox > p.right {
  text-align: right;
}

.graphic .content .picBox > p > .pdfLink {
  display: block;
}

.graphic .backLink {
  margin-top: 5.5rem;
  text-align: center;
}

.graphic .content .picBox > p.movie {
  position: relative;
  width: 100%;
  padding-top: 7.5rem;
  aspect-ratio: 560/315;
  padding-top: 0;
}

.graphic .content .picBox > p.movie > iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 560/315;
}

/*===g05===*/
.graphic.g05 .content .picBox > div.mg > p + p {
  margin-top: 0;
}

/*===g16===*/
.graphic.g16 .content .picBox .main {
  width: 28.7rem;
  margin: 0 auto;
}

/*===g17===*/
.graphic.g17 .content .picBox {
  width: 42rem;
}

.graphic.g17 .content .picBox > p + p {
  margin-top: 15rem;
}

/*===g19===*/
.graphic.g19 {
  max-width: 85.5rem;
}

.graphic.g19 .content .txtBox {
  width: 23rem;
}

.graphic.g19 .content .picBox {
  width: 59rem;
}

.graphic.g19 .content .picBox .main {
  width: 29.5rem;
  margin: 0 auto;
}

.graphic.g19 .content .picBox > p + p {
  margin-top: 6rem;
}

/*===g22===*/
.graphic.g22 .content .picBox p.narrow {
  margin-left: auto;
  margin-right: auto;
  width: 34rem;
  text-align: center;
}

/*===g23===*/
.graphic.g23 .content .picBox p.narrow {
  margin-left: auto;
  margin-right: auto;
  width: 29rem;
  text-align: center;
}

/*===g33===*/
.graphic.g33 .content .picBox .picNote {
  margin-top: -1.2rem;
  margin-left: 0.5em;
}

.graphic.g33 .picNote {
  margin-top: 1rem;
  font-size: 1.8rem;
}

.graphic.g33 .picNote.mgl {
  margin-top: 0;
  margin-left: 0.5em;
}

.graphic.g33 .content + .picArea {
  margin-top: 12rem;
}

.graphic.g33 .picArea + .picArea {
  margin-top: 11rem;
}

.graphic.g33 .picArea .box + .box {
  margin-top: 11rem;
}

.graphic.g33 .picArea .box.center {
  max-width: 40rem;
  margin: 2rem auto 0;
}

.graphic.g33 .picArea .box.mgt {
  margin-top: 4rem;
}

.graphic.g33 .content.sp {
  display: none;
}

/*===g34===*/
.graphic.g34 .picBox .box {
  width: 48%;
}

.graphic.g34 .picBox .box01 {
  display: flex;
  flex-flow: column wrap;
  justify-content: start;
  gap: 2rem;
}

.graphic.g34 span.txt {
  display: block;
  margin-top: 0.5rem;
}

.graphic.g34 .picBox .box .relative {
  position: relative;
}

.graphic.g34 .picBox .box .relative .txt {
  position: absolute;
  bottom: 0.5rem;
  right: -14.5rem;
}

.graphic.g34 .picBox .box02 .txt {
  text-align: right;
}

/*===g37===*/
.graphic.g37 .content .sp {
  display: none;
}

.graphic.g37 .content .pc {
  display: flex;
}

/*===g41===*/
.graphic.g41 .picBox {
  width: 36.7rem;
}

/*===g43===*/
.graphic.g43 .content .picBox .df > p.pic01 {
  width: 20rem;
}

.graphic.g43 .content .picBox .df > p.pic02 {
  width: 27.5rem;
}

/*===g44===*/
.graphic.g44 .content .picBox .df > p.pic01 {
  width: 23.2rem;
}

.graphic.g44 .content .picBox .df > p.pic02 {
  width: 25.2rem;
}

/*===g48===*/
.graphic.g48 .content .picBox .df {
  gap: 2.5rem 0;
}

/*===g49===*/
.graphic.g49 {
  max-width: 85rem;
}

.graphic.g49 .content .txtBox .contentTtl {
  margin-right: -2rem;
}

.graphic.g49 .content .picBox {
  width: 52.6rem;
}

/*===g50===*/
.graphic.g50 .content .picBox > .pic {
  margin-top: 2rem;
}

/*===g51===*/

/*===g52===*/
.graphic.g52 .content .picBox {
  text-align: center;
}

@media (max-width: 768px) {
  .graphic.g52 .content .picBox > .pic.small {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (min-width: 768px) {
  .graphic.g52 .content .picBox {
    width: 52.6rem;
    text-align: center;
  }
}

/*===g54===*/

@media (max-width: 768px) {
  .graphic.g54 .content .picBox > .main {
    margin-top: 5.6rem;
  }
}

@media (min-width: 768px) {
  .graphic.g54 .content .picBox {
    width: 52.6rem;
    display: grid;
    column-gap: 2.7rem;
  }

  .graphic.g54 .content .picBox p:first-child {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }
}

/*===g55===*/

.graphic.g55 .content .picBox .left {
  text-align: left;
}

.graphic.g55 .content .picBox .main {
  margin-top: 0.5rem;
}

.graphic.g55 .content .picBox .df {
  margin-top: 0.5rem;
}

.graphic.g55 .content .picBox p:nth-of-type(3) {
  margin-top: 2.5rem;
}

.graphic.g55 .content .picBox .pic03 {
  margin-top: 0.5rem;
}

/*===g65===*/
.graphic.g65 .content .picBox {
  text-align: center;
}

@media (max-width: 768px) {
  .graphic.g65 .content .picBox > .pic.small {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (min-width: 768px) {
  .graphic.g65 .content .picBox {
    width: 52.6rem;
    text-align: center;
  }
}

/*===g79===*/
.graphic.g79 .content .picBox .center_text {
  text-align: center;
  margin-top: 5rem;
}

.graphic.g79 .content .picBox .pic02 {
  text-align: center;
}

@media (max-width: 768px) {
  .graphic {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .graphic h1 .small {
    font-size: 4.2rem;
  }

  .graphic h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .graphic h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .graphic .content {
    margin-top: 12.5rem;
    flex-direction: column;
  }

  .graphic .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .graphic .content .txtBox .contentTtl {
    max-width: 52rem;
    margin: 0 auto;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
    padding-left: 4rem;
  }

  .graphic .content .txtBox .contentTtl.big {
    padding-left: 0;
  }

  .graphic .content .txtBox .contentTtl.center {
    max-width: 100%;
    padding-left: 0;
    text-align: center;
  }

  .graphic .content .txtBox .txt {
    margin-top: 10rem;
    line-height: 6rem;
  }

  .graphic .content .picBox {
    margin-top: 12.5rem;
    width: 100%;
  }

  .graphic .content .picBox > p,
  .graphic .content .picBox > p + p,
  .graphic .content .picBox .df > p,
  .graphic .content .picBox .df + p {
    margin-top: 7.5rem;
    padding: 0 7.5rem;
    text-align: center;
  }

  .graphic .content .picBox.mgb > p + p {
    margin-top: 9rem;
  }

  .graphic .content .picBox.mgb > .main + p {
    margin-top: 14rem;
  }

  .graphic .content .picBox > p.vertical {
    width: 100%;
  }

  .graphic .content .picBox > .main {
    width: 100%;
    margin-top: 0;
    padding: 0;
  }

  .graphic .content .picBox > div.mg > p {
    padding: 0 7.5rem;
  }

  .graphic .content .picBox > div.top > p:first-child {
    padding: 0;
  }

  .graphic .content .picBox .df {
    flex-direction: column;
  }

  .graphic .content .picBox .df.wrap {
    gap: 0;
  }

  .graphic .content .picBox .df > p {
    width: 100%;
  }

  .graphic .content .picBox .df.wrap > p {
    width: 100%;
  }

  .graphic .content .picBox .df > p.vertical {
    width: 100%;
  }

  .graphic .content .picBox .df > p.beside {
    width: 100%;
  }

  .graphic .content .picBox .df > p.center {
    text-align: center;
  }

  .graphic .content .picBox .df > .dfBox {
    width: 100%;
    padding: 0 7.5rem;
  }

  .graphic .content .picBox .df > .dfBox + .dfBox {
    margin-top: 9.5rem;
  }

  .graphic .content .picBox .df > .dfBox > p + p {
    margin-top: 9.5rem;
  }

  .graphic .content .picBox > p.small {
    width: 100%;
    margin: 4rem auto 0;
  }

  .graphic .content .picBox > p.mg,
  .graphic .content .picBox > .df.mg {
    margin-top: 0;
  }

  .graphic .content .picBox > p.smg {
    margin-top: 3rem;
  }

  .graphic .content .picBox > p + .mg {
    margin-top: 7.5rem;
  }

  .graphic .content .caption {
    max-width: 50rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .graphic .backLink {
    margin-top: 6.5rem;
    font-size: 3.9rem;
  }

  /*===g16===*/
  .graphic.g16 .content .picBox .main {
    width: 100%;
  }

  /*===g17===*/
  .graphic.g17 .content .picBox {
    width: 100%;
    text-align: center;
  }

  .graphic.g17 .content .picBox > p + p {
    margin-top: 20rem;
  }

  /*===g18===*/
  .graphic.g18 .content .picBox .main {
    width: 68.5rem;
    margin: 0 auto;
  }

  /*===g19===*/
  .graphic.g19 {
    max-width: 100%;
  }

  .graphic.g19 .content .txtBox {
    width: 100%;
  }

  .graphic.g19 .content .picBox {
    width: 100%;
  }

  .graphic.g19 .content .picBox .main {
    width: 100%;
    text-align: center;
    padding: 0 7.5rem;
  }

  .graphic.g19 .content .picBox .center {
    width: 29.6rem;
    margin: 8rem auto 0;
    padding: 0;
  }

  .graphic.g19 .content .picBox > .main + p {
    margin-top: 10rem;
  }

  /*===g22===*/
  .graphic.g22 .content .picBox p.narrow {
    width: 100%;
    padding: 0 7.5rem;
  }

  /*===g23===*/
  .graphic.g23 .content .picBox p.narrow {
    width: 100%;
    padding: 0 7.5rem;
  }

  .graphic.g23 .content .picBox p.narrow:nth-of-type(3) {
    padding-left: 0;
    padding-right: 0;
    width: 29.6rem;
  }

  /*===g28===*/
  .graphic.g28 .content .picBox > p {
    padding: 0 7rem;
    text-align: center;
  }

  .graphic.g28 .content .picBox > p + p {
    margin-top: 3.5rem;
  }

  .graphic.g28 .content .picBox .df {
    width: 59.9rem;
    margin: 0 auto;
  }

  .graphic.g28 .content .picBox .df > p {
    margin-top: 3.5rem;
    padding: 0;
  }

  /*===g29===*/
  .graphic.g29 .content .picBox > p {
    margin-top: 0;
  }

  /*===g30===*/
  .graphic.g30 .content .picBox > p {
    margin-top: 0;
  }

  .graphic.g30 .content .picBox > p,
  .graphic.g30 .content .picBox > p + p {
    padding: 0 3.5rem;
  }

  /*===g31===*/
  .graphic.g31 .content .picBox {
    margin-top: 0;
  }

  .graphic.g31 .content .picBox > p,
  .graphic.g31 .content .picBox > p + p {
    padding: 0 3.5rem;
  }

  /*===g32===*/
  .graphic.g32 .content .caption {
    max-width: 51rem;
  }

  /*===g33===*/
  .graphic.g33 .content .txtBox .caption {
    width: 40rem;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .graphic.g33 .content .picBox {
    width: 59rem;
    margin: 8rem auto 0;
  }

  .graphic.g33 .content .picBox .picNote {
    margin-top: -1.2rem;
    margin-left: 0.5em;
  }

  .graphic.g33 .picNote {
    margin-top: 1rem;
    font-size: 2.8rem;
  }

  .graphic.g33 .picNote.mgl {
    margin-top: 0;
    margin-left: 0.5em;
  }

  .graphic.g33 .content + .picArea {
    margin-top: 15rem;
  }

  .graphic.g33 .picArea + .picArea {
    margin-top: 13rem;
  }

  .graphic.g33 .picArea .box + .box {
    margin-top: 13rem;
  }

  .graphic.g33 .picArea .box > p {
    max-width: 59.8rem;
    margin: 0 auto;
  }

  .graphic.g33 .picArea .box .pic + .pic {
    margin-top: 7rem;
  }

  .graphic.g33 .picArea .box.center {
    max-width: 50rem;
    margin: 5.5rem auto 0;
  }

  .graphic.g33 .picArea .box.mgt {
    max-width: 52.4rem;
    margin: 5.5rem auto 0;
  }

  .graphic.g33 .picArea .box > .picNote {
    margin-top: 1rem;
  }

  .graphic.g33 .content.sp {
    display: block;
  }

  .graphic.g33 .backLink {
    margin-top: 13rem;
  }

  /*===g34===*/
  .graphic.g34 .picBox .box {
    width: 100%;
  }

  .graphic.g34 .picBox .box01 {
    display: block;
  }

  .graphic.g34 span.txt {
    display: block;
    margin-top: 1rem;
  }

  .graphic.g34 .picBox .box02 .txt {
    text-align: left;
  }

  .graphic.g34 .picBox .spPd {
    padding: 0 7.5rem;
    margin-top: 0;
  }

  .graphic.g34 .picBox .box p {
    margin-top: 5rem;
  }

  .graphic.g34 .picBox .box .relative .txt {
    position: static;
  }

  /*===g37===*/
  .graphic.g37 .content .sp {
    display: block;
  }

  .graphic.g37 .content .pc {
    display: none;
  }

  /*===g38===*/
  .graphic.g38 .content .caption {
    max-width: 60rem;
  }

  /*===g40===*/
  .graphic.g40 .content .picBox {
    width: 100%;
    text-align: center;
    padding: 0 7.5rem;
  }

  .graphic.g40 .content .picBox img.sp {
    display: inline-block;
  }

  /*===g41===*/
  .graphic.g41 .picBox {
    width: 100%;
    padding: 0 7.5rem;
  }

  /*===g43===*/
  .graphic.g43 .content .picBox .df > p.pic01 {
    width: 100%;
  }

  .graphic.g43 .content .picBox .df > p.pic02 {
    width: 100%;
  }

  /*===g44===*/
  .graphic.g44 .content .picBox .df > p.pic01 {
    width: 100%;
  }

  .graphic.g44 .content .picBox .df > p.pic02 {
    width: 100%;
  }

  /*===g45===*/
  .graphic.g45 .content .picBox > .main {
    width: 59.2rem;
    margin: 0 auto;
  }

  /*===g46===*/
  .graphic.g46 .content .picBox > .main {
    width: 68.5rem;
    margin: 0 auto;
  }

  /*===g48===*/
  .graphic.g48 .content .picBox .df {
    margin-top: 7rem;
    gap: 5rem 0;
  }

  .graphic.g48 .content .picBox .df > p {
    margin-top: 0;
  }

  /*===g49===*/
  .graphic.g49 {
    max-width: 100%;
  }

  .graphic.g49 .content .txtBox .contentTtl {
    margin-right: 0;
    font-size: 3.4rem;
  }

  .graphic.g49 .content .picBox {
    margin-top: 5.5rem;
    width: 100%;
  }

  .graphic.g49 .content .picBox > .main {
    width: 59.4rem;
    margin: 0 auto;
  }

  /*===g50===*/
  .graphic.g50 .content .picBox > .pic {
    margin-top: 10rem;
  }

  /*===g55===*/
  .graphic.g55 .content .picBox .df {
    margin-top: -7rem;
  }

  .graphic.g55 .content .picBox p:nth-of-type(3) {
    margin-top: 7.5rem;
    padding-left: 13rem;
  }

  /*===g79===*/
  .graphic.g79 .content .picBox .center_text {
    margin-top: 8rem;
    margin-bottom: -5rem;
  }
}

/*============================*/
/* event */
/*============================*/
.event {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-feature-settings: "palt";
  margin-bottom: 11rem;
}

.event h1 {
  text-align: center;
}

.event h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.event h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.event h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.event .content {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
}

.event .content .txtBox {
  margin-top: 0.5rem;
  width: 25rem;
}

.event .content .txtBox .contentTtl {
  font-weight: 500;
  line-height: 2.2rem;
}

.event .content .txtBox .txt {
  margin-top: 4.5rem;
  line-height: 3.1rem;
  text-align: justify;
}

.event .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.event .content .picBox {
  width: 50rem;
}

.event .content .picBox > div.mg + div {
  margin-top: 12.5rem;
}

.event .content .picBox > div.mg > p + p {
  margin-top: 4.5rem;
}

.event .content .picBox > p + p {
  margin-top: 2.5rem;
}

.event .content .picBox > .df {
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 2.8rem;
}

.event .content .picBox > .df > p {
  width: 23.6rem;
}

.event .backLink {
  margin-top: 5.5rem;
  text-align: center;
}

@media (max-width: 768px) {
  .event {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .event h1 .small {
    font-size: 4.2rem;
  }

  .event h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .event h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .event .content {
    margin-top: 12.5rem;
    flex-direction: column;
  }

  .event .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .event .content .txtBox .contentTtl {
    max-width: 55rem;
    margin: 0 auto;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
  }

  .event .content .txtBox .contentTtl.center {
    max-width: 100%;
    text-align: center;
  }

  .event .content .txtBox .txt {
    margin-top: 10rem;
    line-height: 6rem;
  }

  .event .content .picBox {
    margin-top: 12.5rem;
    width: 100%;
  }

  .event .content .picBox > div {
    width: 100%;
  }

  .event .content .picBox > div + div {
    margin-top: 15rem;
  }

  .event .content .picBox > div > p {
    padding: 0 7.5rem;
  }

  .event .content .picBox > div.top > p:first-child {
    padding: 0;
  }

  .event .content .picBox > div > p + p {
    margin-top: 5rem;
  }

  .event .content .picBox > p + p {
    margin-top: 7.5rem;
    padding: 0 7.5rem;
  }

  .event .content .picBox > .df {
    margin-top: 7.5rem;
    flex-direction: column;
    gap: 0;
  }

  .event .content .picBox > .df > p {
    width: 100%;
    padding: 0 7.5rem;
  }

  .event .content .picBox > .df > p.center {
    width: 38.2rem;
    margin: 7.5rem auto 0;
    padding: 0;
  }

  .event .content .caption {
    max-width: 50rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .event .backLink {
    margin-top: 10.5rem;
    font-size: 3.9rem;
  }
}

/*============================*/
/* branding */
/*============================*/
.branding {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-feature-settings: "palt";
  margin-bottom: 11rem;
}

.branding h1 {
  text-align: center;
}

.branding h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.branding h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.branding h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.branding .content {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
}

.branding .content .txtBox {
  margin-top: 0.5rem;
  width: 25rem;
}

.branding .content .txtBox .contentTtl {
  font-weight: 500;
  line-height: 2.2rem;
}

.branding .content .txtBox .txt {
  margin-top: 4.5rem;
  line-height: 3.1rem;
  text-align: justify;
}

.branding .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.branding .content .picBox {
  width: 50rem;
}

.branding .content .picBox > p + p {
  margin-top: 3rem;
}

.branding .content .picBox > p.center {
  text-align: center;
}

.branding .content .picBox .df {
  display: flex;
  justify-content: space-between;
}

.branding .content .picBox .df > p {
  width: 49.5%;
}

.branding .content .picBox > p + .df {
  margin-top: 3rem;
}

.branding .backLink {
  margin-top: 5.5rem;
  text-align: center;
}

/*===b03===*/
.branding.b03 .content .picBox .main {
  width: 43.2rem;
  margin: 0 auto;
}

.branding.b03 .content .picBox .main + p {
  margin-top: 5rem;
}

.branding.b03 .content .picBox > p + p {
  margin-top: 1.5rem;
}

.branding.b03 .content .picBox > p + p.top {
  margin-top: 3rem;
}

.branding.b03 .content .picBox > p + .df {
  margin-top: 1.5rem;
}

@media (max-width: 768px) {
  .branding {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .branding h1 .small {
    font-size: 4.2rem;
  }

  .branding h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .branding h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .branding .content {
    margin-top: 12.5rem;
    flex-direction: column;
  }

  .branding .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .branding .content .txtBox .contentTtl {
    max-width: 50rem;
    margin: 0 auto;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
  }

  .branding .content .txtBox .contentTtl.center {
    text-align: center;
  }

  .branding .content .txtBox .txt {
    margin-top: 10rem;
    line-height: 6rem;
  }

  .branding .content .picBox {
    margin-top: 12.5rem;
    width: 100%;
  }

  .branding .content .picBox > p + p {
    margin-top: 7.5rem;
    padding: 0 7.5rem;
  }

  .branding .content .picBox > p.right {
    text-align: right;
  }

  .branding .content .picBox > p.mgs {
    margin-top: 4rem;
  }

  .branding .content .picBox .df {
    flex-direction: column;
  }

  .branding .content .picBox .df > p {
    width: 100%;
    padding: 0 7.5rem;
  }

  .branding .content .picBox .df > p + p {
    margin-top: 4rem;
  }

  .branding .content .picBox > p + .df {
    margin-top: 7.5rem;
  }

  .branding .content .caption {
    max-width: 50rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .branding .backLink {
    margin-top: 6.5rem;
    font-size: 3.9rem;
  }

  /*===b03===*/
  .branding.b03 .content .picBox .main {
    width: 100%;
    text-align: center;
    padding: 0 7.5rem;
  }

  .branding.b03 .content .picBox > p + p {
    margin-top: 4rem;
  }

  .branding.b03 .content .picBox .main + p {
    margin-top: 16rem;
  }

  .branding.b03 .content .picBox > p + p.top {
    margin-top: 5rem;
  }

  .branding.b03 .content .picBox > p + .df {
    margin-top: 4rem;
  }

  .branding.b03 .content .picBox > .df + p {
    margin-top: 4rem;
    padding: 0 7.5rem;
  }
}

/*============================*/
/* movie */
/*============================*/
.movie {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  margin-bottom: 11rem;
}

.movie h1 {
  text-align: center;
}

.movie h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.movie h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.movie h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.movie .contentTtl {
  margin-top: 7.5rem;
  max-width: 25rem;
  font-weight: 500;
  line-height: 2.2rem;
}

.movie .content {
  margin-top: 3.5rem;
  display: flex;
  justify-content: space-between;
}

.movie .content .txtBox {
  width: 25rem;
}

.movie .content .txtBox .txt {
  line-height: 3.1rem;
  text-align: justify;
}

.movie .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.movie .videoArea {
  margin-top: 0.8rem;
  width: 50rem;
}

.movie .video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movie .video._short {
  padding-top: 0;
  aspect-ratio: 1080/1920;
}

.movie .video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.movie .backLink {
  margin-top: 24rem;
  text-align: center;
}

.movie .content .picBox {
  width: 50rem;
}

.movie.m-normalbox .content .txtBox .contentTtl {
  max-width: none;
  margin-top: 0;
}

.movie.m-normalbox .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m-normalbox .videoArea .videoBox + .videoBox {
  margin-top: 4rem;
}

.movie.m-normalbox .videoArea .videoBox + .picBox {
  margin-top: 4rem;
}

.movie.m-normalbox .videoArea .viedoNote {
  margin-top: 1rem;
  font-size: 1.5rem;
  text-align: right;
}

.movie.m-normalbox .videoArea video {
  width: 500px;
  height: 280px;
}
.movie.m-normalbox .videoArea .video + .video {
  margin-top: 2rem;
}
.movie.hasPic .videoArea .videoBox .picBox p:has(img) + p:has(img) {
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .movie.m-normalbox .videoArea video {
    width: 100%;
    height: auto;
  }
}

/*===m15===*/
.movie.m15 .content {
  margin-top: 7.5rem;
}

.movie.m15 .contentTtl {
  margin-top: 0;
}

.movie.m15 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m15 .videoArea {
  margin-top: 0;
}

.movie.m15 .videoArea .video + .video {
  margin-top: 4rem;
}

/*===m17===*/
.movie.m17 .content {
  margin-top: 7.5rem;
}

.movie.m17 .contentTtl {
  margin-top: 0;
}

.movie.m17 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m17 .videoArea {
  margin-top: 0;
}

.movie.m17 .videoArea .video.vertical {
  width: 60%;
  margin: 4.5rem auto 0;
  padding-top: 107.25%;
}

/*===m18===*/
.movie.m18 .content {
  margin-top: 7.5rem;
}

.movie.m18 .contentTtl {
  margin-top: 0;
}

.movie.m18 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m18 .videoArea {
  margin-top: 0;
}

/*===m20===*/
.movie.m20 .content {
  margin-top: 7.5rem;
}

.movie.m20 .contentTtl {
  margin-top: 0;
}

.movie.m20 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m20 .videoArea {
  margin-top: 0;
}

.movie.m20 .videoArea .video + .video {
  margin-top: 4rem;
}

/*===m21===*/
.movie.m21 .content {
  margin-top: 7.5rem;
}

.movie.m21 .contentTtl {
  margin-top: 0;
}

.movie.m21 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m21 .videoArea {
  margin-top: 0;
}

/*===m22===*/
.movie.m22 {
  max-width: 85rem;
}

.movie.m22 .content {
  margin-top: 7.5rem;
}

.movie.m22 .content .txtBox .contentTtl {
  max-width: none;
  margin-top: 0;
}

.movie.m22 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m22 .videoArea {
  margin-top: 0;
}

.movie.m22 .videoArea .videoBox + .videoBox {
  margin-top: 4rem;
}

.movie.m22 .videoArea .viedoNote {
  margin-top: 1rem;
  font-size: 1.5rem;
  text-align: right;
}

/*===m23,m24===*/
.movie.m23 .content .txtBox .contentTtl,
.movie.m24 .content .txtBox .contentTtl,
.movie.m25 .content .txtBox .contentTtl,
.movie.m26 .content .txtBox .contentTtl,
.movie.m27 .content .txtBox .contentTtl,
.movie.m28 .content .txtBox .contentTtl,
.movie.m29 .content .txtBox .contentTtl {
  max-width: none;
  margin-top: 0;
}

.movie.m23 .content .txtBox .txt,
.movie.m24 .content .txtBox .txt,
.movie.m25 .content .txtBox .txt,
.movie.m26 .content .txtBox .txt,
.movie.m27 .content .txtBox .txt,
.movie.m28 .content .txtBox .txt,
.movie.m29 .content .txtBox .txt {
  margin-top: 3.5rem;
}

.movie.m23 .videoArea .videoBox + .videoBox,
.movie.m24 .videoArea .videoBox + .videoBox,
.movie.m25 .videoArea .videoBox + .videoBox,
.movie.m26 .videoArea .videoBox + .videoBox,
.movie.m27 .videoArea .videoBox + .videoBox,
.movie.m29 .videoArea .videoBox + .videoBox {
  margin-top: 4rem;
}

.movie.m23 .videoArea .viedoNote,
.movie.m24 .videoArea .viedoNote,
.movie.m25 .videoArea .viedoNote,
.movie.m26 .videoArea .viedoNote,
.movie.m27 .videoArea .viedoNote {
  margin-top: 1rem;
  font-size: 1.5rem;
  text-align: right;
}

/*===m29===*/
.movie.m29 .videoArea video {
  width: 500px;
  height: 280px;
}

@media (max-width: 768px) {
  .movie {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .movie h1 .small {
    font-size: 4.2rem;
  }

  .movie h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .movie h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .movie .contentTtl {
    max-width: 52rem;
    margin: 12.5rem auto 0;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
    padding-left: 4rem;
  }

  .movie .contentTtl.center {
    text-align: center;
    padding-left: 0;
  }

  .movie .content {
    margin-top: 9.5rem;
    flex-direction: column;
  }

  .movie .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .movie .content .txtBox .contentTtl.big {
    padding-left: 0;
  }

  .movie .content .txtBox .txt {
    line-height: 6rem;
  }

  .movie .content .caption {
    max-width: 50rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .movie .videoArea {
    margin-top: 9.5rem;
    width: 100%;
  }

  .movie .backLink {
    margin-top: 15rem;
    font-size: 3.9rem;
  }

  .movie .content .picBox {
    margin-top: 12.5rem;
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  /*===m15===*/
  .movie.m15 .content {
    margin-top: 9.5rem;
  }

  .movie.m15 .videoArea {
    margin: 10rem auto 0;
    width: 50rem;
  }

  .movie.m17 .videoArea .video.vertical {
    margin: 4.5rem auto 0;
  }

  .movie.m15 .content .caption {
    max-width: 51rem;
  }

  /*===m17===*/
  .movie.m17 .content {
    margin-top: 9.5rem;
  }

  .movie.m17 .content .txtBox .txt {
    margin-top: 9.5rem;
  }

  .movie.m17 .videoArea {
    margin: 10rem auto 0;
    width: 60rem;
  }

  .movie.m17 .videoArea .video + .video {
    margin-top: 8.5rem;
  }

  .movie.m17 .content .caption {
    max-width: 51rem;
  }

  /*===m18===*/
  .movie.m18 .content .txtBox .txt {
    margin-top: 9.5rem;
  }

  .movie.m18 .videoArea {
    margin-top: 9.5rem;
    width: 100%;
  }

  /*===m20===*/
  .movie.m20 .content {
    margin-top: 9.5rem;
  }

  .movie.m20 .videoArea {
    margin-top: 9.5rem;
  }

  .movie.m20 .videoArea .video + .video {
    margin-top: 8.5rem;
  }

  /*===m21===*/
  .movie.m21 .content .txtBox .txt {
    margin-top: 9.5rem;
  }

  .movie.m21 .videoArea {
    margin-top: 9.5rem;
    width: 100%;
  }

  .movie.m21 .content .caption {
    width: 45rem;
  }

  /*===m22===*/
  .movie.m22 .content {
    margin-top: 9.5rem;
  }

  .movie.m22 .content .txtBox .contentTtl {
    margin-right: 0;
  }

  .movie.m22 .content .txtBox .txt {
    margin-top: 5.5rem;
  }

  .movie.m22 .videoArea {
    margin-top: 9.5rem;
  }

  .movie.m22 .videoArea .videoBox + .videoBox {
    margin-top: 3.5rem;
  }

  .movie.m22 .videoArea .viedoNote {
    margin-top: 1rem;
    margin-right: 2rem;
    font-size: 2.7rem;
  }

  /*===m23,m24===*/
  .movie.m23 .content,
  .movie.m24 .content,
  .movie.m25 .content,
  .movie.m26 .content,
  .movie.m29 .content {
    margin-top: 9.5rem;
  }

  .movie.m23 .content .txtBox .txt,
  .movie.m24 .content .txtBox .txt,
  .movie.m25 .content .txtBox .txt,
  .movie.m26 .content .txtBox .txt,
  .movie.m27 .content .txtBox .txt,
  .movie.m28 .content .txtBox .txt,
  .movie.m29 .content .txtBox .txt {
    margin-top: 5.5rem;
  }

  .movie.m23 .videoArea,
  .movie.m24 .videoArea,
  .movie.m25 .videoArea,
  .movie.m26 .videoArea,
  .movie.m27 .videoArea {
    margin-top: 9.5rem;
  }

  .movie.m23 .videoArea .videoBox + .videoBox,
  .movie.m24 .videoArea .videoBox + .videoBox,
  .movie.m25 .videoArea .videoBox + .videoBox,
  .movie.m26 .videoArea .videoBox + .videoBox,
  .movie.m27 .videoArea .videoBox + .videoBox {
    margin-top: 3.5rem;
  }

  .movie.m23 .videoArea .viedoNote,
  .movie.m24 .videoArea .viedoNote,
  .movie.m25 .videoArea .viedoNote,
  .movie.m26 .videoArea .viedoNote,
  .movie.m27 .videoArea .viedoNote {
    margin-top: 1rem;
    margin-right: 2rem;
    font-size: 2.7rem;
  }

  /*===m28===*/
  .movie.m28 .videoArea {
    margin-top: 0;
  }

  /*===m29===*/
  .movie.m29 .videoArea video {
    width: 100%;
    height: auto;
  }

  .movie.m29 .videoArea {
    margin-top: 0;
  }
}

/*============================*/
/* web */
/*============================*/
.web {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  margin-bottom: 11rem;
}

.web h1 {
  text-align: center;
}

.web h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.web h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.web h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.web .content {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
}

.web .content .txtBox {
  margin-top: 0.5rem;
  width: 25rem;
}

.web .content .txtBox .contentTtl {
  font-weight: 500;
  line-height: 2.2rem;
}

.web .content .txtBox .txt {
  margin-top: 4.5rem;
  line-height: 3.1rem;
  text-align: justify;
}

.web .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.web .content .picBox {
  width: 50rem;
}

.web .content .picBox > p + p,
.web .content .picBox .df + p {
  margin-top: 2.5rem;
}

.web .content .picBox > p.vertical {
  width: 38.2rem;
  margin: 0 auto;
}

.web .content .picBox .df {
  margin-top: 2.5rem;
  display: flex;
  justify-content: space-between;
}

.web .content .picBox .df > p {
  width: 24.2rem;
}

.web .content .picBox .df > p.vertical {
  width: 15.9rem;
}

.web .content .picBox .df > p.beside {
  width: 31.4rem;
}

.web .content .picBox .df > .dfBox {
  width: 23.6rem;
}

.web .content .picBox .df > .dfBox > p + p {
  margin-top: 2.7rem;
}

.web .content .picBox > p.small {
  width: 24rem;
  margin: 2.5rem auto 0;
}

.web .content .picBox > p.mg,
.web .content .picBox > .df.mg {
  margin-top: 6rem;
}

.web .content .picBox > p.smg {
  margin-top: 1rem;
}

.web .content .picBox > p.center {
  text-align: center;
}

.web .backLink {
  margin-top: 5.5rem;
  text-align: center;
}

/*==w15==*/
.web.w15 .picBox .box01 {
  width: 49%;
}

.web.w15 .picBox .box02 {
  width: 40%;
  display: flex;
  flex-flow: column wrap;
  justify-content: start;
  gap: 2rem;
}

/*===w18===*/
.web.w18 .content .picBox .df {
  margin-top: 0;
}

/*===w19===*/
.web.w19 .content .picBox .df > .pic01 {
  width: 24rem;
}

.web.w19 .content .picBox .df > .pic02 {
  width: 24.3rem;
}

/*===w21===*/
.web.w21 .content .picBox {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  justify-content: space-between;
}

.web.w21 .content .picBox p {
  margin-top: 0;
}

.web.w21 .content .picBox .main {
  width: 50%;
}

.web.w21 .content .picBox .img01 {
  width: 100%;
}

.web.w21 .content .picBox .img02 {
  width: 54%;
}

.web.w21 .content .picBox .img03 {
  width: 40%;
  padding-top: 10px;
}

/*===w22===*/
.web.w22 .content .txt {
  text-align: left;
}

.web.w22 .content .picBox {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-between;
}

.web.w22 .content .picBox p {
  margin-top: 0;
}

.web.w22 .content .picBox .main {
  width: 100%;
}

.web.w22 .content .picBox .img01,
.web.w22 .content .picBox .img02 {
  width: calc(50% - 15px);
}

/*===w38===*/
.web.w38 .content .txtBox .txt {
  text-align: start;
}

@media (max-width: 768px) {
  .web {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .web h1 .small {
    font-size: 4.2rem;
  }

  .web h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .web h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .web .content {
    margin-top: 12.5rem;
    flex-direction: column;
  }

  .web .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .web .content .txtBox .contentTtl {
    max-width: 52rem;
    margin: 0 auto;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
    padding-left: 4rem;
  }

  .web .content .txtBox .contentTtl.center {
    text-align: center;
    padding-left: 0;
  }

  .web .content .txtBox .contentTtl.big {
    padding-left: 0;
  }

  .web .content .txtBox .txt {
    margin-top: 10rem;
    line-height: 6rem;
  }

  .web .content .picBox {
    margin-top: 12.5rem;
    width: 100%;
  }

  .web .content .picBox > p,
  .web .content .picBox > p + p,
  .web .content .picBox .df > p,
  .web .content .picBox .df + p {
    padding: 0 3rem;
    text-align: center;
  }

  .web .content .picBox > p + p {
    margin-top: 7.5rem;
  }

  .web .content .picBox .df {
    margin-top: 7.5rem;
    flex-direction: column;
    gap: 7.5rem 0;
  }

  .web .content .picBox .df > p {
    width: 100%;
  }

  .web .content .caption {
    max-width: 50rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .web .backLink {
    margin-top: 6.5rem;
    font-size: 3.9rem;
  }

  /*===w11===*/
  .web.w11 .content .picBox > p.main {
    padding: 0 7rem;
  }

  .web.w11 .content .picBox .df > p {
    padding: 0 7rem;
  }

  /*===w12===*/
  .web.w12 .content .caption {
    max-width: 51rem;
  }

  /*===w13===*/
  .web.w13 .content .picBox > p.main {
    padding: 0 7rem;
  }

  .web.w13 .content .picBox > p + p {
    padding: 0 7rem;
  }

  /*===w14===*/
  .web.w14 .content .picBox > p.main {
    padding: 0 7rem;
  }

  .web.w14 .content .picBox .df > p {
    padding: 0 7rem;
  }

  /*==w15==*/
  .web.w15 .picBox .box {
    width: 100%;
    padding: 0 7.5rem;
  }

  .web.w15 .picBox .box02 {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    gap: 2rem;
  }

  .web.w15 .picBox .box02 p {
    width: 46%;
  }

  /*===w17===*/
  .web.w17 .content .picBox > p.main {
    padding: 0 7rem;
  }

  .web.w17 .content .picBox .df > p {
    padding: 0 7rem;
  }

  .web.w17 .content .caption {
    max-width: 60rem;
  }

  /*===w18===*/
  .web.w18 .content .picBox .df > p {
    padding: 0 8rem;
  }

  /*===w19===*/
  .web.w19 .content .picBox .df > .pic01 {
    width: 100%;
  }

  .web.w19 .content .picBox .df > .pic02 {
    width: 100%;
  }

  /*===w21===*/
  .web.w21 .content .picBox {
    row-gap: 10px;
  }

  .web.w21 .content .picBox .main {
    width: 100%;
  }

  .web.w21 .content .picBox .img01 {
    width: 100%;
  }

  .web.w21 .content .picBox .img02 {
    width: 57%;
  }

  .web.w21 .content .picBox .img03 {
    width: 43%;
    padding-top: 10px;
  }

  /*===w22===*/
  .web.w22 .content .picBox {
    gap: 60px 0px;
  }

  .web.w22 .content .picBox .main {
    width: 100%;
  }

  .web.w22 .content .picBox .img01,
  .web.w22 .content .picBox .img02 {
    width: 50%;
  }
}

/*============================*/
/* editorial */
/*============================*/
.editorial {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  margin-bottom: 11rem;
}

.editorial h1 {
  text-align: center;
}

.editorial h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.editorial h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.editorial h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.editorial .content {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
}

.editorial .content .txtBox {
  margin-top: 0.5rem;
  width: 25rem;
}

.editorial .content .txtBox .contentTtl {
  font-weight: 500;
  line-height: 2.2rem;
}

.editorial .content .txtBox .txt {
  margin-top: 4.5rem;
  line-height: 3.1rem;
  text-align: justify;
}

.editorial .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.editorial .content .picBox {
  width: 50rem;
}

.editorial.e04 .content .picBox > p {
  width: 35.3rem;
  margin: 0 auto;
}

.editorial.e04 .content .picBox > p + p {
  margin-top: 2.5rem;
}

.editorial .content .picBox > p + p {
  margin-top: 2.5rem;
}

.editorial .content .picBox > p.vertical {
  width: 38.2rem;
  margin: 0 auto;
}

.editorial .content .picBox > p.center {
  text-align: center;
}

.editorial .content .picBox .df {
  margin-top: 5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5rem 0;
}

.editorial .content .picBox .df > p {
  width: 49%;
}

.editorial .backLink {
  margin-top: 11rem;
  text-align: center;
}

/*===e05===*/
.editorial.e05 .content .picBox p.narrow {
  margin-left: auto;
  margin-right: auto;
  width: 25rem;
  text-align: center;
}

@media (max-width: 768px) {
  .editorial {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .editorial h1 .small {
    font-size: 4.2rem;
  }

  .editorial h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .editorial h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .editorial .content {
    margin-top: 12.5rem;
    flex-direction: column;
  }

  .editorial .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .editorial .content .txtBox .contentTtl {
    max-width: 52rem;
    margin: 0 auto;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
    padding-left: 4rem;
  }

  .editorial .content .txtBox .contentTtl.center {
    max-width: 100%;
    text-align: center;
    padding-left: 0;
  }

  .editorial .content .txtBox .txt {
    margin-top: 10rem;
    line-height: 6rem;
  }

  .editorial .content .picBox {
    margin: 12.5rem auto 0;
    width: 100%;
  }

  .editorial.e04 .content .picBox > p {
    width: 100%;
    padding: 0 7.5rem;
  }

  .editorial.e04 .content .picBox > p + p {
    margin-top: 4.5rem;
    padding: 0 7.5rem;
  }

  .editorial .content .picBox > p + p {
    margin-top: 4.5rem;
    padding: 0 7.5rem;
  }

  .editorial .content .picBox > p.vertical {
    width: 100%;
  }

  .editorial .content .picBox > .main {
    width: 100%;
    margin-top: 0;
    padding: 0;
  }

  .editorial.e04 .content .picBox > .main {
    width: 53rem;
    margin: 0 auto;
    padding: 0;
  }

  .editorial .content .picBox .df > p.vertical {
    width: 100%;
  }

  .editorial .content .picBox .df > p.beside {
    width: 100%;
  }

  .editorial .content .picBox .df > p.center {
    text-align: center;
  }

  .editorial .content .picBox .df {
    margin-top: 9rem;
    padding: 0 7.5rem;
    gap: 9rem 0;
  }

  .editorial .content .picBox .df > p {
    width: 49%;
  }

  .editorial .content .caption {
    max-width: 52rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .editorial .backLink {
    margin-top: 11rem;
    font-size: 3.9rem;
  }

  /*===e05===*/
  .editorial.e05 .content .picBox p.narrow {
    padding-left: 0;
    padding-right: 0;
    width: 30rem;
  }
}

/*============================*/
/* display */
/*============================*/
.display {
  max-width: 82rem;
  margin: 7rem auto 0;
  font-size: 1.5rem;
  margin-bottom: 11rem;
}

.display h1 {
  text-align: center;
}

.display h1 .small {
  display: inline-block;
  font-size: 1.9rem;
  font-family: "Helvetica", "Arial";
}

.display h1 .ttl {
  margin-top: 1rem;
  display: inline-block;
  font-size: 4.3rem;
  font-family: "Helvetica", "Arial";
  font-weight: bold;
}

.display h1 .jp {
  margin-top: 0.5rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}

.display .content {
  margin-top: 7.5rem;
  display: flex;
  justify-content: space-between;
}

.display .content .txtBox {
  margin-top: 0.5rem;
  width: 25rem;
}

.display .content .txtBox .contentTtl {
  font-weight: 500;
  line-height: 2.2rem;
}

.display .content .txtBox .txt {
  margin-top: 4.5rem;
  line-height: 3.1rem;
  text-align: justify;
}

.display .content .txtBox .caption {
  margin-top: 4.5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

.display .content .picBox {
  width: 50rem;
}

.display .content .picBox > p + p {
  margin-top: 2.5rem;
}

.display .content .picBox.pds > p + p {
  margin-top: 0.5rem;
}

.display .content .picBox > p.center {
  text-align: center;
}

.display .content .picBox .df {
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.5rem 0;
}

.display .content .picBox.pds .df {
  margin-top: 0.5rem;
}

.display .content .picBox .df + .df {
  margin-top: 3.5rem;
}

.display .content .picBox .df > p {
  width: 48%;
}

.display .content .picBox .df.full {
  gap: 0.5rem 0;
}

.display .content .picBox .df.full > p {
  width: 50%;
}

.display .backLink {
  margin-top: 11rem;
  text-align: center;
}

/*===d08===*/
.display.d08 .content .picBox p.narrow {
  margin-left: auto;
  margin-right: auto;
  width: 34rem;
  text-align: center;
}

/*===d12===*/
.display.d12 .pc {
  display: flex !important;
}

.display.d12 .sp {
  display: none !important;
}

.display.d12 .content .picBox .df {
  margin-bottom: 2rem;
}

.display.d12 .content .picBox .df .box {
  width: 46%;
}

.display.d12 .content .picBox .df .box .txt {
  display: block;
  text-align: center;
  margin: 1rem 0;
}

.display.d12 .picBox .box01 {
  padding-top: 13rem;
}

/*===d16===*/
.display.d16 .content .picBox > p.half {
  width: 37.2rem;
}

/*===d17===*/
.display.d17 .content .picBox > .df + p {
  margin-top: 2.5rem;
}

/*===d20===*/
.display.d20 .content .picBox > p + p {
  margin-top: 1rem;
}

/*===d20===*/
.display.d21 .content .picBox > p + p {
  margin-top: 1rem;
}

/*===d22===*/
.display.d22 .content .txtBox .contentTtl {
  margin-right: -1rem;
}

.display.d22 .content .picBox > p + p {
  margin-top: 1rem;
}

/*===d23===*/
.display.d23 .content .picBox .df {
  gap: 1.5rem 0;
}

/*===d24===*/
.display.d24 .content .picBox > p + p {
  margin-top: 1rem;
}

.display.d24 .content .picBox > p.full + p {
  margin-top: 4rem;
}

/*===d25===*/
.display.d25 .content .picBox {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-between;
}

.display.d25 .content .picBox p {
  margin-top: 0;
}

.display.d25 .content .picBox .main {
  width: 100%;
}

.display.d25 .content .picBox .img01,
.display.d25 .content .picBox .img02,
.display.d25 .content .picBox .img03,
.display.d25 .content .picBox .img04 {
  width: calc(50% - 15px);
}

/*===d26===*/
.display.d26 .content .picBox {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  justify-content: space-between;
}

.display.d26 .content .picBox p {
  margin-top: 0;
}

.display.d26 .content .picBox .main,
.display.d26 .content .picBox .img01,
.display.d26 .content .picBox .img02 {
  width: 100%;
}

/*===d30===*/

@media (min-width: 769px) {
  .display.d30 .content .picBox {
    width: 52.6rem;
    display: grid;
    column-gap: 2.7rem;
    padding-right: 0;
    padding-left: 0;
  }

  .display.d30 .content .picBox p:first-child {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }

  .display.d30 .content .picBox p:nth-child(2) {
    grid-row: 2 / 3;
    grid-column: 1 / 3;
  }
}

@media (max-width: 769px) {
  .display.d30 .content .picBox > .main {
    margin-top: 5.6rem;
  }
}

/*===d32===*/
@media (max-width: 769px) {
  .display.d32 .content .picBox > .main {
    margin-top: 5.6rem;
  }
}

@media (min-width: 769px) {
  .display.d32 .content .picBox {
    width: 52.6rem;
    display: grid;
    column-gap: 2.7rem;
  }

  .display.d32 .content .picBox p:first-child {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }

  .display.d32 .content .picBox p:nth-child(2) {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
  }

  .display.d32 .content .picBox p:nth-child(3) {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
  }

  .display.d32 .content .picBox p:nth-child(4) {
    grid-row: 3 / 4;
    grid-column: 1 / 3;
  }
}

@media (max-width: 768px) {
  .display {
    max-width: 100%;
    margin: 12rem auto 0;
    font-size: 3.1rem;
    margin-bottom: 16rem;
  }

  .display h1 .small {
    font-size: 4.2rem;
  }

  .display h1 .ttl {
    margin-top: 1rem;
    font-size: 9.7rem;
  }

  .display h1 .jp {
    margin-top: 0.5rem;
    font-size: 3.6rem;
    font-weight: 500;
  }

  .display .content {
    margin-top: 12.5rem;
    flex-direction: column;
  }

  .display .content .txtBox {
    margin-top: 0;
    width: 100%;
    padding: 0 7.5rem;
  }

  .display .content .txtBox .contentTtl {
    max-width: 52rem;
    margin: 0 auto;
    font-size: 3.5rem;
    font-weight: 500;
    line-height: 5.5rem;
    padding-left: 4rem;
  }

  .display .content .txtBox .contentTtl.center {
    max-width: 100%;
    padding-left: 0;
    text-align: center;
  }

  .display .content .txtBox .txt {
    margin-top: 10rem;
    line-height: 6rem;
  }

  .display .content .picBox {
    margin: 12.5rem auto 0;
    width: 100%;
  }

  .display .content .picBox > p + p {
    margin-top: 4.5rem;
    padding: 0 7.5rem;
  }

  .display .content .picBox > p + p.pd {
    padding: 0;
  }

  .display .content .picBox > p.vertical {
    width: 100%;
  }

  .display .content .picBox > .main {
    width: 100%;
    margin-top: 0;
    padding: 0;
  }

  .display .content .picBox .df > p.center {
    text-align: center;
  }

  .display .content .picBox .df {
    margin-top: 12.5rem;
    flex-direction: column;
    gap: 10rem 0;
  }

  .display .content .picBox .df + .df {
    margin-top: 10rem;
  }

  .display.d04 .content .picBox .df {
    margin-top: 8rem;
    flex-direction: column;
    gap: 9rem 0;
  }

  .display .content .picBox.pds .df {
    margin-top: 3.5rem;
  }

  .display .content .picBox .df > p {
    width: 100%;
    padding: 0 7.5rem;
  }

  .display .content .picBox .df.full > p {
    width: 100%;
    padding: 0 7.5rem;
  }

  .display .content .caption {
    max-width: 52rem;
    margin: 9.5rem auto 0;
    font-size: 3rem;
    line-height: 5.1rem;
  }

  .display .backLink {
    margin-top: 11rem;
    font-size: 3.9rem;
  }

  /*===d08===*/
  .display.d08 .content .picBox p.narrow {
    padding-left: 0;
    padding-right: 0;
    width: 39.5rem;
  }

  /*===d10===*/
  .display.d10 .content .picBox .df {
    margin-top: 4.5rem;
    flex-direction: column;
    gap: 4.5rem 0;
  }

  /*===d12===*/
  .display.d12 .pc {
    display: none !important;
  }

  .display.d12 .sp {
    display: block !important;
  }

  .display.d12 .content .picBox .df {
    margin-bottom: 2rem;
    margin-top: 9rem;
  }

  .display.d12 .content .picBox .df .box {
    width: 100%;
  }

  .display.d12 .picBox .box01 {
    padding-top: 13rem;
  }

  .display.d12 .picBox .spMt {
    margin-top: 13rem;
  }

  /*===d14===*/
  .display .content .picBox {
    padding: 0 7rem;
  }

  .display.d14 .content .picBox .df {
    margin-top: 5rem;
    gap: 5rem 0;
  }

  .display.d14 .content .picBox .df > p {
    padding: 0;
    text-align: center;
  }

  /*===d15===*/
  .display.d15 .content .picBox {
    padding: 0;
  }

  .display.d15 .content .picBox > .main {
    width: 100%;
  }

  /*===d16===*/
  .display.d16 .content .picBox {
    padding: 0;
  }

  .display.d16 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d16 .content .picBox > p.half {
    width: 100%;
    text-align: center;
  }

  /*===d17===*/
  .display.d17 .content .picBox {
    padding: 0;
  }

  .display.d17 .content .picBox > .df + p {
    margin-top: 10rem;
  }

  .display.d17 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  /*===d18===*/
  .display.d18 .content .picBox {
    padding: 0;
  }

  .display.d18 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  /*===d19===*/
  .display.d19 .content .picBox {
    padding: 0;
  }

  .display.d19 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d19 .content .picBox .df {
    margin-top: 5.5rem;
    gap: 3rem 0;
  }

  .display.d19 .content .picBox .df > p {
    padding: 0 6.5rem;
  }

  /*===d20===*/
  .display.d20 .content .txtBox .contentTtl {
    padding-left: 2rem;
  }

  .display.d20 .content .picBox {
    padding: 0;
  }

  .display.d20 .content .picBox > p {
    width: 51.1rem;
    margin: 0 auto;
  }

  .display.d20 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d20 .content .picBox > p + p {
    margin-top: 4.5rem;
    padding: 0;
  }

  /*===d21===*/
  .display.d21 .content .picBox {
    padding: 0;
  }

  .display.d21 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d21 .content .picBox > p + p {
    margin-top: 1.5rem;
  }

  .display.d21 .content .picBox > p.full + p {
    margin-top: 7rem;
  }

  /*===d22===*/
  .display.d22 .content .txtBox .contentTtl {
    margin-right: auto;
    padding-left: 0;
  }

  .display.d22 .content .picBox {
    padding: 0;
  }

  .display.d22 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d22 .content .picBox > p + p {
    margin-top: 2rem;
  }

  .display.d22 .content .picBox > p.full + p {
    margin-top: 7rem;
  }

  /*===d23===*/
  .display.d23 .content .picBox {
    padding: 0;
  }

  .display.d23 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d23 .content .picBox .df {
    margin-top: 5.5rem;
    gap: 4rem 0;
  }

  /*===d24===*/
  .display.d24 .content .picBox {
    padding: 0;
  }

  .display.d24 .content .picBox > .full {
    width: 100%;
    padding: 0;
  }

  .display.d24 .content .picBox > p + p {
    margin-top: 1.5rem;
  }

  .display.d24 .content .picBox > p.full + p {
    margin-top: 8rem;
  }

  /*===w25===*/
  .display.d25 .content .picBox {
    padding: 0;
  }

  .display.d25 .content .picBox p {
    margin-top: 4.5rem;
  }

  .display.d25 .content .picBox > .full {
    width: 100%;
  }

  .display.d25 .content .picBox .main,
  .display.d25 .content .picBox .img01,
  .display.d25 .content .picBox .img02,
  .display.d25 .content .picBox .img03,
  .display.d25 .content .picBox .img04 {
    width: 100%;
  }

  /*===d26===*/
  .display.d26 .content .picBox {
    width: 100%;
    padding: 0;
    justify-content: center;
  }

  .display.d26 .content .picBox p {
    margin-top: 0;
    text-align: center;
    padding: 0;
    width: 100%;
  }

  .display.d26 .content .picBox .img02 {
    padding-left: 20px;
    padding-right: 20px;
  }

  /*===d27===*/
  .display.d27 .content .picBox {
    padding: 0;
    width: 100%;
  }

  /*===d46===*/
  .display.d46 .content .picBox .main + .main {
    margin-top: 50px;
  }
  /*===d47===*/
  .display.d47 .content .picBox > p + p {
    padding: 0 3rem;
  }
}

/*============================*/
/* utility */
/*============================*/
.u-br__pc-hidden {
  display: none;
}

@media (max-width: 768px) {
  .u-br__sp-hidden {
    display: none;
  }

  .u-br__pc-hidden {
    display: block;
  }
}
