@charset "UTF-8";
@media screen and (min-width: 1024px) {
  .btn_style01 {
    width: 100%; }
    .btn_style01 a, .btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 64px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.8rem;
      font-weight: 600;
      letter-spacing: 0.125em;
      line-height: 1.0;
      background-color: #ffffff;
      border: 1px solid #E1E8F0;
      border-radius: 32px;
      -webkit-border-radius: 32px;
      -moz-border-radius: 32px; }
      .btn_style01 a img, .btn_style01 a:link a:visited img {
        width: 18px;
        padding-left: 6px; }
    .btn_style01 a:hover {
      color: #111111;
      background-color: #F4F6F9; }
    .btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 15px;
      right: 15px;
      width: 34px;
      height: 34px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style01 .arrow:before,
    .btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 34px;
      height: 34px;
      background: url(../img/arrow02.svg) no-repeat center center;
      background-size: 10px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .btn_style01 .arrow:after {
      transform: translateX(-100%); }
    .btn_style01 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .btn_style01 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style01 {
    width: 100%; }
    .btn_style01 a, .btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.6rem;
      font-weight: 600;
      letter-spacing: 0.125em;
      line-height: 1.0;
      background-color: #ffffff;
      border: 1px solid #E1E8F0;
      border-radius: 30px;
      -webkit-border-radius: 30px;
      -moz-border-radius: 30px; }
      .btn_style01 a img, .btn_style01 a:link a:visited img {
        width: 18px;
        padding-left: 6px; }
    .btn_style01 a:hover {
      color: #111111;
      background-color: #F4F6F9; }
    .btn_style01 .arrow {
      overflow: hidden;
      position: absolute;
      top: 15px;
      right: 15px;
      width: 30px;
      height: 30px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }
    .btn_style01 .arrow:before,
    .btn_style01 .arrow:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 30px;
      height: 30px;
      background: url(../img/arrow02.svg) no-repeat center center;
      background-size: 10px;
      animation-fill-mode: forwards;
      animation-duration: 0.3s; }
    .btn_style01 .arrow:after {
      transform: translateX(-100%); }
    .btn_style01 a:hover .arrow:before {
      animation-name: transformRightLeft;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0s; }
    .btn_style01 a:hover .arrow:after {
      animation-name: transformLeftRight;
      /* 修正: hover時のアニメーションを指定 */
      animation-delay: 0.2s; } }
