html {
	font-size: 62.5%;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 400;
	font-style: normal;
}
:root {
  color-scheme: light;
}
.fixed_tel {
	display: none;
}
header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
}
.header_box {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 100%;
	margin: auto;
	background: #009139;
	z-index: 1;
}
.header_box_left {
	margin: 15px;
}
.header_box_left h1 {
	font-size: 1.2rem;
	font-weight: 400;
	color: #fff;
}
.header_box_left a {
	display: block;
	width: 100%;
	margin: 0;
	font-size: 2.6rem;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
}
.header_box_left a img {
	display: block;
	width: 100%;
	margin: 0;
}
.header_box_right {
	margin: 10px;
}
.header_box_right_right {
	width: 100%;
}
.header_box_right_right_p01 {
	font-size: 1.4rem;
	color: #fff;
}
.header_box_right_right_p02 {
	font-size: 3.3rem;
	font-family: "fot-udkakugoc80-pro", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 120%;
	color: #fff;
}
.header_box_right_right_p02 a {
	text-decoration: none;
}
#menu-btn-check {
    display: none;
}
nav {
	width: 100%;
	background: #fff;
	box-shadow: 0 2px 2px #BABABA;
}
nav ul {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	max-width: 1000px;
	margin: 0 auto;
}
nav ul li {
	position: relative;
	width: 20%;
}
nav ul li::after {
	position: absolute;
	top: 20%;
	right: 0;
	content: '';
	width: 1px;
	height: 70%;
	background: #707070;
}
nav ul li a {
	display: block;
	width: 100%;
	margin: 0;
	padding: .7rem 0;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
}

