@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');



/* ==============================================
setting
============================================== */

html {
font-size: calc(100vw * 1 / 375);
line-height: calc(100vw * 1 / 375);
}
* {
font-family: 'Roboto','Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-size: 14rem;
line-height: 21rem;
font-weight:400;
color:#143c78;
margin:0;
padding:0;
box-sizing: border-box;
}
img {
border:none;
vertical-align:top;
width: 100%;
height: auto;
}
table {
border-collapse:collapse;
border-spacing:0;
}
ul {
list-style:none;
}
a {
text-decoration:none;
}
.clear::after{
content: "";
clear:both;
display:block;
height:0;
visibility:hidden;
}
[aria-hidden="true"] {
display: none;
}



/* ==============================================
body 
============================================== */

body{
overflow-x: hidden;
background: #ebf0fa;
word-wrap: break-word;
overflow-wrap: break-word;
}




/* ==============================================
header
============================================== */

header{
position: relative;
background: #fff;
width: 100%;
height: 60rem;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
z-index: 100;
}
header h1{
font-size: 19rem;
height: 30rem;
font-weight: 700;
padding: 19rem 0 0 44rem;
}
header h1 img{
position: absolute;
top:0;
left: 16rem;
width: auto;
height: 60rem;
}
header .back{
position: absolute;
top:0;
left: 0;
width: 48rem;
height: 60rem;
}
header .back::before{
content: "";
position: absolute;
top:0;
bottom: 2rem;
left: 0;
right: 0;
margin: auto;
width: 16rem;
height: 2rem;
border-radius: 1rem;
background: #143c78;
}
header .back a{
display: block;
width: 48rem;
height: 60rem;
padding: 21rem 0 0 16rem;
}
header .back a::before{
content: "";
position: absolute;
top:4rem;
bottom: 0;
left: 0;
right: 8rem;
margin: auto;
width: 11rem;
height: 2rem;
border-radius: 1rem;
background: #143c78;
transform: rotate(45deg);
}
header .back a::after{
content: "";
position: absolute;
top:0;
bottom: 8rem;
left: 0;
right: 8rem;
margin: auto;
width: 11rem;
height: 2rem;
border-radius: 1rem;
background: #143c78;
transform: rotate(-45deg);
}
header ul{
position: absolute;
top:0;
right: 0;
padding: 0 10rem 0 0;
}
header ul li{
float: left;
margin: 0 0 0 1rem;
}
header ul li a{
display: block;
height: 60rem;
padding: 18rem 6rem 0 6rem;
position: relative;
}
header ul li a img{
width: 24rem;
height: 26rem;
}
header ul li a span{
position: absolute;
top:10rem;
left: 0;
width: 17rem;
height: 17rem;
border-radius: 9rem;
text-align: center;
font-size: 12rem;
line-height: 12rem;
color: #fff!important;
background: #e60f37;
padding: 3rem 0 0 0.5rem;
}
header ul li a::before{
content: "";
width: 22rem;
height: 24rem;
background: #143c78;
position: absolute;
top:1rem;
bottom: 0;
left: 0;
right: 0;
margin: auto;
z-index: -1;
}



header .step {
width: 44rem;
height: 44rem;
border-radius: 50%;
position: absolute;
top:9rem;
right: 9rem;
}
header .step.step-01 {
background-image: conic-gradient(#143c78 33%, #ccc 33% 100%);
}
header .step.step-02 {
background-image: conic-gradient(#143c78 66%, #ccc 66% 100%);
}
header .step.step-03 {
background-image: conic-gradient(#143c78 100%, #ccc 100% 100%);
}
header .step::before {
content: "";
width: 36rem;
height: 36rem;
border-radius: 50%;
background: #fff;
position: absolute;
top:0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
header .step::after {
content: "";
width: 24rem;
height: 1rem;
background: #143c78;
position: absolute;
top:4rem;
bottom: 0;
left: 2rem;
right: 0;
margin: auto;
transform: rotate(-45deg);
}
header .step span {
position: absolute;
top:7rem;
bottom: 0;
left: 0;
right: 0;
margin: auto;
text-align: center;
font-size: 12rem;
line-height: 16rem;
font-weight: 700;
color: #143c78;
}
header .step span strong {
display: inline-block;
font-size: 18rem;
font-weight: 700;
color: #143c78;
vertical-align: bottom;
margin: 0 4rem 10rem 0;
}



/* ==============================================
footer
============================================== */

footer{
padding: 0 0 82rem 0;
}
footer p{
font-size: 12rem;
text-align: center;
padding: 20rem 0 0 0;
}
footer ul{
position: fixed;
bottom:0;
left: 0;
width: 100%;
height: 60rem;
background: #fff;
border-radius: 20rem 20rem 0 0;
filter: drop-shadow(0 -3rem 4rem rgba(63,76,93,0.12));
z-index: 3000;
}
footer ul::after{
content: "";
clear:both;
display:block;
height:0;
visibility:hidden;
}
footer ul li{
width: 25%;
float: left;
}
footer ul li a{
font-size: 12rem;
line-height: 16rem;
text-align: center;
color: #666666;
display: block;
height: 60rem;
position: relative;
}
footer ul li a::before{
content: "";
width: 28rem;
height: 28rem;
display: block;
margin: 9rem auto 4rem auto;
}
footer ul li:nth-child(1) a::before{
background: url("../images/ftr_icn_home.svg") no-repeat;
background-size: 28rem auto;
}
footer ul li:nth-child(2) a::before{
background: url("../images/ftr_icn_receipt.svg") no-repeat;
background-size: 28rem auto;
}
footer ul li:nth-child(3) a::before{
background: url("../images/ftr_icn_apply.svg") no-repeat;
background-size: 28rem auto;
}
footer ul li:nth-child(4) a::before{
background: url("../images/ftr_icn_menu.svg") no-repeat;
background-size: 28rem auto;
}
footer ul li a::after{
content: "";
width: 26rem;
height: 26rem;
background: #999;
position: absolute;
top:1rem;
left: 0;
right: 0;
margin: auto;
z-index: -1;
}
#rcs-01 footer ul li:nth-child(1) a,
#rcs-15 footer ul li:nth-child(1) a,
#rcs-16 footer ul li:nth-child(1) a,
#rcs-17 footer ul li:nth-child(1) a,
#rcs-18 footer ul li:nth-child(1) a{
color: #3c6ed2;
font-weight: 700;
}
#rcs-01 footer ul li:nth-child(1) a::after,
#rcs-15 footer ul li:nth-child(1) a::after,
#rcs-16 footer ul li:nth-child(1) a::after,
#rcs-17 footer ul li:nth-child(1) a::after,
#rcs-18 footer ul li:nth-child(1) a::after{
background: #3c6ed2;
}
#rcs-02 footer ul li:nth-child(2) a,
#rcs-03 footer ul li:nth-child(2) a,
#rcs-04 footer ul li:nth-child(2) a,
#rcs-05 footer ul li:nth-child(2) a,
#rcs-06 footer ul li:nth-child(2) a,
#rcs-07 footer ul li:nth-child(2) a,
#rcs-08 footer ul li:nth-child(2) a{
color: #3c6ed2;
font-weight: 700;
}
#rcs-02 footer ul li:nth-child(2) a::after,
#rcs-03 footer ul li:nth-child(2) a::after,
#rcs-04 footer ul li:nth-child(2) a::after,
#rcs-05 footer ul li:nth-child(2) a::after,
#rcs-06 footer ul li:nth-child(2) a::after,
#rcs-07 footer ul li:nth-child(2) a::after,
#rcs-08 footer ul li:nth-child(2) a::after{
background: #3c6ed2;
}
#rcs-09 footer ul li:nth-child(3) a,
#rcs-10 footer ul li:nth-child(3) a,
#rcs-11 footer ul li:nth-child(3) a,
#rcs-12 footer ul li:nth-child(3) a,
#rcs-13 footer ul li:nth-child(3) a,
#rcs-14 footer ul li:nth-child(3) a{
color: #3c6ed2;
font-weight: 700;
}
#rcs-09 footer ul li:nth-child(3) a::after,
#rcs-10 footer ul li:nth-child(3) a::after,
#rcs-11 footer ul li:nth-child(3) a::after,
#rcs-12 footer ul li:nth-child(3) a::after,
#rcs-13 footer ul li:nth-child(3) a::after,
#rcs-14 footer ul li:nth-child(3) a::after{
background: #3c6ed2;
}



footer ul.on li:nth-child(1) a{
color: #999999!important;
}
footer ul.on li:nth-child(1) a::after{
background: #999999!important;
}
footer ul.on li:nth-child(2) a{
color: #999999!important;
}
footer ul.on li:nth-child(2) a::after{
background: #999999!important;
}
footer ul.on li:nth-child(3) a{
color: #999999!important;
}
footer ul.on li:nth-child(3) a::after{
background: #999999!important;
}
footer ul.on li:nth-child(4) a{
color: #3c6ed2;
font-weight: 700;
}
footer ul.on li:nth-child(4) a::after{
background: #3c6ed2;
}



footer .pagetop{
position: fixed;
bottom: 77rem;
right: 16rem;
padding: 0;
opacity: 0;
z-index: -1;
transition: 0.2s ease-out;
}
footer .pagetop.on{
opacity: 1;
z-index: 1000;
}
footer .pagetop a{
display: block;
font-size: 0;
line-height: 0;
width: 32rem;
height: 32rem;
border-radius: 16rem;
background: #143c78;
filter: drop-shadow(0 0 4px rgba(235,240,250,1.0));
}
footer .pagetop a::before{
content: "";
width: 8rem;
height: 1rem;
background: #fff;
position: absolute;
top: 0;
bottom: 2rem;
left: 5rem;
right: 0;
margin: auto;
transform: rotate(45deg);
}
footer .pagetop a::after{
content: "";
width: 8rem;
height: 1rem;
background: #fff;
position: absolute;
top: 0;
bottom: 2rem;
left: 0;
right: 5rem;
margin: auto;
transform: rotate(-45deg);
}



/* ==============================================
nav
============================================== */

