*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

html {
  scrollbar-gutter: stable;
}

body{
	font-family: sans-serif;
	font-weight: 600;
	color: #000;
	width: 100%;
  	min-width: 100%;
  	margin: 0;
	padding: 0;
}

body.menu-open {
    position: fixed;
    left: 0;
    width: 100%;
    overflow: hidden;
}

li{
	list-style: none;
}

h1,h2,h3,h4,h5,dl,ul,p,dt,dd,li{
	margin: 0;
	padding: 0;
}

figure{
	margin: 0;
}


a{
	outline: none;
	color: #000;
}

.pc-bl {
  display: block;
}

.pc-nn,.slick-slide .pc-nn{
  display: none;
}



img {
	margin: 0px;
	padding: 0px;
	border: 0;
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

.gr{
	color: #007440;
}

.gr2{
	color: #55ad81;
}

.org{
	color: #e89e28;
}

#wrapper {
	width: 100%;
    margin: 0;
    position: relative;
    padding: 0;
    overflow: hidden;
	background: #f3f2e8;
}

.ind {
	text-indent: -1em;
	padding-left: 1em;
}

.ind2{
	text-indent: -2em;
	padding-left: 2em;
}

.ind3{
	text-indent: -3em;
	padding-left: 3em;
}

.ind4{
	text-indent: -0.85em;
	padding-left: 0.85em;
}
.ind5{
	text-indent: -1.7em;
	padding-left: 1.7em;
}

.ta_c{
	text-align: center;
}

.ta_r{
	text-align: right;
}

.mt_10{
	margin-top: 10px;
}

.mt_20{
	margin-top: 20px;
}

.mt_30{
	margin-top: 30px;
}

.mt_50{
	margin-top: 50px;
}

.mt_70{
	margin-top: 70px;
}

.mt_80{
	margin-top: 80px;
}

.mt_100{
	margin-top: 100px;
}

.mt_150{
	margin-top: 150px;
}

.mt_200{
	margin-top: 200px;
}

.mb_20{
	margin-bottom: 20px;
}

.mb_30{
	margin-bottom: 30px;
}

.mb_50{
	margin-bottom: 50px;
}

.mb_100{
	margin-bottom: 50px;
}
.mb_1l{
	margin-bottom: 1em;
}
.mr_10{
	margin-right: 10px;
}

.mr_20{
	margin-right: 20px;
}

.mr_30{
	margin-right: 30px;
}

.mr_50{
	margin-right: 50px;
}

.mr_100{
	margin-right: 100px;
}

.mr_200{
	margin-right: 200px;
}

.mr_250{
	margin-right: 250px;
}

.mr_280{
	margin-right: 280px;
}

.ml_10{
	margin-left: 10px;
}

.ml_20{
	margin-left: 20px;
}

.ml_30{
	margin-left: 30px;
}

.ml_50{
	margin-left: 50px;
}

.ml_60{
	margin-left: 60px;
}

.ml_100{
	margin-left: 100px;
}

.ml_150{
	margin-left: 100px;
}

.ml_210{
	margin-left: 210px;
}

.ml_300{
	margin-left: 300px;
}

.pt_20{
	padding-top: 20px;
}

.pt_30{
	padding-top: 30px;
}

.pt_50{
	padding-top: 50px;
}

.pt_100{
	padding-top: 100px;
}

.pt_200{
	padding-top: 200px;
}

.pb_20{
	padding-bottom: 20px;
}

.pb_50{
	padding-bottom: 50px;
}

.pb_100{
	padding-bottom: 100px;
}

.pl_20{
	padding-left: 20px;
}

.txt_box{
	padding: 0 15px;
}

.lh-1{
	line-height: 1.5;
}

.big{
	font-size: 1.6em;
	font-weight: bold;
}

.big2{
	font-size: 1.2em;
	margin-bottom:10px;
}
.big3{
	font-size: 1.4em;
}

.bld{
	font-weight: 800;
}
.small{
	font-size: 0.7em;
}

.small2{
	font-size: 0.8em;
}
.mdl {
	font-size: 0.9em;
}


.mb_10{
	padding-bottom: 10px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_40 {
	margin-bottom: 40px;
}

.w-860{
	width: 860px;
	margin: 0 auto;
}

.spbr {
		display: none;
}

.pc-nav {
	max-width: 720px;
    background: #fff;
    border-radius: 9999px;
    padding: 1em 3em;
    width: 60%;
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.3);
}

.pc-nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pc-nav li a {
	font-size: clamp(0.625rem, -0.486rem + 2.31vw, 1.25rem);
	font-weight: 800;
	color: #007440;
    transition: all 0.3s ease-out;
	opacity: 1;
    padding: 0 1em;
}

button {
	border: none;
	background: none;
	outline:none;
}
	
.fullscreenmenu{
	width: 100px;
    height: 100px;
	pointer-events: all;
}
	
.menu,.menu span {
	display: inline-block;
	-webkit-transition:all .4s;
	transition: all .4s;
	box-sizing: border-box;
}

