

/* ==========================================================================
   Footer
   ========================================================================== */
@media screen and (min-width: 641px) {
    .common_footer {
        width: 100%;
        padding: 60px 0 20px;
        background-color: #616161;
        /*font-family: 'Noto Sans Japanese', sans-serif;*/
        font-family: 'Noto Sans JP', sans-serif;
    }
    .common_footer .inner {
        position: relative;
        margin: 0 auto;
        /*width: 900px;*/
		width: 920px;
    }
    .common_footer dl {
        display: inline-block;
        /*width: 180px;*/
        width: 170px;
        vertical-align: top;
    }
    .common_footer dl:first-child {
        width: 210px;
    }
	.common_footer dl.link {
		width:200px;
	}
    .common_footer dl,
    .common_footer dt,
    .common_footer dd {
        margin: 0;
        padding: 0;
    }
    .common_footer dt {
        padding-bottom: 1.25em;
		font-size: 12px;
        font-size: 0.7rem;
        line-height: 1;
        letter-spacing: 1px;
        color: #fff;
    }
	.mt-1h-em {
		margin-top: 1.5em !important;
	}
	.common_footer dd {
       /* font-family: 'Noto Sans Japanese', sans-serif;*/
        font-family: 'Noto Sans JP', sans-serif;
		font-size: 11px;
        font-size: 0.65rem;
        font-weight: 300;
        line-height: 2.4;
        color: #b1b1b1;
    }
    .common_footer a {
        text-decoration: none;
        outline: none;
    }
    .common_footer dt a { color: #fff;}
    .common_footer dd a { color: #b1b1b1;}

    .common_footer a:hover{
    /*    opacity: 0.7;*/
        color: #ff6800;
    }
    .common_footer a {
        transition-property: color, opacity;
        transition-duration: 0.15s;
        transition-timing-function: ease-in-out;
    }
    .common_footer p {
        margin-top: 100px;
    }
    .common_footer p,
    .common_footer p a {
		font-size: 11px;
        font-size: 0.65rem;
        font-weight: 300;
        line-height: 1;
        color: #b1b1b1;
    }
    .common_footer .copyright {
        position: absolute;
        right: 0;
        bottom: 0;
        font-size: 0.6rem;
        font-weight: 100;
        line-height: 1;
        color: #fff;
    }
    .common_footer .link a:after {
        content: url(/common_v3/images/icon_newwindow.png);
        margin-left: 3px;
        vertical-align: baseline;
    }
}


@media screen and (max-width: 640px) {

    .common_footer {
        padding: 1em 0 2em;
        background-color: #616161;
        /*font-family: 'Noto Sans Japanese', sans-serif;*/
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 300;
        color: #fff;
        z-index: 1001;
    }
    .common_footer dt,
    .common_footer dd {
        display: block;
        position: relative;
        margin: 0 auto;
        padding: 5% 5px;
        width: 90%;
        border-top: 1px solid #808080;
    }
    .common_footer dl:first-child dt:first-child {
        border-top: none;
    }
    .common_footer dd {
        display: none;
    }
    .common_footer dt a,
    .common_footer dd a {
        display: block;
        line-height: 1;
        text-align: left;
        text-decoration: none;
        color: #fff;
    }
    .common_footer dt a {
        margin: 0 1%;
        width: 98%;
        background: url(/common_v3/images/icon_plus_wh_2x.png) center right no-repeat;
        background-size: 1em;
    }
    .common_footer dt a.anchor {
        background: url(/common_v3/images/icon_arrow_wh_2x.png) center right 1% no-repeat;
        background-size: 0.7em;
    }
    .common_footer dt.open a {
        background: url(/common_v3/images/icon_minus_wh_2x.png) center right no-repeat;
        background-size: 1em;
    }
    .common_footer dd a {
        margin: 0 1% 0 5%;
        width: 94%;
        background: url(/common_v3/images/icon_arrow_wh_2x.png) center right 1% no-repeat;
        background-size: 0.7em;
        font-size: 0.8em;
    }
    .common_footer .policy {
        display: table-cell;
        padding-top: 2em;
        width: 50%;
        text-align: left;
        font-size: 0.7rem;
    }
    .common_footer .policy a {
        padding-left: 12%;
        color: #fff;
        text-decoration: none;
    }
    .common_footer .copyright {
        display: table-cell;
        padding-top: 2em;
        width: 50%;
        text-align: right;
        font-size: 0.7rem;
    }
}


/* ==========================================================================
   既存コンテンツ対応
   ========================================================================== */
@media (max-width: 640px) {
  .container dl {
    margin-top: 0;
  }
}



/* iE8 */
    .ie8 .common_footer {
        width: 100%;
        padding: 60px 0 20px;
        background-color: #616161;
        /*font-family: 'Noto Sans Japanese', sans-serif;*/
        font-family: 'Noto Sans JP', sans-serif;
    }
    .ie8 .common_footer .inner {
        position: relative;
        margin: 0 auto;
        /*width: 900px;*/
		width: 920px;
    }
    .ie8 .common_footer dl {
        display: inline-block;
        width: 180px;
        vertical-align: top;
    }
	.ie8 .common_footer dl.link {
		width:200px;
	}
    .ie8 .common_footer dl,
    .ie8 .common_footer dt,
    .ie8 .common_footer dd {
        margin: 0;
        padding: 0;
    }
    .ie8 .common_footer dt {
        padding-bottom: 1.25em;
		font-size: 12px;
        font-size: 0.7rem;
        line-height: 1;
        letter-spacing: 1px;
        color: #fff;
    }
	.ie8 .mt-1h-em {
		margin-top: 1.5em !important;
	}
	.ie8 .common_footer dd {
        /*font-family: 'Noto Sans Japanese', sans-serif;*/
        font-family: 'Noto Sans JP', sans-serif;
		font-size: 11px;
        font-size: 0.65rem;
        font-weight: 300;
        line-height: 2.4;
        color: #b1b1b1;
    }
    .ie8 .common_footer a {
        text-decoration: none;
        outline: none;
    }
    .ie8 .common_footer dt a { color: #fff;}
    .ie8 .common_footer dd a { color: #b1b1b1;}

    .ie8 .common_footer a:hover{
    /*    opacity: 0.7;*/
        color: #ff6800;
    }
    .ie8 .common_footer a {
        transition-property: color, opacity;
        transition-duration: 0.15s;
        transition-timing-function: ease-in-out;
    }
    .ie8 .common_footer p {
        margin-top: 100px;
    }
    .ie8 .common_footer p,
    .ie8 .common_footer p a {
		font-size: 11px;
        font-size: 0.65rem;
        font-weight: 300;
        line-height: 1;
        color: #b1b1b1;
    }
    .ie8 .common_footer .copyright {
        position: absolute;
        right: 0;
        bottom: 0;
        font-size: 0.6rem;
        font-weight: 100;
        line-height: 1;
        color: #fff;
    }
    .ie8 .common_footer .link a:after {
        content: url(/common_v3/images/icon_newwindow.png);
        margin-left: 3px;
        vertical-align: baseline;
    }

/*--------------------------------------------------
	＜ページ下部追従型SHSHOW＞
--------------------------------------------------*/
.shshow_fixed {
    display:none;
	position: fixed;
	bottom:15px;
	right:0;
	width:215px;
	height:54px;
	transition: 0.3s cubic-bezier(0.9, 0.33, 1, 1);
	margin:0 !important;
    z-index:99999;
}
.shshow_fixed.close {
	right: -163px;
}
.shshow_fixed .lnk_shshow {
	display: block;
	height:auto;
	background: rgba(255, 255, 255, 0.9) url("/common_v3/images/icon_bnr_shshow.png") no-repeat 3px 3px;
	background-size: 44px;
	color:#3b3bce;
	border-bottom-left-radius: 27px;
	border-top-left-radius: 27px;
	padding-left:53px;
	font-size:15px;
	line-height: 18px;
	padding-top: 7px;
    padding-bottom: 7px;
    font-family: 'Noto Sans JP';
    border: 2px solid #3b3bce;
    border-right: none;
    text-decoration: none;
    text-align: left;
}

.shshow_fixed .btn_shshow {
	position:absolute;
	right:10px;
	top:5px;
	width:16px;
	height:16px;
	background-color: #3b3bce;
	color:#fff;
	border-radius: 2px;
}

.shshow_fixed .btn_shshow::after {
	content: "";
    position: absolute;
    left: 3px;
    top: 7px;
    width: 10px;
    height: 2px;
    background-color: #fff;
	
}
@media screen and (min-width: 641px){
    .shshow_fixed .lnk_shshow:hover {
        text-decoration: underline;    
    }
    .shshow_fixed .lnk_shshow ,
    .shshow_fixed .btn_shshow {
        cursor: pointer;
    }
}
@media screen and (max-width: 640px) {
	.shshow_fixed .lnk_shshow {
		text-decoration: none;
	}
}

/*--------------------------------------------------
	スクロールで降りてくるバナ― 
--------------------------------------------------*/
.top_down_bnr {
    display:none;
     position: fixed;
     left:0;
     width:100%;
     z-index: 9999;
     transition: top 0.6s ease-in;
    filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.5));
}
.top_down_bnr.down {
    top:0;
}
.top_down_bnr .pull_tab {
    position: absolute;
    left:3px;
    bottom:-21px;
    width:45px;
    height:20px;
    background-color: #eee;
    border:1px solid #bbb;
    border-top:none;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;   
}
.top_down_bnr .pull_tab:before {
    content: "";
    position:absolute;
    width:8px;
    height:8px;
    border-right: 2px solid #bbb;
    border-bottom:2px solid #bbb;
    transform: rotate(225deg);
    top:7px;
    left:17px;
}
.top_down_bnr.close .pull_tab:before {
    transform: rotate(45deg);
    top:2px;
}
 @media screen and (min-width: 641px) {
    .top_down_bnr {
        top:-135px/* -114px - 21px*/;
        text-align: center;
        background-color: rgba(255,255,255,0.80);
    }

    .top_down_bnr.down.close {
        top:-114px;
    }

    .top_down_bnr a{
        display:inline;
    }
    .top_down_bnr img{
        width:400px;
    }
}
/*IE*/
@media all and (-ms-high-contrast: none) {
    .top_down_bnr > div{
        background-color: rgba(0,0,0,0.05);
        box-shadow:0px 0px 5px 3px rgba(0,0,0,0.1)
    }
}
@media screen and (max-width: 640px) {
    .top_down_bnr {
        top:calc(-100vw * 228 / 800 - 21px);
    }
    .top_down_bnr.down.close {
        top:calc(-100vw * 228 / 800);
    }
    .top_down_bnr a{
        display:block
    }
    .top_down_bnr img{
        width:100%;
    }
}

/*--------------------------------------------------
	広告バナー
--------------------------------------------------*/
.ifrm_ad {
	display:none;
	padding:20px 0;
	text-align: center;
}
.ifrm_ad iframe {
	width:300px;
	height:251px;
	border:0;
	vertical-align: bottom;
}