nav{
position: fixed;
top:0;
left: 0;
width: 100%;
height: 100%;
background: rgba(20,60,120,0.9);
z-index: -1;
opacity: 0;
transition: 0.2s ease-out;
}
nav.on{
z-index: 2000;
opacity: 1;
}
nav div{
position: absolute;
top:0;
right: -100%;
background: #fff;
width: calc(100% - 40rem);
height: 100%;
padding: 0 0 90rem 30rem;
overflow-y: scroll;
transition: 0.2s ease-out;
}
nav.on div{
right: 0;
}
nav div h2{
font-size: 19rem;
font-weight: 700;
padding: 20rem 0 0 0;
height: 60rem;
}
nav div ul:nth-child(2){
border-top: 1px solid #c8cdd7;
}
nav div ul:nth-child(2) li{
}
nav div ul:nth-child(2) li a{
height: 44rem;
display: block;
border-bottom: 1px solid #c8cdd7;
padding: 11rem 0 0 0;
}
nav div ul:nth-child(3){
padding: 10rem 0 0 0;
}
nav div ul:nth-child(3) li{
}
nav div ul:nth-child(3) li a{
line-height: 28rem;
}
nav div ul:nth-child(4){
border-top: 1px solid #c8cdd7;
padding: 10rem 0 0 0;
margin: 8rem 0 0 0;
}
nav div ul:nth-child(4) li{
}
nav div ul:nth-child(4) li a{
line-height: 28rem;
}



