@charset "UTF-8";
/* CSS Document */
/********** フォント設定 **********/
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html, body {
  font-size: 62.5%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", sans-serif;
  line-height: 1.0;
  -webkit-text-size-adjust: 100%;
}

/********** ベースタグ設定 **********/
* {
  max-height: 99999px;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: inherit;
}
a:hover, a:active, a:focus {
  color: inherit;
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media (min-width: 768px) {
  a:hover {
    opacity: 0.75;
  }
}

/********** #wrapper **********/
#wrapper {
  font-size: 1.4rem;
  line-height: 1.75;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 768px) {
  #wrapper {
    overflow: visible;
  }
}

/********** .container設定 **********/
.container {
  width: 100%;
  max-width: none;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: none;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 1030px;
  }
}

/********** ガター設定 **********/
.gutter-50 {
  margin-left: -25px;
  margin-right: -25px;
}

.gutter-50 > [class*='col-'] {
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 0px) {
  .gutter-xs-50 {
    margin-left: -25px;
    margin-right: -25px;
  }

  .gutter-xs-50 > [class*='col-'] {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 576px) {
  .gutter-sm-50 {
    margin-left: -25px;
    margin-right: -25px;
  }

  .gutter-sm-50 > [class*='col-'] {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .gutter-md-50 {
    margin-left: -25px;
    margin-right: -25px;
  }

  .gutter-md-50 > [class*='col-'] {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 992px) {
  .gutter-lg-50 {
    margin-left: -25px;
    margin-right: -25px;
  }

  .gutter-lg-50 > [class*='col-'] {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 1200px) {
  .gutter-xl-50 {
    margin-left: -25px;
    margin-right: -25px;
  }

  .gutter-xl-50 > [class*='col-'] {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.gutter-40 {
  margin-left: -20px;
  margin-right: -20px;
}

.gutter-40 > [class*='col-'] {
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 0px) {
  .gutter-xs-40 {
    margin-left: -20px;
    margin-right: -20px;
  }

  .gutter-xs-40 > [class*='col-'] {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 576px) {
  .gutter-sm-40 {
    margin-left: -20px;
    margin-right: -20px;
  }

  .gutter-sm-40 > [class*='col-'] {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 768px) {
  .gutter-md-40 {
    margin-left: -20px;
    margin-right: -20px;
  }

  .gutter-md-40 > [class*='col-'] {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 992px) {
  .gutter-lg-40 {
    margin-left: -20px;
    margin-right: -20px;
  }

  .gutter-lg-40 > [class*='col-'] {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 1200px) {
  .gutter-xl-40 {
    margin-left: -20px;
    margin-right: -20px;
  }

  .gutter-xl-40 > [class*='col-'] {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px;
}

.gutter-20 > [class*='col-'] {
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 0px) {
  .gutter-xs-20 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .gutter-xs-20 > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 576px) {
  .gutter-sm-20 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .gutter-sm-20 > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 768px) {
  .gutter-md-20 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .gutter-md-20 > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 992px) {
  .gutter-lg-20 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .gutter-lg-20 > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 1200px) {
  .gutter-xl-20 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .gutter-xl-20 > [class*='col-'] {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.gutter-16 {
  margin-left: -8px;
  margin-right: -8px;
}

.gutter-16 > [class*='col-'] {
  padding-left: 8px;
  padding-right: 8px;
}

@media (min-width: 0px) {
  .gutter-xs-16 {
    margin-left: -8px;
    margin-right: -8px;
  }

  .gutter-xs-16 > [class*='col-'] {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (min-width: 576px) {
  .gutter-sm-16 {
    margin-left: -8px;
    margin-right: -8px;
  }

  .gutter-sm-16 > [class*='col-'] {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (min-width: 768px) {
  .gutter-md-16 {
    margin-left: -8px;
    margin-right: -8px;
  }

  .gutter-md-16 > [class*='col-'] {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (min-width: 992px) {
  .gutter-lg-16 {
    margin-left: -8px;
    margin-right: -8px;
  }

  .gutter-lg-16 > [class*='col-'] {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (min-width: 1200px) {
  .gutter-xl-16 {
    margin-left: -8px;
    margin-right: -8px;
  }

  .gutter-xl-16 > [class*='col-'] {
    padding-left: 8px;
    padding-right: 8px;
  }
}
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px;
}

.gutter-10 > [class*='col-'] {
  padding-left: 5px;
  padding-right: 5px;
}

@media (min-width: 0px) {
  .gutter-xs-10 {
    margin-left: -5px;
    margin-right: -5px;
  }

  .gutter-xs-10 > [class*='col-'] {
    padding-left: 5px;
    padding-right: 5px;
  }
}
@media (min-width: 576px) {
  .gutter-sm-10 {
    margin-left: -5px;
    margin-right: -5px;
  }

  .gutter-sm-10 > [class*='col-'] {
    padding-left: 5px;
    padding-right: 5px;
  }
}
@media (min-width: 768px) {
  .gutter-md-10 {
    margin-left: -5px;
    margin-right: -5px;
  }

  .gutter-md-10 > [class*='col-'] {
    padding-left: 5px;
    padding-right: 5px;
  }
}
@media (min-width: 992px) {
  .gutter-lg-10 {
    margin-left: -5px;
    margin-right: -5px;
  }

  .gutter-lg-10 > [class*='col-'] {
    padding-left: 5px;
    padding-right: 5px;
  }
}
@media (min-width: 1200px) {
  .gutter-xl-10 {
    margin-left: -5px;
    margin-right: -5px;
  }

  .gutter-xl-10 > [class*='col-'] {
    padding-left: 5px;
    padding-right: 5px;
  }
}
/********** 5分割設定 **********/
/*
ex)
col-5-1 20%
col-sm-5-3 60%
col-md-5-4 80%
*/
.col-5-1, .col-xs-5-1, .col-5-2, .col-xs-5-2, .col-5-3, .col-xs-5-3, .col-5-4, .col-xs-5-4, .col-5-5, .col-xs-5-5, .col-sm-5-1, .col-sm-5-2, .col-sm-5-3, .col-sm-5-4, .col-sm-5-5, .col-md-5-1, .col-md-5-2, .col-md-5-3, .col-md-5-4, .col-md-5-5, .col-lg-5-1, .col-lg-5-2, .col-lg-5-3, .col-lg-5-4, .col-lg-5-5, .col-xl-5-1, .col-xl-5-2, .col-xl-5-3, .col-xl-5-4, .col-xl-5-5 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 0px) {
  .col-xs-5-1 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }

  .col-xs-5-2 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;
  }

  .col-xs-5-3 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }

  .col-xs-5-4 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
  }

  .col-xs-5-5 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 576px) {
  .col-sm-5-1 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }

  .col-sm-5-2 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;
  }

  .col-sm-5-3 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }

  .col-sm-5-4 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
  }

  .col-sm-5-5 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .col-md-5-1 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }

  .col-md-5-2 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;
  }

  .col-md-5-3 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }

  .col-md-5-4 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
  }

  .col-md-5-5 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .col-lg-5-1 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }

  .col-lg-5-2 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;
  }

  .col-lg-5-3 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }

  .col-lg-5-4 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
  }

  .col-lg-5-5 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 1200px) {
  .col-xl-5-1 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }

  .col-xl-5-2 {
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    max-width: 40%;
  }

  .col-xl-5-3 {
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }

  .col-xl-5-4 {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
  }

  .col-xl-5-5 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/********** headerエリア **********/
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  z-index: 101;
}
@media (min-width: 768px) {
  #header {
    position: relative;
  }
}
#header a {
  display: block;
}
#header #header_core {
  z-index: 102;
  position: relative;
  background-color: #ffffff;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  #header #header_core {
    height: 60px;
  }
}
@media (min-width: 768px) {
  #header #header_menu {
    background-color: #cccccc;
  }
}
#header .drawer-menu-floor1 {
  font-size: 1.6rem;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 15px;
  padding-right: 15px;
  background-color: #cccccc;
}
@media (min-width: 768px) {
  #header .drawer-menu-floor1 {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
#header .drawer-menu-floor2 {
  font-size: 1.4rem;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 30px;
  padding-right: 15px;
  background-color: #dddddd;
}
@media (min-width: 768px) {
  #header .drawer-menu-floor2 {
    padding-left: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
#header .drawer-dropdown-switch {
  display: flex;
  align-items: center;
  background-color: #cccccc;
}
#header .drawer-dropdown-switch > a {
  flex-grow: 1;
}
#header .drawer-dropdown-switch .dropdown-toggle {
  width: 40px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#header .drawer-dropdown-switch .dropdown-toggle:after {
  content: "＋";
  font-size: 2.0rem;
  border: none;
  vertical-align: baseline;
}
@media (min-width: 768px) {
  #header .drawer-dropdown-switch .dropdown-toggle {
    display: none;
  }
}
#header .drawer-dropdown-switch .dropdown-toggle.opened:after {
  content: "ー";
}

