@charset "UTF-8";
@import url("c91de0c23a37ff63.css");
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  word-break: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
  line-height: 1.6; }

html, body {
  overflow-x: hidden;
  font-size: 62.5%; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block; }

li {
  list-style-type: none; }

blockquote, q {
  quotes: none; }
  blockquote::before, blockquote::after, q::before, q::after {
    content: '';
    content: none; }

a {
  text-decoration: none;
  color: inherit; }

img, picture {
  vertical-align: bottom;
  max-width: 100%; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input, select {
  vertical-align: middle; }

br {
  line-height: 0; }

input, textarea, select, button {
  font: inherit; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

html {
  font-size: 62.5%; }

body {
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  color: #004d9c; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 4.16667vw;
      line-height: 1.5;
      -webkit-font-feature-settings: 'palt' 1;
      font-feature-settings: 'palt' 1; } }

img {
  vertical-align: middle;
  border: none; }

a {
  opacity: 1;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s; }
  @media (hover: hover) and (pointer: fine) {
    a:hover {
      opacity: 0.8; } }

li {
  list-style: none; }

header {
  border-top: 15px solid #004d9c;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 950px 1fr;
  grid-template-columns: 1fr 950px 1fr; }
  @media screen and (max-width: 949px) {
    header {
      display: block; } }
  @media screen and (max-width: 768px) {
    header {
      border-top: 10px solid #004d9c; } }
  header .inner_head {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 150px 1fr;
    grid-template-columns: 150px 1fr;
    margin-top: -1px; }
    @media screen and (max-width: 768px) {
      header .inner_head {
        -ms-grid-columns: 32.55208vw 3fr;
        grid-template-columns: 32.55208vw 3fr; } }
  @media screen and (min-width: 951px) {
    header::before {
      content: "";
      background-color: #004d9c;
      height: 65px;
      margin-top: -1px;
      margin-right: -1px; }
    header::after {
      content: "";
      background-color: #fff;
      height: 42px;
      margin-top: -1px;
      margin-left: -1px; } }
  header .header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #004d9c;
    position: relative;
    height: 65px;
    z-index: 999; }
    @media screen and (max-width: 768px) {
      header .header__logo {
        height: 16.53646vw; } }
    header .header__logo::after {
      content: "";
      position: absolute;
      -webkit-transform: scaleY(1) skewX(-45deg);
      -ms-transform: scaleY(1) skewX(-45deg);
      transform: scaleY(1) skewX(-45deg);
      -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
      transform-origin: bottom left;
      right: 0;
      bottom: 0;
      top: 0;
      left: 0;
      background-color: #004d9c;
      z-index: 900; }
    header .header__logo .header__logoLink {
      display: block;
      background: url(2ce388f923bd52ca.svg) no-repeat 50%/contain;
      width: 148px;
      height: 52px;
      margin-left: auto;
      margin-bottom: 15px;
      position: relative;
      z-index: 9999; }
      @media screen and (max-width: 768px) {
        header .header__logo .header__logoLink {
          width: 28.64583vw;
          height: 11.06771vw; } }
    header .header__logoTxt {
      border: 0;
      -webkit-clip-path: inset(50%);
      clip-path: inset(50%);
      clip: rect(0, 0, 0, 0);
      height: 1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      white-space: nowrap;
      width: 1px; }
  header .sp_openBtn {
    background-color: #fff;
    margin-bottom: 3.90625vw;
    z-index: 998;
    padding-right: 3.90625vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (min-width: 769px) {
      header .sp_openBtn {
        display: none; } }
  header .openBtn {
    width: 7.8125vw;
    height: 5.20833vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: auto; }
    header .openBtn .openbtnLineBox {
      position: relative;
      width: 100%;
      height: 100%; }
    header .openBtn span {
      display: inline-block;
      -webkit-transition: all .4s;
      -o-transition: all .4s;
      transition: all .4s;
      position: absolute;
      left: 0;
      height: 2px;
      border-radius: 50vw;
      background-color: #004d9c;
      width: 100%; }
      header .openBtn span:nth-of-type(1) {
        top: 0; }
      header .openBtn span:nth-of-type(2) {
        top: 50%; }
      header .openBtn span:nth-of-type(3) {
        top: 100%; }
    header .openBtn.active span:nth-of-type(1) {
      -webkit-transform: translateY(-50%) rotate(-45deg);
      -ms-transform: translateY(-50%) rotate(-45deg);
      transform: translateY(-50%) rotate(-45deg);
      top: 50%; }
    header .openBtn.active span:nth-of-type(2) {
      opacity: 0; }
    header .openBtn.active span:nth-of-type(3) {
      -webkit-transform: translateY(-1px) rotate(45deg);
      -ms-transform: translateY(-1px) rotate(45deg);
      transform: translateY(-1px) rotate(45deg);
      top: 50%; }

.menu {
  height: 42px;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 3% 0 65px; }
  @media screen and (max-width: 768px) {
    .menu {
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
      position: fixed;
      z-index: -1;
      opacity: 0;
      top: 0;
      margin-top: 10px;
      width: 100%;
      height: auto;
      padding: 20.44271vw 3.90625vw 7.8125vw;
      pointer-events: none; }
      .menu.panelactive {
        opacity: 1;
        z-index: 90;
        pointer-events: auto; } }
  .menu__List {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: auto; }
    @media screen and (max-width: 768px) {
      .menu__List {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        width: 100%; } }
  .menu__item {
    padding-right: 2rem;
    margin-right: 2rem;
    border-right: 1px solid #b9b9b9;
    line-height: 1; }
    .menu__item:nth-child(5) {
      border: none; }
    .menu__item.search {
      border: none;
      padding-right: 0;
      margin-right: 0;
      padding-left: 20px; }
      .menu__item.search form {
        position: relative;
        width: 155px;
        height: 22px;
        line-height: 1; }
      .menu__item.search input[name="query"] {
        border: 1px solid #b9b9b9;
        width: 100%;
        height: 100%;
        padding: 0 20px 0 5px;
        font-size: 14px; }
      .menu__item.search input[name="btn"] {
        position: absolute;
        right: 5px;
        top: 0;
        bottom: 0;
        margin: auto;
        cursor: pointer;
        width: 15px;
        height: 15px;
        font-size: 0;
        background: url(7903056a3fced84c.svg) center/cover no-repeat; }
    @media screen and (max-width: 768px) {
      .menu__item {
        padding: 2rem 0;
        margin: auto;
        border-right: none;
        border-bottom: 1px solid #b9b9b9;
        width: 100%;
        text-align: center; }
        .menu__item.search {
          padding-left: 0; }
          .menu__item.search form {
            width: 80%;
            height: 9.11458vw;
            margin: auto; }
          .menu__item.search input[name="query"] {
            padding: 0 5.20833vw 0 1.30208vw;
            font-size: 3.64583vw; }
          .menu__item.search input[name="btn"] {
            right: 1.30208vw;
            width: 3.90625vw;
            height: 3.90625vw; } }
  .menu__link {
    color: #141421;
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .menu__link {
        font-size: 5.20833vw; } }
    @media screen and (min-width: 769px) {
      .menu__link:hover {
        color: #004d9c;
        opacity: 1; } }

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.rightTxt {
  text-align: right; }

.leftTxt {
  text-align: left; }

.centerTxt {
  text-align: center; }

.sp,
.spIbShow {
  display: none; }

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

img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
  margin: 0 auto; }

.inner_max {
  max-width: 1000px;
  margin: auto; }

.inner_med {
  max-width: 950px;
  margin: auto; }

.inner_min {
  max-width: 865px;
  margin: auto; }

.fc_red {
  color: #e60012; }

.fc_yellow {
  color: #fff23f; }

/* heading ttl */
h2 {
  display: inline-block;
  font-size: 4.5rem;
  line-height: 1.15;
  font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
  font-weight: 200;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 9.11458vw;
      margin-bottom: 7.8125vw; } }

h3 {
  font-size: 3.2rem; }
  @media screen and (max-width: 768px) {
    h3 {
      font-size: 2.4rem; } }

h4 {
  font-size: 2.8rem; }
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 2rem; } }

.coution {
  padding-left: 1em;
  text-indent: -1em; }

.coution::before {
  content: "※"; }

.strongTxt {
  font-weight: bold; }

.elpsTxt {
  display: block;
  width: 100%;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap; }

.nowrapTxt {
  display: inline-block; }

/* link */
.linkTxt {
  color: #004d9c;
  text-decoration: underline;
  word-wrap: break-word; }

/* btn */
.btn {
  position: relative;
  width: 341px;
  height: 65px;
  margin-top: 35px;
  color: #004d9c; }
  .btn .cls-1 {
    fill: #fff;
    stroke: #004d9c;
    stroke-width: 1px;
    stroke-miterlimit: 10;
    position: relative;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }
  .btn span {
    position: absolute;
    left: 50%;
    top: 50%;
    padding-left: 2rem;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    font-size: 3rem; }
  @media screen and (max-width: 768px) {
    .btn {
      width: 65.10417vw;
      height: 12.36979vw;
      margin: auto; }
      .btn .cls-1 {
        stroke-width: 0.39063vw; }
      .btn span {
        font-size: 6.51042vw;
        text-align: center;
        padding: 0 1.95313vw 0 0; } }
  @media screen and (min-width: 769px) {
    .btn a:hover {
      color: #fff;
      opacity: 1; }
      .btn a:hover .cls-1 {
        fill: #004d9c; } }

footer {
  background-color: #004d9c;
  color: #fff;
  text-align: center;
  padding: 0 3% 40px; }
  footer p {
    margin-bottom: 10px; }
    footer p a {
      color: #fff;
      text-decoration: underline; }
      @media screen and (min-width: 769px) {
        footer p a:hover {
          text-decoration: none; } }
  @media screen and (min-width: 769px) {
    footer .tel, footer .mail {
      display: inline-block;
      padding-left: 1em; } }
  footer .foot__logoTxt {
    display: block;
    background: url(2ce388f923bd52ca.svg) no-repeat 50%/contain;
    width: 220px;
    height: 97px;
    margin: 40px auto 0; }
    @media screen and (max-width: 768px) {
      footer .foot__logoTxt {
        width: 35.15625vw;
        height: 15.49479vw;
        margin: 6.51042vw auto 0; } }
    footer .foot__logoTxt span {
      border: 0;
      -webkit-clip-path: inset(50%);
      clip-path: inset(50%);
      clip: rect(0, 0, 0, 0);
      height: 1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      white-space: nowrap;
      width: 1px; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 0 3.90625vw 7.8125vw; }
      footer p {
        margin-bottom: 3.90625vw; }
        footer p span {
          display: block; } }

.m35 {
  margin: 35px; }
  @media screen and (max-width: 768px) {
    .m35 {
      margin: 6.51042vw; } }

#kv {
  position: relative;
  height: 596px;
  background: url(d0199d2b31af43a7.svg) bottom -1px right/385px no-repeat, url(10e960e9de779c9c.jpg) center/cover no-repeat; }
  @media screen and (max-width: 768px) {
    #kv {
      background: url(d0199d2b31af43a7.svg) bottom -1px right/40.625vw no-repeat, url(e252c85c4b35d7f4.jpg) center/cover no-repeat;
      height: 169.27083vw; } }
  #kv .kv_read {
    max-width: 950px;
    margin: auto;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0; }
    #kv .kv_read .btnImg {
      position: absolute;
      right: 0;
      bottom: 0;
      -webkit-transform: translateY(50%);
      -ms-transform: translateY(50%);
      transform: translateY(50%);
      width: 150px; }
      @media screen and (max-width: 768px) {
        #kv .kv_read .btnImg {
          width: 28.77604vw;
          right: 3.90625vw; } }

