@charset "UTF-8";
@import "common.pc.css";
/* ---------------------------------------------------------
	CSS Document visual
--------------------------------------------------------- */
#visual {
  height: 160px;
  margin-bottom: 40px;
  padding: 0 30px 0 24px;
  background: #4472c4;
  font-size: 0;
}
#visual .article {
  width: 100%;
  height: 130px;
}
#visual h1 {
  vertical-align: middle;
  text-align: left;
  padding: 30px 0 10px;
  width: 72%;
}
#visual p {
  vertical-align: middle;
  text-align: left;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.3;
  color: #fff;
}
/* ---------------------------------------------------------
	CSS Document intro
--------------------------------------------------------- */
#intro h2 {
  margin-bottom: 25px;
  padding-bottom: 25px;
  font-weight: bold;
  font-size: 32px;
  line-height: 1;
  margin: 0 60px;
  color: #4472c4;
}
#intro .frame {
  border: 3px solid #000000;
  margin: 10px 0 50px;
  position: relative;
}
#intro .frame span {
  position: absolute;
  top: -11%;
  left: 84%;
  width:150px;
  transform: rotate(14deg);
  /*font-size: 22px;
  color: #ffffff;
  font-weight: bold;
  background-color: #d50b1e;
  padding: 10px 20px;
  border-radius: 5px;
  */
}
/* ---------------------------------------------------------
	CSS Document cause
--------------------------------------------------------- */
#cause h2 {
  margin-bottom: 30px;
}
#cause .section {
  margin-top: 20px;
  background: #fff;
  text-align: left;
  border: 5px solid #b3d2e9;
  margin-bottom: 20px;
}
#cause .section .pd {
  padding: 30px 25px 40px;
}
#cause .section li:before {
  content: '';
  width: 16px;
  height: 16px;
  border: solid 1px #383838;
  position: absolute;
  top: 6px;
  left: -3.1em;
}
#cause .content {
  text-align: center;
  margin-bottom: 40px;
}
#cause .h2:before {
  background: #0168b7;
}
#cause h3 {
  font-weight: 500;
  font-size: 22px;
  line-height: 1;
  margin-bottom: 20px;
}
#cause .content h3:before {
  content: '';
  width: 6px;
  height: 30px;
  background: #0168b7;
  display: inline-block;
  transform: translate(0px, 6px);
  margin-right: 12px;
}
#cause div.img {
  text-align: center;
  margin-bottom: 15px;
}
#cause div.flex {
  flex-wrap: nowrap;
  /*justify-content: space-around;
  align-items: center;*/
}
#cause .section div.flex p {
  display: inline-block;
  width: 43%;
  margin-bottom: 20px;
  text-align: center;
  color: #0168b7;
}
#cause .section div.flex p img {
  margin-bottom: 10px;
}
#cause .content .section p {
  text-align: left;
}
#cause .arrow {
  display: inline-block;
  /* height:40px;
  width:80px;*/
  background-color: #EE6019;
  position: relative;
  top: 60px;
  right: 50px;
}
#cause .arrow:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border: 30px solid transparent;
  border-left: 20px solid #EE6019;
  left: 35px;
  top: 7px;
}
#cause div.next {
  color: #ec7d34;
  font-size: 24px;
}
#cause div.next:after {
  content: '';
  width: 0;
  height: 0;
  border: solid 100px transparent;
  border-top: solid 60px #ec7d34;
  margin-bottom: -100px;
  display: block;
  transform: translateX(110%);
  -webkit-transform: translateX(110%);
  -ms-transform: translateX(110%);
  margin-top: 15px;
}
#cause div.early h3 {
  color: #e73323;
  font-size: 24px;
}
#cause div.early p {
  font-size: 17px;
}
/* ---------------------------------------------------------
	CSS Document cause
--------------------------------------------------------- */
#reason .section {
  margin-top: 30px;
}
#reason h2 {
  margin-bottom: 30px;
}
#reason h4 {
  margin-right: 80px;
  color: #e7317d;
  font-size: 30px;
}
#reason .section {
  margin-top: 20px;
  padding: 30px 25px 40px;
  background: #FFFFFF;
  text-align: left;
  border: 5px solid #ffcee3;
  margin-bottom: 20px;
  border-radius: 10px;
}
#reason .content {
  text-align: center;
  margin-bottom: 40px;
}
#reason h3 {
  font-weight: 500;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 20px;
  color: #e80c7c;
}
#reason .content h3:before {
  content: '';
  width: 6px;
  height: 30px;
  background: #e80c7c;
  display: inline-block;
  transform: translate(0px, 6px);
  margin-right: 12px;
}
#reason div.img {
  text-align: center;
  margin: 20px 0;
}
#reason .content .section p {
  text-align: left;
}
#reason .content .section .flex {
  justify-content: space-around;
}
#reason .content .section .flex p {
  width: 40%;
  align-items: center;
}
#reason .content .section .flex .img {
  width: 40%;
}
#reason div.item {
  background: #fdfbe5;
  margin-bottom: 20px;
  padding: 20px 30px;
}
#reason div.item.last {
  margin-bottom: 40px;
}
#reason .section2 h4 {
  margin-bottom: 20px;
  font-size: 26px;
}
#reason .section2 .img {
  width: 100%;
}
#reason .section2 .img img {
  width: 70%;
}
#reason .content .section2 .sum {
  color: #e73323;
  text-align: center;
  font-size: 24px;
}
#reason div.next {
  margin-top: 100px;
  color: #e80c7c;
  font-size: 34px;
  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: -70px;
  z-index: 1;
}
#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 h2 {
  height: 110px;
  position: relative;
}
#improvement h3 {
  color: #AA1155;
  font-size: 26px;
  margin-bottom: 10px;
}
#improvement .balloon {
  position: absolute;
  top: -4rem;
  right: 32%;
}
#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: 28px;
  background: #e80c7c;
  font-weight: bold;
  border-radius: 5px;
}
#improvement .balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 20%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e80c7c;
}
#improvement .balloon1 p {
  margin: 0;
  padding: 0;
}
#improvement .arrow {
  display: inline-block;
  /* height:40px;
  width:80px;*/
  background-color: #EE6019;
  position: relative;
  top: 60px;
  right: 50px;
}
#improvement .arrow:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border: 30px solid transparent;
  border-left: 20px solid #EE6019;
  left: 40px;
  top: -37px;
}
#improvement .section {
  margin-top: 30px;
  padding: 10px;
  background: #FFFFFF;
  border: #ffcee3 8px solid;
}
#improvement .section .in_bd {
  padding: 20px;
  background: #FFFFFF;
  border: #ffcee3 1px solid;
}
#improvement .under {
  border-bottom: dotted 2px #eba0c6;
}
#improvement figure {
  display: table-cell;
  vertical-align: top;
}
#improvement dl {
  display: table-cell;
  vertical-align: top;
  padding-left: 30px;
}
#improvement dt {
  margin-bottom: 10px;
  font-weight: 500;
  font-size: 22px;
  line-height: 1;
}
#improvement dd {
  font-size: 17px;
  line-height: 1.5;
}
#improvement .section p {
  margin-top: 1em;
}
#improvement .section h4 {
  margin: 1em 0;
  font-size: 1.3rem;
  text-align: center;
  font-weight: bold;
  color: #e80c7c;
}
#improvement .article.avoid {
  border: 3px #EE6019 solid;
}
#improvement .img span {
  font-size: 14px;
  text-align: center;
}
#improvement .article.avoid h3 {
  background: #EE6019;
  color: #fff;
  text-align: center;
}
#improvement h4.kg {
  background: #ffe0f5;
  box-shadow: 0px 0px 0px 5px #ffe0f5;
  border: dashed 1px #ff55c8;
  padding: 0.2em 0.5em;
  color: #ff55c8;
}
#improvement .em {
  text-align: left;
  font-size: 14px;
}
/* ---------------------------------------------------------
	CSS Document last
--------------------------------------------------------- */
#last .matome {
  padding: 1px 30px 5px;
}
#last p.ttl {
  margin-bottom: 20px;
}
#last .matome p.ol-ttl {
  text-decoration: underline;
  color: #f2e826;
  font-size: 24px;
}
#last .matome p.ol-ttl2 {
  text-decoration: none;
  border-bottom: 2px solid #f2e826;
  display: inline-block;
  height: 30px;
}
#last .matome li {
  margin-top: 0;
  margin-left: 0;
  text-decoration: none;
  list-style: none;
}
#last .matome ol {
  margin-bottom: 20px;
}
#last figure {
  margin-top: 10px;
  text-align: center;
  font-size: 34px;
  position: relative;
  z-index: 0;
}
#last figure span {
  display: block;
  height: 379px;
}
#last figure:last-of-type span {
  height: auto;
}
#last figure:last-of-type span img {
  width: 70%;
}
#last figcaption {
  margin-top: 10px;
  display: inline-block;
  margin: 0 auto;
  border-bottom: dashed 2px red;
  margin-bottom: 50px;
}
#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 .last_01 .flex {
  justify-content: center;
  margin-bottom: 25px;
}
#last .last_01 .flex-item {
  width: 60%;
  font-size: 24px;
  margin-right: 30px;
  color: #4472c4;
  font-weight: bold;
}
#last .last_01 .flex-item img {
  margin-bottom: 10px;
  width: 70%;
}
#last .last_02 figcaption {
  color: #e80c7c;
  padding-top: 30px;
  margin-bottom: 20px;
}
#last .last_02 .flex {
  justify-content: center;
  align-items: baseline;
}
#last .last_02 .flex .ruby {
  transform: translateY(-0.1em);
  padding-left: 0.2em;
  display: inline-block;
}
.bg-color--add {
  display: inline-block;
  padding: 0.2em 0.3em 0em 0.3em;
  background: #e80c7c;
  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 0em 0.3em;
  font-size: 1.2em;
  background: #e80c7c;
  color: #fff;
  margin: 0 0.2em;
}