@media screen and (max-width:780px) {
	.fixed_contact {
	position: fixed;
	bottom: 0;
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
		width: 100%;
		z-index: 99;
	}
	.fixed_contact01 {
		display: block;
		width: 50%;
		padding: 7px 0;
		font-size: 1.6rem;
		font-weight: 700;
		text-align: center;
		background: #0A5AFF;
		text-decoration: none;
		letter-spacing: 1px;
		color: #fff;
	}
	.fixed_contact01 span {
		display: block;
		font-size: 1.2rem;
		font-weight: 400;
		letter-spacing: 0;
	}
.fixed_contact02 {
	bottom: 0;
	right: 0;
	display: block;
	width: 50%;
	padding: 16px 0;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	background: #FF9F0B;
	color: #fff;
	border: none;
    writing-mode: inherit;
	text-decoration: none;
	letter-spacing: 1px;
	border-radius: 0;
	z-index: 99;
	transition: .3s;
}
.header_box {
	border-top: 3px solid #009139;
}
.header_box_left h1 {
	font-size: 1.2rem;
}
.header_box_left a {
	font-size: 2rem;
}
.header_box_right {
	display: none;
}
	.menu-btn {
    position: fixed;
    top: 15px;
    right: 15px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 100;
    background-color: #fff;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #009139;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 90;
    background-color: #009139;
    transition: all 0.5s;/*アニメーション設定*/
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}
nav {
	width: 100%;
	background: none;
	box-shadow: none;
}
nav ul {
	width: 100%;
	background: none;
}
nav ul li {
	width: 100%;
	background: none;
}
nav ul li::after {display: none;
}
nav ul li a {
	width: 100%;
}
}
.header_img_bg {
	display: block;
	width: 100%;
	margin: 10rem auto 0;
	padding: 5rem 0 0;
	background: #f0f0f0;
}
.header_img {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.header_img_left {
	width: 33%;
}
.header_img_left img {
	width: 100%;
}
.header_img_right {
	width: 60%;
	margin-top: 3rem;
}
.header_img_right img {
	width: 100%;
}
.header_img_right p {
	margin-top: 3rem;
	font-size: 1.6rem;
}
.header_img_right_box {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	margin: 2rem auto 5px;
	border: 2px solid #707070;
	border-radius: 30px;
}
.header_img_right_box_left {
	width: 25%;
	padding: 3px 0;
	border-right:2px solid #707070;
	background: #fff61f;
	border-radius: 30px 0 0 30px;
}
.header_img_right_box_left p {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
}
.header_img_right_box_right {
	width: 75%;
	padding: 3px 0;
	background: #fff;
	border-radius: 0 30px 30px 0;
}
.header_img_right_box_right p {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: center;
}
@media screen and (max-width:780px) {
	
.header_img_bg {
	margin: 6rem auto 0;
}
.header_img {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.header_img_left {
	display: block;
	width: 50%;
	margin: 2rem auto 0;
}
.header_img_left img {
	width: 100%;
}
.header_img_right {
	width: 100%;
	margin-top: 0rem;
}
.header_img_right img {
	width: 100%;
}
.header_img_right p {
	margin-top: 2rem;
	font-size: 1.6rem;
	line-height: 180%;
}
.header_img_right_box {
	width: 100%;
	border: 1px solid #707070;
}
.header_img_right_box_left {
	border-right:1px solid #707070;
}
.header_img_right_box_left p {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
}
.header_img_right_box_right {
	width: 75%;
	padding: 3px 0;
	background: #fff;
	border-radius: 0 30px 30px 0;
}
.header_img_right_box_right p {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 400;
	text-align: center;
}
}
.top_service {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 5rem 0 7rem;
	background: #FBFFE4;
}
.top_service_kurashi_banner {
	display: block;
	width: 90%;
	max-width: 800px;
	margin: 0 auto 10rem;
}
.top_service_kurashi_banner a {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.top_service_kurashi_banner a:hover {
	opacity: .7;
}
.top_service_kurashi_banner a img {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.top_service_title h2 {
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
}
.top_service_box {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	max-width: 900px;
	margin: 2.5rem auto 0;	
}
.top_service_box_block {
	width: 20%;
}
.top_service_box_block img {
	display: block;
	width: 70%;
	margin: 0 auto;
}
.top_service_box_block h3 {
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
}
@media screen and (max-width:780px) {
	.top_service {
	padding: 5rem 0;
}
.top_service_kurashi_banner {
	margin: 0 auto 3rem;
}
.top_service_kurashi_banner a {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.top_service_kurashi_banner a:hover {
	opacity: .7;
}
.top_service_kurashi_banner a img {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.top_service_box_block {
	width: 50%;
	margin-bottom: 2.5rem;
}
}
.top_nayami {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 8rem 0 5rem;
}
.top_nayami_title h2 {
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
}
.top_nayami_title h2 span {
	font-size: 4rem;
	color: #dd0000;
}
.top_nayami_box {
	display: block;
	width: 90%;
	margin: 3rem auto;
	text-align: center;
}
.top_nayami_box ul {
	display: inline-block;
	text-align: left;
}
.top_nayami_box ul li {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: 700;
	list-style: circle;
}
.top_nayami_box ul li span {
	background:linear-gradient(transparent 60%, #ff6 60%);
}
@media screen and (max-width:780px) {
	
.top_nayami {
	padding: 5rem 0;
}
.top_nayami_title h2 {
	font-size: 2rem;
}
.top_nayami_title h2 span {
	font-size: 3rem;
}
.top_nayami_box {
	display: block;
	width: 90%;
	margin: 3rem auto 0;
	text-align: center;
}
.top_nayami_box ul li {
	font-size: 1.6rem;
}
}
.top_plan {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 5rem 0 8rem;
	background: #FBFFE4;
}
.top_plan_title h2 {
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
}
	.top_plan_title h2 br {
		display: none;
	}
.top_plan_box {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	max-width: 1200px;
	margin: 5rem auto 0;	
}
.top_plan_box_block {
	width: 31%;
	padding: 2rem;
	border: 3px solid #009139;
	border-radius: 20px;
	background: #fff;
}
.top_plan_box_block h3 {
	margin-bottom: .5rem;
	font-size: 2rem;
}
.top_plan_box_block p {
	font-size: 1.6rem;
}
@media screen and (max-width:780px) {
	.top_plan {
	padding: 5rem 0;
}
.top_plan_title h2 {
	font-size: 2.2rem;
	text-wrap: auto;
}
	.top_plan_title h2 br {
		display: block!important;
	}
.top_plan_box {
	width: 80%;
	margin: 2.5rem auto 0;	
}
.top_plan_box_block {
	width: 100%;
	margin-bottom: 2.5rem;
	padding: 2rem;
	border: 2px solid #009139;
}
.top_plan_box_block h3 {
	margin-bottom: .5rem;
	font-size: 1.8rem;
}
.top_plan_box_block p {
	font-size: 1.6rem;
}
}
.top_works {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 8rem 0;	
}
.top_works_box {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding: 4rem;
	background: #fff5f5;
	border: 4px solid #fdaaaa;
	border-radius: 20px;
}
.top_works_box_left {
	width: 40%;
}
.top_works_box_left img {
	width: 100%;
}
.top_works_box_left p {
	font-size: 1.2rem;
	text-align: right;
}
.top_works_box_right {
	width: 57%;
}
.top_works_box_right h2::before {
	content: '!';
    display: inline-block;
    width: 30px;
    height: 30px;
	margin-right: .5rem;
    color: #fff;
    text-align: center;
    aspect-ratio: 1 / 1;
    background: #fdaaaa;
    border-radius: 50%;
}
.top_works_box_right h2 {
	font-size: 2.5rem;
}
.top_works_box_right p {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	line-height: 180%;
}
@media screen and (max-width:780px) {
	
.top_works {
	padding: 5rem 0;	
}
.top_works_box {
	width: 80%;
	padding: 3rem;
	border: 2px solid #fdaaaa;
}
.top_works_box_left {
	width: 80%;
	margin: 0 auto;
}
.top_works_box_left img {
	width: 100%;
}
.top_works_box_left p {
	font-size: 1.2rem;
	text-align: right;
}
.top_works_box_right {
	width: 100%;
}
.top_works_box_right h2::before {
    width: 25px;
    height: 25px;
}
.top_works_box_right h2 {
	font-size: 2rem;
}
.top_works_box_right p {
	margin: 1rem 0;
	font-size: 1.6rem;
	line-height: 180%;
}
}
.top_message {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 5rem 0;
	background: #FBFFE4;
}
.top_message h2 {
	margin-bottom: 2rem;
	font-size: 2.5rem;
	font-weight: 700;
	color: #009139;
}
.top_message_box {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	flex-direction: row-reverse;
	width: 90%;
	max-width: 1000px;
	margin: 3rem auto 0;
}
.top_message_box_left {
	width: 58%;
}
.top_message_box_left p {
	font-size: 1.6rem;
	line-height: 170%;
}
.top_message_box_left p span {
	display: block;
	font-weight: 600;
	text-align: right;
}
.top_message_box_right {
	width: 36%;
}
.top_message_box_right img {
	width: 100%;
	border-radius: 20px;
}
@media screen and (max-width:780px) {
	.top_message {
		padding: 5rem 0;
}
.top_message h2 {
	font-size: 2.2rem;
}
.top_message_box {
	width: 80%;
	margin: 0 auto;
}
.top_message_box_left {
	width: 100%;
	padding-bottom: 0;
}
.top_message_box_left p {
	font-size: 1.6rem;
	line-height: 180%;
}
.top_message_box_left p span {
	display: block;
	font-weight: 600;
}
.top_message_box_right {
	width: 100%;
	margin-top: 2.5rem
}
.top_message_box_right img {
	display: block;
	width: 80%;
	margin: 0 auto;
}
}
footer {
	position: relative;
	padding: 100px 0 150px;
	background: #f4ffff;
}
.footer_box01 {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
}
.footer_box01_left {
	width: 50%;
}
.footer_box01_left iframe {
	width: 100%;
	height: 300px;
}
.footer_box01_right {
	width: 45%;
}
.footer_box01_right h2 {
	font-size: 2rem;
	margin-bottom: 10px;
}
.footer_box01_right p {
	font-size: 1.6rem;
}
.footer_bottom {
	position: absolute;
	bottom: 0;
	width: 100%;
}
@media screen and (max-width:480px) {
	footer {
	position: relative;
	padding: 50px 0 100px;
	background: #f4ffff;
}
.footer_box01 {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	max-width: 880px;
	margin: 0 auto;
}
.footer_box01_left {
	width: 100%;
}
.footer_box01_left iframe {
	width: 100%;
	height: 300px;
}
.footer_box01_right {
	width: 100%;
}
.footer_box01_right h2 {
	font-size: 2rem;
	margin:30px 0 10px;
}
.footer_box01_right p {
	font-size: 1.6rem;
}
.footer_bottom {
	position: absolute;
	bottom: 0;
	width: 100%;
}
}