#about {
  background: url(87261ae05bf15faf.svg) left bottom -1px no-repeat;
  background-size: 385px auto; }
  @media screen and (max-width: 1000px) {
    #about {
      background-size: 35% auto; } }
  @media screen and (max-width: 768px) {
    #about {
      background-size: 40.36458vw auto;
      margin-bottom: -1px; } }
  @media screen and (min-width: 769px) {
    #about .inner_max {
      background: url(cb19153485d9812c.svg) left top no-repeat;
      background-size: 99px auto;
      padding: 60px 0 80px 100px; } }
  @media screen and (max-width: 768px) {
    #about .inner_max {
      padding: 10.41667vw 3.90625vw 17.57813vw; } }
  #about h2 {
    background-color: #004d9c;
    color: #fff; }
  #about p {
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    font-size: 4.6875vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 1.5em;
    padding: 0 3.90625vw; }
    @media screen and (min-width: 769px) {
      #about p {
        font-size: 18px;
        padding-left: 30px; } }

@media screen and (min-width: 769px) {
  .contents {
    text-align: right;
    padding: 95px 0 65px; }
    .contents .inner_max {
      padding-bottom: 20px; } }

@media screen and (max-width: 768px) {
  .contents {
    padding: 15.625vw 3.90625vw 13.02083vw; } }