nav div .close{
position: absolute;
top:0;
right: 0;
width: 60rem;
height: 60rem;
}
nav div .close a{
width: 60rem;
height: 60rem;
display: block;
}
nav div .close a img{
display: none;
}
nav div .close a::before{
content: "";
background: #143c78;
width: 2rem;
height: 20rem;
border-radius: 1rem;
transform: rotate(45deg);
position: absolute;
top:0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
nav div .close a::after{
content: "";
background: #143c78;
width: 2rem;
height: 20rem;
border-radius: 1rem;
transform: rotate(-45deg);
position: absolute;
top:0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}



/* ==============================================
main
============================================== */

main{
position: relative;
padding: 2rem 16rem 0 16rem;
}
main article{
position: relative;
background: #fff;
margin: -2rem -16rem 2rem -16rem;
padding: 0 16rem 24rem 16rem;
z-index: 100;
}
main article::after{
content: "";
position: absolute;
bottom: -8rem;;
left: 0;
width: 100%;
height: 8rem;
background: linear-gradient(0deg, rgba(63,76,93,0.0) 0%, rgba(63,76,93,0.1) 100%);
}
main section{
position: relative;
}



main .left{
text-align: left!important;
}
main .right{
text-align: right!important;
}
main .center{
text-align: center!important;
}

main .bottom{
margin-bottom: 20rem;
}


main h2:first-child{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 22rem 0 0 0;
}
main h2:first-child span{
font-size: 12rem;
line-height: 15rem;
display: block;
font-weight: 500;
padding: 0 0 4rem 0;
}
main h2:first-child + .date{
font-size: 14rem;
line-height: 16rem;
position: absolute;
top:19rem;
right: 0;
height: 22rem;
background: #fff;
border-radius: 10rem;
padding: 3rem 10rem 0 10rem;
}
main p:first-child{
padding: 22rem 0 0 0;
}
main p:first-child + h2{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 12rem 0 0 0;
}
main figure{
padding: 16rem 0 4rem 0;
}
main figure img{
}



main .link a{
text-decoration: underline;
}
main .button{
text-align: center;
padding: 20rem 0 0 0;
}
main .button + .button{
padding: 8rem 0 0 0;
}
main .button a{
position: relative;
display: inline-block;
background: #fff;
border-radius: 30rem;
min-width: 160rem;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
}
main .button a img{
width: auto;
height: 40rem;
display: inline-block;
vertical-align: middle;
margin: -20rem 8rem -16rem 8rem;
}
main .button.s a{
font-size: 14rem;
line-height: 14rem;
font-weight: 500;
text-align: center;
height: 31rem;
padding: 9rem 16rem 0 16rem;
}
main .button.m a{
font-size: 16rem;
line-height: 16rem;
font-weight: 500;
text-align: center;
height: 46rem;
/*padding: 15rem 20rem 0 20rem;*/
padding: 15rem 22rem 0 22rem;
}
main .button.l a{
font-size: 20rem;
line-height: 20rem;
font-weight: 700;
letter-spacing: 1rem;
text-align: center;
height: 60rem;
padding: 20rem 24rem 0 24rem;
}
main .button.strong a img{
}
main .button.border a{
border: solid 1px #143c78;
}
main .button.s.border a{
padding: 8rem 16rem 0 16rem;
}
main .button.m.border a{
padding: 14rem 20rem 0 20rem;
}
main .button.l.border a{
padding: 19rem 24rem 0 24rem;
}
main .button.color a{
color: #fff;
background: #143c78;
}
main .button.red a{
color: #fff;
background: linear-gradient(135deg, rgba(255,90,90,1) 0%, rgba(255,40,120,1) 100%);
text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}
main .button.off a{
background: #888;
color: #fff;
text-shadow: none;
filter: none;
pointer-events: none;
}
main .button.left a{
text-align: left;
width: 100%;
}
main .button.left a img:first-child{
margin: -20rem 12rem -16rem 0;
}
main .button.left a img:last-child{
position: absolute;
top:0;
bottom:2rem;
right: 24rem;
margin: auto;
}



main p.attention{
background: #fff;
color: #e60f37;
margin: -2rem -16rem 0 -16rem;
padding: 11rem 16rem 12rem 16rem;
}



/* 
main .inner
---------------------------------------------- */

main .inner{
position: relative;
background: #fff;
border-radius: 12rem;
margin: 20rem 0 0 0;
padding: 0 16rem 14rem 16rem;
}
main h2 + .inner,
main h2 + .date + .inner{
margin: 12rem 0 0 0;
}
main .inner h2{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 12rem 0 0 0;
}
main .inner h2:first-child{
padding: 17rem 0 0 0;
}
main .inner h3{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 12rem 0 0 0;
}
main .inner h3:first-child{
padding: 17rem 0 0 0;
}
main .inner h3.center img{
display: block;
width: auto;
height: 24rem;
margin: 0 auto 8rem auto;
}
main .inner hr + h3{
padding: 16rem 0 0 0;
}
main .inner h4{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 12rem 0 0 0;
}
main .inner hr + h4{
padding: 16rem 0 0 0;
}
main .inner p{
padding: 10rem 0 0 0;
}
main .inner p:first-child{
padding: 14rem 0 0 0;
}
main .inner p strong{
font-weight: 700;
}
main .inner hr + p{
padding: 14rem 0 0 0;
}
main .inner p.note{
font-size: 12rem;
line-height: 16rem;
padding: 14rem 0 0 0;
}
main .inner p.note a{
font-size: 12rem;
line-height: 16rem;
}
main .inner ul{
padding: 10rem 0 0 0;
}
main .inner hr + ul{
padding: 14rem 0 0 0;
}
main .inner ul li{
text-indent: -14rem;
margin: 0 0 0 14rem;
}
main .inner ul li ul{
padding: 0;
}
main .inner ul.note li{
font-size: 12rem;
line-height: 16rem;
text-indent: -12rem;
margin: 0 0 0 12rem;
}
main .inner ul.note li:first-child{
padding: 0;
}
main .inner ul.note li a{
font-size: 12rem;
line-height: 16rem;
}
main .inner a{
text-decoration: underline;
}
main .inner a.blank::after{
content: "";
background: #143c78 url("../images/cmn_icn_blank.svg") no-repeat center;
background-size: 8rem 8rem;
width: 14rem;
height: 14rem;
border-radius: 7rem;
display: inline-block;
vertical-align: middle;
margin: -3rem 0 0 4rem;
}
main .inner hr{
width: calc(100% + 32rem);
height: 1px;
border: none;
background: #c8cdd7;
margin: 16rem -16rem 0 -16rem;
}
main .inner h2 + hr,
main .inner .badge + hr,
main .inner figure + hr,
main .inner .table-form + hr{
margin: 17rem -16rem 0 -16rem;
}
main .inner figure{
padding: 16rem 0 4rem 0;
}
main .inner figure img{
}
main .inner .button{
padding: 16rem 0 4rem 0;
}
main .inner .button + .button{
padding: 8rem 0 4rem 0;
}
main .inner .button:last-child{
padding: 16rem 0 12rem 0;
}
main .inner .button a{
text-decoration: none;
}
main .inner .bg{
background: #ebf0fa;
padding: 10rem 16rem 12rem 16rem;
margin: 16rem 0 4rem 0;
}



main .inner .badge{
font-size: 16rem;
line-height: 16rem;
font-weight: 300;
position: absolute;
top:-12rem;
right: -8rem;
width: 60rem;
height: 60rem;
border-radius: 30rem;
background: #143c78;
color: #fff;
text-align: center;
padding: 18rem 0 0 0!important;
}
main .inner .badge span{
font-size: 24rem;
line-height: 24rem;
font-weight: 300;
color: #fff;
margin: 0 2rem 0 2rem;
}



main .inner .table{
padding: 8rem 0 0 0;
}
main .inner .table table{
width: 100%;
}
main .inner .table table th{
font-weight: 500;
border-bottom: 1px solid #c8cdd7;
vertical-align: top;
text-align: left;
padding: 6rem 0 5rem 0;
}
main .inner .table table td{
border-bottom: 1px solid #c8cdd7;
vertical-align: top;
text-align: left;
padding: 6rem 0 5rem 0;
}
main .inner .table table tr:last-child th,
main .inner .table table tr:last-child td{
border-bottom: none;
padding: 6rem 0 0 0;
}
main .inner .table table td span{
font-size: 12rem;
line-height: 16rem;
}
main .inner .table table td img{
width: auto;
height: 14rem;
}



main .inner .table-scroll{
padding: 16rem 0 0 0;
overflow-x: scroll;
}
main .inner .table-scroll table{
width: 360rem;
}
main .inner .table-scroll table th{
font-weight: 500;
vertical-align: top;
text-align: center;
background: #ebf0fa;
border-right: 1px solid #fff;
padding: 7rem 0 5rem 0;
width: 60rem;
}
main .inner .table-scroll table th:first-child{
position: sticky;
left: 0;
}
main .inner .table-scroll table th:first-child::after{
content: "";
position: absolute;
top:0;
right: -1px;
width: 1px;
height: 100%;
background: #c8cdd7;
}
main .inner .table-scroll table th:last-child{
width: auto;
text-align: left;
padding: 7rem 0 5rem 8rem;
}
main .inner .table-scroll table td{
vertical-align: top;
text-align: center;
padding: 6rem 0 6rem 0;
background: #fff url("../images/cmn_dln-grayishpink.svg") bottom repeat-x;
background-size: auto 1rem;
}
main .inner .table-scroll table td:first-child{
position: sticky;
left: 0;
}
main .inner .table-scroll table td:first-child::after{
content: "";
position: absolute;
top:0;
right: -1px;
width: 1px;
height: 100%;
background: #c8cdd7;
}
main .inner .table-scroll table td:last-child{
text-align: left;
padding: 6rem 0 6rem 8rem;
}
main .inner .table-scroll table tr:last-child td{
background: none;
padding: 6rem 0 0 0;
}
main .inner .table-scroll table tr:last-child td:last-child{
padding: 6rem 0 0 8rem;
}
main .inner .table-scroll table td img{
width: auto;
height: 14rem;
margin: 2rem 4rem 0 0;
}



main .inner .table-form{
margin: 0 0 12rem 0;
}
main .inner .table-form:first-child{
padding: 5rem 0 0 0;
}
main .inner .table-form table{
width: 100%;
}
main .inner .table-form table th{
position: relative;
display: block;
text-align: left;
vertical-align: top;
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 20rem 0 0 0;
}
main .inner .table-form table th span{
display: inline-block;
vertical-align: middle;
margin: -4rem 0 0 4rem;
padding: 0 8rem;
height: 18rem;
border-radius: 10rem;
background: #e60f37;
color: #fff;
font-size: 11rem;
line-height: 18rem;
}
main .inner .table-form table th .button{
position: absolute;
top:13rem;
right: 0;
padding: 0;
margin: 0;
}
main .inner .table-form table th .button a{
min-width: inherit;
}
main .inner .table-form table td{
display: block;
text-align: left;
vertical-align: top;
padding: 10rem 0 0 0;
}
main .inner .table-form table td strong{
font-weight: 700;
}
main .inner .table-form table td p.q{
position: relative;
display: block;
font-weight: 700;
margin: 4rem 0 0 0;
padding: 0 0 0 28rem;
}
main .inner .table-form table td p.q strong{
position: absolute;
top:0;
left: 0;
font-size: 17rem;
font-weight: 700;
}
main .inner .table-form table td p.q span{
display: inline-block;
vertical-align: middle;
margin: -4rem 0 0 4rem;
padding: 0 8rem;
height: 18rem;
border-radius: 10rem;
background: #e60f37;
color: #fff;
font-size: 11rem;
line-height: 18rem;
}
main .inner .table-form table td p.a{
padding: 4rem 0 0 28rem;
}
main .inner .table-form table td ul.a{
padding: 0;
}
main .inner .table-form table td ul.a li{
padding: 4rem 0 0 28rem;
}
main .inner .table-form table td input.text{
-webkit-appearance: none;
appearance: none;
outline: none;
width: 100%;
height: 46rem;
border-radius: 8rem;
font-size: 17rem;
vertical-align: middle;
border: solid 1px #c8cdd7;
background: #ebf0fa;
box-shadow:0 3rem 4rem 0 rgba(0,10,20,0.1) inset;
padding: 0 12rem;
margin: 0 0 4rem 0;
}
main .inner .table-form table td input.text.l{
width: 48%;
}
main .inner .table-form table td input.text.m{
width: 20%;
}
main .inner .table-form table td input.text.s{
width: 15%;
}
main .inner .table-form table td select{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
position: relative;
width: 100%;
height: 46rem;
border-radius: 8rem;
font-size: 17rem;
vertical-align: middle;
border: solid 1px #c8cdd7;
background: #ebf0fa url("../images/cmn_icn_select.svg") top 17rem right 12rem no-repeat;
background-size: 10rem 8rem;
box-shadow:0 3rem 4rem 0 rgba(0,10,20,0.1) inset;
padding: 0 12rem;
margin: 0 4rem 4rem 4rem;
}
main .inner .table-form table td select:first-child{
margin: 0 4rem 4rem 0;
}
main .inner .table-form table td select.m{
width: 26.5%;
}
main .inner .table-form table td select.s{
width: 20.5%;
}
main .inner .table-form table td input[type="button"]{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: solid 1px;
display: inline-block;
vertical-align: middle;
background: #fff;
height: 42rem;
border-radius: 21rem;
padding: 0 20rem;
margin: -5rem 0 0 14rem;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
}
main .inner .table-form table td textarea{
-webkit-appearance: none;
appearance: none;
outline: none;
width: 100%;
height: 120rem;
border-radius: 8rem;
font-size: 16rem;
border: solid 1px #c8cdd7;
background: #ebf0fa;
box-shadow:0 3rem 4rem 0 rgba(0,10,20,0.1) inset;
padding: 12rem 12rem 12rem 12rem;
margin: 12rem 0 0 0;
}



main .inner .table-form .radio {
margin: 0;
padding: 0;
}
main .inner .table-form .radio li {
display: inline-block;
position: relative;
padding: 0;
margin: 0 10rem 0 0;
text-indent: 0;
}
main .inner .table-form .radio.vertical li {
display: block;
margin: 10rem 0 5rem 0;
}
main .inner .table-form .radio li label {
cursor: pointer;
display: block;
padding: 1rem 0 0 28rem;
}
main .inner .table-form .radio li input[type="radio"] {
display: none;
border: 0;
margin: 0;
}
main .inner .table-form .radio li label:before,
main .inner .table-form .radio li label:after {
content: "";
position: absolute;
display: inline-block;
border-radius: 50%;
transition: transform 0.2s ease;
}
main .inner .table-form .radio li label:before {
top: 0;
left: 0;
width: 21rem;
height: 21rem;
border: 1px solid #c8cdd7;
}
main .inner .table-form .radio li label:after {
top: 5rem;
left: 5rem;
width: 13rem;
height: 13rem;
background-color: transparent;
transform: scale(0);
}
main .inner .table-form .radio li input[type="radio"]:checked + label:before {
border: 1px solid #143c78;
}
main .inner .table-form .radio li input[type="radio"]:checked + label:after {
background-color: #143c78;
transform: scale(1);
}



main .inner .table-form .check {
padding: 0;
margin: 0;
}
main .inner .table-form .check li {
position: relative;
margin: 10rem 0 5rem 0;
padding: 0;
text-indent: 0;
}
main .inner .table-form .check li label {
cursor: pointer;
display: inline-block;
padding: 1rem 0 1rem 30rem;
}
main .inner .table-form .check li input[type="checkbox"] {
margin: 0;
display: none;
}
main .inner .table-form .check li label:before,
main .inner .table-form .check li label:after {
content: "";
position: absolute;
display: inline-block;
transition: transform 0.2s ease;
}
main .inner .table-form .check li label:before {
top: 0;
left: 0;
width: 21rem;
height: 21rem;
background: #FFF;
border: solid 1px #c8cdd7;
}
main .inner .table-form .check li label:after {
top: 4rem;
left: 9rem;
width: 4rem;
height: 10rem;
border-right: 2px solid transparent;
border-bottom: 2px solid transparent;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
transition: border-bottom-color,border-right-color 0.2s ease;
}
main .inner .table-form .check li input[type="checkbox"]:checked + label:after {
border-color: #465a82;
}



main .inner .table-form table td .error{
display: block;
font-size: 12rem;
line-height: 16rem;
color: #e60f37;
padding: 4rem 0 0 0;
}



main .inner .frame{
margin: 16rem 0 4rem 0;
padding: 0 16rem 16rem 16rem;
border: 1px solid #c8cdd7;
}



main .inner .frame-scroll{
overflow:auto;
height: 120rem;
margin: 16rem 0 16rem 0;
padding: 0 16rem 16rem 16rem;
border: 1px solid #c8cdd7;
}
main .inner h2 + .frame-scroll{
margin: 8rem 0 16rem 0;
}
main .inner .frame-scroll::-webkit-scrollbar{
width:4rem;
background: #ebf0fa;
}
main .inner .frame-scroll::-webkit-scrollbar-thumb{
background: #143c78;
}



main .inner .agreement {
position: relative;
text-indent: 0;
background: #ebf0fa;
margin: 16rem 0 4rem 0;
padding: 0;
}
main .inner .agreement + .agreement {
margin: 0 0 4rem 0;
}
main .inner .agreement label {
cursor: pointer;
display: block;
padding: 11rem 12rem 12rem 40rem;
}
main .inner .agreement input[type="checkbox"] {
margin: 0;
display: none;
}
main .inner .agreement label:before,
main .inner .agreement label:after {
content: "";
position: absolute;
display: inline-block;
transition: transform 0.2s ease;
}
main .inner .agreement label:before {
top: 10rem;
left: 10rem;
width: 21rem;
height: 21rem;
background: #FFF;
border: solid 1px #c8cdd7;
}
main .inner .agreement label:after {
top: 14rem;
left: 19rem;
width: 4rem;
height: 10rem;
border-right: 2px solid transparent;
border-bottom: 2px solid transparent;
border-radius: 1px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
transition: border-bottom-color,border-right-color 0.2s ease;
}
main .inner .agreement input[type="checkbox"]:checked + label:after {
border-color: #465a82;
}



main .inner .category {
padding: 6rem 0 0 0;
}
main .inner .category li {
margin: 0;
padding: 12rem 0 0 0;
text-indent: 0;
}
main .inner .category li label {
line-height: 19rem;
cursor: pointer;
position: relative;
display: block;
padding: 0 0 0 27rem;
}
main .inner .category li label img {
border-radius: 8rem;
height: 77rem;
margin: 0 0 8rem 0;
}
main .inner .category li input[type="checkbox"] {
margin: 0;
display: none;
}
main .inner .category li label:before,
main .inner .category li label:after {
content: "";
position: absolute;
display: inline-block;
transition: transform 0.2s ease;
}
main .inner .category li label:before {
top: 32rem;
left: 0;
width: 13rem;
height: 13rem;
background: #FFF;
border: solid 1px #c8cdd7;
}
main .inner .category li label:after {
top: 34rem;
left: 5rem;
width: 2rem;
height: 7rem;
border-right: 2px solid transparent;
border-bottom: 2px solid transparent;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
transition: border-bottom-color,border-right-color 0.2s ease;
}
main .inner .category li input[type="checkbox"]:checked + label:before {
background: #465a82;
border: solid 1px #465a82;
}
main .inner .category li input[type="checkbox"]:checked + label:after {
border-color: #fff;
}



main .inner .category.l2:after { content:"."; clear:both; height:0; display:block; visibility:hidden; }

main .inner .category.l2 li {
float: left;
width: calc(50% - 8rem);
margin: 12rem 16rem 0 0;
padding: 0;
}
main .inner .category.l2 li:nth-child(2n) {
margin: 12rem 0 0 0;
}
main .inner .category.l2 li label {
padding: 84rem 0 0 20rem;
}
main .inner .category.l2 li label img {
position: absolute;
top:0;
left: 0;
margin: 0;
}
main .inner .category.l2 li label:before {
top: 87rem;
}
main .inner .category.l2 li label:after {
top: 89rem;
}



main .inner .category.l2p:after { content:"."; clear:both; height:0; display:block; visibility:hidden; }

main .inner .category.l2p li {
float: left;
width: calc(50% - 8rem);
margin: 12rem 16rem 0 0;
padding: 0;
}
main .inner .category.l2p li:nth-child(2n) {
margin: 12rem 0 0 0;
}
main .inner .category.l2p li label {
padding: 0;
}
main .inner .category.l2p li label span {
display: block;
position: relative;
}
main .inner .category.l2p li label span::after {
content: "";
position: absolute;
top:0;
left: 0;
width: 100%;
height: calc(100% - 8rem);
border: solid 2rem #143c78;
box-sizing: border-box;
border-radius: 8rem;
opacity: 0;
transition: 0.2s ease-out;
}
main .inner .category.l2p li input[type="checkbox"]:checked + label span::after {
opacity: 1;
}
main .inner .category.l2p li label img {
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
transition: 0.2s ease-out;
}
main .inner .category.l2p li input[type="checkbox"]:checked + label img {
filter: none;
}
main .inner .category.l2p li label:before,
main .inner .category.l2p li label:after {
display: none;
}



main .inner .category + .error{
display: block;
color: #e60f37;
padding: 12rem 0 0 0;
}



main .inner .faq h3 {
position: relative;
}
main .inner .faq h3 a {
position: relative;
text-decoration: none;
display: block;
text-align: left;
font-weight: 700;
margin: -17rem -16rem -18rem -16rem;
padding: 17rem 40rem 18rem 32rem;
}
main .inner .faq h3 a::before {
content: "Q";
font-family: 'Roboto','Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-size: 16rem;
line-height: 16rem;
font-weight:700;
color:#143c78;
position: absolute;
top:20rem;
left: 16rem;
}
main .inner .faq h3 a::after{
position: absolute;
top:0;
bottom: 2rem;
right: 16rem;
margin: auto;
}
main .inner .faq div {
position: relative;
padding: 0 0 0 16rem
}
main .inner .faq div::before {
content: "A";
font-family: 'Roboto','Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-size: 16rem;
line-height: 16rem;
font-weight:700;
color:#143c78;
position: absolute;
top:17rem;
left: 0;
}



/* 
main .status
---------------------------------------------- */

main .status{
position: relative;
border-radius: 12rem;
padding: 0 16rem 14rem 16rem;
height: 204rem;
}
main .status h2{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
color: #fff;
padding: 19rem 0 0 0;
}
main .status h2:first-child + .date{
font-size: 14rem;
top:16rem;
right: 14rem;
height: 22rem;
border-radius: 11rem;
background: rgba(255,255,255,0.4);
padding: 3rem 10rem 0 10rem;
}
main .status h3{
font-size: 14rem;
line-height: 20rem;
font-weight: 700;
background: url("../images/cmn_icn_rnk.svg") no-repeat;
background-size: auto 24rem;
padding: 33rem 0 0 0;
margin: 27rem 0 0 0;
}
main .status .point{
text-align: right;
position: absolute;
top:0;
right: 0;
padding: 51rem 14rem 0 0;
font-size: 20rem;
line-height: 20rem;
}
main .status .point span{
display: block;
text-align: right;
font-size: 12rem;
line-height: 20rem;
letter-spacing: 1rem;
font-weight: 500;
}
main .status .point strong{
font-size: 50rem;
line-height: 50rem;
font-weight: 300;
letter-spacing: -2rem;
text-align: right;
vertical-align: bottom;
display: inline-block;
margin: 0rem 4rem -4.5rem 2rem;
position: relative;
}
main .status div{
background: url("../images/cmn_dln-white.svg") repeat-x;
background-size: auto 1rem;
margin: 15rem 0 0 0;
}
main .status div h3{
font-size: 12rem;
line-height: 16rem;
font-weight: 700;
margin: 0;
padding: 18rem 0 0 0;
background: none;
}
main .status div p{
padding: 0;
}
main .status div .button{
position: absolute;
bottom:0;
right: 0;
padding: 0 14rem 19rem 0;
}
main .status div .button a{
min-width: 80rem;
}



.rank-01 main .status{
background: url("../images/rnk_bg-rnk1.png") no-repeat;
background-size: cover;
}
.rank-01 main .status h2:first-child,
.rank-01 main .status h2:first-child + .date,
.rank-01 main .status h3,
.rank-01 main .status .point,
.rank-01 main .status .point span,
.rank-01 main .status .point strong,
.rank-01 main .status div h3,
.rank-01 main .status div p{
color: #fff;
}
.rank-02 main .status{
background: url("../images/rnk_bg-rnk2.png") no-repeat;
background-size: cover;
}
.rank-02 main .status h2:first-child,
.rank-02 main .status h2:first-child + .date,
.rank-02 main .status h3,
.rank-02 main .status .point,
.rank-02 main .status .point span,
.rank-02 main .status .point strong,
.rank-02 main .status div h3,
.rank-02 main .status div p{
color: #502d14;
}
.rank-03 main .status{
background: url("../images/rnk_bg-rnk3.png") no-repeat;
background-size: cover;
}
.rank-03 main .status h2:first-child,
.rank-03 main .status h2:first-child + .date,
.rank-03 main .status h3,
.rank-03 main .status .point,
.rank-03 main .status .point span,
.rank-03 main .status .point strong,
.rank-03 main .status div h3,
.rank-03 main .status div p{
color: #444444;
}
.rank-04 main .status{
background: url("../images/rnk_bg-rnk4.png") no-repeat;
background-size: cover;
}
.rank-04 main .status h2:first-child,
.rank-04 main .status h2:first-child + .date,
.rank-04 main .status h3,
.rank-04 main .status .point,
.rank-04 main .status .point span,
.rank-04 main .status .point strong,
.rank-04 main .status div h3,
.rank-04 main .status div p{
color: #504614;
}
.rank-05 main .status{
background: url("../images/rnk_bg-rnk5.png") no-repeat;
background-size: cover;
}
.rank-05 main .status .date + h3{
background: url("../images/cmn_icn_rnk5-ref.svg") no-repeat;
background-size: auto 24rem;
}
.rank-05 main .status h2:first-child,
.rank-05 main .status h2:first-child + .date,
.rank-05 main .status h3,
.rank-05 main .status .point,
.rank-05 main .status .point span,
.rank-05 main .status .point strong,
.rank-05 main .status div h3,
.rank-05 main .status div p{
color: #444444;
}
.rank-06 main .status{
background: url("../images/rnk_bg-rnk6.png") no-repeat;
background-size: cover;
}
.rank-06 main .status .date + h3{
background: url("../images/cmn_icn_rnk6-ref.svg") no-repeat;
background-size: auto 24rem;
}
.rank-06 main .status h2:first-child,
.rank-06 main .status h2:first-child + .date,
.rank-06 main .status h3,
.rank-06 main .status .point,
.rank-06 main .status .point span,
.rank-06 main .status .point strong,
.rank-06 main .status div h3,
.rank-06 main .status div p{
color: #fff;
}
.rank-07 main .status{
background: url("../images/rnk_bg-rnk7.png") no-repeat;
background-size: cover;
}
.rank-07 main .status .date + h3{
background: url("../images/cmn_icn_rnk7-ref.svg") no-repeat;
background-size: auto 24rem;
}
.rank-07 main .status h2:first-child,
.rank-07 main .status h2:first-child + .date,
.rank-07 main .status h3,
.rank-07 main .status .point,
.rank-07 main .status .point span,
.rank-07 main .status .point strong,
.rank-07 main .status div h3,
.rank-07 main .status div p{
color: #143c78;
}



/* 
main .next
---------------------------------------------- */

main .next{
position: relative;
border: solid 2px #c8cdd7;
border-radius: 12rem;
margin: 20rem 0 0 0;
padding: 0 16rem 14rem 16rem;
}
main .next h2{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 18rem 0 0 0;
}
main .next h2:first-child + .date{
background: #ebf0fa;
top:16rem;
right: 14rem;
}
main .next h3{
font-size: 12rem;
line-height: 16rem;
font-weight: 700;
padding: 28rem 0 0 0;
}
main .next p{
padding: 0;
}
main .next .point{
font-weight: 500;
text-align: right;
position: absolute;
bottom:0;
right: 0;
padding: 0 14rem 13rem 0;
}
main .next .point img{
width: auto;
height: 16rem;
display: inline-block;
vertical-align: bottom;
margin: 0 2rem 5rem 0;
background: #143c78;
border-radius: 8rem;
}
main .next .point span{
font-size: 20rem;
line-height: 20rem;
}
main .next .point span strong{
font-size: 50rem;
line-height: 50rem;
font-weight: 300;
letter-spacing: -2rem;
text-align: right;
vertical-align: bottom;
display: inline-block;
margin: 0rem 4rem -3rem 0;
}



/* 
main .banner
---------------------------------------------- */

main .banner{
margin: 20rem 0 0 0;
}
main h2 + .banner,
main h2 + .date + .banner{
margin: 10rem 0 0 0;
}
main .banner ul li{
padding: 20rem 0 0 0;
}
main .banner ul li:first-child{
padding: 0;
}
main .banner ul li a{
}
main .banner ul li a img{
border-radius: 12rem;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
}



/* 
main .table-scroll
---------------------------------------------- */

main .table-scroll{
}
main .table-scroll table{
}
main .table-scroll table th{
font-weight: 500;
text-align: center;
}
main .table-scroll table td{
text-align: center;
}



/* 
main .item
---------------------------------------------- */

main .item{
display: table;
}
main .item figure{
display: table-cell;
vertical-align: top;
padding: 16rem 0 6rem 0;
}
main .item figure img{
width: auto;
width: 60rem;
height: 60rem;
object-fit: cover;
}
main .item h3{
display: table-cell;
font-size: 14rem;
line-height: 20rem;
vertical-align: middle;
padding: 16rem 32rem 4rem 12rem;
}



/* 
main .count
---------------------------------------------- */

main .count{
position: relative;
height: 44rem;
}
main .count h3{
display: inline-block;
vertical-align: top;
font-size: 14rem;
line-height: 20rem;
font-weight: 700;
padding: 19rem 0 0 0;
margin: 0;
}
main .count p{
display: inline-block;
padding: 12rem 0 0 0;
}
main .count p input{
-webkit-appearance: none;
appearance: none;
outline: none;
font-size: 22rem;
line-height: 24rem;
font-weight: 700;
vertical-align: middle;
width: 80rem;
height: 32rem;
border-radius: 8rem;
border: solid 1px #c8cdd7;
background: #ebf0fa;
box-shadow:0 3rem 4rem 0 rgba(0,10,20,0.1) inset;
margin: 0 8rem 0 6rem;
padding: 0 0 0 8rem;
}
main .count ul{
position: absolute;
top:0;
right: 0;
padding: 0;
}
main .count ul li{
position: relative;
float: left;
text-indent: 0;
margin: 12rem 0 0 8rem;
padding: 0;
}
main .count ul li input{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
display: block;
width: 32rem;
height: 32rem;
border-radius: 16rem;
background: #143c78;
font-size: 0;
line-height: 0;
}
main .count ul li.off input{
background: #ccc;
}
main .count ul li::before{
content: "";
position: absolute;
top:0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: 12rem;
height: 2rem;
background: #fff;
}
main .count ul li:last-child::after{
content: "";
position: absolute;
top:0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: 2rem;
height: 12rem;
background: #fff;
}
main .count .total{
position: absolute;
top:0;
right: 0;
padding: 18rem 0 0 0;
}
main .count .total span{
font-size: 20rem;
line-height: 20rem;
display: inline-block;
vertical-align: middle;
margin: -4rem 2rem 0 0;
}



/* 
main .plus
---------------------------------------------- */

main .plus{
position: relative;
background: #fffdc8;
border-radius: 12rem;
margin: 20rem 0 0 0;
padding: 0 16rem 15rem 16rem;
}
main .plus h2{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
padding: 14rem 0 0 0;
}
main .plus h2 img{
width: auto;
height: 16rem;
display: inline-block;
vertical-align: middle;
margin: -4rem 4rem 0 0;
background: #143c78;
border-radius: 8rem;
}
main .plus p{
font-size: 20rem;
line-height: 20rem;
position: absolute;
top:9rem;
right: 16rem;
font-weight: 500;
text-align: right;
padding: 0;
}
main .plus p span{
font-size: 30rem;
line-height: 30rem;
text-align: right;
margin: 0 2rem 0 0;
}



/* 
main .now
---------------------------------------------- */

main .now {
margin: -12rem 0;
}
main .now p {
text-align: right;
}
main .now p img {
width: auto;
height: 32rem;
border-radius: 16rem;
display: inline-block;
vertical-align: middle;
margin: -3rem 0 0 4rem;
}



/* 
main .accordion
---------------------------------------------- */

main .accordion{
padding: 0 0 4rem 0;
}
main .accordion .accordion-button{
text-align: center;
}
main .accordion .accordion-button::after{
content: "";
background: #143c78 url("../images/cmn_icn_accordion.svg");
background-size: 16rem 16rem;
border-radius: 8rem;
width: 16rem;
height: 16rem;
display: inline-block;
vertical-align: middle;
margin: -4rem 0 0 4rem;
}
main .accordion .accordion-button.on::after{
transform: rotate(180deg);
}
main .accordion .accordion-panel{
}
main .accordion .accordion-panel h3{
}
main .accordion .accordion-panel p{
}
main .accordion .accordion-panel ul{
}
main .accordion .accordion-panel ul li{
}



/* 
main .tab
---------------------------------------------- */

main .tab{
display: flex;
margin: 20rem 0 0 0;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
}
main .tab li{
width: 100%;
}
main .tab li a{
font-size: 15rem;
line-height: 20rem;
font-weight: 500;
display: flex;
justify-content: center;
align-items: center;
height: 44rem;
background: #fff;
border-left: solid 1px #c8cdd7;
}
main .tab li.here a{
color: #fff;
background: #143c78;
}
main .tab li:first-child a{
border-radius: 12rem 0 0 12rem;
border-left: none;
}
main .tab li:last-child a{
border-radius: 0 12rem 12rem 0;
}



/* 
main .benefit
---------------------------------------------- */

main .benefit{
}
main .benefit.m div,
main .benefit.l{
position: relative;
display: block;
background: #fff;
border-radius: 12rem;
margin: 20rem 0 0 0;
padding: 0 16rem 24rem 16rem;
}
main .benefit figure{
padding: 0;
margin: 0 -16rem;
}
main .benefit figure img{
border-radius: 12rem 12rem 0 0;
}
main .benefit h2{
font-size: 20rem;
line-height: 24rem;
font-weight: 700;
padding: 20rem 0 0 0;
}
main .benefit h2 span{
font-size: 14rem;
line-height: 16rem;
display: inline-block;
vertical-align: middle;
margin: -4rem 4rem 0 0;
height: 24rem;
border-radius: 12rem;
background: #143c78;
color: #fff;
padding: 4rem 8rem 0 8rem;
}
main .benefit table{
margin: 12rem 0 4rem 0;
}
main .benefit table th{
font-size: 14rem;
line-height: 16rem;
padding: 8rem 0 0 0;
vertical-align: top;
}
main .benefit table th span{
font-size: 14rem;
line-height: 16rem;
display: block;
width: 88rem;
height: 24rem;
border-radius: 12rem;
background: #ebf0fa;
text-align: center;
padding: 4rem 0 0 0;
}
main .benefit table td{
font-size: 14rem;
line-height: 16rem;
padding: 12rem 0 0 8rem;
vertical-align: top;
}

main .benefit table td img{
width: auto;
height: 16rem;
margin: -4rem 8rem 0 0;
display: inline-block;
vertical-align: middle;
}


main .benefit p{
padding: 10rem 0 0 0;
}
main .benefit h2 + p{
padding: 20rem 0 0 0;
}
main .benefit p.note{
font-size: 12rem;
line-height: 16rem;
padding: 6rem 0 0 0;
}

main .benefit p.rank{
padding: 2rem 0 0 0;
}

main .benefit ul{
padding: 6rem 0 0 0;
}
main .benefit ul.note{
padding: 2rem 0 0 0;
}
main .benefit ul li{
text-indent: -14rem;
margin: 0 0 0 14rem;
padding: 4rem 0 0 0;
}
main .benefit ul.note li{
font-size: 12rem;
line-height: 16rem;
text-indent: -12rem;
margin: 0 0 0 12rem;
}
main .benefit .button{
padding: 16rem 20rem 0 20rem;
}
main .benefit .button a{
width: 80%;
}



/* 
main .month
---------------------------------------------- */

main .month{
height: 32rem;
margin: 20rem 0 0 0;
position: relative;
}
main .month select{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: none;
display: table;
height: 32rem;
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
text-align: center;
margin: auto;
border: none;
background: #fff;
padding: 0 20rem;
border-radius: 16rem;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
}
main .month select::-ms-expand {
display: none;
}
main .month ul{
}
main .month ul li{
position: absolute;
top:0;
}
main .month ul li.off{
display: none;
}
main .month ul li a{
display: block;
height: 32rem;
padding: 7rem 12rem 0 12rem;
}
main .month ul li:first-child{
left: 0;
}
main .month ul li:first-child::before{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
top:14rem;
left: 0;
transform: rotate(-45deg);
}
main .month ul li:first-child::after{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
top:19rem;
left: 0;
transform: rotate(45deg);
}
main .month ul li:last-child{
right: 0;
}
main .month ul li:last-child::before{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
top:14rem;
right: 0;
transform: rotate(45deg);
}
main .month ul li:last-child::after{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
top:19rem;
right: 0;
transform: rotate(-45deg);
}



/* 
main .history
---------------------------------------------- */

main .history{
background: #fff;
border-radius: 12rem;
margin: 20rem 0 0 0;
padding: 0 16rem;
}
main h2 + .history,
main h2 + .date + .history{
margin: 10rem 0 0 0;
}
main .history a{
position: relative;
display: block;
height: 81rem;
border-top: 1px solid #c8cdd7;
padding: 0 0 0 60rem;
}
main .history a::before{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
right: 0;
top:0;
bottom: 5rem;
margin: auto;
transform: rotate(45deg);
}
main .history a::after{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
right: 0;
top:5rem;
bottom: 0;
margin: auto;
transform: rotate(-45deg);
}
main .history a:first-child{
height: 80rem;
border-top: none;
}
main .history a:last-child{
height: 83rem;
}
main .history a figure{
position: absolute;
top:0;
left: 0;
padding: 16rem 0 0 0;
}
main .history a figure img{
width: auto;
height: 48rem;
border-radius: 8rem;
}
main .history a h2{
font-weight: 700;
padding: 14rem 0 0 0;
}
main .history a p{
font-size: 12rem;
line-height: 16rem;
font-weight: 500;
padding: 1rem 0 0 0;
margin: -2rem 0 0 0;
}
main .history a .date{
font-size: 12rem;
line-height: 16rem;
font-weight: 400;
color: #666666;
padding: 1rem 0 0 0;
margin: 0;
}
main .history a .point{
text-align: right;
position: absolute;
bottom:13rem;
right: 20rem;
padding: 0;
}
main .history a .point span{
font-size: 20rem;
line-height: 20rem;
text-align: right;
margin: 0 2rem 0 0;
}
main .history a .point img{
width: auto;
height: 16rem;
display: inline-block;
vertical-align: middle;
margin: -7rem 2rem 0 0;
background: #143c78;
border-radius: 8rem;
}



main .history div:first-child{
display: inline-block;
position: relative;
width: 100%;
height: 48rem;
margin: 18rem 0 0 0;
padding: 0 0 0 60rem;
}
main .history div:first-child figure{
position: absolute;
top:0;
left: 0;
padding: 0;
}
main .history div:first-child figure img{
width: auto;
height: 48rem;
border-radius: 8rem;
}
main .history div:first-child h2{
font-size: 16rem;
line-height: 20rem;
font-weight: 700;
}
main .history div:first-child p{
padding: 12rem 0 0 0;
}
main .history div h2 + p{
/*font-size: 12rem;	*/
font-size: 14rem;
line-height: 16rem;
font-weight: 500;
}
main .history div .point{
text-align: right;
position: absolute;
bottom:-3rem;
right: 0;
padding: 0;
}
main .history div .point span{
font-size: 20rem;
line-height: 20rem;
text-align: right;
margin: 0 2rem 0 0;
}
main .history div .point img{
width: auto;
height: 16rem;
display: inline-block;
vertical-align: middle;
margin: -6rem 2rem 0 0;
background: #143c78;
border-radius: 8rem;
}
main .history table{
width: 100%;
margin: 12rem 0 0 0;
}
main .history table th{
font-weight: 500;
border-top: 1px solid #c8cdd7;
vertical-align: top;
text-align: left;
padding: 6rem 8rem 5rem 0;
white-space: nowrap;
}
main .history table td{
text-align: right;
border-top: 1px solid #c8cdd7;
vertical-align: top;
padding: 6rem 0 5rem 0;
}
main .history .inner{
background: none;
border-radius: 0;
border-top: 1px solid #c8cdd7;
margin: 2rem 0 0 0;
/*履歴詳細説明文　調整*/
/*padding: 0 0 14rem 0;*/
padding: 0;
}
/*履歴詳細説明文　調整*/
main .history .inner p{
padding: 0 0 4rem 0;
}
main .history .inner h3{
font-size: 14rem;
line-height: 21rem;
font-weight: 500;
/*履歴詳細説明文　調整*/
padding-top: 6rem;
}
main .history .inner strong{
font-weight: 700;
}
main .history .inner hr{
width: 100%;
/*履歴詳細説明文　調整*/
/*margin: 16rem 0 0 0;*/
margin: 6rem 0 0 0;	
}
main .history .inner a{
display: inline-block;
height: auto;
border-top: none;
padding: 0;
}
main .history .inner a::before,
main .history .inner a::after{
display: none;
}
main .history .inner a.blank::after{
display: inline-block;
background: #143c78 url("../images/cmn_icn_blank.svg") no-repeat center;
background-size: 8rem 8rem;
width: 14rem;
height: 14rem;
position: inherit;
right: inherit;
top:inherit;
bottom: inherit;
transform: none;
margin: -3rem 0 0 4rem;
vertical-align: middle;
}
main .history .number{
border-top: 1px solid #c8cdd7;
border-radius: 0 0 12rem 12rem;
margin: 1rem 0 0 0;
}
main .history .number h3{
font-weight: 700;
letter-spacing: 1rem;
text-align: center;
padding: 14rem 0 0 0;
}
main .history .number p{
text-align: center;
padding: 2rem 0 16rem 0;
}



/* 
main .information
---------------------------------------------- */

main .information{
background: #fff;
border-radius: 12rem;
margin: 20rem 0 0 0;
}
main .information ul{
}
main .information ul li{
}
main .information ul li a{
position: relative;
display: block;
border-top: 1px solid #c8cdd7;
padding: 12rem 16rem 12rem 16rem;
}
main .information ul li:first-child a{
border-top: none;
}
main .information ul li:last-child a{
padding: 12rem 16rem 16rem 16rem;
}
main .information ul li a::before{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
right: 16rem;
top:0;
bottom: 5rem;
margin: auto;
transform: rotate(45deg);
}
main .information ul li a::after{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
right: 16rem;
top:5rem;
bottom: 0;
margin: auto;
transform: rotate(-45deg);
}
main .information ul li:last-child a::after{
bottom: 4rem;
}
main .information ul li a span{
font-size: 12rem;
line-height: 20rem;
display: block;
}
main .information ul li.new a span::after{
content: "NEW";
font-size: 10rem;
/*視認性調整*/
/*line-height: 11rem;
  width: 30rem;
  height: 11rem;
*/
line-height: 15rem;
width: 34rem;
height: 13rem;
border-radius: 6rem;
background: #e60f37;
color: #fff;
text-align: center;
display: inline-block;
vertical-align: middle;
margin: -3rem 0 0 4rem;
}




/* 
main .anchor
---------------------------------------------- */

main .anchor{
background: #fff;
border-radius: 12rem;
margin: 20rem 0 0 0;
padding: 0 16rem;
}
main h2 + .anchor,
main h2 + .date + .anchor{
margin: 10rem 0 0 0;
}
main .anchor ul{
padding: 1rem 0 3rem 0;
}
main .anchor ul li{
}
main .anchor ul li a{
position: relative;
display: block;
border-top: 1px solid #c8cdd7;
padding: 10rem 20rem 10rem 0;
}
main .anchor ul li:first-child a{
border-top: none;
}
main .anchor a::before{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
right: 5rem;
top:0;
bottom: 0;
margin: auto;
transform: rotate(45deg);
}
main .anchor a::after{
content: "";
background: #143c78;
width: 8rem;
height: 1rem;
position: absolute;
right: 0;
top:0;
bottom: 0;
margin: auto;
transform: rotate(-45deg);
}



/*
main #modal
---------------------------------------------- */

main #modal{
position: fixed;
top:0;
right: -100%;
width: 100%;
height: 100%;
background: #ebf0fa;
padding: 2rem 16rem 82rem 16rem;
overflow-y: scroll;
z-index: 1000;
transition: 0.2s ease-out;
}
main #modal.on{
right: 0;
}
main #modal .title{
position: relative;
background: #fff;
margin: -2rem -16rem 2rem -16rem;
height: 60rem;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
}
main #modal .title h2{
font-size: 19rem;
height: 30rem;
font-weight: 700;
padding: 20rem 0 0 16rem;
}
main #modal .title .close{
position: absolute;
top:0;
right: 0;
width: 52rem;
height: 60rem;
}
main #modal .title .close a{
width: 60rem;
height: 60rem;
display: block;
}
main #modal .title .close a img{
width: 16rem;
height: 16rem;
position: absolute;
top:0;
bottom:4rem;
left: 0;
right: 0;
margin: auto;
}



