@media screen and (min-width: 769px), print {
  .mv {
    padding: 0 20px;
  }
  .mv picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  .campaign .head h2 {
    position: relative;
    z-index: 1;
    padding: 35px 0 35px 430px;
  }
  .campaign .head h2 i {
    position: absolute;
    top: -220px;
    left: 0;
  }
  .campaign .slider {
    padding: 0 20px;
    height: 200px;
    overflow: hidden;
  }
  .campaign .slider .slider__inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .campaign .slider .slider__inner .slider__item {
    width: 20%;
  }
  .campaign .slider .slider__inner .slider__item img {
    display: block;
    width: 100%;
    height: auto;
  }
  .campaign .campaign_main {
    position: relative;
    padding-top: 30px;
    padding-bottom: 60px;
  }
  .campaign .campaign_main::after {
    content: "";
    position: absolute;
    top: -90px;
    /* top: 420px; */
    right: 0;
    width: 233px;
    height: 450px;
    background: url(../img/OliveR.png) center/contain no-repeat;
    display: block;
  }
  .campaign .campaign_main::before {
    content: "";
    position: absolute;
    bottom: -31px;
    left: 0;
    width: 233px;
    height: 395px;
    background: url(../img/OliveL.png) center/contain no-repeat;
    display: block;
  }
  .campaign .campaign_main h3 {
    margin: -104px 0 20px;
  }
  .campaign .campaign_main h4 {
    margin: 20px 0;
  }
  .campaign .campaign_main .txt1 {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    color: #8F0012;
    font-weight: 600;
    font-size: 2rem;
  }
  .campaign .campaign_main .txt2 {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 28px;
    text-align: center;
    margin-bottom: 15px;
  }
  .campaign .campaign_main .txt3 {
    font-weight: 700;
    font-size: 2rem;
    line-height: 28px;
    text-align: center;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    padding: 20px 0;
  }
  .campaign .campaign_main .txt3 span{
    color: #8F0012;
    display: block;
  }
  .conditions {
    background: #E5F4FA;
    position: relative;
    padding-top: 90px;
    padding-bottom: 70px;
  }
  .conditions::after {
    content: "";
    position: absolute;
    bottom: 79px;
    right: 0;
    width: 165px;
    height: 314px;
    background: url(../img/SummerW.png) center/contain no-repeat;
    display: block;
  }
  .conditions::before {
    content: "";
    position: absolute;
    top: -17px;
    left: 0;
    width: 100%;
    height: 17px;
    background: url(../img/bg.png) repeat-x;
    background-position: left 24px top 0;
    display: block;
  }
  .conditions h2 {
    text-align: center;
    font-weight: 600;
    font-size: 3.4rem;
    color: #0262C1;
    margin-bottom: 50px;
  }
  .conditions ul.listImg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 100%;
    margin-bottom: 60px;
  }
  .conditions ul.listImg li {
    margin: 0 15px;
  }
  .conditions ul.listImg li:nth-of-type(1), .conditions ul.listImg li:nth-of-type(3) {
    margin-top: -90px;
  }
  .conditions .ex {
    position: relative;
  }
  .conditions .ex::before {
    content: "";
    position: absolute;
    top: 92px;
    right: 0;
    width: 165px;
    height: 314px;
    background: url(../img/SummerW.png) center/contain no-repeat;
    display: block;
  }
  .conditions .ex::after {
    content: "";
    position: absolute;
    top: 748px;
    left: 0;
    width: 165px;
    height: 314px;
    background: url(../img/SummerY.png) center/contain no-repeat;
    display: block;
  }
  .conditions .ex .row {
    max-width: 900px;
  }
  .conditions .ex h3 {
    text-align: center;
    color: #0262C1;
    font-size: 3.4rem;
    font-weight: 600;
    position: relative;
    margin-bottom: 30px;
  }
  .conditions .ex h3 span {
    background-color: #E5F4FA;
    position: relative;
    z-index: 1;
    padding: 0 35px;
  }
  .conditions .ex h3::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #0262C1;
    display: block;
  }
  .conditions .ex h3::after {
    content: "";
    position: absolute;
    top: 31px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #0262C1;
    display: block;
  }
  .conditions .ex .box {
    padding: 35px 30px;
    -moz-border-radius: 20px;
         border-radius: 20px;
    background: #fff;
    -moz-box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.16);
         box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.16);
    overflow: hidden;
  }
  .conditions .ex .box:not(:last-child) {
    margin-bottom: 75px;
  }
  .conditions .ex .box .txt1 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 30px;
    max-width: 800px;
    margin: 0 auto;
  }
  .conditions .ex .box .txt4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 1.6rem;
    margin: 30px auto 0;
  }
  .conditions .ex .box .txt5 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 1.6rem;
    margin: 10px auto 10px;
  }
  .conditions .ex .box .txt6 {
    margin: 0 auto -10px;
  }
  .conditions .ex .box .txt1 span {
    color: #8F0012;
  }
  .conditions .ex .box .head ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .conditions .ex .box .head ul li {
    width: 410px;
  }
  .conditions .ex .box .head ul li:nth-of-type(2) a {
    border-color: #00B900;
  }
  .conditions .ex .box .head ul li:nth-of-type(2) a span {
    color: #00B900;
  }
  .conditions .ex .box .head ul li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #FF6600;
    padding: 10px;
  }
  .conditions .ex .box .head ul li a p {
    padding-left: 20px;
  }
  .conditions .ex .box .head ul li a span {
    font-weight: 700;
    font-size: 2rem;
    line-height: 29px;
    color: #FF6600;
    border-bottom: 1px solid;
    display: block;
    text-align: center;
  }
  .conditions .ex .box a.link1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 80px;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    background-color: #0262C1;
    margin: 30px 0;
    position: relative;
  }
  .conditions .ex .box a.link1 span {
    border-bottom: 1px solid;
  }
  .conditions .ex .box a.link1::before {
    content: "";
    width: 38px;
    height: 20px;
    background: url(../img/ic1.png) center/contain no-repeat;
    display: block;
    margin-right: 20px;
  }
  .conditions .ex .box a.link2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 70px;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    background-color: #F73E3E;
    margin: 30px 0;
    position: relative;
  }
  .conditions .ex .box a.link2 span {
    border-bottom: 1px solid;
  }
  .conditions .ex .box a.link2::before {
    content: "";
    width: 41px;
    height: 50px;
    background: url(../img/ic2.png) center/contain no-repeat;
    display: block;
    margin-right: 20px;
  }
  .conditions .ex .box a.link3 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 70px;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    background-color: #F2C327;
    position: relative;
  }
  .conditions .ex .box a.link3 span {
    border-bottom: 1px solid;
  }
  .conditions .ex .box a.link3::before {
    content: "";
    width: 63px;
    height: 50px;
    background: url(../img/ic3.png) center/contain no-repeat;
    display: block;
    margin-right: 20px;
  }
}

