@charset "utf-8";
/* TOP スライダー
 ====================================================*/
.slider_img img {
	width: 100%;
	max-width: 100%;
	height: 100vh;
	max-height: 100%;
	margin: auto;
	object-fit: cover;
}
.slick-dots {
  position: absolute;
  bottom: var(--fs10);
}
.slick-dots li button::before {
  font-size: var(--fs13);
}
.slick-dots li.slick-active button::before {
  opacity: 100;
  color: yellow;
}
.slick-dots li button::before {
  opacity: 100;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*フォントテスト*/
.font-test_wrap{
	display: flex;
	justify-content: center;
	gap: 60px;
	margin-block: 60px;
}
.font-test{
	width: 400px;
}
.font-test h2{
	font-size: 20px;
}

/* トップ
 ====================================================*/
.slider_wrap{position:relative}
.top_free{
	position: absolute;
	bottom: 30px;
	right: 20px;
}
.top_info_kotei{
	position: absolute;
  left: 5%;
  bottom: 20px;
  z-index: 1;
  width: 4rem;
  padding: 10px 20px;
  width: 40%;
  background-color: #fff;
  border-radius: 15px;
}
.top_info_kotei ul{
	display: flex;
	gap: 0.2rem;
}

/* おまかせください */
.top_hukidashi_nav_wrap{
	position: relative;
	height:500px;
}
.top_hukidashi_nav img{
	width: _180px;
}
.top_hukidashi_nav img.nav_01{/*感謝の声*/
	position: absolute;
	bottom: 170px;
	left: 5%;
}
.top_hukidashi_nav img.nav_02{
	position: absolute;
	bottom: 320px;
  left: 15%;
}
.top_hukidashi_nav img.nav_03{
	position: absolute;
	bottom: 300px;
	left: 30%;
}
.top_hukidashi_nav img.nav_04{/*解決事例*/
	position: absolute;
	bottom: 300px;
  	right: 400px;
}
.top_hukidashi_nav img.nav_05{
	position: absolute;
	bottom: 300px;
  right: 210px;
}
.top_hukidashi_nav img.nav_06{
	position: absolute;
	bottom: 120px;
  right: 100px;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph{
	width: 210px
}
.top_hukidashi_nav_wrap .top_hukidashi_ph img{
	width: 100%;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph img.minagawa{/*皆川先生*/
	width: 95%;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph_01{/*林先生*/
	position: absolute;
	bottom: 140px;
  left: 20%;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph_02{
	position: absolute;
	bottom: 100px;
  left: 30%;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph_03{
	position: absolute;
	bottom: 90px;
  	right: 300px;
}
/* top　背景 */
.top_back_01{
	position: absolute;
	top: 310px;
}
.top_back_01 img{
	width: 100vw;
}
.top_back_02{
	position: absolute;
	top: 810px;
}
.top_back_02 img{
	width: 100vw;
}
.top_back_03{
	position: absolute;
	top: 1600px;
}
.top_back_03 img{
	width: 100vw;
}
.news_con{
	display: flex;
	justify-content: center;
	gap: 60px;
	position: relative;
}
.fukidashi_ttl{
	position: absolute;
  top: 50px;
  left: 48%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  writing-mode: vertical-rl;
  font-size: 45px;
  letter-spacing: 5px;
  line-height: 1.5;
	z-index:1
}
.message_wrap{
	  position: relative;
	margin-top: 120px;
}
.message_wrap .b_ttl{
	font-size: 40px;
  margin-top: 10px;
  letter-spacing: 2px;
  text-shadow: 3px 3px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 3px -1px 0 #FFF, 0px 3px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 3px 0 0 #FFF;
}
.message_content{
	display: flex;
	gap: 30px;
	margin-top: 30px;
}
.message_content figure{
	width: 240%;
}
.message_content figure img{
	width: 100%;
	border-radius: 20px;
}

/* お知らせ */
#top_news_post{
	
}
#top_news_post .top_news_list{
	margin-top: 40px;
}
#top_news_post .top_news_list li + li{
	margin-top: 10px;;
}
.top_category {
  	background-color: #e6e6e6;
  	border-radius: 10px;
  	padding: 1px 10px;
  	font-size: 1.3rem;
  	display: inline-block;
	width: 110px;
  	text-align: center;
  	margin-right: 10px;
}
.top_category.info {color: var(--color_br_01);}
.top_category.overwork {color: var(--color_or_01);}
.top_category.blog {color: var(--color_pk_01);}

/* サービス */
.service_wrap{
	margin-top: 150px;
	position: relative
}
.service_card{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0px;
	justify-content: space-between;
	margin-top: 20px;
}
.service_card article{
	width: calc(100% / 3 - 10px);
	padding: 2%;
}
.service_card article .service_btn a{
	width: 200px;
	padding: 20px 10px;
	margin-top: 10px;
}
.service_card article .service_btn_01 a{
	background-color: #8d8d8d;
}
.service_card article .service_btn_02 a{
	background-color: var(--color_pk_01);
}
.service_card article .service_btn_01 a:hover,
.service_card article .service_btn_02 a:hover{
	background-color: var(--color_gr_01);
}
.service_card_list{
	background-color: #fff;
	border-radius: 20px;
	text-align: center;
}
.service_card_list .service_card_txt{
	font-size: 1.4rem;
}
.lgbt_wrap{
	position: relative;
}
.lgbt_wrap figure{
	width: 100%;
}
.lgbt_wrap figure img{
	width: 100%;
}
.lgbt_content{
	position: absolute;
	top: 50%;
	left: 100px;
}
.lgbt_content p{
	background-color: var(--color_gr_01);
	width: 400px;
	border-radius: 20px;
	padding: 30px 20px;
	margin-bottom: 50px;
}
.solution_wrap{/* 解決事例 */
	display: flex;
	justify-content: space-between;
	padding-block: 40px;
	position: relative
}
:root{
	--color_re_01: #ff0000; /*家事事件*/
	--color_gr_01: #91c55b; /*グリーン*/
	--color_yr_01: #faed97; /*薄いイエロー*/
	--color_yr_02: #fff7e1; /*薄いイエロー02*/
	--color_pk_01: #ff7ba0; /*ピンク*/
	--color_pk_02: #fdf3f4; /*薄いピンク*/
	--color_or_01: #f29700; /*オレンジ*/
	--color_br_01: #3f9de9; /*ブルー*/
	--color_br_02: #0071b2; /*濃いブルー*/
	--color_gy_01: #f4f5f5; /*グレー*/
}
#top_solve_post{
	
}
#top_solve_post .top_solve_post_list{
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-right: 20px;
}
#top_solve_post .top_solve_post_list li{
	background-color: #fff;
	border-radius: 20px;
	width: calc(100% / 3 - 20px);
  	padding: 20px 30px;
}
#top_solve_post .top_solve_category{
	
}
#top_solve_post .top_solve_txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  font-size: 1.8rem;
  margin-top: 20px;
}
.arrow_btn{/* 丸に矢印 */
  	border-radius:50%;
  	display: inline-flex;
 	align-items: center;
  	justify-content: center;
  	width: 36px;
  	height: 36px;
	margin-top: 10px;
}
.top_solve_category{
	border-bottom: 1px dashed #999;
	padding-bottom: 5px;
}
.top_solve_category_domestic-incident{color: var(--color_gr_01);}
.top_solve_category_overwork{color: var(--color_or_01);}

