@charset "UTF-8";
/* CSS Document */
/*
===== 1: body and base setting ===========================
*/
body {
  font: normal;
  margin: 0px;
  padding: 0px;
  text-align: center;
  -webkit-text-size-adjust: 100%;
}

/* params
--------------------*/
h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd,
form, blockquote {
  padding: 0;
  margin: 0;
  text-align: left;
  display: block;
}

table {
  margin: 0;
  empty-cells: show;
}

hr {
  border-width: 0;
}

img {
  border: none;
}

li {
  list-style: none;
  margin: 0;
  padding: 0;
}

strong, em {
  font-weight: normal;
  font-style: normal;
}

sub {
  vertical-align: -0.3em !important;
  font-size: 80% !important;
  line-height: 100% !important;
}

sup {
  vertical-align: 0.6em !important;
  font-size: 80% !important;
  line-height: 100% !important;
}

/*
===== 2: link setting ===========================
*/
a:link {
  color: #00193F;
  text-decoration: underline;
}

a:visited {
  color: #00193F;
  text-decoration: underline;
}

a:hover {
  color: #3333FF;
  text-decoration: underline;
}

a:active {
  color: #00193F;
  text-decoration: underline;
}

a:link img,
a:visited img,
a:hover img,
a img {
  border: none;
  text-decoration: none;
}

/*
===== other ===========================
*/
.end {
  margin: 0;
  padding: 0;
}

/*
===== clear fix ===========================
*/
.cf:before, .cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.clear {
  clear: both;
  height: 0px;
  line-height: 0%;
  font-size: 0px;
}

/* common */
a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .dpc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .dsp {
    display: none !important;
  }
}

br.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  br.pc {
    display: none;
  }
}
br.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  br.sp {
    display: block;
  }
}

body > header .gnavi .outline a::before {
  background-color: rgba(86, 102, 152, 0.7);
}

body.outline > header .gnavi .outline {
  margin-bottom: -0.125rem;
}
body.outline > header .gnavi .outline a {
  background-color: #f0f0f0;
  height: 6rem;
  pointer-events: none;
}
body.outline > header .gnavi .outline a::before {
  background-color: #566698;
}

body > header .gnavi .chapter01 a::before {
  background-color: rgba(70, 120, 170, 0.7);
}

body.chapter01 > header .gnavi .chapter01 {
  margin-bottom: -0.125rem;
}
body.chapter01 > header .gnavi .chapter01 a {
  background-color: #f0f0f0;
  height: 6rem;
  pointer-events: none;
}
body.chapter01 > header .gnavi .chapter01 a::before {
  background-color: #4678aa;
}

body > header .gnavi .chapter02 a::before {
  background-color: rgba(81, 137, 141, 0.7);
}

body.chapter02 > header .gnavi .chapter02 {
  margin-bottom: -0.125rem;
}
body.chapter02 > header .gnavi .chapter02 a {
  background-color: #f0f0f0;
  height: 6rem;
  pointer-events: none;
}
body.chapter02 > header .gnavi .chapter02 a::before {
  background-color: #51898d;
}

body > header .gnavi .chapter03 a::before {
  background-color: rgba(145, 159, 77, 0.7);
}

body.chapter03 > header .gnavi .chapter03 {
  margin-bottom: -0.125rem;
}
body.chapter03 > header .gnavi .chapter03 a {
  background-color: #f0f0f0;
  height: 6rem;
  pointer-events: none;
}
body.chapter03 > header .gnavi .chapter03 a::before {
  background-color: #919f4d;
}

body > header .gnavi .chapter04 a::before {
  background-color: rgba(176, 146, 92, 0.7);
}

body.chapter04 > header .gnavi .chapter04 {
  margin-bottom: -0.125rem;
}
body.chapter04 > header .gnavi .chapter04 a {
  background-color: #f0f0f0;
  height: 6rem;
  pointer-events: none;
}
body.chapter04 > header .gnavi .chapter04 a::before {
  background-color: #b0925c;
}

body > header .gnavi .print a::before {
  background-color: rgba(198, 113, 109, 0.7);
}

body.print > header .gnavi .print {
  margin-bottom: -0.125rem;
}
body.print > header .gnavi .print a {
  background-color: #f0f0f0;
  height: 6rem;
  pointer-events: none;
}
body.print > header .gnavi .print a::before {
  background-color: #c6716d;
}

body > header {
  background-color: #f0f0f0;
  border-bottom: 0.125rem solid #231815;
  position: relative;
}
body > header .wrapper {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-blend-mode: multiply;
}
body > header .wrapper .container .hd_title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  body > header .wrapper .container .hd_title {
    margin-left: auto;
    margin-right: auto;
  }
}
body > header .wrapper .container p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: absolute;
  bottom: 0;
  padding-bottom: 7rem;
  margin-left: 4rem;
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 155%;
  color: #fff;
}
@media screen and (max-width: 767px) {
  body > header .wrapper .container p {
    display: flow-root;
    margin-left: 2.5rem;
    margin-right: 2.5rem;
    padding-bottom: 0;
    font-size: 1rem;
    line-height: 180%;
  }
}
body > header .gnavi {
  position: absolute;
  bottom: 0;
  z-index: 2;
  max-width: 62.5rem;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
}
body > header .gnavi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.125rem;
}
body > header .gnavi ul li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
body > header .gnavi ul li a {
  background-color: rgba(240, 240, 240, 0.7);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 5rem;
  width: 100%;
  text-decoration: none;
  text-align: center;
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 125%;
  position: relative;
}
body > header .gnavi ul li a::before {
  content: "";
  position: absolute;
  top: -0.5rem;
  height: 0.5rem;
  width: 100%;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
body > header .gnavi ul li a:hover {
  color: inherit;
}
body > header .gnavi ul li.print a::after {
  content: "";
  width: 1.8125rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28.88' height='32' viewBox='0 0 28.88 32'%3E%3Cpath d='m26.88,2v28H6.88V2h20m2-2H4.88v32h24V0h0Z' style='fill:%23231815; stroke-width:0px;'/%3E%3Crect y='9.23' width='25.73' height='13.54' style='fill:%23963846; stroke-width:0px;'/%3E%3Cpath d='m3.94,19.2c.05-.32.07-.59.07-1.01v-4.83c0-.37-.02-.65-.07-1.03.32.02.58.03.99.03h1.84c1.39,0,2.17.71,2.17,1.96,0,1.32-.81,2.09-2.21,2.09h-2.01v1.77c0,.43.02.71.07,1.02h-.85Zm2.78-3.41c.96,0,1.5-.51,1.5-1.43s-.52-1.38-1.5-1.38h-2.01v2.81h2.01Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m10.42,13.35c0-.39-.02-.65-.07-1.03.32.02.56.03.99.03h1.52c2.01,0,3.15,1.22,3.15,3.38,0,1.13-.34,2.06-.96,2.67-.54.53-1.29.8-2.19.8h-1.52c-.43,0-.67,0-.99.03.05-.35.07-.62.07-1.07v-4.8Zm2.42,5.21c.71,0,1.28-.21,1.68-.64.5-.5.76-1.27.76-2.2s-.23-1.66-.71-2.13c-.4-.41-.95-.61-1.69-.61h-1.75v5.58h1.72Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m18.41,18.14c0,.49.02.73.07,1.05h-.86c.05-.31.07-.59.07-1.05v-4.79c0-.39-.02-.68-.07-1.03.31.02.56.03.99.03h2.39c.44,0,.69-.02,1.04-.06v.77c-.3-.05-.56-.06-1.04-.06h-2.59v2.32h2.11c.43,0,.69-.02,1.03-.06v.76c-.3-.04-.56-.06-1.03-.06h-2.11v2.2Z' style='fill:%23fff; stroke-width:0px;'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
}

.outline > header .wrapper {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(38%, rgba(255, 255, 255, 0)), color-stop(72%, rgba(35, 24, 21, 0.4)), to(rgba(35, 24, 21, 0.4))), url(hd_bg.jpg);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 38%, rgba(35, 24, 21, 0.4) 72%, rgba(35, 24, 21, 0.4) 100%), url(hd_bg.jpg);
}
.outline > header .wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 14.375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 112, 172)), to(rgba(3, 83, 123, 0)));
  background: linear-gradient(180deg, rgb(0, 112, 172) 0%, rgba(3, 83, 123, 0) 100%);
  mix-blend-mode: multiply;
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .outline > header .wrapper::before {
    height: 80vw;
  }
}
.outline > header .wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 24rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(30%, rgba(35, 24, 21, 0)), color-stop(75%, rgb(35, 24, 21)), to(rgb(35, 24, 21)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(35, 24, 21, 0) 30%, rgb(35, 24, 21) 75%, rgb(35, 24, 21) 100%);
  mix-blend-mode: multiply;
  opacity: 0.88;
}
@media screen and (max-width: 767px) {
  .outline > header .wrapper::after {
    height: 78vw;
  }
}
.outline > header .wrapper .container {
  height: 39.25rem;
}
@media screen and (max-width: 767px) {
  .outline > header .wrapper .container {
    aspect-ratio: 375/592;
    width: 100%;
    height: auto;
  }
}
.outline > header .wrapper .container .hd_title {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .outline > header .wrapper .container .hd_title {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }
}
.outline > header .wrapper .container .hd_title img {
  aspect-ratio: 924/348;
  width: 57.75rem;
  height: 21.75rem;
}
@media screen and (max-width: 767px) {
  .outline > header .wrapper .container .hd_title img {
    aspect-ratio: 290/210;
    width: 100%;
    height: auto;
  }
}
.outline > header .wrapper .container p img {
  aspect-ratio: 166/330;
  width: 10.375rem;
  height: 20.625rem;
  margin-bottom: -7rem;
  margin-right: 2.5rem;
}
@media screen and (max-width: 767px) {
  .outline > header .wrapper .container p img {
    float: left;
    aspect-ratio: 160/148;
    width: 10rem;
    height: 9.25rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top;
    margin-top: 1em;
    margin-right: 1em;
    margin-bottom: 0;
    margin-left: -3.125rem;
  }
}

