.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0; /*追記*/
  right: 0; /*追記*/
}

.section-type003 .block-area{
	width	: 100%;
}

#bg.device-smart,#bg.device-smart #main,#bg.device-smart .section,#bg.device-smart .section-area{
	height: auto;
	min-height: auto;
}

#bg.device-smart .detail-section .section-area{
	height:100%;
}

#bg.device-smart{
	min-width: auto;
}

#bg.device-smart .section-type002 .section-area{
	width: 100%;
	float: none;
}

#bg.device-smart .section-type004 .section-area{
	width: 100%;
	float: none;
}

#bg.device-smart .section-type005 .section-area{
	width: 100%;
	float: none;
}

#bg.device-smart .section:not(.detail-section) .section-area .block-area{
	padding	: 10px;
}

#bg.device-smart .section-area .block-area{
	min-height: 	: 100px;
}

/*SPトピックス詳細画面*/
#bg.device-smart .detail-section #detail-main{
	padding	: 10px;
}

#bg.device-smart .detail-section #detail-main #detail-content{
	padding	: 10px;
}

#bg.device-smart .section-area .block-area > .block{
	position: relative;
	margin-left:auto;
	margin-right:auto;
}

#bg.device-smart .section-area .block-area > .block:first-child{
	margin-top:0px;
}

#header{
	position: relative;
	height: auto;
	z-index: 96;
}
#header.a-logo-fixed {
	padding-top:50px;
}
#header .header-bg{
	height:50px;
	padding-left	: 8px;
	padding-right	: 8px;
	position: relative;
}

#header.a-logo-fixed .header-bg{
	position: fixed;
	top	: 0px;
	z-index	: 90;
	width	: 100%;
}
#header.a-logo-fixed .trans-mode{
	top : 40px;
}

#header .header-bg .logo-cover{
	display		: table;
	width:auto;
	height:100%;
}

#header #a-logo-area.logo-center .logo-cover{
	margin-left  : auto;
	margin-right  : auto;
}

#a-logo-area div.logo-image-area{
	display		: table-cell;
	vertical-align	: middle;
	min-height:50px;
	height:100%;
	overflow:hidden;
}
#a-logo-area div.logo-text-area{
	display		: table-cell;
	vertical-align	: middle;
	min-height	: 50px;
	height		: 100%;
}

#header #a-logo-area.logo-center,#a-logo-area.logo-center div.height-center,#a-logo-area.logo-center .ui-wrapper,#a-logo-area.logo-center div.height-center *{
	text-align	: center;
	margin-left	: auto;
	margin-right	: auto;
}

#header #a-logo-area img,#header #a-logo-area amp-img{
	vertical-align	: middle;
}

#header .text1{
	width		: 100%;
	min-height	: 1px;
}
#header .tel{
	min-height	: 0px;
}

#header .tel-box,#header .text1,#header .text2{
	text-align	: center;
	font-size	: 13px;
	min-height	: 1px;
	width		: 100%;
	display		: block;
	padding     : 10px 0px;
	line-height: 1;
}

#header .logo {
	position: relative;
}

#header .logo > div{
	position: relative;
}

#header .logo a.ad-direct-link,
#header .logo a.vi-direct-link {
	width	: 100%;
	height	: 100%;
	display	: inline-block;
	position : absolute;
	top		: 0px;
	left	: 0px;
}
#header .logo a.ad-direct-link:link,
#header .logo a.ad-direct-link:active,
#header .logo a.ad-direct-link:visited,
#header .logo a.ad-direct-link:hover,
#header .logo a.vi-direct-link:link,
#header .logo a.vi-direct-link:active,
#header .logo a.vi-direct-link:visited,
#header .logo a.vi-direct-link:hover {
	text-decoration : none;
}

#mobile-menu-btn{
	display	: block;
	top	: 5px;
	width	: 30px;
	height	: 30px;
	line-height:30px;
	color:#FFFFFF;
	cursor:pointer;
	position: absolute;
	top	: 50%;
	right	: 10px;
	margin-top : -15px;
	z-index:90;
	cursor:pointer;
	text-align:center;
}

#mobile-menu-btn i.fa-bars{
	line-height:30px;
	font-size:22px;
	color: #FFFFFF;
}

#mobile-menu,#mobile-menu-bg{
	width	: 275px;
	height	: 100%;
	position: fixed;
	overflow-x:hidden;
	top	: 0px;
	left:0px;
	margin-left: -275px;
	filter: alpha(opacity=0);
	-moz-opacity:0;
	opacity:0;
	z-index: 95;
	background-color: #BBBBBB;
	transition-duration: 0.5s;
	transition-delay: 0;
}
#mobile-menu.trans-mode{
	height  : calc(100% - 40px);
}

