/* --------------------------------------------
共通:全体
----------------------------------------------- */
@import url(https://use.fontawesome.com/releases/v5.10.0/css/all.css);
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: black;
    line-height: 1.6;
    font-size: 16px;
    font-weight: 500;
}
img {
    image-rendering: -webkit-optimize-contrast;
}
main {
    margin: 0 auto;
    position: relative;
    min-height: 100vh;
}
#bg {
    background: #BADFDA;
    width: 100%;
    margin: 0 auto;
    /* width: 76%; */
}
.sec{
    margin: 0 auto;
    padding: 10px;
}
.pc_only {
    display: block;
}
/* .ipad_only {
    display: none;
} */
.sp_only {
    display: none ;
}

#Container {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background: #FFF;
    width: 55%;
    min-width: 879px;
}

/* --------------------------------------------
ボタン/セレクトボックス
----------------------------------------------- */
/* ボタン 基本設定*/
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none !important;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

/* 詳細を見るボタン ベース*/
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
  z-index: 1;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
}

a.btn-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem;

  background: #fff;
}

a.btn-border-shadow:before {
  position: absolute;
  top: -6px;
  left: -6px;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;

  border: 2px solid #100E34;
  border-radius: 0.5rem;

}

a.btn-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem;
}

a.btn-border-shadow:hover:before {
  top: 0;
  left: 0;
}

a.btn-border-shadow--color {
  border-radius: 0;
  background: #FFE436;
  color: #100E34;
  width: 60%;
}

a.btn-border-shadow--color:before {
  border-radius: 0;
}

/* セレクトボックス */
.year_selectbox_area {
    text-align: left;
    margin-bottom: 1%;
}