.arrow_domestic-incident{/* 家事事件 */
	color: var(--color_gr_01);
	border: 1px solid var(--color_gr_01)
}
.arrow_overwork{/* 労災・過労死 */
	color: var(--color_or_01);
	border: 1px solid var(--color_or_01)
}
.joint_wrap{
	position: relative;	
}
.joint_wrap figure{
	width: 100%;
}
.joint_wrap figure img{
	width: 100%;
}
.joint_content{
	position: absolute;
	top: 100px;
	right: 100px;
}
.joint_content p{
	background-color: var(--color_yr_01);
	width: 400px;
	border-radius: 20px;
	padding: 30px 20px;
	margin-bottom: 50px;
}

/* ページ
 ====================================================*/

header.page_header{
	text-align: center;
}
header.page_header .ttl{
	font-size: clamp(3rem, -0.364rem + 5.82vw, 4rem);
	letter-spacing: 5px;
}
header.page_header figure{
	width: 50px;
	margin-inline: auto;
}
header.page_header figure.illust_04{/*ふたば*/
	width: 80px;
	margin-inline: auto;
}
header.page_header figure img{
	width: 100%;
}
.page_header_sub{
	margin-top: 30px;
	text-align: center;
}
.page_header_sub .ttl{
	display: inline-block;
	font-size: clamp(2.4rem, 0.818rem + 0.91vw, 3rem);
  	letter-spacing: 5px;
  	border-bottom: 5px dotted var(--base);
}
.page_nav_list{
	display :flex;
	gap: 5px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 20px;
}
.page_nav_list li{
	display :flex;
}
.page_nav_list li a{
	border: 1px solid var(--color_or_01);
  	background-color: #fff;
  	border-radius: 20px;
  	padding: 10px 15px;
}
.page_nav_list li.current a{
	background-color: var(--color_br_01);
  	color: #fff;
}
.page_nav_list li a:hover{
  	background-color: var(--color_br_01);
	color: #fff;
}
.page_nav_list li.active a{
	background-color: var(--color_br_01);
	color: #fff;
}
.page_wrap_01{
	border: 1px solid var(--color_or_01);
	background-color: #fff;
	border-radius: 50px;
	padding: 50px 60px;
	margin-top: 30px;
}
.page_wrap_02{
	background-color: var(--color_gy_01);
	border-radius: 40px;
	padding: 30px 6%;
	margin-top: 30px;	
}
.page_wrap_03{
	background-color: var(--color_pk_02);
  border-radius: 40px;
  padding: 30px 40px;
  margin-top: 5px;
  margin-inline: 40px;
}
.page_ttl_01{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(2rem, -0.398rem + 2.61vw, 2.5rem);
	letter-spacing: 3px;
}
.page_ttl_01::before{
	content: "●";
	color: var(--color_gr_01);
	font-size: 1.8rem;
}
.page_ttl_01::after{
	content: "●";
	color: var(--color_gr_01);
	font-size: 1.8rem;
}
.page_ttl_02{
	display: flex;
	align-items: center;
	font-size: clamp(1.8rem, 0.909rem + 0.45vw, 2rem);
	letter-spacing: 3px;
	margin-top: 35px;
	margin-left: 50px;
}
.page_ttl_02::before{
	content: "●";
	color: var(--color_pk_01);
	font-size: 1.8rem;
}
.page_ttl_03{
	margin-top: 90px;
}
.page_ttl_03::before{
	content: "●";
	color: var(--color_or_01);
	font-size: 1.8rem;
}
.page_ttl_03::after{
	content: "●";
	color: var(--color_or_01);
	font-size: 1.8rem;
}