#mobile-menu-bg{
	display: block;
	width	: 100%;
    margin-left: -100%;
	background-color: rgba(0,0,0,0.3);
	z-index: 94;
	transition-duration: 0.01s;
}

#mobile-menu:not(:target) {
    margin-left: -275px;
}

#mobile-menu:not(:target) + #mobile-menu-bg{
    margin-left: -100%;
}
#mobile-menu:target,#mobile-menu:target + #mobile-menu-bg{
	margin-left: 0px;
	filter: alpha(opacity=1);
	-moz-opacity:1;
	opacity:1;
}

#mobile-menu *{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

#mobile-menu .top-nav{
	height		: 50px;
	line-height	: 50px;
	background	: #BBBBBB;
	color		: #333333;
}
#mobile-menu .top-nav .close-btn{
	display:inline-block;
	max-width:85px;
	height		: 50px;
	line-height	: 50px;
	margin-left:5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}

#mobile-menu .top-nav ul li{
	height		: 50px;
	line-height	: 50px;
}
#mobile-menu .top-nav ul li.space{
	border-right	: 1px solid #333333;
	height		: 26px;
	margin-top	: 12px;
	width		: 1px;

	filter: alpha(opacity=20);
	-moz-opacity:0.2;
	opacity:0.2;
}
#mobile-menu .top-nav ul li a.nav-icon{
	height		: 50px;
	line-height	: 50px;
	width		: 50px;
	text-align	: center;
}
#mobile-menu .top-nav .fa{
	font-size	: 20px;
}
#mobile-menu .google-area{
	display		: none;
	background-color	: #999999;
	text-align: right;
	padding:0px 5px;
}
#mobile-menu #google-search-area.google-area{
	display		: block;
}

#mobile-menu .google-area div.gl-cont{
	padding:5px 0px;
}

#mobile-menu .google-area div.gl-space{
	border-top	: 1px solid #333333;
	height		: 1px;
	width:100%;

	filter: alpha(opacity=20);
	-moz-opacity:0.2;
	opacity:0.2;
}
#mobile-menu #google-search-area form{
	text-align	: right;
	padding		: 5px;
}
#mobile-menu #google-search-area input.search{
	width		: 70%;
}
#mobile-menu .multilanguage-select div{
	width  : 140px;
}
#mobile-menu .multilanguage-select .ml-label{
	border-radius: 3px;
	padding-left: 10px;
	font-size: 10px;
}
#mobile-menu .multilanguage-select .ml-menu{
	display:none;
	border-right  : 1px solid #000;
	border-left  : 1px solid #000;
	font-size: 10px;
}
#mobile-menu .multilanguage-select .ml-menu a{
	padding  : 5px;
	width  : 100%;
	line-height  : 30px;
	display  : block;
	border-bottom  : 1px solid #000;
}
#mobile-menu .multilanguage-select:hover .ml-label{
}
#mobile-menu .multilanguage-select:hover .ml-menu{
	display:block;
	z-index  : 10000;
	position:absolute;
}
#mobile-menu .multilanguage-select:hover #multilanguge-menu{
	background-color: #FFF;
	width:275px;
}
#mobile-menu .multilanguage-select:hover #multilanguge-menu a{
	color  : #000;
	width:136px;
	float: left;
}
#mobile-menu .multilanguage-select:hover #multilanguge-menu a:nth-child(2n+1){
	border-right: 1px solid #000;
}

#mobile-menu ul.menu li{
	position: relative;
	width:100%;
}

#mobile-menu ul.menu li > ul{
	position:relative;
	width:100%;
	left:auto;
}
/*resetcss打ち消しのため*/
#mobile-menu ul.menu li:hover > ul{
	display: none;
}

#mobile-menu ul.menu li.local-menu > ul{
	display:block;
}

/*#mobile-menu ul.menu li:hover > ul{
	display:none;
}*/

#mobile-menu ul.menu li > a {
	position: relative;
	display: block;
	cursor:pointer;
	text-align:left;
	width:100%;
	height:44px;
	line-height:44px;
	font-size:100%;
	text-overflow: ellipsis;
	/* #3287 スマホデザイン追加要素 KAWANAKA サブメニュー時にはみ出すため追加 */
	overflow: hidden;
	padding-right:5px;
	padding-left:30px;
}

