@charset "utf-8";
/* CSS Document */

.header-area{
	background-color: #fff;
	padding:10px;
}

.l-footer__menu img{
	max-height: 100%;
}

.work-slider-list{
	border-top: dotted 2px #ccc;
	
}
.p-work .swiper .c-flex.work-slider-list{
	height: auto!important;
}

.p-work-btn a{
	background-color: #0e7a58 !important;
	color: #ecf3f5 !important;
	border-radius: 8rem !important;
	max-width: 600px;
	width: 80%;
	text-align: center;
	padding:20px;
	margin:0 auto;
	transition: .4s;
	/*--水平方向 垂直方向 影のぼかし 色--*/
	box-shadow: 3px 3px 3px rgba(0,0,0,0.3);  
}

.p-work-btn a:hover {
	/*--水平方向 垂直方向 色--*/
	box-shadow: 0 0 3px rgba(0,0,0,0);
}

.work-list li{
	cursor: pointer;
	background-color:#e9f3e9 !important;
	border-radius: 10px;
	padding:1rem;
	margin: 0.8rem auto;
}
.p-work-list{
	color:#0e7a58;
	font-weight: bold;
	align-items: center;
	display: flex;
}

.l-footer__menu{
	/*デフォルトで非表示にする*/
	opacity: 0;
	visibility: hidden;
}
.active{
	opacity: 1;
	visibility: visible;
}

@media screen and (min-width: 768px){
.l-footer__menu{
	opacity: 1;
	visibility: visible;
}

}

.menu-box{
	border: 3px solid #eee;
	border-radius: 1rem;
	padding: 2rem;
}

.menu-box ul li{
	border-bottom: dotted 1px #ccc;
	padding-bottom:20px;
	padding-top:20px;
	font-weight:bold;
}
.menu-box ul li:last-child{
	border-bottom:none;
}
.menu-box ul li a{
	color:#1b1b1b;
}
.menu_icon01,.menu_icon02,.menu_icon03,.menu_icon04{
	padding-left: 60px;
	position: relative;
}
.menu_icon01::before{
	content: url("img/menu01.webp");
	vertical-align: top;
	top: -7px;
	left: 0;
	position: absolute;
}
.menu_icon02::before{
	content: url("img/menu02.webp");
	vertical-align: top;
	top: -7px;
	left: 0;
	position: absolute;
}
.menu_icon03::before{
	content: url("img/menu03.webp");
	vertical-align: top;
	top: -7px;
	left: 0;
	position: absolute;
}
.menu_icon04::before{
	content: url("img/menu04.webp");
	vertical-align: top;
	top: -7px;
	left: 0;
	position: absolute;
}
.menu_icon01::after,.menu_icon02::after,.menu_icon03::after,.menu_icon04::after{
	content: url("img/menu-bt.webp");
	right: 0;
	top: 7px;
	position: absolute;
}
	

/*FAQ用css*/

.p-flow__faq{
  background-color:#fff;
  border:3px 
  solid #66b9da;
  border-radius:1rem;
  padding:1.5rem 2rem;
  margin-bottom: 1em;
}
.p-flow__faq__list dt {
    margin-left: 2rem;
    margin-bottom: 1rem;
    font-weight: 600;
    line-height: 1.8 !important;
}

.p-flow__faq__list dt::before,
.p-flow__faq__list dd::before {
  margin-right: .4rem
}

.p-flow__faq__list dt::before {
    content: "Q.";
    color: #008ac1;
    margin-left: -2rem;
    font-size:1.414rem;
}

.p-flow__faq__list dd {
  margin-left: 2rem;
  line-height: 1.8 !important;
}

.p-flow__faq__list dd::before {
    content: "A.";
    margin-left: -2rem;
    color: #c84454;
    font-weight: 600;
    font-size:1.414rem;
}
/*FAQ用css*/
/*LINE相談の流れ用css*/

.line_ttl_icon{
	padding-left: 170px;
	position: relative;
}
.line_ttl_icon::before{
	content: url("img/line-consultation-icon-pc.webp");
	vertical-align: top;
	top: -45px;
	left: 0;
	position: absolute;
}

.p-line__consultation{
  background-color:#cce8f3 ;
  padding:0rem 2rem 2rem;
  margin:0rem 1rem 4rem;
  border-radius:1rem;
  height: 680px;
}
.p-line__consultation h2{
  border-radius:1.6rem;
  line-height: 3.2rem;
  background-color:#0b41a0;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: -1.4rem;
}

.p-line__consultation__list{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 991px){
  .p-line__consultation{
    height: auto;
  }
  .p-line__consultation h2{
    max-width: 320px;
  }
  
  .line_ttl_icon {
	  padding-left: 110px;
  }
  .line_ttl_icon::before{
    content: url("img/line-consultation-icon-sp.webp");
    top: -22px;
    padding-left: 10px;
  }
  
}

/*PCで無効*/
.pc_hid{
  display: none;
}
.sp_hid{
  display: contents;
}

/*スマートフォンで有効*/
@media screen and (max-width:768px) {
  .pc_hid{
    display: contents;
  }
  .sp_hid{
    display: none;
  }
}
/*LINE相談の流れ用css*/