@media screen and (max-width: 767px) {
  .btn_style01 {
    width: 100%; }
    .btn_style01 a {
      position: relative;
      width: 100%;
      height: 52px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.55rem;
      font-weight: 600;
      letter-spacing: 0.125em;
      line-height: 1.0;
      background-color: #ffffff;
      border: 1px solid #E1E8F0;
      border-radius: 26px;
      -webkit-border-radius: 26px;
      -moz-border-radius: 26px; }
      .btn_style01 a img {
        width: 18px;
        padding-left: 6px; }
      .btn_style01 a .arrow {
        display: none; }
    .btn_style01 a::after {
      content: '';
      position: absolute;
      top: 11px;
      right: 11px;
      width: 30px;
      height: 30px;
      background: url(../img/arrow02.svg) no-repeat center center;
      background-size: 9px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }

@media screen and (min-width: 1024px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a, .btn_style02 a:link a:visited {
      width: 100%;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background: url(../img/btn_arrow_wh.svg) no-repeat right 10px center;
      background-size: 40px;
      background-color: #0054A7;
      border-radius: 30px;
      -webkit-border-radius: 30px;
      -moz-border-radius: 30px; }
      .btn_style02 a img, .btn_style02 a:link a:visited img {
        width: 24px;
        padding-right: 8px; }
    .btn_style02 a:hover {
      color: #ffffff;
      background: url(../img/btn_arrow_wh.svg) no-repeat right 7px center;
      background-size: 40px;
      background-color: #124287; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a {
      width: 100%;
      height: 56px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #0054A7;
      border-radius: 28px;
      -webkit-border-radius: 28px;
      -moz-border-radius: 28px; }
      .btn_style02 a img {
        width: 24px;
        padding-right: 8px; }
    .btn_style02 a:hover {
      color: #ffffff;
      background-color: #124287; } }
@media screen and (max-width: 767px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a {
      width: 100%;
      height: 54px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 1.55rem;
      font-weight: 500;
      line-height: 1.0;
      background-color: #0054A7;
      border-radius: 27px;
      -webkit-border-radius: 27px;
      -moz-border-radius: 27px; }
      .btn_style02 a img {
        width: 24px;
        padding-right: 8px; } }

@media screen and (min-width: 1024px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a, .cta_btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 78px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.0;
      background-color: #ffffff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    .cta_btn_style01 a:hover {
      color: #111111;
      background-color: #F4F6F9; }
    .cta_btn_style01 a::after {
      content: '';
      position: absolute;
      top: 13px;
      right: 13px;
      width: 52px;
      height: 52px;
      background: url(../img/search_icon.svg) no-repeat center center;
      background-size: 20px;
      background-color: #F4F6F9;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      transition: all .3s; }
    .cta_btn_style01 a:hover::after {
      content: '';
      position: absolute;
      top: 13px;
      right: 13px;
      width: 52px;
      height: 52px;
      background: url(../img/search_icon_wh.svg) no-repeat center center;
      background-size: 20px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a, .cta_btn_style01 a:link a:visited {
      position: relative;
      width: 100%;
      height: 70px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.6rem;
      font-weight: 600;
      line-height: 1.0;
      background-color: #ffffff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    .cta_btn_style01 a:hover {
      color: #111111;
      background-color: #F4F6F9; }
    .cta_btn_style01 a::after {
      content: '';
      position: absolute;
      top: 11px;
      right: 11px;
      width: 48px;
      height: 48px;
      background: url(../img/search_icon.svg) no-repeat center center;
      background-size: 18px;
      background-color: #F4F6F9;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      transition: all .3s; }
    .cta_btn_style01 a:hover::after {
      content: '';
      position: absolute;
      top: 11px;
      right: 11px;
      width: 48px;
      height: 48px;
      background: url(../img/search_icon_wh.svg) no-repeat center center;
      background-size: 18px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }
@media screen and (max-width: 767px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a {
      position: relative;
      width: 100%;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.55rem;
      font-weight: 600;
      line-height: 1.0;
      background-color: #ffffff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    .cta_btn_style01 a::after {
      content: '';
      position: absolute;
      top: 12px;
      right: 12px;
      width: 36px;
      height: 36px;
      background: url(../img/search_icon.svg) no-repeat center center;
      background-size: 14px;
      background-color: #F4F6F9;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }

@media screen and (min-width: 1024px) {
  .cta_btn_style02 {
    width: 100%; }
    .cta_btn_style02 a, .cta_btn_style02 a:link a:visited {
      position: relative;
      width: 100%;
      height: 78px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.0;
      background-color: #ffffff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    .cta_btn_style02 a:hover {
      color: #111111;
      background-color: #F4F6F9; }
    .cta_btn_style02 a::after {
      content: '';
      position: absolute;
      top: 13px;
      right: 13px;
      width: 52px;
      height: 52px;
      background: url(../img/cta_arrow.svg) no-repeat center center;
      background-size: 20px;
      background-color: #F4F6F9;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      transition: all .3s; }
    .cta_btn_style02 a:hover::after {
      content: '';
      position: absolute;
      top: 13px;
      right: 13px;
      width: 52px;
      height: 52px;
      background: url(../img/cta_arrow_wh.svg) no-repeat center center;
      background-size: 20px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .cta_btn_style02 {
    width: 100%; }
    .cta_btn_style02 a, .cta_btn_style02 a:link a:visited {
      position: relative;
      width: 100%;
      height: 70px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.6rem;
      font-weight: 600;
      line-height: 1.0;
      background-color: #ffffff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    .cta_btn_style02 a:hover {
      color: #111111;
      background-color: #F4F6F9; }
    .cta_btn_style02 a::after {
      content: '';
      position: absolute;
      top: 11px;
      right: 11px;
      width: 48px;
      height: 48px;
      background: url(../img/cta_arrow.svg) no-repeat center center;
      background-size: 16px;
      background-color: #F4F6F9;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      transition: all .3s; }
    .cta_btn_style02 a:hover::after {
      content: '';
      position: absolute;
      top: 11px;
      right: 11px;
      width: 48px;
      height: 48px;
      background: url(../img/cta_arrow_wh.svg) no-repeat center center;
      background-size: 16px;
      background-color: #0054A7;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }
@media screen and (max-width: 767px) {
  .cta_btn_style02 {
    width: 100%; }
    .cta_btn_style02 a {
      position: relative;
      width: 100%;
      height: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #111111;
      font-size: 1.55rem;
      font-weight: 600;
      line-height: 1.0;
      background-color: #ffffff;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px; }
    .cta_btn_style02 a::after {
      content: '';
      position: absolute;
      top: 12px;
      right: 12px;
      width: 36px;
      height: 36px;
      background: url(../img/cta_arrow.svg) no-repeat center center;
      background-size: 14px;
      background-color: #F4F6F9;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; } }

@media screen and (min-width: 1024px) {
  .download_btn_style01 {
    width: 100%; }
    .download_btn_style01 button {
      cursor: pointer;
      position: relative;
      width: 100%;
      height: 56px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 1.6rem;
      font-weight: 600;
      letter-spacing: 0.125em;
      line-height: 1.0;
      background-color: #0054A7;
      border-radius: 32px;
      -webkit-border-radius: 32px;
      -moz-border-radius: 32px;
      border: none;
      transition: all .3s; }
      .download_btn_style01 button img {
        width: 22px;
        padding-right: 8px; }
    .download_btn_style01 button:hover {
      color: #ffffff;
      background-color: #124287;
      border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .download_btn_style01 {
    width: 100%; }
    .download_btn_style01 button {
      position: relative;
      width: 100%;
      height: 54px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 600;
      letter-spacing: 0.125em;
      line-height: 1.0;
      background-color: #0054A7;
      border-radius: 30px;
      -webkit-border-radius: 30px;
      -moz-border-radius: 30px;
      border: none;
      transition: all .3s; }
      .download_btn_style01 button img {
        width: 20px;
        padding-right: 8px; }
    .download_btn_style01 button:hover {
      color: #ffffff;
      background-color: #124287;
      border: none; } }
@media screen and (max-width: 767px) {
  .download_btn_style01 {
    width: 100%; }
    .download_btn_style01 button {
      position: relative;
      width: 100%;
      height: 48px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 1.45rem;
      font-weight: 600;
      letter-spacing: 0.125em;
      line-height: 1.0;
      background-color: #0054A7;
      border-radius: 26px;
      -webkit-border-radius: 26px;
      -moz-border-radius: 26px;
      border: none; }
      .download_btn_style01 button img {
        width: 18px;
        padding-right: 6px; }
      .download_btn_style01 button .arrow {
        display: none; } }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

@media screen and (min-width: 1024px) {
  html, body {
    font-size: 62.5%;
    overflow: visible; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  html, body {
    font-size: 62.5%;
    overflow: visible; } }
@media screen and (max-width: 767px) {
  html, body {
    font-size: 62.5%;
    overflow: visible;
    overflow-x: hidden; } }

body {
  height: 100%;
  color: #545454;
  background-color: #ffffff;
  font-family: "Poppins", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 10px;
  font-size: 1.0rem;
  font-feature-settings: "palt";
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%; }

ol, ul {
  list-style: none;
  font-weight: 400;
  letter-spacing: 0.05em; }

h1 {
  font-weight: 400;
  letter-spacing: 0.05em; }

h2 {
  font-weight: 400;
  letter-spacing: 0.05em; }

h3 {
  font-weight: 400;
  letter-spacing: 0.05em; }

h4 {
  font-weight: 400;
  letter-spacing: 0.05em; }

h5 {
  font-weight: 400;
  letter-spacing: 0.05em; }

h6 {
  font-weight: 400;
  letter-spacing: 0.05em; }

p {
  font-weight: 400;
  letter-spacing: 0.05em; }

dl {
  font-weight: 400;
  letter-spacing: 0.05em; }

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: top; }

img {
  max-width: 100%;
  height: auto;
  width: auto;
  border: 0;
  vertical-align: bottom; }

a, a:link a:visited {
  color: #111111;
  transition: all .3s;
  text-decoration: none; }

a:hover {
  color: #0054A7;
  text-decoration: none; }

a.imghover:link img {
  transition: all .3s; }

a.imghover:hover img {
  filter: alpha(opacity=80);
  opacity: 0.8; }

.imghover {
  transition: all .3s; }

.imghover:hover {
  filter: alpha(opacity=80);
  opacity: 0.8; }

input:-internal-autofill-selected {
  background-color: #ffffff; }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(0); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 1.6s;
  opacity: 0; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(30px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(100%); } }
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 30px;
    opacity: 1; }
  100% {
    height: 0;
    top: 50px;
    opacity: 0; } }
@keyframes rotate {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }
.rotate {
  animation: rotate 18s infinite linear; }

/* ########## container ########## */
@media screen and (min-width: 1024px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }
@media screen and (max-width: 767px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }

/* ########## container ########## */
/* ########## index_contents ########## */
@media screen and (min-width: 1024px) {
  .index_contents {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    margin: 0 auto; }
    .index_contents__main {
      position: relative;
      width: 100%;
      height: 100vh;
      background-color: #ffffff; }
      .index_contents__main__catch {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 80%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        z-index: 5; }
        .index_contents__main__catch h1 {
          position: relative;
          width: 100%; }
          .index_contents__main__catch h1 img {
            width: 100%; }
      .index_contents__main__mark {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 560px;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        z-index: 2; }
        .index_contents__main__mark p {
          position: relative;
          width: 100%; }
          .index_contents__main__mark p img {
            width: 100%; }
      .index_contents__main__news {
        position: absolute;
        bottom: -40px;
        left: 9%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: center;
        width: 82%;
        height: 80px;
        background-color: #F4F6F9;
        z-index: 10;
        padding: 0 15px 0 30px;
        border-radius: 6px;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px; }
        .index_contents__main__news__desc {
          position: relative;
          flex: 1;
          height: 80px;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center; }
          .index_contents__main__news__desc h3 {
            color: #0054A7;
            font-size: 1.3rem;
            font-weight: 600;
            padding-right: 30px;
            border-right: 1px solid #E1E8F0; }
          .index_contents__main__news__desc dl {
            padding-left: 30px;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            align-items: center; }
            .index_contents__main__news__desc dl dt {
              color: #0054A7;
              font-size: 1.2rem;
              font-weight: 500;
              letter-spacing: 0.05em; }
            .index_contents__main__news__desc dl dd {
              position: relative;
              flex: 1;
              padding-left: 20px; }
              .index_contents__main__news__desc dl dd a, .index_contents__main__news__desc dl dd a:link a:visited {
                position: relative;
                font-size: 1.5rem;
                letter-spacing: 0.1em;
                font-weight: 500; }
              .index_contents__main__news__desc dl dd a::after {
                position: absolute;
                bottom: -1px;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #0054A7;
                transform: scale(0, 1);
                transform-origin: right top;
                transition: transform .3s; }
              .index_contents__main__news__desc dl dd a:hover {
                color: #0054A7; }
              .index_contents__main__news__desc dl dd a:hover::after {
                transform-origin: left top;
                transform: scale(1, 1); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .index_contents {
    position: relative;
    width: 100%; }
    .index_contents__main {
      position: relative;
      width: 100%;
      height: 100vh;
      background-color: #ffffff; }
      .index_contents__main__catch {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 80%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        z-index: 5; }
        .index_contents__main__catch h1 {
          position: relative;
          width: 100%; }
          .index_contents__main__catch h1 img {
            width: 100%; }
      .index_contents__main__mark {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 60%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        z-index: 2; }
        .index_contents__main__mark p {
          position: relative;
          width: 100%; }
          .index_contents__main__mark p img {
            width: 100%; }
      .index_contents__main__news {
        position: absolute;
        bottom: -45px;
        left: 7%;
        width: 93%;
        background-color: #F4F6F9;
        z-index: 10;
        padding: 25px 25px;
        border-radius: 6px 0 0 6px;
        -webkit-border-radius: 6px 0 0 6px;
        -moz-border-radius: 6px 0 0 6px; }
        .index_contents__main__news__desc {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center; }
          .index_contents__main__news__desc h3 {
            color: #0054A7;
            font-size: 0.9rem;
            font-weight: 600;
            padding-right: 25px; }
          .index_contents__main__news__desc dl {
            flex: 1; }
            .index_contents__main__news__desc dl dt {
              width: 100%;
              color: #0054A7;
              font-size: 1rem;
              font-weight: 500;
              letter-spacing: 0.05em;
              margin-bottom: 3px; }
            .index_contents__main__news__desc dl dd {
              position: relative;
              width: 100%; }
              .index_contents__main__news__desc dl dd a {
                font-size: 1.4rem;
                letter-spacing: 0.1em;
                font-weight: 500; }
        .index_contents__main__news__btn {
          display: none; } }
@media screen and (max-width: 767px) {
  .index_contents {
    position: relative; }
    .index_contents__main {
      position: relative;
      width: 100%;
      height: 100vh;
      background-color: #ffffff; }
      .index_contents__main__catch {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 84%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        z-index: 5; }
        .index_contents__main__catch h1 {
          position: relative;
          width: 100%; }
          .index_contents__main__catch h1 img {
            width: 100%; }
      .index_contents__main__mark {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 60%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        z-index: 2; }
        .index_contents__main__mark p {
          position: relative;
          width: 100%; }
          .index_contents__main__mark p img {
            width: 100%; }
      .index_contents__main__news {
        position: absolute;
        bottom: -44px;
        left: 7%;
        width: 93%;
        background-color: #F4F6F9;
        z-index: 10;
        padding: 16px 25px 16px 20px;
        border-radius: 4px 0 0 4px;
        -webkit-border-radius: 4px 0 0 4px;
        -moz-border-radius: 4px 0 0 4px; }
        .index_contents__main__news__desc {
          position: relative;
          width: 100%;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center; }
          .index_contents__main__news__desc h3 {
            color: #0054A7;
            font-size: 0.9rem;
            font-weight: 600;
            padding-right: 20px; }
          .index_contents__main__news__desc dl {
            flex: 1; }
            .index_contents__main__news__desc dl dt {
              width: 100%;
              color: #0054A7;
              font-size: 0.9rem;
              font-weight: 500;
              letter-spacing: 0.05em;
              line-height: 1.2;
              margin-bottom: 3px; }
            .index_contents__main__news__desc dl dd {
              position: relative;
              width: 100%; }
              .index_contents__main__news__desc dl dd a {
                font-size: 1.2rem;
                letter-spacing: 0.1em;
                font-weight: 500; }
        .index_contents__main__news__btn {
          display: none; } }

/* ########## index_contents ########## */
/* ########## class_style ########## */
@media screen and (min-width: 1024px) {
  .mt_0 {
    margin-top: 0 !important; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mt_0 {
    margin-top: 0 !important; } }
@media screen and (max-width: 767px) {
  .mt_0 {
    margin-top: 0 !important; } }

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

@media screen and (min-width: 1024px) {
  .sp {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .sp {
    display: none; } }

@media screen and (min-width: 1024px) {
  .sticky {
    position: sticky;
    position: -webkit-sticky;
    top: 20px; } }

/* ########## class_style ########## */
/* ########## recaptcha ########## */
.grecaptcha-badge {
  visibility: hidden; }

/* ########## recaptcha ########## */
