@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:400,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Quicksand');
@import url('https://fonts.googleapis.com/css?family=Coming+Soon');
@import url('https://fonts.googleapis.com/css?family=Cabin');
@import url('https://fonts.googleapis.com/css?family=Roboto');

@font-face {
    font-family: 'quest';
    src: url(../lib/quest.woff) format("woff");
}

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

/* ******************************************* */
/*          total
/* ******************************************* */
/* For modern browsers */
.clearfix::before,
.clearfix::after {
	content: "";
	display: block;
	overflow: hidden;
}
.clearfix::after {
	clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix {
	zoom: 1;
}

.clear {
	clear: both;
}

html {

}

.fitting {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

/* ******************************************* */
/*          font
/* ******************************************* */
.hiragino {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.meiryo {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
}
.mincho {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body {
	font-family: 'M PLUS Rounded 1c', "游ゴシック", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #000;
	background: #ffffff;
    word-wrap: break-word;
	overflow-y: scroll;
}
main { display: block; }
body.type001 {

}

/* ******************************************* */
/*          container wrapper section etc
/* ******************************************* */
#container {
    min-width: 1280px;
	min-height: 100vh;
	margin: 0 auto;
    overflow: hidden;
}
/* wrapper */
.wrapper {
	width: 1280px;
	margin: 0px auto;
}
.lower_wrapper {
	width: 1240px;
	margin: 0px auto;
}
.section_wrapper {
	width: 860px;
	margin: 0px auto;
}
.pc { display: block; }
.sp { display: none; }
.bigger_link, .trigger, .click { cursor: pointer; }

.t_left { text-align: left !important; }
.t_center { text-align: center !important; }
.t_right { text-align: right !important; }
.margin_0020 { margin: 0px auto 20px !important; }
.margin_0040 { margin: 0px auto 40px !important; }
.margin_0060 { margin: 0px auto 60px !important; }
.margin_0080 { margin: 0px auto 80px !important; }
.margin_2000 { margin: 20px auto 0px !important; }
.margin_2020 { margin: 20px auto !important; }
.margin_2040 { margin: 20px auto 40px !important; }
.margin_2060 { margin: 20px auto 60px !important; }
.margin_2080 { margin: 20px auto 80px !important; }
.margin_4000 { margin: 40px auto 0px !important; }
.margin_4020 { margin: 40px auto 20px !important; }
.margin_4040 { margin: 40px auto !important; }
.margin_4060 { margin: 40px auto 60px !important; }
.margin_4080 { margin: 40px auto 80px !important; }
.margin_6000 { margin: 60px auto 0px !important; }
.margin_6020 { margin: 60px auto 20px !important; }
.margin_6040 { margin: 60px auto 40px !important; }
.margin_6060 { margin: 60px auto !important; }
.margin_6080 { margin: 60px auto 80px !important; }
.margin_8000 { margin: 80px auto 0px !important; }
.margin_8020 { margin: 80px auto 20px !important; }
.margin_8040 { margin: 80px auto 40px !important; }
.margin_8060 { margin: 80px auto 60px !important; }
.margin_8080 { margin: 80px auto !important; }

@media(min-width: 737px){
    .left { float: left; }
    .right { float: right; }
	.c1 { width:  5.33%; }
	.c2 { width: 13.67%; }
	.c3 { width: 22.00%; }
	.c4 { width: 30.33%; }
	.c5 { width: 38.67%; }
	.c6 { width: 47.00%; }
	.c7 { width: 55.33%; }
	.c8 { width: 63.67%; }
	.c9 { width: 72.00%; }
	.c10 { width: 80.33%; }
	.c11 { width: 88.67%; }

	section.p10 { padding-left: 10px; padding-right: 10px; }
	section.p15 { padding-left: 15px; padding-right: 15px; }
	section.p20 { padding-left: 20px; padding-right: 20px; }
	section.p25 { padding-left: 25px; padding-right: 25px; }
	table.th10 tr th:first-child { width: 10%; } table.th15 tr th:first-child { width: 15%; }
	table.th20 tr th:first-child { width: 20%; } table.th25 tr th:first-child { width: 25%; }
	table.th30 tr th:first-child { width: 30%; } table.th35 tr th:first-child { width: 35%; }
	table.th40 tr th:first-child { width: 40%; } table.th45 tr th:first-child { width: 45%; }
	table.th50 tr th:first-child { width: 50%; } table.th55 tr th:first-child { width: 55%; }
	table.th60 tr th:first-child { width: 60%; } table.th65 tr th:first-child { width: 65%; }
	table.th70 tr th:first-child { width: 70%; } table.th75 tr th:first-child { width: 75%; }
	table.th80 tr th:first-child { width: 80%; } table.th85 tr th:first-child { width: 85%; }
	table.th90 tr th:first-child { width: 90%; }

	main > section section { margin: 0px auto 60px; }
	main > section section section { margin: 40px auto; }
}
@media(max-width: 736px){
	body {
        font-size: 14px;
        line-height: 1.6;
        -webkit-text-size-adjust: 100%;
	}
	#container {
		min-width: 100%;
	}
	.wrapper {
		width: 100%;
		padding: 0 3.5vw;
	}
	.lower_wrapper {
		width: 100%;
		padding: 0 3.5vw;
    }
    .section_wrapper {
		width: 100%;
		padding: 0 3.5vw;
    }
    .sp{
		display: block;
	}
	.pc{
		display: none;
	}
	img {
		max-width: 100%;
	}
	input {
		max-width: 100%;
		border-radius: 0px;
	}
	iframe {
		max-width: 100%;
    }
	br.sp-br{
		display: block;
	}

	main > section {
		padding: 0px 0 8vw;
	}
	main > section section {
		padding: 0px;
		margin: 0px auto 40px;
	}

	.margin_0020 { margin: 0px auto 2vw !important; }
	.margin_0040 { margin: 0px auto 4vw !important; }
	.margin_0060 { margin: 0px auto 5vw !important; }
	.margin_0080 { margin: 0px auto 6.5vw !important; }
	.margin_2000 { margin: 2vw auto 0px !important; }
	.margin_2020 { margin: 2vw auto !important; }
	.margin_2040 { margin: 2vw auto 4vw !important; }
	.margin_2060 { margin: 2vw auto 5vw !important; }
	.margin_2080 { margin: 2vw auto 6.5vw !important; }
	.margin_4000 { margin: 4vw auto 0px !important; }
	.margin_4020 { margin: 4vw auto 2vw !important; }
	.margin_4040 { margin: 4vw auto !important; }
	.margin_4060 { margin: 4vw auto 5vw !important; }
	.margin_4080 { margin: 4vw auto 6.5vw !important; }
	.margin_6000 { margin: 5vw auto 0px !important; }
	.margin_6020 { margin: 5vw auto 2vw !important; }
	.margin_6040 { margin: 5vw auto 4vw !important; }
	.margin_6060 { margin: 5vw auto !important; }
	.margin_6080 { margin: 5vw auto 6.5vw !important; }
	.margin_8000 { margin: 6.5vw auto 0px !important; }
	.margin_8020 { margin: 6.5vw auto 2vw !important; }
	.margin_8040 { margin: 6.5vw auto 4vw !important; }
	.margin_8060 { margin: 6.5vw auto 5vw !important; }
	.margin_8080 { margin: 6.5vw auto !important; }
}

.photoimage {
	padding: 8px 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 4px 3px 11px;
	background: #fff;
	margin-bottom: 20px;
}
.photoimage.l05 { transform: rotate( -0.5deg ); }
.photoimage.l10 { transform: rotate( -1.0deg ); }
.photoimage.l15 { transform: rotate( -1.5deg ); }
.photoimage.r05 { transform: rotate(  0.5deg ); }
.photoimage.r10 { transform: rotate(  1.0deg ); }
.photoimage.r15 { transform: rotate(  1.5deg ); }

.small { font-size: 85%; }
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          a link setting
/* ******************************************* */
a {
	color: #000;
	text-decoration: none;
	cursor: pointer;
    outline: none;
}
a:hover, a:focus, a:active {
	color: #000;
	text-decoration: none;
}
a img {
	border: 0;
}
img {
    max-width: 100%;
}
a[href^="tel:"] { cursor: default; }

a.arrows {
	position: relative;
	transition: 0.2s;
	padding-right: 50px;
	text-align: center;
}
a.arrows::after {
	position: absolute;
	content: "➡";
	color: #e3a53c;
	background: #fff;
	border-radius: 100px;
	font-size: 15px;
	line-height: 19px;
	width: 20px;
	height: 20px;
	right: 20px;
	top: 50%;
	margin-top: -10px;
	transition: 0.2s;
}
a.arrows:hover::after {
	content: "➡";
	color: #fff;
	background: #e3a53c;
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          header PC
/* ******************************************* */
@media(min-width:737px){
    #header {
        background: rgba( 255, 255, 255, 0.8 );
		position: fixed;
		z-index: 9999;
		width: 100%;
		box-shadow: 0 0 5px rgba( 0, 0, 0, 0.2 );
    }
		#header .wrapper { position: relative; }
        #header h1 {
            float: left;
			margin: 16px 0px;
        }
		#header #gnav {
			float: left;
			font-size: 15px;
			line-height: 30px;
			font-weight: 600;
			margin: 31.5px 25px;
		}
		#header #gnav ul {

		}
		#header #gnav ul li {
			display: inline-block;
		}
		#header #gnav ul li a {
			display: block;
			margin: 0px 15px;
			color: #000;
		}
		#header #gnav ul li a.current,
		#header #gnav ul li a:hover {
			border-bottom: 2px solid #509315;
		}
		#header .tel {
			float: right;
			margin: 13px 15px 13px 0px;
		}
		#header .contactbutton {
			float: right;
			margin: 20px 20px 20px 0px;
		}
		#header .contactbutton a {
			display: block;
			font-size: 16px;
			line-height: 20px;
			padding: 15px 10px;
			font-weight: bold;
			text-align: center;
			border-radius: 50px;
			width: 220px;
			color: #fff;
			background: #FF4600;
			box-shadow: 1px 3px 8px rgba( 0, 0, 0, 0.3 );
			border: 2px solid #FF4600;
		}
		#header .contactbutton a::before {
			display: inline-block;
			content: "";
			width: 20px;
			height: 20px;
			background: url('/images/icon_hito.png');
			margin-bottom: -4px;
		}
		#header .contactbutton a:hover {
			color: #FF4600;
			background: #fff;
		}
}
/* ******************************************* */
/*          header SP
/* ******************************************* */
@media(max-width:736px){
    #header {
        position: relative;
        z-index: 9999;
        box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
		padding: 3vw;
		background: #fff;
		position: fixed;
		width: 100%;
    }
		#header .inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
		#header .rwd_logo {
			width: 75%;
		}
		#header .rwd_menu {
			width: 25%;
			max-width: 60px;
		}
		#header .rwd_menu .trigger {
			width: 100%;
			max-width: 80px;
			background: #509315;
		}

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          gnav PC
/* ******************************************* */
@media(min-width:737px){


}
/* ******************************************* */
/*          gnav SP
/* ******************************************* */
@media(max-width:736px){
    #rwd_menu {
        background: rgba( 72, 86, 105, 0.9 );
		position: absolute;
		color: #fff;
        width: 94vw;
    }
        #rwd_menu ul {
            width: 100%;
        }
        #rwd_menu ul li {
            border-bottom: 1px solid rgba( 0, 0, 0, 0.3 );
        }
        #rwd_menu ul li a {
            display: block;
            font-size: 16px;
			color: #fff;
            line-height: 3;
            text-align: center;
            text-decoration: none;
        }
        #rwd_menu ul li a::after {
            content: "　≫";
        }

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          汎用 PC
/* ******************************************* */
@media(min-width:737px){
	h2 {
		font-size: 42px;
		font-weight: bold;
		color: #000;
		text-align: center;
		margin-bottom: 40px;
	}
		h2::before {
			display: block;
			width: 2px;
			height: 92px;
			margin: 0 auto;
			background: #cccccc;
			content: "";
		}
		h2 span {
			display: block;
			color: #509315;
			font-family: 'Cabin' sans-serif;
			font-size: 24px;
			font-weight: bold;
			line-height: 2;
		}
		h2.no_line { margin-bottom: 20px; }
		h2.no_line::before { height: 40px; background: none; }
	h3 {
		position: relative;
		font-size: 24px;
		font-weight: bold;
		color: #000;
		padding: 8px 0px 8px 16px;
		margin: 10px auto 20px;
	}
		h3::before {
			position: absolute;
			content: "";
			top: 0px;
			left: 0px;
			width: 5px;
			height: 100%;
			background: #509315;
		}
	h4 {
		color: #509315;
		font-size: 20px;
		font-weight: bold;
		margin: 8px auto 15px;
	}
	h5 {
		font-weight: bold;
		margin: 8px auto 15px;
	}
	.marker {
		background: linear-gradient(transparent 75%, #ffdc3b 75%);
	}
	.color_text,
	.caption_text {
		font-size: 24px;
		font-weight: 600;
		letter-spacing: 0.025em;
 		margin: 0.5em auto;
	}
	.color_text { color: #509315; }
	.big_text {
		font-size: 36px;
		font-weight: 600;
		letter-spacing: 0.025em;
		margin: 0.5em auto;
	}
	.common_text p:nth-last-of-type(n+2) {
		margin: 0 auto 0.8em;
	}
	.caution_text {
		color: #666;
		font-size: 13px;
		line-height: 1.4;
		padding-left: 14px;
		text-indent: -14px;
	}
		.caution_text p {
			margin: 0.8em auto;
		}
	.t_center th, .t_center td { text-align: center; }
	.imagebox {
		text-align: center;
		max-width: 70%;
		margin: 0px auto 20px;
	}
	table.normal_table tr th,
	table.normal_table tr td {
		padding: 10px;
		border: 1px solid #ccc;
		vertical-align: middle;
	}
	table.normal_table th { font-weight: 600; }
	table.normal_table thead tr th,
	table.normal_table thead tr td {
		background: #509315;
		color: #fff;
	}
	table.common_table {
		text-align: left;
		width: 100%;
	}
		table.common_table > thead > tr > th,
		table.common_table > thead > tr > td {
			padding: 10px 0px 10px 0px;
			background: #e4f1df;
			font-weight: 600;
			color: #509315;
			border-bottom: 1px solid #ccc;
			text-align: center;
		}
		table.common_table > tbody > tr > th {
			padding: 10px 10px 10px 5%;
			font-weight: 600;
			border-bottom: 1px solid #ccc;
		}
		table.common_table.t_center > tbody > tr > th { padding: 10px; }
		table.common_table > tbody > tr > td {
			padding: 10px 0px 10px 0px;
			border-bottom: 1px solid #ccc;
		}
		table.common_table table.common_table > tbody > tr {
		}
		table.common_table table.common_table > tbody > tr > th {
			padding: 2px;
			font-weight: 400;
			border-bottom: 1px dotted #ccc;
		}
		table.common_table table.common_table > tbody > tr > td {
			padding: 2px;
			border-bottom: 1px dotted #ccc;
		}
		table table.common_table > tbody > tr:last-of-type > th { border: none; }
		table table.common_table > tbody > tr:last-of-type > td { border: none; }
	table.border_table {
		border: 2px solid #509315;
	}
		table.border_table > tbody > tr > th {
			border-bottom: 2px solid #509315;
			font-size: 24px;
			color: #509315;
			background: #e4f1df;
			text-align: center;
			vertical-align: middle;
			padding: 30px;
		}
		table.border_table > tbody > tr > td {
			border-bottom: 2px solid #509315;
			padding: 16px 45px;
			vertical-align: middle;
		}
	dl.image_data {
		width: 100%;
		max-width: 800px;
		margin: 20px auto 40px;
	}
		dl.image_data dt {
			display: table-cell;
			width: 50%;
		}
		dl.image_data dd {
			display: table-cell;
			width: 50%;
			vertical-align: middle;
			padding: 40px;
		}
	/*********** Simplelist ***********/
	ul.simple_list {

	}
		ul.simple_list li {
			border-bottom: 1px solid #ccc;
			padding: 1em 0px;
		}
		ul.simple_list li .title {
			font-size: 18px;
			margin: 8px auto;
			font-weight: 600;
		}
	ul.step_flow {

	}
		ul.step_flow li {
			position: relative;

		}
		ul.step_flow li:nth-of-type(n+2) {
			margin-top: 20px;
		}
		ul.step_flow li:nth-of-type(n+2)::before {
			position: absolute;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 10px 5px 0 5px;
			border-color: #000000 transparent transparent transparent;
			top: -21px;
			left: 50%;
			margin-left: -5px;
		}
		ul.step_flow li table {
			width: 100%;
			border-collapse: separate;
			border-spacing: 4px 0px;
		}
		ul.step_flow li table tr th {
			background: #fff;
			width: 20%;
			text-align: center;
			vertical-align: middle;
			font-size: 18px;
			font-weight: 600;
			padding: 20px;
		}
		ul.step_flow li table tr td {
			background: #fff;
			vertical-align: middle;
			padding: 20px;
		}
	ul.file_list {
		margin: 30px auto;
		font-size: 0px;
		text-align: center;
		max-width: 700px;
	}
		ul.file_list li {
			display: inline-block;
			background: #fff;
			width: 400px;
			margin: 10px;
		}
		table ul.file_list {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		table ul.file_list li { width: 80%; margin: 10px auto; }
		ul.file_list li a {
			display: block;
			position: relative;
			background: url("/images/icon_pdf.png") no-repeat;
			background-position: 24px 50%;
			padding: 20px 20px 20px 50px;
			text-align: left;
			font-size: 16px;
			font-weight: 600;
			box-shadow: 0 0 6px rgba( 0, 0, 0, 0.4 );
		}
		ul.file_list li a::after {
			position: absolute;
			right: 0;
			bottom: 0;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 0 10px 10px;
			border-color: transparent transparent #509315 transparent;
		}
		ul.file_list li a:hover { opacity: 0.6; }
	.buttonlink {
		text-align: center;
	}
	.buttonlink a {
		display: inline-block;
		font-size: 16px;
		line-height: 20px;
		padding: 15px 65px;
		margin: 0 10px;
		font-weight: bold;
		text-align: center;
		border-radius: 50px;
		min-width: 220px;
		color: #fff;
		background: #FF4600;
		box-shadow: 1px 3px 8px rgba( 0, 0, 0, 0.3 );
		border: 2px solid #FF4600;
	}
	.buttonlink a:hover {
		color: #FF4600;
		background: #fff;
	}
	.backlink {
		margin: 40px auto 60px;
		text-align: left;
	}
	.backlink a {
		display: inline-block;
		font-size: 16px;
		line-height: 20px;
		padding: 15px 65px;
		margin: 0 40px 0 0;
		font-weight: bold;
		text-align: center;
		border-radius: 50px;
		min-width: 220px;
		color: #fff;
		background: #979797;
		box-shadow: 1px 3px 8px rgba( 0, 0, 0, 0.3 );
		border: 2px solid #979797;
	}
	.backlink a:hover {
		color: #979797;
		background: #fff;
	}
	.anchorlink {
		margin: 30px 100px;
		font-size: 0px;
		text-align: left;
	}
		.anchorlink a {
			font-size: 16px;
			display: inline-block;
			width: 250px;
			height: 50px;
			line-height: 30px;
			position: relative;
			padding: 10px;
			border-left: 1px solid #ccc;
			text-align: center;
		}
		.anchorlink a::after {
			position: absolute;
			bottom: 12px;
			left: 50%;
			height: 10px;
			width: 30px;
			margin-left: -15px;
			content: "▼";
			font-size: 8px;
			text-align: center;
			color: #000;
		}
		.anchorlink a:hover {
			background: #509315;
			color: #fff;
		}
		.anchorlink a:hover::after {
			color: #fff;
		}
		.anchorlink a:nth-of-type(4n+4) { border-right: 1px solid #ccc; }
		.anchorlink a:last-of-type { border-right: 1px solid #ccc; }
		.anchorlink a:nth-of-type(n+5) { margin-top: 10px; }
}
/* ******************************************* */
/*          汎用 SP
/* ******************************************* */
@media(max-width:736px){
	h2 {
		font-size: 26px;
		font-weight: bold;
		color: #000;
		text-align: center;
		margin-bottom: 20px;
	}
		h2::before {
			display: block;
			width: 2px;
			height: 30px;
			margin: 0 auto;
			background: #cccccc;
			content: "";
		}
		h2 span {
			display: block;
			color: #509315;
			font-family: 'Cabin' sans-serif;
			font-size: 18px;
			font-weight: bold;
			line-height: 1.5;
		}
		h2.no_line { margin-bottom: 20px; }
		h2.no_line::before { height: 20px; background: none; }
	h3 {
		position: relative;
		font-size: 22px;
		font-weight: bold;
		color: #000;
		padding: 8px 0px 8px 16px;
		margin: 8px auto 16px;
	}
		h3::before {
			position: absolute;
			content: "";
			top: 0px;
			left: 0px;
			width: 4px;
			height: 100%;
			background: #509315;
		}
	h4 {
		color: #509315;
		font-size: 18px;
		font-weight: bold;
		margin: 8px auto 15px;
	}
	h5 {
		font-weight: bold;
		margin: 8px auto 15px;
	}
	.marker {
		background: linear-gradient(transparent 75%, #ffdc3b 75%);
	}
	.color_text,
	.caption_text {
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.025em;
 		margin: 0.5em auto;
	}
	.color_text { color: #509315; }
	.big_text {
		font-size: 24px;
		font-weight: 600;
		letter-spacing: 0.025em;
		margin: 0.5em auto;
	}
	.common_text p:nth-last-of-type(n+2) {
		margin: 0 auto 0.8em;
	}
	.caution_text {
		color: #666;
		font-size: 11px;
		line-height: 1.4;
		padding-left: 12px;
		text-indent: -12px;
	}
		.caution_text p {
			margin: 0.8em auto;
		}
	.t_center th, .t_center td { text-align: center; }
	.imagebox {
		text-align: center;
		max-width: 85%;
		margin: 0px auto 16px;
	}
	table.normal_table tr th,
	table.normal_table tr td {
		padding: 10px;
		border: 1px solid #ccc;
		vertical-align: middle;
	}
	table.normal_table th { font-weight: 600; }
	table.normal_table thead tr th,
	table.normal_table thead tr td {
		background: #509315;
		color: #fff;
	}
	table.common_table {
		text-align: left;
		width: 100%;
	}
		table.common_table > thead > tr > th,
		table.common_table > thead > tr > td {
			display: block;
			padding: 8px 0px 8px 0px;
			background: #e4f1df;
			font-weight: 600;
			color: #509315;
			text-align: center;
		}
		table.common_table > thead > tr > td {
			border-bottom: 1px solid #ccc;
		}
		table.common_table > tbody > tr > th {
			display: block;
			padding-top: 10px;
			font-weight: 600;
		}
		table.common_table.t_center > tbody > tr > th { padding: 10px; }
		table.common_table > tbody > tr > td {
			display: block;
			padding-bottom: 10px;
			border-bottom: 1px solid #ccc;
		}
		table.common_table table.common_table > tbody > tr {
		}
		table.common_table table.common_table > tbody > tr > th {
			display: block;
			padding: 2px;
			font-weight: 400;
		}
		table.common_table table.common_table > tbody > tr > td {
			display: block;
			padding: 2px;
			border-bottom: 1px dotted #ccc;
		}
		table table.common_table > tbody > tr:last-of-type > th { border: none; }
		table table.common_table > tbody > tr:last-of-type > td { border: none; }
	table.border_table {
		border: 2px solid #509315;
	}
		table.border_table > tbody > tr > th {
			display: block;
			font-size: 20px;
			color: #509315;
			background: #e4f1df;
			text-align: center;
			vertical-align: middle;
			padding: 5px 10px;
		}
		table.border_table > tbody > tr > td {
			display: block;
			border-bottom: 2px solid #509315;
			padding: 5px 10px;
			vertical-align: middle;
		}
	.rwd_scroll table {
		display: table !important;
		width: auto;
	}
	.rwd_scroll table tr th,
	.rwd_scroll table tr td {
		display: table-cell !important;
		padding: 8px 16px !important;
		border: 1px solid #ccc !important;
		max-width: 300px;
	}
	dl.image_data {
		width: 100%;
		margin: 20px auto 40px;
	}
		dl.image_data dt {
			text-align: center;
			max-width: 300px;
			width: 75%;
			margin: 10px auto;
		}
		dl.image_data dd {
			padding: 5vw;
		}
	/*********** Simplelist ***********/
	ul.simple_list {

	}
		ul.simple_list li {
			border-bottom: 1px solid #ccc;
			padding: 1em 0px;
		}
		ul.simple_list li .title {
			font-size: 16px;
			margin: 8px auto;
			font-weight: 600;
		}
	ul.step_flow {

	}
		ul.step_flow li {
			position: relative;
		}
		ul.step_flow li:nth-of-type(n+2) {
			margin-top: 20px;
		}
		ul.step_flow li:nth-of-type(n+2)::before {
			position: absolute;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 10px 5px 0 5px;
			border-color: #000000 transparent transparent transparent;
			top: -21px;
			left: 50%;
			margin-left: -5px;
		}
		ul.step_flow li table {
			width: 100%;
			border-collapse: separate;
			border-spacing: 4px 0px;
		}
		ul.step_flow li table tr th {
			background: #fff;
			width: 20%;
			text-align: center;
			vertical-align: middle;
			font-size: 18px;
			font-weight: 600;
			padding: 20px;
		}
		ul.step_flow li table tr td {
			background: #fff;
			vertical-align: middle;
			padding: 20px;
		}
	ul.file_list {
		margin: 10px auto;
		font-size: 0px;
		text-align: center;
	}
		ul.file_list li {
			background: #fff;
			max-width: 400px;
			margin: 10px;
		}
		table ul.file_list {
		}
		table ul.file_list li { max-width: 340px; margin: 10px auto; }
		ul.file_list li a {
			display: block;
			position: relative;
			background: url("/images/icon_pdf.png") no-repeat;
			background-position: 10px 50%;
			padding: 10px 10px 10px 32px;
			text-align: left;
			font-size: 16px;
			font-weight: 600;
			box-shadow: 0 0 6px rgba( 0, 0, 0, 0.4 );
		}
		ul.file_list li a::after {
			position: absolute;
			right: 0;
			bottom: 0;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 0 10px 10px;
			border-color: transparent transparent #509315 transparent;
		}
		ul.file_list li a:hover { opacity: 0.6; }
	.buttonlink {

	}
	.buttonlink a {
		display: block;
		font-size: 16px;
		line-height: 20px;
		padding: 10px 40px;
		margin: 0px auto;
		font-weight: bold;
		text-align: center;
		border-radius: 50px;
		width: 220px;
		color: #fff;
		background: #FF4600;
		box-shadow: 1px 3px 8px rgba( 0, 0, 0, 0.3 );
		border: 2px solid #FF4600;
	}
	.backlink {
	}
	.backlink a {
		display: block;
		font-size: 16px;
		line-height: 20px;
		padding: 10px 40px;
		margin: 0px auto;
		font-weight: bold;
		text-align: center;
		border-radius: 50px;
		width: 220px;
		color: #fff;
		background: #979797;
		box-shadow: 1px 3px 8px rgba( 0, 0, 0, 0.3 );
		border: 2px solid #979797;
	}
	.anchorlink {
		margin: 20px auto;
		font-size: 0px;
		text-align: center;
	}
		.anchorlink a {
			font-size: 10px;
			display: inline-block;
			width: 50%;
			height: 40px;
			margin: 10px auto;
			line-height: 20px;
			position: relative;
			padding: 10px;
			border-left: 1px solid #ccc;
			border-right: 1px solid #ccc;
		}
		.anchorlink a:nth-of-type(even) { border-left: none; }
		.anchorlink a::after {
			position: absolute;
			bottom: 4px;
			left: 50%;
			height: 10px;
			width: 30px;
			margin-left: -15px;
			content: "▼";
			font-size: 8px;
			text-align: center;
			color: #000;
		}
	.rwd_scroll {
        overflow: auto;
		margin-bottom: 20px;
		word-break: break-all;
    }
    .rwd_scroll::-webkit-scrollbar {
        height: 5px;
    }
    .rwd_scroll::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    .rwd_scroll::-webkit-scrollbar-thumb {
        background: #bcbcbc;
    }
}

/* -------------------------------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          トップページ PC
/* ******************************************* */
@media(min-width:737px){
    #mainV {
		background: url('/images/bg_mv.jpg') no-repeat;
		background-size: cover;
		min-height: 610px;
		background-position: 50%;
    }
	#mainV .inner {
		background: rgba( 255, 255, 255, 0.7 );
		padding: 70px 20px 30px;
		max-width: 640px;
	}
	#mainV .inner .image {
		text-align: center;
		margin-bottom: 35px;
	}
	#mainV .inner .caution p {
		font-size: 14px;
		line-height: 1.6;
		padding-left: 28px;
		text-indent: -28px;
	}
	.lowerpage > section,
	.toppage > section {
		padding-bottom: 60px;
	}
	section.pattern1 {
		background: #e7f4e5;
	}
	main { position: relative; }
	.top_new {
		position: relative;
		top: -25px;
		margin-bottom: -25px;
		padding: 0px 20px;
	}
		.top_new table {
			width: 100%;
			box-shadow: 0 0 8px rgba( 0, 0, 0, 0.4 );
		}
		.top_new table th {
			width: 200px;
			background: #509315;
			color: #fff;
			font-size: 20px;
			line-height: 20px;
			letter-spacing: 0.1em;
			padding: 15px;
			text-align: center;
			vertical-align: middle;
			font-weight: bold;
		}
		.top_new table td {
			background: #fff;
			padding: 10px 30px;
			text-align: left;
			vertical-align: middle;
		}
		.top_new table td .date {
			float: left;
			color: #595656;
			margin-right: 30px;
		}
		.top_new table td .title {
			float: left;
		}
		.top_new table td .title a:hover { text-decoration: underline; }
	.top_price {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		margin: 0px auto;
	}
		.top_price strong {
			font-size: 30px;
			position: relative;
			bottom: -3px;
		}
		.top_price .mini {
			font-size: 16px;
			font-weight: 300;
			position: relative;
			bottom: -3px;
		}

	.top_contents1 {
		position: relative;
		width: 1000px;
		margin: 70px auto 60px;
		box-shadow: 0 0 10px rgba( 0, 0, 0, 0.5 );
	}
		.top_contents1 .fukidashi {
			position: relative;
			font-size: 18px;
			font-weight: bold;
			color: #fff;
			background: #509315;
			border-radius: 8px;
			width: 200px;
			line-height: 40px;
			top: -20px;
			margin: 0 auto;
			text-align: center;
		}
		.top_contents1 .fukidashi::after {
			position: absolute;
			bottom: -7px;
			left: 50%;
			margin-left: -4px;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 8px 4px 0 4px;
			border-color: #509315 transparent transparent transparent;
		}
		.top_contents1 .fukidashi strong {
			color: #ffdc3b;
		}
		.top_contents1 .comment {
			background: #509315;
			text-align: center;
			padding: 10px;
			color: #fff;
		}
		.top_contents1 .comment p strong {
			font-size: 30px;
			color: #ffdc3b;
		}
		.top_contents1 .comment p:nth-of-type(1) {
			font-size: 24px;
		}
		.top_contents1 .comment p:nth-of-type(2) {
			font-size: 16px;
		}
	.top_contents1 ul {
		margin: 22px auto 2px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
		.top_contents1 ul li {
			margin: 8px 15px;
		}
		.top_contents1 ul li .image {
			border-radius: 8px;
			overflow: hidden;
		}
		.top_contents1 ul li p {
			text-align: center;
			margin: 10px auto;
			font-size: 16px;
			font-weight: bold;
		}
	.top_mainmessage {
		font-size: 24px;
		font-weight: bold;
		text-align: center;

	}
		.top_mainmessage p {
			display: inline-block;
			position: relative;
		}
		.top_mainmessage p::before,
		.top_mainmessage p::after {
			display: inline-block;
			width: 50px;
			height: 50px;
			border-top: 1px solid #509315;
			border-right: 1px solid #509315;
			content: "";
			position: absolute;
			top: 50%;
			margin-top: -25px;
		}
		.top_mainmessage p::before { transform: rotate( -135deg ); left: -50px; }
		.top_mainmessage p::after { transform: rotate( 45deg ); right: -50px; }
	/********** カニエ光の特徴 *********/
	.top_contents2 {

	}
		.top_contents2 ul {
			width: 1000px;
			counter-reset: cnt;
			margin: 0 auto;
		}
		.top_contents2 ul li {
			padding: 50px 70px;
			background: #fff;
			position: relative;
			margin: 80px auto 40px;
			box-shadow: 0 0 10px rgba( 0, 0, 0, 0.4 );
		}
		.top_contents2 ul li:nth-of-type(n+2) { margin-top: 120px; }
		.top_contents2 ul li .title {
			position: absolute;
			top: -45px;
			left: -30px;
			width: 490px;
			height: 80px;
			text-align: center;
			color: #fff;
			font-weight: 600;
			font-size: 33px;
			line-height: 80px;
			background: #509315;
		}
		.top_contents2 ul li .title strong { font-size: 140%; }
		.top_contents2 ul li .title::before {
			position: absolute;
			top: -30px;
			left: -30px;
			width: 70px;
			height: 70px;
			background: #f4cf4c;
			border-radius: 35px;
			color: #333;
			content: "特徴";
			font-size: 14px;
			line-height: 40px;
		}
		.top_contents2 ul li .title::after {
			position: absolute;
			color: #333;
			font-family: 'Cabin', sans-serif;
			font-size: 36px;
			line-height: 36px;
			height: 36px;
			width: 70px;
			top: -4px;
			left: -30px;
			counter-increment: cnt;
			content: counter( cnt );
		}
	.top_contents3 {
		padding: 80px 0px 40px;
		display: flex;
		justify-content: space-between;
	}
		.top_contents3 div:first-child { border-right: 1px solid #fff; }
	.campaign {
		margin: 20px auto 40px;
		counter-reset: camp;
		background: #f4cf4c;
		border: 2px solid #f4cf4c;
	}
		.campaing_title {
			font-size: 20px;
			line-height: 38px;
			text-align: center;
			font-weight: bold;
		}
		.campaign article.parts {
			position: relative;
			width: calc( 50% - 1px );
			background: #fcf0c4;
			display: flex;
			align-items: center;
			float: left;
		}
		.campaign article.parts:nth-of-type(even) { float: right; }
		.campaign article.parts::before {
			position: absolute;
			width: 0;
			height: 0;
			top: 0;
			left: 0;
			border-style: solid;
			border-width: 35px 45px 0 0;
			border-color: #FF4600 transparent transparent transparent;
			content: "";
		}
		.campaign article.parts::after {
			position: absolute;
			top: 0;
			left: 0;
			height: 20px;
			line-height: 20px;
			font-weight: bold;
			width: 20px;
			text-align: center;
			counter-increment: camp;
			content: counter( camp );
			color: #fff;
		}
		.campaign article.parts .sarani::before {
			position: absolute;
			background: #fff;
			font-size: 14px;
			content: "さらに";
			left: 12px;
			bottom: 4px;
			width: 50px;
			height: 50px;
			line-height: 50px;
			font-weight: bold;
			border-radius: 25px;
			text-align: center;
		}
		.campaign article.parts .inner {
			padding: 10px 10px 10px 62px;
		}
		.campaign article.parts p {
			font-size: 16px;
			line-height: 2.0em;
			font-weight: bold;
			color: #000;
		}
		.campaign article.parts p.big {
			font-size: 20px;
		}
		.campaign article.parts p strong {
			font-size: 150%;
			font-weight: bold;
			color: #db2603;
		}
	.step ul {
		margin: 30px auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
		.step ul li {
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			margin: 20px;
			width: 170px;
			height: 170px;
			border-radius: 85px;
			background: #e7f4e5;
			font-size: 18px;
			font-weight: bold;
		}
		.step ul li:nth-last-of-type(n+2)::after {
			position: absolute;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 5px 0 5px 10px;
			border-color: transparent transparent transparent #0f0f0f;
			content: "";
			top: 50%;
			right: -25px;
			margin-top: -5px;
		}
}
/* ******************************************* */
/*          トップページ SP
/* ******************************************* */
@media(max-width:736px){
	#mainV {
		background: url('/images/bg_mv.jpg') no-repeat;
		background-size: cover;
		min-height: 400px;
		background-position: 0%;
		padding: 3vw 0vw;
    }
	#mainV .inner {
		background: rgba( 255, 255, 255, 0.7 );
		padding: 8vw;
		max-width: 640px;
	}
	#mainV .inner .image {
		text-align: center;
		margin-bottom: 15px;
	}
	#mainV .inner .caution p {
		font-size: 14px;
		line-height: 1.6;
		padding-left: 28px;
		text-indent: -28px;
	}
	.lowerpage > section,
	.toppage > section {
		padding-bottom: 10vw;
	}
	section.pattern1 {
		background: #e7f4e5;
	}
	main { position: relative; }
	.top_new {
		position: relative;
		margin: 20px auto;
	}
		.top_new table {
			width: 100%;
			box-shadow: 0 0 8px rgba( 0, 0, 0, 0.4 );
		}
		.top_new table th {
			background: #509315;
			color: #fff;
			font-size: 15px;
			line-height: 20px;
			letter-spacing: 0.1em;
			padding: 10px;
			text-align: center;
			vertical-align: middle;
			font-weight: bold;
		}
		.top_new table td {
			background: #fff;
			padding: 10px;
			text-align: left;
			vertical-align: middle;
		}
		.top_new table td .date {
			font-size: 13px;
			color: #595656;
			margin-right: 30px;
		}
		.top_new table td .title {
			font-size: 13px;
		}
		.top_new table td .title a:hover { text-decoration: underline; }
	.top_price {
		position: relative;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		margin: 16px auto;
	}
		.top_price strong {
			font-size: 24px;
			position: relative;
			bottom: -3px;
		}
		.top_price .mini {
			font-size: 14px;
			font-weight: 300;
			position: relative;
			bottom: -3px;
		}

	.top_contents1 {
		position: relative;
		width: 100%;
		margin: 40px auto 30px;
		box-shadow: 0 0 10px rgba( 0, 0, 0, 0.5 );
	}
		.top_contents1 .fukidashi {
			position: relative;
			font-size: 18px;
			font-weight: bold;
			color: #fff;
			background: #509315;
			border-radius: 8px;
			width: 200px;
			line-height: 40px;
			top: -20px;
			margin: 0 auto;
			text-align: center;
		}
		.top_contents1 .fukidashi::after {
			position: absolute;
			bottom: -7px;
			left: 50%;
			margin-left: -4px;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 8px 4px 0 4px;
			border-color: #509315 transparent transparent transparent;
		}
		.top_contents1 .fukidashi strong {
			color: #ffdc3b;
		}
		.top_contents1 .comment {
			background: #509315;
			text-align: center;
			padding: 10px;
			color: #fff;
		}
		.top_contents1 .comment p strong {
			font-size: 30px;
			color: #ffdc3b;
		}
		.top_contents1 .comment p:nth-of-type(1) {
			font-size: 24px;
		}
		.top_contents1 .comment p:nth-of-type(2) {
			font-size: 16px;
		}
	.top_contents1 ul {
		margin: 10px auto 2px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
		.top_contents1 ul li {
			margin: 8px 10px;
			width: 38%;
			max-width: 150px;
		}
		.top_contents1 ul li .image {
			border-radius: 8px;
			overflow: hidden;
		}
		.top_contents1 ul li p {
			text-align: center;
			margin: 5px auto;
			font-size: 15px;
			font-weight: bold;
		}
	.top_mainmessage {
		font-size: 20px;
		font-weight: bold;
		text-align: center;

	}
		.top_mainmessage p {
			display: inline-block;
			position: relative;
		}
		.top_mainmessage p::before,
		.top_mainmessage p::after {
			display: inline-block;
			width: 50px;
			height: 50px;
			border-top: 1px solid #509315;
			border-right: 1px solid #509315;
			content: "";
			position: absolute;
			top: 50%;
			margin-top: -25px;
		}
		.top_mainmessage p::before { transform: rotate( -135deg ); left: -50px; }
		.top_mainmessage p::after { transform: rotate( 45deg ); right: -50px; }
	/********** カニエ光の特徴 *********/
	.top_contents2 {

	}
		ul.features,
		.top_contents2 ul {
			width: 100%;
			counter-reset: cnt;
			margin: 0 auto;
		}
		ul.features li,
		.top_contents2 ul li {
			padding: 0px 0px 40px;
			background: #fff;
			position: relative;
			margin: 20px auto 40px;
			box-shadow: 0 0 10px rgba( 0, 0, 0, 0.4 );
		}
		ul.features li .inner,
		.top_contents2 ul li .inner {
			padding: 0px 5vw;
		}
		ul.features li:nth-of-type(n+2),
		.top_contents2 ul li:nth-of-type(n+2) { margin-top: 30px; }
		ul.features li .title,
		.top_contents2 ul li .title {
			position: relative;
			width: 100%;
			min-height: 50px;
			text-align: center;
			color: #fff;
			font-weight: 600;
			font-size: 24px;
			line-height: 30px;
			background: #509315;
			margin-bottom: 16px;
			padding: 10px 10px 10px 50px;
		}
		.top_contents2 ul li .title strong { font-size: 130%; }
		ul.features li .title::before,
		.top_contents2 ul li .title::before {
			position: absolute;
			top: 5px;
			left: 5px;
			width: 40px;
			height: 40px;
			background: #f4cf4c;
			border-radius: 20px;
			color: #333;
			content: "特徴";
			font-size: 10px;
			line-height: 20px;
		}
		ul.features li .title::after,
		.top_contents2 ul li .title::after {
			position: absolute;
			color: #333;
			font-family: 'Cabin', sans-serif;
			font-size: 25px;
			line-height: 25px;
			height: 25px;
			width: 40px;
			top: 18px;
			left: 5px;
			counter-increment: cnt;
			content: counter( cnt );
		}
	.top_contents3 {
		padding: 40px 0px 40px;
		justify-content: space-between;
	}
	.campaign {
		margin: 20px auto 40px;
		counter-reset: camp;
		background: #f4cf4c;
		border: 2px solid #f4cf4c;
	}
		.campaing_title {
			font-size: 18px;
			line-height: 30px;
			text-align: center;
			font-weight: bold;
		}
		.campaign article.parts {
			position: relative;
			width: 100%;
			margin-top: 2px;
			background: #fcf0c4;
			display: flex;
			align-items: center;
			float: left;
		}
		.campaign article.parts:nth-of-type(even) { float: right; }
		.campaign article.parts::before {
			position: absolute;
			width: 0;
			height: 0;
			top: 0;
			left: 0;
			border-style: solid;
			border-width: 30px 40px 0 0;
			border-color: #FF4600 transparent transparent transparent;
			content: "";
		}
		.campaign article.parts::after {
			position: absolute;
			top: 0;
			left: 0;
			height: 20px;
			line-height: 20px;
			font-weight: bold;
			width: 20px;
			text-align: center;
			counter-increment: camp;
			content: counter( camp );
			color: #fff;
		}
		.campaign article.parts .saranin::before {
			position: absolute;
			background: #fff;
			font-size: 12px;
			content: "さらに";
			left: 5px;
			bottom: 5px;
			width: 40px;
			height: 40px;
			line-height: 40px;
			font-weight: bold;
			border-radius: 20px;
			text-align: center;
		}
		.campaign article.parts .inner {
			padding: 20px 8px 8px;
			text-align: center;
		}
		.campaign article.parts p {
			font-size: 15px;
			line-height: 2.0em;
			font-weight: bold;
			color: #000;
		}
		.campaign article.parts p.big {
			font-size: 18px;
		}
		.campaign article.parts p strong {
			font-size: 130%;
			font-weight: bold;
			color: #db2603;
		}
	.step ul {
		margin: 20px auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
		.step ul li {
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			margin: 15px auto;
			width: 80%;
			height: 40px;
			border-radius: 40px;
			background: #e7f4e5;
			font-size: 16px;
			font-weight: bold;
		}
		.step ul li:nth-last-of-type(n+2)::after {
			position: absolute;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 10px 5px 0 5px;
			border-color: #000000 transparent transparent transparent;
			content: "";
			bottom: -20px;
			left: 50%;
			margin-left: -5px;
		}

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          下層ページ PC
/* ******************************************* */
@media(min-width:737px){
	#lowerMV {
		background: url('/images/bg_dot.png');
		background-color: #509315;
		padding: 70px 0px 120px;
		margin-bottom: -40px;
	}
		#lowerMV .pagetitle {
			color: #fff;
			font-size: 48px;
			text-align: center;
			line-height: 1.2;
			font-weight: 600;
			padding: 0 50px;
		}

	.topborder_section {
		border-top: 2px solid #509315;
	}
	#lowertop .lower_wrapper {
		background: #fff;
		padding: 60px 20px 0px;
		text-align: center;
	}
		#lowertop .lower_wrapper p {
			line-height: 30px;
		}

	.half_section .lower_wrapper {
		padding-left: 620px;
	}
	.half_section h2 {
		text-align: left;
		margin-top: 40px;
	}
		.half_section h2::before {
			display: block;
			width: 0px;
			height: 0px;
			background: none;
			content: "";
		}
	.servicepage {
		background: url('/images/img07.png') no-repeat;
		background-position: 15% 50%;
		padding: 120px 0px 60px;
	}
	/********** 特徴パーツ *********/
	ul.features {
		width: 100%;
		margin-bottom: 40px;
		counter-reset: cnt;
		margin: 0 auto;
	}
		ul.features li {
			float: left;
			width: 48.5%;
			margin-top: 40px;
			box-shadow: 0 0 10px rgba( 0, 0, 0, 0.4 );
		}
		ul.features li:nth-of-type(even) { margin-left: 3%; }
		ul.features li .title {
			position: relative;
			padding: 50px 30px 8px;
			text-align: center;
			color: #fff;
			font-size: 24px;
			font-weight: 600;
			background: #509315;
		}
		ul.features li .title::before {
			position: absolute;
			top: -25px;
			left: 50%;
			width: 70px;
			height: 70px;
			margin-left: -35px;
			background: #f4cf4c;
			border-radius: 35px;
			color: #333;
			content: "特徴";
			font-size: 14px;
			line-height: 40px;
		}
		ul.features li .title::after {
			position: absolute;
			color: #333;
			font-family: 'Cabin', sans-serif;
			font-size: 36px;
			line-height: 36px;
			height: 36px;
			width: 70px;
			top: 0px;
			left: 50%;
			margin-left: -35px;
			counter-increment: cnt;
			content: counter( cnt );
		}
		ul.features li .comment {
			padding: 25px 40px;
		}
	/********** よくあるご質問 *********/
	.faq_list {
		border: 2px solid #509315;
		padding: 16px;
		border-radius: 3px;
	}
		.faq_list p {
			font-weight: 600;
			margin: 16px auto;
		}
		.faq_list ul {
			margin: 16px auto;
			padding: 0px 8px;
		}
		.faq_list ul li {
			margin: 8px auto;
		}
		.faq_list ul li a {
			text-decoration: underline;
		}
		.faq_list ul li a:hover {
			text-decoration: none;
			color: #999;
		}
	.question a {
		display: block;
		font-weight: 600;
		margin: 10px auto;
	}
		.question a::before {
			display: inline-block;
			margin-right: 10px;
			content: "Q";
			font-size: 26px;
			line-height: 40px;
			text-align: center;
			width: 40px;
			height: 40px;
			border-radius: 20px;
			background: #f4cf4c;
			font-weight: 600;
			color: #363432;
		}
		.question a:hover { opacity: 0.6; }
	.fixed {
		position: fixed;
		top: 0;
		z-index: 100;
		width: 281.5px;
	}
}
/* ******************************************* */
/*          下層ページ SP
/* ******************************************* */
@media(max-width:736px){
	#lowerMV {
		background: url('/images/bg_dot.png');
		background-color: #509315;
		padding: 60px 0px 60px;
	}
		#lowerMV .pagetitle {
			color: #fff;
			font-size: 30px;
			text-align: center;
			line-height: 1.2;
			font-weight: 600;
			padding: 0 5vw;
		}

	.topborder_section {
		border-top: 2px solid #509315;
	}
	#lowertop .lower_wrapper {
		background: #fff;
		padding: 40px 20px 0px;
		text-align: center;
	}
		#lowertop .lower_wrapper p {
			font-size: 14px;
			line-height: 1.4;
		}

	.half_section {
		background: #e7f4e5;
		padding-bottom: 60px;
	}
	/********** よくあるご質問 *********/
	.faq_list {
		border: 2px solid #509315;
		margin: 0px 20px;
		padding: 3vw;
		border-radius: 3px;
	}
		.faq_list p {
			font-weight: 600;
			margin: 16px auto;
			text-align: center;
		}
		.faq_list ul {
			margin: 16px auto;
			padding: 0px 8px;
		}
		.faq_list ul li {
			margin: 8px auto;
			padding-left: 16px;
		}
		.faq_list ul li a {
			text-decoration: underline;
		}
		.faq_list ul li a:hover {
			text-decoration: none;
			color: #999;
		}
	.question a {
		display: block;
		position: relative;
		font-weight: 600;
		line-height: 20px;
		margin: 10px auto;
		padding: 5px 10px 5px 40px;
	}
		.question a::before {
			display: block;
			position: absolute;
			content: "Q";
			font-size: 22px;
			line-height: 30px;
			text-align: center;
			top: 0px;
			left: 0px;
			width: 30px;
			height: 30px;
			border-radius: 20px;
			background: #f4cf4c;
			font-weight: 600;
			color: #363432;
		}

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Article PC
/* ******************************************* */
@media(min-width:737px){
    /************ アーティクル *************/
	.at_news {
		margin: 40px auto;
	}
		.at_news ul {
			width: 100%;
			max-width: 960px;
			margin: 0 auto;
		}
		.at_news ul li {
			display: flex;
			padding: 30px 0px;
			border-top: 1px solid #ccc;
		}
		.at_news ul li:last-of-type {
			border-bottom: 1px solid #ccc;
		}
		.at_news ul li .date {
			margin-right: 5%;
			color: #595656;
		}
		.at_news ul li .title a {
			display: block;
		}
		.at_news ul li .title a:hover {
			text-decoration: underline;
		}
	.pagedate {
		color: #999;
	}
}
/* ******************************************* */
/*          Article SP
/* ******************************************* */
@media(max-width:736px){
	/************ アーティクル *************/
	.at_news {
		margin: 20px auto;
	}
		.at_news ul {
			width: 100%;
			margin: 0 auto;
		}
		.at_news ul li {
			padding: 10px 20px;
			border-top: 1px solid #ccc;
		}
		.at_news ul li:last-of-type {
			border-bottom: 1px solid #ccc;
		}
		.at_news ul li .date {
			margin-right: 5%;
			color: #595656;
		}
		.at_news ul li .title a {
			display: block;
			text-decoration: underline;
		}
	.pagedate {
		color: #999;
	}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          sitemap PC
/* ******************************************* */
@media(min-width:737px){
    /************ sitemap *************/
	ul.sitemap {
		margin: 0 auto 80px;
		width: 60%;
	}
		ul.sitemap li {
			padding: 20px;
		}
		ul.sitemap li a {
			transition: 0.3s;
		}
		ul.sitemap li a:hover {
			text-decoration: underline;
			transition: 0.1s;
		}
		ul.sitemap li a::before {
			display: inline-block;
			transition: 0.3s;
			content: "";
			border-right: 3px solid #3399cc;
			border-top: 3px solid #3399cc;
			margin-right: 20px;
			width: 10px;
			height: 10px;
			transform: rotate( 45deg );
		}
}
/* ******************************************* */
/*          SP
/* ******************************************* */
@media(max-width:736px){
	/************ sitemap *************/
	ul.sitemap {
		margin: 0 auto 40px;
		width: 80%;
	}
		ul.sitemap li {
			padding: 10px;
		}
		ul.sitemap li a {
			transition: 0.3s;
		}
		ul.sitemap li a::before {
			display: inline-block;
			transition: 0.3s;
			content: "";
			border-right: 3px solid #3399cc;
			border-top: 3px solid #3399cc;
			margin-right: 20px;
			width: 10px;
			height: 10px;
			transform: rotate( 45deg );
		}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Footer PC
/* ******************************************* */
@media(min-width:737px){
	#footer {
		background: #509315;
		background-image: url('/images/bg_footer.png');
		background-repeat: repeat-x;
		background-position: 0% 100%;
		padding: 0px 0px 80px;
	}
	#footer .logo {

	}
	#fnav {
		color: #fff;
		margin-bottom: 100px;
	}
		#fnav ul {
			text-align: right;
			margin: 28px auto;
			font-size: 0px;
		}
		#fnav ul li {
			display: inline-block;
			font-size: 14px;
			line-height: 1.0;
		}
		#fnav ul li:nth-last-of-type(n+2)::after {
			content: "";
		    border-right: 1px solid #fff;
		    padding-right: 20px;
		    margin-right: 20px;
		}
		#fnav ul li a {
			color: #fff;
			text-decoration: none;
		}
		#fnav ul li a:hover {
			text-decoration: underline;
		}
	.footer_tel {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.support_desk {
		position: relative;
		text-align: right;
		line-height: 1.4;
		padding: 4px 16px 4px 24px;
		border: 1px solid #fff;
		border-right: 0px;
		margin-right: 16px;
	}
		.support_desk::before,
		.support_desk::after {
			height: 57%;
			width: 1px;
			background: #fff;
			right: -7px;
			content: "";
			position: absolute;
		}
		.support_desk::before {
			transform: rotate( -25deg );
			top: -2px;
		}
		.support_desk::after {
			transform: rotate( 25deg );
			bottom: -2px;
		}
		.support_desk p {
			color: #fff;
			font-weight: 600;
		}
		.support_desk p:nth-of-type(1) { font-size: 18px; }
		.support_desk p:nth-of-type(2) { font-size: 14px; }
	.copyright {
		font-family: 'Cabin', sans-serif;
		color: #fff;
		font-size: 12px;
		line-height: 30px;
		text-align: right;
	}
    /************ pagetop *************/
    #pagetop {
        position: fixed;
        bottom: 65px;
        right: 20px;
        width: 49px;
        height: 49px;
        z-index: 1000;
    }
		#pagetop:hover {
			opacity: 0.5;
		}

}
/* ******************************************* */
/*          Footer SP
/* ******************************************* */
@media(max-width:736px){
	#footer {
		background: #509315;
		background-image: url('/images/bg_footer.png');
		background-repeat: repeat-x;
		background-position: 0% 100%;
		padding: 10px 0px 60px;
	}
	#footer .logo {
		text-align: center;
	}
	#fnav {
		color: #fff;
		margin-bottom: 20px;
	}
		#fnav ul {
			text-align: center;
			margin: 20px auto;
			font-size: 0px;
		}
		#fnav ul li {
			margin: 10px auto;
			font-size: 14px;
			line-height: 1.0;
		}
		#fnav ul li a {
			color: #fff;
			text-decoration: none;
		}
	.footer_tel {
		text-align: center;
	}
		.footer_tel > img {
			width: 70%;
			max-width: 240px;
			margin: 0 auto;
		}
	.support_desk {
		position: relative;
		line-height: 1.4;
		padding: 4px 10px;
		border: 1px solid #fff;
		border-radius: 5px;
		margin: 10px auto 25px;
	}
		.support_desk p {
			color: #fff;
			font-weight: 600;
		}
		.support_desk p:nth-of-type(1) { font-size: 18px; }
		.support_desk p:nth-of-type(2) { font-size: 14px; }
	.copyright {
		font-family: 'Cabin', sans-serif;
		color: #fff;
		font-size: 10px;
		line-height: 15px;
		text-align: center;
		margin: 25px auto 10px;
	}
    /************ pagetop *************/
    #pagetop {
        position: fixed;
        bottom: 10px;
        right: 10px;
        width: 64px;
        height: 64px;
        z-index: 1000;
        opacity: 0.7;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          汎用パーツ PC