/* 取扱分野
 ====================================================*/
.service_comment{
	display: flex;
	margin-top: 70px;
	padding-inline: 5%;
}
.service_comment_item{
	width: 25%;
	flex-shrink: 0;
  	padding-inline: 2em;
}
.service_comment_item img{
	width: 100%;
}
.to_solve{
	border-top: 2px dotted var(--base);
	margin-top: 60px;
	padding-block: 30px;
	font-size: 1.8rem;
}

/* はじめての方へ
 ====================================================*/
.first-time_wrap{
	
}
.first-time_wrap .tel{
	width: min(100%, 500px);
}
.first-time_wrap .mail{
	width: min(100%, 400px);
}
.first-time_wrap .hatena_illlust_01 {
  width: 150px;
  position: absolute;
  top: 0;
  left: 20px;
}
.first-time_wrap .hatena_illlust_02 {
  width: 150px;
  position: absolute;
  top: 0;
  right: 20px;
}
.first-time_wrap .hatena_wrap {
	height: auto;
	margin-top: 60px;
}
.first-time_wrap .hatena_con {
  background-color: var(--color_gy_01);
  padding: 3%;
  border-radius: 30px;
}

.first-time_balloon_01 {/* 吹き出しの場所 */
  position: relative;
  display: inline-block;
  margin: 40px 0 30px 30px;;
  padding: 7px 60px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  border-radius: 10px;
  font-size: 2.8rem;
}
.first-time_balloon_02 {
  position: relative;
  display: inline-block;
  margin: 40px 0 30px 0px;
  padding: 7px 60px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  border-radius: 10px;
  font-size: 2.8rem;
  left: 40%;
}

