@charset 'UTF-8';

*,input,textarea {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	font-style: normal;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
ul {
	list-style: none;
}
html,
body {
	width: 100%;
	position: relative;
	overflow-x: hidden;
}
img {
	max-width: 100%;
	vertical-align: middle;
}
a {
	transition: .3s;
	color: #000;
}
a:hover {
	color: #F00;
}
a img {
	transition: opacity .3s;
}
a:hover img {
	opacity: .7;
}
.full {
	width: 100% !important;
}
.center {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
.right {
	margin-left: auto !important;
	margin-right: 0 !important;
	text-align: right !important;
}
.left {
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
}
.b {
	font-family: 'BIZ UDPGothic', sans-serif;
	font-weight: bold;
}
.n {
	font-family: 'Noto Sans JP', sans-serif;
}

header,
main {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

.wrapper {
	position: relative;
	width: 1180px;
	max-width: 98.33%;
	margin: 0 auto;
}

header {
	position: fixed;
	width: 100%;
	background: rgba(255,255,255,.9);
	z-index: 100;
}
header .wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 78px;
}
header .wrapper h1 {
	position: relative;
	z-index: 1;
	width: 280px;
}
#headline .wrapper h1 img {
	max-width: 89.444vw;
}
header .wrapper nav .toggle {
	display: none;
}
header .wrapper nav .gNavi {
	display: flex;
	align-items: center;
}
header .wrapper nav ul li {
	line-height: 16px;
}
header .wrapper nav ul li + li {
	margin-left: 16px;
	padding-left: 16px;
	border-left: 2px solid #A3A3A3;
}
header .wrapper nav ul li a {
	text-decoration: none;
}
footer {
	padding: 70px 0 0;
	background: #359239;
}
footer h1 {
	text-align: center;
}
footer h1 img {
	max-width: 	51.666vw;
}
footer .copyright {
	padding: 15px 0;
	text-align: center;
	color: #FFF;
	font-size: 16px;
}

main {
	margin-top: 78px;
}
main section {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 70px 0;
}
main section.green { background: #359239; }
main section.gray  { background: #EEEEEE; }

main section .wrapper h2 {
	margin: 0 auto;
	line-height: 1em;
	font-size: 54px;
	font-family: 'BIZ UDPGothic', sans-serif;
	text-align: center;
	color: #EDF0EF;
}
main section.green .wrapper h2 { color: #69A26C; }
main section.gray  .wrapper h2 { color: #FFFFFF; }
main section .wrapper h3 {
	text-align: center;
}
main section .wrapper h3,
main section .wrapper h2 span {
	display: block;
	line-height: 22px;
	margin-top: 20px;
	font-size: 22px;
	font-weight: normal;
	color: #076334;
}
main section.green .wrapper h3,
main section.green .wrapper h2 span {
	color: #FFF;
}
main section.gray .wrapper h3,
main section.gray .wrapper h2 span {
	color: #000;
}

#headline {
	background: url(../img/main_bg.jpg) center / cover no-repeat;
}
#headline .wrapper {
	max-width: 100%;
	height: 600px;
}
#headline .wrapper h1 {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}

#feature .wrapper ul {
	display: flex;
}
#feature .wrapper ul li {
	width: 400px;
	padding-top: 240px;
	text-align: center;
	background: center 100px no-repeat;
}
#feature .wrapper ul li:nth-of-type(1) { background-image: url(../img/feature_icon01.png); }
#feature .wrapper ul li:nth-of-type(2) { background-image: url(../img/feature_icon02.png); }
#feature .wrapper ul li:nth-of-type(3) { background-image: url(../img/feature_icon03.png); }
#feature .wrapper ul li h3 {
	margin: 32px auto 24px;
	font-size: 24px;
	color: #076334;
}
#feature .wrapper ul li p {
	font-size: 16px;
}