/*
main #overlay
---------------------------------------------- */

main #overlay .overlay{
display: none;
position: fixed;
top:0;
left: 0;
z-index: 4000;
width: 100%;
height: 100%;
min-height: 100vh;
background: rgba(235,240,250,0.95);
}
main #overlay .overlay.on{
display: table;
}
main #overlay .overlay div{
display: table-cell;
text-align: center;
vertical-align: middle;
}
main #overlay .overlay div figure{
padding: 0;
}
main #overlay .overlay div figure img{
max-width: 40rem;
margin: 0 0 20rem 0;
}
main #overlay .overlay div h2{
padding: 0;
font-size: 18rem;
font-weight: 700;
}
main #overlay .overlay div p{
padding: 12rem 0 0 0;
}
main #overlay .overlay div .button{
}



/* 
main #anchor
---------------------------------------------- */

main #anchor{
position: fixed;
bottom: 76rem;
left: -230rem;
width: 258rem;
background: rgba(255,255,255,0.95);
border-radius: 0 12rem 12rem 0;
filter: drop-shadow(0 3rem 4rem rgba(63,76,93,0.12));
transition: 0.2s ease-out;
}
main #anchor.on{
left: 0;
}
main #anchor::after{
content: "";
width: 28rem;
height: 100%;
position: absolute;
top:0;
right: 0;
background: #143c78;
border-radius: 0 12rem 12rem 0;
}
main #anchor ul{
padding: 0 28rem 0 0;
}
main #anchor ul::before{
content: "";
width: 8rem;
height: 1rem;
background: #fff;
position: absolute;
top: 5rem;
bottom: 0;
right: 10rem;
margin: auto;
transform: rotate(-45deg);
z-index: 100;
transition: 0.2s ease-out;
}
main #anchor.on ul::before{
transform: rotate(45deg);
}
main #anchor ul::after{
content: "";
width: 8rem;
height: 1rem;
background: #fff;
position: absolute;
top: -5rem;
bottom: 0;
right: 10rem;
margin: auto;
transform: rotate(45deg);
z-index: 100;
transition: 0.2s ease-out;
}
main #anchor.on ul::after{
transform: rotate(-45deg);
}
main #anchor ul li{
border-top: 1px solid #c8cdd7;
}
main #anchor ul li:first-child{
border-top: none;
}
main #anchor ul li a{
font-size: 13rem;
line-height: 33rem;
height: 32rem;
padding: 0 16rem 0 16rem;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}



