@charset "utf-8";

/* 共通 */
#cont {
	width: 1000px;
	margin: 0 auto;
	padding-bottom: 80px;
}

main section p, main .sec p {
	margin-bottom: 1em;
}

p:last-child {
	margin-bottom: 0;
}

main > section {
	padding-bottom: 40px;
}

main section > section {
	margin-top: 30px;
}

.notice li {
	text-indent: -1em;
    margin-left: 1em;
}

main ul + ul,
main ul + p {
	margin-top: 20px;
}

strong {
	color: #538a10;
}

.notice strong {
	color: #c60000;
}

strong.u-line {
	color: inherit;
	text-decoration: underline;
	font-weight: normal;
}

.marker {
	background: #f9f8b5;
}

.marker.large {
	font-size: 1.1333em;
}

.flow_block.small strong {
	color: #c60000;
}

.page-ttl .inner,
.breadcrumb {
	width: 1000px;
	margin: 0 auto;
}

.more_txt_link {
    display: block;
    float: right;
    color: inherit;
    text-decoration: underline;
    font-weight: bold;
}

section + .more_txt_link,
.strong_block + .more_txt_link,
.notice + .more_txt_link {
	margin-top: 1em;
}

.more_txt_link .fa,
.contact_link .fa {
	margin-left: 2px;
}

.home_link {
	text-decoration: underline;
}

.home_link .fa {
	margin-right: 2px;
}

.sm-ttl {
    font-weight: bold;
    border-bottom: 1px dotted #000;
    margin-bottom: 1em;
    padding-bottom: 4px;
	font-size: 1.1333em;
}

.page-ttl-1 {
	font-size: 1.333em;
	border-top: 3px solid #538a11;
	border-bottom: 3px solid #e6e6e6;
	padding: 18px 0 14px;
	margin-bottom: 27px;
	line-height: 1.5;
}

.page-ttl-2 {
	color: #00251b;
	font-weight: bold;
	font-size: 1.066em;
	border-top: 1px solid #d6d6d6;
	border-right: 1px solid #d6d6d6;
	border-left: 1px solid #d6d6d6;
	border-bottom: 4px solid #e3e3e3;
	border-radius: 2px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f7f7f7+0,f0f0f0+100 */
	background: #f7f7f7; /* Old browsers */
	background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f7f7f7 0%,#f0f0f0 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f7f7f7 0%,#f0f0f0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */
	position: relative;
	padding: 7px 19px 5px;
	margin-bottom: 27px;
}

.page-ttl-2::before {
	content: "";
	display: inline-block;
	height: 30px;
	width: 5px;
	background: #89c93a;
	position: absolute;
    top: 50%;
    left: 0;
    margin-top: -15px;
}

.page-ttl-3 {
	background: url(../images/second/ttl_img01.png) no-repeat 0 5px / 8px 19px;
	font-size: 1.2666em;
	font-weight: bold;
	margin-bottom: 27px;
    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;
	padding: 0 0 0 18px;
}

.page-ttl-3::after {
    border-top: 2px solid #f0f0f0;
    content: "";
    display: inline;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
    margin-left: 28px;
}

.page-ttl-4 {
    margin-bottom: 20px;
    color: #fff;
    font-weight: bold;
    background: #72a831;
    padding: 14px 15px;
    font-size: 1.1333em;
}

.point_block01 .page-ttl-4 {
	padding: 14px 22px;
	position: relative;
	margin: 25px 0;
}

.point_block01 .page-ttl-4 .fa{
	margin-right: 12px;
	font-size: 1.7333em;
	vertical-align: middle;
}

.page-ttl-5 {
	border-bottom: 1px dotted #000;
    padding-bottom: 3px;
    margin-bottom: 5px;
    color: #00251b;
    font-weight: bold;
	font-size: 1.3333em;
	margin-bottom: 20px;
}

.page-ttl-6 {
	border: 1px dotted #000;
	padding: 14px 20px;
    margin-bottom: 5px;
    color: #00251b;
    font-weight: bold;
	font-size: 1.3333em;
	margin-top: 40px;
	margin-bottom: 20px;
}

/* テーブル共通 */
table {
	width: 100%;
	text-align: left;
	margin: 20px 0;
}