/* ******************************************* */
@media(min-width:737px){
	.mailcheck,
	.mailform {
		margin: 0 auto 60px;
		text-align: center;
	}
	.mailend {
		margin: 0 auto 100px;
		text-align: center;
	}
	.mailcheck .confirmation,
	.mailend .confirmation {
		line-height: 1.6;
	}
	.mailform table {
		width: 800px;
		margin: 40px auto;
	}
	.mailform table tr {
		display: block;
	}
	.mailform table th {
		margin: 20px 0px 8px;
		display: block;
	}
	.mailform table td {
		margin: 8px 0px 40px;
		display: block;
	}

	.mailcheck table {
		width: 800px;
		margin: 40px auto;
	}
	.mailcheck table th {
		padding: 20px 15px;
		text-align: center;
		font-weight: bold;
		width: 25%;
	}
	.mailcheck table td {
		padding: 20px 15px;
		text-align: left;
		width: 75%;
	}
	.mailform input[type="text"] {
		width: 800px;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.mailform label[type="radio"] {
		display: block;
		margin: 16px auto;
		padding-left: 10px;
	}
	.mailform label[type="check"] {
		display: block;
		margin: 16px auto;
		text-align: center;
	}
	.mailform textarea {
		width: 800px;
		height: 200px;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		width: 400px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 12px;
		border: 5px double #e3a53c;
		background: #e3a53c;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Noto Sans Japanese", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="submit"] {
		margin-right: 20px;
	}
	.mailcheck input[type="submit"]:hover,
	.mailform input[type="submit"]:hover {
		background: #fff;
		color: #e3a53c;
	}
	.mailcheck input[type="button"][value="戻る"] {
		width: 400px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 12px;
		border: 5px double #999;
		background: #999;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Noto Sans Japanese", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="button"][value="戻る"]:hover {
		background: #fff;
		color: #999;
	}
	.needs, .err { color: #df4e45; }
}
/* ******************************************* */
/*          汎用パーツ SP
/* ******************************************* */
@media(max-width:736px){
	.mailcheck,
	.mailform {
		margin: 0 auto;
		text-align: center;
	}
	.mailend {
		margin: 0 auto 50px;
		text-align: center;
	}
	.mailcheck .confirmation,
	.mailend .confirmation {
		line-height: 1.6;
	}
	.mailform table {
		width: 100%;
		margin: 40px auto;
	}
	.mailform table tr {
		display: block;
	}
	.mailform table th {
		margin: 10px 0px 8px;
		display: block;
	}
	.mailform table td {
		margin: 8px 0px 20px;
		display: block;
	}

	.mailcheck table {
		width: 100%;
		margin: 20px auto;
	}
	.mailcheck table th {
		padding: 20px 15px;
		text-align: center;
		font-weight: bold;
		width: 25%;
	}
	.mailcheck table td {
		padding: 20px 15px;
		text-align: left;
		width: 75%;
	}
	.mailform input[type="text"] {
		width: 100%;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.mailform label[type="radio"] {
		display: block;
		margin: 16px auto;
		padding-left: 10px;
	}
	.mailform label[type="check"] {
		display: block;
		margin: 16px auto;
		text-align: center;
	}
	.mailform textarea {
		width: 100%;
		height: 150px;
		margin: 8px auto 8px;
		border-radius: 10px;
		padding: 12px;
		border: 1px solid #666;
	}
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		width: 90%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 8px;
		border: 5px double #e3a53c;
		background: #e3a53c;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Noto Sans Japanese", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="submit"] {
		margin-right: 10px;
	}
	.mailcheck input[type="button"][value="戻る"] {
		width: 90%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 12px;
		border: 5px double #999;
		background: #999;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Noto Sans Japanese", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="button"][value="戻る"]:hover {
		background: #fff;
		color: #999;
	}
	.needs, .err { color: #df4e45; }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Breadcrumb PC
/* ******************************************* */
@media(min-width:737px){
    #breadcrumb {
        font-size: 12px;
        line-height: 1.0em;
        color: #3D3D3D;
		background: #e4f1df;
		padding: 12px 0px;
    }
    #breadcrumb ul {
        display: block;
        text-align: left;
    }
    #breadcrumb ul li {
        display: inline;
        padding: 0em 0em;
    }
    #breadcrumb ul li:nth-of-type(n+2)::before{
        display: inline;
        text-align: center;
        content: ">";
        color: #509315;
        width: 18px;
        height: 12px;
        padding: 0em 0.5em;
    }
    #breadcrumb ul li a {
        color: #509315;
        text-decoration: none;
    }
    #breadcrumb ul li a:hover{
        color: #509315;
        text-decoration: underline;
    }
}
/* ******************************************* */
/*          Breadcrumb SP
/* ******************************************* */
@media(max-width:736px){
    #breadcrumb {
    	padding: 2vw 0vw;
        font-size: 12px;
        line-height: 24px;
		background: #e4f1df;
        color: #3D3D3D;
    }
    #breadcrumb ul {
        display: block;
        text-align: left;
    }
    #breadcrumb ul li {
        display: inline;
        padding: 0em 0em;
    }
    #breadcrumb ul li:nth-of-type(n+2)::before{
        display: inline-block;
        text-align: center;
        content: ">";
        color: #509315;
        width: 18px;
        height: 12px;
        padding: 0em 0.5em;
    }
    #breadcrumb ul li a {
        color: #509315;
        text-decoration: none;
    }
}
.iconlist {
	display: flex;
	justify-content: space-between;
	margin: 0 auto 1rem;
}
.iconlist .icon { text-align: center; }
.iconlist .icon i {
	color: #fff;
	background: #509315;
	width: 80px; height: 80px; line-height: 80px; text-align: center;
	font-size: 60px;
	border-radius: 80px;
}
.iconlist .icon p {
	font-weight: bold;
	margin: 8px auto;
}
@media(max-width:736px){
	.iconlist .icon i {
		width: 15vw; height: 15vw; line-height: 15vw; text-align: center;
		font-size: 10vw;
		border-radius: 15vw;
	}
}
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          PC SP 共通（拡張）
/* ******************************************* */
.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.alp-gothic {
    font-family: 'Century Gothic', 'Quicksand', sans-serif;
}
.italic { font-style: italic; }
.add-relative { position: relative; }
.tx_red { color: #CF000D; }
.tx_blue { color: #1A5FAD; }
.hover_white:hover { opacity: 0.75; }


/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          iframe
/* ******************************************* */
.googlemap_wrap{
	position: relative;
	padding-bottom: 88%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-bottom: 40px;
}
.googlemap_wrap img.fitimage{
	max-width: 900px;
}
.googlemap_wrap iframe,
.googlemap_wrap object,
.googlemap_wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.nakajitsu_end {
	width: 90vw;
	height: 90vh;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.nakajitsu_end img { padding: 20px; margin-bottom: 20px; }
.nakajitsu_end p {
	text-align: center;
	line-height: 1.8;
	margin-bottom: 1.5em;
	font-size: 24px;
}