#flow .wrapper ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#flow .wrapper ul li {
	position: relative;
	width: 330px;
	height: 280px;
	margin-top: 56px;
	background-color: #FFF;
	border-radius: 15px;
}
#flow .wrapper ul li:before {
	position: absolute;
	width: 90px;
	text-align: center;
	line-height: 230px;
	color: #DAE6DB;
	font-size: 130px;
	font-weight: bold;
	font-family: 'BIZ UDPGothic', sans-serif;
}
#flow .wrapper ul li:nth-of-type(1):before { content: '1'; }
#flow .wrapper ul li:nth-of-type(2):before { content: '2'; }
#flow .wrapper ul li:nth-of-type(3):before { content: '3'; }
#flow .wrapper ul li:nth-of-type(4):before { content: '4'; }
#flow .wrapper ul li:nth-of-type(5):before { content: '5'; }
#flow .wrapper ul li:nth-of-type(6):before { content: '6'; }
#flow .wrapper ul li:after {
	position: absolute;
	top: 70px;
	right: 100px;
	content: '';
	width: 104px;
	height: 94px;
	background: center / contain no-repeat;
}
#flow .wrapper ul li:nth-of-type(1):after { background-image: url(../img/flow_icon01.png); }
#flow .wrapper ul li:nth-of-type(2):after { background-image: url(../img/flow_icon02.png); }
#flow .wrapper ul li:nth-of-type(3):after { background-image: url(../img/flow_icon03.png); }
#flow .wrapper ul li:nth-of-type(4):after { background-image: url(../img/flow_icon04.png); }
#flow .wrapper ul li:nth-of-type(5):after { background-image: url(../img/flow_icon05.png); }
#flow .wrapper ul li:nth-of-type(6):after { background-image: url(../img/flow_icon06.png); }
#flow .wrapper ul li h3 {
	margin: 0;
	padding-top: 20px;
	font-size: 22px;
	color: #076334;
	text-align: center;
}
#flow .wrapper ul li p {
	position: absolute;
	bottom: 0;
	height: 100px;
	margin: 0 25px;
	font-size: 14.5px;
	line-height: 25px;
}

#fee dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 743px;
	margin: 64px auto;
}
#fee dl dt {
	width: 302px;
	line-height: 58px;
	margin-top: 30px;
	background: #359239;
	border: 1px solid #359239;
	color: #FFF;
	text-align: center;
}
#fee dl dt .s {
	font-size: 10px;
	line-height: normal;
}
#fee dl dd {
	width: 441px;
	margin-top: 30px;
	padding-right: 20px;
	border: 1px solid #359239;
	color: #359239;
	text-align: right;
}
#fee dl dd .b {
	line-height: 58px;
	font-size: 32px;
}
#fee dl dt:first-of-type,
#fee dl dd:first-of-type {
	margin-top: 0;
}
#fee .base ul {
	width: 750px;
	margin: 0 auto;
}
#fee .base ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 90px;
	margin: 20px 0;
	padding: 0 15px 0 25px;
	color: #359239;
	background: #EDFBEE;
}
#fee .base ul li .title {
	line-height: 1.2em;
	font-weight: bold;
}
#fee .base ul li .title .repletion {
	color: #000;
	font-weight: normal;
	font-size: 12px;
}
#fee .base ul li .body .b {
	font-size: 32px;
}
#fee .base ul li.text {
	display: block;
	height: auto;
	padding: 0;
	color: #000;
	background: none;
}
#fee .base ul li.text p,
#fee .base ul li.text p a {
	line-height: 2em;
	font-size: 12px;
}
#fee .estimate {
	margin: 64px auto 0;
	width: 775px;
}
#fee .estimate .total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 450px;
	margin: 40px 0 25px;
	border-bottom: 3px solid #000;
	font-weight: bold;
}
#fee .estimate .total li:last-of-type {
	font-size: 12px;
}
#fee .estimate .total li:last-of-type .b {
	font-size: 24px;
}
#fee .estimate table {
	width: 100%;
	border-collapse: collapse;
}
#fee .estimate table tr:first-of-type th:nth-of-type(1) { width: 270px; }
#fee .estimate table tr:first-of-type th:nth-of-type(2) { width: 110px; }
#fee .estimate table tr:first-of-type th:nth-of-type(3) { width: 197px; }
#fee .estimate table tr:first-of-type th:nth-of-type(4) { width: 197px; }
#fee .estimate table tr th,
#fee .estimate table tr td {
	padding: 12px;
	border: 1px solid #BFBFBF;
	font-size: 16px;
}
#fee .estimate table tr th {
	background: #E5E5E5;
}
#fee .estimate table tr td.empty {
	border: 0;
}
#fee .estimate table tr:first-of-type th {
	font-weight: normal;
}
#fee .estimate table tr td:nth-of-type(n+2) {
	text-align: right;
}
#fee .estimate table tr td .unit {
	line-height: 1em;
	padding-left: 1.8em;
}
#fee .estimate p,
#fee .estimate p a {
	font-size: 14px;
}