.menu{
	position: fixed;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    z-index: 100000;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease-out;
    background: #55ad81;
}
	
.menu .bar{
	position: absolute;
	left: 25px;
	/*width: 50%;*/
	height: 2px;
	background-color: #fff;
	z-index: 10;
	/*transform: translate3d(-50%,-4px,0);*/
	/*-webkit-transform: translate3d(-50%,-4px,0);*/
}

.menu .menu-txt{
	font-size: 1em;
	font-weight: 700;
	color: #d92d35;
	position: absolute;
	left: 50%;
	transform: translate3d(-50%,0,0);
	-webkit-transform: translate3d(-50%,0,0);
}
	
.menu .menu-txt.active{
	font-size: 0;
	margin: 0;
	opacity: 0;
}
.menu span:nth-of-type(1) {
	top: 36px;
	width: 50%;
}

.menu span:nth-of-type(2) {
	bottom: 49px;
	width: 50%;
}
	
.menu span:nth-of-type(3) {
	bottom: 36px;
	width: 50%;
}
.menu.active span:nth-of-type(1) {
	transform: translateX(-50%)translateY(13px)rotate(30deg);
	background-color: #fff;
	width: 50px;
	left: 50%;
}

.menu.active span:nth-of-type(2) {
	display: none;
}
.menu.active span:nth-of-type(3) {
	transform: translateX(-50%)translateY(-13px)rotate(-30deg);
	background-color: #fff;
	width: 50px;
	left: 50%;
}


.nv-list-wrap{
	width: 90%;
    margin: 18vh auto 0;
    background: #fff;
    border-radius: 20px;
    padding: 5%;
}

.sp-nav {
    background: #fff;
    border-radius: 9999px;
    width: 100%;
}