.contents:nth-child(odd) {
  background: url(d0199d2b31af43a7.svg) right bottom -1px no-repeat;
  background-size: 385px auto;
  background-color: #004d9c; }
  @media screen and (max-width: 1000px) {
    .contents:nth-child(odd) {
      background-size: 35% auto; } }
  @media screen and (max-width: 768px) {
    .contents:nth-child(odd) {
      background-size: 40.36458vw auto;
      margin-bottom: -1px; } }
  .contents:nth-child(odd) .contentsWrap {
    background: -webkit-linear-gradient(45deg, transparent 12px, rgba(0, 77, 156, 0.5) 12px), -webkit-linear-gradient(315deg, rgba(0, 77, 156, 0.5) 12px, rgba(0, 77, 156, 0.5) 12px), -webkit-linear-gradient(225deg, transparent 12px, rgba(0, 77, 156, 0.5) 12px), -webkit-linear-gradient(135deg, rgba(0, 77, 156, 0.5) 12px, rgba(0, 77, 156, 0.5) 12px);
    background: -o-linear-gradient(45deg, transparent 12px, rgba(0, 77, 156, 0.5) 12px), -o-linear-gradient(315deg, rgba(0, 77, 156, 0.5) 12px, rgba(0, 77, 156, 0.5) 12px), -o-linear-gradient(225deg, transparent 12px, rgba(0, 77, 156, 0.5) 12px), -o-linear-gradient(135deg, rgba(0, 77, 156, 0.5) 12px, rgba(0, 77, 156, 0.5) 12px);
    background: linear-gradient(45deg, transparent 12px, rgba(0, 77, 156, 0.5) 12px), linear-gradient(135deg, rgba(0, 77, 156, 0.5) 12px, rgba(0, 77, 156, 0.5) 12px), linear-gradient(225deg, transparent 12px, rgba(0, 77, 156, 0.5) 12px), linear-gradient(315deg, rgba(0, 77, 156, 0.5) 12px, rgba(0, 77, 156, 0.5) 12px); }
    .contents:nth-child(odd) .contentsWrap:before, .contents:nth-child(odd) .contentsWrap:after {
      background-color: #fff; }
  .contents:nth-child(odd) .contentsLine01:before, .contents:nth-child(odd) .contentsLine01:after, .contents:nth-child(odd) .contentsLine02:before, .contents:nth-child(odd) .contentsLine02:after {
    background: #fff; }
  .contents:nth-child(odd) h2 {
    background-color: #fff;
    color: #004d9c; }
    .contents:nth-child(odd) h2::after {
      background-color: #fff; }

.contents:nth-child(even) {
  background: url(87261ae05bf15faf.svg) left bottom -1px no-repeat;
  background-size: 385px auto;
  color: #004d9c; }
  @media screen and (max-width: 1000px) {
    .contents:nth-child(even) {
      background-size: 35% auto; } }
  @media screen and (max-width: 768px) {
    .contents:nth-child(even) {
      background-size: 40.36458vw auto;
      margin-bottom: -1px; } }
  .contents:nth-child(even) .contentsWrap {
    background: -webkit-linear-gradient(45deg, transparent 12px, rgba(255, 255, 255, 0.5) 12px), -webkit-linear-gradient(315deg, rgba(255, 255, 255, 0.5) 12px, rgba(255, 255, 255, 0.5) 12px), -webkit-linear-gradient(225deg, transparent 12px, rgba(255, 255, 255, 0.5) 12px), -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 12px, rgba(255, 255, 255, 0.5) 12px);
    background: -o-linear-gradient(45deg, transparent 12px, rgba(255, 255, 255, 0.5) 12px), -o-linear-gradient(315deg, rgba(255, 255, 255, 0.5) 12px, rgba(255, 255, 255, 0.5) 12px), -o-linear-gradient(225deg, transparent 12px, rgba(255, 255, 255, 0.5) 12px), -o-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 12px, rgba(255, 255, 255, 0.5) 12px);
    background: linear-gradient(45deg, transparent 12px, rgba(255, 255, 255, 0.5) 12px), linear-gradient(135deg, rgba(255, 255, 255, 0.5) 12px, rgba(255, 255, 255, 0.5) 12px), linear-gradient(225deg, transparent 12px, rgba(255, 255, 255, 0.5) 12px), linear-gradient(315deg, rgba(255, 255, 255, 0.5) 12px, rgba(255, 255, 255, 0.5) 12px); }
    .contents:nth-child(even) .contentsWrap:before, .contents:nth-child(even) .contentsWrap:after {
      background: #004d9c; }
  .contents:nth-child(even) .contentsLine01:before, .contents:nth-child(even) .contentsLine01:after, .contents:nth-child(even) .contentsLine02:before, .contents:nth-child(even) .contentsLine02:after {
    background: #004d9c; }
  .contents:nth-child(even) h2 {
    background-color: #004d9c;
    color: #fff; }
    .contents:nth-child(even) h2::after {
      background-color: #004d9c; }

.contentsWrap {
  max-width: 865px;
  margin: auto;
  background-position: bottom left, top left, top right, bottom right;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  text-align: left;
  color: #fff;
  margin-bottom: 50px; }
  @media screen and (max-width: 900px) {
    .contentsWrap {
      margin-left: 3%;
      margin-right: 3%; } }
  @media screen and (max-width: 768px) {
    .contentsWrap {
      margin-left: auto;
      margin-right: auto; } }
  .contentsWrap:before {
    display: block;
    position: absolute;
    right: -44px;
    top: 0;
    content: "";
    height: 1px;
    width: 100px;
    -webkit-transform: translate(-10%, -10%) rotate(45deg);
    -ms-transform: translate(-10%, -10%) rotate(45deg);
    transform: translate(-10%, -10%) rotate(45deg); }
  .contentsWrap:after {
    display: block;
    position: absolute;
    left: -15px;
    bottom: -10px;
    content: "";
    height: 1px;
    width: 100px;
    -webkit-transform: translate(-10%, -10%) rotate(45deg);
    -ms-transform: translate(-10%, -10%) rotate(45deg);
    transform: translate(-10%, -10%) rotate(45deg); }
  .contentsWrap h2 {
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    font-size: 3.8rem;
    font-weight: 300;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    line-height: 1;
    padding: 10px 0 10px 20px;
    position: relative;
    z-index: 2; }
    .contentsWrap h2 span {
      font-size: 20px;
      display: block;
      margin-top: 6px;
      line-height: 1; }
    .contentsWrap h2::after {
      content: "";
      position: absolute;
      -webkit-transform: scaleY(1) skewX(-32deg);
      -ms-transform: scaleY(1) skewX(-32deg);
      transform: scaleY(1) skewX(-32deg);
      -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
      transform-origin: bottom left;
      right: 0;
      bottom: 0;
      top: 0;
      left: 0;
      z-index: -1; }
    @media screen and (max-width: 768px) {
      .contentsWrap h2 {
        margin-bottom: 6.51042vw;
        font-size: 7.8125vw;
        padding: 2.60417vw 0 2.60417vw 2.60417vw; }
        .contentsWrap h2 span {
          font-size: 4.6875vw;
          margin-top: 1.5625vw; }
        .contentsWrap h2::after {
          border-width: 11.19792vw 11.19792vw 0 0; } }

.contentsLine01 {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }
  .contentsLine01:before {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    height: calc(100% - 15px);
    width: 1px; }
  .contentsLine01:after {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    height: calc(100% - 15px);
    width: 1px; }

.contentsLine02 {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }
  .contentsLine02:before {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    height: 1px;
    width: calc(100% - 15px); }
  .contentsLine02:after {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    height: 1px;
    width: calc(100% - 15px); }

.contentsList {
  padding: 0 35px;
  position: relative;
  z-index: 3; }
  @media screen and (max-width: 768px) {
    .contentsList {
      padding: 3.90625vw; } }
  .contentsList li img {
    margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    .contentsList li {
      margin-bottom: 10.41667vw; }
      .contentsList li img {
        margin-bottom: 2.60417vw; } }

.contents .numTtl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 25px; }
  .contents .numTtl::before, .contents .numTtl::after {
    content: "";
    height: 1px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1; }
  .contents .numTtl .number {
    position: relative;
    width: 113px;
    height: 35px; }
    .contents .numTtl .number .cls-1 {
      stroke-width: 1px;
      stroke-miterlimit: 10;
      position: relative; }
    .contents .numTtl .number span {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100%;
      text-align: center;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      color: #004d9c;
      font-size: 2rem;
      font-weight: 700;
      font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif; }
  @media screen and (max-width: 768px) {
    .contents .numTtl {
      margin-bottom: 5.20833vw; }
      .contents .numTtl .number .cls-1 {
        stroke-width: 0.39063vw; } }

.contents h3 {
  font-size: 2rem;
  font-weight: 700;
  font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
  color: #fff; }
  @media screen and (max-width: 768px) {
    .contents h3 {
      font-size: 5.20833vw;
      margin-bottom: 5.20833vw; } }

@media screen and (min-width: 769px) {
  #learning .inner_max {
    background: url(9492b1c45fb2bdc8.svg) right top no-repeat;
    background-size: 99px auto; } }

#learning .contentsList {
  padding: 35px; }
  @media screen and (max-width: 768px) {
    #learning .contentsList {
      padding: 7.16146vw; } }
  @media screen and (min-width: 769px) {
    #learning .contentsList {
      display: -ms-grid;
      display: grid;
      gap: 24px;
      grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); } }

#learning .txt {
  width: 100%;
  font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
  font-size: 6.51042vw;
  text-align: center;
  margin-bottom: 11.71875vw;
  position: relative;
  z-index: 3; }
  #learning .txt::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5.46875vw 8.85417vw 0 8.85417vw;
    border-color: #fff23f transparent transparent transparent;
    margin: -2.60417vw auto 7.8125vw; }
  @media screen and (min-width: 769px) {
    #learning .txt {
      font-size: 3.5rem;
      margin-bottom: 50px; }
      #learning .txt::before {
        border-width: 22px 38px 0 38px;
        margin: 20px auto 30px; } }