/*
main #rankup
---------------------------------------------- */

main #rankup{
position: fixed;
top:0;
left: 0;
z-index: 4000;
width: 100%;
height: 100%;
min-height: 100vh;
background: rgba(0,0,0,0.8);
display: none;
}
main #rankup::before{
content: "";
width: 200rem;
height: 800rem;
background: rgba(255,255,255,0.2);
position: absolute;
top:-800rem;
left: 100rem;
transform: rotate(45deg);
animation: rankup-reflection1 4.0s linear 0.5s infinite normal both;
}
@keyframes rankup-reflection1 {
0% {
top:-800rem;
}
10% {
top:800rem;
}
100% {
top:800rem;
}
}
main #rankup::after{
content: "";
width: 40rem;
height: 800rem;
background: rgba(255,255,255,0.2);
position: absolute;
top:-800rem;
left: 100rem;
transform: rotate(45deg);
animation: rankup-reflection2 4.0s linear 0.4s infinite normal both;
}
@keyframes rankup-reflection2 {
0% {
top:-800rem;
}
10% {
top:800rem;
}
100% {
top:800rem;
}
}



main #rankup.on{
display: block;
}
main #rankup div{
padding: 40rem 30rem 0 30rem;
}
main #rankup div h2{
font-size: 24rem;
line-height: 32rem;
letter-spacing: 1rem;
font-weight: 700;
color: #fff;
text-align: center;
padding: 110rem 0 0 0;
filter: drop-shadow(0 3rem 4rem rgba(0,0,0,1.0));
animation: rankup-title 0.4s ease-out 0s 1 normal forwards;
}
@keyframes rankup-title {
0% {
opacity: 0;
transform: scale(.5);
}
100% {
transform: scale(1);
}
}
.rank-07 main #rankup div h2{
color: #b7e0ff;
background: url("../images/rnk_img-rnk7.png") center top no-repeat;
background-size: 125rem 101rem;
}
.rank-06 main #rankup div h2{
color: #aaaaaa;
background: url("../images/rnk_img-rnk6.png") center top no-repeat;
background-size: 125rem 101rem;
}
.rank-05 main #rankup div h2{
color: #cccccc;
background: url("../images/rnk_img-rnk5.png") center top no-repeat;
background-size: 125rem 101rem;
}
.rank-04 main #rankup div h2{
color: #f0dc96;
background: url("../images/rnk_img-rnk4.png") center top no-repeat;
background-size: 125rem 101rem;
}
.rank-03 main #rankup div h2{
color: #dcebfa;
background: url("../images/rnk_img-rnk3.png") center top no-repeat;
background-size: 125rem 101rem;
}
.rank-02 main #rankup div h2{
color: #e6b996;
background: url("../images/rnk_img-rnk2.png") center top no-repeat;
background-size: 125rem 101rem;
}
main #rankup div h3{
font-size: 16rem;
line-height: 20rem;
letter-spacing: 1rem;
font-weight: 700;
color: #fff;
text-align: center;
padding: 10rem 0 0 0;
animation: rankup-contents 0.4s linear 0.3s 1 normal both;
}
main #rankup div p{
font-size: 14rem;
line-height: 20rem;
color: #fff;
text-align: center;
padding: 25rem 0 0 0;
animation: rankup-contents 0.4s linear 0.3s 1 normal both;
}
main #rankup div figure{
animation: rankup-contents 0.4s linear 0.3s 1 normal both;
}
main #rankup div figure img{
border-radius: 12rem;
}
main #rankup .close {
position: absolute;
top:0;
right: 0;
width: 60rem;
height: 60rem;
animation: rankup-contents 0.4s linear 0.3s 1 normal both;
}
main #rankup .close a{
width: 60rem;
height: 60rem;
display: block;
}
main #rankup .close a::before{
content: "";
width: 20rem;
height: 2rem;
background: #fff;
position: absolute;
top:0;
bottom: 0;
right: 16rem;
margin: auto;
transform: rotate(45deg);
}
main #rankup .close a::after{
content: "";
width: 20rem;
height: 2rem;
background: #fff;
position: absolute;
top:0;
bottom: 0;
right: 16rem;
margin: auto;
transform: rotate(-45deg);
}
@keyframes rankup-contents {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}



