@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box; }

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

body {
  line-height: 1; }

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

nav ul,
li {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

a {
  text-decoration: none; }

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%; }

body {
  width: 100%;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 1em;
  line-height: 1.5;
  background-color: #ffc070;
  background-image: linear-gradient(-90deg, #ffd093 50%, transparent 50%);
  background-size: 20px 20px; }

.header {
  width: 100%; }
  .header__top-text {
    width: 100%;
    background: -moz-linear-gradient(top, #fe5400, #ffaf49);
    background: -webkit-linear-gradient(top, #fe5400, #ffaf49);
    background: linear-gradient(to bottom, #fe5400, #ffaf49); }
    .header__top-text--inner {
      width: 100%; }
      @media screen and (min-width: 961px) {
        .header__top-text--inner {
          margin: 0 auto;
          width: 960px; } }
      .header__top-text--inner > img {
        width: 100%; }
  .header__main-area {
    margin-top: 0;
    width: 100%;
    height: 0; }
    @media screen and (max-width: 640px) {
      .header__main-area {
        padding-top: calc((380/640)*100%);
        padding-bottom: calc((295/640)*100%);
        background: url(../img/sp/header_bg.png) center top no-repeat;
        background-size: 100% auto; } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .header__main-area {
        padding-top: calc((480/960)*100%);
        padding-bottom: calc((325/960)*100%);
        background: url(../img/tb/header_bg.png) center top no-repeat;
        background-size: 100% auto; } }
    @media screen and (min-width: 961px) {
      .header__main-area {
        padding-top: 325px;
        height: 620px;
        background: url(../img/pc/header_bg.png) center top no-repeat; } }
    .header__main-area--inner {
      width: 100%; }
      @media screen and (min-width: 961px) {
        .header__main-area--inner {
          margin: 0 auto;
          width: 960px; } }
      .header__main-area--inner .term {
        margin: 0 auto;
        width: 100%;
        height: 0;
        font-weight: bolder;
        font-family: "M PLUS 1p";
        color: #fff;
        text-align: center; }
        @media screen and (max-width: 640px) {
          .header__main-area--inner .term {
            margin-top: calc((10/640)*100%);
            padding-top: calc((23/640)*100%);
            padding-bottom: calc((88/640)*100%);
            background: url(../img/sp/header_term.png) center top no-repeat;
            background-size: 100% auto;
            font-size: 4.5vw; } }
        @media screen and (min-width: 640px) and (max-width: 960px) {
          .header__main-area--inner .term {
            margin-top: calc((20/960)*100%);
            padding-top: calc((14/960)*100%);
            padding-bottom: calc((88/960)*100%);
            background: url(../img/pc/header_term.png) center top no-repeat;
            background-size: 100% auto;
            font-size: 4.2vw; } }
        @media screen and (min-width: 961px) {
          .header__main-area--inner .term {
            margin-top: 0;
            width: 938px;
            height: 88px;
            background: url(../img/pc/header_term.png) center top no-repeat;
            font-size: 35px;
            line-height: 88px; } }

.footer {
  position: relative;
  width: 100%;
  background: -moz-linear-gradient(top, #ffaf49, #fe5400);
  background: -webkit-linear-gradient(top, #ffaf49, #fe5400);
  background: linear-gradient(to bottom, #ffaf49, #fe5400); }
  .footer__inner {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 640px) {
      .footer__inner {
        padding: calc((30/640)*100%) 0; } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .footer__inner {
        padding: calc((30/960)*100%) 0; } }
    @media screen and (min-width: 961px) {
      .footer__inner {
        margin: 0 auto;
        width: 960px;
        padding: 30px 0; } }
    .footer__inner > p {
      color: #fff; }
@media screen and (max-width: 640px) and (min-width: 640px) and (max-width: 960px) {
  .footer__inner > p {
    margin-top: calc((10/640)*100%);
    font-size: 1vw; } }

      @media screen and (min-width: 640px) and (max-width: 960px) {
        .footer__inner > p {
          margin-top: calc((10/960)*100%);
          font-size: 1vw; } }
      @media screen and (min-width: 961px) {
        .footer__inner > p {
          margin-top: 10px;
          font-size: 13px; } }
    @media screen and (max-width: 640px) {
      .footer__inner .banner {
        width: 80%; } }

.contents {
  width: 100%; }
  .contents__inner {
    width: 100%; }
    @media screen and (min-width: 961px) {
      .contents__inner {
        margin: 0 auto;
        width: 960px; } }

.contents:last-of-type {
  padding-bottom: 50px; }

.frame-box {
  margin: 0 auto 25px;
  border: 3px solid #ff8db4;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 8px #9b3f12; }
  @media screen and (max-width: 640px) {
    .frame-box {
      padding: calc((35/610)*100%) calc((25/610)*100%) calc((45/610)*100%);
      width: calc((610/640)*100%);
      font-size: 3.9vw; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    .frame-box {
      padding: calc((30/900)*100%) calc((30/900)*100%) calc((40/900)*100%);
      width: calc((900/960)*100%);
      font-size: 2.5vw; } }
  @media screen and (min-width: 961px) {
    .frame-box {
      padding: 30px 30px 40px;
      width: 900px;
      font-size: 23px; } }
  .frame-box__detail {
    position: relative;
    margin: 0 auto;
    width: 100%; }
    @media screen and (max-width: 640px) {
      .frame-box__detail {
        padding-top: calc((10/610)*100%); } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .frame-box__detail {
        padding-top: calc((15/840)*100%);
        width: calc((780/840)*100%); } }
    @media screen and (min-width: 961px) {
      .frame-box__detail {
        width: 780px; } }
    .frame-box__detail--list {
      padding-left: 1em; }
      @media screen and (max-width: 640px) {
        .frame-box__detail--list > li {
          margin-top: 2%;
          margin-bottom: 2%; } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box__detail--list > li {
          margin-top: 2%;
          margin-bottom: 2%; } }
      @media screen and (min-width: 961px) {
        .frame-box__detail--list > li {
          margin: 15px 0; } }
    .frame-box__detail--text {
      margin: 10px 0; }
    .frame-box__detail--img01 {
      float: right;
      shape-outside: url(../img/replace/sec01_bg_pc.png); }
      @media screen and (max-width: 640px) {
        .frame-box__detail--img01 {
          width: 60%;
          shape-margin: calc((15/610)*100%);
          shape-outside: url(../img/replace/sec01_bg_sp.png); } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box__detail--img01 {
          width: 65%;
          shape-margin: calc((15/900)*100%); } }
      @media screen and (min-width: 961px) {
        .frame-box__detail--img01 {
          width: 424px;
          shape-margin: 15px; } }
    .frame-box__detail--img02 {
      float: right;
      shape-outside: url(../img/sec02_bg1.png); }
      @media screen and (max-width: 640px) {
        .frame-box__detail--img02 {
          width: 35%;
          shape-margin: calc((15/610)*100%); } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box__detail--img02 {
          width: 30%;
          shape-margin: calc((15/900)*100%); } }
      @media screen and (min-width: 961px) {
        .frame-box__detail--img02 {
          width: 235px;
          shape-margin: 15px; } }
    .frame-box__detail--img03 {
      float: right;
      shape-outside: url(../img/sec02_bg2.png); }
      @media screen and (max-width: 640px) {
        .frame-box__detail--img03 {
          width: 38%;
          shape-margin: calc((15/610)*100%); } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box__detail--img03 {
          width: 22%;
          shape-margin: calc((15/900)*100%); } }
      @media screen and (min-width: 961px) {
        .frame-box__detail--img03 {
          width: 167px;
          shape-margin: 10px; } }
    .frame-box__detail--img04 {
      float: left;
      shape-outside: url(../img/sec03_bg.png); }
      @media screen and (max-width: 640px) {
        .frame-box__detail--img04 {
          width: 45%;
          shape-margin: calc((25/610)*100%); } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box__detail--img04 {
          width: 40%;
          shape-margin: calc((25/900)*100%); } }
      @media screen and (min-width: 961px) {
        .frame-box__detail--img04 {
          width: 270px;
          shape-margin: 25px; } }
  .frame-box__attention {
    font-weight: bold; }
    @media screen and (max-width: 640px) {
      .frame-box__attention {
        margin-top: calc((25/610)*100%);
        padding-top: calc((20/610)*100%);
        font-size: 3.7vw; } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .frame-box__attention {
        margin-top: calc((25/900)*100%);
        padding-top: calc((20/900)*100%);
        font-size: 2.2vw; } }
    @media screen and (min-width: 961px) {
      .frame-box__attention {
        margin-top: 25px;
        padding-top: 20px;
        font-size: 18px; } }
    .frame-box__attention--title {
      color: #ff6000;
      font-weight: bold; }
      @media screen and (max-width: 640px) {
        .frame-box__attention--title {
          margin-bottom: calc((5/610)*100%);
          font-size: 4.2vw; } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box__attention--title {
          margin-bottom: calc((5/900)*100%);
          font-size: 2.5vw; } }
      @media screen and (min-width: 961px) {
        .frame-box__attention--title {
          margin-bottom: 5px;
          font-size: 20px; } }
  .frame-box__image {
    display: flex;
    width: 100%;
    text-align: center;
    clear: both; }
    @media screen and (max-width: 640px) {
      .frame-box__image {
        display: block;
        padding-top: calc((30/610)*100%); } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .frame-box__image {
        margin-top: calc((30/900)*100%); } }
    @media screen and (min-width: 961px) {
      .frame-box__image {
        margin-top: 30px; } }
  .frame-box .img-block {
    background: -moz-linear-gradient(top, #ffdf47, #ff8a00);
    background: -webkit-linear-gradient(top, #ffdf47, #ff8a00);
    background: linear-gradient(to bottom, #ffdf47, #ff8a00);
    border-radius: 10px; }
    @media screen and (max-width: 640px) {
      .frame-box .img-block {
        margin: 3% auto;
        padding: 2% 0;
        width: 90%; } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .frame-box .img-block {
        margin: 0 0.5%;
        padding: 2% 0;
        width: calc(100%/3); } }
    @media screen and (min-width: 961px) {
      .frame-box .img-block {
        margin: 0 5px;
        padding: 15px 0;
        width: calc(100%/3); } }
    .frame-box .img-block > img {
      display: block;
      margin: 0 auto;
      width: 90%; }
    .frame-box .img-block > p {
      margin: 3% 5%;
      color: #fff;
      text-align: left; }
      @media screen and (max-width: 640px) {
        .frame-box .img-block > p {
          font-size: 3.8vw; } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box .img-block > p {
          font-size: 2.2vw; } }
      @media screen and (min-width: 961px) {
        .frame-box .img-block > p {
          margin: 15px 20px 0;
          font-size: 18px; } }
    .frame-box .img-block .image-title {
      display: block;
      text-align: center;
      color: #9c3802;
      font-weight: bold;
      font-family: "M PLUS 1p";
      background-color: #ffc070; }
      @media screen and (max-width: 640px) {
        .frame-box .img-block .image-title {
          margin-bottom: 2.5%; } }
      @media screen and (min-width: 640px) and (max-width: 960px) {
        .frame-box .img-block .image-title {
          margin-bottom: 2.5%; } }
      @media screen and (min-width: 961px) {
        .frame-box .img-block .image-title {
          margin-bottom: 10px; } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .frame-box .img-block .double-line {
        padding-bottom: calc((60/900)*100%);
        padding-top: 7%; } }
    @media screen and (min-width: 961px) {
      .frame-box .img-block .double-line {
        line-height: 55px; } }

.button {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  background: -moz-linear-gradient(top, #ffafc0, #fd3e72);
  background: -webkit-linear-gradient(top, #ffafc0, #fd3e72);
  background: linear-gradient(to bottom, #ffafc0, #fd3e72);
  border: 1px solid #fff;
  border-radius: 10px;
  box-shadow: rgba(32, 4, 14, 0.25) 1px 1px 5px, rgba(32, 4, 14, 0.25) -1px 1px 5px, rgba(32, 4, 14, 0.25) 1px -1px 5px, rgba(32, 4, 14, 0.25) -1px -1px 5px;
  color: #fff;
  text-align: center;
  transition: all 0.5s; }
  @media screen and (max-width: 640px) {
    .button {
      margin-top: calc((40/610)*100%);
      padding: calc((30/610)*100%) calc((30/610)*100%) calc((30/610)*100%) calc((0/610)*100%); } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    .button {
      margin-top: calc((40/900)*100%);
      padding: calc((30/900)*100%);
      padding-right: calc((90/900)*100%); } }
  @media screen and (min-width: 961px) {
    .button {
      margin-top: 40px;
      padding: 15px 0; } }
  .button:hover {
    opacity: 0.8;
    transition: all 0.5s; }
  .button::before {
    display: block;
    position: absolute;
    top: 0;
    z-index: 3;
    content: "";
    height: 100%;
    background: url(../img/btn_arrow.png) right center no-repeat; }
    @media screen and (max-width: 640px) {
      .button::before {
        width: 98%;
        background-size: auto 40%;
        font-size: 2.5vw; } }
    @media screen and (min-width: 640px) and (max-width: 960px) {
      .button::before {
        width: 95%;
        background-size: auto 50%; } }
    @media screen and (min-width: 961px) {
      .button::before {
        width: 99%; } }

.btn-wHalf {
  width: 68%; }
  @media screen and (max-width: 640px) {
    .btn-wHalf {
      width: 100%; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    .btn-wHalf::before {
      width: 93%; } }
  @media screen and (min-width: 961px) {
    .btn-wHalf::before {
      width: 98.5%; } }

.clearfix {
  clear: both; }

.goTop {
  display: block;
  background: url(../img/btn_arrow.png) right center no-repeat;
  background: -moz-linear-gradient(top, #ffafc0, #fd3e72);
  background: -webkit-linear-gradient(top, #ffafc0, #fd3e72);
  background: linear-gradient(to bottom, #ffafc0, #fd3e72);
  color: #fff;
  text-align: center;
  transition: all 0.5s; }
  @media screen and (max-width: 640px) {
    .goTop {
      margin: 0 10% -5%;
      padding: 5% 8% 8%;
      border-radius: 10px;
      font-size: 3vw; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    .goTop {
      margin: 0 25px -10px auto;
      padding: 15px 25px 25px;
      width: 35%;
      border-radius: 10px;
      font-size: 2vw; } }
  @media screen and (min-width: 961px) {
    .goTop {
      margin: 0 25px -10px auto;
      padding: 15px 25px 25px;
      width: 250px;
      border-radius: 10px;
      font-size: 16px; } }
  .goTop:hover {
    opacity: 0.8;
    transition: all 0.5s; }

h1 > img {
  display: block;
  width: 100%; }
  @media screen and (min-width: 961px) {
    h1 > img {
      margin: 40px auto 0;
      width: 775px; } }

h2 {
  width: 100%;
  background-color: #3bb9ff;
  border-radius: 10px;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  font-weight: bolder;
  font-family: "M PLUS 1p"; }
  @media screen and (max-width: 640px) {
    h2 {
      padding: calc((20/610)*100%) calc((25/610)*100%);
      font-size: 4.2vw; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    h2 {
      padding: calc((13/900)*100%) 0;
      font-size: 3.2vw; } }
  @media screen and (min-width: 961px) {
    h2 {
      margin-bottom: 10px;
      padding: 13px 0;
      font-size: 27px; } }

h3 {
  color: #ff6000;
  font-weight: bold; }
  @media screen and (max-width: 640px) {
    h3 {
      padding-top: 3%;
      font-size: 4.2vw; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    h3 {
      padding-top: 10px;
      font-size: 2.2vw; } }
  @media screen and (min-width: 961px) {
    h3 {
      padding-top: 10px;
      font-size: 1.5vw; } }

@media screen and (max-width: 640px) {
  .attention-ex {
    margin-top: 1%;
    margin-bottom: 1%;
    padding-right: 5%;
    font-size: 3.3vw; } }
@media screen and (min-width: 640px) and (max-width: 960px) {
  .attention-ex {
    margin-top: 1%;
    margin-bottom: 1%;
    padding-right: 5%;
    font-size: 2vw; } }
@media screen and (min-width: 961px) {
  .attention-ex {
    font-size: 16px; } }

@media screen and (max-width: 640px) {
  .sp-image {
    width: 40%; } }

.highlight {
  color: #ff6000; }

.hr-solid {
  margin: 0 0 20px;
  border: none;
  border-bottom: 2px solid #ff6000; }
  @media screen and (max-width: 640px) {
    .hr-solid {
      margin: 0 0 1%; } }

.hr-dott {
  margin: 25px 0 -25px;
  border: none;
  border-bottom: 1px dotted #ccc; }
  @media screen and (max-width: 640px) {
    .hr-dott {
      margin: 7% 0 -3%; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    .hr-dott {
      margin: 5% 0 -1%; } }

.hanging {
  text-indent: -1em;
  margin-left: 1em; }
  @media screen and (max-width: 640px) {
    .hanging {
      margin: 2%; } }
  @media screen and (min-width: 640px) and (max-width: 960px) {
    .hanging {
      margin: 2%; } }
  @media screen and (min-width: 961px) {
    .hanging {
      margin: 5px 10px; } }

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

@media screen and (min-width: 640px) and (max-width: 960px) {
  .only-sp {
    display: none; } }
@media screen and (min-width: 961px) {
  .only-sp {
    display: none; } }