/********** footerエリア **********/
sup {
  font-size: 50%;
  top: -1.5em;
}
@media (min-width: 768px) {
  sup {
    top: -1em;
  }
}

@media (min-width: 768px) {
  .inner_block {
    width: 85%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
  }
}

/**************** header *****************/
header {
  width: 100%;
  border-bottom: 1px solid #009b63;
}
header .logo1 {
  width: 36%;
}
@media (min-width: 768px) {
  header .logo1 {
    width: 100%;
  }
}

/**************************************/
.bg_green {
  background: #d5ece2;
}

.linemaker {
  background: linear-gradient(rgba(255, 255, 255, 0) 50%, #f9ef01 60%);
  display: inline;
}

.step_cycle {
  position: relative;
  background: #ffffff;
  border-radius: 15px;
  padding: 50px 15px;
  margin-top: 70px;
  width: 100%;
}
@media (min-width: 768px) {
  .step_cycle {
    padding: 60px 30px;
    margin-top: 90px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
}

.ttl {
  position: absolute;
  top: -30px;
  left: 0;
  text-align: center;
  width: 100%;
}
.ttl span {
  display: inline-block;
  background: #88caac;
  color: #ffffff;
  padding: 6px 25px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 70px;
  position: relative;
  font-weight: 700;
}
@media (min-width: 768px) {
  .ttl span {
    padding: 5px 40px;
  }
}
@media screen and (min-width: 768px) and (min-width: 0\0) and (min-resolution: 72dpi) {
  .ttl span {
    /* IE向けのCSS～START */
    padding-top: 15px;
    /* IE向けのCSS～END */
  }
  .ttl span .selector {
    property: value;
  }
}

.ttl span:before {
  position: absolute;
  content: "";
  width: 39px;
  height: 28px;
  background: url(../img/img01.png) no-repeat center center;
  background-size: 100%;
  top: -28px;
  right: 25px;
}
@media (min-width: 768px) {
  .ttl span:before {
    right: 40px;
  }
}

.step_block {
  background: #ffffff;
  border-radius: 15px;
  padding: 30px 15px;
  position: relative;
}
@media (min-width: 768px) {
  .step_block {
    padding: 60px;
  }
}
.step_block .step {
  width: 90px;
  position: absolute;
  top: -5px;
  left: 20px;
}
@media (min-width: 768px) {
  .step_block .step {
    width: 168px;
    top: -10px;
    left: 70px;
  }
}
@media (min-width: 768px) {
  .step_block.step01 .bg01 {
    background: url(../img/img04.png) no-repeat right bottom;
  }
}
.step_block .step_ttl {
  color: #009e50;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 10px;
  background: url(../img/img04.png) no-repeat right bottom;
  background-size: contain;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .step_block .step_ttl {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 4.6rem;
    background: none;
  }
}
.step_block.step02 .step_ttl {
  background: none;
}
.step_block.step03 .step_ttl {
  background: none;
}
.step_block.step04 .step_ttl {
  background: none;
}
.step_block .fukidashi {
  background: #e9e0d2;
  padding: 15px;
  color: #009e50;
  font-size: 1.2rem;
  border-radius: 10px;
  position: relative;
  font-weight: 700;
}
@media (min-width: 768px) {
  .step_block .fukidashi {
    width: 66.5%;
    letter-spacing: -1px;
    max-width: 600px;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.6rem;
    padding: 25px 25px;
  }
}
.step_block .fukidashi:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #e9e0d2 transparent;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .step_block.step03 .fukidashi {
    width: 100%;
    max-width: 800px;
    padding: 25px 50px;
  }
}
@media (min-width: 768px) {
  .step_block.step04 .fukidashi {
    width: 100%;
    max-width: 800px;
    padding: 25px 80px;
  }
}
.step_block.step04 .step04_left01 {
  background: #fce7ee;
  border-radius: 15px;
  padding: 30px 15px 15px;
  position: relative;
}
@media (min-width: 768px) {
  .step_block.step04 .step04_left01 {
    padding: 50px 20px 20px;
  }
}
.step_block.step04 .step04_right01 {
  background: #deecf7;
  border-radius: 15px;
  padding: 30px 15px 15px;
  position: relative;
}
@media (min-width: 768px) {
  .step_block.step04 .step04_right01 {
    padding: 50px 20px 20px;
  }
}
.step_block.step04 table.merit, .step_block.step04 table.demerit {
  width: 100%;
  margin-top: 15px;
}
.step_block.step04 table.merit th, .step_block.step04 table.demerit th {
  color: #ffffff;
  font-size: 1.1rem;
  background: #ed6d34;
  border-radius: 10px 0 0 10px;
  vertical-align: middle;
  text-align: center;
  padding: 10px 5px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .step_block.step04 table.merit th, .step_block.step04 table.demerit th {
    font-size: 2.0rem;
    width: 40px;
    padding: 10px;
  }
}
@media screen and (min-width: 768px) and (min-width: 0\0) and (min-resolution: 72dpi) {
  .step_block.step04 table.merit th, .step_block.step04 table.demerit th {
    /* IE向けのCSS～START */
    padding-top: 15px;
    /* IE向けのCSS～END */
  }
  .step_block.step04 table.merit th .selector, .step_block.step04 table.demerit th .selector {
    property: value;
  }
}