table a {
	color: inherit;
	text-decoration: underline;
}

th:first-child,
td:first-child {
	border-left: none;
}

th:last-child,
td:last-child {
	border-right: none;
}

table th {
	background: #f7faf9;
	font-weight: bold;
	border: 1px solid #e3e3e3;
	padding: 13px 20px;
	vertical-align: middle;
}

table td {
	border: 1px solid #e3e3e3;
	padding: 13px 20px;
	vertical-align: middle;
}

table .detail {
	display: block;
	font-weight: normal;
    margin-top: 1em;
}

/* 価格アピール用テーブル(左の項目列だけ左寄せ) */
.table01 {
	text-align: center;
}

.table01 th:first-child {
	text-align: left;
}

/* すべて中央寄せのテーブル */
.table02 {
	text-align: center;
}

/* th=120pxのテーブル */
.table03 th {
	width: 120px;
}

/* 料金表の横長テーブル */
.table04 {
	table-layout: fixed;
}

.table04 th:nth-of-type(1) {
	width: 180px;
	padding: 13px 20px;
}

.table04 tr:nth-of-type(1) {
	text-align: center;
}

.table04 td, .table04 th{
    padding: 13px 10px;
}

.tbl_wrapper {
	background: #fff;
	width: 100%;
	padding: 7px 60px 20px;
}

.table05 th {
	border-top: none;
	border-right: none;
	background: none;
}

.table05 td {
	border-top: none;
	border-left: none;
}

.total table th,
.total table td
 {
	border: none;
	text-align: center;
}

table .point01 {
	border-left: 3px solid #fad046;
	border-top: 3px solid #fad046;
	border-right: 3px solid #fad046;
	background: #f5e29c;
}

table .point02 {
	border-left: 3px solid #fad046;
	border-right: 3px solid #fad046;
	background: #fef9e8;
}

table .point03 {
	border-left: 3px solid #fad046;
	border-right: 3px solid #fad046;
	border-bottom: 3px solid #fad046;
	background: #fef9e8;
	font-weight: bold;
	font-size: 1.5333em;
}

table strong {
	color: #c60000;
}

table .point {
	margin-bottom: 0;
	font-weight: bold;
	font-size: 0.8666em;
}

table .point {
	margin-bottom: 0;
	line-height: 1.4;
    margin-top: 5px;
}

/* お問い合わせ */
.contact_form td {
    padding: 15px;
    width: 492px;
}

input[type="text"], input[type="tel"], input[type="email"], textarea, select {
    border-color: #999;
    border-radius: 1px;
    border-style: solid;
    border-width: 1px;
    font-size: 1.4rem;
    vertical-align: baseline;
    padding: 10px;
    width: 100% !important;
}

label {
	margin-right: 10px;
}

.contact_form textarea {
	font-family: inherit;
    font-size: 15px;
    min-height: 140px;
    max-width: 492px;
}

input[type="submit"] {
    background-color: #72a831;
    border-width: 0;
    color: #fff;
    cursor: pointer;
    font-size: 1.8rem;
    line-height: 1.4;
    text-align: center;
    padding: 10px 40px;
    position: relative;
    transition: all .2s ease-out;
    width: 225px;
}

.contact_form_send {
    text-align: center;
}

.required:after {
    background: #c60000;
    content: "必須";
    color: #fff;
    font-size: 12px;
    line-height: 1;
    margin-top: 3px;
    padding: 3px 5px;
    float: right;
}

.lead {
	font-weight: bold;
	font-size: 1.4em;
	margin-bottom: 8px;
}

.lead strong{
	color: #538a11;
	font-size: inherit;
}

.strong_block {
    background: #bde889;
    text-align: center;
    padding: 6px 20px 4px;
    position: relative;
    border-radius: 2px;
    margin-top: 43px;
}

.strong_block p {
	font-size: 1.1333em;
	font-weight: bold;
	margin-bottom: 0;
}

.strong_block strong {
	color: #c60000;
	font-size: 1.3em;
}

.point_block01 {
    outline: 17px solid #f5f5f5;
    border: 1px solid #d9d9d9;
    padding: 22px 22px 30px 22px;
    margin: 37px auto;
    width: 686px;
}

.point_block01 li strong {
	font-size: 1.133em;
}

