@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q, blockquote {
    quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none;
}

a img {
    border: none;
}

img {
    vertical-align: top;
	height: auto;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}

/* --------------------------
  Base
----------------------------*/
body {
  font-family: /*'Noto Sans JP', */'ヒラギノ角ゴシック', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-style: normal;
  color: #2d2d2d;
  line-height: 1.5;
}

a {
    color: #000;
}

a:hover {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    text-decoration: none;
}

a:hover img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0.8;
}
/* ----- Content Module ----- */
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

/* --------------------------
    Module
----------------------------*/
/* Layout */
.hidden {
    display: none;
}

.floatL {
    float: left;
}

.floatR {
    float: right;
}

.clear {
    clear: both;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

.txtR {
    text-align: right;
}

/* Margin */
.mgnT5{margin-top:5px}
.mgnT10{margin-top:10px}
.mgnT15{margin-top:15px}
.mgnT20{margin-top:20px}
.mgnT25{margin-top:25px}
.mgnT30{margin-top:30px}
.mgnT35{margin-top:35px}
.mgnT40{margin-top:40px}
.mgnT45{margin-top:45px}
.mgnT50{margin-top:50px}
.mr0{margin-right:0!important}

/* Padding */
.pdnT5{padding-top:5px}
.pdnT10{padding-top:10px}
.pdnT15{padding-top:15px}
.pdnT20{padding-top:20px}
.pdnT25{padding-top:25px}
.pdnT30{padding-top:30px}
.pdnT35{padding-top:35px}
.pdnT40{padding-top:40px}
.pdnT45{padding-top:45px}
.pdnT50{padding-top:50px}
.pdnT60{padding-top:60px}
.pdnB5{padding-bottom:5px}
.pdnB10{padding-bottom:10px}
.pdnB15{padding-bottom:15px}
.pdnB20{padding-bottom:20px}
.pdnB25{padding-bottom:25px}
.pdnB30{padding-bottom:30px}
.pdnB35{padding-bottom:35px}
.pdnB40{padding-bottom:40px}
.pdnB50{padding-bottom:50px}
.pdnB60{padding-bottom:60px}
.pdnB70{padding-bottom:70px}
.pdnB80{padding-bottom:80px}
.pdnL5{padding-left:5px}
.pdnL10{padding-left:10px}
.pdnL15{padding-left:15px}
.pdnL20{padding-left:20px}
.pdnL25{padding-left:25px}
.pdnL30{padding-left:30px}

.red{color:#b10510}
.txt_line{text-decoration: underline;}

@media screen and (max-width: 767px) {
    .only_pc { display: none; }
}
@media screen and (min-width: 768px) {
    .only_sp { display: none; }
}


/* ----- Header ----- */

#header {
    margin: 0 auto;
    width: 1000px;
    max-width: 100%;
    padding: 1rem 0;
    box-sizing: border-box;
}

#header h1 {
    float: left;
}

.headerLeft__logo {
    display: block;
}

.headerLeft__logo .linkLogo {
    display: block;
    width: 254px;
    height: 55px;
    overflow: hidden;
    text-align: left;
    text-indent: -99999em;
    background-image: url('/pro/images_rn/common/layouts/logo_site_pc.png');
    background-size: 254px;
    background-position: 0 0;
    background-repeat: no-repeat;
}

.headerRight__logo {
    display: block;
    position: absolute;
    top: 25px;
    right: 0;
}
@media print {
    #header {
        position: absolute;
    }
}

/* ---- Container ---- */

#contents {
    width: 1000px;
    margin: 0px auto 0;
}
#contents_new {
    margin: 0 auto 0;
    padding: 0 0 0 0;
}
#contents__main {
    display: block;
    width: 100%;
    text-align: center; 
    margin: 0;
}
#contents__main img{
    max-width: 100%;
}
.support_title{
	padding: 2rem 0;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-size: 25px;
}
.support_title strong{  font-size: 124%;}

.l_contents__inr {
    margin: 0 auto;
    max-width: 1000px;
    padding: 4rem 0 0;
}
.campaignDetail__box {
    width: 100%;
    display: block;
    border: 1px solid #D8E1EB;
    margin: 0 auto  2rem ;
    max-width: 1000px;
}

