/*==================================================
page --- campaign
==================================================*/
/* common */
#main .sp {
    display: none;
}
#campaign01 .caption,
#campaign02 .caption {
    position: relative;
    display: inline-block;
    background: #000;
    color: #fff;
    text-align: center;
    padding: 10px 2%;
    margin: 0 12.5px;
    box-sizing: border-box;
    -webkit-transform: skew(-25deg);
    -ms-transform: skew(-25deg);
    transform: skew(-25deg);
}
#campaign01 .caption p,
#campaign02 .caption p {
    font-family: 'Abel', sans-serif;
    line-height: 120%;
    font-weight: 700;
    -webkit-transform: skew(25deg);
    -ms-transform: skew(25deg);
    transform: skew(25deg);
}
    @media screen and (max-width: 990px) {
        #campaign01 .caption,
        #campaign02 .caption {
            width: 93%;
        }
        #campaign01 .caption p,
        #campaign02 .caption p {
            display: inline-block;
        }
        #campaign01 .caption p .sp,
        #campaign02 .caption p .sp {
            display: block;
        }
    }
    @media screen and (max-width: 750px) {
        #main .pc {
            display: none;
        }
        #main .sp {
            display: block;
        }
    }
/* #top
------------------------------------------*/
#top .cont {
    top: auto;
    bottom: 28%;
}
#top h1 {
    padding: 0 0 30px;
}
#top h1 img {
    width: 867px;
    height: 122px;
}
#top h1 span {
    display: inline-block;
    font-size: 64px;
    letter-spacing: 0.1em;
    vertical-align: middle;
    margin-right: -30px;
}
#top .readtxt {
    font-size: 18px;
    line-height: 170%;
    padding: 0 0 26px;
}
#top .hexagon {
    display: block;
    position: relative;
    width: 128px;
    height: 148px;
    background: url(/promaster30th/campaign/img/bg_hexagon.png) no-repeat 50% 50%;
    background-size: cover;
    margin: 0 auto;
    opacity:0;
    top:40px;
    -webkit-transition:opacity 0.8s ease 0.9s,top 0.8s ease 0.9s;
    -moz-transition:opacity 0.8s ease 0.9s,top 0.8s ease 0.9s;
    -o-transition:opacity 0.8s ease 0.9s,top 0.8s ease 0.9s;
    -ms-transition:opacity 0.8s ease 0.9s,top 0.8s ease 0.9s;
    transition:opacity 0.8s ease 0.9s,top 0.8s ease 0.9s;
}
#top.init .hexagon {
    top:0px;
    opacity:1;
}
#top .hexagon p {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    font-family: 'Abel', sans-serif;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0.08em;
}
#top .hexagon span {
    display: block;
    font-size: 16px;
}
/* subnav */
#top .subnav {
    width: 910px;
}
#top .subnav #subnavslider .swiper-wrapper .swiper-slide {
    width: 440px;
}
#top .subnav #subnavslider .swiper-wrapper .slide-campaign01 {
    width: 470px;
}
#top .subnav_campaign01 {
    padding-right: 30px;
	padding-top:65px;
	position:relative;
	box-sizing:border-box;
}
#top .subnav_campaign01 a,
#top .subnav_campaign01 .close {
	opacity:0;
	position:relative;
	top:40px;
	text-align:left;
}
#top.init .subnav_campaign01 a,
#top.init .subnav_campaign01 .close {
	opacity:1;
	top:0px;
	-webkit-transition: opacity 0.6s ease 1.2s,top 0.6s ease 1.2s;
	-moz-transition: opacity 0.6s ease 1.2s,top 0.6s ease 1.2s;
	-o-transition: opacity 0.6s ease 1.2s,top 0.6s ease 1.2s;
	-ms-transition: opacity 0.6s ease 1.2s,top 0.6s ease 1.2s;
	transition: opacity 0.6s ease 1.2s,top 0.6s ease 1.2s;
}
#top .subnav .ttl {
    padding: 0 0 10px;
    width: 100%;
}
#top .subnav .ttl .en {
    display: block;
    color: #ce0614;
    line-height: 120%;
}
#top .subnav .ttl .en02 {
    display: block;
    line-height: 120%;
}
#top .subnav .txt .en {
    display: block;
}
#top .subnav .slide-campaign01 .ttl .en02 {
    font-size: 1.68em;
}
#top .subnav .slide-campaign01 .txt {
    text-align: left;
    padding-left: 15px;
}
#top .subnav .slide-campaign01 .txt .lead {
    font-size: 26px;
    letter-spacing: 0.01em;
}
#top .subnav .slide-campaign01 .txt .sub {
    font-size: 14px;
    padding: 5px 0 0;
}
#top .subnav_campaign02 {
	padding-top:65px;
	box-sizing:border-box;
	opacity:0;
	position:relative;
	top:40px;
}
#top.init .subnav_campaign02{
	opacity:1;
	top:0px;
	-webkit-transition: opacity 0.6s ease 1.4s,top 0.6s ease 1.4s;
	-moz-transition: opacity 0.6s ease 1.4s,top 0.6s ease 1.4s;
	-o-transition: opacity 0.6s ease 1.4s,top 0.6s ease 1.4s;
	-ms-transition: opacity 0.6s ease 1.4s,top 0.6s ease 1.4s;
	transition: opacity 0.6s ease 1.4s,top 0.6s ease 1.4s;
}
#top .subnav .slide-campaign02 .txt {
    position: static;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    text-align: left;
    padding: 10px 0 0;
    font-size: 24px;
    line-height: 120%;
    margin: 0;
}
/* kv */
#promaster_30th_campaign #top .kv .kv01.init .kvblock_inner{
	transform: scale(1.0,1.0);
	-webkit-transition:none;
	-moz-transition: none;
	-o-transition: none;
	-ms-transition: none;
	transition: none;
  animation-name: campaignkv;
  animation-duration: 17s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}