#faq ul {
	margin: 40px auto;
}
#faq ul li {
	margin: 35px auto;
}
#faq ul li .q {
	position: relative;
	display: flex;
	align-items: center;
	height: 70px;
	overflow: hidden;
	background: #FFF;
	cursor: pointer;
	transition: opacity .3s;
}
#faq ul li .q:hover {
	opacity: .8;
}
#faq ul li .q .inner {
	position: relative;
	width: 100%;
	padding-left: 100px;
	padding-right: 50px;
	font-weight: bold;
	color: #359239;
}
#faq ul li .a {
	display: none;
	position: relative;
	overflow: hidden;
	background: #EDFBEE;
}
#faq ul li .a .inner {
	position: relative;
	padding: 20px 20px 20px 100px;
	font-size: 14px;
}
#faq ul li .q .inner:before,
#faq ul li .a .inner:before {
	position: absolute;
	left: 0;
	width: 100px;
	line-height: 68px;
	font-size: 92px;
	font-family: 'BIZ UDPGothic', sans-serif;
	font-weight: bold;
	color: #359239;
	text-align: center;
}
#faq ul li .q .inner:before {
	content: 'Q';
	top: 50%;
	transform: translateY(-50%);
}
#faq ul li .a .inner:before {
	content: 'A';
	top: 0;
}
#faq ul li .q .inner .i {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}
#faq ul li .q .inner .i:before,
#faq ul li .q .inner .i:after {
	content: '';
	position: absolute;
	left: -50%;
	top: -50%;
	width: 20px;
	height: 3px;
	background: #359239;
	transition: transform .5s;
}
#faq ul li .q .inner .i:before { transform: translate(-50%,-50%) rotateZ(180deg); }
#faq ul li .q .inner .i:after  { transform: translate(-50%,-50%) rotateZ( 90deg); }
#faq ul li .q .inner .i.active:before { transform: translate(-50%,-50%); }
#faq ul li .q .inner .i.active:after  { transform: translate(-50%,-50%); }

#news .caution {
	position: relative;
	display: flex;
	align-items: center;
	margin: 30px 0 60px;
	padding: 70px 0 60px 460px;
}
#news .caution:before {
	content: '';
	position: absolute;
	left: 0;
	display: block;
	width: 460px;
	height: 100%;
	background: url(../img/logo_v.png) center / contain no-repeat;
}
#news .caution .caution_inner {
	line-height: 30px;
	font-size: 16px;
}
#news .news {
	margin: 0 auto;
}
#news .news li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#news .news li + li {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid #D9D8D8;
}
#news .news li .date {
	width: 117px;
	line-height: 1em;
	padding-top: 9px;
	font-size: 14px;
}
#news .news li .category {
	width: 143px;
}
#news .news li .category span {
	display: inline-block;
	width: 113px;
	line-height: 1em;
	padding: 9px 0;
	text-align: center;
	color: #FFF;
	background: #359239;
	border-radius: 100px;
	font-size: 14px;
}
#news .news li .category .c1 { background: #FC8F02; }
#news .news li .category .c2 { background: #359239; }
#news .news li .category .c3 { background: #F00; }
#news .news li .category .c4 { background: #F00; }
#news .news li .category .c5 { background: #F00; }
#news .news li h3 {
	width: 920px;
	line-height: 1em;
	margin: 6px 0 28px;
	text-align: left;
	font-size: 18px;
	font-weight: bold;
	color: #000;
}
#news .news li .text {
	width: 920px;
	margin-left: 260px;
	font-size: 14px;
}
#news .news li .text p,
#news .news li .text p a {
	line-height: 32px;
	font-size: 15px;
}

