@charset "utf-8";
/*-----------------------------------
	base.css 20220511
-----------------------------------*/
:root {
  --bs-green: #009e40;
  --bs-white: #ffffff;
}


html {
  font-size: 62.5%; /* 10px; */
}

body {
	font-size: 1.7em;
	min-height: 100vh;
}

/*! jpn.css for Bootsrap4 | MIT License | Copyright 2017 @kokushing */
@font-face {
  font-family: YuGothicMedium;
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}

html {
  line-height: 1.15;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic", YuGothic, YuGothicMedium, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 2em;
	/*line-height: 1.7;*/
}

h1 {
	font-size: 3rem;
	font-weight: bold;
	line-height: 3rem;
}
@media screen and (min-width: 768px) {
    h1 {
        font-size: 4rem;
        line-height: 4rem;
    }	
}
/*-----------------------------------
	adjust
-----------------------------------*/
a.link_text {
	color: var(--bs-green);
	text-decoration: none;
}
a.link_text:hover {
	background-color: #f4f4f4;
	text-decoration: underline;
	color: #009966;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

/*-----------------------------------
	container
-----------------------------------*/
.container{
      margin: 0 auto;
      width: 100%;
}
@media screen and (min-width: 768px) {
.container{
      width: 100%;
}
}
@media screen and (min-width: 1200px) {
.container{
     max-width: 120rem;
    }
}


/*-----------------------------------
	header
-----------------------------------*/

/*-----------------------------------
	footer
-----------------------------------*/

/*-----------------------------------
	logo
-----------------------------------*/
#logo_area {
	height: 3.6rem;
}
#logo_area img {
	width: auto;
	height: 3rem;
	vertical-align: middle;
}
@media screen and (min-width: 768px) {
    #logo_area {
        height: 6rem;
    }
    #logo_area img {
        width: auto;
        height: 4.4rem;
    }	
}
/*-----------------------------------
	head_image
-----------------------------------*/
#head_area img {
	width: 100%;
	height: auto;
}
#head_area img#head_pc {
	display: none;
}
@media screen and (min-width: 768px) {
    #head_area img#head_pc {
        display: block;
    }
    #head_area img#head_sp {
        display: none;
    }
}
/*-----------------------------------
	lead
-----------------------------------*/
#lead_area {
	margin-top: 3rem;
}

/*-----------------------------------
	main
-----------------------------------*/
.text_area {
	margin: 0 2rem;	
}
@media screen and (min-width: 768px) {
    .text_area {
        margin: 0 3rem;
    }	
}

.text_blue h1{
	color: var(--bs-green);	
	background-color: var(--bs-white);	
}
.text_blue p span{
	font-weight: bold;
	color: var(--bs-white);	
}
.text_white h1 {
	color: var(--bs-white);	
	background-color: var(--bs-green);
}
.text_white p span{
	font-weight: bold;
	color: var(--bs-green);	
}

.text_blue h1,
.text_white h1 {
	margin: 0 0 1rem 0;
	padding: 0.5rem;
	display: inline-block;
	letter-spacing: 0.1rem;
}
.text_blue p span,
.text_white p span {
	padding: 0.2rem;	
}
/*LEVOとは？*/
#main_area_1 {
	margin-top: 8rem;
	padding-bottom: 1rem;
	border: 3px solid var(--bs-green);	
}
/*
#main_area_1 .text_area > div {
	padding: 0.5rem 1rem;
	margin-bottom: 1.5rem;
	background-color: rgba(255,255,255,0.7)
}
*/

#main_area_1 h1 {
	margin-top: -2rem;
	margin-bottom: 2rem;
	margin-left: 2rem;
	margin-right: 2rem;
	font-size: 3rem;
}
#main_area_1 .text_area {
	display:flex;
	flex-direction: column;
}
@media screen and (min-width: 1000px) {
    #main_area_1 .text_area {
        flex-direction: row;
    }	
	#main_area_1 h1 {
		font-size: 3.6rem;
	}
	#main_area_1 .image_box {
		width: 500px;
		height: auto;
		margin-right: 1rem;
	}
	#main_area_1 .image_box img {
		width: 500px;
		height: auto;
	}
}
@media screen and (max-width: 999px) {
#main_area_1 .image_box img {
    width: 100%;
	height: auto;
}
}

#main_area_1 p {
	margin-bottom: 1.5rem;
}
#main_area_1 p span {
	color: var(--bs-green);	
}
.bikou_area {
	font-size: 1.5rem;
}
.bikou_area p {
	margin-block-end: 0em;
}
.bikou_area ul {
	margin: 0 auto;
}

/*banner*/
.banner_area {
	margin: 5rem auto;
	text-align: center;
}
.banner_area img {
	width: 80%;
	height: auto;
	border: solid 0.3rem var(--bs-green);
}
.banner_area img:hover {
	opacity: 0.8;
}
@media screen and (min-width: 768px) {
    .banner_area img {
        width: 38rem;
    }	
}


/*Q&A*/
#qa_person {
	display: flex;
	flex-direction: column-reverse;
	background-color: var(--bs-green);
}
#qa_person img {
    width: 100%;
	height: auto;
}

@media screen and (min-width: 1200px) {
    #qa_person {
		height: 33rem;
    	flex-direction: row;
    }
	#qa_person img {
		height: 33rem;
		width: auto;
	}
}