/* 相談票
 ====================================================*/
.consultation-form_wrap{
	text-align :center;
}

/* 感謝の声
 ====================================================*/
.thanks_nav {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
  flex-wrap: wrap;
}
.thanks_nav li {
  display: flex;
  width: calc(100% / 4 - 15px);
  text-align: center;
}
.thanks_nav li a {
  width: 100%
}
.thanks_list {
  display: flex;
  gap: 40px;
  align-items: center;
  padding: 20px 10px;
	line-height: 2.3;
	margin-bottom: 30px;
}
.thanks_list li{
	width: calc(100 / 2 - 10px);
}
.thanks_list .thanks_img{
	background-color: #fff;
	padding: 40px;
}
.thanks_list .thanks_img figure.thanks_item{
	width: 400px
}
.thanks_list .thanks_tape {
  width: 30%;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}

/* 共同親権について
 ====================================================*/
.joint-custody_wrap dl.joint-custody_list{
	padding-inline: 3%;
}
.joint-custody_wrap dl.joint-custody_list dt{
	font-size: clamp(2rem, -0.398rem + 2.61vw, 2.8rem);
	margin-top: 40px;
}
.joint-custody_wrap dl.joint-custody_list dd{
	margin-top: 30px;
  	background-color: var(--color_gy_01);
	padding: 40px 5%;
  	border-radius: 40px;
}
/* QA*/
.joint-custody_list details + details{
	margin-top: 15px;
}
.joint-custody_list summary {
  color: #fff;
  background-color: var(--color_or_01);
  text-align: center;
  padding: 10px;
  border-radius:15px;
  border: 1px solid var(--color_or_01);
	font-size: 1.8rem;
}
.accordion-content {
  display: none;
	margin: 10px;
}
.accordion-header {
  background-color: #FFF;
  padding: 12px 45px 10px 20px;
  margin: 10px 0 0;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
	border-radius:10px;
  border:1px solid #f90;
}
.accordion-header span{
	color: var(--color_or_01)
}
.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right:20px;
  bottom:0;
  width:12px;
  height:2px;
  margin:auto;
  background:#151E2F;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}

.accordion-content {
  background-color: #FFF;
  padding: 12px 20px 10px;
  border-radius:12px;
  border: 1px solid var(--color_gr_01);
}
.accordion-content span{
	color: var(--color_gr_01)
}
/* hover */
.accordion-header:hover {
  background-color: #fff;
}

/* 費用案内
 ====================================================*/
#expenses01,#expenses02,#expenses03,#expenses04,#expenses05,#expenses06{
	margin-top: -100px;
	padding-top: 200px
}
.expenses_table{
	width: 100%;
	background-color: var(--color_gy_01);
	border-radius: 30px;
	padding: 30px;
	margin-top: 20px;
	border-spacing: 0 0px !important;
	border-collapse: collapse !important;
}
.expenses_table caption{
	font-size: 1.9rem;
	font-weight: var(--fb)
}
.expenses_table_02{
	background-color: var(--color_pk_02);
}
.expenses_table th{
	width: 150px;
	background-color: #d9d9d9;
	padding: 20px 30px;
	vertical-align: middle;
}
.expenses_table_02 th{
	background-color: #f4b0b3;
}
.expenses_table th.th_01 {
	border-radius: 30px 0 0 0px;
	border-bottom: 1px dashed var(--base);
}
.expenses_table th.th_02 {
	border-bottom: 1px dashed var(--base);
}
.expenses_table th.th_03 {
	border-radius: 0 0 0 30px;
}
.expenses_table td{
	background-color: var(--color_gy_01);
	border-radius: 30px;
	padding: 20px 30px;
	border-left: 1px dashed var(--base);
	border-bottom: 1px dashed var(--base);
}
.expenses_table_02 td{
	background-color: var(--color_pk_02);
}
.expenses_table td.border-none{
	border-bottom: none
}

