@charset "utf-8";
/****************************************************************************************************

base setting

*****************************************************************************************************/
html {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Arial, "MS P Gothic", "MS Pゴシック", sans-serif;
	font-size: 62.5%;
	width: 100%;
}

body {
	background: #fff;
	color: #382400;
	counter-reset: count-number;
	font-size: 1.5em;
	line-height: 1.7;
	width:100%;
	min-width:1200px;
}

* {
	box-sizing: border-box;
}

a {
	text-decoration: none;
}

b {
	font-weight: bold;
}

.flex, .flex-st, .flex-cn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
}

.flex {
	-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

strong {
	font-weight: bold;
}

.fl-box {
	float: left;
	margin-right: 34px;
}

.fr-box {
	float: right;
	margin-left: 34px;
}

.fr-img {
	float: right;
	margin: 0 0 20px 20px;
	width: 248px;
}

.fl-img {
	float: left;
	margin: 0 20px 20px 0;
}

.rl {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.h1_inner,.hd_inner,
nav ul,
.top_main_support_list,
.top_reason .inner,
.top_support .inner,
.top_voice .inner,
.top_news_bnr .inner,
.cv .inner,
.cmn_access .inner,
footer .inner
 {
	width: 1000px;
	margin: 0 auto;
}

.btn,
.fb-btn {
	transition: all .2s ease-out;
}

.btn:hover,
.fb-btn:hover
{
	opacity: 0.7;
}

nav ul li a:hover {
	color: #538a11;
}

#pagetop {
    position: absolute;
    bottom: 50px;
    right: 10px;
}

.btn .fa {
	position: absolute;
	right: 15px;
	top: 50%;
}

.top_reason_ttl .ttl_jp::before,
.top_support_ttl .ttl_jp::before,
.top_voice_ttl .ttl_jp::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #bad499 25%, #bad499 75%, transparent);
    background-image: linear-gradient(to right, transparent, #bad499 25%, #bad499 75%, transparent);
    background-position: center;
    background-repeat: no-repeat;
}

.top_reason_ttl .ttl_jp::after,
.top_support_ttl .ttl_jp::after,
.top_voice_ttl .ttl_jp::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #bad499 25%, #bad499 75%, transparent);
    background-image: linear-gradient(to right, transparent, #bad499 25%, #bad499 75%, transparent);
    background-position: center;
    background-repeat: no-repeat;
}

.sp {
	display: none;
}

.sp_min {
	display: none;
}

@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/NotoSerifCJKjp-SemiBold.otf') format('opentype');
}

@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/NotoSerifCJKjp-Bold.otf') format('opentype');
}

@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/NotoSerifCJKjp-Black.otf') format('opentype');
}

.tac {
	text-align: center;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

/****************************************************************************************************

header

*****************************************************************************************************/
header h1 {
	background: #73a831;
	width: 100%;
}

.h1_inner {
	color: #fff;
	font-size: 0.7333em;
	padding: 11px 0;
	display: block;
}

.hd_inner {
	padding: 26px 0;
}

.hd_logo {
	float: left;
	width: 387px;
	position: relative;
    top: 3px;
}

.hd_cont {
	float: right;
	width: 479px;
	margin-top: 14px;
}

.hd_tel {
	float: left;
	margin-right: 13px;
	position: relative;
    top: 12px;
}

.hd_mail {
	color: #fff;
	display: block;
	font-size: 0.9333em;
	font-weight: bold;
	float: left;
	height: 59px;
	width: 210px;
	border-radius: 4px;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.19);
	background: #fac505; /* Old browsers */
	background: -moz-linear-gradient(top, #fac505 0%, #e8ae00 99%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #fac505 0%,#e8ae00 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #fac505 0%,#e8ae00 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.35);
	line-height: 59px;
}

.hd_mail::before {
	background-image: url(../images/common/icon_mail.svg);
	content: '';
	position: relative;
	top: 0;
	margin-right: 9px;
	width: 25px;
    height: 18px;
	background-size: contain;
	vertical-align: middle;
	display: inline-block;
}

/****************************************************************************************************

global navigation

*****************************************************************************************************/

nav {
	width: 100%;
	border-top: 1px solid #e0e0e0;
}

nav ul li {
	font-size: 0.8666em;
	font-weight: bold;
	border-right: 1px solid #e0e0e0;
	flex: 1 1 auto;
	text-align: center;
	position: relative;
}

nav ul li:first-child {
	border-left: 1px solid #e0e0e0;
}

nav ul li a {
	color: #545454;
	display: block;
	padding: 18px 0 15px;	
}

nav .current {
	color: #538a11;
	border-bottom: 3px solid #538a11;
}

nav ul li:after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #538a11;
	opacity: 0;
	content: "";
	-webkit-transition: all linear .2s;
	transition: all linear .2s;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

nav ul li:hover:after {
	opacity: 1;
}

/* ------------------------------
   #menuList
------------------------------ */
#menuList {
/*    width: 100%;
    height: 45px;
    border-top: #aaa 1px solid;
    border-bottom: #aaa 1px solid;*/
    position: relative;
    z-index: 10;
/*    background: #ebebeb;*/
}