[class^="page chapter"] > header .wrapper,
.page.print > header .wrapper {
  background-image: url(hd_chpt_bg.jpg);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] > header .wrapper,
  .page.print > header .wrapper {
    background-position-x: 66%;
  }
}
[class^="page chapter"] > header .wrapper .hd_title,
.page.print > header .wrapper .hd_title {
  margin-top: 2.5rem;
  margin-left: 1rem;
}
[class^="page chapter"] > header .wrapper .hd_title img,
.page.print > header .wrapper .hd_title img {
  aspect-ratio: 780/72;
  width: 48.75rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] > header .wrapper .hd_title img,
  .page.print > header .wrapper .hd_title img {
    aspect-ratio: 258/96;
    width: 16.125rem;
  }
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] > header .wrapper .hd_title,
  .page.print > header .wrapper .hd_title {
    margin-top: 0.5rem;
    margin-left: 0.5rem;
  }
}
[class^="page chapter"] > header .wrapper .container,
.page.print > header .wrapper .container {
  position: relative;
  height: 16.125rem;
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] > header .wrapper .container,
  .page.print > header .wrapper .container {
    height: 7.5rem;
  }
}
[class^="page chapter"] > header .wrapper .container p,
.page.print > header .wrapper .container p {
  font-size: 0.91875rem;
  margin-left: 1rem;
}
[class^="page chapter"] > header .wrapper .container p + img,
.page.print > header .wrapper .container p + img {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 23.75rem;
  height: auto;
  aspect-ratio: 380/240;
}
[class^="page chapter"] > header .wrapper .container + img,
.page.print > header .wrapper .container + img {
  position: absolute;
  bottom: 0;
  right: 0;
  height: auto;
  aspect-ratio: 380/240;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] > header .wrapper .container + img,
  .page.print > header .wrapper .container + img {
    width: 10.75rem;
    height: auto;
    right: -2.625rem;
    bottom: -1.5rem;
  }
}

.nbo_header {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  background: url(bg_nbo_header.jpg) no-repeat top center;
  position: relative;
  z-index: 99;
  line-height: 1;
  font-size: 0;
}

.sp_logo {
  text-align: center;
  position: relative;
  z-index: 100000;
  background-color: #000000;
  padding: 10px 0;
  height: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.sp_logo img {
  height: 30px;
}

.spnavi {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2;
}

.btn_open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  z-index: 1;
  padding: 0 1.5rem;
  height: 3.125rem;
  margin-bottom: 1.375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 0, 0)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(255, 255, 255, 0) 100%);
  mix-blend-mode: multiply;
  opacity: 0.7;
  -webkit-tap-highlight-color: transparent;
}
.btn_open::before {
  content: "";
  display: block;
  -webkit-filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.5));
          filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.5));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='m11.8,1v10.8H1V1h10.8m1-1H0v12.8h12.8V0h0Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m11.8,20.2v10.8H1v-10.8h10.8m1-1H0v12.8h12.8v-12.8h0Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m31,1v10.8h-10.8V1h10.8m1-1h-12.8v12.8h12.8V0h0Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m31,20.2v10.8h-10.8v-10.8h10.8m1-1h-12.8v12.8h12.8v-12.8h0Z' style='fill:%23fff; stroke-width:0px;'/%3E%3C/svg%3E");
  width: 2rem;
  height: 2rem;
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 0.5rem;
}

.spnavi_open .btn_open::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24.71' height='24.71' viewBox='0 0 24.71 24.71'%3E%3Cline x1='.35' y1='.35' x2='24.35' y2='24.35' style='fill:none; stroke:%23fff; stroke-miterlimit:10;'/%3E%3Cline x1='.35' y1='24.35' x2='24.35' y2='.35' style='fill:none; stroke:%23fff; stroke-miterlimit:10;'/%3E%3C/svg%3E");
}

.spnavi_wrap {
  display: none;
  margin-top: -1rem;
  max-height: calc(-7.5rem + 100dvh);
  overflow-y: scroll;
}

.spnavi_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  padding: 0 1.5rem;
}
.spnavi_list li.outline .accordion_title {
  background-color: #566698;
}
.spnavi_list li.outline .page_num {
  color: #566698;
}
.spnavi_list li.chapter01 .accordion_title {
  background-color: #4678aa;
}
.spnavi_list li.chapter01 .page_num {
  color: #4678aa;
}
.spnavi_list li.chapter02 .accordion_title {
  background-color: #51898d;
}
.spnavi_list li.chapter02 .page_num {
  color: #51898d;
}
.spnavi_list li.chapter03 .accordion_title {
  background-color: #919f4d;
}
.spnavi_list li.chapter03 .page_num {
  color: #919f4d;
}
.spnavi_list li.chapter04 .accordion_title {
  background-color: #b0925c;
}
.spnavi_list li.chapter04 .page_num {
  color: #b0925c;
}
.spnavi_list li.print .accordion_title {
  background-color: #c6716d;
}
.spnavi_list li.print .page_num {
  color: #c6716d;
}
.spnavi_list li .accordion {
  display: none;
}
.spnavi_list li a {
  text-decoration: none;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 5.5rem;
  padding: 0 1.25rem;
}
.spnavi_list li a.toggle {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.spnavi_list li a.toggle:not(.coming_soon).open h4::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.spnavi_list li a.toggle:not(.coming_soon) h4::after {
  content: "";
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m15,1v14H1V1h14m1-1H0v16h16V0h0Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpolyline points='4.39 7.63 8.04 11.27 11.61 7.7' style='fill:none; stroke:%23fff; stroke-linecap:round; stroke-linejoin:round;'/%3E%3Cline x1='8' y1='4.73' x2='8' y2='11.27' style='fill:none; stroke:%23fff; stroke-linecap:round; stroke-linejoin:round;'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m15,1v14H1V1h14m1-1H0v16h16V0h0Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpolyline points='4.39 7.63 8.04 11.27 11.61 7.7' style='fill:none; stroke:%23fff; stroke-linecap:round; stroke-linejoin:round;'/%3E%3Cline x1='8' y1='4.73' x2='8' y2='11.27' style='fill:none; stroke:%23fff; stroke-linecap:round; stroke-linejoin:round;'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1rem;
  height: 1rem;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  background-color: #fff;
  display: block;
  position: absolute;
}
.spnavi_list li a h4 {
  position: relative;
  width: 100%;
}
.spnavi_list li a p {
  color: #fff;
}

.spnavi_page_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.25rem;
}
.spnavi_page_list li {
  width: 100%;
  background-color: #fff;
}
.spnavi_page_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 4rem;
}
.spnavi_page_list li a .page_num {
  width: 4.5rem;
  font-weight: 600;
}
.spnavi_page_list li a .page_title {
  color: #3e3a39;
}