.step_block.step04 table.merit th p, .step_block.step04 table.demerit th p {
  display: flex;
  flex-direction: column;
}
.step_block.step04 table.merit th p span, .step_block.step04 table.demerit th p span {
  display: block;
}
.step_block.step04 table.merit td, .step_block.step04 table.demerit td {
  width: calc(100% - 26px);
  vertical-align: middle;
  padding: 10px;
  background: #ffffff;
  border-radius: 0 10px 10px 0;
  font-size: 1.1rem;
}
@media (min-width: 768px) {
  .step_block.step04 table.merit td, .step_block.step04 table.demerit td {
    width: calc(100% - 40px);
    font-size: 1.6rem;
    padding: 10px 20px;
  }
}
.step_block.step04 table.merit.merit th, .step_block.step04 table.demerit.merit th {
  min-height: 96px;
}
@media (min-width: 768px) {
  .step_block.step04 table.merit.merit th, .step_block.step04 table.demerit.merit th {
    min-height: 160px;
  }
}
.step_block.step04 table.merit.demerit, .step_block.step04 table.demerit.demerit {
  margin-top: 10px;
}
.step_block.step04 table.merit.demerit th, .step_block.step04 table.demerit.demerit th {
  background: #009e50;
  min-height: 115px;
}
@media (min-width: 768px) {
  .step_block.step04 table.merit.demerit th, .step_block.step04 table.demerit.demerit th {
    min-height: 195px;
  }
}
.step_block.step04 .step04_block01 {
  background: #f0ede1;
  border-radius: 15px;
  padding: 30px 15px 15px;
  position: relative;
}
@media (min-width: 768px) {
  .step_block.step04 .step04_block01 {
    padding: 50px 20px 20px;
  }
}
.step_block.step04 .step04_block01 .inner_box {
  background: #fef0cc;
  border-radius: 15px;
  padding: 15px;
}
@media (min-width: 768px) {
  .step_block.step04 .step04_block01 .inner_box {
    padding: 20px;
  }
}
.step_block.step04 .step04_ttl {
  position: absolute;
  top: -17px;
  left: 0;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .step_block.step04 .step04_ttl {
    top: -22px;
  }
}
.step_block.step04 .step04_ttl span {
  display: inline-block;
  background: #ee86a8;
  color: #ffffff;
  padding: 6px 25px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 70px;
  font-weight: 700;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .step_block.step04 .step04_ttl span {
    padding: 5px 20px;
    font-size: 2.0rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 0\0) and (min-resolution: 72dpi) {
  .step_block.step04 .step04_ttl span {
    /* IE向けのCSS～START */
    padding-top: 10px;
    /* IE向けのCSS～END */
  }
  .step_block.step04 .step04_ttl span .selector {
    property: value;
  }
}

.step_block.step04 .step04_ttl.blue span {
  background: #5aa1d8;
}
.step_block.step04 .step04_ttl.brown span {
  background: #b6a669;
}
.step_block ul.row li .box .col_ttl {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  width: 100%;
  border: 2px solid;
  border-radius: 10px 10px 0 0;
}
@media (min-width: 768px) {
  .step_block ul.row li .box .col_ttl {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 0\0) and (min-resolution: 72dpi) {
  .step_block ul.row li .box .col_ttl {
    /* IE向けのCSS～START */
    padding-top: 15px;
    /* IE向けのCSS～END */
  }
  .step_block ul.row li .box .col_ttl .selector {
    property: value;
  }
}
.step_block ul.row li .box .col_bg {
  border: 2px solid;
  border-radius: 0 0 10px 10px;
  padding: 5px 15px;
  min-height: 95px;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 2.0;
  position: relative;
  display: block;
}
@media (min-width: 768px) {
  .step_block ul.row li .box .col_bg {
    padding: 10px 35px;
    min-height: 200px;
    font-size: 1.8rem;
  }
}
.step_block ul.row li .box .col_bg .d-flex {
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.step_block ul.row li .box .col_bg:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 5px;
  right: 15px;
  z-index: 1;
}
@media (min-width: 768px) {
  .step_block ul.row li .box .col_bg:after {
    bottom: 10px;
    right: 35px;
  }
}
.step_block ul.row li .box .col_bg .text {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
}
.step_block ul.row li .box.purple .col_ttl {
  background: #9079b6;
  border-color: #9079b6;
}
.step_block ul.row li .box.purple .col_bg {
  border-color: #9079b6;
}
.step_block ul.row li .box.purple .col_bg:after {
  background: url(../img/img05.png) no-repeat right bottom;
  background-size: contain;
}
.step_block ul.row li .box.pink .col_ttl {
  background: #ee86a8;
  border-color: #ee86a8;
}
.step_block ul.row li .box.pink .col_bg {
  border-color: #ee86a8;
}
.step_block ul.row li .box.pink .col_bg:after {
  background: url(../img/img06.png) no-repeat right bottom;
  background-size: contain;
}
.step_block ul.row li .box.pink .col_bg:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 5px;
  right: 15px;
}
@media (min-width: 768px) {
  .step_block ul.row li .box.pink .col_bg:after {
    bottom: 10px;
    right: 35px;
  }
}
.step_block ul.row li .box.orange .col_ttl {
  background: #f4a475;
  border-color: #f4a475;
}
.step_block ul.row li .box.orange .col_bg {
  border-color: #f4a475;
}
.step_block ul.row li .box.orange .col_bg:after {
  background: url(../img/img07.png) no-repeat right bottom;
  background-size: contain;
}
.step_block ul.row li .box.blue .col_ttl {
  background: #5aa1d8;
  border-color: #5aa1d8;
}
.step_block ul.row li .box.blue .col_bg {
  border-color: #5aa1d8;
}
.step_block ul.row li .box.blue .col_bg:after {
  background: url(../img/img08.png) no-repeat right bottom;
  background-size: contain;
}
.step_block ul.row li .box.yellow .col_ttl {
  background: #f8b500;
  border-color: #f8b500;
}
.step_block ul.row li .box.yellow .col_bg {
  border-color: #f8b500;
}
.step_block ul.row li .box.yellow .col_bg:after {
  background: url(../img/img09.png) no-repeat right bottom;
  background-size: contain;
}
.step_block ul.row li .box.brown .col_ttl {
  background: #b6a669;
  border-color: #b6a669;
}
.step_block ul.row li .box.brown .col_bg {
  border-color: #b6a669;
}
.step_block ul.row li .box.brown .col_bg:after {
  background: url(../img/img10.png) no-repeat right bottom;
  background-size: contain;
}

.text_link_blue {
  color: #0022ff;
  text-decoration: underline;
}

.text_link {
  position: relative;
  padding-left: 20px;
}
.text_link:before {
  position: absolute;
  content: ">";
  font-size: 1.6rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.text_link span {
  text-decoration: underline;
  font-size: 1.1rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .text_link span {
    font-size: 1.6rem;
  }
}

.underline {
  text-decoration: underline;
}

/************* #accordion ***************/
.accordion-container {
  position: relative;
  width: 100%;
  border-top: none;
  outline: 0;
}

.accordion-container .accordion-title {
  display: block;
  position: relative;
  padding: 10px 40px;
  font-size: 1.25em;
  font-weight: normal;
  color: #fff;
  background: #9079b6;
  border-radius: 50px 50px 50px 50px;
}
@media (min-width: 768px) {
  .accordion-container .accordion-title {
    cursor: pointer;
  }
}
.accordion-container .accordion-title span {
  line-height: 0;
  display: block;
  text-align: center;
}
.accordion-container .accordion-title span img {
  height: 20px;
}
@media (min-width: 768px) {
  .accordion-container .accordion-title span img {
    height: auto;
  }
}
.accordion-container .accordion-title.ttl02 {
  background: #ee86a8;
}
.accordion-container .accordion-title.ttl03 {
  background: #5aa1d8;
}
.accordion-container .accordion-title.ttl04 {
  background: #f8b500;
}
.accordion-container .accordion-title.ttl05 {
  background: #b6a669;
}
.accordion-container .accordion-title.open {
  border-radius: 25px 25px 0 0;
}

.accordion-title {
  position: relative;
}

.accordion-title:after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 18px;
  height: 4px;
  background: #ffffff;
}

.accordion-title:before {
  content: "";
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 4px;
  height: 18px;
  background: #ffffff;
}

.accordion-title.open:before {
  display: none;
}

.accordion-content {
  display: none;
  border: 2px solid #9079b6;
  border-radius: 0 0 25px 25px;
  padding: 20px 15px;
}
@media (min-width: 768px) {
  .accordion-content {
    padding: 40px;
  }
}
@media (min-width: 768px) {
  .accordion-content .w-md-100p {
    max-width: none;
    width: 100%;
  }
}
.accordion-content .border_dot {
  width: 100%;
  height: 4px;
  background: url(../img/border_dot.png) repeat-x 0 0;
  background-size: contain;
  margin: 20px 0;
}
@media (min-width: 768px) {
  .accordion-content .border_dot {
    margin: 35px 0;
  }
}
.accordion-content .ac_btn {
  background: #9079b6;
  border: 2px solid #9079b6;
  border-radius: 30px;
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  padding: 5px 50px;
  display: inline-block;
}
@media (min-width: 768px) {
  .accordion-content .ac_btn {
    font-size: 1.4rem;
    padding: 5px 50px;
  }
}
@media screen and (min-width: 0\0) and (min-resolution: 72dpi) {
  .accordion-content .ac_btn {
    /* IE向けのCSS～START */
    padding-top: 10px;
    /* IE向けのCSS～END */
  }
  .accordion-content .ac_btn .selector {
    property: value;
  }
}
.accordion-content .ac_btn:after {
  position: absolute;
  content: "";
  right: 10px;
  top: 10px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (min-width: 768px) {
  .accordion-content .ac_btn:after {
    right: 20px;
    top: 12px;
  }
}
@media screen and (min-width: 768px) and (min-width: 0\0) and (min-resolution: 72dpi) {
  .accordion-content .ac_btn:after {
    /* IE向けのCSS～START */
    top: 15px;
    /* IE向けのCSS～END */
  }
  .accordion-content .ac_btn:after .selector {
    property: value;
  }
}

@media (min-width: 768px) {
  .accordion-content .ac_btn:hover {
    background: #ffffff;
    color: #9079b6;
  }
  .accordion-content .ac_btn:hover:after {
    border-color: #9079b6;
  }
}
@media (min-width: 768px) {
  .accordion-content .d-md-flex .left {
    width: 37%;
    max-width: 300px;
  }
}
@media (min-width: 768px) {
  .accordion-content .d-md-flex .right {
    width: 60%;
  }
}
.accordion-content .d-md-flex .right .ac_ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .accordion-content .d-md-flex .right .ac_ttl {
    font-size: 3.0rem;
  }
}
.accordion-content .d-md-flex .right .border_b {
  position: relative;
}
.accordion-content .d-md-flex .right .border_b:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  border-radius: 5px;
  background: #9079b6;
  bottom: 0;
  left: 0;
}
.accordion-content.cont01 .scroll {
  width: 100%;
  height: 234px;
  overflow-x: scroll;
}
.accordion-content.cont01 .scroll img {
  max-width: none;
}
.accordion-content.cont02 {
  border-color: #ee86a8;
}
.accordion-content.cont02 .border_dot {
  background-image: url(../img/border_dot02.png);
}
.accordion-content.cont02 .border_dot.border_dot_gray {
  background-image: url(../img/border_dot_gray.png);
}
.accordion-content.cont02 .bg_brown {
  background: #f8f6f1;
  border-radius: 10px;
  padding: 15px;
}
@media (min-width: 768px) {
  .accordion-content.cont02 .bg_brown {
    padding: 20px 25px;
  }
}
.accordion-content.cont02 .d-md-flex .right .border_b:before {
  background: #ee86a8;
}
.accordion-content.cont03 {
  border-color: #5aa1d8;
}
.accordion-content.cont03 .scroll {
  width: 100%;
  height: 231px;
  overflow-x: scroll;
}
.accordion-content.cont03 .scroll img {
  max-width: none;
}
.accordion-content.cont03 .border_dot {
  background-image: url(../img/border_dot03.png);
}
.accordion-content.cont03 .d-md-flex .right .border_b:before {
  background: #5aa1d8;
}
.accordion-content.cont03 .d-md-flex .right .ac03_bg {
  background: url(../img/ac03_img07_sp.png) repeat-y 0 0;
  background-size: contain;
}
@media (min-width: 768px) {
  .accordion-content.cont03 .d-md-flex .right .ac03_bg {
    background-image: url(../img/ac03_img07.png);
  }
}
.accordion-content.cont04 {
  border-color: #f8b500;
}
.accordion-content.cont04 .border_dot {
  background-image: url(../img/border_dot04.png);
}
.accordion-content.cont04 .d-md-flex .right .border_b:before {
  background: #f8b500;
}
.accordion-content.cont04 .border_box {
  border: 2px solid #dfd3bf;
  border-radius: 15px;
  padding: 15px 15px;
}
@media (min-width: 768px) {
  .accordion-content.cont04 .border_box {
    padding: 25px 30px;
  }
}
.accordion-content.cont04 .ac_btn {
  background: #f8b500;
  border-color: #f8b500;
  padding: 5px 30px;
}
@media (min-width: 768px) {
  .accordion-content.cont04 .ac_btn {
    padding: 5px 50px;
  }
  .accordion-content.cont04 .ac_btn:hover {
    color: #f8b500;
    background: #ffffff;
  }
  .accordion-content.cont04 .ac_btn:hover:after {
    border-color: #f8b500;
  }
}
.accordion-content.cont05 {
  border-color: #b6a669;
}
.accordion-content.cont05 .d-md-flex .right .border_b:before {
  background: #b6a669;
}