/* ==============================================
#guide
============================================== */

#guide section:first-child{
padding: 0 0 10rem 0;
}
#guide section:first-child h2{
font-size: 20rem;
line-height: 30rem;
font-weight: 700;
letter-spacing: 1rem;
text-align: center;
padding: 30rem 0 0 0;
}
#guide section:first-child h3{
font-size: 16rem;
line-height: 24rem;
font-weight: 700;
letter-spacing: 1rem;
text-align: center;
padding: 10rem 0 0 0;
}
#guide section:first-child h3 span{
font-size: 16rem;
line-height: 20rem;
font-weight: 500;
color: #fff;
letter-spacing: 1rem;
text-align: center;
display: block;
width: 140rem;
height: 31rem;
background: #143c78;
border-radius: 16rem;
padding: 6rem 0 0 4rem;
margin: 0 auto 10rem auto;
}
#guide section:first-child figure{
margin: 0 -20rem;
padding: 35rem 0 20rem 0;
}
#guide section:first-child figure img{
}
#guide section h3{
font-size: 20rem;
line-height: 30rem;
font-weight: 700;
letter-spacing: 0.5rem;
padding: 25rem 0 0 0;
}
#guide section .inner{
padding: 0 20rem 25rem 20rem;
margin: 10rem 0 0 0;
}
#guide section .inner h3{
font-size: 16rem;
line-height: 22rem;
padding: 20rem 0 0 0;
}
#guide section .inner h4{
font-size: 16rem;
line-height: 22rem;
font-weight: 700;
padding: 20rem 0 0 0;
}
#guide section .inner h5{
font-size: 16rem;
line-height: 22rem;
font-weight: 700;
padding: 20rem 0 0 0;
}
#guide section .inner p{
line-height: 24rem;
padding: 10rem 0 0 0;
}
#guide section .inner p:first-child{
padding: 20rem 0 0 0;
}
#guide section + h2{
font-size: 14rem;
line-height: 20rem;
font-weight: 500;
text-align: center;
padding: 30rem 0 0 0;
}
#guide section table{
width: 100%;
margin: 15rem 0 0 0;
}
#guide section table tr{
background: #fff url("../images/cmn_dln-grayishpink.svg") bottom repeat-x;
background-size: auto 1px;
}
#guide section table th{
font-weight: 500;
text-align: left;
padding: 6rem 10rem 7rem 10rem;
background: #ebf0fa;
}
#guide section table th:last-child{
text-align: right;
}
#guide section table td{
text-align: left;
padding: 6rem 10rem 7rem 10rem;
}
#guide section table td:last-child{
text-align: right;
}
#guide section table td img{
width: auto;
height: 14rem;
margin: 2rem 4rem 0 0;
}