@media screen and (min-width: 769px) {
  #precedent .inner_max {
    background: url(589bf74af3624be3.svg) left top 2% no-repeat;
    background-size: 99px auto; } }

#precedent p {
  color: #004d9c; }
  #precedent p.txt {
    position: relative;
    z-index: 3;
    font-size: 2.5rem;
    font-weight: 700;
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    padding: 0 35px;
    text-align: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #precedent p.txt {
        padding: 0 3.90625vw;
        font-size: 5.72917vw;
        margin-bottom: 7.8125vw; } }

#precedent .numTtl::before, #precedent .numTtl::after {
  background-color: #004d9c; }

#precedent .numTtl .number .cls-1 {
  fill: #fff23f;
  stroke: #004d9c; }

#precedent .numTtl .number span {
  color: #004d9c; }

#precedent .contentsList li:nth-child(1) h3::before {
  width: 26.82292vw;
  height: 25.78125vw;
  background: url(c8e9a9222878ca08.svg) center/contain no-repeat; }

#precedent .contentsList li:nth-child(2) h3::before {
  width: 24.47917vw;
  height: 25.65104vw;
  background: url(d1d35205d6ab5c8c.svg) center/contain no-repeat; }

#precedent .contentsList li:nth-child(3) h3 span {
  width: 72.91667vw; }