#mobile-menu ul.menu li > a span{
	display:inline-block;
}

/* #3287 スマホデザイン追加要素 KAWANAKA */
/*
#mobile-menu.sd-design-flg-1.r-fix-flg-1 ul.menu li > a span span:first-child {
	padding-right : 10px;
}
#mobile-menu.sd-design-flg-0.r-fix-flg-1 ul.menu li > a span span:first-child {
	padding-right : 18px;
}
*/

#mobile-menu ul.menu li > a span.r-fix{
	display:block;
	position:absolute;
	top:0px;
	right:10px;
	background-repeat:no-repeat;
	background-position:center top;
	font-size: 18px;
}

#mobile-menu ul.menu > li > a{
	padding-left:30px;
}
#mobile-menu ul.menu > li > ul > li > a{
	padding-left:34px;
}
#mobile-menu ul.menu > li > ul > li >  ul > li > a{
	padding-left:50px;
}
#mobile-menu ul.menu > li > ul > li >  ul > li > ul > li > a{
	padding-left:54px;
}
#mobile-menu ul.menu > li > ul > li >  ul > li > ul > li > ul > li > a{
	padding-left:64px;
}

#mobile-menu ul.menu li > a span.sm-open-btn{
	position:absolute;
	top:0px;
	left:0px;
	width:30px;
	display:block;
	height:44px;
	text-align:center;
	cursor:pointer;
}
/*
#mobile-menu ul.menu li > span.sm-hover:hover + ul.current{
	display:block;
}*/

#mobile-menu ul.menu li.private-label{
	height:10px;
	background-color: #BBBBBB;
}

#bottom-area{
	padding-top:10px;
}

#footer{
	position: relative;
	text-align: center;
	min-height:auto;
}

#footer .text-box{
	padding		: 12px 5px;
	text-align	: center;
	line-height	: 1.5em;
}

#footer .address-box{
	padding		: 12px 5px;
	text-align	: center;
	line-height	: 1.5em;
	font-size: 78%;
}
#footer .copyright{
	margin-top:2px;
}
#footer .copyright-box{
	font-size	: 62%;
	padding		: 12px 5px;
	text-align	: center;
}

#footer .sns {
	text-align:center;
	letter-spacing: -0.4em;
	margin-bottom:15px;
}

#footer .sns .sns-link-icon{
	padding	: 0px;
	display	: inline-block;
	letter-spacing: normal;
	margin-left : 8px;
	width:28px;
	height:28px;
	background-size:auto 28px;
	background-image: url("../images/sns_logo.png");
	background-repeat:no-repeat;
}

#footer .sns .sns-link-icon:first-child{
	margin-left : 0px;
}

#footer .sns a.facebook-link{
	background-position: 0px 0px;
}
#footer .sns a.twitter-link{
	background-position: -30.5px 0px;
}
#footer .sns a.google-link{
	background-position: -61px 0px;
}
#totop-btn{
	display:none;
	width:30px;
	height:30px;
	line-height:30px;
	position:fixed;
	right:5px;
	bottom:10px;
	text-align:center;
	background-color:#999999;
	color:#FFFFFF;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	cursor:pointer;

	z-index:90;
	font-size: 12px;
}

.amp-mode-touch #totop-btn,.amp-mode-mouse #totop-btn{
	display: block;
}

.device-change-area{
	text-align: center;
	padding:15px 0px;
	font-size: 78%;
}
#header.pos2 ~ .main{
	padding-top:50px;
}

.block-media img{
    width:100%;
    height: 100%;
}

/* #4455再マージ */
#middle-area .record {
	margin-top:0 !important;
}

/* #2775 KAWANAKA */
/* #4694
body[data-admin-flg='0'] #middle-area .type002-block .aspect_padding {
	margin-top : 20px;
}
*/

body[data-admin-flg='0'] #middle-area .type002-block .record {
	margin-top : 0;
}

/*#2741 ページタイププレビュー専用CSS*/
#draft_alert {
	margin: 0 0 0 -100px;
	position: absolute;
	top: 10px;
	left:50%;
	z-index: 9999;
	padding: 10px;
	width:200px;
	text-align: center;
	color:#fff;
	border: 2px solid #ffffff;
	background-color: #333;
	opacity:0.7;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
/* amp用 */
#draft_alert.amp-draft{
	opacity: 0;
    animation: fadeOut 5s linear 0s 1;
	-webkit-animation: fadeOut 5s linear 0s 1;
}