#promaster_30th_campaign #top .kv .kv01.go .kvblock_inner {
	transform: scale(1.0,1.0);
	-webkit-transition:none;
	-moz-transition:none;
	-o-transition:none;
	-ms-transition:none;
	transition:none;
  animation-name: campaignkv;
  animation-duration: 17s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}
@keyframes campaignkv {
0% {transform: scale(1.15,1.15);}
50% {transform: scale(1.0,1.0);}
100% {transform: scale(1.15,1.15);}
}
#top .kv .kv01 .kvblock_inner {
	width:100%;
	height:100%;
	background: url(/promaster30th/campaign/img/img_kv01.jpg) no-repeat 0 0;
	background-size: cover;
	position:absolute;
	top:0;
	right:0;
	left:0;
	bottom:0;
	transform: scale(1.15,1.15);
}
#top .kv::after {
    content: none!important;
}
    @media screen and (max-width: 1150px) {
        #top .cont {
            width: 75%;
            margin-left: -17px;
        }
        #top h1 img {
            width: 100%;
            height: 14.07%;
        }
    }
    @media screen and (max-width: 1100px) {
        #top .subnav #subnavslider .swiper-wrapper .slide-campaign02 {
            width: 470px;
        }
        #top .subnav_campaign02 {
            padding-right: 30px;
        }
    }
    @media screen and (max-width:990px) {
		#top .subnav {
			left: 50%;
            -webkit-transform: translate(-50%,0);
            -ms-transform: translate(-50%,0);
            transform: translate(-50%,0);
		}
	}
    @media screen and (max-width: 940px) {
        #top .subnav {
			left: 0;
            -webkit-transform: none;
            -ms-transform: none;
            transform: none;
        }
        #top .subnav_campaign02 {
            padding-right: 30px;
        }
    }
    @media screen and (max-width: 750px) {
        #top .cont {
            bottom: auto;
            top: 50%;
            width: 88.9%;
            margin: -17% 0 0;
        }
        #top h1 {
            padding: 0 0 4%;
        }
        #top h1 img {
            width: 90%;
            height: auto;
            margin: 0 auto;
        }
        #top .readtxt {
            font-size: 3.4vw;
            letter-spacing: 0.05em;
            padding: 0;
        }
        #top .hexagon {
            width: 23%;
            height: auto;
            padding: 26% 0 0;
        }
        #top .hexagon p  {
            font-size: 3.125vw;
        }
        #top .hexagon span {
            font-size: 2.5vw;
        }
        #top .subnav {
            width: 100%;
            bottom: 14%;
        }
        #top .subnav .txt {
            padding: 3% 0 0;
        }
        #top .subnav .ttl {
            padding: 0 0 3%;
        }
        #top .subnav .ttl .en02 {
            font-size: 2.8vw;
            line-height: 130%;
            letter-spacing: 0;
        }
        #top .subnav_campaign01 {
            padding-top: 17%;
			padding-right: 3.5%;
			width:100%;
		}
		#top .subnav_campaign02 {
            padding-top: 15.8%;
            padding-right: 12%;
        }
        #top .subnav_campaign01 .txt .en,
		#top .subnav_campaign02 .txt .en {
			font-size: 4vw;
			letter-spacing: 0.05em;
			line-height: 100%;
        }
        #top .subnav .slide-campaign01 .ttl .en02 {
            font-size: 3.75vw;
            padding-top: 3%;
        }
        #top .subnav .slide-campaign01 .txt {
            padding-top: 0;
            padding-left: 5%;
        }
        #top .subnav .slide-campaign01 .txt .lead {
            font-size: 5vw;
            line-height: 100%;
        }
        #top .subnav .slide-campaign01 .txt .sub {
            font-size: 1.875vw;
            padding: 2% 0 0;
        }
    }