/* ---------------------------------------------------------
	2020/11/20～追加　北原
--------------------------------------------------------- */
/*----margin---*/
.mb5Pc{margin-bottom: 5px;}
.mb10Pc{margin-bottom: 10px;}
.mb20Pc{margin-bottom: 20px;}
.mb40Pc{margin-bottom: 40px;}
.mb60Pc{margin-bottom: 60px;}
.mt10Pc{margin-top: 10px;}
.mt20Pc{margin-top: 20px;}
.ml-2emPc{margin-left:2em;}
.mr6pxPc{margin-right:6px;}


/*---text-aglin---*/
.ta-lPc{text-align:left;}
.ta-cPc{text-align:center;}
.ta-rPc{text-align:right;}


/*---font---*/
.fs-12pxPc{font-size:12px;}
.fs-130perPc{font-size:130%;}
.fs-140perPc{font-size:140%;}
.fs-172perPc{font-size:172%;}
.fs-180perPc{font-size:180%;}
.fs-220perPc{font-size:220%;}
.fc-e80c7cPc{color:#e80c7c;}
.fc-064473Pc{color:#064473;}
.fc-175fa9Pc{color:#175fa9;}
.fwbPc{font-weight:bold;}

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


/*---display---*/
.disp-flexPc{display:flex;}
.disp-ilbPc{display:inline-block;}
.disp-bPc{display:block;}


/*---other--*/
.worn-arrow{margin: 2rem 0.2rem 0 0.2rem;}
.pb20pxPc{padding-bottom:20px;}
.p20px-0Pc{padding:20px 0;}
.bb-dashed2-redPc{border-bottom: dashed 2px red;}
.bb-dashed2-064473Pc{border-bottom: dashed 2px #064473;}
.bb-solid2-0168b7Pc{border: solid 2px #0168b7;}

.position-relPc{position: relative;}

.graph_02-imgTit{
  position: absolute;
  top: -7%;
  left: 28%;
  background-color: #FFFFFF;
  padding: 0 10px;
  display:block;
  font-weight:bold;
  font-size:180%;
  color:#064473;
}


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