.point_block01.last {
	margin-bottom: 17px;
}

.point_block01 .ttl {
	margin-bottom: 1em;
	font-weight: bold;
}

.point_block01 .ttl.large {
	font-size: 1.3em;
}

.point_block01 .ttl.large span {
	font-size: 1.125em;
	color: #000;
}

.point_block01 p:last-child {
	margin-bottom: 0;
}

.point_block02 {
    background: #f5f5f5;
    padding: 22px;
}

.point_block02 li {
	background: #1d6f52;
	margin-bottom: 15px;
	font-size: 1.7333em;
	font-weight: bold;
	color: #fff;
	position: relative;
	width: 98%;
	height: 96px;
}

.point_block02 li::before {
	content: '';
	position: absolute;
	right: -20px;
	bottom: 0;
	width: 0;
	height: 0;
	border-left: 20px solid #1d6f52;
	border-top: 48px solid transparent;
	border-bottom: 48px solid transparent;
}

.point_block02 li .icon{
    display: table-cell;
    vertical-align: middle;
	height: 96px;
	width: 90px;
	background: #125b48;
	text-align: center;
}

.point_block02 li .icon img {
    vertical-align: middle;
}

.point_block02 li .num{
	color: #cae5a8;
	font-size: 0.5769em;
	padding: 3px 18px;
	margin-right: 15px;
    display: table-cell;
    vertical-align: middle;
}

.point_block02 li .point {
    display: table-cell;
    vertical-align: middle;
}

.point_block02 li:last-child {
	margin-bottom: 0;
}

.strong_block::before {
    content: "";
    background: url(../images/second/arrow.png);
    position: absolute;
    top: -44px;
    left: 50%;
    width: 73px;
    height: 44px;
    margin-left: -36.5px;
    background-size: contain;
    display: inline-block;	
}

.list01 li {
    border-bottom: 2px dotted #eeeeee;
    background: url(../images/second/check.png) no-repeat 0 9px / 23px auto;
    padding: 7px 0 7px 26px;
}

.list02 {
counter-reset:number; /*数字をリセット*/
}

.list02 li {
    color: black;
    position: relative;
    background: #f1f3f2;
    line-height: 1.5;
    padding: 1.2em;
    margin-bottom: 2px !important;
    border-left: solid 60px #278463;
    /* list-style-type: none!important; */
}