.fc-black {
  color: #000000;
}

.list_block .ttl {
  font-weight: 700;
  font-size: 1.1rem;
  color: #008ccf;
  position: inherit;
  top: 0;
  text-align: left;
}
@media (min-width: 768px) {
  .list_block .ttl {
    font-size: 1.4rem;
  }
}
.list_block .ttl.pink {
  color: #ea608e;
}
.list_block .ttl.green {
  color: #32a238;
}
.list_block .ttl.yellow {
  color: #f8b500;
}
.list_block .ttl.purple {
  color: #9079b6;
}
.list_block .ttl.orange {
  color: #ed6d34;
}
.list_block .list {
  line-height: 1.5;
}
@media (min-width: 768px) {
  .list_block .list {
    line-height: 1.8;
  }
}
.list_block .list span {
  font-size: 1.1rem;
  display: inline;
  position: relative;
  padding-left: 12px;
}
@media (min-width: 768px) {
  .list_block .list span {
    font-size: 1.4rem;
    padding-left: 12px;
  }
}
.list_block .list span:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  background: #008ccf;
  border-radius: 50%;
  top: 2px;
  left: 0;
}
@media (min-width: 768px) {
  .list_block .list span:before {
    top: 3px;
  }
}
.list_block .list.pink span:before {
  background: #ea608e;
}
.list_block .list.green span:before {
  background: #32a238;
}
.list_block .list.yellow span:before {
  background: #f8b500;
}
.list_block .list.purple span:before {
  background: #9079b6;
}
.list_block .list.orange span:before {
  background: #ed6d34;
}

/********** footer **********/
footer {
  background: #535353;
  text-align: center;
  padding: 10px 0;
}
footer .copyright {
  color: #ffffff;
  font-size: 0.9rem;
}
@media (min-width: 768px) {
  footer .copyright {
    font-size: 1.2rem;
  }
}

.top_page {
  position: fixed;
  width: 35px;
  height: 35px;
  bottom: 50px;
  right: 10px;
}
@media (min-width: 768px) {
  .top_page {
    width: 50px;
    height: 50px;
    right: 10px;
  }
}
.top_page a {
  display: block;
}

/*************************/

/*# sourceMappingURL=style.css.map */