@-webkit-keyframes fadeOut {
    0% {opacity: 0.7}
    99% {opacity: 0.7}
    100% {opacity: 0;}
}


/* #2827 固定バナー */
#fixedbanner-box {
	width : 100%;
	position: relative;
}

#fixedbanner-box.fixed-min-height {
	min-height : 60px;
}

#fixedbanner{
	width : 100%;
	position: fixed;
	/*padding : 10px;*/
	bottom  : 0px;
	display:block;
	background : rgba(0,0,0,0.6);
}

#fixedbanner .fixed {
	/*height : 40px;*/
	vertical-align: middle;
	padding : 10px;
}

#fixedbanner .fixed-box {
	display  : table;
	vertical-align: middle;
}


#fixedbanner ul{
	text-align : center;
	display  : table;
	table-layout: fixed;
	vertical-align: middle;
	width  : 100%;
}

#fixedbanner ul.fixed-banner li{
	border-right  : 5px solid transparent;
	border-left  : 5px solid transparent;
	vertical-align: middle;
	width : 100%;
}
#fixedbanner ul li div.fixed-banner{
	border-radius: 5px;

}

#fixedbanner ul li a{
	display  : block;
	width  : 100%;
}

.fixed_text {
	min-height : 40px;
	line-height  : 25px;
	color : #fff;
	font-size  : 16px;
	font-weight  : bold;
	width  : 100%;
	text-align  : center;
	padding : 6px;
}


/*
#fixedbanner ul.fixed-banner{
	display  : table;
	table-layout: fixed;
	width  : 100%;
}
#fixedbanner ul.fixed-banner li{
	display: table-cell;
	border-right  : 5px solid transparent;
	border-left  : 5px solid transparent;
}
#fixedbanner ul.fixed-banner li a{
	border-radius: 5px;
	text-align  : center;
	height  : 40px;
	line-height  : 40px;
	font-size  : 16px;
	display  : block;
	width  : 100%;
	font-weight  : bold;
	color : #fff;
}
*/


#fixedbanner .fixed-dummy{
	height  : 60px;
	width  : 100%;
	dislay  :block;
}

.device-change-area{
	text-align: center;
	padding:15px 0px;
	font-size: 78%;
}


#fixedbanner ul li div.fixed-banner-img {
	height: auto;
	vertical-align: middle;
}

#fixedbanner ul li div.fixed-banner-img.display_none{
	display : none;
}


#fixedbanner ul li div.fixed-banner-img div.banner-image{
	height: auto;
	vertical-align: middle;
	/*width : 100%;*/
	text-align : center;
	margin : 0 auto;
}

#fixedbanner ul li div.fixed-banner-img .banner-image img {
	vertical-align: middle;
	width : 100%;
	height : 100%;
}

/* #3287 スマホデザイン追加要素 KAWANAKA */
#mobile-menu-btn i.fa-times::before {
	content: "\f00d";
}
#mobile-menu-btn i.mobile-menu-close-btn {
	display : none;
}
#mobile-menu:target ~ #mobile-menu-btn i.mobile-menu-close-btn {
	display : block;
}
#mobile-menu-btn span.mobile-menu-close-btn {
	display : none;
}
#mobile-menu:target ~ #mobile-menu-btn span.mobile-menu-close-btn {
	display : inline;
}
#mobile-menu:target ~ #mobile-menu-btn i.mobile-menu-open-btn {
	display : none;
}
#mobile-menu:target ~ #mobile-menu-btn span.mobile-menu-open-btn {
	display : none;
}

#totop-btn i.fa-angle-up::before {
	content: "\f106";
}


/* #4044 matuuchi */
/* snsいいねボタン ---------------------------------------------------------------------------------- */
div.sns-btn-area.smart-btn{
	text-align: center;
}
div.sns-btn-area.smart-btn ul{
	float	: none;
	margin	: 0px auto;
/*
	max-width: 250px;
	min-width: 50px;
*/
	width	: auto;
	display : inline-block;
	text-align: center;

}
div.sns-btn-area.smart-btn ul li{
	line-height:0;
	width	: auto;
	height	: auto;
	float	: left;
	margin-left:5px;
/*	display: inline-block;*/
}

div.sns-btn-area ul li.facebook-btn{
	width:auto;
	margin-top:2px;
	margin-left:0px;
}
div.sns-btn-area ul li.twitter-btn{
	width	: 75px;
	margin-top:2px;
}
div.sns-btn-area ul li.google-btn{
	width	: 65px;
}
div.sns-btn-area ul li.line-btn{
	width	: 20px;
	margin-top:2px;
}

