@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
*/
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, section, div, p, main, header, footer {
  box-sizing: border-box; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  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; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
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; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
  color: #333;
  font-size: 20px;
  line-height: 1.4;
  -webkit-text-size-adjust: none; }

/* 変数------------------------------- */
@media only screen and (max-width: 1000px) {
  body {
    font-size: 18px; } }
@media only screen and (max-width: 830px) {
  body {
    font-size: 16px; } }
@media only screen and (max-width: 680px) {
  body {
    font-size: 14px; } }
@media only screen and (max-width: 468px) {
  body {
    font-size: 12px; } }
/* common------------------------------- */
a {
  color: #0074BD;
  text-decoration: none;
  transition: color 0.3s; }

.pc_none {
  display: none; }
  @media only screen and (max-width: 830px) {
    .pc_none {
      display: inherit; } }

.color_red {
  color: red; }

/* header------------------------------- */
header {
  width: 100%;
  padding: .3rem 1rem; }
  header a {
    display: block;
    width: 100px; }
    header a img {
      width: 100%; }

.breadclumb {
  background-color: #F5F5F5;
  padding: .3rem 1rem; }
  .breadclumb ul {
    font-size: .8em; }
    .breadclumb ul li {
      display: inline; }
      .breadclumb ul li:after {
        content: "＞";
        padding: 0 1em; }
      .breadclumb ul li.last:after {
        content: none; }

/* contents------------------------------- */
.largeText {
  font-size: 1.3em; }

.smallText {
  font-size: .8em; }

.boldText {
  font-weight: bold; }

.titleText {
  font-weight: bold; }

.marginBottom1em {
  margin-bottom: 1em; }

.marginBottom2em {
  margin-bottom: 2em; }

.marginBottom3em {
  margin-bottom: 3em; }

.marginBottom4em {
  margin-bottom: 4em; }

.cf:before, .cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

h2 {
  text-align: center;
  font-size: 2.5em; }
  @media only screen and (max-width: 1000px) {
    h2 {
      font-size: 5vw; } }
  @media only screen and (max-width: 830px) {
    h2 {
      font-size: 6vw; } }
  h2:before {
    content: "▶ ";
    color: #0074be; }
  h2:after {
    content: " ◀";
    color: #0074be; }

.mainVisual {
  position: relative; }
  @media only screen and (max-width: 1000px) {
    .mainVisual {
      padding: 0 0 1em 0; } }
  .mainVisual img {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto; }
  .mainVisual h1 {
    display: block;
    width: 100%;
    max-width: 1000px;
    text-align: center;
    margin: .5em auto 0;
    font-size: 1.5em;
    padding: 0 .5em;
    box-sizing: border-box; }

.mainContents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 3em 1em; }
  .mainContents .assets01 {
    border: #0074be solid 2px;
    border-radius: 1em 1em 0 0;
    padding: 1em;
    text-align: center; }
    @media only screen and (max-width: 830px) {
      .mainContents .assets01 {
        text-align: left; } }
  .mainContents .assets02 {
    border: #0074be solid 2px;
    background-color: #0074be;
    border-radius: 0 0 1em 1em;
    padding: 1em;
    color: #FFF;
    text-align: center;
    margin-bottom: 2em; }
    @media only screen and (max-width: 830px) {
      .mainContents .assets02 {
        text-align: left; } }
    .mainContents .assets02 .dateText {
      font-size: 1.8em;
      font-weight: bold; }
      @media only screen and (max-width: 1000px) {
        .mainContents .assets02 .dateText {
          font-size: 3.5vw; } }
  .mainContents .assets03 {
    background-color: #EFE7D6;
    padding: 2em;
    margin-bottom: 3em; }
    .mainContents .assets03 .flow {
      position: relative;
      background-color: #FFF;
      padding: 1em 1em 1em 4em;
      border-radius: 1em;
      margin: 1.5em 0 0; }
      .mainContents .assets03 .flow .step {
        position: absolute;
        top: -1em;
        left: -1em;
        background-color: #0074be;
        color: #FFF;
        padding: .3em;
        line-height: 1;
        display: flex;
        width: 4em;
        height: 4em;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-radius: 3em; }
        .mainContents .assets03 .flow .step span {
          font-size: 1em; }
        .mainContents .assets03 .flow .step b {
          font-size: 1.3em; }

.mainContents2 {
  width: 100%;
  background-color: #e0ffff;
  padding: 3em 0; }
  .mainContents2 .inner {
    width: 100%;
    max-width: 1000px;
    padding: 0 1em;
    margin: 0 auto; }
    .mainContents2 .inner p {
      margin-top: 1em; }

.present_verA {
  display: flex;
  margin-bottom: 2em; }
  .present_verA .photo {
    border: 1px solid #DDD;
    padding: .5em;
    aspect-ratio: 1/1;
    width: 40%;
    margin-right: 2em; }
    @media only screen and (max-width: 680px) {
      .present_verA .photo {
        margin-right: 1em; } }
    .present_verA .photo img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  .present_verA .detail {
    flex: 1; }
    .present_verA .detail h3 {
      position: relative;
      display: block;
      font-size: 1.5em;
      padding: .3em 2.5em .3em 0;
      line-height: 1.1;
      border-bottom: #0074be 1px solid;
      margin-bottom: 1em; }
      .present_verA .detail h3 span {
        position: absolute;
        display: flex;
        top: 50%;
        right: 0;
        margin-top: -1.25em;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        line-height: 1;
        background-color: #0074be;
        color: #FFF;
        width: 2.5em;
        height: 2.5em;
        border-radius: 2.5em;
        text-align: center; }
        .present_verA .detail h3 span b {
          display: block;
          text-align: center;
          font-size: 1em; }
        .present_verA .detail h3 span em {
          font-size: .5em; }

.present_column2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 2em;
  margin-bottom: 2em; }