/*色変更*/
.u-bg-b2{background-color:#e9f3e9 !important;}
.u-bg-b4{background-color:#569f55 !important;}
.u-bg-b5{background-color:#0e7a58 !important;}
.u-text-b3{color:#569f55 !important;}
.u-text-b4{color:#0e7a58 !important;}
.u-text-b5{color:#7b7967 !important;}
.u-text-red{color:#e58702 !important;}
.c-frame::after, .c-frame::before{border: 3px solid #7b7967;}
.c-frame::before{border-right-color: transparent;}
.c-frame::after{border-left-color: transparent;}
.p-work .swiper .swiper-next, .p-work .swiper .swiper-prev{background-color: #3b3b3b;}
.p-work .swiper .swiper-pagination-bullet{border: 3px solid #a2a5a2;}
.p-work .swiper .swiper-pagination-bullet-active{
	background-color:#80b780;
	border: 3px solid #80b780;
}
.c-text-balloon::before{border-top-color: #569f55;}
.c-text-balloon{background-color: #569f55;}
.p-flow__step{border: 3px solid #80b780;}
.p-flow__step--end{border: 3px solid #e58702!important;}
.p-advice::before{border-top-color: #0e7a58;}
.p-line__consultation h2{background-color:#0e7a58;}
.p-line__consultation{background-color:#e9f3e9;}
.p-feature__card{
	border: 3px solid #80b780;
	box-shadow: -.5rem .5rem 0 0 #e9f3e9;
}
.p-feature__number{color: #0e7a58;}
.menu-box{border: 3px solid #a2a5a2;}
.p-voice__text{
	border: 3px solid #80b780;
	box-shadow: -.5rem .5rem 0 0 #e9f3e9;
}
.p-voice__image::after{
	border: 3px solid #80b780;
	border-right-color: transparent;
	border-top-color: transparent;
}
.p-flow__faq{border: 3px solid #80b780;}
.p-flow__faq__list dt::before{color: #569f55;}
.p-flow__faq__list dd::before{color:#e58702;}
.flow-item{
	display: inline;
	margin-left: 1rem;
	width: 23px;
	vertical-align: middle;
	padding: 0px 0 4px;
}

.l-footer{background-color: #e9f3e9;}



/*ポップアップ*/
.modal-overlay01,.modal-overlay02,.modal-overlay03{
   visibility: hidden;
   position: fixed;
   left: 0;
   top: 0;
   width: 100vw;
   height: 100vh;
   background-color: rgba(0,0,0,.7);
   z-index: 999;
  transition: .3s;
  opacity:0;
}
.modal-overlay01.active,.modal-overlay02.active,.modal-overlay03.active{
   visibility: visible;
   transition: .3s;
   opacity: 1;
}
.modal-window{
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
   background-color: #fff;
   width: 80%;
   max-width: 500px;
   /*min-height: 400px;*/
   margin: 0;
   padding: 30px;
   overflow-y: auto;
}
.modal-window h2{
	text-align: center;
	padding-bottom:1rem;
	margin-bottom: 1rem;
	border-bottom-color: #a2a5a2;
	border-bottom-style: dotted;
	border-bottom-width: clamp(.25rem,1vw,.5rem);
}
.modal-window h4{
	padding-top:1rem;
	border-top:2px solid #3b3b3b;
}
.modal-window .c-flex{
	align-items: center;
	justify-content: space-between;
}
.modal-window div{
	background: linear-gradient(transparent 48%, #3b3b3b 48%, #3b3b3b 51%, transparent 51%);
}
.modal-window div p{
	background-color: #fff;
}

#close-01,#close-02,#close-03 {
    position: absolute;
    width: 20px;
    height: 20px;
    top: 20px;
    right: 20px;
}
#close-01::before,#close-02::before,#close-03::before {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 25px;
   height: 1px;
   background-color: #000;
   transform: translate(-50%, -50%) rotate(45deg);
}
#close-01::after,#close-02::after,#close-03::after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 25px;
   height: 1px;
   background-color: #000;
   transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-opened {
    overflow-y: hidden; /*背景を固定*/
}

.c-text-balloonbox {
  background-color: #569f55;
  line-height:1.6;
  margin-bottom:1.5rem;
  margin-inline:auto;
  position:relative;
  text-align:center
}
.c-text-balloonbox::before {
  border:solid transparent;
  border-top-color:#569f55;
  border-width:1rem;
  content:"";
  display:block;
  height:0;
  inset:calc(100% - 1px) 0 auto;
  margin:auto;
  position:absolute;
  width:0;
}

.c-frame2 {
  padding:.25rem 2rem;
  position:relative
}
.c-frame2::after,
.c-frame2::before {
  border:3px solid #0e7a58;
  content:"";
  height:100%;
  position:absolute;
  top:0;
  width:1rem
}
.c-frame2::before {
  border-right-color:transparent;
  left:0
}
.c-frame2::after {
  border-left-color:transparent;
  right:0
}


.p-flow__step_box{
	font-weight: bold;
	margin-bottom: 1rem;
}


@media screen and (max-width: 768px){
.p-flow__step_box{
	display: flex;
	justify-content: space-around;
}
}

/*会社情報*/
.c-list-dl dt {
  width:max(30%,105px)
}
.c-list-dl {
  border-bottom:3px solid #cdcdcd;
  display:flex;
  width:100%
}
.c-list-dl dd,
.c-list-dl dt {
  font-size:1.3rem;
  line-height:1.8
}
.c-list-dl dt {
  flex-shrink:0;
  font-weight:700;
  padding:1rem 0
}
.c-list-dl dd {
  flex-grow:1;
  flex-shrink:1;
  padding:1rem 0 1rem 1rem
}

@media screen and (max-width: 575px){
.p-advice__image{
	left: 60%;
}
}
@media screen and (min-width: 768px){
.p-advice__image{
	bottom: -1.4rem;
}
}
@media screen and (min-width: 1200px){
.p-advice__image{
	bottom: -2rem;
}
}

.p-advice3{
	overflow: visible;
}