.list02 li:before {
 counter-increment: number;
  content: counter(number);
  position: absolute;
  display: block;
  padding: 1.1em;
  width: 0.9em;
  color: white; /*アイコン色*/
  font-weight: bold;
  text-align: center;
  font-size: 1.3333em;
  left : -60px; /*左端からのアイコンまでの距離*/
  /*以下 上下中央寄せのため*/
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* サイトマップ用リスト */
.sitemap_list ul li {
	list-style: disc;
	list-style-position: inside;
	margin-bottom: 12px;
}

.sitemap_list > li:last-child {
	margin-bottom: 0;
}

.sitemap_list ul li:last-child {
	margin-bottom: 20px;
}

.sitemap_list a {
	color: #382400;
}

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

/* faq */
.faq_list_wrap {
    padding: 17px;
    background: #f5f5f5;
}

.faq_list {
    background: #fff;
    padding: 22px;
    border: 1px solid #d9d9d9;
	margin-bottom: 17px;
}

.faq_list:last-child {
	margin-bottom: 0;
}

.faq_list dt {
	background: url(../images/second/icon_q.png) no-repeat 0 3px;
	padding: 0 0 12px 30px;
	border-bottom: 2px dotted #eeeeee;
	margin-bottom: 13px;
	color: #538a10;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
}

.faq_list dd {
	background: url(../images/second/icon_a.png) no-repeat 0 3px;
	padding: 0 0 0 30px;
}

.profit_list li,
.point_list li {
	margin-bottom: 22px;
}

.profit_list li:last-child,
.point_list li:last-child {
	margin-bottom: 0;
}

.profit_list .ttl,
.point_list .ttl {
    background: #d6f2b2;
    border-radius: 3px;
    font-weight: bold;
    color: #498735;
    margin-bottom: 13px;
    display: table;
    width: 100%;
}

.profit_list .ttl .num,
.point_list .ttl .num {
	display: table-cell;
    background: #4a8735;
    color: #fff;
    font-weight: bold;
    border-radius: 3px 0 0 3px;
    width: 13%;
    text-align: center;
    vertical-align: middle;
	padding: 6px 15px;
}

.point_list .ttl .num {
	width: 20%;
}

.profit_list .ttl .txt,
.point_list .ttl .txt {
    width: 87%;
    display: table-cell;
    vertical-align: middle;
    padding: 6px 15px;
}

.point_list .ttl .txt {
	width: 80%;
}

.flow_block {
	background: #f7f7f7;
	padding: 0 40px 26px;
	margin-bottom: 49px;
	position: relative;
}

.flow_block.small {
	text-align: center;
	font-size: 1.1333em;
	font-weight: bold;
	padding: 26px 40px;
	margin-bottom: 63px;
}

.flow_block.last {
	margin-bottom: 0;
}

.flow-ttl {
    font-size: 1.5333em;
    border-bottom: 4px double #d7d7d7;
    font-weight: bold;
    margin-bottom: 11px;
}

.flow_block.small .flow-ttl {
	font-size: 1em;
	border: none;
	margin-bottom: 7px;
}

.flow_block.small p {
	font-weight: normal;
	font-size: 0.8823em;
}

.flow_block.small .contact_link + p {
	margin-bottom: 7px;
}

.flow-ttl span {
	font-family: 'Playfair Display', serif;
	font-size: 1.95em;
	color: #73a831;
	font-weight: normal;
}

.flow_block::after {
	content: "";
	background: url(../images/second/flow_arrow.png) no-repeat left top;
	display: inline-block;
	width: 58px;
	height: 28px;
	background-size: contain;
    position: absolute;
    bottom: -39px;
    left: 50%;
    margin-left: -29px;
}

.flow_block.small::after {
	bottom: -45px;
}

.flow_block_sup {
	font-size: 0.8823em;
	position: absolute;
	top: 90px;
	right: 23%;
	color: #72a831;
	padding: 6px 32px;
	background-color: #fff;
	border: 2px solid #72a831;
	border-radius: 3px;
}

.flow_block_sup:before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -15px;
  top: 9px;
  border-right: 15px solid #72a831;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.flow_block_sup:after{
content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -12px;
  top: 9px;
  border-right: 15px solid #fff;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.flow_block.last::after {
	background: none;
}

.flow_block.last + p {
	margin-top: 20px;
}

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

.fr-img-box img {
	display: block;
	width: 100%;
}

.graph_block {
	background: url(../images/common/cont_bg01.png) repeat;
	padding: 35px;
}

.graph_block .txt_block {
	background: #fff;
	padding: 22px;
}

.graph_block .txt_block .ttl {
	text-align: center;
	color: #538a10;
	font-size: 1.133em;
	font-weight: bold;
	margin-bottom: 10px;
}

.graph_block .left {
	float: left;
	width: 48%;
}

.graph_block .right {
	float: right;
	width: 48%;
}

.total {
	background: #fff;
	padding: 0 40px;
	clear: both;
	font-weight: bold;
	text-align: center;
	padding: 20px;
	font-size: 1.2em;
}

.total strong {
	color: #c60000;
	margin-left: 50px;
}

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

page title

*****************************************************************************************************/
.page-ttl {
	background: url(../images/second/page-ttl_bg.jpg) no-repeat center;
	background-size: cover;
    height: 236px;
	text-align: center;
	width: 100%;
	font-family: 'Noto Serif Japanese';
	font-size: 2.5333em;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 0 9px rgba(21,80,117,0.55);
}

.page-ttl .inner {
    text-align: left;
    padding-top: 73px;
}

.page-ttl .ttl_en {
	font-size: 0.3947em;
	display: block;
	margin-top: -4px;
}

.breadcrumb {
    padding: 19px 0;
}

.breadcrumb ul {
	-webkit-justify-content: flex-start; /* Safari */
	  justify-content:         flex-start;
}

.breadcrumb ul li {
	font-size: 0.8em;
}

.breadcrumb ul li a {
	text-decoration: underline;
	color: #382400;
}

.breadcrumb ul li .fa {
	font-size: 1.1666em;
	margin: 0 9px;
}

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