.sp-nav ul {
	display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

.sp-nav li a {
	font-size: 20px;
    font-weight: 800;
    color: #007440;
    transition: all 0.3s ease-out;
    opacity: 1;
    padding: 0.5em 1em;
    width: 100%;
    display: block;
}
.sp-nav li {
	padding: 1em 0;
    width: 100%;
    text-align: center;
}
.sp-nav li:nth-child(2) {
	border-bottom: 2px dashed #b3b3b3;
	border-top: 2px dashed #b3b3b3;
}


.ib-c {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}

.as_c{
	align-self: center;
	-ms-flex-flex-item-align: center;
	-webkit-align-self: center;
}

.jc_c{
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    justify-content:center;
}

.as_fe{
	-ms-flex-item-align: end;
	align-self: flex-end;
}

.p_r{
	position: relative;
}
.p_a{
	position: absolute;
}




/*以下個別*/


.mb1p{
	margin-bottom: 1%;
}
.mb2p{
	margin-bottom: 2%;
}
.mb3p{
	margin-bottom: 3%;
}
.mb5p{
	margin-bottom: 5%;
}
.mb6p{
	margin-bottom: 6%;
}
.mb7p{
	margin-bottom: 7%;
}
.mb8p{
	margin-bottom: 8%;
}
.mb9p{
	margin-bottom: 9%;
}
.mb10p{
	margin-bottom: 10%;
}
.mb12p{
	margin-bottom: 12%;
}
.mb15p{
	margin-bottom: 15%;
}
.mt1p{
	margin-top: 1%;
}
.mt2p{
	margin-top: 2%;
}
.mt3p{
	margin-top: 3%;
}
.mt5p{
	margin-top: 5%;
}
.mt10p{
	margin-top: 10%;
}
.mt15p{
	margin-top: 15%;
}

header{
	position: absolute;
    height: auto;
    display: flex;
    justify-content: center;
    padding: 4% 0;
    width: 100%;
    z-index: 4;
    opacity: 1;
    background: #5aac85;
    align-items: center;
}

header a{
	text-decoration: none;
}



.pc-header{
	width: 100%;
    padding: 0 2%;
    position: fixed;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.pc-header>.cont-box{
	position: relative;
}


.pc-header h1{
}
.header-logo{
    display: flex;
    align-items: center;
    max-width: 200px;
    width: 14%;
    pointer-events: all;
}

.header-logo img{
	width: 100%;
}

.header-logo a{
    transition: 0.3s ease-in-out all;
	opacity: 1;
	display:block;
}



.pc-menu{
	width: 780px;
	/* transform: translate(0,250px); */
	align-self: center;
	/* position: absolute;
	bottom: -100px;
	right: 0; */
}

.pcHead .pc-menu{
	/* transform: translate(0,0); */
	position: static;
}

.pc-menu a,.pc-header h2 a{
	transition: 0.3s ease-in-out all;
    opacity: 1;
}


.main-visual{
	width: 100%;
    position: relative;
	margin: 0 auto 5%;
}
/*.main-visual p{
	position: absolute;
	text-align: center;
	top: 70%;
	left: 50%;
	transform: translateX(-50%);
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	line-height: 1.5;
}
.pc-tit{
	position: absolute;
	max-width:1000px; 
	width: 55%;
	top: 10%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.pc-tit2{
	position: absolute;
	max-width:620px; 
	width: 35%;
	top: 30%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
.pc-bg{
	position: relative;
	z-index: -1;
}*/


.content-box {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
	padding: 0 0 5%;
	position: relative;
}
.content-box p{
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	line-height: 1.6;
}
.ta-c{
	text-align: center;
}
.ta-c2{
	text-align: center;
	margin-bottom: 10%;
}
.side-line{
	display: flex;
	flex-wrap: nowrap;
	justify-content: center; 
	align-items: center;
	border:0;
	font-weight: 700;
	font-size: clamp(0.938rem, 0.733rem + 1.02vw, 1.5rem);
	margin: 0 auto 5%;
}

.side-line:before,
.side-line:after {
	content: '';
	width: 24px;
	height: 4px;
	background-color:currentColor !important;
	position: unset;
	border: unset;
	margin-left: unset;
	margin-right:unset;
	flex-grow: unset;
	border-radius: 2px;
}
.side-line:before{
	margin-right:14px;
}
.side-line:after {
	margin-left:14px;
}

.tab_box {
	position: relative;
	width: 100%;
	margin: 10% auto 10%;
}

.tab_box .btn_area {
	margin:0;
	display: flex;
	align-items: flex-end;
}

.tab_box .tab_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 50%;
	color: #fff;
	height: 110px;
	background: #818281;
	text-align: center;
	cursor: pointer;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	border-radius: 10px 10px 0 0;
	gap: 10px;
	position: relative;
}

.tab_box .tab_btn.active {
    background:#55ad81;
    color:#fff;
	height: 130px;
}
.tab_box .tab_btn .tab-h {
    font-size: clamp(0.875rem, 0.557rem + 1.59vw, 1.75rem);
	line-height: 1.3;
}
.tab_box .tab_btn.active .tab-h {
    font-size: clamp(1.063rem, -1.049rem + 4.4vw, 2.25rem);
	font-weight: 800;
	line-height: 1.3;
}

.tab_box .panel_area {
    border: solid 6px #55ad81;
    padding: 5%;
	background: #fff;
	border-radius: 0 0 12px 12px;
}

.tab_box .tab_panel {
    opacity:0;
    visibility:hidden;
    position:absolute;
    width:100%;
    pointer-events:none;
}
.tab_box .tab_panel.active {
    opacity:1;
    visibility:visible;
    position:relative;
    pointer-events:auto;
}

.balloon {
	position:absolute;
    left:50%;
    bottom:calc(100% + 20px);
    transform:translateX(-50%);
    min-width:240px;
    padding:7px 12px;
    color:#fff;
    background:#f7931e;
    border:3px solid #f7931e;
    border-radius:10px;
    white-space:nowrap;
    z-index:1;
	pointer-events: none;
}


.balloon:before {
  content:"";
    position:absolute;
    top:100%;
    left:30%;
    transform:translateX(-50%);
    border:12px solid transparent;
    border-top-color:#f7931e;
}


.balloon p {
  margin: 0;
  padding: 0;
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
	color: #fff;
}

.opc{
    transition: 0.3s ease-in-out all;
	opacity: 1;
}


/*14px*/
.mt-s {
	font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem)!important;
}
/*16px*/
.mt-ex {
	font-size: clamp(0.875rem, 0.653rem + 0.46vw, 1rem)!important;
}

/*16px*/
.mt-ex2 {
	font-size: clamp(0.8rem, 0.444rem + 0.74vw, 1rem)!important;
}

/*18px*/
.mt-m {
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem)!important;
}

/*20px*/
.mt-l {
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem)!important;
}

/*20px*/
.mt-l2 {
	font-size: clamp(0.938rem, 0.382rem + 1.16vw, 1.25rem)!important;
}


/*26px*/
.mt-xl{
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem)!important;
}

/*28px*/
.mt-xxl{
	font-size: clamp(1.188rem, 0.983rem + 1.02vw, 1.75rem)!important;
}

/*メリット30px*/
.mt-xxxl{
	font-size: clamp(1.563rem, 1.449rem + 0.57vw, 1.875rem)!important;
}

.icon-set{
	text-align: center;
	position: relative;
}