@import url(https://fonts.googleapis.com/css?family=Neucha);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css);
/*@import url(font-icomoon.css);*/
@import url(https://code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css);
@import url(https://fonts.googleapis.com/css?family=Oswald:400,300,700);
/** Custom field plugin **/
/* SELECT */
.selectCF{
  margin:0;
  padding:0;
  display:inline-block;
  position:relative;
  font-size:17px;
  font-weight:bold;
}
.selectCF li{
  list-style:none;
  cursor: pointer;
  perspective: 900px;
  -webkit-perspective: 900px;
  text-align: left;
}
.selectCF > li{
  position:relative;
  font-size:0;
}
.selectCF span{
  display:inline-block;
  height:45px;
  line-height:45px;
  color:#FFF;
  z-index:1;
}
.selectCF .arrowCF{
  transition: .3s;
  -webkit-transition: .3s;
  width:45px;
  text-align:center;
  vertical-align: top;
  font-size:17px;
  color: #FFF !important;
}
.selectCF .titleCF{
  padding: 0 10px 0 20px;
  border-left: dotted 1px #FFF;
  font-size:16px;
  font-weight:bold;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  width: 113px !important;
  letter-spacing: 1px;
}
.selectCF .searchCF{
  padding: 0 10px 0 20px;
  border-left: dotted 1px #FFF;
  position: absolute;
  top:0;
  right:0;
  z-index:-1;
}
@keyframes searchActive {
  from{ transform: rotateY(180deg) }
  to{ transform: rotateY(0deg); }
}@-moz-keyframes searchActive {
  from{ transform: rotateY(180deg) }
  to{ transform: rotateY(0deg); }
}
@-webkit-keyframes searchActive {
  from{ -webkit-transform: rotateY(180deg) }
  to{ -webkit-transform: rotateY(0deg); }
}
.searchActive .searchCF{
  z-index:1;
  animation: searchActive 0.3s alternate 1;
  -moz-animation: searchActive 0.3s alternate 1;
  -webkit-animation: searchActive 0.3s alternate 1;
}
.searchActive .titleCF{
  opacity:0;
}
.selectCF .searchCF input{
  font-family: 'Neucha', cursive;
  line-height:45px;
  border:none;
  padding:0;
  margin:0;
  width:100%;
  height:100%;
  background:transparent;
  font-size:17px;
}
.selectCF .searchCF input:active, .selectCF .searchCF input:focus{
  box-shadow:none;
  border:none;
  outline: none;
}
.selectCF li ul{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  padding: 0 !important;
  width:100%;
  background: #FFF;
  max-height: 255px;
    overflow-y: auto;
  transition: .2s;
  -webkit-transition: .2s;
  z-index:2;
  background:rgba(253,253,253,.9);

}
.selectCF li ul li{
  padding:9px 0 9px 20px;
  border-bottom: 2px solid #100E34;
  font-weight:normal;
  font-size:14px;
  transition: .2s;
  -webkit-transition: .2s;
  overflow:hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.selectCF li ul li:hover{
  background: #666;
  color:#FFF;
}
.selectCF .selected{
  background: #FFE436;
  color:#100E34;
}
.selectCF li ul li:last-child{
  border-bottom: none;
}
.onCF .arrowCF{
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
@-moz-keyframes effect1 {
  from{ transform: translateY(15px); opacity:0; }
  to{ transform: translateY(0px); opacity:1; }
}
@-webkit-keyframes effect1 {
  from{ -webkit-transform: translateY(15px); opacity:0; }
  to{ -webkit-transform: translateY(0px); opacity:1; }
}
.onCF li ul{
  display:block;
  -moz-animation: effect1 0.3s alternate 1;
  -webkit-animation: effect1 0.3s alternate 1;
}

/**************************/
h2, ul.info li, #event-change{
  font-family: 'Oswald', cursive;
  color: #FFF;
}
ul.info{
  padding: 0;
  margin: 0 0 20px 0;
}
ul.info li{
  display: inline-block;
  border: solid 1px #FFF;
  border-radius: 5px;
  padding: 0 5px;
}
#event-change{
  padding: 20px 0;
}
.custom-link{
  position: absolute;
  bottom: 30px;
  right: 30px;
  color: #FFF;
  font-size: 12px;
  text-decoration: none;
  transition: .3s;
  -webkit-transition: .3s;
  font-family: 'Oswald', sans-serif;
  font-size: 20px
}
.ion-chevron-right:before {
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 950;
}


/* --------------------------------------------
概要
----------------------------------------------- */
/* タイトル */
.piggy_area {
    width: 17%;
    z-index: 0;
}
.piggy_bg {
    width: 9%;
    height: auto;
    position: absolute;
    top: 2.5em;
    left: 12%;
}
.piggy_icon {
    width: 5%;
    height: auto;
    position: absolute;
    left: 13.8%;
    top: 3.6em;
}
/* ぶたの貯金箱　アニメーション */
.kurukuru{
    animation:5s linear infinite kurukuru;
}
@keyframes kurukuru{
    0%{ transform:rotate(0);}
    100%{ transform:rotate(360deg); }
}

.question {
    display: inline-block;
    transform-origin: center bottom;
    transform: rotate(13deg);
    animation: question 2.5s linear infinite;
    margin-left: -1%;
}
/* ？マーク　アニメーション */
@keyframes question {
    0%,100% {
        transform: rotate(10deg);
    }
    50% {
        transform: rotate(-10deg);
    }
}

.main_ttl_flex {
    display: flex;
    font-weight: bold;
    align-items: flex-end;
}
.main_ttl {
    font-size: 1.7em;
    letter-spacing: 0.1em;
    z-index: 1;
}
.main_big {
    font-size: 1.7em;
    margin: 0% 2%;
    letter-spacing: 0.1em;
}
/* 強調　ドット */
.pinkdot {
    position: relative;
    padding-top: 0.2em;
}
.pinkdot::before {
    position: absolute;
    content: "";
    width: 0.12em;
    height: 0.12em;
    border-radius: 50%;
    background-color: #FF6BC4;
    top: 10%;
    left: 50%;
    transform: translate(-50%,-10%);
}

.yellow_stripe {
    background-image: repeating-linear-gradient(-55deg,
    #FFE436 0, #FFE436 6px,
    transparent 6px, transparent 12px
  );
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0.5em;

  position: relative;
}
.yellow_stripe:before {
    transform:skewX(-50deg);
    position: absolute;
}

.main_ttl_txt_area {
    display: flex;
    white-space: nowrap;
}

.main_txt {
    text-align: left;
    display: block;
    line-height: 1.8em;
    margin: 0 auto;
    padding: 3% 0%;
    width: 80%;
}

/* 画像 */
.main_img_area {
    display: flex;
    width: 100%;
    justify-content: space-evenly;
    align-items: center;
    margin: 3% 0% 7% 0%;
}
.main_img_1 {
    width: 35%;
    height: 100%;
}
.main_img_2 {
    width: 33%;
    height: auto;
}
/* 画像　アニメーション */
.roll-in-blurred-left {
    -webkit-animation: roll-in-blurred-left 0.9s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: roll-in-blurred-left 0.9s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}
@-webkit-keyframes roll-in-blurred-left {
    0% {
      -webkit-transform: translateX(-1000px) rotate(-720deg);
              transform: translateX(-1000px) rotate(-720deg);
      -webkit-filter: blur(50px);
              filter: blur(50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0) rotate(0deg);
              transform: translateX(0) rotate(0deg);
      -webkit-filter: blur(0);
              filter: blur(0);
      opacity: 1;
    }
}
@keyframes roll-in-blurred-left {
    0% {
      -webkit-transform: translateX(-1000px) rotate(-720deg);
              transform: translateX(-1000px) rotate(-720deg);
      -webkit-filter: blur(50px);
              filter: blur(50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0) rotate(0deg);
              transform: translateX(0) rotate(0deg);
      -webkit-filter: blur(0);
              filter: blur(0);
      opacity: 1;
    }
}


/* --------------------------------------------
sec02 詳細
----------------------------------------------- */
#sec02 {
    display: none;
    margin-top: 8%;
}

/* タイトル */
.detail_ttl_area {
    position: relative;
    display: inline-block;
    padding: 0 45px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #100E34;
    width: 58%;
    line-height: 1.5;
    min-width: 36em;
}
.detail_ttl_area:before, .detail_ttl_area:after {
    content: '';
    position: absolute;
    display: inline-block;
    height: 0.15rem;
    background-color: #100E34;
    top: 58%;
    width: 55px;
}
.detail_ttl_area:before {
    left: -7%;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
}
.detail_ttl_area:after {
    right: 0;
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
}

.pink_marker {
    display: inline;
    position: relative;
    background-image: linear-gradient(90deg,#ff6bc473,#ff6bc473);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0% 100%;
    transition: all 1s ease-in-out;
    font-size: 15px;
}
.pink_marker.inview {
    background-size: 100% 100%;
    white-space: nowrap;
}
.pink_marker:before {
    width: 0.3em;
    background: #ff6bc473;
    right: 0;
    height: 1.45em;
}

.yellow_wave {
    padding-bottom: 5px;
    background: url(..//img/wave.png)repeat-x bottom left / auto 0.3em;
    white-space: nowrap;
}

.moneybag_icon {
    width: 8%;
    position: absolute;
    left: 2%;
    top: 8%;
}
/* お金アイコン　アニメーション */
.korokoro {
    animation:korokoro 2.5s linear 0s infinite ;
  }

  @keyframes korokoro {
    0%   { transform: translate(0%, 0%); }
    5%   { transform: translate(10%, 0%) rotate(10deg); }
    25%  { transform: translate(20%, 0%) rotate(20deg); }
    30%  { transform: translate(-10%, 0%) rotate(-10deg); }
    35%  { transform: translate(-15%, 0%) rotate(-15deg); }
    45%  { transform: translate(10%, 0%) rotate(10deg); }
    50%  { transform: translate(15%, 0%) rotate(15deg); }
    60%  { transform: translate(-5%, 0%) rotate(-5deg); }
    65%  { transform: translate(-7%, 0%) rotate(-7deg); }
    75%  { transform: translate(0%, 0%) rotate(0deg); }
    100% { transform: translate(0%, 0%) rotate(0deg); }
}

.detail_big {
    font-size: 1.9em;
}

/* 画像 */
.threeconditions_img_area {
    display: flex;
    width: 80%;
    justify-content: space-between;
    margin: 0 auto;
    padding: 4% 0%;
}
.conditions1_main_img {
    width: 30%;
    height: auto;
}
.conditions2_main_img {
    width: 30%;
    height: auto;
}
.conditions3_main_img {
    width: 30%;
    height: auto;
}
/* 条件1～3 画像 アニメーション */
.conditions_rotate:hover {
    animation: pulsation .7s alternate infinite;
}
@keyframes pulsation {
    0% {transform:scale(1);}
    50% {transform: scale(0.9);}
    100% {transform: scale(1.1);}
}

.conditions1_explanation_img {
    width: 45%;
    margin: 5% 0%;
}
.conditions2_explanation_img {
    width: 45%;
    margin: 5% 0%;
}
.conditions3_explanation_img {
    width: 45%;
    margin: 5% 0%;
}
.conditions_ttl_area {
    display: flex;
    align-items: center;
    margin: 3% 0% 3% 0%;
    position: relative;
}

.kazari_1 {
    width: 28px;
    height: auto;
    position: absolute;
    left: -24px;
    top: -22px;
}
.kazari_2 {
    width: 28px;
    height: auto;
    position: absolute;
    left: -24px;
    top: -22px;
}
.kazari_3 {
    width: 28px;
    height: auto;
    position: absolute;
    left: -24px;
    top: -22px;
}
/* 飾り　アニメーション */
.blink {
    -webkit-animation:blink 1.0s step-end infinite alternate;
    -moz-animation:blink 1.0s step-end infinite alternate;
    animation:blink 1.0s step-end infinite alternate;
}
@-webkit-keyframes blink{
    34%,66%,100% {opacity:0;}
    0%,33%,67%,99% {opacity:1;}
}
@-moz-keyframes blink{
    34%,66%,100% {opacity:0;}
    0%,33%,67%,99% {opacity:1;}
}
@keyframes blink{
    34%,66%,100% {opacity:0;}
    0%,33%,67%,99% {opacity:1;}
}

.threeconditions_txt_area {
    text-align: left;
    line-height: 1.8em;
    margin: 0 auto;
    width: 80%;
    padding-bottom: 4%;
}

/* 条件　吹き出し */
.balloon {
    position: relative;
    display: inline-block;
    background-color: #BADFDA;
    color: #FFF;
    padding: 0.3em 0.7em;
    text-align: center;
    height: 36px;
}
.balloon::before {
    content: "";
    position: absolute;
    border: solid 0.4em transparent;
    border-top: solid 0.5em #BADFDA;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.balloon p {
    margin: 0;
    padding: 0;
    font-weight: bold;
}

.conditions_ttltxt_area {
    width: 80%;
    margin: 0 auto;

    position: relative;
}
.conditions_ttl {
    padding: 0.2em 0.6em;
    border: 2px solid #BADFDA;
    height: 36px;
    font-weight: bold;
    letter-spacing: 0.5px;
}
.conditions_txt {
    text-align: left;
    line-height: 1.8em;
    display: block;
}

/* リスク　囲み枠 */
.kakomi-box11 {
    position: relative;
    margin: 2em auto;
    padding: 1.6em 1.4em 1.8em 1.4em;
    background-color: #fff;
    border: 0.3em dotted #FF6BC4;
    width: 80%;
    text-align: left;
}
.title-box11 {
    position: absolute;
    padding: 0 0.9em 0 0.7em;
    left: 19px;
    top: -15px;
    font-weight: bold;
    background-color: #fff;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

.risk_icon {
    color: #FFE436;
    padding-right: 1%;
}
.risk_txt {
    line-height: 1.8em;
}

/* --------------------------------------------
グラフ
----------------------------------------------- */
#sec03 {
/*    margin-top: 8%;*/
}
.graph_top_area {
    width: 95%;
    margin: 0 auto;
}
/* 見出し */
.graph_subttl {
  position: relative;
  padding: 0.5em;
  color: #100E34;
  width: 178px;
  border: 2px solid #FFE436;
  font-weight: bold;
  z-index: -1;
}

.graph_subttl::before {
  position: absolute;
  content: '';
  top: 100%;
  left: -1%;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 16px #FFE436;
}

.graph_double_row_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}