#precedent .contentsList li:nth-child(3) h3::before {
  width: 30.98958vw;
  height: 21.61458vw;
  background: url(1509d5454ea5362d.svg) center/contain no-repeat; }

#precedent .contentsList h3 {
  position: relative; }
  #precedent .contentsList h3 span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.3;
    background-color: #004d9c;
    width: 71.61458vw;
    height: 18.48958vw;
    padding: 0 3.25521vw; }
  #precedent .contentsList h3::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1.5625vw; }

#precedent .contentsList p:not(.numTtl) {
  padding: 0 3.25521vw; }

@media screen and (min-width: 769px) {
  #precedent .contentsList {
    padding: 0 30px;
    display: -ms-grid;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    margin-bottom: 60px; }
    #precedent .contentsList li {
      margin-top: 20px; }
    #precedent .contentsList li:nth-child(1) h3::before {
      width: 60px;
      height: 61px; }
    #precedent .contentsList li:nth-child(2) h3::before {
      width: 55px;
      height: 61px; }
    #precedent .contentsList li:nth-child(3) h3 span {
      width: 100%; }
    #precedent .contentsList li:nth-child(3) h3::before {
      width: 80px;
      height: 61px; }
    #precedent .contentsList h3 {
      font-size: 1.8rem;
      margin-top: -8px; }
      #precedent .contentsList h3 span {
        height: 60px;
        width: 100%;
        padding: 0 10px;
        margin-bottom: 12px; }
      #precedent .contentsList h3::before {
        bottom: -7px; }
    #precedent .contentsList p:not(.numTtl) {
      padding: 0; } }