.present_column3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 2em;
  margin-bottom: 2em; }
  @media only screen and (max-width: 680px) {
    .present_column3 {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (max-width: 468px) {
    .present_column3 {
      grid-template-columns: 1fr 1fr; } }

.grid_item {
  position: relative; }
  .grid_item .photo {
    border: 1px solid #DDD;
    padding: .5em;
    margin-bottom: .5em;
    aspect-ratio: 1/1; }
    .grid_item .photo img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  .grid_item h3 {
    font-size: 1.2em; }
  .grid_item .targetNumber {
    position: absolute;
    display: flex;
    top: -1em;
    right: -.5em;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1;
    background-color: #0074be;
    color: #FFF;
    width: 4em;
    height: 4em;
    border-radius: 4em;
    text-align: center; }
    @media only screen and (max-width: 468px) {
      .grid_item .targetNumber {
        width: 4em;
        height: 4em; } }
    .grid_item .targetNumber b {
      display: block;
      text-align: center;
      font-size: 1.8em; }
    .grid_item .targetNumber span {
      font-size: .8em; }

.present_verB {
  border: 1px solid #DDD;
  padding: 1em;
  position: relative; }
  .present_verB h3 {
    font-size: 2em;
    padding: .3em 2.5em .3em 0;
    line-height: 1.1;
    border-bottom: #0074be 1px solid;
    margin-bottom: 1em; }
  .present_verB .targetNumber {
    position: absolute;
    display: flex;
    top: -1em;
    right: -.5em;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1;
    background-color: #0074be;
    color: #FFF;
    width: 4em;
    height: 4em;
    border-radius: 4em;
    text-align: center; }
    .present_verB .targetNumber b {
      display: block;
      text-align: center;
      font-size: 1.8em; }
    .present_verB .targetNumber span {
      font-size: .8em; }

.overview dt, .overview dd {
  box-sizing: border-box;
  margin-bottom: 1em; }
.overview dt {
  float: left;
  width: 25%;
  clear: both;
  background-color: #0074be;
  color: #FFF;
  padding: .1em .5em;
  font-size: 1em; }
  @media only screen and (max-width: 680px) {
    .overview dt {
      width: auto;
      float: none; } }
.overview dd {
  float: right;
  width: 73%;
  font-size: 1.2em; }
  @media only screen and (max-width: 680px) {
    .overview dd {
      width: 100%;
      float: none;
      margin-bottom: 1.5em; } }

.btn01, .btn02, .btn03 {
  display: block;
  width: 80%;
  text-align: center;
  margin: 1em auto;
  border-radius: 4rem;
  line-height: 4rem;
  font-size: 1.4em; }
  @media only screen and (max-width: 680px) {
    .btn01, .btn02, .btn03 {
      width: 100%; } }

.btn01 {
  border: #F50057 2px solid;
  background-color: #F50057;
  color: #FFF;
  font-weight: bold; }

.btn02 {
  border: #0074be 2px solid;
  background-color: #0074be;
  color: #FFF;
  font-weight: bold; }

.btn03 {
  border: #0074be 2px solid;
  color: #0074be;
  font-weight: bold; }

.bannerContents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 3em 1em; }
  .bannerContents a {
    display: block;
    width: 100%;
    margin: 1em 0 0; }
    .bannerContents a img {
      width: 100%; }

.toTop a {
  display: block;
  background-color: #DDD;
  padding: 1em 0;
  text-align: center;
  color: #333; }

footer {
  background-color: #333;
  color: #FFF;
  font-size: .8em;
  text-align: center;
  padding: 2em 0 4em; }
