@charset "utf-8";
/* CSS Document */
/*----------------------------------------


cate_article_contents_area


----------------------------------------*/
.cate_article_area .article_title_area{
	position: relative;
	background: #5889eb;
	padding: 20px;
	border-radius: 5px 5px 0 0;
	margin-bottom: 30px;
}
.cate_article_area .article_title_area h2{
	color: #fdf575;
	font-size: 2.8rem;
}
.cate_article_area .article_title_area::before{
	position: absolute;
	content: "";
	bottom:-15px;
	right: 20px;
	width: 256px;
	height: 286px;
	background: url("../images/cate_contents_ph01.png") no-repeat left bottom;
	background-size: 100%;
}
.cate_article_area .article_contents{
	line-height: 1.8;
}
/*----------------------------------------


site_article_area


----------------------------------------*/
.site_contents{
	padding: 60px 0;
	margin-bottom: 60px;
	border-bottom: 1px solid #e0e0e0;
}
.site_article_area{
	position: relative;
	border:2px solid #5889eb;
	border-radius: 8px;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.20);
	margin-bottom: 50px;
	overflow: hidden;
}
.site_article_area:last-of-type{
	margin-bottom: 0;
}
.news_details_area .news_details_kanren_site{
	margin: 50px 0;
}
.site_article_area .article_title_area{
	padding: 20px 40px;
	border-bottom:3px solid #5889eb;
}
.site_article_area .article_title_area .site_title{
	color: #319ee4;
	font-size: 2.4rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: none !important;
	font-weight: bold;
}
.site_article_area p{
	font-size: 1.4rem !important;
}
.site_article_area .article_title_area p{
	color: #1c9ee4 !important;
	font-size: 1.3rem !important;
	margin-bottom: 0;
}
.site_article_area .article_contents{
}
.site_article_area .article_list_contents{
	display: flex;
	justify-content: space-between;
	line-height: 1.8;
	padding: 40px;
}
.article_contents .ph{
	position: relative;
	width:300px;
	overflow: hidden;
	margin-bottom: 20px;
}
.article_contents .ph figure{
    display: block;
    padding-top: 83.5%;
	overflow: hidden;
}
.article_contents .ph img{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.site_article_area .article_contents .txt_area{
	width:calc(100% - 320px);
}
.site_article_area .article_contents .recommend{
	display: flex;
	align-items: center;
	background: #fcf8e8;
	border-radius: 5px;
	padding: 10px 20px;
	margin-bottom: 20px;
	line-height: 1.0;
	width: 250px;
	font-weight: bold;
	box-sizing: border-box;
}
.site_article_area .article_contents .recommend span{
	color: #1c9ee4;
	padding-right: 5px;
	font-size: 1.4rem !important;
}
.site_article_area .article_contents .recommend img{
	width: 25px;
	height: 25px;
	padding-left: 5px;
}
.site_article_area .article_contents .article_list_footer{
	background: #e6e6e6;
	padding: 30px;
	text-align: center;
}
.site_article_area .article_contents .article_list_footer .btn{
	display: inline-block;
	max-width: 380px;
	width: 49%;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}
.site_article_area .article_contents .article_list_footer .btn a{
	display: block;
	padding: 15px 0;
	font-size: 1.8rem;
	font-weight: bold;
}
/*----------------------------------------


full_site


----------------------------------------*/
.full_site{
	margin: 40px auto 0;
	width: 100%;
}
.full_site .site_article_area .article_list_contents{
	padding: 40px 50px;
}
.full_site .site_article_area .article_contents .ph{
	width:340px;
}
.full_site .site_article_area .article_contents .txt{
	width:calc(100% - 370px);
}
.full_site .site_article_area .article_title_area .site_title{
	font-size: 2.8rem !important;
}
.full_site .site_article_area .article_contents .point_area h3{
	width: 135px;
	text-align: center;
	color: #fff;
	padding: 3px 0;
	margin-bottom: 10px;
	border-radius: 5px;
	background: #efca2e;
	font-size: 1.4rem;
}
.full_site .site_article_area .article_contents .table_area {
	display: flex;
	flex-wrap: wrap;
	border-right: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	margin-top: 20px;
}
.full_site .site_article_area .article_contents .table_area dl{
	width: 25%;
	text-align: center;
	border-left: 1px solid #e0e0e0;
	border-top: 1px solid #e0e0e0;
	box-sizing: border-box;
	margin-block-start: 0;
    margin-block-end: 0;
}

.full_site .site_article_area .article_contents .table_area dl dt,
.full_site .site_article_area .article_contents .table_area dl dd{
	padding: 5px 0;
	font-weight: bold;
}
.full_site .site_article_area .article_contents .table_area dl dt{
	border-bottom: 1px solid #e0e0e0;
	color: #003aa0;
	background: #cde2fc;
}
.full_site .site_article_area .article_contents .table_area dl:nth-child(odd) dt{
	background: #e5f0fd;
}
.full_site .site_article_area .article_contents .article_list_footer .btn{
	display: block;
	max-width: 450px;
	width: 80%;
	margin: 0 auto;
	padding: 0 0;
}
.full_site .site_article_area .article_contents .article_list_footer .btn a{
	max-width: 450px;
	font-size: 2.0rem;
}
/*----------------------------------------


aside_article_area


----------------------------------------*/
.aside_article_area{
	padding-top: 60px;

}
.aside_article_area h3.title{
	position: relative;
	text-align: center;
	font-size: 1.8rem;
	color: #1459e5;
	margin-bottom: 30px;
}
.aside_article_area h3.title::before{
	position: absolute;
	content: "";
	background: url("../images/aside_ph01.png") no-repeat;
	background-size: 100%;
	width: 100px;
	height: 80px;
	left: 50%;
	transform: translateX(-50%);
	top:-80px;
}
.aside_article_area .article_contents{
	line-height: 1.8;
}
/*----------------------------------------


writer_comment_area


----------------------------------------*/
.writer_comment_area{
	position: relative;
	padding-top :20px;
	margin-bottom: 50px;
}
.writer_comment_area .writer_comment_contents{
	padding-left: 70px;
}
.writer_comment_area .writer_comment_contents .comment_title{
	position: relative;
	display: inline-block;
	border-radius: 5px;
	font-size: 1.8rem;
	color: #1c9ee4;
	background: #fff;
	padding: 8px 20px;
	margin-bottom: 20px;
}
.writer_comment_area .writer_comment_contents .comment_title::before{
	position: absolute;
	content: "";
	left: -7px;
	top:15px;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-right: 8px solid #fff;;
    border-bottom: 5px solid transparent;
}
.writer_comment_area .writer_comment{
	line-height: 1.8;
}
.writer_comment_area .ph{
	position: absolute;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	overflow: hidden;
	top:10px;
	left: 10px;
}
/*----------------------------------------


aside_writer_area


----------------------------------------*/
.aside_writer_area{
	position: relative;
	padding :20px 0;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	margin-top: 70px;
}
.aside_writer_area .writer_contents{
	padding-left: 90px;
}
.aside_writer_area .writer_contents .name{
	margin-bottom: 10px;
	margin-block-start: 0;
    margin-block-end: 0;
	font-size: 1.4rem;
}
.aside_writer_area p{
	font-size: 1.3rem;
	line-height: 1.8;
	margin-bottom: 10px;
	margin-block-end: 0;
}
.aside_writer_area .ph{
	position: absolute;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	overflow: hidden;
	top:20px;
	left: 0;
}
.aside_writer_area .writer_contents a{
	font-size: 1.4rem;
}
/*----------------------------------------


news_article_area 記事詳細


----------------------------------------*/
.news_article_area .title{
	font-size: 2.8rem;
}
.news_details_area{
	font-size: 1.6rem;
	line-height: 1.8;
	margin-top: 30px;
	margin-bottom: 40px;
}
.news_details_area ul:not(.toc_list){
	margin-left: 20px;
}
.news_details_area .main_body_photo{
	margin: 0 auto 1em auto;
    max-width: 640px;
    max-height: 425px;
	overflow: hidden;
}
.news_details_area .main_body_photo img{
	height: auto;
}
.news_details_area h2 {
    display: block;
    padding: .3em 0;
    margin: 1.4em 0 .5em;
    border-bottom: solid 5px #5392d4;
    clear: both;
    font-size: 2.2rem;
    line-height: 1.4;
    font-weight: 700;
}
ul.circle_group {
    display: flex;
	justify-content: flex-end;
    margin-top: 0;
    margin-bottom: 0;
    top: 80%;
    list-style: none !important;
    font-weight: bold;
}
.sns_circle {
    position: relative;
    width: 35px;
    height: 35px;
    margin: 0px 7px 0px 0px !important;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: #999;
    list-style: none;
}
[class^="icon-"], [class*=" icon-"] {
 font-family: 'icomoon';
 speak: none;
 font-style: normal;
 font-weight: normal;
 font-variant: normal;
 text-transform: none;
 line-height: 1;
 
 /* Better Font Rendering =========== */
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}
.sns_circle.facebook{
    background-color:#0865fe;
}
.sns_circle.twitter{
	background-color: #000;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sns_circle.hatebu {
    background-color: #006fbb;
}
.sns_circle.line {
    background-color: #2cbf13;
	border-bottom: none;
    padding-bottom: 0;
    color: #003aa0;
    margin-bottom: 0;
}
        
.sns_circle span {
    position: absolute;
    padding: 7px;
    font-size: 20px;
    color: #FFF;
}
ul.circle_group .icon-facebook {
    padding: 6.4px 6px 6px !important;
}
ul.circle_group .icon-line {
    padding: 8px 8px 0 7.5px !important;
}
.sns_circle a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    text-indent: -999px;
    color: #FFF;
}
.sns_circle a:hover {
    background-color: #FFF;
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.news_details_area .title-line-l {
    padding-left: 14px;
    border-left: 4px solid #0c5ed4;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.5;
}

/*----------------------------------------


404


----------------------------------------*/
.not404_article_area .title{
	font-size: 2.4rem;
	margin: 40px 0;
	text-align: center;
}
.not404_article_area figure{
	width: 80%;
	margin: 0 auto;
	max-width: 600px;
}

@media only screen and (max-width:767px) {
    /*----------------------------------------


    cate_article_contents_area


    ----------------------------------------*/
    .cate_article_area .article_title_area{
        padding: 15px;
    }
    .cate_article_area .article_title_area h2{
        font-size: 2.0rem;
    }
    .cate_article_area .article_title_area::before{
        right: -6%;
        width: 40%;
        height: 200px;
		max-width: 200px;
    }
    .cate_article_area .article_contents{
        line-height: 1.8;
    }

    /*----------------------------------------


    site_article_area


    ----------------------------------------*/
    .site_contents{
        padding: 40px 0;
        margin-bottom: 40px;
        border-bottom: 1px solid #e0e0e0;
    }
    .site_article_area{
        margin-bottom: 40px;
    }
    .site_article_area:last-of-type{
        margin-bottom: 0;
    }
    .site_article_area .article_title_area{
        padding: 15px;
    }
    .site_article_area .article_title_area .site_title{
        font-size: 2.0rem !important;
    }
    .site_article_area .article_title_area p{
        font-size: 1.2rem !important;
		line-height: 1.4;
    }
    .site_article_area .article_contents{
    }
    .site_article_area .article_list_contents{
        display: block;
        line-height: 1.8;
        padding: 15px;
    }    .article_contents .ph{
        width:100%;
        margin-bottom: 20px;
    }
    .site_article_area .article_contents .txt_area{
        width:100%;
    }
    .site_article_area .article_contents .recommend{
		justify-content: center;
        padding: 8px 15px;
        width: 84%;
		margin: 0 auto 20px;
		font-size: 1.4rem !important;
    }
    .site_article_area .article_contents .recommend img{
        width: 20px;
        height: 20px;
    }
    .site_article_area .article_contents .article_list_footer{
        background: #e6e6e6;
        padding: 15px;
    }
    .site_article_area .article_contents .article_list_footer .btn{
        display: block;
        max-width: 380px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
    .site_article_area .article_contents .article_list_footer .btn + .btn{
        margin-top:15px;
    }
    .site_article_area .article_contents .article_list_footer .btn a{
        padding: 10px 0;
        font-size: 1.6rem;
        width: 100%;
    }

    /*----------------------------------------


    full_site


    ----------------------------------------*/
    .full_site{
        margin: 40px auto 0;
    }
    .full_site .site_article_area .article_list_contents{
        padding: 15px;
    }    .full_site .site_article_area .article_contents .ph{
        width:100%;
    }
    .full_site .site_article_area .article_contents .txt{
        width:100%;
    }
    .full_site .site_article_area .article_title_area .site_title{
        font-size: 2.0rem !important;
    }
    .full_site .site_article_area .article_contents .point_area h3{
        font-size: 1.3rem;
    }
    .full_site .site_article_area .article_contents .table_area {
        display: block;
        border-left: 1px solid #e0e0e0;
        margin-top: 20px;
    }
    .full_site .site_article_area .article_contents .table_area dl{
		display: flex;
		justify-content: space-between;
        width: 100%;
        text-align: left;
        border-left: none;
        border-top: 1px solid #e0e0e0;
    }

    .full_site .site_article_area .article_contents .table_area dl dt{
        padding: 5px;
		width: 40%;
		box-sizing: border-box;
	    border-right: 1px solid #e0e0e0;
		border-bottom: none;
    }
    .full_site .site_article_area .article_contents .table_area dl dd{
        padding: 5px;
		width: 60%;
		box-sizing: border-box;
    }
    .full_site .site_article_area .article_contents .article_list_footer .btn{
        width: 100%;
    }
	.site_details .site_article_area .article_contents .article_list_footer .btn a,
    .full_site .site_article_area .article_contents .article_list_footer .btn a{
        max-width: 450px;
		width: 100%;
        font-size: 1.8rem;
    }
    /*----------------------------------------


    aside_article_area


    ----------------------------------------*/
    .aside_article_area{
        padding-top: 60px;

    }
    .aside_article_area h3.title{
        position: relative;
        text-align: center;
        font-size: 1.8rem;
        margin-bottom: 30px;
    }
    .aside_article_area h3.title::before{
        position: absolute;
        content: "";
        background: url("../images/aside_ph01.png") no-repeat;
        background-size: 100%;
        width: 100px;
        height: 80px;
        left: 50%;
        transform: translateX(-50%);
        top:-80px;
    }
    .aside_article_area .article_contents{
        line-height: 1.8;
    }
    /*----------------------------------------


    writer_comment_area


    ----------------------------------------*/
    .writer_comment_area{
        position: relative;
        padding-top :20px;
        margin-bottom: 40px;
    }
    .writer_comment_area .writer_comment_contents{
        padding-left: 0;
    }
    .writer_comment_area .writer_comment_contents .comment_title{
		position: relative;
		left: 70px;
        font-size: 1.4rem;
        color: #1c9ee4;
        background: #fff;
        padding: 8px 15px;
        margin-bottom: 20px;
    }
    .writer_comment_area .writer_comment_contents .comment_title::before{
        position: absolute;
        content: "";
        left: -7px;
        top:15px;
        width: 0;
        height: 0;
        border-top: 5px solid transparent;
        border-right: 8px solid #fff;;
        border-bottom: 5px solid transparent;
    }
    .writer_comment_area .writer_comment{
        line-height: 1.8;
    }
    .writer_comment_area .ph{
        position: absolute;
        width: 60px;
        height: 60px;
        top:10px;
        left: 10px;
    }
    /*----------------------------------------


    aside_writer_area


    ----------------------------------------*/
    .aside_writer_area{
        margin-top: 40px;
    }
    .aside_writer_area .writer_contents{
        padding-left: 0;
    }
    .aside_writer_area .writer_contents .name{
        font-size: 1.4rem;
    }
    .aside_writer_area .writer_contents .name,
    .aside_writer_area .writer_contents .status{
        position: relative;
        left: 70px;
		width: calc(100% - 70px);
    }
    .aside_writer_area .writer_contents .status{
        margin-bottom: 20px;
    }
    .aside_writer_area .ph{
        width: 60px;
        height: 60px;
		top:10px;
    }
    /*----------------------------------------


    news_article_area 記事詳細


    ----------------------------------------*/
    .news_article_area .title{
        font-size: 2.0rem;
    }
    .news_details_area{
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 30px;
    }
    .news_details_area h2 {
        font-size: 1.8rem;
    }
    .news_details_area .title-line-l {
        font-size: 15px !important;
    }
  /*----------------------------------------


  404


  ----------------------------------------*/
  .not404_article_area .title{
      font-size: 1.8rem;
      margin: 20px 0;
  }

}

/*--- Style FF ---*/
.triangleIcon {
	margin: 0;
	vertical-align: sub;
	padding: 3px;
	font-weight: bold;
	line-height: 140%;
}
.triangleIcon:before {
	display: inline-block;
	content: '';
	background: url(../images/caution.png) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	vertical-align: inherit;
}
.checkedIcon {
	margin: 0;
	padding: 3px;
	font-weight: bold;
	line-height: 140%;
	display: flex;
	align-items: center;
}
.checkedIcon:before {
	display: inline-block;
	content: '';
	background: url(../images/check.png) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 18px;
	margin-right: 5px;
}
.yellow_underline {
	background: linear-gradient(transparent 60%, #ffff66 60%);
	font-weight: bold;
}
.yellow_underline::before {
	content: url('../images/img_q.jpg');
	vertical-align: sub;
}
h3.underline{
	margin: 0 0 0.5rem;
}
h3.underline span{
	display: inline-block;
	border-bottom: 5px solid #0056B3;
}
a.shutten {
	display: inline-block;
	font-size: 11px;
	font-weight: bold;
	color: #1d3994;
}
a.ffsmartnews {
	display: inline-block;
	line-height: 1.4;
	font-size: 15px;
	margin-bottom: 5px;
	color: #1d3994;
	font-weight: bold;
}
.main_body h2 {
	padding: 0.3em 0.3em 0.3em 2.3em;
	margin: 1.4em 0 0.5em 0;
	font-size: 1.3em;
	line-height: 1.3em;
	font-weight: bold;
	color: #fff;
	background: #0056B3;
	border-radius: 5px;
    position: relative;
}
.main_body h2:before {
	font-family: 'icomoon';
	content: "\ea52";
	position: absolute;
	left: 0.8em;
}
.main_body p {
    margin-bottom: 1rem;
}

/**
 * Table of content
 */
#toc_container {
	width: 100% !important;
    text-align: center;
}
#toc_container.no_bullets li, #toc_container.no_bullets ul, #toc_container.no_bullets ul li, .toc_widget_list.no_bullets, .toc_widget_list.no_bullets li {
    margin: 0 !important
}
#toc_container p.toc_title {
    min-width: 97px;
    display: inline-block;
    text-align: left;
}
.toc_list li a {
	padding: 0.25rem 0;
	display: block;
	font-weight: bold;
    text-align: left;
    color: #000000;
}
/**
 * Single Writer profile
 */
 .single_writer_profile {
	padding: 0.6125rem;
	margin-bottom: 0.6125rem;
    border: solid 1px #ddd;
    background-color: #fff;
	font-size: 1.4rem;
    position: relative;
}
.single_writer_profile:after{
    display: block;
    content: "";
    clear:both;
}
.single_writer_profile p {
    margin-bottom: 0;
}
.single_writer_profile .photo {
	width: 60px;
	height: 60px;
	float: left;
	border-radius: 50%;
	overflow: hidden;
}
.single_writer_profile .profile {
    font-size: 1.3rem;
	float: left;
	margin-left: 0.6125rem;
    width: calc(100% - 70px);
}
.single_writer_profile .profile_profile:not(.active) {
    display: none;
}
.single_writer_profile .profile .profile_name .n {
	font-weight: bold;
}
.single_writer_profile .profile .acordionLink {
	position: absolute;
    top: 10px;
    right: 0.6125rem;
}
@media only screen and (min-width: 1200px) {
    .single_writer_profile {        
        min-height: 103px;
    }
    .single_writer_profile .profile_profile {        
        margin-top: 0.6125rem;
    }
    .single_writer_profile .photo {
        width: 70px;
        height: 70px;
    }
    .single_writer_profile .profile {
        width: calc(100% - 80px);
    }
    .single_writer_profile .profile .acordionLink {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
}