/* 
margin
---------------------------------------------- */

.mt-00{margin-top: 0rem!important;}
.mt-01{margin-top: 1rem!important;}
.mt-02{margin-top: 2rem!important;}
.mt-03{margin-top: 3rem!important;}
.mt-04{margin-top: 4rem!important;}
.mt-05{margin-top: 5rem!important;}
.mt-06{margin-top: 6rem!important;}
.mt-07{margin-top: 7rem!important;}
.mt-08{margin-top: 8rem!important;}
.mt-09{margin-top: 9rem!important;}
.mt-10{margin-top:10rem!important;}
.mt-11{margin-top:11rem!important;}
.mt-12{margin-top:12rem!important;}
.mt-13{margin-top:13rem!important;}
.mt-14{margin-top:14rem!important;}
.mt-15{margin-top:15rem!important;}
.mt-16{margin-top:16rem!important;}
.mt-17{margin-top:17rem!important;}
.mt-18{margin-top:18rem!important;}
.mt-19{margin-top:19rem!important;}
.mt-20{margin-top:20rem!important;}

.mr-00{margin-right: 0rem!important;}
.mr-01{margin-right: 1rem!important;}
.mr-02{margin-right: 2rem!important;}
.mr-03{margin-right: 3rem!important;}
.mr-04{margin-right: 4rem!important;}
.mr-05{margin-right: 5rem!important;}
.mr-06{margin-right: 6rem!important;}
.mr-07{margin-right: 7rem!important;}
.mr-08{margin-right: 8rem!important;}
.mr-09{margin-right: 9rem!important;}
.mr-10{margin-right:10rem!important;}
.mr-11{margin-right:11rem!important;}
.mr-12{margin-right:12rem!important;}
.mr-13{margin-right:13rem!important;}
.mr-14{margin-right:14rem!important;}
.mr-15{margin-right:15rem!important;}
.mr-16{margin-right:16rem!important;}
.mr-17{margin-right:17rem!important;}
.mr-18{margin-right:18rem!important;}
.mr-19{margin-right:19rem!important;}
.mr-20{margin-right:20rem!important;}

.mb-00{margin-bottom: 0rem!important;}
.mb-01{margin-bottom: 1rem!important;}
.mb-02{margin-bottom: 2rem!important;}
.mb-03{margin-bottom: 3rem!important;}
.mb-04{margin-bottom: 4rem!important;}
.mb-05{margin-bottom: 5rem!important;}
.mb-06{margin-bottom: 6rem!important;}
.mb-07{margin-bottom: 7rem!important;}
.mb-08{margin-bottom: 8rem!important;}
.mb-09{margin-bottom: 9rem!important;}
.mb-10{margin-bottom:10rem!important;}
.mb-11{margin-bottom:11rem!important;}
.mb-12{margin-bottom:12rem!important;}
.mb-13{margin-bottom:13rem!important;}
.mb-14{margin-bottom:14rem!important;}
.mb-15{margin-bottom:15rem!important;}
.mb-16{margin-bottom:16rem!important;}
.mb-17{margin-bottom:17rem!important;}
.mb-18{margin-bottom:18rem!important;}
.mb-19{margin-bottom:19rem!important;}
.mb-20{margin-bottom:20rem!important;}

.ml-00{margin-left: 0rem!important;}
.ml-01{margin-left: 1rem!important;}
.ml-02{margin-left: 2rem!important;}
.ml-03{margin-left: 3rem!important;}
.ml-04{margin-left: 4rem!important;}
.ml-05{margin-left: 5rem!important;}
.ml-06{margin-left: 6rem!important;}
.ml-07{margin-left: 7rem!important;}
.ml-08{margin-left: 8rem!important;}
.ml-09{margin-left: 9rem!important;}
.ml-10{margin-left:10rem!important;}
.ml-11{margin-left:11rem!important;}
.ml-12{margin-left:12rem!important;}
.ml-13{margin-left:13rem!important;}
.ml-14{margin-left:14rem!important;}
.ml-15{margin-left:15rem!important;}
.ml-16{margin-left:16rem!important;}
.ml-17{margin-left:17rem!important;}
.ml-18{margin-left:18rem!important;}
.ml-19{margin-left:19rem!important;}
.ml-20{margin-left:20rem!important;}


/* 
padding
---------------------------------------------- */

.pt-00{padding-top: 0rem!important;}
.pt-01{padding-top: 1rem!important;}
.pt-02{padding-top: 2rem!important;}
.pt-03{padding-top: 3rem!important;}
.pt-04{padding-top: 4rem!important;}
.pt-05{padding-top: 5rem!important;}
.pt-06{padding-top: 6rem!important;}
.pt-07{padding-top: 7rem!important;}
.pt-08{padding-top: 8rem!important;}
.pt-09{padding-top: 9rem!important;}
.pt-10{padding-top:10rem!important;}
.pt-11{padding-top:11rem!important;}
.pt-12{padding-top:12rem!important;}
.pt-13{padding-top:13rem!important;}
.pt-14{padding-top:14rem!important;}
.pt-15{padding-top:15rem!important;}
.pt-16{padding-top:16rem!important;}
.pt-17{padding-top:17rem!important;}
.pt-18{padding-top:18rem!important;}
.pt-19{padding-top:19rem!important;}
.pt-20{padding-top:20rem!important;}

.pr-00{padding-right: 0rem!important;}
.pr-01{padding-right: 1rem!important;}
.pr-02{padding-right: 2rem!important;}
.pr-03{padding-right: 3rem!important;}
.pr-04{padding-right: 4rem!important;}
.pr-05{padding-right: 5rem!important;}
.pr-06{padding-right: 6rem!important;}
.pr-07{padding-right: 7rem!important;}
.pr-08{padding-right: 8rem!important;}
.pr-09{padding-right: 9rem!important;}
.pr-10{padding-right:10rem!important;}
.pr-11{padding-right:11rem!important;}
.pr-12{padding-right:12rem!important;}
.pr-13{padding-right:13rem!important;}
.pr-14{padding-right:14rem!important;}
.pr-15{padding-right:15rem!important;}
.pr-16{padding-right:16rem!important;}
.pr-17{padding-right:17rem!important;}
.pr-18{padding-right:18rem!important;}
.pr-19{padding-right:19rem!important;}
.pr-20{padding-right:20rem!important;}