/* fixed menu(固定メニュー)用 -----------------------------------------------------------------------------------*/
.fm_list ul li{
	vertical-align: top;
	box-sizing : border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;

}
.fm_list ul li:last-child{
	border-right:none !important;
}
#fixed_menu{
	width:100%;
	z-index:95;
	transition: .3s;
	-webkit-backface-visibility: hidden;
}
#fixed_menu .original-text{
	min-height: 50px;
}
.fm-btn{
	display:inline-block;
	height:50px;
	text-align:center;
}
#fixed_menu #fixed_menu_list ul{
	display: table;
	table-layout:fixed;
	width:100%;
}
#fixed_menu #fixed_menu_list ul li{
	display: table-cell;
	vertical-align: middle;
	min-height: 50px;
	height: auto;
}
#fixed_menu_scroll{
	top:0;
	transition: .3s;
	transform: translateY(-100%);
}
#fixed_menu_scroll.fm_scroll{
	transform: translateY(0);
}
#share-list{
	width:100%;
}
#language-list{
	width:100%;
}
#fixed_menu_scroll{
	position:fixed;
	width:100%;
	z-index:95;
}

#fixed_menu #fixed_menu_list ul{
	height: 50px;
}

/* アイコン関係 */
/* 5列 */
.icon-5column{
	width:100%;
	height:50px;
}
.top-5column{
	font-size:32px;
	padding-top:9px;
}
.menu-5column{
	font-size:28px;
	padding-top:2px;
}
.contact-5column{
	font-size:24px;
	padding-top:5px;
}
.tel-5column{
	font-size:34px;
	padding-top:10px;
}
.document-5column{
	font-size:26px;
	padding-top:4px;
}
.share-5column{
	font-size:26px;
	padding-top:4px;
}
.login-5column{
	font-size:32px;
	padding-top:0px;
}
.careers-5column{
	font-size:28px;
	padding-top:2px;
}
.access-5column{
	font-size:32px;
	padding-top:0px;
}
.language-5column{
	font-size:28px;
	padding-top:2px;
}
.icon-5column.original-icon{
	font-size:30px;
}

/* 3列,4列 */
.icon-3_4column{
	width:100%;
	height:31px;
}
.icon-3_4column i{
	vertical-align:top;
}
.text-3_4column{
	width:100%;
}
.top-3_4column{
	font-size:28px;
	padding-top:3px;
}
.menu-3_4column{
	font-size:24px;
	padding-top:5px;
}
.contact-3_4column{
	font-size:22px;
	padding-top:5px;
}
.tel-3_4column{
	font-size:26px;
	padding-top:4px;
}
.document-3_4column{
	font-size:22px;
	padding-top:5px;
}
.share-3_4column{
	font-size:24px;
	padding-top:6px;
}
.login-3_4column{
	font-size:28px;
	padding-top:4px;
}
.careers-3_4column{
	font-size:24px;
	padding-top:5px;
}
.access-3_4column{
	font-size:26px;
	padding-top:3px;
}
.language-3_4column{
	font-size:24px;
	padding-top:4px;
}
.icon-3_4column.original-icon{
	font-size:25px;
	padding-top:4px;
}
.fm-original-btn .text-3_4column{
	/* padding-top:5px; */
}

/* 2列 */
.flex-column{
	display:flex;
	justify-content:center;
	align-items:center;
}
.flex-column .img-area{
	padding-right:5px;
}
.icon-2column{
	width:100%;
}
.icon-2column > span{
	line-height:50px;
}
.icon-2column span span{
	margin-left:6px;
}
.fm-btn:not(.fm-original-btn) .icon-2column i{
	vertical-align:middle;
}
.icon-2column.original-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding-top: 2px;
}
.icon-2column .icon-area{
	font-size:25px;
	padding:0 5px;
}
.icon-2column .text-area{
	padding-right:5px;
}
.top-2column i{
	font-size:28px;
}
.menu-2column i{
	font-size:24px;
}
.contact-2column i{
	font-size:22px;
}
.tel-2column i{
	font-size:26px;
}
.document-2column i{
	font-size:22px;
}
.share-2column i{
	font-size:24px;
}
.login-2column i{
	font-size:28px;
}
.careers-2column i{
	font-size:24px;
}
.access-2column i{
	font-size:26px;
}
.language-2column i{
	font-size:24px;
}
.icon-2column.original-icon i{
	font-size:24px;
}

