@charset "UTF-8";
@import "common.sp.css";
/* ---------------------------------------------------------
	CSS Document visual
--------------------------------------------------------- */
#visual {
  padding: 2% 2% 1.8%;
  background: #4472c4;
  font-size: 0;
  text-align: left;
  line-height: 1.2;
  border-bottom: solid 10px #4472c4;
}
#visual .article {
  width: 100%;
}
#visual h1 {
  vertical-align: middle;
  width: 100%;
  text-align: center;
  margin: 10px 0;
}
#visual h1 img {
  width: 100%;
}
#visual p {
  vertical-align: middle;
  text-align: left;
  font-weight: bold;
  font-size: 23px;
  line-height: 1.4;
  color: #fff;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
}
@media only screen and (max-width: 640px) {
  #visual p {
    font-size: 21px;
    margin-left: 4px;
  }
}
/* ---------------------------------------------------------
	CSS Document intro
--------------------------------------------------------- */
#intro h2 {
  font-size: 29.4px;
  margin-top: 1%;
  line-height: 1.1;
  padding: 0.4em .7em 0.2em;
  font-weight: bold;
  color: #4472c4;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  text-align: left;
}
#intro .name {
  margin-bottom: 25px;
  padding: 15px 20px;
  background: #fae4e4;
}
#intro .discount .marker {
  background: #fae4e8;
  font-weight: 500;
}
#intro .discount .red {
  font-weight: 500;
  font-size: 20px;
  color: #e73323;
}
#intro .frame {
  border: 3px solid #000000;
  margin: 10px 0 1em;
  position: relative;
}
#intro .frame span {
  position: absolute;
  top: -19%;
  left: 73%;
  width:104px;
  transform: rotate(23deg);
  /*font-size: 20px;
  color: #ffffff;
  font-weight: bold;
  background-color: #d50b1e;
  padding: 10px 20px;
  border-radius: 5px;*/
}
/* ---------------------------------------------------------
	CSS Document cause
--------------------------------------------------------- */
#cause .h2 {
  margin-bottom: 30px;
}
#cause .content h3 {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.5em;
}
#cause .content h3:before {
  content: '';
  width: 6px;
  height: 30px;
  background: #0168b7;
  display: inline-block;
  transform: translate(0px, 6px);
  margin-right: 12px;
}
#cause .content {
  text-align: center;
  margin-top: 20px;
}
#cause .h2:before {
  background: #0168b7;
}
#cause .section {
  margin-top: 20px;
  background: #fff;
  text-align: left;
  border: 5px solid #b3d2e9;
  margin-bottom: 20px;
}
#cause .section .pd {
  padding: 10px;
}
#cause .section .pd h3 {
  margin-bottom: 20px;
}
#cause .section li {
  margin-left: 3.1em;
  list-style: decimal;
  position: relative;
}
#cause .section li:before {
  content: '';
  width: 16px;
  height: 16px;
  border: solid 1px #383838;
  position: absolute;
  top: 6px;
  left: -3.1em;
}
#cause div.img {
  margin-bottom: 15px;
  text-align: center;
}
#cause div.img img {
  width: 100%;
}
#cause div.img .sp img {
  width: 20%;
}
#cause div.flex img {
  margin-bottom: 5px;
}
#cause .content p {
  text-align: center;
}
#cause .content .section p {
  text-align: left;
}
#cause div.next {
  position: relative;
  margin-bottom: 80px;
  color: #ec7d34;
}
#cause div.next:after {
  content: '';
  width: 0;
  height: 0;
  border: solid 80px transparent;
  border-top: solid 50px #ec7d34;
  display: block;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  z-index: 1;
  margin-top: 10px;
}
#cause div.early h3 {
  color: #e73323;
  font-size: 20px;
}
#cause .section div.flex p {
  text-align: center;
  color: #0168b7;
  margin-bottom: 20px;
}
#cause .arrow {
  position: relative;
}
#cause .arrow:before {
  content: '';
  width: 0;
  height: 0;
  border: solid 80px transparent;
  border-top: solid 60px #ec7d34;
  margin-bottom: -60px;
  display: block;
  transform: translateX(110%);
  -webkit-transform: translateX(110%);
  -ms-transform: translateX(110%);
  margin-top: 0;
  margin-left: -65px;
}
/* ---------------------------------------------------------
	CSS Document cause
--------------------------------------------------------- */
#reason .section {
  margin-top: 30px;
}
#reason .h2 {
  margin-bottom: 30px;
}
#reason .content h3 {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.5em;
  color: #e80c7c;
}
#reason .content h3:before {
  content: '';
  width: 6px;
  height: 30px;
  background: #e80c7c;
  display: inline-block;
  transform: translate(0px, 6px);
  margin-right: 12px;
}
#reason .content {
  text-align: center;
  margin-top: 20px;
}
#reason .section {
  margin-top: 20px;
  padding: 20px;
  background: #FFFFFF;
  text-align: left;
  border: 5px solid #ffcee3;
  margin-bottom: 20px;
  border-radius: 10px;
}
#reason div.img {
  margin-bottom: 15px;
  text-align: center;
}
#reason div.img img {
  width: 100%;
}
#reason .content p {
  text-align: center;
}
#reason .content .section p {
  text-align: left;
  margin-bottom: 10%;
}
#reason div.item {
  background: #fdfbe5;
  margin-bottom: 20px;
  padding: 15px;
}
#reason div.item h4 {
  margin-bottom: 10px;
  color: #e7317d;
  font-size: 20px;
}
#reason .content .section2 .sum {
  color: #e73323;
  text-align: center;
  font-size: 17px;
}
#reason div.next {
  margin-top: 80px;
  color: #e80c7c;
  font-size: 26px;
  text-align: center;
  position: relative;
}
#reason div.next:before {
  content: '';
  width: 0;
  height: 0;
  border: solid 130px transparent;
  border-top: solid 50px #e80c7c;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  top: -60px;
  z-index: 1;
}
#reason .content .section .flex {
  justify-content: space-around;
}
#reason .content .section .flex p {
  width: 100%;
  align-items: center;
  margin-bottom: 10%;
}
#reason .content .section .flex .img {
  width: 100%;
}
#reason .content .section .flex .graph_02 {
  width: 70%;
  margin: 0 auto;
}
#reason .content .section p.em {
  text-align: right;
  font-size: 12px;
}
#reason .frame {
  border: 3px solid #ffcee3;
  margin: 10px 0 1em;
  position: relative;
}
/* ---------------------------------------------------------
	CSS Document improvement
--------------------------------------------------------- */
#improvement .container {
  position: relative;
}
#improvement .balloon {
  position: absolute;
  top: -3rem;
  right: 0;
}
#improvement .balloon1 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0 1.5em 0.5em;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #FFFFFF;
  font-size: 20px;
  background: #e80c7c;
  font-weight: bold;
  border-radius: 5px;
}
@media only screen and (max-width: 375px) {
  #improvement .balloon {
    position: absolute;
    top: -4rem;
    right: 0;
  }
}
@media only screen and (max-width: 320px) {
  #improvement .balloon {
    position: absolute;
    top: -4rem;
    right: 0;
  }
  #improvement .balloon1 {
    font-size: 18px;
  }
}
#improvement .balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 20%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 15px solid #e80c7c;
}
#improvement .balloon1 p {
  margin: 0;
  padding: 0;
}
#improvement h3 {
  color: #ec7d34;
  font-size: 20px;
  margin-bottom: 5px;
}
#improvement .section h4 {
  margin: 1em 0;
  font-size: 1.3rem;
  text-align: center;
  font-weight: bold;
  color: #e80c7c;
}
#improvement .section {
  margin-top: 30px;
  padding: 7px;
  background: #FFFFFF;
  border: #ffcee3 5px solid;
}
#improvement .section .in_bd {
  padding: 13px;
  background: #FFFFFF;
  border: #ffcee3 1px solid;
} 