/* LGBTについて
 ====================================================*/
.lgbt_green{
	background-color: #c0e2dd;
	padding: 30px;
	border-radius: 30px;
	font-size: 2rem;
	display: table;
	margin-inline: auto;
	margin-bottom: 30px;
}
.lgbt_img_01{
	width: 150px;
	margin-inline:auto;
}
.out_link{
	color: var(--color_br_01)
}
.lgbt_about {
  border: 1px solid #ccc;
  padding: 20px;
  display: flex;
  justify-content: center;
  width: 80%;
  margin: 30px auto;
  gap: 20px;
}
.lgbt_about .lgbt_img_02{
	width: 200px;
}
.lgbt_about dd{
	font-size: 1.3rem;
}

/* わたしたちのこと
 ====================================================*/
.about_list{
	display :flex;
	justify-content: center;
	gap: 20px;
	li{
	width: calc(100% / 3)
}
}
.about_list figure{
	width: 100%;
	margin-bottom: 10px;
}
.about_list figure img{
	border-radius: 20px;
}
.about_list ul{
	width: calc(100% / 3 - 30px)
}
.about_list .name{
	font-size: 2rem;
}
.about_list .name_en{
	font-size: 1.8rem;
}
.about_office{
	.about_office_logo{
		width: 100px;
		margin: 30px auto;
	}
	.about_office_list{
		display: flex;
		flex-wrap: wrap;
		margin-top: 30px;
		gap: 70px;
    	justify-content: space-evenly;
	}
	.about_office_list li{
		width: calc(100% / 2 - 60px);
	}
	.about_office_list li img{
		border-radius: 20px;
	}
}

/* 弁護士紹介 */
.about_profile_wrap{
	padding-inline: 10%;
	.profile_con{
		line-height: 2;
		margin-block: 60px;
	}
	.profile_img_02{
		width: 50%;
	}
	.profile_img_02 img{
		border-radius: 30px;
	}
}
.about_profile{
	display: table;
	margin-inline: auto;
	div{
		width: 40%;
		border-bottom: 5px dotted var(--base);
		padding-bottom: 10px;
		margin-bottom: 30px;
	}
}
.about_profile li{
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-end;
  	justify-content: center;
}
.about_profile li figure{
	width: 50%;
}
.about_profile li figure img{
	border-radius: 30px;
}
.about_profile .name{
	font-size: 2rem;
}
.about_profile .name_en{
	font-size: 1.8rem;
}

/* 過労死・労災
 ====================================================*/
.overwork_wrap {
  text-align: left;
  padding: 25px 5%;
  background-color: var(--color_pk_02);
  border-radius: 30px;
}
.overwork_post_wrap{
	width: auto;
  	margin-inline: auto;
  	display: inline-block;
  	display: table;
  	margin-top: 30px;
}
.overwork_post_wrap .post_date{
	font-size: 1.4rem;
}

/* 解決事例
 ====================================================*/
.solve_post_wrap {
  display: flex;
  gap: 60px;
  padding-inline: 2%;
	.solve_post_title{
		font-size: 3rem;
		line-height: 1.5
	}
	.consultation_group{
		background-color: #faf7d5;
		padding: 30px 5%;
		border-radius: 30px;
		margin-block: 30px;
		.consultation_ttl{
			background-color: #82bc3f;
			color: #fff;
			border-radius: 30px;
			display: table;
			margin: 0px auto 10px;
      		padding: 10px 30px;
		}
	}
	.solution_group{
		.solution_ttl{
      		display: table;
			color: #ff7ba2;
			border-top: 3px dotted #ff7ba2;
			border-bottom: 3px dotted #ff7ba2;
			margin: 30px auto 20px;
      		padding: 10px 30px;
			font-size: 2rem;
		}
	}
	.point_group{
		border: 3px dotted #ff7ba2;
		padding: 20px 5%;
		border-radius: 30px;
		margin-top: 30px;
		.point_ttl{
			background-color: #ff7ba2;
			color: #fff;
			border-radius: 30px;
			display: table;
			margin: 0px auto 10px;
      		padding: 10px 30px;
		}
	}
}
.solve_circle{
	width: 50px;
	margin-inline: auto;
}