/* 1列 */
.icon-1column{
	width:100%;
}
.icon-1column > span{
	line-height:50px;
}
.icon-1column span span{
	margin-left:11px;
}
.fm-btn:not(.fm-original-btn) .icon-1column i{
	/* vertical-align:middle; */
}
.icon-1column.original-icon{
	display:flex;
	align-items:center;
	justify-content:center;
}
.icon-1column .icon-area{
	padding:0 5px;
}
.icon-1column .text-area{
	padding-right:5px;
}
.top-1column i{
	font-size:32px;
}
.menu-1column i{
	font-size:28px;
}
.contact-1column i{
	font-size:24px;
}
.tel-1column i{
	font-size:28px;
}
.document-1column i{
	font-size:26px;
}
.share-1column i{
	font-size:26px;
}
.login-1column i{
	font-size:32px;
}
.careers-1column i{
	font-size:28px;
}
.access-1column i{
	font-size:32px;
}
.language-1column i{
	font-size:26px;
}
.icon-1column.original-icon i{
	font-size:26px;
}

.line-height13 {
	line-height : 1.3;
}

/* シェア、言語切替プルダウン用CSS */
.share-list-bottom,
.language-list-bottom,
#current-language{
	display	: none;
	position:absolute;
	bottom:0;
	transition: .3s;
	transform: translateY(100%);
}
.share-list-bottom.fm-share-show{
	display	: block;
	transform: translateY(0);
}
.language-list-bottom.fm-language-show{
	display	: block;
	transform: translateY(0);
}
#language-list.fm-language-show{
	display	: block;
	transform: translateY(0);
}
#current-language.fm-language-show{
	display	: block;
	transform: translateY(0);
}
.share-list-top,
.language-list-top{
	/*display:none;*/
	position:absolute;
	visibility:hidden;
	top:50px;
	/*top:0;*/
	transition: .3s;
	transform: translateY(-100%);
}
.share-list-top.fm-share-show{
	/*display:block;*/
	visibility:visible;
	/*top:50px;*/
	z-index:99;
	transform: translateY(0);
}
.language-list-top.fm-language-show{
	/*display:block;*/
	visibility:visible;
	/*top:50px;*/
	z-index:99;
	transform: translateY(0);
}
.share-list-scroll,
.language-list-scroll{
	position:absolute;
	top:0;
	transition: .3s;
	transform: translateY(-100%);
}
.share-list-scroll.fm-share-show{
	top:50px;
	transform: translateY(0);
}
.language-list-scroll.fm-language-show{
	top:50px;
	transform: translateY(0);
}


.share-list-bottom .fm-list-child,
.language-list-bottom .fm-list-child,
#current-language{
	width:100%;
	margin-bottom:1px;
}
.share-list-top .fm-list-child,
.language-list-top .fm-list-child{
	width:100%;
	margin-top:1px;
}
.share-list-scroll .fm-list-child,
.language-list-scroll .fm-list-child{
	width:100%;
	margin-top:1px;
}
.fm-list-child .fm-list-lh{
	height:50px;
	line-height:50px;
}
.fm-list-tac{
	text-align:center;
}

.fixed_menu-parts ul li a{
	text-decoration:none !important;
}
#current-language .fm-list-child > div:nth-child(1){
	padding-left: 20px;
}
#current-language .fm-list-child > div:nth-child(2){
	padding-top: 5px;
	padding-right: 10px;
}
#current-language .fm-list-child{
	display:flex;
	justify-content:space-between;
}

/* サイト内検索用 -----------------------------------------------*/
#google-search-area .search{
	width: 70%;
	font-size: 16px;
}
#google-search-area #ds-search-btn,
#google-search-area .google-search-btn{
	margin-left: 5px;
	font-size: 16px;
}

/*google翻訳系---------------------------------------------------------------------------------------------- */

body > div.skiptranslate{
	width:100%;
      height:39px;
    /*  overflow:auto; */ /* iosで翻訳バーが出なくなるのでコメントアウト */
      position:fixed;
      z-index:90;
}

iframe.goog-te-banner-frame{
      height:39px;
      border:none;
      z-index: 90;
}

.gsc-control-cse *,.gsc-search-box *{
	box-sizing	: content-box;
}
body #header-google .gsc-search-box{
	display:none;
}
body #header-google .cse .gsc-control-cse,body #header-google .gsc-control-cse{
	padding:0px;
	font-size:0px;
/*	background-color: transparent;**/
	border	: 0px;
}
body #header-google .gsc-results-wrapper-overlay{
	font-size:13px;
}