#disclaimer ul {
	margin: 50px 200px 0;
	list-style: outside;
}
#disclaimer ul li {
	line-height: 30px;
	font-size: 14px;
}

#terms .terms_box {
	height: 280px;
	margin: 40px auto 0;
	padding: 20px;
	background: #FFF;
	overflow: auto;
}
#terms .terms_box h3 {
	margin: 50px auto 15px;
	text-align: left;
	font-weight: bold;
}
#terms .terms_box p,
#terms .terms_box p a {
	margin: 15px auto;
	line-height: 30px;
	font-size: 14px;
}

#contact .wrapper {
	width: 800px;
	color: #FFF;
}
#contact p,
#contact p a {
	margin: 30px auto;
	line-height: 30px;
	font-size: 14px;
}
#contact .button_list {
	display: flex;
	justify-content: space-between;
	width: 580px;
	margin: 30px auto 60px;
}
#contact .button_list li a {
	position: relative;
	display: block;
	width: 260px;
	line-height: 60px;
	background: #FFF;
	color: #359239;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	border-radius: 100px;
	border: 1px solid #FFF;
}
#contact .button_list li a:hover {
	background: #359239;
	color: #FFF;
}
#contact .button_list li a:after {
	position: absolute;
	top: 50%;
	right: 15px;
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 3px #359239;
	border-right: solid 3px #359239;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}
#contact .button_list li a:hover:after {
	border-color: #FFF;
}
#contact dl dt,
#contact dl dd,
#contact dl dd input[type='text'] {
	font-size: 14px;
}
#contact dl dt {
	margin-bottom: 5px;
	font-weight: bold;
}
#contact dl dt.required:after {
	content: ' ※';
	font-weight: normal;
}
#contact dl dt:nth-of-type(n+2) {
	margin-top: 20px;
}
#contact dl dd input[type='text'] {
	width: 100%;
	height: 50px;
	padding-left: 10px;
	border: 0;
	border-radius: 0;
}
#contact dl dd label {
	cursor: pointer;
	font-size: 14px;
}
#contact dl dd label:not(:last-of-type) {
	margin-right: 15px;
}
#contact dl dd label input[type='radio'] {
	margin-right: 5px;
}
#contact input[type=submit],
#contact input[type=button]{
	display: block;
	width: 360px;
	line-height: 80px;
	margin: 55px auto 0;
	background: #000;
	color: #FFF;
	font-weight: bold;
	border-radius: 100px;
	border: 1px solid #000;
	cursor: pointer;
	transition: .3s;
}
#contact  input[type=submit]:hover,
#contact  input[type=button]:hover{
	background: rgba(0,0,0,.5);
}

#company_information .wrapper {
	display: flex;
	justify-content: space-between;
}
#company_information .wrapper .wrapper_inner {
	width: 48.3%;
}
#company_information .box  + .box {
	margin-top: 40px;
}
#company_information .box h3 {
	margin: 0 auto 15px;
	text-align: left;
	color: #359239;
}
#company_information .box ul {
	padding: 25px;
	background: #FFF;
	border-radius: 15px;
	box-shadow: 0 0 10px rgba(0,0,0,.2);
}
#company_information .box ul li {
	display: flex;
}
#company_information .box ul li + li {
	margin-top: 5px;
}
#company_information .box ul li .title {
	width: 145px;
	line-height: 24px;
	font-weight: bold;
	font-size: 14px;
}
#company_information .box ul li p {
	width: 375px;
	padding-left: 10px;
}
#company_information .box ul li p,
#company_information .box ul li p a {
	line-height: 24px;
	font-size: 14px;
}