#precedent .btn {
  margin: 0 auto 10.41667vw;
  z-index: 3; }

#precedent .ic_new {
  width: 11.19792vw;
  height: 11.19792vw;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0;
  line-height: 0; }
  #precedent .ic_new img {
    margin-bottom: 0; }

@media screen and (min-width: 769px) {
  #precedent .btn {
    margin: 60px auto;
    width: 300px;
    height: 58px; }
  #precedent .ic_new {
    width: 40px;
    height: 40px; } }

@media screen and (min-width: 769px) {
  #measures .inner_max {
    background: url(b740fe162fa20a4c.svg) right top no-repeat;
    background-size: 99px auto; } }

#measures .numTtl::before, #measures .numTtl::after {
  background-color: #fff; }

#measures .numTtl .number .cls-1 {
  fill: #fff;
  stroke: #fff; }

#measures .sec01Tttl {
  color: #004d9c;
  background-color: #dbf1ff;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.3;
  height: 18.48958vw;
  margin-left: 3.25521vw;
  margin-right: 3.25521vw;
  position: relative; }
  #measures .sec01Tttl span {
    margin-left: 14.97396vw;
    line-height: 1.3; }
    #measures .sec01Tttl span::before {
      content: "";
      width: 14.97396vw;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto; }
  #measures .sec01Tttl::after, #measures .sec01Tttl::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute; }
  #measures .sec01Tttl::after {
    border-width: 0 0 14px 14px;
    border-color: transparent transparent #004d9c transparent;
    right: 0;
    bottom: 0; }
  #measures .sec01Tttl::before {
    border-width: 14px 14px 0 0;
    border-color: #004d9c transparent transparent transparent;
    top: 0;
    left: 0; }

#measures .contentsList li:nth-child(1) .sec01Tttl span::before {
  height: 12.5vw;
  background: url(78468c2f8d8efccd.svg) center/contain no-repeat; }

#measures .contentsList li:nth-child(2) .sec01Tttl span::before {
  height: 13.93229vw;
  background: url(0e116be584c0f840.svg) center/contain no-repeat; }

#measures .contentsList li:nth-child(3) .sec01Tttl span::before {
  height: 13.67188vw;
  background: url(b3bef1b348f1125c.svg) center/contain no-repeat; }

#measures .measureslist li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
  margin: 0 3.25521vw 2.60417vw; }
  #measures .measureslist li::before {
    content: "●";
    font-size: 0.5em;
    color: #fff23f;
    margin: 0.65em 1em auto 0; }