main contents

*****************************************************************************************************/
main {
	width: 720px;
	float: right;
	padding-top: 4px;
}

.voice {
	background: #e8f0df;
	padding: 16px;
	margin-top: 20px;
}

.voice_block {
	border: 2px solid #e0e0e0;
	width: 688px;
	background: url(../images/common/cont_bg05.png) repeat;
	text-align: center;
	padding: 40px 0;
}

.voice .name {
	background: #6ba327;
	color: #fff;
	font-weight: bold;
	font-size: 1.2em;
	padding: 7px 0;
	text-align: center;
	position: relative;
    top: 1px;
}

.voice_block img {
	margin-bottom: 18px;
}

.voice_block .msg {
	color: #6ba327;
	font-size: 1.333em;
	font-weight: bold;
	position: relative;
	padding: 24px;
    width: 458px;
    margin: 0 auto;
}

.voice_block .msg::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;
}

.voice_block .msg::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;
}

.msg_block .msg {
	position: relative;
}

.msg_block .msg::before {
    content: "“";
    color: #ececec;
    font-family: 'Noto Serif Japanese';
    font-weight: 600;
    font-size: 80px;
    position: absolute;
    top: -31px;
	left: 0;
    display: inline-block;
	z-index: -1;
}

.msg_block .msg {
	padding: 22px 0 0 17px;
}

.msg_block .name {
	text-align: center;
	font-weight: bold;
	font-size: 1.2666em;
	line-height: 1.4;
	margin-top: 11px;
}

.msg_block .name span {
	font-size: 0.6842em;
	display: block;
	margin-bottom: 2px;
}

.voice_thum {
	position: relative;
	display: inline-block;
}

.voice_thum img {
	border: 1px solid #e0e0e0;
}

.voice_block .fa-search-plus {
    font-size: 2.3em;
    color: #ebba21;
	position: absolute;
	bottom: 33px;
    right: -20px;
}

.office_feature {
	margin-bottom: 1em;
}

.cat_box {
	background: #f5f5f5;
	padding: 30px;
	margin-bottom: 45px;
}

.cat_box .btn {
	font-size: 1.1333em;
    color: #fff;
    display: block;
    height: 50px;
    width: 100%;
    border-radius: 3px;
    box-shadow: 0px 3px 2px rgba(24,54,43,1);
    text-align: center;
    line-height: 50px;
    position: relative;
    margin: 0 auto 23px;
}

.cat_box .last .btn {
	margin-bottom: 0;
}
.cat_box .btn .fa {
    font-size: 1.1333em;
    margin-top: -8px;
}