.overlay {
  width: 100vw;
  height: 100vh;
  background-color: rgba(35, 24, 21, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 2;
}

.spnavi_open {
  overflow: hidden;
}
.spnavi_open [class^="page chapter"],
.spnavi_open .page.print {
  overflow: hidden;
}
.spnavi_open [class^="page chapter"] > header .wrapper .container,
.spnavi_open .page.print > header .wrapper .container {
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .logo_pc {
    z-index: 10;
    position: relative;
  }
}
:root {
  --color-page-outline: #566698;
  --color-page-chapter01: #4678aa;
  --color-page-chapter02: #51898d;
  --color-page-chapter03: #919f4d;
  --color-page-chapter04: #b0925c;
  --color-page-print: #c6716d;
}

.page.outline {
  --primary-color: #566698;
}

.color_outline {
  color: #566698;
}

.background-color_outline {
  background-color: #566698;
}

.border-color_outline {
  border-color: #566698;
}

.page.chapter01 {
  --primary-color: #4678aa;
}

.color_chapter01 {
  color: #4678aa;
}

.background-color_chapter01 {
  background-color: #4678aa;
}

.border-color_chapter01 {
  border-color: #4678aa;
}

.page.chapter02 {
  --primary-color: #51898d;
}

.color_chapter02 {
  color: #51898d;
}

.background-color_chapter02 {
  background-color: #51898d;
}

.border-color_chapter02 {
  border-color: #51898d;
}

.page.chapter03 {
  --primary-color: #919f4d;
}

.color_chapter03 {
  color: #919f4d;
}

.background-color_chapter03 {
  background-color: #919f4d;
}

.border-color_chapter03 {
  border-color: #919f4d;
}

.page.chapter04 {
  --primary-color: #b0925c;
}

.color_chapter04 {
  color: #b0925c;
}

.background-color_chapter04 {
  background-color: #b0925c;
}

.border-color_chapter04 {
  border-color: #b0925c;
}

.page.print {
  --primary-color: #c6716d;
}

.color_print {
  color: #c6716d;
}

.background-color_print {
  background-color: #c6716d;
}

.border-color_print {
  border-color: #c6716d;
}

html, body {
  font-size: inherit;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: none;
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) and (max-width: 1259px) {
  html, body {
    font-size: calc(16 / 1260 * 100 * 1vw);
  }
}
@media screen and (max-width: 767px) {
  html, body {
    font-size: calc(16 / 375 * 100 * 1vw);
  }
}

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "游ゴシック", "YuGothic", sans-serif;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  background-color: #dcdddd;
}

h2, h3, h4 h5 {
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
}

h2.border {
  font-size: 1.75rem;
  font-weight: 300;
  line-height: 150%;
  padding-left: 1rem;
  position: relative;
  margin-top: -0.5rem;
}
@media screen and (max-width: 767px) {
  h2.border {
    font-size: 1.125rem;
    margin-top: 0;
    display: table-cell;
    vertical-align: middle;
  }
}
h2.border::before {
  content: "";
  border-left: 0.25rem solid var(--primary-color);
  position: absolute;
  width: 0.25rem;
  height: 4.5rem;
  left: 0;
  top: 0.5rem;
}
@media screen and (max-width: 767px) {
  h2.border::before {
    top: 0.75rem;
  }
}

h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 1.125rem;
    line-height: 178%;
  }
}

p {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  color: #3e3a39;
}

img {
  max-width: 100%;
}

figure {
  margin: 0;
}

.coming_soon {
  cursor: not-allowed;
}
.coming_soon a {
  pointer-events: none;
}

.round {
  border-radius: 0.5rem;
}
.round.small {
  border-radius: 0.25rem;
}
.round.top {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.round.bottom {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.container {
  width: 62.5rem;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .container {
    width: 20.4375rem;
  }
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  row-gap: 1.125rem;
}
.grid > *:nth-child(3n+1) {
  grid-column: 1/5;
}
.grid > *:nth-child(3n+2) {
  grid-column: 5/9;
}
.grid > *:nth-child(3n) {
  grid-column: 9/-1;
}
@media screen and (max-width: 767px) {
  .grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid > *:nth-child(n) {
    grid-column: 1/-1;
  }
}

.dropshadow {
  -webkit-filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.5));
          filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.5));
  mix-blend-mode: multiply;
}

.shadow {
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
  mix-blend-mode: multiply;
}

.dash {
  -webkit-transform: scale(2, 1);
          transform: scale(2, 1);
  display: inline-block;
  -webkit-transform-origin: left;
          transform-origin: left;
  margin-right: 2em;
  margin-left: -2em;
}

.pm {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 500;
}

.banner {
  display: block;
  margin-top: 2rem;
}
.banner picture {
  display: block;
  font-size: 0;
}
.banner img {
  display: block;
  aspect-ratio: 1000/178;
}
@media screen and (max-width: 767px) {
  .banner img {
    aspect-ratio: 185/100;
  }
}

article .banner {
  display: grid;
  grid-column: 2/2;
  margin: 0;
}

.tab {
  width: 24.5rem;
  height: 5.75rem;
  background-color: #f7f8f8;
  margin-bottom: -2.25rem;
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}
.tab::before {
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26.23 25.75'%3E%3Cg%3E%3Cpath d='m13.11,3.96c5.05,0,9.15,4,9.15,8.91s-4.1,8.91-9.15,8.91S3.96,17.79,3.96,12.88,8.07,3.96,13.11,3.96m0-3.96C5.87,0,0,5.76,0,12.88s5.87,12.88,13.11,12.88,13.11-5.76,13.11-12.88S20.36,0,13.11,0h0Z' style='stroke-width:0px;'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26.23 25.75'%3E%3Cg%3E%3Cpath d='m13.11,3.96c5.05,0,9.15,4,9.15,8.91s-4.1,8.91-9.15,8.91S3.96,17.79,3.96,12.88,8.07,3.96,13.11,3.96m0-3.96C5.87,0,0,5.76,0,12.88s5.87,12.88,13.11,12.88,13.11-5.76,13.11-12.88S20.36,0,13.11,0h0Z' style='stroke-width:0px;'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 1.625rem;
  height: 1.625rem;
  margin-right: 1.25rem;
}
@media screen and (max-width: 767px) {
  .tab::before {
    margin-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .tab {
    width: 20.4375rem;
  }
}

.chapter_num {
  width: 2rem;
  height: 2rem;
  border-radius: 0.125rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  font-weight: 200;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.page_num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  height: 2rem;
  width: calc(100% - 2rem);
  font-weight: 200;
}
.page_num::before {
  content: "";
  display: inline-block;
  background-color: var(--primary-color);
  -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.4' height='13.17' viewBox='0 0 11.4 13.17'%3E%3Cg%3E%3Cpath d='m0,13.17V0l11.4,6.58L0,13.17ZM.88,1.53v10.11l8.75-5.06L.88,1.53Z' style='stroke-width:0px;'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.4' height='13.17' viewBox='0 0 11.4 13.17'%3E%3Cg%3E%3Cpath d='m0,13.17V0l11.4,6.58L0,13.17ZM.88,1.53v10.11l8.75-5.06L.88,1.53Z' style='stroke-width:0px;'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 0.75rem;
  height: 0.875rem;
  margin-left: 0.75rem;
  margin-right: 0.5rem;
}

#video {
  height: 33.5625rem;
}
@media screen and (max-width: 767px) {
  #video {
    height: 17.5rem;
  }
}