#measures .readTxt {
  font-size: 4.6875vw;
  text-align: center;
  font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
  margin: 0 1.30208vw 10.41667vw;
  position: relative;
  z-index: 3; }

#measures .sec02 {
  margin: 0 6.51042vw 10.41667vw;
  position: relative;
  z-index: 3; }
  #measures .sec02 p + p {
    margin-top: 1em; }
  #measures .sec02 h3 {
    height: 34.63542vw;
    padding-top: 8.59375vw;
    padding-left: 33.20313vw;
    margin-bottom: 3.90625vw; }
    #measures .sec02 h3 span {
      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.3;
      height: 16.01563vw; }

#measures .contentsWrap .sec02:nth-of-type(1) h3 {
  background: url(e637ead86eb0fc0e.svg) left center/contain no-repeat; }

#measures .contentsWrap .sec02:nth-of-type(2) h3 {
  background: url(5b89bf69f529fa4b.svg) left center/contain no-repeat; }

#measures .contentsWrap .sec02:nth-of-type(3) h3 {
  background: url(e5b249b5ac9df50e.svg) left center/contain no-repeat; }

@media screen and (min-width: 769px) {
  #measures .gridBox {
    padding: 0 30px;
    display: -ms-grid;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); }
  #measures .sec01Tttl {
    height: 80px;
    margin: -8px 0 20px;
    font-size: 1.8rem; }
    #measures .sec01Tttl span {
      margin-left: 70px; }
      #measures .sec01Tttl span::before {
        width: 64px; }
  #measures .contentsList li {
    margin-bottom: 40px; }
  #measures .contentsList li:nth-child(1) .sec01Tttl span::before {
    height: 60px; }
  #measures .contentsList li:nth-child(2) .sec01Tttl span::before {
    height: 60px; }
  #measures .contentsList li:nth-child(3) .sec01Tttl span {
    margin-left: 61px; }
    #measures .contentsList li:nth-child(3) .sec01Tttl span::before {
      height: 60px; }
  #measures .measureslist li {
    margin: 0 0 15px; }
    #measures .measureslist li::before {
      content: "●";
      font-size: 0.5em;
      color: #fff23f;
      margin: 0.65em 1em auto 0; }
  #measures .readTxt {
    font-size: 2.5rem;
    margin: 0 35px 40px; }
  #measures .sec02 {
    margin: 0 60px 60px; }
    #measures .sec02 h3 {
      font-size: 3rem;
      height: 150px;
      padding-top: 37px;
      padding-left: 155px;
      margin-bottom: 20px; }
      #measures .sec02 h3 span {
        height: 70px; }
  #measures .contentsWrap .sec02:nth-of-type(1) h3 {
    background: url(64a427369916355a.svg) left center/contain no-repeat; }
  #measures .contentsWrap .sec02:nth-of-type(2) h3 {
    background: url(705187c18c47dc1c.svg) left center/contain no-repeat; }
  #measures .contentsWrap .sec02:nth-of-type(3) h3 {
    background: url(ded1f6e60a3e0a89.svg) left center/contain no-repeat; } }

#movie {
  padding: 16.92708vw 3.90625vw 3.90625vw; }
  #movie h2 {
    background-color: #004d9c;
    color: #fff; }
  @media screen and (min-width: 769px) {
    #movie {
      padding: 90px 0 0; }
      #movie .inner_max {
        background: url(dfe4ad7f758c7cd3.svg) left top no-repeat;
        background-size: 99px auto;
        padding-bottom: 10px; }
      #movie h2 {
        margin-left: 122px; } }
  #movie .inner_med {
    margin-bottom: 9.11458vw; }
    @media screen and (max-width: 1000px) {
      #movie .inner_med {
        padding: 0 3%; } }
    @media screen and (max-width: 768px) {
      #movie .inner_med {
        padding: 0; } }
    @media screen and (min-width: 769px) {
      #movie .inner_med {
        display: -ms-grid;
        display: grid;
        gap: 0;
        grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
        margin-bottom: 40px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }
  #movie .movieTxt {
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    font-size: 5.20833vw;
    line-height: 1.25;
    margin-bottom: 8.46354vw; }
    @media screen and (min-width: 769px) {
      #movie .movieTxt {
        margin-left: 122px;
        font-size: 2.5rem;
        margin-bottom: 35px; } }
  #movie .movieBox {
    width: 100%; }
    #movie .movieBox div {
      padding: 56.25% 0 0 0;
      position: relative;
      width: 100%; }
      #movie .movieBox div iframe {
        left: 0;
        height: 100%;
        position: absolute;
        top: 0;
        width: 100%; }
  #movie .txtBox {
    width: 100%; }
    @media screen and (max-width: 768px) {
      #movie .txtBox {
        margin-top: 3.25521vw; } }
    #movie .txtBox dt {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding-left: 30px;
      font-size: 3.1rem;
      height: 50px;
      font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
      background: url(471610ae6d4a3d38.svg) left bottom/contain no-repeat; }
      @media screen and (max-width: 768px) {
        #movie .txtBox dt {
          font-size: 7.16146vw;
          height: 11.71875vw;
          padding-left: 0; } }
      @media screen and (min-width: 951px) {
        #movie .txtBox dt {
          height: 50px;
          background: url(b565f0791fbadb24.svg) left bottom/contain no-repeat; } }
    #movie .txtBox dd {
      padding: 10px 0; }
      #movie .txtBox dd .coution {
        display: block;
        font-size: 3.125vw;
        text-align: right; }
      @media screen and (min-width: 769px) {
        #movie .txtBox dd {
          padding: 10px 30px; }
          #movie .txtBox dd .coution {
            font-size: 12px; } }
  #movie .digest {
    width: 50%;
    margin: 14px auto 0; }
    #movie .digest a {
      display: block;
      background: #fff;
      border: 1px solid;
      border-radius: 50vw;
      text-align: center;
      padding: 0.25em;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      @media screen and (min-width: 769px) {
        #movie .digest a:hover {
          background: #004d9c;
          color: #fff;
          opacity: 1; } }
    @media screen and (max-width: 768px) {
      #movie .digest {
        width: 70%; } }