@media screen and (max-width: 768px) {
  .mv {
    padding: 0 2.66667vw;
    position: relative;
  }
  .mv picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  .mv::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -45.33333vw;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 89.33333vw;
    height: 90.66667vw;
    background: url(../img/cir.png) center/contain no-repeat;
    display: block;
    z-index: 1;
  }
  .campaign {
    padding-top: 29.33333vw;
    position: relative;
  }
  .campaign::after {
    content: "";
    position: absolute;
    top: -64vw;
    right: 0;
    width: 47.2vw;
    height: 93.86667vw;
    background: url(../img/OliveR_sp.png) center/contain no-repeat;
    display: block;
  }
  .campaign .head h2 {
    position: relative;
    z-index: 1;
  }
  .campaign .head h2 i {
    position: absolute;
    left: 50%;
    top: -74.66667vw;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    width: 100%;
  }
  .campaign .head h2 i img {
    max-width: 430px;
  }
  .campaign .wrapper {
    overflow: hidden;
    width: 100%;
    position: relative;
  }
  .campaign .wrapper h3 {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 1;
  }
  .campaign .wrapper h3 img {
    width: 165px;
  }
  .campaign .slider {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .campaign .slider__inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .campaign .slider__inner .slider__item {
    width: 265px;
  }
  .campaign .slider__inner:first-child {
    -webkit-animation: loop 90s linear infinite;
       -moz-animation: loop 90s linear infinite;
            animation: loop 90s linear infinite;
  }
  .campaign .slider__inner:nth-child(2) {
    -webkit-animation: loop2 90s -60s linear infinite;
       -moz-animation: loop2 90s -60s linear infinite;
            animation: loop2 90s -60s linear infinite;
  }
  .campaign .slider__inner:last-child {
    -webkit-animation: loop3 90s -30s linear infinite;
       -moz-animation: loop3 90s -30s linear infinite;
            animation: loop3 90s -30s linear infinite;
  }
  .campaign .campaign_main {
    position: relative;
    padding-top: 5.33333vw;
    padding-bottom: 16vw;
  }
  .campaign .campaign_main h3 {
    margin-bottom: 2.66vw;
  }
  .campaign .campaign_main h4 {
    margin: 5.33333vw 0;
  }
  .campaign .campaign_main .txt1 {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    color: #8F0012;
    font-weight: 800;
    font-size: 4.267vw;
  }
  .campaign .campaign_main .txt2 {
    font-weight: 700;
    font-size: 3.73333vw;
    line-height: 7.46667vw;
    text-align: center;
    margin-bottom: 10.66667vw;
  }
  .campaign .campaign_main .txt3 {
    font-weight: 700;
    font-size: 4.8vw;
    line-height: 7.46667vw;
    text-align: center;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    padding: 2.66vw 0;
  }
  .campaign .campaign_main .txt3 span{
    color: #8F0012;
    display: block;
  }
  .conditions {
    background: #E5F4FA;
    position: relative;
    padding-top: 16vw;
    padding-bottom: 18.66667vw;
  }
  .conditions::before {
    content: "";
    position: absolute;
    top: -17px;
    left: 0;
    width: 100%;
    height: 17px;
    background: url(../img/bg.png) repeat-x;
    display: block;
  }
  .conditions h2 {
    text-align: center;
    font-weight: 600;
    font-size: 6.4vw;
    color: #0262C1;
    margin-bottom: 8vw;
  }
  .conditions ul.listImg {
    padding-left: 5.33333vw;
    padding-right: 5.33333vw;
    margin-bottom: 16vw;
  }
  .conditions ul.listImg li {
    margin-bottom: 5.33333vw;
  }
  .conditions .ex .row {
    max-width: 240vw;
  }
  .conditions .ex h3 {
    text-align: center;
    color: #0262C1;
    font-size: 6.4vw;
    font-weight: 600;
    position: relative;
    margin-bottom: 8vw;
    padding-top: 9.33333vw;
  }
  .conditions .ex h3 span {
    background-color: #E5F4FA;
    position: relative;
    z-index: 1;
  }
  .conditions .ex h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.53333vw;
    background: #0262C1;
    display: block;
  }
  .conditions .ex h3::after {
    content: "";
    position: absolute;
    top: 2.66667vw;
    left: 0;
    width: 100%;
    height: 0.53333vw;
    background: #0262C1;
    display: block;
  }
  .conditions .ex .box {
    padding: 5.33333vw;
    -moz-border-radius: 5.33333vw;
         border-radius: 5.33333vw;
    background: #fff;
    -moz-box-shadow: 0vw 0.8vw 4.26667vw rgba(0, 0, 0, 0.16);
         box-shadow: 0vw 0.8vw 4.26667vw rgba(0, 0, 0, 0.16);
    overflow: hidden;
  }
  .conditions .ex .box:not(:last-child) {
    margin-bottom: 20vw;
  }
  .conditions .ex .box .txt1 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 4.26667vw;
    line-height: 8vw;
  }
  .conditions .ex .box .txt1 span {
    color: #8F0012;
  }
  .conditions .ex .box .txt4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 3.6vw;
    line-height: 2em;
    margin: 2.66vw auto 1.33vw;
  }
  .conditions .ex .box .txt5 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 3.6vw;
    line-height: 2em;
    margin: -1.33vw auto 10.667vw;
  }
  .conditions .ex .box .txt6 img{
    margin: 0 auto 1.33vw;
  }
  .conditions .ex .box .txt6 img{
    width: 64vw;
  }
  .conditions .ex .box .head ul li {
    margin-bottom: 3.2vw;
  }
  .conditions .ex .box .head ul li:nth-of-type(2) img {
    width: 52.8vw;
  }
  .conditions .ex .box .head ul li:nth-of-type(2) a {
    border-color: #00B900;
  }
  .conditions .ex .box .head ul li:nth-of-type(2) a p {
    color: #00B900;
  }
  .conditions .ex .box .head ul li a {
    display: block;
    text-align: center;
    border: 1px solid #FF6600;
    padding: 2.66667vw;
  }
  .conditions .ex .box .head ul li a img {
    width: 33.6vw;
    margin-bottom: 1.33333vw;
  }
  .conditions .ex .box .head ul li a p {
    font-weight: 700;
    font-size: 4.26667vw;
    display: inline-block;
    color: #FF6600;
    border-bottom: 1px solid;
    text-align: center;
  }
  .conditions .ex .box a.link1 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 16vw;
    color: #fff;
    font-size: 3.73333vw;
    font-weight: 700;
    background-color: #0262C1;
    margin: 2.66667vw 0;
    position: relative;
  }
  .conditions .ex .box a.link1 span {
    border-bottom: 1px solid;
  }
  .conditions .ex .box a.link1::before {
    content: "";
    width: 10.13333vw;
    height: 5.33333vw;
    background: url(../img/ic1.png) center/contain no-repeat;
    display: block;
    margin-right: 2.66667vw;
  }
  .conditions .ex .box a.link2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 16vw;
    color: #fff;
    font-size: 3.73333vw;
    font-weight: 700;
    background-color: #F73E3E;
    margin: 2.66667vw 0;
    position: relative;
  }
  .conditions .ex .box a.link2 span {
    border-bottom: 1px solid;
    display: inline;
  }
  .conditions .ex .box a.link2::before {
    content: "";
    width: 8.74667vw;
    height: 10.66667vw;
    background: url(../img/ic2.png) center/contain no-repeat;
    display: block;
    margin-right: 2.66667vw;
  }
  .conditions .ex .box a.link3 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 16vw;
    color: #fff;
    font-size: 3.73333vw;
    font-weight: 700;
    background-color: #F2C327;
    position: relative;
  }
  .conditions .ex .box a.link3 span {
    border-bottom: 1px solid;
  }
  .conditions .ex .box a.link3::before {
    content: "";
    width: 13.44vw;
    height: 10.66667vw;
    background: url(../img/ic3.png) center/contain no-repeat;
    display: block;
    margin-right: 2.66667vw;
  }
}
.graph1{
    text-align:center;
    margin:8% auto 8%;
}