body > footer {
  z-index: 1;
  margin-top: 6rem;
  background-color: #fff;
  position: sticky;
  top: 100svh;
}
body > footer::before {
  content: "";
  background-color: #fff;
  -webkit-mask-image: url(./people.svg);
          mask-image: url(./people.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 62.5rem;
  height: 5rem;
  -webkit-mask-size: cover;
          mask-size: cover;
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: -4.953125rem;
}
@media screen and (max-width: 767px) {
  body > footer::before {
    -webkit-mask-image: url(./people_sp.svg);
            mask-image: url(./people_sp.svg);
    width: 100%;
  }
}
body > footer .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  body > footer .container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body > footer .container .sns_accounts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  margin-top: 4.5rem;
  margin-left: 7.5rem;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  body > footer .container .sns_accounts {
    margin: 2.5rem auto;
  }
}
body > footer .container .sns_accounts img {
  border-radius: 100%;
}
body > footer .container .contact {
  margin-right: 6rem;
}
@media screen and (max-width: 767px) {
  body > footer .container .contact {
    margin: auto;
  }
}
body > footer .container .contact a {
  text-decoration: none;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  text-align: center;
}
body > footer .container .contact a:hover {
  color: inherit;
}
body #back_to_top {
  display: none;
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 10;
  width: 3rem;
  height: 3rem;
}