/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */
@media only screen and (max-width: 767px) {
    #menuList {
        display: none;
    }
 
    #menuOverlay {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.6);
        display: none;
        position: fixed;
        z-index: 9997;
    }
	
    #switchBtnArea {
        position: relative;
    	float: right;
		top: 6px;
		z-index: 9999;
	}
 
    #switchBtnArea #switchBtn {
        top: 15px;
        right: 10px;
        width: 40px;
        height: 40px;
        display: block;
        background: #333;
        position: fixed;
        z-index: 9998;
    }
 
    #switchBtnArea #switchBtn span {
        left: 20%;
        width: 60%;
        height: 4px;
        display: block;
        position: absolute;
        background-color: #fff;
        transition: all 0.2s linear;
    }
    #switchBtnArea #switchBtn span:nth-of-type(1) {
        top: 10px;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    #switchBtnArea #switchBtn span:nth-of-type(2) {
        top: 18px;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    #switchBtnArea #switchBtn span:nth-of-type(3) {
        bottom: 10px;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
 
    #switchBtnArea #switchBtn.btnClose {
        background: transparent;
    }
    #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
        top: 18px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
        bottom: 18px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
	
	#switchBtnArea #switchBtn.btnClose {
		transition: none;
		top: 6px;
	}
 
    #rwdMenuWrap {
        top: 0;
        right: -240px;
        width: 240px;
        height: 100%;
        background: #212121;
        overflow: auto;
        position: fixed;
        z-index: 9999;
    }
 
    #rwdMenuWrap ul {
        width: 100%;
    }
 
    #rwdMenuWrap ul li {
        width: 100%;
        border-bottom: #4d4b4b 1px solid;
    }
 
    #rwdMenuWrap ul li a {
        padding: 15px 20px;
        text-align: left;
        display: block;
        background: #212121;
        position: relative;
		color: #d2cfcf;
    }

	#rwdMenuWrap ul li.sp.tel {
		border-bottom: 1px solid #d5ad1d;
	}

	#rwdMenuWrap ul li.sp.tel .fa {	
		font-size: 22px;
		position: relative;
		top: 5px;
		margin-right: 14px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.27);
	}

    #rwdMenuWrap ul li.sp a {	
		background: #eabe20;
		color: #fff;
		font-weight: bold;
	}
 
    #rwdMenuWrap ul li a:after {
        content: '';
        margin-top: -4px;
        top: 50%;
        right: 15px;
        width: 6px;
        height: 6px;
        color: #888;
        font-size: 1em;
        font-weight: bold;
        line-height: 1.2em;
        display: block;
        position: absolute;
        border-top: 2px solid #b0b0b0;
        border-right: 2px solid #b0b0b0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