#improvement .under {
  border-bottom: dotted 2px #eba0c6;
}
#improvement figure {
  height: 140px;
  margin-bottom: 20px;
  text-align: center;
}
#improvement dt {
  margin-bottom: 10px;
  font-weight: 500;
  font-size: 22px;
  line-height: 1;
}
@media only screen and (max-width: 500px) {
  #improvement dt {
    font-size: 5vw;
  }
}
#improvement dd {
  font-size: 17px;
  line-height: 1.5;
}
#improvement .section p {
  margin-top: 1em;
  text-align: left;
}
#improvement .section .flex p {
  text-align: center;
}
#improvement .article.avoid h3 {
  background: #EE6019;
  color: #fff;
  text-align: center;
}
#improvement .article.avoid {
  border: 3px #EE6019 solid;
}
#improvement .em {
  text-align: left;
  font-size: 14px;
}
#improvement .arrow {
  position: relative;
}
#improvement .arrow:before {
  content: '';
  width: 0;
  height: 0;
  border: solid 40px transparent;
  border-top: solid 40px #ec7d34;
  margin-bottom: -60px;
  display: block;
  transform: translateX(110%);
  -webkit-transform: translateX(110%);
  -ms-transform: translateX(110%);
  margin-top: 0;
  margin-left: 1rem;
}
@media only screen and (max-width: 500px) {
  #improvement .arrow:before {
    content: '';
    width: 0;
    height: 0;
    border: solid 40px transparent;
    border-top: solid 40px #ec7d34;
    margin-bottom: -60px;
    display: block;
    transform: translateX(120%);
    -webkit-transform: translateX(120%);
    -ms-transform: translateX(120%);
    margin-top: 0;
    margin-left: 1rem;
  }
  #improvement h4.kg {
    background: #ffe0f5;
    box-shadow: 0px 0px 0px 5px #ffe0f5;
    border: dashed 1px #ff55c8;
    padding: 0.2em 0.5em;
    color: #ff55c8;
  }
  /* ---------------------------------------------------------
	CSS Document last
--------------------------------------------------------- */
  #last p.ttl {
    margin-bottom: 10px;
  }
  #last .last_01 .flex-item {
    font-size: 24px;
    margin-right: 30px;
    color: #4472c4;
    font-weight: bold;
  }
  #last .last_01 .flex-item img {
    width: 50%;
  }
  #last .matome p.ol-ttl {
    text-decoration: underline;
    color: #f2e826;
    font-size: 22px;
  }
  #last .matome li {
    margin-top: 0;
    margin-left: 0;
    text-decoration: none;
    list-style: none;
  }
  #last .matome ol {
    margin-bottom: 10px;
    font-size: 19px;
  }
  #last figure {
    margin-top: 10px;
    text-align: center;
    font-size: 5vw;
    position: relative;
    z-index: 0;
  }
  #last .last_02 span {
    display: block;
  }
  #last figcaption {
    margin-top: 10px;
    display: inline-block;
    margin: 0 auto;
    border-bottom: dashed 2px red;
    margin-bottom: 50px;
    font-size: 28px;
  }
  #last .last_02 figcaption {
    padding-top: 25px;
  }
  #last figure:last-of-type {
    margin-top: 60px;
  }
  #last figure:last-of-type:before {
    content: '';
    width: 0;
    height: 0;
    border: solid 130px transparent;
    border-top: solid 50px #e80c7c;
    transform: translateX(-50%);
    position: absolute;
    left: 50%;
    top: -40px;
    z-index: 1;
  }
  #last .flex {
    margin-bottom: 20px;
  }
  #last .flex-item {
    width: 100%;
    margin: 0 auto 10px;
    font-size: 16px;
  }
  #last .last_02 span {
    width: 80%;
    margin: 0 auto;
  }
  #dale6 .ruby, #last .ruby {
    font-size: 0.7em;
    vertical-align: inherit;
    margin: 0em 0.4em 0em 0.2em;
  }
  #last .last_02 .flex {
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin-bottom: 0;
  }
  #last .last_02 .flex .ruby {
    transform: translateY(-0.1em);
    padding-left: 0.2em;
  }
  #last .matome p.ol-ttl2 {
    text-decoration: none;
    border-bottom: 2px solid #f2e826;
    display: inline-block;
    height: 30px;
  }
  .bg-color--add {
    display: inline-block;
    padding: 0.2em 0.3em 0.3em;
    background: #eb6100;
    color: #fff;
    margin: 0 0.2em;
  }
  .bg-color--add.bg-color--fz-size {
    font-size: 1.2em;
  }
  .bg-color--add-red {
    display: inline-block;
    padding: 0.2em 0.3em 0.3em;
    font-size: 1.2em;
    background: #e80c7c;
    color: #fff;
    margin: 0 0.2em;
  }
}