.cat_box .cat01 .btn {
    background: #3cb589;
    background: -moz-linear-gradient(top, #3cb589 0%, #189466 99%);
    background: -webkit-linear-gradient(top, #3cb589 0%,#189466 99%);
    background: linear-gradient(to bottom, #3cb589 0%,#189466 99%);
}

.cat_box .cat02 .btn {
    background: #25a8a8;
    background: -moz-linear-gradient(top, #25a8a8 0%, #078a8a 99%);
    background: -webkit-linear-gradient(top, #25a8a8 0%,#078a8a 99%);
    background: linear-gradient(to bottom, #25a8a8 0%,#078a8a 99%);
}

.cat_box .cat03 .btn {
    background: #84c238;
    background: -moz-linear-gradient(top, #84c238 0%, #669e21 99%);
    background: -webkit-linear-gradient(top, #84c238 0%,#669e21 99%);
    background: linear-gradient(to bottom, #84c238 0%,#669e21 99%);
}

.cat_box.cmn .btn {
    background: #76b52c;
    background: -moz-linear-gradient(top, #76b52c 0%, #538a10 99%);
    background: -webkit-linear-gradient(top, #76b52c 0%,#538a10 99%);
    background: linear-gradient(to bottom, #76b52c 0%,#538a10 99%);
}

.support_block {
    width: 48%;
	margin-bottom: 25px;
}

.support_block .ttl {
    width: calc(100% - 8px);
    margin-bottom: 10px;
	height: 125px;
	font-size: 1.1333em;
}

.support_block .ttl a {
    padding: 0 15px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.support_block .ttl a span {
    display: inline-block;
    line-height: 1.4;
    width: 100%;
}

.support_block .detail {
    font-size: 0.9333em;
}

.support_block .ttl {
    margin-bottom: 20px;
}

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

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

.support_list .support03, .support_list .support02 {
    padding-left: 0;
	padding-right: 0;
}

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

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

.support03, .support_list .support02 {
    padding-left: 0;
}

.other_support li {
	margin: 20px 0 30px;
}

.other_support li.last {
	margin-bottom: 0;
}

.reason_block {
	margin-top: 130px;
}

.reason-ttl {
	display: table;
    color: #0c3e07;
    font-weight: bold;
    font-size: 1.6em;
    position: absolute;
    top: -81px;
    width: 88%;
    left: 50%;
    margin-left: -44%;
}

.reason-ttl strong {
	font-size: 1.15em;
}

.reason-ttl .txt_block {
	line-height: 1.5;
    width: 67%;
    padding: 36px 18px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    box-shadow: 5px 5px 11px 0.7px rgba(0,0,0,.06);
    background: #fff;
    position: relative;
    top: 15px;
	right: -15px;
}

.reason-ttl img {
    position: relative;
    top: -9px;
    left: -15px;
    z-index: -1;
	width: 246px;
}

.reason_block li {
	background: url(../images/common/cont_bg01.png) repeat;
    padding: 194px 35px 50px 35px;
    margin-bottom: 122px;
    position: relative;
    z-index: -1;
}

.reason_block li.long_ttl {
	padding-top: calc(202px + 1.7em);
}

.reason_block li.long_ttl2 {
	padding-top: calc(202px + 4.2em);
}


.reason_block li:last-child {
	margin-bottom: 0;
}

.reason-ttl .ttl {
	color: #000;
}

.reason-ttl .number {
    background: url(../images/common/laurel.svg) no-repeat center center;
    display: block;
    background-size: contain;
    width: 93px;
    height: 93px;
    line-height: 88px;
    text-align: center;
    font-size: 0.8333em;
    margin: 0 auto 16px;
}

.flow_contact {
	margin-bottom: 1em;
}

.flow_block.small .flow_contact {
	margin-bottom: 0;
}

.flow_block.small .flow_contact p {
	margin-bottom: 7px;
}

.contact_link {
    display: inline-block;
    color: inherit;
    margin-bottom: 1em;
    text-decoration: underline;
}

.flow_block.small .contact_link {
    margin-bottom: 0; 
    font-weight: normal;
	font-size: 0.8823em;
}

.contact_link:nth-of-type(1) {
	margin-right: 15px;
}

.price {
    display: inline-block;
    float: right;
    font-size: 0.9em;
    color: #c60000;
    font-weight: bold;
}

.contpage_tel {
	margin: 20px 0;
    text-align: center;
    border: 8px solid #e6e6e6;
    padding: 0 30px 30px 30px;
}

.contpage_tel .ttl {
    padding: 24px;
    font-weight: bold;
    font-size: 1.4333em;
}

.info_btn_area {
	background: #f5f5f5;
	text-align: center;
    padding: 24px;
}

.info_btn_area .btn {
    display: inline-block;
    color: #fff;
    background: #72a831;
    width: 230px;
    text-align: center;
    padding: 11px 20px;
    border-radius: 3px;
}

.info_btn_area .btn + .btn {
	margin-left: 18px;
}

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

wordpress

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

.cat_archive .page-ttl-1{
	margin-bottom: 20px !important;
}

.cat_list li{
	margin-bottom: 15px;
	border-bottom: 1px solid ;
	padding-bottom: 5px;
}

.cat_date{
	margin-bottom: 5px !important;
}

.cat_ymd{
	color: #333;
	font-weight: bold;
	margin-right: 10px;
}

.cat_btn{
	display: inline-block;
	
	color: #fff;
    font-size: 0.8em;
    font-weight: bold;
    height: 26px;
    line-height: 26px;
    text-align: center;
    width: 110px;
}

.cat_btn.news{
	background: #73a831;
}

.cat_btn.blog{
	background: #004e38;
}

.cat_btn.newsletter{
	background: #0b7979;
}

.cat_ttl{
	margin-bottom: 24px !important;
}

.cat_ttl a{
	color: #333;
	text-decoration: none;
	font-size: 1.2em;
}

.wp-pagenavi{
	text-align: center;
}

.wp-pagenavi a{
	color: #6ba327;
}

.single_conts h3 {
	color: #00251b;
	font-weight: bold;
	font-size: 1.066em;
	border-top: 1px solid #d6d6d6;
	border-right: 1px solid #d6d6d6;
	border-left: 1px solid #d6d6d6;
	border-bottom: 4px solid #e3e3e3;
	border-radius: 2px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f7f7f7+0,f0f0f0+100 */
	background: #f7f7f7; /* Old browsers */
	background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f7f7f7 0%,#f0f0f0 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f7f7f7 0%,#f0f0f0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */
	position: relative;
	padding: 7px 19px 5px;
	margin-bottom: 27px;
}

.single_conts h3:before {
	content: "";
	display: inline-block;
	height: 30px;
	width: 5px;
	background: #89c93a;
	position: absolute;
    top: 50%;
    left: 0;
    margin-top: -15px;
}

.single_conts h4 {
    margin-bottom: 20px;
    color: #fff;
    font-weight: bold;
    background: #72a831;
    padding: 14px 15px;
    font-size: 1.1333em;
}

.single_conts p{
	margin-bottom: 20px;
}

.single_conts p img{
	width: auto;
	max-width: 100%;
	height: auto;
}

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

sidebar

*****************************************************************************************************/
#side {
	width: 240px;
	float: left;
}

#side > aside {
	margin-bottom: 35px;
}

#side .s-office {
	background: url(../images/second/side_cv_bg.jpg) no-repeat left top;
	width: 240px;
	height: 344px;
	position: relative;
	margin-bottom: 18px;
}

.s-office .cv_mail {
    font-size: 0.9333em;
    height: 48px;
    width: 199px;
    line-height: 48px;
    margin: 4px auto 0 -100px;
    position: absolute;
    bottom: 32px;
    left: 50%;
}

.s-menu-ttl {
	font-size: 1.0666em;
	border-bottom: 3px solid #538a11;
	padding-bottom: 3px;
}

.s-menu ul li {
	font-size: 0.8666em;
	border-bottom: 1px solid #e3e3e3;
	padding: 12px 0;
}

.s-menu ul li a {
	color: #000;
}

.s-menu ul li a:hover {
	text-decoration: underline;
}

.s-menu ul li .fa {
	font-size: 1.3076em;
	font-weight: bold;
	color: #004e38;
	margin-right: 10px;
}

.s-info-block {
	background: #ededed;
	padding: 16px 10px;
}

.s-access {
	border-bottom: 1px solid #d6d6d6;
	box-shadow: 0 1px 0 #fff;
	padding-bottom: 12px;
}

.s-access .gmap {
	margin-bottom: 8px;
}

.s-access-ttl {
	font-family: 'Noto Serif Japanese';
	color: #4d8705;
	font-weight: 900;
	text-align: center;
	font-size: 1.1333em;
	margin-bottom: 10px;
}

.s-info-block .info {
	font-size: 0.8em;
}

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

.s-area {
	padding-top: 16px;
	margin-bottom: 8px;
}

.s-area-ttl {
	font-size: 0.8em;
	font-weight: bold;
	margin-bottom: 8px;
}

.area_prefectures {
	background: #fff;
	font-size: 0.8em;
	font-weight: bold;	
	text-align: center;
	padding: 2px 0;
	margin-bottom: 8px;
}

.area {
	-webkit-justify-content: flex-start; /* Safari */
	  justify-content:         flex-start;
}

.area li {
	font-size: 0.7333em;
	font-weight: bold;
	width: 33.3333%;
	margin-bottom: 8px;
}

.area li::before {
	content: "・";
}

.s-area .area_block {
	margin-bottom: 10px;
}

/* 続きを読む */

.point_block01.grad-wrap {
	position: relative;
	padding-bottom: 60px;
}

.grad-btn {
    z-index: 2;
    position: absolute;
    bottom: 0;
    left: 22px;
    padding: 18px 0;
    font-size: 0.8666em;
    text-align: center;
    cursor: pointer;
    text-decoration: underline;
}
.grad-btn::before {
  content: "続きを読む"
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 118px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