.icon-set::before {
  content: "";
  display: inline-block;
  width: 65px;
  height: 74px;
  background-image: url("../img/pict1.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 20px;
}

.icon-set::after {
  content: "";
  display: inline-block;
  width: 75px;
  height: 90px;
  background-image:  url("../img/pict2.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-left: 20px;
}
.tab_panel .qst{
	text-decoration: underline;
	text-align: center;
	line-height: 1.8;
	margin: 5% auto;
}

.bzy{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    border: 0;
	margin: 5% auto;
}

.bzy > span{
    text-align: center;
}

.bzy::before,
.bzy::after{
    content: "";
    width: 3px;          /* 線の太さ */
    height: 2.8em;       /* 文字の高さに合わせる */
    background: currentColor;
    flex-shrink: 0;
}

.bzy::before{
    transform: rotate(-30deg);
}

.bzy::after{
    transform: rotate(30deg);
}

.t-marker {
    background:linear-gradient(transparent 60%, #ffff00 60%);
}

.messe-wrap{
	max-width: 700px;
	width: 90%;
	margin: 0 auto 5%;
	position: relative;
	display: flex;
	flex-direction: column;
	gap:40px;
}

.messe-l{
	text-align: left;
}
.messe-l:nth-child(1) img{
	width: 520px;
}
.messe-l:nth-child(3) img{
	width: 509px;
}
.messe-r{
	text-align: right;
	margin-left: auto;
}
.messe-r:nth-child(2) img{
	width: 543px;
}
.messe-r:nth-child(4) img{
	width: 501px;
}


.cont-wrap{
	width: 100%;
	margin: 0 auto 15%;
}
.cont-wrap:nth-last-of-type(2){
	width: 100%;
	margin: 0 auto;
}
.cont-wrap3{
	width: 100%;
	margin: 0 auto 5%;
}
h4.merit {
	display:flex;
	justify-content: center;
	align-items: center;
	position: relative;
	line-height: 1;
	width: 100%;
	margin: 80px auto 3%;
	color: #fff;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	padding: 0.8em 0;
	border-radius: 9999px;
	background: #55ad81;
}

.cont-box{
	width: 100%;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cont-box>div {
	width: 33%;
	display: flex;
	flex-direction: column;
	padding: 0 2%;
}
.cont-box>div .txt-box{
	display: flex;
	flex-direction: column;
	gap:10px;
	flex-grow: 1;
	text-align: justify;
}
.cont-box>div img {
	display: flex;
	justify-content: center;
	align-items: center;
}
.cont-box>div img.cont-1 {
	width: auto;
	height: 80px;
	margin: 8% auto;
}
.cont-box>div img.cont-2{
    height:196px;
    width:auto;
}

.cont-box>div img.cont-3{
    height:180px;
    width:auto;
}

.cont-box h5{
	text-align: center;
	font-weight: 800;
	line-height: 1.3;
	height: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cont-box div:nth-child(2){
	border-left: 2px dashed #b3b3b3;
	border-right: 2px dashed #b3b3b3;
}

.img-wrap{
    height:196px;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    margin:8% 0;
}
.l-box {
	text-align: center;
	margin: 10% 0;
}
.l-box2 {
	text-align: center;
	margin: 3% 0;
}
.m-tit-g{
	color: #55ad81;
	text-align: center;
	margin-bottom: 2%;
	font-weight: 800;
}
.cont-box2{
	width: 66%;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cont-box2>div {
	width: 50%;
	display: flex;
	flex-direction: column;
	padding: 0 2%;
}
.cont-box2>div .txt-box{
	display: flex;
	flex-direction: column;
	gap:10px;
	flex-grow: 1;
	text-align: justify;
}
.cont-box2>div img {
	display: flex;
	justify-content: center;
	align-items: center;
}
.cont-box2>div img.cont-1 {
	width: auto;
	height: 80px;
	margin: 8% auto;
}
.cont-box2>div img.cont-2{
    height:196px;
    width:auto;
}

.cont-box2>div img.cont-3{
    height:180px;
    width:auto;
}
.cont-box2 h5{
	text-align: center;
	font-weight: 800;
	line-height: 1.3;
	height: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cont-box2 div:nth-child(2){
	border-left: 2px dashed #b3b3b3;
}
.cont-box3{
	width: 88%;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.cont-box3 .l-side{
	width: 47%;
}
.cont-box3 .r-side{
	width: 45%;
}
.cont-box3 li {
	margin-bottom: 2%;
	line-height: 1.6;
}
.yori3 {
	position:absolute;
    left:70%;
    bottom:calc(100% + 0px);
    transform:translateX(-50%);
    max-width:180px;
    z-index:10;
	pointer-events: none;
}
.yori1 {
	position:absolute;
    left:70%;
    bottom:calc(100% + 0px);
    transform:translateX(-50%);
    max-width:110px;
    z-index:10;
	pointer-events: none;
}
.yori2 {
	position:absolute;
    left:30%;
    bottom:calc(100% + 0px);
    transform:translateX(-50%);
    max-width:110px;
    z-index:10;
	pointer-events: none;
}
.yori4 {
	position:absolute;
    left:70%;
    bottom:calc(100% + 0px);
    transform:translateX(-50%);
    max-width:95px;
    z-index:10;
	pointer-events: none;
}
.faq-wrap{
	max-width: 880px;
	width: 100%;
	margin: 0 auto 15%;
}
.faq-wrap2{
	max-width: 880px;
	width: 100%;
	margin: 0 auto 5%;
}
.faq-wrap h4,.faq-wrap2 h4 {
	font-weight: 800;
	text-align: center;
	position: relative;
	margin: 0 auto 3%;
}
.faq-wrap h4::before,.faq-wrap2 h4::before {
    content: "";
    display: block;
    width: 84px;
    height: 52px;
    background: url("../../img/faq.png") center/contain no-repeat;
    margin: 0 auto 5px;
}


.accordion{
    width:100%;
    margin:0 auto 4%;
    background:#fff;
    overflow:hidden;
    transition: all 0.3s ease-out;
	opacity: 1;
	border-radius: 10px;
}

/* summary */
.accordion summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 1em;
	min-height: 60px;
    background:#55ad81;
    color:#fff;
	font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
    font-weight:700;
    cursor:pointer;
    list-style:none;
    user-select:none;
    transition: all 0.3s ease-out;
	opacity: 1;
	border-radius: 10px;
}
.q-mark{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    line-height: 1;
    border-radius: 50%;
    font-size: clamp(1rem, 0.682rem + 1.59vw, 1.875rem);
    font-weight: 800;
    flex-shrink: 0;
}
.q-mark span{
    display:block;
    transform:translateY(-4px);
}
.answer{
    display:flex;
    align-items: center;
    padding:0 0.5em;
	width: 93%;
    margin: 0 auto;
}

.a-mark{
    display:flex;
    justify-content:center;
    align-items:center;
    width:52px;
    height:52px;
    flex-shrink:0;
    font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
}

.a-mark span{
    display:block;
    transform:translateY(-2px);
}

.answer p{
    flex:1;
    margin:0;
    line-height:1.6;
	text-align: left;
	padding: 0!important;
}

.accordion-title{
    flex:1;
}
/* デフォルトの三角を消す */
.accordion summary::-webkit-details-marker{
    display:none;
}

/* =========================
Font Awesome icon
========================= */
.accordion .icon{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    border: 2px solid #55ad81;
    border-radius: 50%;
    background: #fff;
    color: #55ad81;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;

    flex-shrink: 0;

    transition:
        transform .25s ease,
        opacity .25s ease,
        background .25s ease,
        color .25s ease;
}

/* 閉じている状態（＋） */
.accordion:not([open]) .icon{
    transform:rotate(0deg);
    opacity:1;
}

/* 開いている状態（－） */
.accordion[open] .icon{
    transform:rotate(180deg);
}

/* 中身（JSで高さ制御するのでCSSでは固定しない） */
.accordion p{
    margin:0;
    padding:0 2em;
}

.accordion-inner{
    overflow:hidden;
}

.accordion-content{
    padding:1.5em 1em 1.5em;
}

.accordion-content p{
    margin:0;
    opacity:0;
    transform:translateY(-10px);
}
.procedure-wrap h4 {
	font-size: clamp(1.375rem, 1.148rem + 1.14vw, 2rem);
	font-weight: 800;
	text-align: center;
	text-decoration: underline;
	margin-bottom: 5%;
}
.procedure-wrap .yo-img {
	width: 22%;
    margin: 0 auto;
    display: block;
}
a.procedure-btn {
	background: #e89e28;
	color: #fff;
	display: flex!important;
	justify-content: center;
	align-items: center;
	max-width: 480px;
	width: 100%;
	min-height: 58px;
	margin: 0 auto 2%;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	line-height: 1.3;
	padding: 0.3em 0;
	border: 2px solid #e89e28;
}
a.procedure-btn::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
	font: var(--fa-font-solid);
    content: "\f138";
    transform: translateY(-50%);
	font-size: 1em;
    width: 1em;
    height: 1em;
}


.inquiry-wrap{
	max-width: 520px;
	width: 100%;
	margin: 0 auto 15%;
	display: flex;
	flex-direction: column;
	gap:20px;
	justify-content: center;
	align-items: center;
	position: relative;
	background: #fff;
	border: 6px solid #b3b3b3;
	border-radius: 12px;
	padding: 3%;
}
.inquiry-wrap h4{
	text-align: center;
	font-weight: 800;
}
.inquiry-wrap p{
	text-align: center;
	font-size: clamp(0.85rem, 0.361rem + 1.02vw, 1.125rem)!important;
}
a.inquiry-btn {
	background: #55ad81;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 58px;
	margin: 0 auto;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	line-height: 1.3;
	padding: 0.3em 0;
	border: 2px solid #55ad81;
}
a.inquiry-btn::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
	font: var(--fa-font-solid);
    content: "\f138";
    transform: translateY(-50%);
	font-size: 1em;
    width: 1em;
    height: 1em;
}


.benefits-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 5% auto 3%;
}
.benefits-list img {
	width: 22%;
}
.tx-lk{
	text-decoration: underline;
	color: #007440;
    transition: 0.3s ease-in-out all;
	opacity: 1;
}
.grbg{
	font-weight: 800;
}

.txbx-c{
	text-align: center;
	margin: 0 auto 10%;
}
.txilb{
	display: inline-block;
	text-align: left;
}

.content-box2 {
	max-width: 880px;
	width: 90%;
	margin: 0 auto;
	padding: 0 0 10%;
	position: relative;
}


.prep-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 5%;
}
.prep-list img {
	width: 22%;
}

.step-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	align-items:stretch;
	margin: 3% auto 0;
}
.step-box {
	width: 30%;
	padding: 3%;
	background: #f1f8f5;
	border-radius: 12px;
	display:flex;
	flex-direction:column;
}
.step-tx-wrap {
	flex:1;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.step-box img{
	margin: 5% auto;
}
.step-balloon {
	position:relative;
    width:100%;
    padding:0.2em 0;
    color:#fff;
	text-align: center;
    background:#55ad81;
    border:3px solid #55ad81;
    white-space:nowrap;
    z-index:1;
	margin: 0 auto 5%;
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
}


.step-balloon:before {
  content:"";
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    border:12px solid transparent;
    border-top-color:#55ad81;
}


.sml{
	margin-top:auto; 
	font-size: 12px!important;
}


.consultation-wrap{
	max-width: 520px;
	width: 100%;
	margin: 0 auto 10%;
	display: flex;
	flex-direction: column;
	gap:20px;
	justify-content: center;
	align-items: center;
	position: relative;
}
.consultation-wrap h4{
	text-align: center;
	font-weight: 800;
	line-height: 1.4;
}
.consultation-wrap p{
	text-align: center;
}
a.consultation-btn {
	background: #55ad81;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 58px;
	margin: 0 auto;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	line-height: 1.3;
	padding: 0.3em 0;
	border: 2px solid #55ad81;
}
a.consultation-btn::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
	font: var(--fa-font-solid);
    content: "\f138";
    transform: translateY(-50%);
	font-size: 1em;
    width: 1em;
    height: 1em;
}

.box-tit{
	max-width: 880px;
	width: 100%;
	border: 2px solid #007440;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #007440;
	font-size: clamp(0.875rem, -0.014rem + 1.85vw, 1.375rem);
	padding: 0.5em 0;
	margin: 2% auto 5%;
}

footer{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    min-height:34px;
    padding:8px 0;
    background:#55ad81;
    color:#fff;
	position: static;
}

.foot-btn{
	position:fixed;
    left:0;
    bottom: 0;
    width:100%;
    z-index:900;
	padding: 1% 0;
	background-image: repeating-linear-gradient(-45deg, #e5f2ec, #e5f2ec 3px, #cde6da 3px, #cde6da 15px);
    opacity:0;
    visibility:hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events:none;
	flex-direction: column;
}


.foot-btn.show{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

a.more-btn {
	background: #e89e28;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 600px;
	width: 90%;
	min-height: 80px;
	margin: 0 auto;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
	border: 4px solid #fff;
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	line-height: 1.3;
	padding: 0.3em 0;
}
a.more-btn::after {
    position: absolute;
    top: 50%;
    right: 1em;
	font: var(--fa-font-solid);
    content: "\f138";
    transform: translateY(-50%);
	font-size: 1.2em;
    width: 1em;
    height: 1em;
}


address{
	text-align: right;
	font-style: normal;
	align-self: end;
	font-size: 0.7em;
	color: #fff;
}

#pagetop{
	position: fixed;
	width: 90px;
	bottom: calc(var(--footbtn-h, 0px) + 40px);
	right: 3%;
	z-index: 1001;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s;
}

#pagetop.show{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#pagetop a{
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.wd100{
	width: 100%!important;
}
.mb80s{
	margin-bottom: 80px;
}

.sp-header{
	display: none;
}



/* ここに全hoverを書く */
@media (hover: hover) {
.accordion summary:hover{
	opacity: 0.6;
}
.tx-lk:hover{
	opacity: 0.6;
}
.pc-nav li a:hover {
	opacity: 0.6
}
a.inquiry-btn:hover {
	background: #fff;
	color: #55ad81;
	border: 2px solid #55ad81;
}
	
a.consultation-btn:hover {
	background: #fff;
	color: #55ad81;
	border: 2px solid #55ad81;
}
a.procedure-btn:hover{
	background: #fff;
	color: #e89e28;
	border: 2px solid #e89e28;	
}
a.more-btn:hover  {
	background: #fff;
	color: #e89e28;
	border: 4px solid #e89e28;
}

.tab_box .tab_btn:hover {
	background-color: #99ceb3;
}
.opc:hover {
	opacity: 0.6;
}
.opc1:hover{
	opacity: 0.6!important;
	transition: all 0.3s ease-out!important;
}
/*.accordion summary:hover .icon{
    background:#55ad81;
    color:#fff;
}*/
.header-logo a:hover{
	opacity: 0.6;
}

.pc-menu a:hover,.pc-header h2 a:hover{
    opacity: 0.6;
}

.pc-menu a:hover::after{
	width: 100%;
    left: 0;
}

#pagetop a:hover{
	opacity: 0.6;
}

}



@media screen and (max-width:767px){
	
	.sp-header-logo {
        padding: 5%;
        display: flex;
        align-items: center;
        width: 42%;
		}
	
	.sp-header-logo img {
		width: 100%;
		}

	.sp-header{
		width: 100%;
        height: 60px;
        position: relative;
        display: flex;
        justify-content: space-between;
	}
	.splogo-wrapper{
		display: flex;
        justify-content: center;
        width: 100%;
        align-items: center;
        height: 60px;
        flex: 1;
	}

	.side-menu{
		display: none;
	}
	.sp-bl,.slick-slide .sp-bl{
		display: block;
	}

	.sp-nn{
		display: none!important;
	}
	.sp-ta_l {
    	text-align: left;
	}


	p,li,dt,dd,td,th,a{
		font-size: 0.95em;
	}

	p{
		line-height: 1.6;
	}

	h2{
		font-size: 1em;
	}

	img{
		width: 100%;
	}

	.sp-img{
		width: 100%;
	}

	body{
		overflow-x: hidden;
	}

	header{
		height: auto;
		position: fixed;
		padding: 0;
	}
	
	.pc-header{
		display: none;
	}

	#wrapper{
		margin-top: 0;
	}

	button {
		border: none;
		background: none;
		outline:none;
	}
	
	.fullscreenmenu{
		width: 60px;
		height: 60px;
	}
	
	.menu,.menu span {
		display: inline-block;
		-webkit-transition:all .4s;
		transition: all .4s;
		box-sizing: border-box;
	}

	.menu{
		position: fixed;
        top: 0;
        right: 0;
        width: 60px;
        height: 60px;
        z-index: 100000;
        cursor: pointer;
        padding: 0;
        transition: all 0.3s ease-out;
	}
	
	.menu .bar{
		position: absolute;
		left: 16px;
		height: 2px;
		background-color: #fff;
		z-index: 10;
		/*transform: translate3d(-50%,-4px,0);*/
		/*-webkit-transform: translate3d(-50%,-4px,0);*/
	}

	.menu .menu-txt{
		font-size: 0.8em;
		font-weight: 700;
		color: #d92d35;
		position: absolute;
		left: 50%;
		transform: translate3d(-50%,0,0);
		-webkit-transform: translate3d(-50%,0,0);
	}
	
	.menu .menu-txt.active{
		font-size: 0;
		margin: 0;
		opacity: 0;
	}
	.menu span:nth-of-type(1) {
		top: 20px;
		width: 50%;
	}


	.menu span:nth-of-type(2) {
		top: 29px;
		width: 50%;
	}
	.menu span:nth-of-type(3) {
		bottom: 20px;
		width: 50%;
	}

	.menu.active span:nth-of-type(1) {
		-webkit-transform: translateX(-50%)translateY(9px)rotate(30deg);
		transform: translateX(-50%)translateY(9px)rotate(30deg);
		background-color: #fff;
		width: 50%;
		left: 50%;
	}
	.menu.active span:nth-of-type(2) {
		display: none;
	}

	.menu.active span:nth-of-type(3) {
		-webkit-transform: translateX(-50%)translateY(-9px)rotate(-30deg);
		transform: translateX(-50%)translateY(-9px)rotate(-30deg);
		background-color: #fff;
		width: 50%;
		left: 50%;
	}


	#sp-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		width: 100%;
		height: 100dvh;
		opacity: 0;
		background: #55ad81;
		transition: all 0.3s ease-in-out;
		visibility:hidden;
	}
	
	#sp-nav.active{
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		overflow: auto;
		z-index: 10000;
	}
	.side-line:before, .side-line:after {
		content: '';
		width: 18px;
		height: 3px;
		background-color: currentColor !important;
		position: unset;
		border: unset;
		margin-left: unset;
		margin-right: unset;
		flex-grow: unset;
		border-radius: 2px;
	}
	.side-line:before {
		margin-right: 8px;
	}
	.side-line:after {
		margin-left: 8px;
	}
	
	
	
	.tab_btn p{
		font-size: 0.635rem;
		line-height: 1.5;
	}
	.tab_box .tab_btn {
    padding: 0 0.2em;
	}
	
	.tab_box .tab_btn {
    padding: 0 0.5em;
}
	.tab_box .tab_btn.active {
    height: 70px;
    }
	
    .tab_box .tab_btn {
        gap: 5px;
        height: 60px;
    }

	.icon-set{
		width: 14em;
		padding: 0 45px;
		margin: 0 auto;
		display: block;
		line-height: 1.5;
	}

	.icon-set::before{
		width: 35px;
		height: 40px;
		left: 0;
	}

	.icon-set::after{
		width: 40px;
		height: 48px;
		right: 0;
	}

	.t-marker{
		white-space: nowrap;
	}
	#pagetop {
    width: 50px;
    right: 3%;
}
	.messe-l:nth-child(1) img{
	    width: auto;
    height: 70px;
}
	.messe-l:nth-child(3) img{
	    width: auto;
    	height: 70px;
}
	.messe-r:nth-child(2) img{
	    width: auto;
    	height: 70px;
}
	.messe-r:nth-child(4) img{
	    width: auto;
    	height: 70px;
}
	.messe-wrap {
    gap: 10px;
}
	.bzy {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    border: 0;
    margin: 5% auto 20%;
	line-height: 1.3 !important;
}
	.bzy::before, .bzy::after {
    content: "";
    width: 3px;
    height: 2.6em;
    background: currentColor;
    flex-shrink: 0;
}
	.yori1 {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0px);
    transform: none;
    max-width: 74px;
    z-index: 10;
    pointer-events: none;
}
	h4.merit {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    line-height: 1;
    width: 100%;
    margin: 0 auto 3%;
    color: #fff;
    font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
    padding: 0.5em 0;
    border-radius: 9999px;
    background: #55ad81;
}
	.cont-box {
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
	gap:20px; 
}
	.cont-box>div {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0 2%;
}
	.cont-box div:nth-child(2) {
    border-top: 2px dashed #b3b3b3;
    border-bottom: 2px dashed #b3b3b3;
	border-left: none;
	border-right: none;
	padding: 20px 0;
}
	.cont-wrap {
    width: 100%;
    margin: 0 auto 25%;
}
	.mb30p{
		margin-bottom: 30%!important;
	}
	.yori2 {
    position: absolute;
    left: 10%;
    bottom: calc(100% + 0px);
    transform: none;
    max-width: 70px;
    z-index: 10;
    pointer-events: none;
}
	.cont-box>div img.cont-1 {
    width: auto;
    height: 80px;
    margin: 4% auto 8%;
}
	.cont-box>div img.cont-2 {
    height: 166px;
    width: auto;
}
	.cont-box>div img.cont-3 {
    height: 160px;
    width: auto;
}
	.img-wrap {
    height: 166px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 8% 0;
}
	.cont-box h5 {
    height: auto;
}
	.l-box {
    text-align: justify;
    margin: 5% 0 10%;
}
	.accordion .icon {
	margin-left:1em;
    align-self:center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    border: 2px solid #55ad81;
    border-radius: 50%;
    background: #fff;
    color: #55ad81;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
    transition: transform .25s ease, opacity .25s ease, background .25s ease, color .25s ease;
}
	.accordion-title{
    flex:1;
    line-height:1.5;
}

	
	.q-mark {
	margin-right:.6em;
    line-height:1;
    padding-top:.15em;
		
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    height: auto;
    border-radius: 50%;
    font-size: clamp(0.938rem, -0.507rem + 3.01vw, 1.75rem);
    font-weight: 800;
    flex-shrink: 0;
}
	.q-mark span {
    display: block;
    transform: translateY(0px);
}
	
	.accordion summary {
	display: flex;
    align-items: flex-start;
    padding: 14px 1em;
    min-height: 60px;
    justify-content: space-between;
    background: #55ad81;
    color: #fff;
    font-size: clamp(0.938rem, -0.507rem + 3.01vw, 1.75rem);
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: all 0.3s ease-out;
    opacity: 1;
    border-radius: 10px;
}
	.procedure-wrap .yo-img {
    width: 52%;
    margin: 0 auto;
    display: block;
}
	.l-box2 {
    text-align: justify;
    margin: 3% 0 5%;
}
	.inquiry-wrap {
    margin: 0 auto 45%;
	padding: 5%;
}
	.foot-btn {
    padding: 4% 0;
}
	.content-box2 {
    padding: 0 0 20%;
}
	.cont-box2 {
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 20px;
}
	.cont-box2>div {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0 2%;
}
	
	.cont-box2 div:nth-child(2) {
    border-top: 2px dashed #b3b3b3;
    border-left: none;
    padding: 20px 0 0;
}
	.cont-box2>div img.cont-2 {
    height: 166px;
    width: auto;
}
	.cont-box2>div img.cont-3 {
    height: 160px;
    width: auto;
}
	.cont-box>div .txt-box {
    gap: 5px;
}
	.cont-box2>div .txt-box {
    gap: 5px;
}
	.ta-c{
	text-align: left;
}
	.ta-c2 {
    text-align: center;
    margin-bottom: 20%;
}
	.yori3 {
    position: absolute;
    right: 2%;
	left: auto;
    bottom: calc(100% + 0px);
    transform: none;
    max-width: 115px;
    z-index: 10;
    pointer-events: none;
}
	.cont-box3 {
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: column;
}
	.cont-box3 .l-side {
    width: 100%;
}
	.cont-box3 .r-side {
    width: 100%;
    margin: 5% auto 0%;
}

	.prep-list img {
    width: 47%;
}
	.prep-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 5%;
    gap: 4vw;
}
	.yori4 {
    position: absolute;
    right: 6%;
    left: auto;
    bottom: calc(100% + 0px);
    transform: none;
    max-width: 65px;
    z-index: 10;
    pointer-events: none;
}
	p.mt-m.ind{
		text-align: left;
	}
	
	.step-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    align-items: stretch;
    margin: 3% auto 0;
    flex-direction: column;
    gap: 30px;
}
	.step-box {
    width: 100%;
    padding: 5%;
    background: #f1f8f5;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
}
	
	.box-tit{
	line-height: 1.3;
}

a.more-btn::after {
    right: 0.5em;
}

a.more-btn2::after {
    right: 0.5em;
}
}

