@charset "utf-8";
/* CSS Document */

.contents .main-bnbox{height: auto; margin-bottom: 20px;}


.rec-main .section{margin: 20px 0 40px; position: relative;}

.rec-main .rec-map{background-image: url(http://pketest3.spiritof.jp/faith/goodwill/image/rec_map.png); background-repeat: no-repeat; background-position: 150px 20px; position: relative; height: 600px;}
.rec-main .rec-map > li{position: absolute; list-style: none; width: 110px;}
.rec-main .rec-map > li > dl > dt{font-size: 17px; font-weight: bold; margin: 0 0 10px;}
.rec-main .rec-map > li > dl > dd{font-size: 11px; display: inline-block; margin: 0 3px 2px 0;}
.rec-main .rec-map > li .modal_content h3{ margin: 0 0 20px; font-size: 30px;}
.rec-main .rec-map > li .modal_content dt{margin: 10px 0 0;}
.rec-main .rec-map > li .modal_content dd{margin: 0 10px 5px 0; font-size: 14px; display: inline-block;}
.rec-main .rec-map > li .modal_content dd::before{content: url(../../images/link_bg01.png); padding:0 5px 0 0;}
.rec-main .read{position: absolute;top: 40px;left: 20px;width: 460px; font-size: 16px; z-index: 1;}

.rec-main .rec-map li.hokkaido{
	top: 202px;
	left: 805px;
}
.rec-main .rec-map li.kanto{
	top: 330px;
	left: 767px;
}
.rec-main .rec-map li.tokai{
	top: 462px;
	left: 643px;
}
.rec-main .rec-map li.koshinetsu{
	top: 174px;
	left: 557px;
}
.rec-main .rec-map li.kansai{
	top: 268px;
	left: 460px;
}
.rec-main .rec-map li.shikoku{
	top: 482px;
	left: 488px;
}
.rec-main .rec-map li.kyusyu{
	top: 350px;
	left: 289px;
}


h3.tit{font-size:15px; margin:0 0 10px; font-weight:bold; color: #187ecc;}


/*ポップアップ*/
.modal_wrap input{
    display: none;
}
.modal_overlay{
    display: flex;
    justify-content: center;
    overflow: auto;
    position:  fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0px;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
    font-weight: normal;
}

.modal_trigger{
    position: absolute;
    width: 100%;
    height: 100%;
}

.modal_content{
    position: relative;
    align-self: center;
    width: 60%;
    max-width: 800px;
    padding: 30px 30px 15px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
    transition: 0.5s;
}
.close_button{
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 24px;
    cursor: pointer;
}
.modal_wrap input:checked ~ .modal_overlay{
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
    
}
.open_button{
 position: relative;
   /*top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 30px;
    margin: auto;
    padding: 8px 16px;
    color: #444;
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
    box-shadow: 0 1px 3px rgba(0,0,0,0.6);
    border-radius: 16px;*/
    cursor: pointer;
}


@media screen and (max-width: 640px) {

.rec-main .section{margin: 0 0 40px;}
.rec-main .section:last-child{margin:0px;}
.rec-main .read{position: static; width:auto; min-width:inherit;}
.rec-main .rec-map{background-image: none; height: auto;}
.rec-main .rec-map > li{position: static; width: auto;}
.rec-main .rec-map > li > dl {padding: 10px; background: #ededed; border-bottom: #fff solid 1px; display: block; color: #333; margin: 0px;}
.rec-main .rec-map > li > dl > dt{font-size: 17px; font-weight: bold; margin: 0 0 10px; position: relative;}
.rec-main .rec-map > li > dl > dt:after {content: ">"; position: absolute; right: 20px; left: auto; top: 12px; display: block; width: 4px;height: 4px; background: none; font-size: 12px;}
.rec-main .rec-map > li > dl > dd{font-size: 11px; display: inline-block; margin: 20px 5px 0 0;}
.rec-main .rec-map > li .open_button{height: 45px; position: absolute; top: -4px; width: 100%; padding-top: 5px;}


}