@media screen and (max-width: 768px) {
	.graph1{
	text-align:center;
	    margin:8% auto 8%;
	}
}

/* ================modal================== */
.modal {
  font-family: 'Noto Serif JP', serif;
  color: #fff;
  width: 100%;
  height: auto;
  position: absolute;
  top: 7.1vw;
  left: 0;
  right: 0;
  z-index: 9999;
  align-items: center;
  display: none;
  font-weight:600;
  letter-spacing: 3px;
  margin: 0 auto;
  padding: 0 20px;
}

.modal.is_active {
  display: flex;
}

.modal_bg {
  background-color: rgba(2, 98, 193, 1.0);
  width: 100%;
  height: 500vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9998;
  padding: 0 20px ;
}

.modal_wrap {
  text-align: right;
  width: 1120px;
  margin: 8% auto 0;
  padding: 0px 0;
  z-index: 10000;
  position: relative;
}

.modal_inner {
  text-align: left;
  padding: 0;
  font-size: 16px;
}
.modal_inner h2{
  font-size: 34px;
}
.modal_inner p{
  margin: 10px 0 0;
    font-size: 16px;
}

@media (max-width: 768px) {/*SP*/
.modal {
  font-family: 'Noto Serif JP', serif;
  color: #fff;
  width: auto;
  height: auto;
  position: absolute;
  top: 12vw;
  left: 0;
  right: 0;
  z-index: 9999;
  align-items: center;
  display: none;
  font-weight:600;
  letter-spacing: 3px;
  margin: 0 auto;
  padding: 0 2.66vw 20vw;
}
.modal_bg {
  background-color: rgba(2, 98, 193, 1.0);
  width: 100%;
  height: 1000vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9998;
  padding: 0 20px 34.6vw;
}
.modal_inner h2{
  font-size: 4.688vw;
  margin: 0;
}
.modal_inner p{
  margin: 1.33vw 0 0;
  font-size: 3.906vw;
}
}