/*==================================================
campaign01 ~ campaign02
==================================================*/
/* present
------------------------------------------*/
#campaign01,
#campaign02 {
    background: #0e0e0e;
    position: relative;
    z-index: 4;
}
#main .present .main_image {
    position: relative;
    padding: 600px 0 0;
    z-index: 1;
    overflow: hidden;
}
#main .present .main_image .image {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 688px;
    -webkit-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    transform: translate(-50%,0);
    z-index: 1;
}
#main .present .main_image .image img {
    width: 100%;
}
#main .present .main_image .bg {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1480px;
    margin: 0 auto;
    overflow: hidden;
    -webkit-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    transform: translate(-50%,0);
}
#main .present .main_image .bg img {
    width: 100%;
}
#main .present .inner {
    position: relative;
    margin-top: -88px;
}
#main .present .inner::after {
    position: absolute;
    content: "";
    background: #ce0614;
    top: 88px;
    left: 0;
    width: 100%;
    padding: 930px 0 0;
}
    @media screen and (min-width: 1480px) { /* PC */
        #main .present .main_image {
            padding: 40.5% 0 0;
        }
        #main .present .main_image .image {
            width: 46.48%;
        }
        #main .present .main_image .bg {
            width: 100%;
        }
    }
#main .present .cont {
    position: relative;
    max-width: 800px;
    width: 81.4%;
    margin: 0 auto;
    z-index: 2;
}
#main .present .ttl {
    text-align: center;
}
#main .present .ttl .capture {
    color: #fff;
    font-size: 18px;
}
#main .present .ttl h2 {
    font-family: 'Abel', sans-serif;
    padding: 0 0 15px;
}
#main .present .ttl h2::after {
    content: none;
}
#main .present .ttl h2 .txt01 {
    display: block;
    font-size: 104px;
    line-height: 100%;
    letter-spacing: 0.1em;
}
#main .present .ttl h2 .txt02 {
    display: block;
    font-size: 96px;
    line-height: 100%;
    letter-spacing: 0.1em;
}
#main .present .ttl .caption {
    width: 573px;
}
#main .present .ttl .caption p {
    font-size: 24px;
    letter-spacing: 0.1em;
}
#main .present .ttl .ttl_txt {
    color: #61060b;
    font-family: 'Abel', sans-serif;
    padding: 40px 0 0;
}
#main .present .ttl_txt .txt01 {
    display: block;
    font-size: 130px;
    line-height: 85%;
    letter-spacing: 0.05em;
}
#main .present .ttl_txt .txt01 .length {
    font-size: 56px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 100%;
    letter-spacing: 0.05em;
}
#main .present .ttl_txt .txt02 {
    display: block;
    font-size: 121px;
    line-height: 100%;
    letter-spacing: 0.05em;
}
#main .present .ttl_txt .txt02 .length {
    font-size: 38px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 100%;
    letter-spacing: 0.05em;
}
#main .present .ttl .readtxt {
    font-family: 'Abel', sans-serif;
    font-size: 34px;
    line-height: 150%;
    letter-spacing: 0.05em;
    padding: 15px 0 40px;
}
#main .present .ttl .readtxt span {
    border-bottom: 2px solid #fff;
    padding-bottom: 2px;
}
#main .present .products {
    background-color: #0e0e0e;
    border: 2px solid #ce0614;
}
#main .present .products .txt_wrap01 {
    background: #ce0614;
    padding: 50px 40px 15px;
}
#main .present .products .txt_wrap01 h3 {
    font-family: 'Abel', sans-serif;
    font-size: 80px;
    line-height: 100%;
    letter-spacing: 0.1em;
    padding: 0 0 40px;
}
#main .present .products .txt_wrap01 h3 .length {
    font-size: 34px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 100%;
    letter-spacing: 0.05em;
}
#main .present .products .txt_wrap01 dl {
    padding: 0 0 30px;
}
#main .present .products .txt_wrap01 dt {
    color: #61060b;
    font-family: 'Abel', sans-serif;
    font-size: 20px;
    padding: 0 0 5px;
}
#main .present .products .txt_wrap01 dd {
    font-family: 'Abel', sans-serif;
    font-size: 34px;
    letter-spacing: 0.05em;
    line-height: 120%;
}
#main .present .products .txt_wrap01 p {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 145%;
}
#main .present .products .txt_wrap02 {
    padding: 0 40px 40px;
    background: #ce0614;
}
#main .present .products .txt_wrap02 p {
    font-size: 13px;
    line-height: 170%;
}
#main .present .products .txt_wrap02 p + p {
    padding: 15px 0 0;
}
#main .present .products figure img {
    width: 100%;
}
#main .present .bg_txt01 {
    position: absolute;
    top: 190px;
    left: 50%;
    margin-left: -930px;
    color: #d40f19;
    font-family: 'Abel', sans-serif;
    font-size: 300px;
    letter-spacing: 0.1em;
    line-height: 85%;
    white-space: nowrap;
    z-index: 1;
}
#main .present .bg_txt02 {
    position: absolute;
    top: 1050px;
    left: 50%;
    margin-left: -930px;
    color: #350206;
    font-family: 'Abel', sans-serif;
    font-size: 260px;
    letter-spacing: 0.1em;
    line-height: 85%;
    white-space: nowrap;
    z-index: 1;
}
#main .present .bg_txt03 {
    position: absolute;
    top: 2150px;
    left: 50%;
    margin-left: -515px;
    color: #350206;
    font-family: 'Abel', sans-serif;
    font-size: 260px;
    letter-spacing: 0.1em;
    line-height: 85%;
    white-space: nowrap;
    z-index: 1;
}
#campaign02 .present .inner::after {
    padding: 655px 0 0;
}
#campaign02 .present .inner {
    margin-top: -114px;
}
#campaign02 .present .ttl h2 .txt01 {
    font-size: 120px;
}
#campaign02 .present .ttl h2 .txt02 {
    font-size: 104px;
}
#campaign02 .present .products .txt_wrap01 dd {
    font-family: 'Abel', sans-serif;
    font-size: 34px;
    line-height: 120%;
}
#campaign02 .present .bg_txt01 {
    margin-left: -670px;
    font-size: 260px;
}
#campaign02 .present .bg_txt03 {
    top: 1850px;
    margin-left: -140px;
}
    @media screen and (max-width: 990px) {
        #campaign01 .present .main_image .bg {
            width: 100%;
        }
        #campaign01 .present .main_image .pc {
            display: none;
        }
        #campaign01 .present .main_image .sp {
            display: block;
        }
        #main .present .ttl_txt .txt01 {
            font-size: 90px;
        }
        #main .present .ttl_txt .txt01 .length {
            font-size: 38px;
        }
        #main .present .ttl_txt .txt02 {
            font-size: 86px;
        }
        #main .present .ttl_txt .txt02 .length {
            font-size: 28px;
        }
        #main .present .ttl .readtxt {
            font-size: 30px;
        }
        #main .present .ttl .readtxt span {
            border-bottom: 1px solid #fff;
            padding-bottom: 0;
        }
    }
    @media screen and (max-width: 750px) {
        #main .present {
            background: #ce0614;
        }
        #main .present .main_image {
            padding: 78% 0 0;
        }
        #main .present .inner::after {
            content: none;
        }
        #main .present .main_image .image {
            width: 63.4%;
        }
        #main .present .main_image .bg {
            width: 100%;
        }
        #main .present .inner {
            margin-top: -14.1%;
        }
        #main .present .ttl .capture {
            font-size: 2.65vw;
            padding: 0 0 3%;
        }
        #main .present .ttl h2 .txt01 {
            font-size: 14vw;
        }
        #main .present .ttl h2 .txt02 {
            font-size: 13vw;
        }
        #main .present .ttl .caption {
            width: 92%;
            margin-left: 3%;
            padding: 2.5% 0;
        }
        #main .present .ttl .caption p {
            font-size: 3.4vw;
            letter-spacing: 0.05em;
        }
        #main .present .ttl .ttl_txt {
            padding: 7.7% 0 0;
        }
        #main .present .ttl_txt .txt01 {
            font-size: 12.8vw;
        }
        #main .present .ttl_txt .txt01 .length {
            font-size: 5.6vw;
        }
        #main .present .ttl_txt .txt02 {
            font-size: 12.5vw;
        }
        #main .present .ttl_txt .txt02 .length {
            font-size: 3.9vw;
        }
        #main .present .ttl .readtxt {
            font-size: 5.625vw;
            padding: 0 0 13%;
        }
        #main .present .products {
            border: none;
            margin: 0;
            background: none;
        }
        #main .present .products .txt_wrap01 {
            background: none;
            font-size: 4vw;
            padding: 6% 0 4%;
        }
        #main .present .products .txt_wrap01 h3 {
            font-size: 12.5vw;
            padding: 0 0 5%;
        }
        #main .present .products .txt_wrap01 h3 .length {
            font-size: 5.3vw;
        }
        #main .present .products .txt_wrap01 dl {
            padding: 0 0 6%;
        }
        #main .present .products .txt_wrap01 dt {
            font-size: 4vw;
            padding: 0 0 2%;
        }
        #main .present .products .txt_wrap01 dd {
            font-size: 5.6vw;
        }
        #main .present .products .txt_wrap01 p {
            font-size: 4vw;
            line-height: 145%;
        }
        #main .present .products .txt_wrap02 {
            padding: 0 0 7.6%;
        }
        #main .present .products .txt_wrap02 p {
            font-size: 3.125vw;
            line-height: 140%;
        }
        #main .present .bg_txt01 {
            top: 7%;
            left: 0;
            margin-left: 0;
            font-size: 40.6vw;
        }
        #main .present .bg_txt02 {
            top: 49%;
            left: 0;
            margin-left: -5%;
            color: #d40f19;
            font-size: 40.6vw;
        }
        #main .present .bg_txt03 {
            display: none;
        }
        #campaign02 .present .ttl h2 .txt01 {
            font-size: 16vw;
        }
        #campaign02 .present .ttl h2 .txt02 {
            font-size: 14vw;
        }
        #campaign02 .present .ttl .readtxt {
            text-align: center;
            padding: 8% 0 10%;
        }
        #campaign02 .present .products .txt_wrap01 dd {
            font-size: 5.6vw;
        }
        #campaign02 .present .bg_txt01 {
            top: 10%;
            margin-left: -60%;
        }
        #campaign02 .present .bg_txt02 {
            top: 47%;
            margin-left: 29%;
        }
    }
