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

.header-area{
	background-color: #fff;
	padding:10px;
}
.l-header{
	background-color: #ecf3f5;
	background: url("img/pattern-top.webp");
}
.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: #0b41a0 !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:#cce8f3 !important;
	border-radius: 10px;
	padding:1rem;
	margin: 0.8rem auto;
}
.p-work-list{
	color:#008ac1;
	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;
}
.sp_none{
  display: block;
}

/*スマートフォンで有効*/
@media screen and (max-width:768px) {
  .pc_hid{
    display: contents;
  }
  .sp_hid{
    display: none;
  }
.sp_none{
  display: none;
}

}
/*LINE相談の流れ用css*/

.c-text-balloonbox {
  background-color: #0b41a0;
  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:#0b41a0;
  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 #0b41a0;
  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;
}
}



/*ポップアップ*/
.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: 2rem;
	border-bottom:1px solid #ccc;
}


#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; /*背景を固定*/
}
@media screen and (max-width: 900px) {
#prev, #next {
    width: 40px;
    height: 40px;
    top: 114%;
}
#prev{
left: 35%;
}
#next{
right: 35%;
}
}

.p-advice::before{
	border-top-color:#0b41a0;
}

.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}

.line-about{
	color:#fff;
	text-decoration: underline;
	margin: 5px auto;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
}

.u-bg-st{
	background: url("img/pattern.webp") repeat;
}
@media screen and (max-width:480px) {
.p-advice__image{left: 64%;}
}




/* 2024.03 ハンバーガーメニュー追加 */
.menu-checkbox {
    display: none;
}
.drawer-menu {
    position: fixed;
    top: 0;
    right: 0;
    height: auto;
    width: 100%;
    transform: translateX(100%);
    transition: all 0.5s ease-in-out 0s;
    background-color: #fff;
    z-index: 20;
}
.drawer-menu-list {
    margin-top: 74px;
    margin-bottom: 74px;
    padding-left: 18px;
    padding-right: 18px;
}
.drawer-menu-item:nth-child(even) {
    background-color: #cce7f0;
}
.drawer-menu-item-link {
    display: block;
    font-size: 16px;
    color: #1b1b1b;
    padding: 14px 16px;
}
.drawer-menu-item-link a {
    color: #1b1b1b;
    font-weight: bold;
}
.drawer-menu-item:nth-child(1) {
    margin-bottom: 20px;
}
.menu-checkbox:checked ~ .drawer-menu {
    transform: translateX(0);
}
.drawer-icon {
    /*position: absolute;*/
    position: fixed;
    right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 44px;
    height: 44px;
    background-color: #0b40a1;
    transition: transform 250ms ease;
    cursor: pointer;
    z-index: 30;
    border-radius: 6px;
}
.drawer-icon span, .drawer-icon span:before, .drawer-icon span:after {
    content: '';
    display: block;
    height: 2px;
    width: 28px;
    border-radius: 3px;
    background-color: #fff;
    position: absolute;
    transition: all 0.5s ease-in-out 0s;
    
    top: 7px;
}
.drawer-icon span::before {
    bottom: 7px;
}
.drawer-icon span::after {
    top: 14px;
}
.menu-checkbox:checked ~ .drawer-icon {
    background-color: #0b40a1;
    /*position: fixed;*/
}
.menu-checkbox:checked ~ .drawer-icon span {
    background-color: rgba(255, 255, 255, 0);
}
.menu-checkbox:checked ~ .drawer-icon span::before {
    bottom: 0;
    transform: rotate(-45deg);
    background-color: #fff;
}
.menu-checkbox:checked ~ .drawer-icon span::after {
    top: 7px;
    transform: rotate(45deg);
    background-color: #fff;
}
.menu-background {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: all 0.5s ease-in-out 0s;
}
.menu-checkbox:checked ~ .menu-background {
    display: block;
    opacity: 0.3;
}

.drawer-icon::after {
    content: "メニュー";
    position: absolute;
    color: #fff;
    font-size: 6px!important;
    bottom: 5px;
}
.menu-checkbox:checked ~ .drawer-icon::after {
    content: "閉じる";
}


/*会社情報*/
.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
}

/*下バナー*/

.l-footer__menu li:first-child{
	padding:0.1rem 0.25rem;
}

/*徹底サポート変更*/

.p-intro::before {
	border: solid transparent;
	border-top-color: #fff;
	border-width: 2rem 4rem;
	content: "";
	display: block;
	height: 0;
	inset: -1px 0 auto;
	margin: auto;
	position: absolute;
	width: 0;
	z-index: 3;
}
.p-intro::before {
  border-top-color: #0b41a0;
  margin-top: -1.5rem;
}

@media screen and (min-width: 992px) {
  .p-intro::before {
    border-width: 2.5rem 6rem;
  }
}


#benefits .p-flow__step{
	border: 3px solid #008ac1;
	padding:0;
	border-radius: 20px;
}
#benefits .p-flow__step h2{
	border-radius: 10px 10px 0 0;
}

@media screen and (min-width: 768px){
#benefits .p-flow__step{
	padding:0;
}
}


/*ホーカムについて*/
.p-about h3{
	line-height: 2.0;
}
.p-about .p-flow__step{
	border-radius: 1rem;
}
.worries-list{
	display: flex;
	flex-wrap: wrap;
	padding: 30px 20px;
}
.worries-list li::before{
	content: "●";
	color: #0b41a0;
	margin-right:5px;
}
.worries-list li{
	font-weight: bold;
	margin: 10px 0;
	line-height: 1.5;
}
.p-about table{
	width: 100%;
}
.p-about th{
	width: 25%;
	max-width: 200px;
	background-color: #cce8f3;
	padding:10px 8px;
	text-align: left;
	border: 1px solid #ccc;
	border-rigth:0;
}
.p-about td{
	padding: 10px;
	border: 1px solid #ccc;
	line-height: 1.5
}
@media screen and (min-width: 768px){
.worries-list li{
	width: 50%;
}
.p-about th,.p-about td{
	padding:20px;
}
}