.campaignDetail {
    width: 100%;
    display: table;
}

.campaignDetail th {
    width: 132px;
    display: table-cell;
    text-align: center;
    background-color: #D8E1EB;
    font-size: 15px;
}

.campaignDetail tr th {
    border-bottom: 2px solid #FFFFFF;
}
.campaignDetail tr:nth-last-child(1) th {
	border-bottom:none
}
.campaignDetail td {
    display: table-cell;
    background-color: #FFFFFF;
    padding: 10px 16px;
    letter-spacing: -0.2px;
}
.campaignDetail tr td {
    border-bottom: 2px solid #D8E1EB;
}
.campaignDetail tr:nth-last-child(1) td {
	border-bottom:none
}
.campaignDetail ul li{
    text-indent: -0.9rem;
    margin-left: 0.9rem;
}
.campaignDetail_ttl{
    font-weight: bold;
}
.registBtn__box {
    margin: 50px auto;
    max-width: 1000px;
    position: relative;
}
.registBtn__box img{
    margin-bottom: 0.5rem;
}
.registBtn__box .registBtn {
    background: #b10510;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 1.6rem 0;
    text-decoration: none;
    display: block;
    margin: 0 0 1rem;
    border-radius: 8px;
    font-size: 25px;
    box-shadow: 0px 3px 3px 1px #d8d8d8;
}
.registBtn__box .registBtn_txt{
    text-align: center;
    font-weight: bold;
    margin-bottom: 1rem;
}
.registBtn__box .registBtn_txt_bottom{
    text-align: center;
    font-weight: bold;
}
.registBtn__box .registBtn:hover {
    opacity: 0.7;
}
.registInfo__box {
    padding: 0 0 1rem;
    background: #fff9db;
}
.registInfo__block {
    max-width: 1000px;
    margin: 0 auto 2rem;
}
.registInfo__title_text {
    top: 30px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 21px;
    color: #fff;
    font-weight: bold;
}
.registInfo__block li {
    line-height: 1.5;
    background: #fff;
    border-radius: 3px;
    margin: 0 0 2rem;
    box-shadow: 0 2px 2px #f8ddba;
}
.registInfo__block li:nth-last-of-type(1) {
    margin-bottom: 0;
}
.registInfo__inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding: 0 1.5rem 1.5rem;
    justify-content: space-between;
}
.registInfo__inr dt{
    width: 67%;
    line-height: 1.7;
}
.registInfo__inr dt img{
    width: 100%;
}
.registInfo__inr dd{margin-left: 0.5rem;}
.registInfo__inr small{
    font-size: 0.7rem;
    display: inline-block;
}
.registInfo__block li .registInfo__blockTitle {
    font-size: 22px;
    margin: 0 0 0.8rem;
    color: #b10510;
    font-weight: bold;
    line-height: 1.4;
    padding: 1.5rem 1.5rem 0;
}
.registInfo__block li .registInfo__point{
    background: #b10510;
    color: #fff;
    padding: 0 0.7rem;
    margin-right: 0.5rem;
    display: inline-block;
}
.registInfo__block li .__num{
    font-size: 116%;
    margin-left: 0.1rem;
}
.registCaution__box {
    font-size: 14px;
    line-height: 1.7;
    margin: 1rem auto 0;
    max-width: 1000px;
}