/* ---------------------------------------------------------
	2020/11/20～追加　北原
--------------------------------------------------------- */
/*----margin---*/
.mb5Mo{margin-bottom: 5px;}
.mb10Mo{margin-bottom: 10px!important;}
.mb20Mo{margin-bottom: 20px;}
.mb40Mo{margin-bottom: 40px;}
.mb60Mo{margin-bottom: 60px;}
.mt10Mo{margin-top: 10px;}


/*---text-aglin---*/
.ta-lMo{text-align:left!important;}
.ta-rMo{text-align:right;}
.ta-cMo{text-align:center;}


/*---font---*/
.fs-12pxMo{font-size:12px;}
.fs-130perMo{font-size:130%;}
.fs-140perMo{font-size:140%;}
.fs-150perMo{font-size:150%;}
.fc-e80c7cMo{color:#e80c7c;}
.fc-064473Mo{color:#064473;}
.fc-175fa9Pc{color:#175fa9;}
.fwbMo{font-weight:bold;}

.bb-dotted2px-0168b7{border-bottom: dotted 2px #0168b7;}
.bb-solid2px-0168b7{border-bottom: solid 2px #0168b7;}


/*---display---*/
.disp-flexMo{display:flex;}
.disp-ilbMo{display:inline-block;}
.disp-bMo{display:block;}


/*---other--*/
.bb-dashed2-redMo{border-bottom: dashed 2px red;}
.bb-dashed2-064473Mo{border-bottom: dashed 2px #064473;}
.b-solid2-0168b7Mo{border: solid 2px #0168b7;}
.p20px-0Mo{padding:20px 0;}
.w70perMo{width:70%;}
.lh-120perMo{line-height:120%;}
.bb-solid2-0168b7Mo{border: solid 2px #0168b7;}



.position-relMo{position: relative;}

.graph_02-imgTit{
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #FFFFFF;
    padding: 0 10px;
    display: block;
    font-weight:bold;
    font-size:130%;
    color:#064473;
    white-space: nowrap
}


.line_gr{width: 100%;display: inline-block;background-color: #999999;height: 1px;}