#qa_person > div {
	display: flex;
	align-items: center;
}
#qa_person .sub_box {
	padding: 0 4rem;
	display: inline-block;
}

#qa_person h1,
#qa_person h2 {
	display: inline-block;
	color: var(--bs-green);	
	background-color: var(--bs-white);		
}

#qa_person h1:first-child {
	margin-right: 3rem;
}
@media screen and (max-width: 540px) {
#qa_person h1:first-child{
		margin-bottom:0;
	}
}

#qa_person p {
	color: var(--bs-white);		
}
#qa_person h1 {
	padding: 0.2rem;
	font-size: 3rem;
}
#qa_person h2 {
	margin: 0 0 0.5rem;;
	font-size: 2rem;
	line-height: 2.2rem;
}
@media screen and (min-width: 768px) {
    #qa_person h1 {
        padding: 0.5rem;
        font-size: 3.6rem;
    }
    #qa_person h2 {
        margin: 0 0 0.5rem;;
        font-size: 2.1rem;
    }	
}

.qa_area {
	margin-top: 4rem;
}
.qa_title {
	position: relative;
	margin-left: 2rem;
	display: inline-block;
	color: var(--bs-white);	
	background-color: var(--bs-green);	
	z-index: 100;
}
.qa_title h1 {
	display: inline-block;
	margin: 0;
	padding-left: 5rem;
	text-indent: -3.5rem;
	font-size: 3rem;
	font-weight: bold;
	line-height: 3.2rem;
}
@media screen and (min-width: 768px) {
.qa_title h1 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 3.3rem;
	}
}
.qa_title h1 span {
	margin-right: 0.5rem;
}
.qa_title h1 span::before {
	content: "Q.";
}


.qa_contents {
	margin-top: -2rem;
	z-index: -100;
	display: flex;
	flex-direction: column;
}
.qa_contents h3 {
	color: var(--bs-green);
	margin-bottom: 1rem;
	line-height: 1.2;
}
.qa_contents h3 span{
	font-size: 0.8em;
}
.qa_image img{
	width: 100%;
	height: auto;
}
.qa_area .qa_a {
    padding: 0 1rem 0;
}
@media screen and (min-width: 1200px) {
    .qa_contents {
        margin-top: -2rem;
        z-index: -100;
        display: flex;
        flex-direction: row;
    }
    .qa_image img {
        width: 45rem;
		height: auto;
		vertical-align: top;
    }
    .qa_area .qa_a {
        padding: 2rem 2rem 0 3rem;
    }
	.qa_area.qa_2 .qa_a {
        padding: 2rem 3rem 0 2rem;
    }
}


.qa_area .qa_a p span::before {
	content: "A.";
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--bs-green);
}
.qa_area .qa_a p span {
	margin-right: 2rem;
}



.qa_area.qa_5 .qa_image div {
	position: relative;
	width: 100%;
}
.qa_area.qa_5 .qa_image div {
	margin-top: 5rem;
}
.qa_area.qa_5 .qa_image div:first-child {
	margin-top: 0;
}

.qa_area.qa_5 .qa_image div {
	margin-top: 5rem;
}
.qa_area.qa_5 .qa_image div:first-child {
	margin-top: 0;
}
.qa_area.qa_5 .qa_image p {
	display: inline-block;
	position: absolute;
	margin: 0;
	padding: 0.6rem 1rem 0.7rem;
	background-color:  var(--bs-green);
	font-size: 1.7rem;
	font-weight: bold;
	color: var(--bs-white);
	bottom: -2rem;
	right: 0;
	line-height: 1.7rem;
}



ol.qa_list {
	margin: -1.5rem 0 1.5rem;
	list-style-type: none;
}
.qa_area .qa_a ol.qa_list li {
	margin-top: -1.5rem;
	margin-bottom: 0;
	line-height: 1.4;
}
.qa_area .qa_a ol.qa_list li span {
	margin-right: 0.5rem;
}



/*message*/
#message_area {
	display: flex;
	flex-direction: column;
	margin-top: 4rem;
	padding: 2rem 2rem 1rem;	
	width: 90%;
	background-color: var(--bs-green);
	color: var(--bs-white);
}
@media screen and (min-width: 768px) {
    #message_area {
        padding: 3rem 3rem 1rem;
		width: 100%;
    }	
}

#message_area.text_blue h1 {
	display: block;
	margin: 0 0 1rem;
	line-height: 1;
	font-size: 2.1rem;
	letter-spacing: 0.1rem;
	background-color: transparent;
	color: var(--bs-white);
}
#message_area h2 {
	display: inline-block;
	margin: 0 0 2rem;
	padding: 0.5rem 0.5rem 0.6rem;
	line-height: 1;
	font-size: 3.2rem;
	background-color: var(--bs-white);
	color: var(--bs-green);
	letter-spacing: 0.1rem;
}

#message_area .contact_area {
	margin: 3rem 0;
	text-align: center;
}
#message_area .contact_area div {
	display: inline-block;
	padding: 1rem;
	background-color: var(--bs-white);
	color: var(--bs-green);
}
#message_area .contact_area div span {
	color: var(--bs-green);
	font-weight: bold;
}
@media screen and (max-width: 500px) {
	#message_area .contact_area div span {
		display: block;
	}	
}
#message_area .contact_area div span:first-child {
	margin-right: 2rem;
}

#message_area .contact_area div h3,
#message_area .contact_area div h4,
#message_area .contact_area div p{
	margin: 0;	
}