#rwdMenuWrap ul li.sp a:after {
	content: none;
}

    #rwdMenuWrap ul li.sp.mail a:before {
	    background-image: url(../images/common/icon_mail.svg);
		content: '';
		position: relative;
		top: 0;
		margin-right: 9px;
		width: 24px;
		height: 18px;
		background-size: contain;
		vertical-align: middle;
		display: inline-block;
	}

    #contents {
        width: 100%;
    }
 
    #contents p {
        padding: 0 20px 2em 20px;
    }
}
 
/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */
#menuList > ul:before,
#menuList > ul:after {
    content: " ";
    display: table;
}
#menuList > ul:after {clear: both;}
#menuList > ul {*zoom: 1;}

/****************************************************************************************************

main image

*****************************************************************************************************/

.main-img {
	/*background: url(../images/top/main-img_bg.jpg) no-repeat center;*/
	background: url(../images/top/main-img.jpg) no-repeat center;
	background-size: cover;
    height: 393px;
	text-align: center;
	width: 100%;
}

/****************************************************************************************************

contents

*****************************************************************************************************/

/* サポート内容 */
.top_main_support {
	width: 100%;
	height: 332px;
	-webkit-background-size: 8px 8px;
	-moz-background-size: 8px 8px;
	background-size: 8px 8px;
	background-color: #2f6451;
	background-image: -webkit-gradient(linear, 0 0, 100% 100%,
				color-stop(.25, #387962), color-stop(.25, transparent),
				color-stop(.5, transparent), color-stop(.5, #387962),
				color-stop(.75, #387962), color-stop(.75, transparent),
				to(transparent));
	background-image: -webkit-linear-gradient(-45deg, #387962 25%, transparent 25%,
			  transparent 50%, #387962 50%, #387962 75%,
			  transparent 75%, transparent);
	background-image: -moz-linear-gradient(-45deg, #387962 25%, transparent 25%,
			  transparent 50%, #387962 50%, #387962 75%,
			  transparent 75%, transparent);
	background-image: -ms-linear-gradient(-45deg, #387962 25%, transparent 25%,
			  transparent 50%, #387962 50%, #387962 75%,
			  transparent 75%, transparent);
	background-image: -o-linear-gradient(-45deg, #387962 25%, transparent 25%,
			  transparent 50%, #387962 50%, #387962 75%,
			  transparent 75%, transparent);
	background-image: linear-gradient(-45deg, #387962 25%, transparent 25%,
			  transparent 50%, #387962 50%, #387962 75%,
			  transparent 75%, transparent);
}

.top_main_support_list {
	position: relative;
	top: -63px;
}

.top_main_support_list li {
	border-radius: 5px;
	width: 307px;
	background: #fff;
	box-shadow: 3px 3px 14px rgba(9,0,0,0.43);
	text-align: center;
}

.top_main_support_list li .inner {
	padding: 22px 22px 38px;
}

.top_main_support_list .support01:before{
	content:"";
	display:block;
	height:9px;
	width:100%;
	background:-webkit-gradient(linear, left top, right bottom, from(#3bb387), to(#29ba85));
	background:-moz-linear-gradient(left, #3bb387, #29ba85);
	background:linear-gradient(left, #3bb387, #29ba85);
	border-radius: 5px 5px 0 0;
}

.top_main_support_list .support02:before{
	content:"";
	display:block;
	height:9px;
	width:100%;
	background:-webkit-gradient(linear, left top, right bottom, from(#21a3a3), to(#35b0b0));
	background:-moz-linear-gradient(left, #21a3a3, #35b0b0);
	background:linear-gradient(left, #21a3a3, #35b0b0);
	border-radius: 5px 5px 0 0;
}

.top_main_support_list .support03:before{
	content:"";
	display:block;
	height:9px;
	width:100%;
	background:-webkit-gradient(linear, left top, right bottom, from(#83c137), to(#90c64d));
	background:-moz-linear-gradient(left, #83c137, #90c64d);
	background:linear-gradient(left, #83c137, #90c64d);
	border-radius: 5px 5px 0 0;
}

.top_main_support_list .ttl {
	color: #333;
	font-weight: bold;
	font-size: 1.2666em;
	margin-bottom: 13px;
}

.top_main_support_list .ttl strong {
	font-size: 1.421em;
	position: relative;
	top: 2px;
}

.top_main_support_list .support01 .ttl strong {
	color: #22b27d;
}

.top_main_support_list .support02 .ttl strong {
	color: #25a8a8;
}

.top_main_support_list .support03 .ttl strong {
	color: #84c238;
}

.top_main_support_list .detail {
	font-size: 0.8666em;
	color: #333;
	background: #ededed;
	text-align: left;
	padding: 8px 15px;
	margin-bottom: 22px;
}

.top_main_support_list .btn {
	color: #fff;
	display: block;
	height: 42px;
	width: 211px;
	border-radius: 3px;
	box-shadow: 0px 3px 2px rgba(24,54,43,1);
	text-align: center;
	line-height: 42px;
	position: relative;
	margin: 0 auto;
}

.top_main_support_list .support01 .btn {
	background: #3cb589; /* Old browsers */
	background: -moz-linear-gradient(top, #3cb589 0%, #189466 99%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #3cb589 0%,#189466 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #3cb589 0%,#189466 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.top_main_support_list .support02 .btn {
	background: #25a8a8; /* Old browsers */
	background: -moz-linear-gradient(top, #25a8a8 0%, #078a8a 99%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #25a8a8 0%,#078a8a 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #25a8a8 0%,#078a8a 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.top_main_support_list .support03 .btn {
	background: #84c238; /* Old browsers */
	background: -moz-linear-gradient(top, #84c238 0%, #669e21 99%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #84c238 0%,#669e21 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #84c238 0%,#669e21 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.top_main_support_list .btn .fa {
	font-size: 1.1333em;
	margin-top: -8px;
}

.support_list li > ul {
	position: relative;
	left: 4px;
}

/* 当事務所が選ばれる3つの理由 */
.top_reason {
	background: url(../images/common/cont_bg01.png) repeat;
	padding: 36px 0 103px;
	padding-top: 36px;
}

.top_reason_ttl {
	color: #78ad36;
	font-size: 3.6666em;
	font-family: 'Playfair Display', serif;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 46px;
}

.top_reason_ttl .ttl_jp {
	font-family: 'Noto Serif Japanese';
	font-size: 0.5454em;
	color: #3d3d3d;
	display: inline-block;
	position: relative;
	padding: 0 111px 7px;
	top: -10px;
}

.top_reason_ttl .ttl_jp strong {
	font-size: 1.2333em;
	color: #3d3d3d;
}

.top_reason_ttl .ttl_jp strong span {
	font-size: 1.216em;
	font-style: italic;
	font-weight: 900;
}

.top_reason .reason_list {
	margin-bottom: 70px;
}

.reason_list li {
	background: url(../images/common/laurel.svg) no-repeat center top;
	text-align: center;
	width: 298px;
	min-height: 286px;
	padding: 34px 0;
}

.reason_list li .sub_ttl { 
	background: #73a831;
	border-radius: 18.5px;
	color: #fff;
	font-size: 1.0666em;
	letter-spacing: 0.05em;
	width: 240px;
	padding: 5px 0;
	margin: 0 auto;
}

.reason_list li .ttl { 
	color: #365d06;
	font-size: 1.8666em;
	font-weight: bold;
	line-height: 1.3;
	margin: 20px 0;
}

.top_reason .btn {
	color: #fff;
	background: #689c28;
	display: block;
	height: 47px;
	width: 327px;
	border-radius: 5px;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.19);
	text-align: center;
	line-height: 47px;
	position: relative;
	margin: 0 auto;
}

.top_reason .btn .fa {
	font-size: 1.1333em;
	margin-top: -8px;
}

/* 徹底サポート */
.top_support {
	padding: 36px 0 53px;
}

.top_support_ttl {
	color: #78ad36;
	font-size: 3.6666em;
	font-family: 'Playfair Display', serif;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 53px;
}

.top_support_ttl .ttl_jp {
	font-family: 'Noto Serif Japanese';
	font-size: 0.5818em;
	color: #3d3d3d;
	display: inline-block;
	position: relative;
	padding: 14px 111px 17px;
	top: -8px;
}

.support_list .cat_ttl {
	font-weight: bold;
	color: #333;
	font-size: 1.333em;
	padding-left: 60px;
	height: 42px;
	line-height: 42px;
	margin-bottom: 24px;
}

.support_list .support01 .cat_ttl {
	background: url(../images/common/support_icon01b.png) no-repeat left top;
}

.support_list .support02 .cat_ttl {
	background: url(../images/common/support_icon02b.png) no-repeat left top;
}

.support_list .support03 .cat_ttl {
	background: url(../images/common/support_icon03b.png) no-repeat left top;
}

.support_list .cat_ttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
}

.support_list .cat_ttl::after {
    border-top: 2px solid #f0f0f0;
    content: "";
    display: inline; /* for IE */
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
	margin-left: 28px;
}

@media only screen and (max-width: 480px) {
	.support_list .cat_ttl::after {
		content: none;
		border-top: none;
		display: none;
	}
}

.support_block {
	width: 226px;
}

.support_list > li {
	margin-bottom: 45px;
}

.support_block .ttl {
	background: #f0f2f1;
	border: 2px solid #fff;
	width: 218px;
	height: 101px;
	text-align: center;
	line-height: 101px;
	position: relative;
	box-shadow: 0 0 0 4px #f0f2f1;
	margin-bottom: 14px;
}

.support_block .ttl::after {
	position: absolute;
	bottom: -6px;
	right: -6px;
	line-height: 0;
}

.support01 .support_block .ttl::after {
	content: url("../images/common/arrow01.png");
}

.support02 .support_block .ttl::after {
	content: url("../images/common/arrow02.png");
}

.support03 .support_block .ttl::after {
	content: url("../images/common/arrow03.png");
}

.support_block .ttl a {
	color: #000;
	display: block;
}

.support_block .ttl a:hover {
	opacity: 0.6;
}

.support_list .support01 {
	width: 100%;
}

.support_list .support02,
.support_list .support03
 {
	width: 50%;
}

.support_list .support02 {
	padding-right: 16px;
}

.support_list .support03 {
	padding-left: 16px;
}

.support_block .detail {
	font-size: 0.8666em;
    position: relative;
    left: -4px;	
}

/* お客様の声 */
.top_voice {
	background: url(../images/common/cont_bg04.png) repeat-x left top,
				url(../images/common/cont_bg02.png) repeat left top;
	padding: 36px 0 103px;
}

.top_voice_ttl {
	color: #78ad36;
	font-size: 3.6666em;
	font-family: 'Playfair Display', serif;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 52px;
}

.top_voice_ttl .ttl_jp {
	font-family: 'Noto Serif Japanese';
	font-size: 0.5818em;
	color: #3d3d3d;
	display: inline-block;
	position: relative;
	padding: 14px 111px 17px;
	top: -8px;
}

.top_voice .voice_list {
    margin-bottom: 62px;
}

.voice_list li {
	width: 316px;
	height: 367px;
	background: #fff;
    box-shadow: 0px 4px 7px rgba(9,0,0,0.35);
	padding: 21px;
	text-align: center;
}

.voice_list li img {
	vertical-align: bottom;
}

.voice_list .ttl {
	background: #6ba327;
	height: 41px;
	color: #fff;
	font-size: 1.1333em;
	font-weight: bold;
	text-align: center;
	line-height: 41px;
	margin-bottom: 10px;
}

.voice_list .detail {
	font-size: 0.9333em;
	text-align: left;
}

.top_voice .btn {
    color: #619423;
    background: #fff;
    display: block;
    height: 47px;
    width: 275px;
	border: 1px solid #73a831;
    border-radius: 5px;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.19);
    text-align: center;
    line-height: 47px;
    position: relative;
    margin: 0 auto;
}

.top_voice .btn .fa {
	font-size: 1.1333em;
	margin-top: -8px;
}

/* 新着情報 */
.top_news_bnr {
    padding: 63px 0 86px;
}

.top_news_bnr .inner > .news {
	width: 700px;
	float: left;
}

.top_news_bnr .inner > .bn {
	width: 240px;
	float: right;
}

.top_news_bnr .inner > .bn aside {
	margin-bottom: 15px;
}

.top_news_bnr .inner > .bn aside:last-child {
	margin-bottom: 0;
}

.top_news_ttl {
	font-family: 'Noto Serif Japanese';
	font-size: 1.8em;
	color: #333;
	font-weight: 900;
	border-bottom: 2px solid #dcdcdc;
	padding-bottom: 9px;
}

.top_news_ttl .sub_ttl {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Arial, "MS P Gothic", "MS Pゴシック", sans-serif;
	font-size: 0.5185em;
	font-weight: normal;
	position: relative;
	top: -5px;
	margin-left: 15px;
	letter-spacing: 0.03em;
}

.top_news_list {
    margin-bottom: 27px;
}

.top_news_list .date {
	color: #333;
	font-size: 0.9333em;
	font-weight: bold;
	/*width: 82px;*/
}

.top_news_list .topic {
	font-size: 0.9333em;
	width: 64%;
}

.top_news_list .topic a{
	color: #333;
}

.top_news_list .topic a:hover {
	text-decoration: underline;
}

.top_news_list .cat {
	color: #fff;
	font-size: 0.8em;
	width: 130px;
	height: 26px;
	text-align: center;
	line-height: 26px;
}

.top_news_list .cat.news {
	background: #73a831;
}

.top_news_list .cat.blog {
	background: #004e38;
}

.top_news_list .cat.newsletter {
	background: #0b7979;
}

.top_news_list li {
	border-bottom: 1px solid #dcdcdc;
	padding: 21px 0;
}

.top_news_bnr .news .btn {
	color: #619423;
	background: #fff;
	display: block;
	height: 47px;
	width: 238px;
	border: 1px solid #73a831;
	border-radius: 5px;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.19);
	text-align: center;
	line-height: 47px;
	position: relative;
	margin: 0 auto;
}

.top_news_bnr .btn .fa {
	font-size: 1.1333em;
	margin-top: -8px;
}

/* お問い合わせ */
.cv {
	padding-top: 39px;
	background: url(../images/common/cv_bg.png) no-repeat center bottom,
				url(../images/common/cont_bg03.png) repeat left top;
				;
	height: 278px;
}

.cv .inner {
	background-size: 1307px;
	-webkit-justify-content: flex-end; /* Safari */
	justify-content:         flex-end;
}

.cv_desc_block {
	width: 420px;
	margin-right: 36px;
}

.cv_desc_block .detail {
	color: #fff;
	font-size: 0.9333em;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-top: 3px;
}

.cv_tel_block {
	background: #fff;
	border-radius: 11px;
	width: 321px;
	height: 198px;
	text-align: center;
	box-shadow: 1px 3px 14px rgba(0,0,0,0.34);
}

.cv_tel_block .hd {
	background: #bde38f;
	color: #0a4f3c;
	font-weight: bold;
	font-size: 0.9333em;
    height: 50px;
    line-height: 50px;
    margin-bottom: 27px;
	border-radius: 11px 11px 0 0;
}

.cv_mail {
    color: #fff;
    display: block;
    font-size: 1.1333em;
    font-weight: bold;;
    height: 50px;
    width: 276px;
    border-radius: 4px;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.19);
    background: #fac505;
    background: -moz-linear-gradient(top, #fac505 0%, #e8ae00 99%);
    background: -webkit-linear-gradient(top, #fac505 0%,#e8ae00 99%);
    background: linear-gradient(to bottom, #fac505 0%,#e8ae00 99%);
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.35);
    line-height: 50px;
	margin: 5px auto 0;
}

.cv_mail::before {
    background-image: url(../images/common/icon_mail.svg);
    content: '';
    display: inline-block;
    position: relative;
    top: -1px;
    margin-right: 8px;
    width: 29px;
    height: 23px;
    background-size: contain;
    vertical-align: middle;
}

/* アクセス */
.cmn_access {
	background: #e8ebe9;
	width: 100%;
	padding: 46px 0 73px;
}

.cmn_access_ttl {
    font-family: 'Noto Serif Japanese';
    font-size: 1.8em;
    color: #333;
    font-weight: 900;
    padding-bottom: 9px;
}

.cmn_access_ttl .sub_ttl {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Arial, "MS P Gothic", "MS Pゴシック", sans-serif;
    font-size: 0.5185em;
    font-weight: normal;
    position: relative;
    top: -5px;
    margin-left: 15px;
    letter-spacing: 0.03em;
}

.cmn_access .gmap {
	float: left;
}

.cmn_access .info {
	background: #fff;
	width: 417px;
	height: 315px;
	float: left;
	padding: 53px 45px;
	font-size: 0.8666em;
}

.cmn_access .info .office_name {
	border-bottom: 2px solid #f6faf2;
	padding-bottom: 13px;
	margin-bottom: 13px;
}

.cmn_access .info .address,
.cmn_access .info .tel {
	margin-bottom: 9px;
}

.cmn_access .info .tel span {
	font-weight: bold;
}

.cmn_access .info .btn {
	font-size: 0.92857em;
	color: #000;
	background: #edf0ee;
	display: block;
	height: 35px;
	width: 124px;
	border: 1px solid #d7d9d7;
	border-radius: 5px;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.19);
	text-align: center;
	line-height: 35px;
	position: relative;
	margin-top: 12px;
	float: right;
}

.cmn_access .info .btn .fa {
	font-size: 1.2307em;
	margin-top: -8px;
	color: #73a831;
}

/****************************************************************************************************

footer

*****************************************************************************************************/
footer {
	position: relative;
}

footer .inner {
	padding: 45px 0 53px;
}

footer .logo_block {
	float: left;
}

footer .menu_block {
	float: right;
	width: 664px;
}

footer .ftr_logo img {
	width: 280px;
}

footer .address,
footer .tel {
	font-size: 0.8em;
}

footer .menu_block ul li {
	font-size: 0.8666em;
	font-weight: bold;
	margin-bottom: 14px;
/*	flex-flow: column wrap;*/
}

.copyright {
	clear: both;
	background: #73a831;
	color: #fff;
	/*height: 71px;*/
	padding: 2% 1%;
	text-align: center;
	font-size: 0.8em;
	font-weight: bold;
	width: 100%;
}

footer .menu_block ul li a {
	color: #000;
}

footer .menu_block ul li a:hover {
	text-decoration: underline;
}

footer .menu_block ul li .fa {
	color: #6bbd08;
	font-size: 1.3076em;
	margin-right: 9px;
}

footer .menu_block ul {
	border-right: 1px solid #ebebeb;
	width: 226px;
}

footer .menu_block ul:last-child {
	border: none;
}

footer .menu_block ul:nth-of-type(1) {
	width: 180px;
}

footer .menu_block ul:nth-of-type(2) {
	width: 200px;
}

.fb-btn a {
    border: 2px solid #3b5998;
    background: #3b5998;
    font-size: 22px;
    color: #fff;
    text-align: center;
    width: 45px;
    height: 45px;
    border-radius: 4px;
    line-height: 47px;
    display: block;
	margin: 35px auto;
}