.pb-00{padding-bottom: 0rem!important;}
.pb-01{padding-bottom: 1rem!important;}
.pb-02{padding-bottom: 2rem!important;}
.pb-03{padding-bottom: 3rem!important;}
.pb-04{padding-bottom: 4rem!important;}
.pb-05{padding-bottom: 5rem!important;}
.pb-06{padding-bottom: 6rem!important;}
.pb-07{padding-bottom: 7rem!important;}
.pb-08{padding-bottom: 8rem!important;}
.pb-09{padding-bottom: 9rem!important;}
.pb-10{padding-bottom:10rem!important;}
.pb-11{padding-bottom:11rem!important;}
.pb-12{padding-bottom:12rem!important;}
.pb-13{padding-bottom:13rem!important;}
.pb-14{padding-bottom:14rem!important;}
.pb-15{padding-bottom:15rem!important;}
.pb-16{padding-bottom:16rem!important;}
.pb-17{padding-bottom:17rem!important;}
.pb-18{padding-bottom:18rem!important;}
.pb-19{padding-bottom:19rem!important;}
.pb-20{padding-bottom:20rem!important;}

.pl-00{padding-left: 0rem!important;}
.pl-01{padding-left: 1rem!important;}
.pl-02{padding-left: 2rem!important;}
.pl-03{padding-left: 3rem!important;}
.pl-04{padding-left: 4rem!important;}
.pl-05{padding-left: 5rem!important;}
.pl-06{padding-left: 6rem!important;}
.pl-07{padding-left: 7rem!important;}
.pl-08{padding-left: 8rem!important;}
.pl-09{padding-left: 9rem!important;}
.pl-10{padding-left:10rem!important;}
.pl-11{padding-left:11rem!important;}
.pl-12{padding-left:12rem!important;}
.pl-13{padding-left:13rem!important;}
.pl-14{padding-left:14rem!important;}
.pl-15{padding-left:15rem!important;}
.pl-16{padding-left:16rem!important;}
.pl-17{padding-left:17rem!important;}
.pl-18{padding-left:18rem!important;}
.pl-19{padding-left:19rem!important;}
.pl-20{padding-left:20rem!important;}



/* ==============================================
.color-09 pink調整版　0701
============================================== */

.color-09 * {
color:#420713;
}
body.color-09,
.color-09 main .inner .bg,
.color-09 main .inner .table-scroll table th,
.color-09 main .inner .table-form table td input.text,
.color-09 main .inner .table-form table td textarea,
.color-09 main .inner .table-form table td select,
.color-09 main .inner .frame-scroll::-webkit-scrollbar,
.color-09 main .inner .agreement,
.color-09 main .next h2:first-child + .date,
.color-09 main .count p input,
.color-09 main .benefit table th span,
.color-09 main #modal,
.color-09 #guide section table th{
background-color: #f9edf2;
}
.color-09 header .back::before,
.color-09 header .back a::before,
.color-09 header .back a::after,
.color-09 header ul li a::before,
.color-09 header .step::after,
.color-09#rcs-01 footer ul li:nth-child(1) a::after,
.color-09#rcs-15 footer ul li:nth-child(1) a::after,
.color-09#rcs-16 footer ul li:nth-child(1) a::after,
.color-09#rcs-17 footer ul li:nth-child(1) a::after,
.color-09#rcs-18 footer ul li:nth-child(1) a::after,
.color-09#rcs-02 footer ul li:nth-child(2) a::after,
.color-09#rcs-03 footer ul li:nth-child(2) a::after,
.color-09#rcs-04 footer ul li:nth-child(2) a::after,
.color-09#rcs-05 footer ul li:nth-child(2) a::after,
.color-09#rcs-06 footer ul li:nth-child(2) a::after,
.color-09#rcs-07 footer ul li:nth-child(2) a::after,
.color-09#rcs-08 footer ul li:nth-child(2) a::after,
.color-09#rcs-09 footer ul li:nth-child(3) a::after,
.color-09#rcs-10 footer ul li:nth-child(3) a::after,
.color-09#rcs-11 footer ul li:nth-child(3) a::after,
.color-09#rcs-12 footer ul li:nth-child(3) a::after,
.color-09#rcs-13 footer ul li:nth-child(3) a::after,
.color-09#rcs-14 footer ul li:nth-child(3) a::after,
.color-09 footer ul.on li:nth-child(4) a::after,
.color-09 footer .pagetop a,
.color-09 nav div .close a::before,
.color-09 nav div .close a::after,
.color-09 main .button.color a,
.color-09 main .inner a.blank::after,
.color-09 main .inner .badge,
.color-09 main .inner .table-form .radio li input[type="radio"]:checked + label:after,
.color-09 main .inner .frame-scroll::-webkit-scrollbar-thumb,
.color-09 main .inner .category li input[type="checkbox"]:checked + label:before,
.color-09 main .next .point img,
.color-09 main .count ul li input,
.color-09 main .plus h2 img,
.color-09 main .accordion .accordion-button::after,
.color-09 main .tab li.here a,
.color-09 main .benefit h2 span,
.color-09 main .month ul li:first-child::before,
.color-09 main .month ul li:first-child::after,
.color-09 main .month ul li:last-child::before,
.color-09 main .month ul li:last-child::after,
.color-09 main .history a::before,
.color-09 main .history a::after,
.color-09 main .history a .point img,
.color-09 main .history div .point img,
.color-09 main .history .inner a.blank::after,
.color-09 main .information ul li a::before,
.color-09 main .information ul li a::after,
.color-09 main .anchor a::before,
.color-09 main .anchor a::after,
.color-09 main #anchor::after,
.color-09 #guide section:first-child h3 span{
background-color: #d12d4d;
}
.color-09 nav div ul:nth-child(2),
.color-09 nav div ul:nth-child(2) li a,
.color-09 nav div ul:nth-child(4),
.color-09 main .inner .table table th,
.color-09 main .inner .table table td,
.color-09 main .inner .table-form table td input.text,
.color-09 main .inner .table-form table td select,
.color-09 main .inner .table-form table td textarea,
.color-09 main .inner .frame,
.color-09 main .inner .frame-scroll,
.color-09 main .count p input,
.color-09 main .tab li a,
.color-09 main .history a,
.color-09 main .history table th,
.color-09 main .history table td,
.color-09 main .history .inner,
.color-09 main .history .number,
.color-09 main .information ul li a,
.color-09 main .anchor ul li a,
.color-09 main #anchor ul li{
border-color: #eadce3;
}

/*罫線調整*/
.color-09 main .next {
border-color: #fab5c6;
}
.color-09 main .inner .table-form .radio li label:before,
.color-09 main .inner .table-form .check li label:before,
.color-09 main .inner .agreement label:before, 
.color-09 main .inner .category li label:before{
border-color: #AA8D95;
}
/*罫線調整*/

.color-09 main .button.border a,
.color-09 main .inner .table-form table td input[type="button"],
.color-09 main .inner .table-form .radio li input[type="radio"]:checked + label:before,
.color-09 main .inner .table-form .check li input[type="checkbox"]:checked + label:after,
.color-09 main .inner .agreement input[type="checkbox"]:checked + label:after,
.color-09 main .inner .category li input[type="checkbox"]:checked + label:before,
.color-09 main .inner .category.l2p li label span::after {
border-color: #d12d4d;
}
.color-09 main .inner hr,
.color-09 main .inner .table-scroll table th:first-child::after,
.color-09 main .inner .table-scroll table td:first-child::after{
background-color: #eadce3;
}
.color-09 header .step.step-01 {
background-image: conic-gradient(#d12d4d 33%, #ccc 33% 100%);
}
.color-09 header .step.step-02 {
background-image: conic-gradient(#d12d4d 66%, #ccc 66% 100%);
}
.color-09 header .step.step-03 {
background-image: conic-gradient(#d12d4d 100%, #ccc 100% 100%);
}
.color-09 footer ul li a{
color: #666666;
}
.color-09#rcs-01 footer ul li:nth-child(1) a,
.color-09#rcs-15 footer ul li:nth-child(1) a,
.color-09#rcs-16 footer ul li:nth-child(1) a,
.color-09#rcs-17 footer ul li:nth-child(1) a,
.color-09#rcs-18 footer ul li:nth-child(1) a,
.color-09#rcs-02 footer ul li:nth-child(2) a,
.color-09#rcs-03 footer ul li:nth-child(2) a,
.color-09#rcs-04 footer ul li:nth-child(2) a,
.color-09#rcs-05 footer ul li:nth-child(2) a,
.color-09#rcs-06 footer ul li:nth-child(2) a,
.color-09#rcs-07 footer ul li:nth-child(2) a,
.color-09#rcs-08 footer ul li:nth-child(2) a,
.color-09#rcs-09 footer ul li:nth-child(3) a,
.color-09#rcs-10 footer ul li:nth-child(3) a,
.color-09#rcs-11 footer ul li:nth-child(3) a,
.color-09#rcs-12 footer ul li:nth-child(3) a,
.color-09#rcs-13 footer ul li:nth-child(3) a,
.color-09#rcs-14 footer ul li:nth-child(3) a,
.color-09 footer ul.on li:nth-child(4) a,
.color-09 header .step span,
.color-09 header .step span strong,
.color-09 main .inner .faq h3 a::before,
.color-09 main .inner .faq div::before{
color:#d12d4d;
}
.color-09 nav{
background: rgba(209,45,77,0.9);
}
.color-09 main #overlay .overlay{
background: rgba(249,237,242,0.95);
}
.color-09.rank-01 main .status h2:first-child,
.color-09.rank-01 main .status h2:first-child + .date,
.color-09.rank-01 main .status h3,
.color-09.rank-01 main .status .point,
.color-09.rank-01 main .status .point span,
.color-09.rank-01 main .status .point strong,
.color-09.rank-01 main .status div h3,
.color-09.rank-01 main .status div p{
color: #420713;
}



/* ==============================================
.color-03
============================================== */

/* ==============================================
.color-04
============================================== */

/* ==============================================
.color-05
============================================== */

/* ==============================================
.color-06
============================================== */

/* ==============================================
.color-07
============================================== */

/* ==============================================
.color-08
============================================== */

/* ==============================================
.color-09
============================================== */

/* ==============================================
.color-10
============================================== */