.page.outline .catch {
  background-color: #f0f0f0;
}
.page.outline .catch .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .page.outline .catch .container {
    padding: 0;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
  }
}
.page.outline .catch .container .left {
  background-image: url(hd_bg.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page.outline .catch .container .left h2 {
  height: 4.5rem;
}
@media screen and (max-width: 767px) {
  .page.outline .catch .container .left h2 {
    height: 6rem;
    background-image: url(hd_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
@media screen and (max-width: 767px) {
  .page.outline .catch .container .left img {
    width: 9rem;
    height: 8.5rem;
    float: right;
    clear: right;
    margin-left: 1rem;
  }
}
.page.outline .catch .container .left p {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .page.outline .catch .container .left p {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .page.outline .catch .container .left {
    background-image: none;
  }
}
.page.outline .catch .container .right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.page.outline .catch .container .right img {
  aspect-ratio: 240/228;
  width: 15rem;
}
.page.outline .catch::after {
  content: "";
  background-image: url(people.svg);
  background-repeat: no-repeat;
  width: 62.5rem;
  height: 5rem;
  background-size: cover;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -0.046875rem;
}
@media screen and (max-width: 767px) {
  .page.outline .catch::after {
    background-image: url(people_sp.svg);
    width: 100%;
  }
}
.page.outline .contents {
  background-color: #f7f8f8;
  padding: 2rem 2.25rem;
}
@media screen and (max-width: 767px) {
  .page.outline .contents {
    padding: 2rem 1.25rem 4rem;
  }
}
.page.outline .contents section + section {
  margin-top: 2rem;
}
.page.outline .contents section a {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .page.outline .contents [class^=chapter].open .opened_txt {
    display: block;
  }
  .page.outline .contents [class^=chapter].open .closed_txt {
    display: none;
  }
  .page.outline .contents [class^=chapter]:not(.open) .opened_txt {
    display: none;
  }
  .page.outline .contents [class^=chapter]:not(.open) .closed_txt {
    display: block;
  }
  .page.outline .contents [class^=chapter]:not(.open) .toggle_button a::after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .page.outline .contents .accordion {
    width: calc(-3rem + 100vw);
    margin-left: -1.25rem;
    padding: 0 1.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .page.outline .contents .toggle_button a {
    font-size: 0.875rem;
    font-weight: 300;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 1rem;
    margin-bottom: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    float: right;
  }
  .page.outline .contents .toggle_button a:hover {
    color: inherit;
  }
  .page.outline .contents .toggle_button a::after {
    content: "";
    -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath d='m23,1v22H1V1h22m1-1H0v24h24V0h0Z' style='fill:%234678aa; stroke-width:0px;'/%3E%3Cpolyline points='17.41 12.56 11.94 7.09 6.59 12.45' style='fill:none; stroke:%234678aa; stroke-linecap:round; stroke-linejoin:round;'/%3E%3Cline x1='12' y1='16.91' x2='12' y2='7.09' style='fill:none; stroke:%234678aa; stroke-linecap:round; stroke-linejoin:round;'/%3E%3C/g%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath d='m23,1v22H1V1h22m1-1H0v24h24V0h0Z' style='fill:%234678aa; stroke-width:0px;'/%3E%3Cpolyline points='17.41 12.56 11.94 7.09 6.59 12.45' style='fill:none; stroke:%234678aa; stroke-linecap:round; stroke-linejoin:round;'/%3E%3Cline x1='12' y1='16.91' x2='12' y2='7.09' style='fill:none; stroke:%234678aa; stroke-linecap:round; stroke-linejoin:round;'/%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.5rem;
  }
}
.page.outline .contents h2 {
  font-size: 1.75rem;
  font-weight: 300;
  margin-left: -2.25rem;
}
@media screen and (max-width: 767px) {
  .page.outline .contents h2 {
    font-size: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -1.25rem;
  }
  .page.outline .contents h2.coming_soon {
    font-size: 1rem;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .page.outline .contents h2:not(.coming_soon) .title {
    margin: 1.25rem 1.25rem 0;
  }
}
.page.outline .contents h2 .bookmark {
  width: 8.5rem;
  height: 4.5rem;
  background-color: #dcdddd;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0 51%, 0% 0%);
          clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0 51%, 0% 0%);
  margin-right: 1.5rem;
}
@media screen and (max-width: 767px) {
  .page.outline .contents h2 .bookmark {
    width: 6.5rem;
    height: 2.5rem;
    margin-right: 0.5rem;
  }
}
.page.outline .contents .outline h2 {
  color: #566698;
}
.page.outline .contents .outline h2 a {
  color: #566698;
}
.page.outline .contents .outline .video h3 {
  color: #566698;
}
.page.outline .contents .outline .pages figcaption .chapter_num {
  color: #566698;
  border: 1px solid #566698;
}
.page.outline .contents .outline .pages figcaption .page_num {
  color: #566698;
}
.page.outline .contents .outline .pages figcaption .page_num::before {
  background-color: #566698;
}
.page.outline .contents .outline .toggle_button a::after {
  background-color: #566698;
}
.page.outline .contents .chapter01 h2 {
  color: #4678aa;
}
.page.outline .contents .chapter01 h2 a {
  color: #4678aa;
}
.page.outline .contents .chapter01 .video h3 {
  color: #4678aa;
}
.page.outline .contents .chapter01 .pages figcaption .chapter_num {
  color: #4678aa;
  border: 1px solid #4678aa;
}
.page.outline .contents .chapter01 .pages figcaption .page_num {
  color: #4678aa;
}
.page.outline .contents .chapter01 .pages figcaption .page_num::before {
  background-color: #4678aa;
}
.page.outline .contents .chapter01 .toggle_button a::after {
  background-color: #4678aa;
}
.page.outline .contents .chapter02 h2 {
  color: #51898d;
}
.page.outline .contents .chapter02 h2 a {
  color: #51898d;
}
.page.outline .contents .chapter02 .video h3 {
  color: #51898d;
}
.page.outline .contents .chapter02 .pages figcaption .chapter_num {
  color: #51898d;
  border: 1px solid #51898d;
}
.page.outline .contents .chapter02 .pages figcaption .page_num {
  color: #51898d;
}
.page.outline .contents .chapter02 .pages figcaption .page_num::before {
  background-color: #51898d;
}
.page.outline .contents .chapter02 .toggle_button a::after {
  background-color: #51898d;
}
.page.outline .contents .chapter03 h2 {
  color: #919f4d;
}
.page.outline .contents .chapter03 h2 a {
  color: #919f4d;
}
.page.outline .contents .chapter03 .video h3 {
  color: #919f4d;
}
.page.outline .contents .chapter03 .pages figcaption .chapter_num {
  color: #919f4d;
  border: 1px solid #919f4d;
}
.page.outline .contents .chapter03 .pages figcaption .page_num {
  color: #919f4d;
}
.page.outline .contents .chapter03 .pages figcaption .page_num::before {
  background-color: #919f4d;
}
.page.outline .contents .chapter03 .toggle_button a::after {
  background-color: #919f4d;
}
.page.outline .contents .chapter04 h2 {
  color: #b0925c;
}
.page.outline .contents .chapter04 h2 a {
  color: #b0925c;
}
.page.outline .contents .chapter04 .video h3 {
  color: #b0925c;
}
.page.outline .contents .chapter04 .pages figcaption .chapter_num {
  color: #b0925c;
  border: 1px solid #b0925c;
}
.page.outline .contents .chapter04 .pages figcaption .page_num {
  color: #b0925c;
}
.page.outline .contents .chapter04 .pages figcaption .page_num::before {
  background-color: #b0925c;
}
.page.outline .contents .chapter04 .toggle_button a::after {
  background-color: #b0925c;
}
.page.outline .contents .print h2 {
  color: #c6716d;
}
.page.outline .contents .print h2 a {
  color: #c6716d;
}
.page.outline .contents .print .video h3 {
  color: #c6716d;
}
.page.outline .contents .print .pages figcaption .chapter_num {
  color: #c6716d;
  border: 1px solid #c6716d;
}
.page.outline .contents .print .pages figcaption .page_num {
  color: #c6716d;
}
.page.outline .contents .print .pages figcaption .page_num::before {
  background-color: #c6716d;
}
.page.outline .contents .print .toggle_button a::after {
  background-color: #c6716d;
}
.page.outline .video {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  background-color: #ebebeb;
  margin-top: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .page.outline .video {
    display: inline-block;
    width: calc(100vw - 3rem);
    margin-left: -1.25rem;
    background-color: #dcdddd;
    border-radius: 0;
    padding: 1.25rem;
    margin-top: 1rem;
  }
}
.page.outline .video > div {
  padding: 1.875rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .page.outline .video > div {
    width: 100%;
    padding: 0;
    margin-bottom: 1.25rem;
  }
}
.page.outline .video > div h3 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 178%;
}
.page.outline .video > div p {
  line-height: 125%;
}
.page.outline .video .thumbnail {
  position: relative;
  font-size: 0;
  display: block;
}
.page.outline .video .thumbnail::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46.2' height='46.2' viewBox='0 0 46.2 46.2'%3E%3Ccircle cx='23.1' cy='23.1' r='23.1' style='fill:%23f7f8f8; stroke-width:0px;'/%3E%3Cpolygon points='19.1 17.33 19.1 28.87 29.1 23.1 19.1 17.33' style='fill:%23e60012; stroke-width:0px;'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  width: 2.875rem;
  height: 2.875rem;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 1.25rem;
}
.page.outline .video .thumbnail img {
  aspect-ratio: 156/96;
  width: 9.75rem;
  height: 6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .page.outline .video .thumbnail img {
    aspect-ratio: 124/96;
    width: 7.75rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 25% center;
       object-position: 25% center;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .page.outline .video .thumbnail {
    float: right;
    margin-left: 1rem;
  }
}
.page.outline .pages {
  margin-top: 2rem;
}
.page.outline .pages li {
  background-color: #ebebeb;
}
.page.outline .pages li a {
  display: block;
  text-decoration: none;
}
.page.outline .pages li a:hover {
  color: inherit;
}
.page.outline .pages li a figure {
  padding: 0.5rem;
}
.page.outline .pages li a figure img {
  display: block;
}
.page.outline .pages li a figure figcaption {
  padding: 1.125rem 0.75rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.page.outline .pages li a figure figcaption h3 {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 178%;
  margin-top: 0.875rem;
}

:root {
  --gap-col: 1rem;
  --gap-row: 2rem;
  --max-width: 62.5rem;
  --aside-width: 12.5rem;
  --gutter: calc((100% - var(--max-width)) / 2 - var(--gap-col));
  --cols: var(--gutter) 1fr var(--aside-width) var(--gutter);
}
@media screen and (max-width: 767px) {
  :root {
    --gap-col: 1.5rem;
    --gap-wrap: 1.5rem;
    --max-width: calc(100vw - var(--gap-col) * 2);
    --cols: 0 1fr 0;
  }
}

[class^="page chapter"] main,
.page.print main {
  display: grid;
  -webkit-column-gap: var(--gap-col);
     -moz-column-gap: var(--gap-col);
          column-gap: var(--gap-col);
  row-gap: var(--gap-row);
  grid-template-columns: var(--cols);
}
[class^="page chapter"] main .band,
.page.print main .band {
  height: 0.75rem;
  background-color: #f0f0f0;
  grid-column: 1/-1;
  grid-row: 1;
}
[class^="page chapter"] main .band + article,
.page.print main .band + article {
  grid-row: 1;
}
[class^="page chapter"] main article,
.page.print main article {
  grid-column: 1/-1;
  display: grid;
  gap: var(--gap-col);
  row-gap: var(--gap-row);
  grid-template-columns: var(--cols);
  overflow: hidden;
}
[class^="page chapter"] main article.video,
.page.print main article.video {
  background-color: #f0f0f0;
  padding-top: 1.5rem;
  position: relative;
  grid-row: 1;
}
[class^="page chapter"] main article.video section,
.page.print main article.video section {
  margin-bottom: 6rem;
}
[class^="page chapter"] main article.video section > div,
.page.print main article.video section > div {
  aspect-ratio: 784/441;
  max-width: 49rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article.video section > div,
  .page.print main article.video section > div {
    max-width: 20.4375rem;
  }
}
[class^="page chapter"] main article.video section iframe,
.page.print main article.video section iframe {
  aspect-ratio: 560/315;
  width: 49rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article.video section iframe,
  .page.print main article.video section iframe {
    width: 20.4375rem;
  }
}
[class^="page chapter"] main article.video::after,
.page.print main article.video::after {
  content: "";
  background-image: url(people.svg);
  background-repeat: no-repeat;
  width: 62.5rem;
  height: 5rem;
  background-size: cover;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -0.046875rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article.video::after,
  .page.print main article.video::after {
    background-image: url(people_sp.svg);
    width: 100%;
  }
}
[class^="page chapter"] main article:not(.video) section,
.page.print main article:not(.video) section {
  background-color: #f7f8f8;
  padding: 2.5rem;
  position: relative;
  margin-top: 3.75rem;
  display: grid;
  row-gap: var(--gap-row);
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section,
  .page.print main article:not(.video) section {
    padding: 1.25rem;
    padding-bottom: 2rem;
  }
}
[class^="page chapter"] main article:not(.video) section.no_tab,
.page.print main article:not(.video) section.no_tab {
  padding-top: 0;
  margin-top: 1.5rem;
}
[class^="page chapter"] main article:not(.video) section.no_tab header h4,
.page.print main article:not(.video) section.no_tab header h4 {
  margin-top: 1rem;
}
[class^="page chapter"] main article:not(.video) section header .tab,
.page.print main article:not(.video) section header .tab {
  position: absolute;
  left: 0;
  top: -3.75rem;
  margin-top: 0;
}
[class^="page chapter"] main article:not(.video) section header h2,
.page.print main article:not(.video) section header h2 {
  color: var(--primary-color);
  font-size: 2rem;
  font-weight: 300;
  line-height: 131%;
  padding-left: 3.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section header h2,
  .page.print main article:not(.video) section header h2 {
    font-size: 1.5rem;
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) {
  [class^="page chapter"] main article:not(.video) section header h2,
  .page.print main article:not(.video) section header h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 4.5rem;
  }
  [class^="page chapter"] main article:not(.video) section header h2::before,
  .page.print main article:not(.video) section header h2::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 8.5rem;
    height: 4.5rem;
    background-color: #dcdddd;
    -webkit-clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0 51%, 0% 0%);
            clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0 51%, 0% 0%);
    left: -6.875rem;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
[class^="page chapter"] main article:not(.video) section header h3,
.page.print main article:not(.video) section header h3 {
  color: var(--primary-color);
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}
[class^="page chapter"] main article:not(.video) section header h4,
.page.print main article:not(.video) section header h4 {
  border-bottom: 4px solid #dcdddd;
  margin-top: 1.5rem;
  width: 49rem;
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section header h4,
  .page.print main article:not(.video) section header h4 {
    width: var(--max-width);
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
[class^="page chapter"] main article:not(.video) section header h4 .box,
.page.print main article:not(.video) section header h4 .box {
  width: 17.875rem;
  height: 3rem;
  background-color: #dcdddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section header h4 .box,
  .page.print main article:not(.video) section header h4 .box {
    width: 10rem;
  }
}
[class^="page chapter"] main article:not(.video) section header h4 .box .chapter_num,
.page.print main article:not(.video) section header h4 .box .chapter_num {
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  -webkit-transform: translateY(0.125rem);
          transform: translateY(0.125rem);
}
[class^="page chapter"] main article:not(.video) section header h4 .box .page_num,
.page.print main article:not(.video) section header h4 .box .page_num {
  color: var(--primary-color);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transform: translateY(0.125rem);
          transform: translateY(0.125rem);
}
[class^="page chapter"] main article:not(.video) section header h4 .box .page_num::before,
.page.print main article:not(.video) section header h4 .box .page_num::before {
  background-color: var(--primary-color);
}
[class^="page chapter"] main article:not(.video) section .wrap img + img,
.page.print main article:not(.video) section .wrap img + img {
  margin-top: calc(var(--gap-row) / 2);
}
[class^="page chapter"] main article:not(.video) section .wrap p + p,
.page.print main article:not(.video) section .wrap p + p {
  margin-top: var(--gap-row);
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section .wrap figure:not(.dpc) + p,
  .page.print main article:not(.video) section .wrap figure:not(.dpc) + p {
    margin-top: var(--gap-row);
  }
  [class^="page chapter"] main article:not(.video) section .wrap figure:not(.dpc) + figure,
  .page.print main article:not(.video) section .wrap figure:not(.dpc) + figure {
    margin-top: calc(var(--gap-row) / 2);
  }
  [class^="page chapter"] main article:not(.video) section .wrap.col_reverse figure + p,
  .page.print main article:not(.video) section .wrap.col_reverse figure + p {
    margin-top: 0;
  }
  [class^="page chapter"] main article:not(.video) section .wrap .wrap + p,
  .page.print main article:not(.video) section .wrap .wrap + p {
    margin-top: var(--gap-wrap);
  }
}
[class^="page chapter"] main article:not(.video) section figure,
.page.print main article:not(.video) section figure {
  font-size: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /*
  @include mq-max(md) {
      & + p {
          margin-top: 1.5em;
      }
  }*/
}
[class^="page chapter"] main article:not(.video) section figure:not(.cover):not(.no_caption),
.page.print main article:not(.video) section figure:not(.cover):not(.no_caption) {
  border: 0.0625rem solid #dcdddd;
}
[class^="page chapter"] main article:not(.video) section figure.right,
.page.print main article:not(.video) section figure.right {
  float: right;
  width: 21.25rem;
  margin-left: 2rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section figure.right,
  .page.print main article:not(.video) section figure.right {
    width: 17.9375rem;
    margin-left: 0;
    margin-bottom: 0;
    float: none !important;
  }
}
@media screen and (min-width: 768px) {
  [class^="page chapter"] main article:not(.video) section figure.right:not(.bottom_float),
  .page.print main article:not(.video) section figure.right:not(.bottom_float) {
    margin-bottom: 1rem;
  }
}
[class^="page chapter"] main article:not(.video) section figure.left,
.page.print main article:not(.video) section figure.left {
  float: left;
  width: 21.25rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section figure.left,
  .page.print main article:not(.video) section figure.left {
    width: 17.9375rem;
    margin-right: 0;
    margin-bottom: 0;
    float: none !important;
  }
}
@media screen and (min-width: 768px) {
  [class^="page chapter"] main article:not(.video) section figure.left:not(.bottom_float),
  .page.print main article:not(.video) section figure.left:not(.bottom_float) {
    margin-bottom: 1rem;
  }
}
[class^="page chapter"] main article:not(.video) section figure.center,
.page.print main article:not(.video) section figure.center {
  margin: auto;
}
[class^="page chapter"] main article:not(.video) section figure.wide,
.page.print main article:not(.video) section figure.wide {
  width: 27.5rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section figure.wide,
  .page.print main article:not(.video) section figure.wide {
    width: 17.9375rem;
  }
}
[class^="page chapter"] main article:not(.video) section figure.exwide,
.page.print main article:not(.video) section figure.exwide {
  width: 29.875rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section figure.exwide,
  .page.print main article:not(.video) section figure.exwide {
    width: 17.9375rem;
  }
}
[class^="page chapter"] main article:not(.video) section figure.narrow,
.page.print main article:not(.video) section figure.narrow {
  width: 11.25rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section figure.narrow,
  .page.print main article:not(.video) section figure.narrow {
    width: 17.9375rem;
  }
}
@media screen and (min-width: 768px) {
  [class^="page chapter"] main article:not(.video) section figure.medium,
  .page.print main article:not(.video) section figure.medium {
    width: 20.125rem;
  }
}
[class^="page chapter"] main article:not(.video) section figure.full div,
.page.print main article:not(.video) section figure.full div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
[class^="page chapter"] main article:not(.video) section figure.full div img,
.page.print main article:not(.video) section figure.full div img {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section figure.full div,
  .page.print main article:not(.video) section figure.full div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
[class^="page chapter"] main article:not(.video) section figure.full.gap div,
.page.print main article:not(.video) section figure.full.gap div {
  gap: var(--gap-col);
}
[class^="page chapter"] main article:not(.video) section figure.cover,
.page.print main article:not(.video) section figure.cover {
  position: relative;
  aspect-ratio: 704/200;
}
[class^="page chapter"] main article:not(.video) section figure.cover figcaption,
.page.print main article:not(.video) section figure.cover figcaption {
  color: #fff;
  font-size: 0.625rem;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0.5rem;
}
@media screen and (min-width: 768px) {
  [class^="page chapter"] main article:not(.video) section figure.mtn,
  .page.print main article:not(.video) section figure.mtn {
    margin-top: -2rem;
  }
  [class^="page chapter"] main article:not(.video) section figure.dsp + p,
  .page.print main article:not(.video) section figure.dsp + p {
    margin-top: var(--gap-row);
  }
}
[class^="page chapter"] main article:not(.video) section figure figcaption,
.page.print main article:not(.video) section figure figcaption {
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 157%;
  text-align: left;
}
[class^="page chapter"] main article:not(.video) section p .note,
.page.print main article:not(.video) section p .note {
  font-size: 0.75rem;
  color: #878787;
  font-weight: 300;
  line-height: 160%;
  display: block;
  text-indent: 0;
}
[class^="page chapter"] main article:not(.video) section p sup,
.page.print main article:not(.video) section p sup {
  font-size: 60% !important;
}
[class^="page chapter"] main article:not(.video) section p sup.note,
.page.print main article:not(.video) section p sup.note {
  font-size: 80% !important;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section .col_reverse,
  .page.print main article:not(.video) section .col_reverse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 1.5rem;
  }
  [class^="page chapter"] main article:not(.video) section .col_reverse figure,
  .page.print main article:not(.video) section .col_reverse figure {
    margin-bottom: 0;
  }
}
[class^="page chapter"] main article:not(.video) section hr,
.page.print main article:not(.video) section hr {
  margin: calc(var(--gap-wrap) / 2) 0;
  clear: both;
}
[class^="page chapter"] main article:not(.video) section hr.separator::before,
.page.print main article:not(.video) section hr.separator::before {
  content: "＊　＊　＊　＊　＊　＊　＊";
  display: inline-block;
  color: #a48b78;
}
[class^="page chapter"] main article:not(.video) section hr.separator.inside,
.page.print main article:not(.video) section hr.separator.inside {
  clear: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.5rem auto;
}
@media screen and (min-width: 768px) {
  [class^="page chapter"] main article:not(.video) section figure + hr.separator.inside,
  .page.print main article:not(.video) section figure + hr.separator.inside {
    margin-top: 0;
    margin-bottom: 2rem;
  }
}
[class^="page chapter"] main article:not(.video) section footer .next_page,
.page.print main article:not(.video) section footer .next_page {
  width: 31.875rem;
  height: 5rem;
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
  text-align: left;
  color: var(--primary-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: auto;
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 0;
  /*
  &:hover {
      color: inherit;
  }*/
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section footer .next_page,
  .page.print main article:not(.video) section footer .next_page {
    width: 17.9375rem;
    height: 4rem;
    padding: 0.625rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 2rem;
    margin-left: -0.625rem;
  }
}
[class^="page chapter"] main article:not(.video) section footer .next_page .next_arrow,
.page.print main article:not(.video) section footer .next_page .next_arrow {
  background-color: #231815;
  border-left: 0.5rem solid #900010;
  -webkit-clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0 51%, 0% 0%);
          clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 0 51%, 0% 0%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 6rem;
  height: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: 2rem;
  margin-right: 1rem;
  padding-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  [class^="page chapter"] main article:not(.video) section footer .next_page .next_arrow,
  .page.print main article:not(.video) section footer .next_page .next_arrow {
    margin-left: 0.75rem;
  }
}
[class^="page chapter"] main article:not(.video) section footer .next_page .next_arrow::before,
.page.print main article:not(.video) section footer .next_page .next_arrow::before {
  content: "NEXT";
  color: #fff;
}
[class^="page chapter"] main article:not(.video) section footer .next_page::before,
.page.print main article:not(.video) section footer .next_page::before {
  content: "";
  position: absolute;
  background: linear-gradient(175deg, rgb(255, 255, 255) 0.58%, rgb(253, 253, 253) 31.61%, rgb(247, 246, 247) 42.77%, rgb(240, 239, 241) 48.32%, rgb(236, 232, 233) 51.37%, rgb(229, 227, 227) 57.03%, rgb(222, 222, 222) 68.4%, rgb(220, 221, 221) 100%);
  width: calc(100% + 0.75rem);
  height: calc(100% + 0.75rem);
  z-index: -1;
  border-radius: 0.625rem;
  -webkit-filter: blur(1px);
          filter: blur(1px);
  -webkit-transform: translateX(-0.375rem);
          transform: translateX(-0.375rem);
}
[class^="page chapter"] main article:not(.video) section footer .next_page::after,
.page.print main article:not(.video) section footer .next_page::after {
  content: "";
  background-color: #f7f8f8;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 0.5rem;
}
[class^="page chapter"] main article:not(.video) section footer .page_list,
.page.print main article:not(.video) section footer .page_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
[class^="page chapter"] main article:not(.video) section footer .page_list li a,
.page.print main article:not(.video) section footer .page_list li a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 100%;
  background-color: #f7f8f8;
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--color-page-outline);
  position: relative;
  z-index: 1;
  /*
  &:hover {
      color: inherit;
  }*/
}
[class^="page chapter"] main article:not(.video) section footer .page_list li a::before,
.page.print main article:not(.video) section footer .page_list li a::before {
  content: "";
  position: absolute;
  background: linear-gradient(135deg, rgb(255, 255, 255) 0.04%, rgb(253, 253, 253) 31.42%, rgb(247, 246, 247) 42.71%, rgb(240, 239, 241) 48.32%, rgb(236, 232, 233) 51.37%, rgb(230, 226, 227) 56.47%, rgb(225, 219, 222) 67.98%, rgb(223, 217, 220) 100%);
  width: calc(100% + 0.5rem);
  height: calc(100% + 0.5rem);
  z-index: -1;
  border-radius: 100%;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
[class^="page chapter"] main article:not(.video) section footer .page_list li a::after,
.page.print main article:not(.video) section footer .page_list li a::after {
  content: "";
  background-color: #f7f8f8;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 100%;
}
[class^="page chapter"] main article:not(.video) section footer .page_list li a.current,
.page.print main article:not(.video) section footer .page_list li a.current {
  pointer-events: none;
}
[class^="page chapter"] main article:not(.video) section footer .page_list li a.current::after,
.page.print main article:not(.video) section footer .page_list li a.current::after {
  content: "";
  background-color: #b5b5b6;
}
[class^="page chapter"] main article section,
.page.print main article section {
  grid-column: 2/2;
}
[class^="page chapter"] main article section p:not(.no_indent),
.page.print main article section p:not(.no_indent) {
  text-indent: 1em;
  text-indent: 1em each-line;
}
[class^="page chapter"] main article section p:not(.no_indent) br,
.page.print main article section p:not(.no_indent) br {
  content: "&nbsp;";
}
[class^="page chapter"] main article section p:not(.no_indent) br::before,
.page.print main article section p:not(.no_indent) br::before {
  content: "";
  display: block;
}
[class^="page chapter"] main article section p:not(.no_indent) br::after,
.page.print main article section p:not(.no_indent) br::after {
  content: "\a";
  white-space: pre;
  display: inline-block;
  width: 0.72em;
}
[class^="page chapter"] main article section p.question .person, [class^="page chapter"] main article section p.answer .person,
.page.print main article section p.question .person,
.page.print main article section p.answer .person {
  font-weight: 600;
  color: var(--primary-color);
  margin-left: -1em;
}
[class^="page chapter"] main article section p.question,
.page.print main article section p.question {
  font-weight: 600;
}
[class^="page chapter"] main .fnavi,
.page.print main .fnavi {
  position: sticky;
  top: 1.5rem;
  width: var(--aside-width);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  grid-column: 3/span 1;
  grid-row: 1;
  margin-top: 1.5rem;
  z-index: 1;
}
[class^="page chapter"] main .fnavi header,
.page.print main .fnavi header {
  background-color: #c3c4c4;
  border-left: 0.5rem solid var(--color-page-outline);
}
[class^="page chapter"] main .fnavi header h2,
.page.print main .fnavi header h2 {
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  color: #615f5f;
  line-height: 200%;
}
[class^="page chapter"] main .fnavi ul li,
.page.print main .fnavi ul li {
  background-color: #f0f0f0;
  border-left: 0.5rem solid;
}
[class^="page chapter"] main .fnavi ul li .accordion_title,
.page.print main .fnavi ul li .accordion_title {
  font-family: "Noto Sans JP", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1rem;
  line-height: 125%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5rem;
}
[class^="page chapter"] main .fnavi ul li .accordion_title h3,
.page.print main .fnavi ul li .accordion_title h3 {
  font-weight: 700;
}
[class^="page chapter"] main .fnavi ul li .accordion_title a,
.page.print main .fnavi ul li .accordion_title a {
  text-decoration: none;
}
[class^="page chapter"] main .fnavi ul li .accordion_title a:hover,
.page.print main .fnavi ul li .accordion_title a:hover {
  color: inherit;
}
[class^="page chapter"] main .fnavi ul li .accordion_title a.toggle,
.page.print main .fnavi ul li .accordion_title a.toggle {
  position: relative;
}
[class^="page chapter"] main .fnavi ul li .accordion_title a.toggle::after,
.page.print main .fnavi ul li .accordion_title a.toggle::after {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m11.25.75v10.5H.75V.75h10.5m.75-.75H0v12h12V0h0Z' style='fill:%2340617e; stroke-width:0px;'/%3E%3Cpolyline points='3.3 5.72 6.03 8.45 8.7 5.78' style='fill:none; stroke:%2340617e; stroke-linecap:round; stroke-linejoin:round; stroke-width:.75px;'/%3E%3Cline x1='6' y1='3.55' x2='6' y2='8.45' style='fill:none; stroke:%2340617e; stroke-linecap:round; stroke-linejoin:round; stroke-width:.75px;'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  width: 0.75rem;
  height: 0.75rem;
  background-size: cover;
  position: absolute;
  right: 0.5rem;
  top: 0;
  bottom: 0;
  margin: auto;
}
[class^="page chapter"] main .fnavi ul li .accordion_title a.toggle.open::after,
.page.print main .fnavi ul li .accordion_title a.toggle.open::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
[class^="page chapter"] main .fnavi ul li .accordion,
.page.print main .fnavi ul li .accordion {
  display: none;
  padding: 0.5rem;
  padding-top: 0;
  margin-top: -0.25rem;
}
[class^="page chapter"] main .fnavi ul li .accordion.open,
.page.print main .fnavi ul li .accordion.open {
  display: block;
}
[class^="page chapter"] main .fnavi footer,
.page.print main .fnavi footer {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
[class^="page chapter"] main .fnavi footer a,
.page.print main .fnavi footer a {
  background-color: #fff;
  padding: 1.25rem 0;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}
[class^="page chapter"] main .fnavi footer a .logo_jica,
.page.print main .fnavi footer a .logo_jica {
  aspect-ratio: 100/82;
  width: 3rem;
  height: auto;
}
[class^="page chapter"] main .fnavi footer a .logo_jica2,
.page.print main .fnavi footer a .logo_jica2 {
  aspect-ratio: 504/156;
  width: 3.875rem;
  height: auto;
}
[class^="page chapter"] main .fnavi footer a.banner,
.page.print main .fnavi footer a.banner {
  display: block;
  padding: 0.5rem;
  margin-top: 0;
}
[class^="page chapter"] main .fnavi footer a.banner img,
.page.print main .fnavi footer a.banner img {
  display: block;
  aspect-ratio: 185/105;
}
[class^="page chapter"] main .fnavi li.outline,
.page.print main .fnavi li.outline {
  border-left-color: #566698;
}
[class^="page chapter"] main .fnavi li.outline h3,
.page.print main .fnavi li.outline h3 {
  color: #566698;
}
[class^="page chapter"] main .fnavi li.chapter01,
.page.print main .fnavi li.chapter01 {
  border-left-color: #4678aa;
}
[class^="page chapter"] main .fnavi li.chapter01 h3,
.page.print main .fnavi li.chapter01 h3 {
  color: #4678aa;
}
[class^="page chapter"] main .fnavi li.chapter02,
.page.print main .fnavi li.chapter02 {
  border-left-color: #51898d;
}
[class^="page chapter"] main .fnavi li.chapter02 h3,
.page.print main .fnavi li.chapter02 h3 {
  color: #51898d;
}
[class^="page chapter"] main .fnavi li.chapter03,
.page.print main .fnavi li.chapter03 {
  border-left-color: #919f4d;
}
[class^="page chapter"] main .fnavi li.chapter03 h3,
.page.print main .fnavi li.chapter03 h3 {
  color: #919f4d;
}
[class^="page chapter"] main .fnavi li.chapter04,
.page.print main .fnavi li.chapter04 {
  border-left-color: #b0925c;
}
[class^="page chapter"] main .fnavi li.chapter04 h3,
.page.print main .fnavi li.chapter04 h3 {
  color: #b0925c;
}
[class^="page chapter"] main .fnavi li.print,
.page.print main .fnavi li.print {
  border-left-color: #c6716d;
}
[class^="page chapter"] main .fnavi li.print h3,
.page.print main .fnavi li.print h3 {
  color: #c6716d;
}

.page.print main article:not(.video) {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .page.print main article:not(.video) {
    grid-template-columns: calc((100% - 62.5rem) / 2 - 1rem) 1fr calc((100% - 62.5rem) / 2 - 1rem);
  }
}
.page.print main article:not(.video) section {
  padding: 2.5rem 0 1.5rem;
}
.page.print main article:not(.video) section p {
  padding: 0 6.875rem;
}
@media screen and (max-width: 767px) {
  .page.print main article:not(.video) section p {
    padding: 0 1.25rem;
  }
}
.page.print main article:not(.video) section .pdf_list li {
  border-top: 1px solid #dcdddd;
}
.page.print main article:not(.video) section .pdf_list li.coming_soon {
  opacity: 0.5;
}
.page.print main article:not(.video) section .pdf_list li a {
  padding: 2rem 6.875rem;
  display: block;
  text-decoration: none;
  line-height: 125%;
  font-weight: 600;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page.print main article:not(.video) section .pdf_list li a {
    padding: 1.25rem 3.75rem 1.25rem 1.25rem;
  }
}
.page.print main article:not(.video) section .pdf_list li a:hover {
  color: inherit;
}
.page.print main article:not(.video) section .pdf_list li a.outline {
  color: #566698;
}
.page.print main article:not(.video) section .pdf_list li a.chapter01 {
  color: #4678aa;
}
.page.print main article:not(.video) section .pdf_list li a.chapter02 {
  color: #51898d;
}
.page.print main article:not(.video) section .pdf_list li a.chapter03 {
  color: #919f4d;
}
.page.print main article:not(.video) section .pdf_list li a.chapter04 {
  color: #b0925c;
}
.page.print main article:not(.video) section .pdf_list li a.print {
  color: #c6716d;
}
.page.print main article:not(.video) section .pdf_list li a::after {
  content: "";
  width: 1.8125rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28.88' height='32' viewBox='0 0 28.88 32'%3E%3Cpath d='m26.88,2v28H6.88V2h20m2-2H4.88v32h24V0h0Z' style='fill:%23231815; stroke-width:0px;'/%3E%3Crect y='9.23' width='25.73' height='13.54' style='fill:%23963846; stroke-width:0px;'/%3E%3Cpath d='m3.94,19.2c.05-.32.07-.59.07-1.01v-4.83c0-.37-.02-.65-.07-1.03.32.02.58.03.99.03h1.84c1.39,0,2.17.71,2.17,1.96,0,1.32-.81,2.09-2.21,2.09h-2.01v1.77c0,.43.02.71.07,1.02h-.85Zm2.78-3.41c.96,0,1.5-.51,1.5-1.43s-.52-1.38-1.5-1.38h-2.01v2.81h2.01Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m10.42,13.35c0-.39-.02-.65-.07-1.03.32.02.56.03.99.03h1.52c2.01,0,3.15,1.22,3.15,3.38,0,1.13-.34,2.06-.96,2.67-.54.53-1.29.8-2.19.8h-1.52c-.43,0-.67,0-.99.03.05-.35.07-.62.07-1.07v-4.8Zm2.42,5.21c.71,0,1.28-.21,1.68-.64.5-.5.76-1.27.76-2.2s-.23-1.66-.71-2.13c-.4-.41-.95-.61-1.69-.61h-1.75v5.58h1.72Z' style='fill:%23fff; stroke-width:0px;'/%3E%3Cpath d='m18.41,18.14c0,.49.02.73.07,1.05h-.86c.05-.31.07-.59.07-1.05v-4.79c0-.39-.02-.68-.07-1.03.31.02.56.03.99.03h2.39c.44,0,.69-.02,1.04-.06v.77c-.3-.05-.56-.06-1.04-.06h-2.59v2.32h2.11c.43,0,.69-.02,1.03-.06v.76c-.3-.04-.56-.06-1.03-.06h-2.11v2.2Z' style='fill:%23fff; stroke-width:0px;'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 6.875rem;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .page.print main article:not(.video) section .pdf_list li a::after {
    right: 1.25rem;
  }
}