@charset "UTF-8";
/*-------------------------------------------
 variable
-------------------------------------------*/
/***  color  ***/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
.blue {
  color: #2d84f2; }

.red {
  color: #FF1100; }

.gray {
  color: #666666; }

.bk-gray {
  background-color: #666666; }

.bk-smoke {
  background-color: #f3f3f3; }

/***  font-size  ***/
/***  screen  ***/
/***  font(NotoSansJP)  ***/
/***  font(NotoSansJP)  ***/
/***  point  ***/
/*-------------------------------------------
 reset
-------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, button, 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,
main {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: baseline; }

ol, ul {
  list-style: none; }

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

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;
  -webkit-appearance: none !important;
  border-radius: 0; }
  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; }

/*-------------------------------------------
 style
-------------------------------------------*/
/***  tag  ***/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 52.5%; } }

body {
  font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
  font-weight: 400;
  color: #333333;
  font-size: 1.6rem;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  line-height: 1; }

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

button {
  background: none;
  border: none;
  padding: 0; }

a {
  color: #333333;
  text-decoration: none;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s; }
  a:hover {
    opacity: 0.6;
    -webkit-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s; }
    @media screen and (max-width: 767px) {
      a:hover {
        opacity: 1.0; } }

h1, h2, h3, h4, h5 {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt"; }

u {
  text-decoration: none; }

p {
  font-size: 1.8rem;
  line-height: 2.0;
  text-align: justify; }
  p a {
    color: #FF1100;
    font-weight: 500; }
  p b {
    font-weight: 700; }

ul li {
  font-size: 1.8rem;
  line-height: 2.0;
  list-style-type: inherit; }
  ul li a {
    color: #FF1100;
    font-weight: 500; }
  ul li b {
    font-weight: 700; }

h5 {
  color: #000000;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3; }
  h5 + p {
    margin-top: 1.0rem; }

@media screen and (max-width: 959px) {
  main {
    padding-top: 7.0rem; } }

article {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8.0rem;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }
  @media screen and (max-width: 767px) {
    article {
      margin-bottom: 6.0rem;
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }

figure {
  margin-top: 2.0rem;
  margin-bottom: 2.0rem; }
  figure img {
    max-width: 100%;
    height: auto; }
  figure figcaption {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    margin-top: 1.0rem; }

figure.narrow {
  padding-left: 5.0rem;
  padding-right: 5.0rem; }
  @media screen and (max-width: 767px) {
    figure.narrow {
      padding-left: 0;
      padding-right: 0; } }

body main .none {
  display: none; }
body main .pb00 {
  padding-bottom: 0; }
body main .pb05 {
  padding-bottom: 0.5rem; }
body main .pb10 {
  padding-bottom: 1.0rem; }
body main .pb15 {
  padding-bottom: 1.5rem; }
body main .pb20 {
  padding-bottom: 2.0rem; }
body main .pb25 {
  padding-bottom: 2.5rem; }
body main .pb30 {
  padding-bottom: 3.0rem; }
body main .pb35 {
  padding-bottom: 3.5rem; }
body main .pb40 {
  padding-bottom: 4.0rem; }
body main .pb45 {
  padding-bottom: 4.5rem; }
body main .pb50 {
  padding-bottom: 5.0rem; }
body main .mt00 {
  margin-top: 0; }
body main .mt05 {
  margin-top: 0.5rem; }
body main .mt10 {
  margin-top: 1.0rem; }
body main .mt15 {
  margin-top: 1.5rem; }
body main .mt20 {
  margin-top: 2.0rem; }
body main .mt25 {
  margin-top: 2.5rem; }
body main .mt30 {
  margin-top: 3.0rem; }
body main .mt35 {
  margin-top: 3.5rem; }
body main .mt40 {
  margin-top: 4.0rem; }
body main .mt45 {
  margin-top: 4.5rem; }
body main .mt50 {
  margin-top: 5.0rem; }
body main .mb00 {
  margin-bottom: 0; }
body main .mb05 {
  margin-bottom: 0.5rem; }
body main .mb10 {
  margin-bottom: 1.0rem; }
body main .mb15 {
  margin-bottom: 1.5rem; }
body main .mb20 {
  margin-bottom: 2.0rem; }
body main .mb25 {
  margin-bottom: 2.5rem; }
body main .mb30 {
  margin-bottom: 3.0rem; }
body main .mb35 {
  margin-bottom: 3.5rem; }
body main .mb40 {
  margin-bottom: 4.0rem; }
body main .mb45 {
  margin-bottom: 4.5rem; }
body main .mb50 {
  margin-bottom: 5.0rem; }

/***  common header  ***/
.bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.75);
  display: none; }

.mask {
  overflow: hidden;
  position: relative;
  height: 100%; }

.wide {
  max-width: 100%;
  width: 100%; }

.button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5.0rem;
  margin-bottom: 10.0rem; }
  .button a {
    background-color: #FF1100;
    color: #ffffff;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.1rem;
    display: block;
    padding: 2.5rem 6.5rem;
    border-radius: 0.6rem;
    -webkit-box-shadow: 8px 8px 0 #dddddd;
            box-shadow: 8px 8px 0 #dddddd; }
    @media screen and (max-width: 767px) {
      .button a {
        width: 100%;
        text-align: center;
        padding: 1.5rem; } }

.txt-p b {
  color: #2d84f2;
  font-weight: 500; }

.header-top {
  background: #ffffff;
  max-width: 1040px;
  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;
  padding-left: 2.0rem;
  padding-right: 2.0rem;
  margin: 1.5rem auto 2.0rem; }
  @media screen and (max-width: 959px) {
    .header-top {
      height: 7.0rem;
      margin-top: 0;
      margin-bottom: 0;
      border-bottom: 1px solid #f3f3f3;
      width: 100%;
      position: fixed;
      top: 0;
      z-index: 999; } }
  @media screen and (max-width: 767px) {
    .header-top {
      padding-right: 0; } }
  .header-top a {
    display: block; }
  .header-top .left {
    text-align: center;
    width: 20.0rem; }
    @media screen and (max-width: 959px) {
      .header-top .left {
        width: 22.0rem; } }
    @media screen and (max-width: 767px) {
      .header-top .left {
        width: 26.0rem; } }
    .header-top .left img {
      width: 100%;
      height: auto; }
      @media screen and (max-width: 959px) {
        .header-top .left img.pc {
          display: none; } }
      .header-top .left img.sp {
        display: none; }
        @media screen and (max-width: 959px) {
          .header-top .left img.sp {
            display: block; } }
  .header-top .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (max-width: 959px) {
      .header-top .right {
        height: 100%;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
    .header-top .right > div {
      margin-left: 2.5rem; }
      .header-top .right > div:nth-of-type(1) {
        margin-left: 0; }
    .header-top .right .header-phone {
      text-align: center;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 959px) {
        .header-top .right .header-phone {
          display: none; } }
      .header-top .right .header-phone .phone {
        font-size: 2.6rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 2.2rem;
        margin-bottom: 0.5rem;
        position: relative; }
        .header-top .right .header-phone .phone::before {
          content: "";
          background-image: url(../img/common/icon_phone_01.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom;
          width: 1.8rem;
          height: 1.8rem;
          position: absolute;
          top: 0.8rem;
          left: 0; }
      .header-top .right .header-phone .phone-time {
        font-size: 1.2rem;
        padding-left: 2.2rem; }
    .header-top .right .header-support {
      text-align: center; }
      @media screen and (max-width: 959px) {
        .header-top .right .header-support {
          display: none; } }
      .header-top .right .header-support a {
        background-color: #FF1100;
        color: #ffffff;
        font-size: 1.6rem;
        font-weight: 700;
        border-radius: 0.6rem;
        padding: 1.3rem 4.5rem 1.3rem 2.0rem;
        position: relative; }
        .header-top .right .header-support a::after {
          content: '';
          width: 0.6rem;
          height: 0.6rem;
          border-top: solid 3px #ffffff;
          border-right: solid 3px #ffffff;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          position: absolute;
          top: 50%;
          right: 2.0rem;
          margin-top: -0.2rem; }
    .header-top .right .icon-menu-wrap {
      display: none; }
      @media screen and (max-width: 959px) {
        .header-top .right .icon-menu-wrap {
          background: #ffd700;
          width: 5.4rem;
          height: 5.0rem;
          padding: 1.0rem;
          border-radius: 0.2rem;
          display: block;
          cursor: pointer;
          z-index: 999; } }
      @media screen and (max-width: 767px) {
        .header-top .right .icon-menu-wrap {
          width: 7.0rem;
          height: 100%;
          border-radius: 0; } }
      .header-top .right .icon-menu-wrap .menu {
        position: relative;
        width: 100%;
        height: 100%; }
        .header-top .right .icon-menu-wrap .menu.open span.line-1 {
          bottom: 0;
          margin: auto;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
        .header-top .right .icon-menu-wrap .menu.open span.line-2 {
          opacity: 0.0;
          left: 6.0rem; }
        .header-top .right .icon-menu-wrap .menu.open span.line-3 {
          top: 0;
          margin: auto;
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .header-top .right .icon-menu-wrap .menu span {
          background: #ffffff;
          display: block;
          width: 100%;
          height: 0.4rem;
          position: absolute;
          right: 0;
          -webkit-transition: all ease-out .3s;
          transition: all ease-out .3s; }
          .header-top .right .icon-menu-wrap .menu span.line-1 {
            top: 0.2rem; }
          .header-top .right .icon-menu-wrap .menu span.line-2 {
            opacity: 1.0;
            top: calc(50% - 0.2rem); }
          .header-top .right .icon-menu-wrap .menu span.line-3 {
            bottom: 0.2rem; }

.header-bottom {
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 959px) {
    .header-bottom {
      display: none; } }
  @media screen and (max-width: 959px) {
    .header-bottom {
      background-color: #ffffff;
      width: 100%;
      position: fixed;
      z-index: 999; } }
  .header-bottom ul.nav-top {
    max-width: 1040px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media screen and (max-width: 959px) {
      .header-bottom ul.nav-top {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding-left: 0;
        padding-right: 0; } }
    .header-bottom ul.nav-top li {
      line-height: 1;
      width: 20%;
      position: relative; }
      @media screen and (max-width: 959px) {
        .header-bottom ul.nav-top li {
          width: 100%; } }
      .header-bottom ul.nav-top li::before {
        content: "";
        border-right: 1px dashed #cccccc;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li::before {
            border-right: none; } }
      .header-bottom ul.nav-top li:nth-of-type(1), .header-bottom ul.nav-top li:nth-of-type(2) {
        width: 15%; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li:nth-of-type(1), .header-bottom ul.nav-top li:nth-of-type(2) {
            width: 100%; } }
      .header-bottom ul.nav-top li:nth-last-of-type(1) {
        width: 15%; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li:nth-last-of-type(1) {
            width: 100%; } }
        .header-bottom ul.nav-top li:nth-last-of-type(1)::after {
          content: "";
          border-right: 1px dashed #cccccc;
          height: 100%;
          position: absolute;
          top: 0;
          right: 0; }
          @media screen and (max-width: 959px) {
            .header-bottom ul.nav-top li:nth-last-of-type(1)::after {
              border-right: none; } }
      .header-bottom ul.nav-top li a {
        color: #261a0c;
        font-size: 1.6rem;
        text-align: center;
        display: block;
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
        position: relative; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li a {
            color: #58B137;
            font-weight: 500;
            text-align: left;
            padding: 2.0rem;
            border-bottom: 1px dashed #cccccc; }
            .header-bottom ul.nav-top li a::after {
              content: '';
              width: 1.0rem;
              height: 1.0rem;
              border-top: solid 2px #58B137;
              border-right: solid 2px #58B137;
              -webkit-transform: rotate(45deg);
                      transform: rotate(45deg);
              position: absolute;
              top: calc(50% - 0.5rem);
              right: 1.5rem; } }
  .header-bottom .support-apply {
    display: none; }
    @media screen and (max-width: 959px) {
      .header-bottom .support-apply {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        padding-left: 2.0rem;
        padding-right: 2.0rem; } }
    .header-bottom .support-apply .button {
      width: 100%;
      margin-top: 2.0rem;
      margin-bottom: 2.0rem; }
      .header-bottom .support-apply .button a {
        font-size: 2rem;
        font-weight: 500;
        width: 100%;
        -webkit-box-shadow: none;
                box-shadow: none; }
  .header-bottom .exit-wrap {
    display: none;
    height: 2000px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (max-width: 959px) {
      .header-bottom .exit-wrap {
        padding-right: 2.0rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    .header-bottom .exit-wrap .exit {
      background: #999999;
      color: #ffffff;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 2.0rem;
      border-radius: 0.6rem;
      margin-bottom: 12.0rem;
      cursor: pointer; }
      .header-bottom .exit-wrap .exit span {
        font-weight: 500;
        font-size: 2.4rem;
        padding-left: 0.5rem; }

/***  footer  ***/
footer {
  background-color: #d6f5e3;
  width: 100%;
  padding-top: 5.0rem;
  padding-bottom: 5.0rem;
  margin-top: 20.0rem; }
  @media screen and (max-width: 767px) {
    footer {
      margin-top: 15.0rem; } }
  footer .box-wrap {
    max-width: 1040px;
    width: 100%;
    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;
    padding-left: 7.0rem;
    padding-right: 7.0rem;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 767px) {
      footer .box-wrap {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    footer .box-wrap .box-left {
      text-align: center;
      padding: 2.0rem 5.0rem 2.0rem 2.0rem; }
      @media screen and (max-width: 767px) {
        footer .box-wrap .box-left {
          width: 50%;
          padding: 0 1.0rem 0 0; } }
    footer .box-wrap .box-right {
      text-align: center;
      padding: 2.0rem 2.0rem 2.0rem 5.0rem; }
      @media screen and (max-width: 767px) {
        footer .box-wrap .box-right {
          width: 50%;
          padding: 0 0 0 1.0rem; } }
    footer .box-wrap figure {
      margin-bottom: 2.0rem; }
      @media screen and (max-width: 767px) {
        footer .box-wrap figure {
          margin-top: 0;
          margin-bottom: 1.0rem; } }
      footer .box-wrap figure img {
        height: 8.0rem;
        width: auto;
        -o-object-fit: contain;
           object-fit: contain; }
    footer .box-wrap h6 {
      font-size: 1.8rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.3;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 767px) {
        footer .box-wrap h6 {
          font-size: 1.6rem; } }
      @media screen and (max-width: 767px) {
        footer .box-wrap h6 span {
          display: block; } }
    footer .box-wrap p {
      text-align: center;
      line-height: 1.3;
      margin-top: 0;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        footer .box-wrap p {
          font-size: 1.6rem; } }
      footer .box-wrap p b {
        font-weight: 500; }

small {
  background-color: #58B137;
  color: #ffffff;
  font-size: 1.6rem;
  text-align: center;
  display: block;
  padding: 2.0rem; }

/***  common  ***/
.heading {
  color: #2d84f2;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.3;
  letter-spacing: 0.1rem;
  text-align: left;
  margin-top: 0;
  margin-bottom: 4.0rem; }
  @media screen and (max-width: 767px) {
    .heading {
      font-size: 3rem; } }

.sub-heading {
  background-color: #58B137;
  color: #ffffff;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.3;
  letter-spacing: 0.1rem;
  text-align: left;
  padding: 1.5rem 2.5rem;
  border-radius: 0.6rem;
  margin-top: 3.0rem;
  margin-bottom: 2.0rem; }
  .sub-heading u {
    text-decoration: underline; }
  @media screen and (max-width: 767px) {
    .sub-heading {
      font-size: 2.2rem; } }

.sub-title {
  color: #333333;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.3;
  padding: 1.0rem 1.0rem 1.0rem 3.5rem;
  margin-top: 3.0rem;
  margin-bottom: 2.5rem;
  position: relative; }
  .sub-title::before {
    content: "";
    background-color: #58B137;
    width: 8px;
    height: 100%;
    border-radius: 0.6rem;
    position: absolute;
    top: 0;
    left: 0; }

.cap {
  background-color: #2d84f2;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1rem;
  text-align: left;
  display: inline-block;
  padding: 1.0rem 2.5rem;
  margin-top: 2.0rem;
  margin-bottom: 2.0rem;
  border-radius: 10rem; }
  @media screen and (max-width: 767px) {
    .cap {
      font-size: 1.8rem; } }

.jump {
  padding-right: 2.0rem;
  position: relative; }
  .jump::after {
    content: '';
    background: url(../img/common/icon_jump_01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position-x: 1rem;
    width: 2.6rem;
    height: 1.6rem;
    position: absolute;
    bottom: 0.4rem; }

.page-top {
  background: #58B137;
  height: 6.0rem;
  width: 6.0rem;
  padding: 1.5rem 1.8rem 2.0rem;
  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;
  border-radius: 6.0rem;
  position: fixed;
  bottom: 2.0rem;
  right: 2.0rem;
  cursor: pointer;
  z-index: 998;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s; }
  .page-top:hover {
    opacity: 0.6;
    -webkit-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s; }
    @media screen and (max-width: 767px) {
      .page-top:hover {
        opacity: 1.0; } }
  .page-top img {
    width: 100%;
    height: auto; }

.anchor {
  opacity: 0;
  display: block;
  margin-top: -8.0rem;
  padding-top: 8.0rem;
  z-index: 1;
  position: relative; }
  @media screen and (max-width: 959px) {
    .anchor {
      margin-top: -10.0rem;
      padding-top: 10.0rem; } }

/***  top  ***/
.pr {
  background: url("../img/page/home_pr_02.jpg");
  background-size: cover;
  background-position: center;
  padding-top: 7.0rem;
  padding-bottom: 10.0rem;
  margin-bottom: 15.0rem; }
  @media screen and (max-width: 959px) {
    .pr {
      padding-bottom: 7.0rem; } }
  @media screen and (max-width: 767px) {
    .pr {
      padding-top: 3.0rem;
      padding-bottom: 3.0rem;
      margin-bottom: 6.0rem; } }
  .pr .pr-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    max-width: 1040px;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 959px) {
      .pr .pr-area {
        padding-left: 0;
        padding-right: 0;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .pr .pr-area .pr-in {
      width: 60.0rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .pr .pr-area .pr-in .head {
        color: #ffd700;
        font-size: 5.8rem;
        font-weight: 900;
        line-height: 1.3;
        text-align: center;
        text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.2);
        width: 100%;
        margin-bottom: 3.5rem;
        padding-top: 4.0rem;
        position: relative; }
        @media screen and (max-width: 959px) {
          .pr .pr-area .pr-in .head {
            padding-top: 2.0rem;
            padding-left: 1.0rem;
            padding-right: 1.0rem; } }
        .pr .pr-area .pr-in .head::before {
          content: '';
          width: 4.0rem;
          height: 4.0rem;
          border-top: solid 1px #ffffff;
          border-right: solid 1px #ffffff;
          -webkit-transform: rotate(270deg);
                  transform: rotate(270deg);
          position: absolute;
          top: 0;
          left: 0; }
          @media screen and (max-width: 959px) {
            .pr .pr-area .pr-in .head::before {
              opacity: 0.5; } }
        .pr .pr-area .pr-in .head::after {
          content: '';
          width: 4.0rem;
          height: 4.0rem;
          border-top: solid 1px #ffffff;
          border-right: solid 1px #ffffff;
          -webkit-transform: rotate(0);
                  transform: rotate(0);
          position: absolute;
          top: 0;
          right: 0; }
          @media screen and (max-width: 959px) {
            .pr .pr-area .pr-in .head::after {
              opacity: 0.5; } }
      .pr .pr-area .pr-in .sub-head {
        color: #ffffff;
        font-size: 3rem;
        font-weight: 500;
        text-align: center;
        line-height: 1.3;
        width: 100%;
        margin-bottom: 2.5rem;
        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;
        position: relative; }
        @media screen and (max-width: 959px) {
          .pr .pr-area .pr-in .sub-head {
            padding-left: 1.0rem;
            padding-right: 1.0rem; } }
        @media screen and (max-width: 767px) {
          .pr .pr-area .pr-in .sub-head {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        .pr .pr-area .pr-in .sub-head img {
          margin-right: 1.0rem; }
          @media screen and (max-width: 767px) {
            .pr .pr-area .pr-in .sub-head img {
              margin-right: 0;
              margin-bottom: 1.0rem; } }
      .pr .pr-area .pr-in .desc {
        color: #ffffff;
        font-size: 2rem;
        font-weight: 400;
        line-height: 2.2;
        text-align: center;
        margin-top: 0;
        padding-bottom: 5.0rem;
        width: 100%;
        position: relative; }
        @media screen and (max-width: 959px) {
          .pr .pr-area .pr-in .desc {
            padding-left: 1.0rem;
            padding-right: 1.0rem; } }
        @media screen and (max-width: 767px) {
          .pr .pr-area .pr-in .desc {
            padding-bottom: 4.0rem; } }
        .pr .pr-area .pr-in .desc u {
          display: block; }
          @media screen and (max-width: 767px) {
            .pr .pr-area .pr-in .desc u {
              display: inline; } }
        .pr .pr-area .pr-in .desc::before {
          content: '';
          width: 4.0rem;
          height: 4.0rem;
          border-top: solid 1px #ffffff;
          border-right: solid 1px #ffffff;
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg);
          position: absolute;
          bottom: 0;
          left: 0; }
          @media screen and (max-width: 959px) {
            .pr .pr-area .pr-in .desc::before {
              opacity: 0.5; } }
        .pr .pr-area .pr-in .desc::after {
          content: '';
          width: 4.0rem;
          height: 4.0rem;
          border-top: solid 1px #ffffff;
          border-right: solid 1px #ffffff;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          position: absolute;
          bottom: 0;
          right: 0; }
          @media screen and (max-width: 959px) {
            .pr .pr-area .pr-in .desc::after {
              opacity: 0.5; } }
  .pr .chara {
    width: 1040px;
    margin: auto;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    position: relative; }
    @media screen and (max-width: 959px) {
      .pr .chara {
        display: none; } }
    .pr .chara img {
      width: 45.0rem;
      position: absolute;
      bottom: -18.0rem;
      left: -2.0rem; }

.balloon-wrap-q {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 4.0rem;
  margin-bottom: 3.0rem; }
  .balloon-wrap-q figure {
    width: 23.0rem;
    height: auto;
    padding-right: 5.0rem; }
    @media screen and (max-width: 767px) {
      .balloon-wrap-q figure {
        display: none; } }
  .balloon-wrap-q h2 {
    color: #2d84f2;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
    padding: 3.0rem 7.0rem;
    width: calc(100% - 23.0rem);
    max-width: 100%;
    border: 1px solid #666666;
    border-radius: 1.5rem;
    position: relative; }
    @media screen and (max-width: 959px) {
      .balloon-wrap-q h2 {
        padding: 3.0rem; } }
    @media screen and (max-width: 767px) {
      .balloon-wrap-q h2 {
        font-size: 3rem;
        padding: 2.0rem;
        width: 100%; } }
    .balloon-wrap-q h2::before {
      content: "";
      position: absolute;
      top: 30%;
      left: 0;
      margin-left: -60px;
      border: 30px solid transparent;
      border-right: 30px solid #666666;
      z-index: 8; }
      @media screen and (max-width: 767px) {
        .balloon-wrap-q h2::before {
          display: none; } }
    .balloon-wrap-q h2::after {
      content: "";
      position: absolute;
      top: 30%;
      left: 0;
      margin-left: -59px;
      border: 30px solid transparent;
      border-right: 30px solid #ffffff;
      z-index: 9; }
      @media screen and (max-width: 767px) {
        .balloon-wrap-q h2::after {
          display: none; } }

.balloon-wrap-a {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  margin-bottom: 4.0rem; }
  .balloon-wrap-a figure {
    width: 26.0rem;
    height: auto;
    padding-left: 3.0rem; }
    @media screen and (max-width: 767px) {
      .balloon-wrap-a figure {
        display: none; } }
  .balloon-wrap-a p {
    padding: 3.0rem 3.5rem;
    width: calc(100% - 26.0rem);
    max-width: 100%;
    border: 1px solid #666666;
    border-radius: 1.5rem;
    margin: 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .balloon-wrap-a p {
        background-color: #FDFDF2;
        width: 100%;
        padding: 2.0rem; } }
    .balloon-wrap-a p b {
      color: #2d84f2;
      font-weight: 500; }
    .balloon-wrap-a p::before {
      content: "";
      position: absolute;
      bottom: 30%;
      right: 0;
      margin-right: -60px;
      border: 30px solid transparent;
      border-left: 30px solid #666666;
      z-index: 8; }
      @media screen and (max-width: 767px) {
        .balloon-wrap-a p::before {
          margin-right: 0;
          margin: auto;
          border: 20px solid transparent;
          border-bottom: 20px solid #666666;
          right: calc(50% - 20px);
          bottom: 100%; } }
    .balloon-wrap-a p::after {
      content: "";
      position: absolute;
      bottom: 30%;
      right: 0;
      margin-right: -59px;
      border: 30px solid transparent;
      border-left: 30px solid #ffffff;
      z-index: 9; }
      @media screen and (max-width: 767px) {
        .balloon-wrap-a p::after {
          margin-right: 0;
          margin: auto;
          border: 20px solid transparent;
          border-bottom: 20px solid #ffffff;
          right: calc(50% - 20px);
          bottom: calc(100% - 1px); } }

.comb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media screen and (max-width: 767px) {
    .comb {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .comb figure {
    width: 21.0rem; }
  .comb p {
    width: calc(100% - 21.0rem);
    padding-left: 4.0rem;
    margin: 0; }
    @media screen and (max-width: 767px) {
      .comb p {
        width: 100%;
        padding-left: 0; } }

.case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 3.0rem; }
  @media screen and (max-width: 767px) {
    .case {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-bottom: 1.0rem; } }
  .case figure {
    width: 670px;
    margin: 0; }
    @media screen and (max-width: 959px) {
      .case figure {
        width: 60%; } }
    @media screen and (max-width: 767px) {
      .case figure {
        width: 100%;
        height: 200px; } }
  .case .summary {
    width: calc(100% - 670px);
    padding-left: 3.0rem; }
    @media screen and (max-width: 959px) {
      .case .summary {
        width: 40%; } }
    @media screen and (max-width: 767px) {
      .case .summary {
        width: 100%;
        padding-left: 0; } }
  .case .cap {
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.0rem 2.5rem;
    margin-top: 1.0rem;
    margin-bottom: 2.0rem; }
    @media screen and (max-width: 767px) {
      .case .cap {
        margin-top: 2.0rem;
        margin-bottom: 1.0rem; } }
  .case dl.list {
    width: 100%; }
    .case dl.list dt {
      background-color: #f0f8ff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.3;
      padding: 1.0rem 1.5rem; }
    .case dl.list dd {
      font-size: 1.6rem;
      line-height: 1.3;
      padding: 1.0rem 1.5rem; }

.movie-wrap {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.0rem; }
  .movie-wrap .movie {
    max-width: 560px;
    width: 100%;
    border-radius: 0.6rem; }
  .movie-wrap .movie-in {
    width: 100%;
    padding-top: 56.25%;
    position: relative; }
    .movie-wrap .movie-in iframe {
      width: 100%;
      height: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0; }
  .movie-wrap p {
    font-weight: 700;
    text-align: center;
    margin: 0; }

ul.list {
  list-style-type: disc;
  padding-left: 3.0rem;
  margin-top: 2.0rem;
  margin-bottom: 2.0rem; }

ol.list {
  list-style-type: decimal;
  padding-left: 3.0rem;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }

.risk-list {
  width: 100%;
  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-bottom: 3.0rem; }
  .risk-list .risk {
    background-color: #f0f8ff;
    width: calc(50% - 1.0rem);
    padding: 3.0rem 1.0rem;
    border-radius: 0.6rem; }
    .risk-list .risk:nth-of-type(odd) {
      margin-right: 1.0rem; }
      @media screen and (max-width: 767px) {
        .risk-list .risk:nth-of-type(odd) {
          margin-right: 0.5rem; } }
      .risk-list .risk:nth-of-type(odd) .img-title {
        color: #432F2F; }
    .risk-list .risk:nth-of-type(even) {
      margin-left: 1.0rem; }
      @media screen and (max-width: 767px) {
        .risk-list .risk:nth-of-type(even) {
          margin-left: 0.5rem; } }
      .risk-list .risk:nth-of-type(even) .img-title {
        color: #003366; }
    .risk-list .risk .img-title {
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1.3;
      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) {
        .risk-list .risk .img-title {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      .risk-list .risk .img-title img {
        margin-right: 2.0rem; }
        @media screen and (max-width: 767px) {
          .risk-list .risk .img-title img {
            margin-right: 0;
            margin-bottom: 1.0rem; } }
    .risk-list .risk p {
      font-weight: 500;
      text-align: center;
      line-height: 1.6;
      margin: 1.0rem 0 0; }
      @media screen and (max-width: 767px) {
        .risk-list .risk p {
          margin-top: 0.5rem; } }

.qa-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .qa-list li {
    border: 1px solid #cccccc;
    border-radius: 0.6rem;
    padding: 0.5rem 2.0rem;
    margin-bottom: 2.0rem; }
    .qa-list li .qa {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      width: 100%;
      padding: 1.5rem; }
      @media screen and (max-width: 767px) {
        .qa-list li .qa {
          padding: 1.5rem 0; } }
      .qa-list li .qa:nth-of-type(odd) {
        border-bottom: 1px dashed #cccccc; }
        .qa-list li .qa:nth-of-type(odd) span {
          background-color: #FF1100; }
        .qa-list li .qa:nth-of-type(odd) p {
          font-weight: 500; }
      .qa-list li .qa:nth-of-type(even) span {
        background-color: #2d84f2; }
      .qa-list li .qa span {
        color: #ffffff;
        font-size: 2rem;
        line-height: 2.0;
        width: 3.2rem;
        height: 3.0rem;
        border-radius: 10.0rem;
        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; }
      .qa-list li .qa p {
        font-size: 1.8rem;
        line-height: 2.0;
        width: calc(100% - 3.2rem);
        padding-left: 2.0rem; }
        .qa-list li .qa p b {
          color: #2d84f2;
          font-weight: 500; }
      .qa-list li .qa > div {
        width: calc(100% - 3.2rem); }
      .qa-list li .qa ol.list {
        padding-left: 4.0rem; }
        .qa-list li .qa ol.list li {
          border: none;
          margin: 0;
          padding: 0 0 0 0.5rem; }
          .qa-list li .qa ol.list li b {
            color: #2d84f2;
            font-weight: 500; }

.qa-word {
  background-color: #FDFDF2;
  padding: 3.0rem 4.0rem;
  border: 1px solid #cccccc;
  border-radius: 0.6rem;
  margin-bottom: 5.0rem; }
  @media screen and (max-width: 767px) {
    .qa-word {
      padding: 2.5rem 2.0rem; } }
  .qa-word h6 {
    font-size: 1.8rem;
    line-height: 1.3; }
  .qa-word p {
    margin-top: 1.0rem;
    margin-bottom: 0; }
    .qa-word p b {
      color: #2d84f2;
      font-weight: 500; }

/*  */