.registCaution__box p {
    margin-left: 14px;
    text-indent: -14px;
}
.registCaution__box p a{  color:#1565c0;}
.registCaution__box p a:hover{text-decoration:none;}

.registInfo_bottom{
    margin:0 auto;
   line-height: 1.4;
    text-align: center;
}

.registBtn_txt{
    font-size: 18px;
}
.registBtn_txt strong{
	font-size: 1.4rem;
}
.solution_title{
	padding: 2.4rem 0 1rem;
	margin-bottom: 2.3rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-size: 1.09rem;
  letter-spacing: -0.03rem;
	position: relative;
}
.solution_title::before {
   background: #0a4067;
   content: '';
   display: inline-block;
   width: 60px;
   position: absolute;
   height: 2px;
   left: 50%;
   top: auto;
   bottom: 0;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}
.solution__box {
    padding: 0 0 1rem;
    background: #e2f1f0;
}
.solution__block {
    max-width: 1000px;
    margin: 0 auto 2rem;
}
.solution__box_img{
	text-align: center;
	margin-bottom: -6rem;
}
.solution__title_text {
    top: 30px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 21px;
    color: #fff;
    font-weight: bold;
}
.solution__block li {
    line-height: 1.5;
    margin: 0 0 2rem;
    position: relative;
}
.solution__block li:nth-last-of-type(1) {
    margin-bottom: 0;
}
.solution__inr {
    padding: 8rem 2rem 3rem;
    background: #fff;
    line-height: 1.7;
}
.solution__inr dt{
    font-weight: bold;
}

/* ----- Footer ----- */

#page_top {
    display: block;
    position: fixed;
    bottom: 2.67vw;
    right: 2.67vw;
    z-index: 9999;
    width: 70px;
}

#page_top img {
    width: 100%;
}

#page_top a {
    display: block
}

#page_top a:hover {
    opacity: .8
}

#footer {
    padding: 2rem 0;
    background-color: #a1a0a0;
}

.footer_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 2vw
}

.footer_flex li {
    padding: 0 2vw;
    border-right: 1px solid #fff
}

.footer_flex li:last-child {
    border: none
}