/* プライバシーポリシー
 ====================================================*/
.privacy_wrap h2{
	font-size: 2rem;
	margin-top: 30px;
}

/* お問い合わせ
 ====================================================*/
table {
  border-spacing: 0 20px;
  border-collapse: separate;
	  margin-inline: auto;
}
.form_wrap{
	background-color: #f2f2f2;
	padding: 50px 0px;
	margin-top: 60px;
}
.form_wrap select{
	background-color: #999;
  padding: 10px;
  border-radius: 5px;
  color: #fff;
}
.form_foot {
  width: min(100%, 800px);
  margin: 30px auto;
}
.form_foot .txt {
  margin-bottom: 15px;
}
.form_foot .submit input {
  display: table;
  background-color: red;
  margin-top: 30px;
  color: #fff;
  padding: 10px 60px 12px;
  border-radius: 10px;
  border: none;
  font-size: 1.8rem;
  margin-inline: auto;
  text-align: center;
}
.form_foot .submit_02 input {
  padding: 10px 30px 12px;
}
.form_foot .submit .prev input {
  background-color: #666;
}

.form_wrap span.required{
	background-color: var(--color_pk_01);
  	color: #fff;
  	border-radius: 5px;
  	font-size: 1.1rem;
  	padding: 2px 10px 3px;
  	margin-right: 8px;
}
.form_wrap input{
	background-color: #fff;
  	border: 1px solid #ccc;
  	padding: 10px;
  	border-radius: 5px;
}
.form_wrap textarea {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 5px;
}
.form_wrap th{
	vertical-align: middle;
	width: 200px;
	padding-right: 10px;
}
.form_wrap tr{
	margin-bottom: 20px;
}
.form_wrap_02{
	padding: 50px 5%;
}
.form_wrap_02 th{
	padding-right: 30px;
	font-weight: bold;
	font-size: 1.4rem;
}
input[type="radio"] {
  appearance: none;
  display: none;
  opacity: 0;
  width: 1px;
  position: absolute;
  height: 1px;
}
input[type="radio"] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  padding: 10px 11px 8px 36px;
  border-radius: 4px;
}
input[type="radio"] + span::before,
input[type="radio"] + span::after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 10px auto 0;
  box-sizing: border-box;
}
input[type="radio"] + span::before {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 2px solid #ccc;
  left: 9px;
}
input[type="radio"] + span::after {
  width: 10px;
  height: 10px;
  background: #999999;
  left: 14px;
  opacity: 0;
}
input[type="radio"]:checked + span::before {
  border: 2px solid #ccc;
}
input[type="radio"]:checked + span::after {
  background: #48B12A;
  opacity: 1;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 10% 1em !important;
}
.submit{
	display :flex;
	justify-content: center;
  gap: 30px;
}
/*--チェック--*/
input[type="checkbox"] {
  opacity:0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
input[type="checkbox"] + span::before {
  display: inline-block;
content: '';
width: 20px;
height: 20px;
border: 2px solid #A5C49D;
border-radius: 5px;
margin-right: 5px;
background-color: #fff;
	position: relative;
top: 5px;
}
input[type="checkbox"]:checked + span::before {
  background-image: url("../img/form/check.svg");
  background-repeat: no-repeat;
  background-position: 3px;
}
.privacy_check{
	font-size: 1.4rem;
}
.privacy_check a{
	color: #E16C49;
}
.checkboxList span{
	font-size: 1.6rem;
line-height: 1;
display: flex;
align-items: center;
}
.wpcf7-not-valid-tip {
  color: #f00 !important;
  font-size: 1.2rem !important;
}

/* リンク
 ====================================================*/
.link_wrap{
	display: table;
	margin-inline: auto;
	text-align: left;
}
.link_wrap a{
	color: var(--color_br_02)
}
/* sp トップ
 =====================*/
@media screen and (max-width: 767px) {
.slider_img img {
  height: 70vh;
}
.top_info_kotei {
  left: 5%;
  width: 90%;
}
.news_con {
  gap: 30px;
  flex-flow: column;
}
.top_hukidashi_nav img {
  width: 130px;
}
.top_hukidashi_nav img.nav_06 {
  width: 120px;
}
.fukidashi_ttl {
  top: 10px;
  left: auto;
  transform: translateX(0%);
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  writing-mode: vertical-rl;
  font-size: 30px;
  line-height: 1.3;
  right: 10px;
}
/* おまかせください */
.top_hukidashi_nav_wrap {
  height: 650px;
}
.top_hukidashi_nav img.nav_01{/*感謝の声*/
    top: 180px;
    bottom: auto;
    left: 10px;
    z-index: 1;
}
.top_hukidashi_nav img.nav_02{
    top: 50px;
    bottom: auto;
    left: auto;
    right: 210px;
}
.top_hukidashi_nav img.nav_03{
  	top: 0;
	bottom: auto;
  	left: auto;
  	right: 80px;
}
.top_hukidashi_nav img.nav_04{/*解決事例*/
    bottom: 200px;
    right: auto;
    left: 0;
    z-index: 1;
}
.top_hukidashi_nav img.nav_05{
    bottom: 170px;
    right: auto;
    left: 120px;
    top: 320px;
    z-index: 1;
}
.top_hukidashi_nav img.nav_06{
    top: 320px;
    bottom: auto;
    right: 10px;
    z-index: 1;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph_01 {
  top: auto;
  bottom: 55px;
  left: 10px;
  right: auto;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph_02 {/* 皆川先生 */
  top: 140px;
  bottom: auto;
  left: auto;
  right: 50px;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph_03 {
	top: auto;
    bottom: 35px;
    left: auto;
    right: -20px;
}
.top_hukidashi_nav_wrap .top_hukidashi_ph img {
  width: 80% !important;
}
	
/* top　背景 */
.top_back_01 {
  top: 520px;
}
.top_back_02 {
  top: 1100px;
}
.top_back_03 {
  top: 2250px;
}
.message_wrap{
	margin-top: 50px;
}
.message_wrap .b_ttl{
	font-size: 2.4rem;
  	margin-top: 10px;
  	letter-spacing: 1px;
}
.message_content {
  flex-flow: column;
}
.message_content figure {
  width: 100%;
}
.message_content {
  flex-direction: column-reverse;
}
.service_wrap {
  margin-top: 50px;
	padding-bottom: 30px;
}
.lgbt_wrap {
  height: 650px;
  _background-color: #fffad9;
}
.lgbt_content {
  top: 400px;
	left: 0;
  margin: auto;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.lgbt_content p {
  width: 90%;
  margin: auto;
}	
.solution_wrap {
  flex-direction: column-reverse;
}
.joint_wrap figure {
  margin-bottom: 20px;
}
.joint_wrap figure img {
  height: 300px;
  object-fit: cover;
}
.joint_content {
  position: initial;
}
.joint_content p {
  width: 90%;
  padding: 20px 20px;
  margin: 0px auto;
}
/* サービス */
.service_card article{
	width: 100%;
	padding: 5% 2%;
}
.service_btn{
	margin: 0 auto;
}
/* 解決事例 */
#top_solve_post .top_solve_post_list{
	margin-right: 0;
}
#top_solve_post .top_solve_post_list li {
  width: 100%;
}
#top_solve_post .top_solve_txt {
  font-size: 1.6rem;
}
/* お知らせ */
#top_news_post .top_news_list{
	margin-top: 0;
}
.top_news_list li {
  flex-flow: column;
}
.top_news_list .top_post_title {
  font-size: 1.4rem !important;
}
/* sp ページ
 ====================================================*/
.page_wrap_01 {
  border-radius: 40px;
  padding: 30px 20px;
}
.page_wrap_02 {
  padding: 30px 5%;
	border-radius: 30px;
}
.page_wrap_03 {
  border-radius: 30px;
  padding: 30px 5%;
  margin-inline: 0px;
}
.page_ttl_02 {
  letter-spacing: 2px;
  margin-top: 35px;
  margin-left: 0px;
}

/* sp 取扱分野
 ====================================================*/
.service_comment {
  padding-inline: 5%;
  flex-wrap: wrap;
  justify-content: center;
}
.service_comment_item {
  width: 60%;
  padding-inline: 5%;
  margin-bottom: 20px;
}
	
/* sp LGBTについて
 ====================================================*/
.lgbt_about {
  width: 100%;
  flex-flow: column;
	.lgbt_img_02 {
		width: 100px;
		margin-inline: auto;
}
}
	
/* sp わたしたちのこと
 ====================================================*/
.about_list {
  flex-flow: column;
  & li {
    width: 90%;
    margin-inline: auto;
  }
}	
.about_office {
  & .about_office_list li {
    width: 100%;
    line-height: 1.7;
  }
  & .about_office_list li figure{
    margin-block: 10px 5px;
  }
  & .about_office_list {
    gap: 10px;
  }
}	
.about_profile {
  width: 90%;
}
.about_profile li {
  align-items: first baseline;
  flex-flow: column;
  width: 100%;
}	
.about_profile li figure {
  width: 100%;
}
.about_profile div {
    width: 100%;
    margin-top: 10px;
  }
.about_profile_wrap .profile_img_02 {
    width: 100%;
}
.expenses_table{/*費用案内　table*/
	border-spacing: 0 0px;
	padding: 5%;
}
.expenses_table td {
  border-radius: 0px;
  border-left: 1px dashed var(--base);
  border-right: 1px dashed var(--base);
}
.expenses_table th.th_01 {
  border-radius: 30px 30px 0 0px;
  border-bottom: 1px dashed var(--base);
}
.expenses_table td {
  width: 100%;
  display: block;
}
.expenses_table th {
  width: 100%;
  display: block;
}
.expenses_table th.th_03 {
  border-radius:0 0 0 0px;
}
.expenses_table td.border-none {
  border-bottom: 1px dashed var(--base);
}
	
/* sp ブログ 解決事例
 ====================================================*/
.solve_post_wrap {
  flex-flow: column;
}
.side {
  width: 100%;
  flex-shrink: 0;
}
	
/* sp はじめての方
 ====================================================*/
.first-time_balloon_01, .first-time_balloon_02 {
	margin: 40px 0 30px 0px;
  	padding: 7px 60px 15px;
  	font-size: 2rem;
  	line-height: 1.5;
  	left: 50%;
}
.first-time_wrap .hatena_illlust_01, .first-time_wrap .hatena_illlust_02, .first-time_wrap .hatena_illlust_03 {
  width: 100px;
  top: -50px;
  left: 20px;
}
.first-time_wrap .hatena_con {
  background-color: var(--color_gy_01);
  padding: 5%;
  border-radius: 30px;
}

/* sp 感謝の声
 ====================================================*/
.thanks_nav li {
  	width: auto;
}
.thanks_list {
	flex-flow: column;
	gap: 10px;
}
.thanks_list .thanks_img figure.thanks_item {
  	width: 100%;
}
.thanks_list .thanks_img {
  	padding: 20px 3%;
}

/* sp 共同親権
 ====================================================*/
.joint-custody_wrap dl.joint-custody_list{
	padding-inline: 0%;
}

/* sp お問い合わせ
 =====================*/
.form_wrap {
	width: 100%;	
  padding: 10px 5%;
}
.form_wrap input, .form_wrap textarea {
	width: 100%;	
}
.form_wrap table{
	width: 100%;
}
.form_wrap table th,.form_wrap table td{
	width: 100%;
	display: block;
}
	
	.form_calendar input{
		width: auto;
	}

}/* //sp media */