/* #4843 */
#gdpr_box {
	width      : 100%;
	z-index    : 999;
	position   : fixed;
	bottom     : 0px;
	background : rgba(0,0,0,0.85);
}

#gdpr_box #gdpr_txt {
	width  : 100%;
	color  : #fff;
	padding : 10px;
	font-size : 14px;
}

#gdpr_box #gdpr_banner_box {
	display  : table;
	vertical-align: middle;
}

#gdpr_banner_box ul{
	text-align : center;
	display  : table;
	table-layout: fixed;
	vertical-align: middle;
	width  : 100%;
}

#gdpr_banner_box ul li{
	border-right  : 5px solid transparent;
	border-left  : 5px solid transparent;
	vertical-align: middle;
	width : 100%;
	display: table-cell;
}

#gdpr_banner_box ul li div#gdpr_true{
	border-radius: 5px;
	background : #007FFF;
}

#gdpr_banner_box ul li div#gdpr_false{
	border-radius: 5px;
	background : #D90000;
}

#gdpr_banner_box p {
	min-height : 40px;
	line-height  : 27px;
	color : #fff;
	font-size  : 14px;
	font-weight  : bold;
	width  : 100%;
	text-align  : center;
	padding : 6px;
}

#gdpr_box #gdpr_privacy_url {
	width : 100%;
	font-size  : 14px;
	padding : 10px 0px;
	text-align : center;
	color : #fff;
	font-weight : bold;
	line-height : 2.5px;
	margin : 15px 0px;
}

#gdpr_box #gdpr_privacy_url a {
	color:#35ABF2;
	text-decoration: underline;
}

#gdpr_box #gdpr_privacy_url a:link {
	color:#35ABF2;
	text-decoration: underline;
}
#gdpr_box #gdpr_privacy_url a:visited {
	color:#35ABF2;
	text-decoration: underline;
}
#gdpr_box #gdpr_privacy_url a:hover {
	color:#35ABF2;
	text-decoration: underline;
}
#gdpr_box #gdpr_privacy_url a:active {
	color:#35ABF2;
	text-decoration: underline;
}

/*トピックスSP独自詳細画面*/
#bg.device-smart .section-type003 .type006_detail_box{
	padding:10px 10px;
}

/*汎用対応*/

.general-img{
	float:left;
	margin-right:10px;
	margin-top: 20px;
}

.general{
	overflow: hidden;
	margin-bottom: 20px;
}

/* #3093 */
.icon-text{
	/* #3039 WA icon */
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	display: inline-block;
	width: 0px;	
}

span.icon-text{
	border:none;
    height: 0px;
    min-width: 0px;
    margin: 0px;
    padding: 0px;
}

.icon-text.icon-inline{
	display: inline-block;
}


.general .item{
	float:left;
	margin-right:10px;
}

.general .item-row1 .item{
	width:100%;
	float:none;
	clear:both;
	margin-right:0px;
}

.general .item-row2{
	padding-right:10px;
}
.general .item-row2 .item{
	width:50%;
}
.general .item-row2 .item:nth-child(2n){
	float:right;
	margin-right:-10px;
}
.general .item-row2 .item:nth-child(2n+1){
	clear:both;
}
.general .item-row3{
	padding-right:20px;
}
.general .item-row3 .item{
	width:33.33%;
}

.general .item-row3 .item:nth-child(3n){
	float:right;
	margin-right:-20px;
}
.general .item-row3 .item:nth-child(3n+1){
	clear:both;
}

.general .item-row4{
	padding-right:30px;
}
.general .item-row4 .item{
	width:25%;
}

.general .item-row4 .item:nth-child(4n){
	float:right;
	margin-right:-30px;
}
.general .item-row4 .item:nth-child(4n+1){
	clear:both;
}

.general .item-row5{
	padding-right:40px;
}
.general .item-row5 .item{
	width:20%;
}

.general .item-row5 .item:nth-child(5n){
	float:right;
	margin-right:-40px;
}
.general .item-row5 .item:nth-child(5n+1){
	clear:both;
}

.general-bottom-list{
	display : table;
	width : 100%;
/*	border-bottom : 1px dotted #666;*/
}

.general-bottom-list li{
	display : table-cell;
	vertical-align : middle;
/*	padding : 15px 0;*/
/*	margin : 0 5px;*/
}

.general-bottom-list li.cell1{
	width : 30px;
	font-size: 10px;
	color : #ccc;
	text-align : center;
}

.general-bottom-list li.cell2{
	width : auto;
}