.footer_flex li a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.footer_flex li a:hover {
    text-decoration: underline
}
.footer_logo {
    width: 60.13vw;
    margin: 3rem auto 2rem;
    text-align: center;
}
.copyright {
    color: #fff;
    text-align: center;
    font-size: 90%;
}
@media screen and (min-width: 768px) {
	#contents__main + .registBtn__box{
        margin: 25px auto;
	}
}
@media screen and (max-width: 1050px) {

	#header{
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.registBtn__box{
		margin-right: 1rem;
		margin-left: 1rem;
	}
	.registBtn__box .registBtn_txt_bottom{
		font-size: 0.7rem;
	}
	.campaignDetail__box{
		margin-right: 1rem;
		margin-left: 1rem;
		width: auto;
	}
    .Data__block {
		margin-right: 1rem;
		margin-left: 1rem;
		width: auto;
   }
	.registInfo__box{
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.solution__block{
		margin-right: 1rem;
		margin-left: 1rem;
	}
	.registCaution__box{
		margin-right: 1rem;
		margin-left: 1rem;
	}
}

@media screen and (max-width: 767px) {
    
    /* ----- Header ----- */

     #header {
         width: 100%;
         padding: 0.6rem 0.8rem;
     }

     .headerLeft__logo {
         width: 174px;
         height: 35px;
     }

     .headerLeft__logo .linkLogo {
         width: 174px;
         height: 35px;
         background-size: 254px;
         background-size: contain;
     }

     .headerRight__logo {
         display: block;
         position: absolute;
         top: 12px;
         right: 5px;
     }

     .headerRight__logo img {
         width: 83px;
         height: 25px;
     }
    
    /* ---- Container ---- */
     #contents {
         padding: 0;
     }
     #contents__main {
         margin: 0 auto 1rem;
     }

     #contents__main img {
         width: 100%;
     }
     .l_contents__inr {
         padding-left: 20px;
         padding-right: 20px;
       }
    
    .campaignDetail__box {
         width: auto;
         max-width: 100%;
         min-width: 225px;
         margin: 0 1rem 30px;
     }

     .campaignDetail__box * {
         box-sizing: border-box;
     }

     .campaignDetail {
         width: 100%;
         display: block;
     }

     .campaignDetail th {
         width: 100%;
         display: block;
         padding: 7px;
         font-size: 1rem;
     }

     .campaignDetail td {
         width: 100%;
         display: block;
         padding: 7px;
         font-size: 0.94rem;
     }
     .campaignDetail ul li{
        text-indent: -1rem;
        margin-left: 1rem;
        font-size: 0.85rem;
     }
	.campaignDetail_ttl{
        font-size: 0.85rem;
     }
    .support_title{
  	   max-width: 1000px;
  	   margin: 0 auto;
  	   font-size: 1.09rem;
       letter-spacing: -0.1rem;
  	 }
     .support_title .red {
       font-size: 1.24rem;
     }
     .support_title strong{
        font-size: 110%;
     }
     .support_title small{
  	    font-size: 80%;
     }
     .registBtn__box {
         margin: 1.2rem 1rem;
     }
     .registBtn__box img{width: 100%;}

     .registBtn__box .registBtn {
        font-size: 1rem;
        padding: 1.1rem 0;
        max-width: 400px;
        margin: 0 auto 0.6rem;
     }
     .registBtn__box .registBtn_txt{
         font-size: 0.9rem;
         line-height: 1.2;
         margin-bottom: 0.6rem;
     }
	  .registBtn__box .registBtn_txt .red{
		    letter-spacing: -0.07rem;
	   }
	   .registBtn__box .registBtn_txt_bottom{
        font-size: 0.7rem;
        line-height: 1.2;
     }
     .registBtn_txt strong{
        font-size: 1.05rem;
     }
     .registInfo__title_text {
        display: block;
        width: 100%;
        position: absolute;
        top: 10px;
        color: #fff;
        font-weight: bold;
        line-height: 135%;
     }

     .registInfo__block li .registInfo__blockTitle{
         font-size: 1.09rem;
         padding: 1rem 1rem 0;
         letter-spacing: -0.07rem;
     }
     .registInfo__box {
         box-sizing: border-box;
         padding: 0 1rem 1rem;
     }
     .registInfo__block {
         display: block;
         width: 100%;
         box-sizing: border-box;
         margin-bottom: 1rem;
     }
     .registInfo__block .obi {
         background: #0a4067;
         color: #fff;
         text-align: center;
         box-shadow: none;
         border-radius: 0;
         font-weight: bold;
         font-size: 18px;
         padding: 10px;
      }
     .registInfo__block li{
      margin: 0 0 1.5rem;
     }
     .registInfo__block li p {
         line-height: 1.4;
         font-size: 0.94rem;
     }
	   .registInfo__inr small{
         font-size: 0.68rem;
     }
     .registInfo__block .txt_Caution{
       margin-top: 0.6rem;
     }
     .registInfo__inr {
         padding: 0 1rem 1rem;
         display: block;
     }
     .registInfo__inr dt{
       width: auto;
       margin-bottom: 1rem;
     }
     .registInfo__block li .registInfo__point{
      font-size: 1rem;
      padding: 0.1rem 0.5rem;
      margin-bottom: 0.6rem;
      letter-spacing: 0;
    }
   .registInfo__inr dd {
         text-align: center;
         margin: 0;
    }
    .registInfo__inr dd img{
           width: 100%;
           max-width: 400px;
   }
     .registCaution__box p a{  color:#1565c0;}

     .registInfo_bottom .obi{
         padding: 1rem 1rem;
         font-size: 1.2rem;
         line-height: 1.3;
     }
     .registBtn_txt{
         font-size: 0.84rem;
     }
    .support_title strong{
        font-size: 110%;
    }

     .registCaution__box {
        width: auto;
        max-width: 100%;
        display: block;
        margin: 1rem 1rem 0;
     }
     .registCaution__box p{
        font-size: 0.9rem;
        line-height: 1.5;
     }
     .solution__box_img{
        max-width: 230px;
        margin: 0 auto -3rem;
     }
     .solution__box_img img{
        width: 100%;
     }
     .solution__inr{
        padding: 4rem 1rem 1rem;
     }
     .solution__inr dd{
        font-size: 0.94rem;
     }
    /* ----- Footer ----- */
     #page_top {
         width: 50px;
     }
     #footer {
         padding: 2rem 0 4rem;
     }
     .footer_flex li:last-child {
         border: none
     }

     .footer_flex li a {
         font-size: 0.7rem;
     }

     .footer_flex li a:hover {
         text-decoration: underline
     }
     .footer_logo {
         margin: 2rem auto 1rem;
     }

     .footer_logo img {
         width: 100%
     }
     .copyright {
         font-size: 68%;
     }
}