/* step
------------------------------------------*/
#main .step {
    padding: 0 0 120px;
}
#main .step .inner {
    background: #ce0614;
    max-width: 800px;
    width: 81.4%;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}
#main .step h3 {
    border-top: 1px solid #fff;
    padding: 40px 0 20px;
}
#main .step h3 .en {
    display: inline-block;
    font-family: 'Abel', sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.1em;
}
#main .step h3 .jp {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding-left: 10px;
}
#main .step .txt_note {
    font-size: 12px;
    padding: 10px 0 0;
}
/* flow */
#main .step .flow {
    padding: 30px 0 45px;
}
#main .step .flow li {
    position: relative;
    display: table;
    width: 100%;
    border: 1px solid #fff;
}
#main .step .flow li + li {
    margin: 30px 0 0;
}
#main .step .flow li + li::after {
    position: absolute;
    content: "";
    background: url(/promaster30th/campaign/img/icn_arrow.svg) no-repeat 0 0;
    background-size: contain;
    top: -20px;
    left: 50%;
    width: 14px;
    height: 11px;
    -webkit-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    transform: translate(-50%,0);
}
#main .step .flow .number {
    display: table-cell;
    width: 90px;
    vertical-align: middle;
    font-family: 'Abel', sans-serif;
    font-size: 12px;
    text-align: center;
    border-right: 1px solid #fff;
}
#main .step .flow .number span {
    font-size: 24px;
}
#main .step .flow li .list_inner {
    display: table-cell;
    padding: 30px 50px 30px 30px;
}
#main .step .flow .txt01 {
    font-family: 'Abel', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 110%;
}
#main .step .flow .txt02 {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 140%;
    padding: 8px 0 0;
}
#main .step .flow .txt02 em {
    font-style: normal;
    color: #ce0614;
    text-decoration: underline;
}
#main .step .flow figure {
    padding: 25px 0 0;
    max-width: 420px;
}
#main .step .flow figure img {
    width: 100%;
}
/* list_note */
#main .step .list_note {
    position: relative;
    max-width: 800px;
    width: 81.4%;
    margin: 0 auto;
    box-sizing: border-box;
    border: 2px solid #ca0817;
    background: #0e0e0e;
    font-size: 12px;
    overflow: hidden;
    z-index: 1;
}
#main .step .list_note .txt_wrap {
    overflow-y: scroll;
    height: 345px;
    margin: 40px;
    padding-right: 40px;
}
#main .step .list_note .txt_wrap::-webkit-scrollbar {
    overflow:hidden;
    width:5px;
    background:none;
}
#main .step .list_note .txt_wrap::-webkit-scrollbar-thumb {
    overflow:hidden;
    -webkit-border-radius:3px;
    border-radius:3px;
    background:#3e3e3e;
}
#main .step .list_note .txt_wrap::-webkit-scrollbar-corner {
    overflow:hidden;
    -webkit-border-radius:3px;
    border-radius:3px;
    background:#3e3e3e;
}
#main .step .list_note .ttl_attention {
    color: #ca0817;
    font-family: 'Abel', sans-serif;
    font-size: 16px;
    padding: 0;
}
#main .step .list_note p,
#main .step .list_note ul {
    padding: 20px 0 0;
}
#main .step .list_note a {
    color: #ca0817;
    text-decoration: underline;
}
#main .step .list_note li {
    text-indent: -1em;
    padding-left: 1em;
}
#main .step .list_note li + li {
    padding-top: 5px;
}
/* entry */
#main .step .entry {
    background: #ce0614;
    max-width: 555px;
    width: 90%;
    margin: 0 auto;
}
#main .step .entry .ttl span {
    display: inline-block;
}
#main .step .entry .txt_wrap {
    overflow: hidden;
    padding: 0 0 35px;
}
#main .step .entry .txt_wrap .ttl {
    float: left;
    font-size: 18px;
    letter-spacing: 0.05em;
}
#main .step .entry .txt_wrap .ttl span {
    display: block;
    font-family: 'Abel', sans-serif;
    font-size: 80px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 100%;
}
#main .step .entry .txt_wrap .txt_note {
    float: right;
    vertical-align: bottom;
    font-size: 12px;
    padding: 20px 0 0;
    max-width: 430px;
    line-height: 140%;
}
#main .step .entry .txt {
    text-align: center;
    font-family: 'Abel', sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0 0 15px;
}
#main .step .entry .txt span {
    display: inline-block;
    padding-left: 7px;
}
#main .step .entry .txt span img {
    width: 37px;
    height: 32px;
}
#main .step .entry .txt_note {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 140%;
    padding: 10px 0 40px;
}
    @media screen and (max-width: 990px) {
        #main .step .entry .txt_wrap .ttl {
            font-size: 14px;
        }
        #main .step .entry .txt_wrap .ttl span {
            font-size: 65px;
        }
        #main .step .entry .txt_wrap .txt_note {
            padding: 0;
            width: 63%;
        }
        #main .step .entry .txt_wrap .txt_note .pc {
            display: none;
        }
    }
    @media screen and (max-width: 750px) {
        #main .step {
            padding: 0 0 21%;
        }
        #main .step .inner {
            width: 100%;
            margin: 0 auto 10%;
            padding: 0 9.3%;
        }
        #main .step h3 {
            padding: 7.6% 0 3.4%;
        }
        #main .step h3 .en {
            font-size: 6.25vw;
        }
        #main .step h3 .jp {
            font-size: 4vw;
        }
        #main .step h3 + p {
            font-size: 4.375vw;
        }
        #main .step .txt_note {
            font-size: 3.4vw;
            line-height: 140%;
            padding: 2% 0 0;
        }
        #main .step .flow {
            padding: 8% 0 14%;
        }
        #main .step .flow li {
            display: block;
        }
        #main .step .flow li + li::after {
            top: -12.5%;
            width: 3.65%;
            height: 4.7%;
        }        
        #main .step .flow li + li {
            margin: 13% 0 0;
        }
        #main .step .flow .number {
            display: block;
            width: 100%;
            font-size: 4.375vw;
            border-right: none;
            border-bottom: 1px solid #fff;
            padding: 4% 0;
        }
        #main .step .flow .number span {
            font-size: 6.25vw;
        }
        #main .step .flow li .list_inner {
            display: block;
            padding: 5.5%;
        }
        #main .step .flow .txt {
            font-size: 3.125vw;
            line-height: 140%;
            padding: 4% 7%;
        }
        #main .step .flow .txt01 {
            font-size: 4.6vw;
            line-height: 120%;
        }
        #main .step .flow .txt02 {
            padding: 4% 0 0;
            font-size: 3.4vw;
            line-height: 140%;
        }
        #main .step .flow figure {
            padding: 4% 0 0;
            width: 100%;
        }
        #main .step .entry {
            background: none;
            max-width: 100%;
            width: 100%;
        }
        #main .step .entry .txt_wrap {
            padding: 0 0 6.5%;
        }
        #main .step .entry .txt_wrap .ttl {
            float: none;
            text-align: left;
            font-size: 4vw;
            line-height: 100%;
        }
        #main .step .entry .txt_wrap .ttl span {
            font-size: 14vw;
        }
        #main .step .entry .txt_wrap .txt_note {
            float: none;
            padding: 0;
            max-width: 100%;
            width: 100%;
            font-size: 2.6vw;
            padding: 4% 0 0;
            box-sizing: border-box;
        }
        #main .step .entry .txt {
            padding: 0 0 3%;
            font-size: 5vw;
        }
        #main .step .entry .txt span {
            width: 6.5%;
            padding-left: 2%;
        }
        #main .step .entry .txt span img {
            width: 100%;
            height: auto;
        }
        #main .step .entry .txt_note {
            font-size: 3.125vw;
            padding: 6% 0 13%;
        }
        #main .step .list_note {
            font-size: 2.5vw;
            line-height: 160%;
        }
        #main .step .list_note .txt_wrap {
            margin: 5.3% 3.5% 5.3% 5.3%;
            padding-right: 3.5%;
        }
        #main .step .list_note .ttl_attention {
            font-size: 4vw;
        }
        #main .step .list_note p, #main .step .list_note ul {
            padding: 4.2% 0 0;
        }
    }
/* #footer_nav
------------------------------------------*/
#footer_nav {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #cd0614;
	text-align: center;
	padding: 6.25% 0;
	z-index: 99;
}
#footer_nav li {
	display: inline-block;
	padding: 0 2%;
}
#footer_nav li a {
	font-family: 'Abel', sans-serif;
	font-size: 3.4vw;
	font-weight: 700;
	letter-spacing: 0.1em;
}
	@media screen and (max-width:750px) {
		#footer_nav {
			display: block;
      -webkit-transform: translate(0%,200%);
      -ms-transform: translate(0%,200%);
      transform: translate(0%,200%);
      -webkit-transition: transform 0.4s linear 0s;
      -moz-transition: transform 0.4s linear 0s;
      -o-transition: transform 0.4s linear 0s;
      -ms-transition: transform 0.4s linear 0s;
      transition: transform 0.4s linear 0s;
		}
    body.scrolled1 #footer_nav {
      -webkit-transform: translate(0%,0%);
      -ms-transform: translate(0%,0%);
      transform: translate(0%,0%);
    }
    body.scrolled1.bottom_campaign #footer_nav {
      -webkit-transform: translate(0%,200%);
      -ms-transform: translate(0%,200%);
      transform: translate(0%,200%);
    }
}