/* .general ul {
	list-style-type: decimal;
    padding-left: 1.5em;
}

.general ol {
	list-style-type: decimal;
    padding-left: 1.5em;
} */

/*エディタ入力時の対応*/
[data-direct-type="editor"] ul,
.protect_law_area ul{
	list-style-type: disc;
	padding-left:1em;
}
[data-direct-type="editor"] ol,
.protect_law_area ol{
	list-style-type: decimal;
	padding-left:2em;
}

/*SP詳細ページ、ページめくり*/
ul.smart-paginator-list {
	display : table;
	box-sizing: border-box;
	width : 100%;
	height : 40px;
	border: 1px solid #ccc;
	border-collapse:collapse;
	border-spacing:0;
	background: #F9FAFC;
	background-image: -webkit-linear-gradient(top, #F9FAFC, #EFF0F1);
	background-image: -moz-linear-gradient(top, #F9FAFC, #EFF0F1);
	background-image: -ms-linear-gradient(top, #F9FAFC, #EFF0F1);
	background-image: -o-linear-gradient(top, #F9FAFC, #EFF0F1);
	background-image: linear-gradient(to bottom, #F9FAFC, #EFF0F1);
	text-shadow: 1px 1px 1px #fff;
	text-align : center;
}

.smart-paginator-list li {
	display : table-cell;
	width : auto;
	vertical-align: middle;
	color: #666;
	border : 1px solid #ccc;
}

#middle-area .smart-paginator-list li a:link,
#middle-area .smart-paginator-list li a:active,
#middle-area .smart-paginator-list li a:visited,
#middle-area .smart-paginator-list li a:hover {
	color : #666;
	text-decoration:none;
}

.smart-paginator-list li.cell1 {
	width : 30px;
}

.smart-paginator-list li.cell2 {
	width : 70px;
}

.smart-paginator-list li .gray {
	color : #ccc;
}
/* block_type---------------------------------------------------------------------------------------------- */
/* Sptype009 */
/*type125 から取得 */
.type125-block .date_area{
	text-align: right;
	padding: 10px 0px;
}
.type125-block table{
	width : 100%;
}	

.type125-block table td.type125Td,
.type125-block table th.type125Td
{
	padding: 20px 25px;

	border : none;

	border-bottom-style	:dotted;
	border-bottom-width	:1px;
	border-bottom-color	:#000;

	border-left-style	:none;
	border-left-width	:1px;
	border-left-color	:#FFF;

	border-right-style	:none;
	border-right-width	:1px;
	border-right-color	:#FFF;
}
.type125-block table th.type125Td{
	width		: 100px;
	padding-top: 15px;
	padding-bottom: 15px;
	background 	: #F0F0F0;
	color		: #707070;
	font-weight : bold;

	border : none;
	border-top-style	:dotted;
	border-top-width	:1px;
	border-top-color	:#000;
	text-align: left;
}

.type125-btn span{
	block:inline-block;
	background: #f9fafc;
	background: -moz-linear-gradient(top,  #f9fafc 0%, #e8e9eb 100%);
	background: -webkit-linear-gradient(top,  #f9fafc 0%,#e8e9eb 100%);
	background: linear-gradient(to bottom,  #f9fafc 0%,#e8e9eb 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9fafc', endColorstr='#e8e9eb',GradientType=0 );

	border : 1px solid #999999;
	border-radius: 3px;

	vertical-align: middle;
	text-decoration: none !important;
	color : #666 !important;
	font-weight:normal;

	box-shadow:none;
/*	padding:7px 10px;*/
	height	: auto;
	padding	: 0px 5px;
}


/*プリセットボタン---------------------------------------------------------------------------------------------- */
.preset-btn-box .preset-btn {
/*	width: 69%;*/
	-webkit-border-radius: 10;
	-moz-border-radius: 10;
	border-radius: 5px;
	font-weight	: bold;
/*	font-size: 129%;*/
	text-decoration	: none;
	text-align	: center;
	max-width	: 480px;
	margin-left	: auto;
	margin-right	: auto;
}

.preset-btn-box .preset-btn:hover {
	text-decoration: none;
}

.preset-btn-box .title {
	padding : 5px 5px;
}

.preset-btn-box .title > *{
	display	: inline;
	vertical-align: middle;
}
.preset-btn-box .preset-btn .title i.fa {
	font-size : 130%;
}

.preset-btn-box .preset-btn .title span {
/*	font-size : 110%;*/
}
.preset-btn-box .tel {
	font-size : 114%;
}