#guidebook {
  background: url(87261ae05bf15faf.svg) left bottom -1px no-repeat;
  background-size: 385px auto;
  padding-top: 40px;
  padding-bottom: 90px; }
  @media screen and (max-width: 1000px) {
    #guidebook {
      background-size: 35% auto; } }
  @media screen and (max-width: 768px) {
    #guidebook {
      background-size: 40.36458vw auto;
      margin-bottom: -1px; } }
  @media screen and (max-width: 1000px) {
    #guidebook {
      padding: 0 3% 100px; } }
  @media screen and (max-width: 768px) {
    #guidebook {
      padding: 0 3.90625vw 26.04167vw; } }
  @media screen and (min-width: 769px) {
    #guidebook .inner_950 {
      max-width: 950px;
      margin: auto;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 240px;
      grid-template-columns: 1fr 240px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 30px; } }
  #guidebook h2 span {
    background-color: #004d9c;
    color: #fff;
    display: inline-block;
    line-height: 1.15; }
    @media screen and (max-width: 768px) {
      #guidebook h2 span {
        margin-bottom: 5px; } }
  #guidebook .guideTxt {
    font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
    font-size: 2.5rem;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      #guidebook .guideTxt {
        font-size: 5.07813vw; } }
  #guidebook .imgBox {
    max-width: 240px;
    margin-left: auto; }
    @media screen and (max-width: 768px) {
      #guidebook .imgBox {
        max-width: 240px;
        margin: 7.8125vw auto 5.20833vw; } }

#others {
  background-color: #004d9c;
  text-align: center;
  padding: 90px 3% 60px; }
  @media screen and (max-width: 768px) {
    #others {
      padding: 15.625vw 0 13.02083vw; } }
  #others h2 {
    width: 265px;
    height: 47px;
    position: relative;
    margin-bottom: 50px; }
    #others h2 .cls-1 {
      fill: none;
      stroke: #fff;
      stroke-width: 1px;
      stroke-miterlimit: 10;
      position: relative; }
    #others h2 span {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100%;
      text-align: center;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 2.6rem;
      font-family: 'Noto Sans JP','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
      color: #fff; }
    @media screen and (max-width: 768px) {
      #others h2 {
        width: 50.78125vw;
        height: 9.11458vw;
        margin-bottom: 10.41667vw; }
        #others h2 .cls-1 {
          stroke-width: 0.39063vw; }
        #others h2 span {
          font-size: 5.20833vw; } }
  #others .linkList {
    text-align: left; }
    #others .linkList li {
      line-height: 1; }
      #others .linkList li ul {
        margin: 1em 0 1em 1em; }
    #others .linkList a {
      color: #fff;
      line-height: 1;
      font-family: 'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: left; }
      #others .linkList a::before {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent transparent transparent #fff;
        margin-right: 0.5em; }
    @media screen and (min-width: 769px) {
      #others .linkList {
        display: -ms-grid;
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
        max-width: 900px;
        margin: auto;
        font-size: 1.8rem; }
        #others .linkList a::before {
          border-width: 6px 0 6px 7px; }
        #others .linkList li {
          margin-bottom: 30px; }
          #others .linkList li ul li {
            margin-bottom: 1em; } }
    @media screen and (max-width: 768px) {
      #others .linkList {
        margin: 0 7.8125vw;
        font-size: 4.6875vw; }
        #others .linkList a::before {
          border-width: 1.5625vw 0 1.5625vw 1.82292vw; }
        #others .linkList li {
          margin-bottom: 5.85938vw; } }
