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

html {
	font-size: 100%;
}

body {
	color: #1C4D50;
	font-family: 'Noto Sans JP', sans-serif;
	overflow-x: hidden;
}

img {
	width: 100%;
}

hr {
	margin: 0 0 24px 0;
	border-top: #1C4D50 solid 1px;
	position: relative;
	overflow: visible;
}

hr::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background-color: #1C4D50;
	border-radius: 50%;
	position: absolute;
	left: -3px;
	top: -3px;
}

hr::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background-color: #1C4D50;
	border-radius: 50%;
	position: absolute;
	right: -3px;
	top: -3px;
}

.w1160 {
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
}

.dib {
	display: inline-block;
}

.w768_db {
	display: none;
}

.title_wrapper {
	text-align: center;
}

.title {
	display: inline-block;
	padding-bottom: 16px;
	margin: 0 auto;
	border-bottom: #4EA98A solid 1px;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .4rem;
	position: relative;
}

.title::before {
	content: "";
	width: 6px;
	height: 6px;
	background-color: #4EA98A;
	border-radius: 50%;
	position: absolute;
	left: -3px;
	bottom: -3px;
}

.title::after {
	content: "";
	width: 6px;
	height: 6px;
	background-color: #4EA98A;
	border-radius: 50%;
	position: absolute;
	right: -3px;
	bottom: -3px;
}

.title_green {
	color: #4EA98A;
}

.text_green {
	color: #00A96E;
}

.fz2rem {
	font-size: 2rem;
	line-height: 1;
}

/*HEADER
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.fixed_bottom {
	display: none;
}

header {
	width: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
}

.header_top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1160px;
	height: 80px;
	padding: 0 24px;
	margin: 0 auto;
}

h1 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1rem;
}

.header_right_pc {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.header_right_mb {
	display: none;
}

.header_btn {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 206px;
	height: 59px;
	padding-left: 24px;
	margin-right: 24px;
	border-radius: 40px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2rem;
}

.header_btn:last-of-type {
	margin-right: 0;
}

.header_btn_text {
	color: #1C4D50;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2rem;
}

.header_btn_text span {
	display: block;
	font-size: .75rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: normal;
}

.header_icon {
	width: 32px;
	height: 32px;
	margin-right: 8px;
	color: #1C4D50;
	background-color: #fff;
	border: #1C4D50 solid 1px;
	border-radius: 50%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: relative;
}

.header_icon i {
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%,-50%);
}

.header_btn img {
	width: 32px;
	height: 32px;
	margin-right: 8px;
}

.header_btn_mail,
.header_btn_line {
	border: transparent solid 3px;
	transition: all .6s;
}

.header_btn_mail:hover,
.header_btn_line:hover {
	border: #1C4D50 solid 3px;
}

.header_btn_tel {
	background-color: #1C4D50;
}

.header_btn_tel .header_btn_text {
	color: #fff;
	letter-spacing: normal;
}

.header_btn_mail {
	background-color: #FDF362;
}

.header_btn_line {
	background-color: #1DCD00;
}

.header_btn_line .header_btn_text {
	color: #fff;
}

nav {
	width: 100%;
	background-color: #4EA98A;
}

nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 948px;
	height: 40px;
	margin: 0 auto;
}

nav ul li {
	padding: 0 40px;
	border-right: #fff solid 1px;
}

nav ul li:first-of-type {
	padding: 0 40px 0 0;
}

nav ul li:last-of-type {
	padding: 0 0 0 40px;
	border-right: none;
}

nav ul li a {
	margin-right: 40px;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .1rem;
	position: relative;
	z-index: 1;
}

nav ul li a:last-of-type {
	margin-right: 0px;
}

nav ul li a::after {
	content: "";
	width: 100%;
	height: 5px;
	background-color: #FDF362;
	position: absolute;
	bottom: -2px;
	left: 0;
	transform: scaleY(0);
	transform-origin: center;
	transition: all .4s;
	z-index: -1;
}

nav ul li a:hover::after {
	transform: scaleY(1);
}

/*TOP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#top {
	margin-top: 120px;
	/* height: 520px;
	margin-top: 120px;
	background-image: url("../images/top_bg02.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: 25%;
	position: relative; */
	margin-top: ;
}

.top_container {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	height: 100%;
}

.top_emblem {
	width: 240px;
	position: absolute;
	left: 60px;
	top: 10px;
}

.top_human {
	width: 100%;
	max-width: 312px;
	position: relative;
}

.top_human::before {
	content: "司法書士　石田智嗣";
	display: block;
	width: 194px;
	height: 52px;
	color: #fff;
	background-color: rgba(28,77,80,.6);
	text-align: center;
	font-size: .875rem;
	font-weight: 700;
	line-height: 52px;
	position: absolute;
	bottom: 0;
	left: -88px;
}

.top_content {
	width: 100%;
	max-width: 700px;
	text-align: center;
}

.top_content h2 {
	width: 100%;
	max-width: 700px;
	margin-bottom: 16px;
}

.top_content_text {
	max-width: 660px;
	margin: 0 auto 24px;
}

.top_content h2 img:last-child,
.top_content_text img:last-child {
	display: none;
}

@media (max-width: 767px) {
	
}

/*よくあるご相談
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#consultation {
	padding: 64px 60px;
	background-image: url("../images/consultation_bg.png");
	background-size: cover;
	background-repeat: no-repeat;
}

.consultation_container {
	padding: 64px 12px;
	background-color: #fff;
	border: #1C4D50 solid 4px;
	border-radius: 20px;
}

.consultation_content {
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
}

.consultation_content h2 {
	margin-bottom: 48px;
}

.consultation_content ul {
	list-style: none;
	padding-bottom: 72px;
	margin-bottom: 16px;
	position: relative;
}

.consultation_content ul::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 20px 0 20px;
	border-color: rgba(78,169,138,.5) transparent transparent transparent;
	position: absolute;
	left: 50%;
	bottom: 32px;
	transform: translateX(-50%);
}

.consultation_content ul::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 20px 0 20px;
	border-color: #4EA98A transparent transparent transparent;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

.consultation_content ul li {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: #4EA98A solid 1px;
	font-size: 1.125rem;
	line-height: 2;
	letter-spacing: .1rem;
}

.consultation_content ul li:last-child {
	margin-bottom: 0;
}

.consultation_content ul li i {
	font-size: 1.75rem;
	margin-right: 16px;
}

.bb_yellow {
	font-weight: 700;
	position: relative;
	z-index: 1;
}

.bb_yellow::after {
	content: "";
	width: 100%;
	height: 10px;
	background-color: #FDF362;
	border-radius: 5px;
	position: absolute;
	bottom: 0px;
	left: 0;
	z-index: -1;
}

.consultation_content h3 {
	width: 100%;
	padding: 16px 0;
	margin-bottom: 24px;
	background: rgba(253,243,98,.3);
	border: #1C4D50 solid 2px;
	border-radius: 10px;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: .15rem;
}

.consultation_content h3 span {
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: .2rem;
}

.consultation_content p {
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

/*解決事例
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#case {
	padding: 64px 60px;
	background-image: url("../images/case_bg.png");
	background-size: cover;
	background-repeat: no-repeat;
}

#case h2 {
	margin-bottom: 64px;
}

.case_content {
	padding: 48px 100px;
	margin-bottom: 64px;
	background: #fff;
	border: #1C4D50 solid 2px;
	border-radius: 10px;
}

.bg_yerrow {
	background: #FFFEEF;
}

.case_content_top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

.case_content_top img {
	width: 160px;
	margin-right: 40px;
}

.case_content_top_text {
	width: 100%;
	max-width: 781px;
	text-align: center;
}

.case_content_top_text h3 {
	width: 100%;
	margin-bottom: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2rem;
}

.case_content_top_text p {
	width: 100%;
	padding: 16px 0;
	background-color: #FDF362;
	border: #1C4D50 solid 2px;
	border-radius: 80px;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: .1rem;
}

.case_content_bottom {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
}

/*ご相談ください
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.spacing {
	padding: 64px 24px;
	background-image: url("../images/spacing_bg.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.spacing h2 {
	display: block;
	width: 100%;
	max-width: 760px;
	margin: 0 auto 40px;
	text-align: center;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: .4rem;
	position: relative;
	z-index: 1;
}

.spacing h2::before {
	content: "";
	width: 100%;
	height: 24px;
	background: #FDF362;
	position: absolute;
	left: 0;
	bottom: -8px;
	z-index: -1;
}

.spacing_content {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.spacing_content_top {
	width: 100%;
	height: 98px;
	margin-bottom: 24px;
}

.spacing_content_top a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 98px;
	color: #fff;
	background-color: #1C4D50;
	border-radius: 100px;
	box-shadow: 3px 3px 0px 0px #FDF362;
	transition: all .4s;
}

.spacing_content_top a:hover {
	transform: translate(3px,3px);
	box-shadow: 0px 0px 0px 0px;
}

.spacing_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 338px;
}

.spacing_icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 56px;
	height: 56px;
	color: #1C4D50;
	background: #fff;
	border-radius: 50%;
}

.spacing_icon i {
	font-size: 2rem;
}

.spacing_text {
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
}

.spacing_content_bottom .spacing_text {
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .2rem;
}

.spacing_text span {
	display: block;
	width: 100%;
	margin-bottom: 8px;
	font-size: 1rem;
	letter-spacing: .4rem;
}

.spacing_content_bottom {
	display: flex;
	justify-content: space-between;
}

.spacing_content_bottom a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 360px;
	height: 98px;
	margin-bottom: 24px;
	color: #1C4D50;
	border: transparent solid 3px;
	border-radius: 80px;
	transition: all .4s;
	box-shadow: 3px 3px 0px 0px #1C4D50;
	position: relative;
}

.spacing_content_bottom a:hover {
	box-shadow: 0px 0px 0px 0px;
	transform: translate(3px,3px);
}

.spacing_content_bottom a:first-of-type {
	color: #1C4D50;
	background-color: #FDF362;
}

.spacing_content_bottom a:first-of-type .spacing_icon {
	border: #1C4D50 solid 1px;
}

.spacing_content_bottom a:last-of-type {
	color: #fff;
	background-color: #1DCD00;
}

.spacing_content_bottom a .spacing_text span {
	height: auto;
	letter-spacing: .2rem;
	transform: scale(1);
	transition: all .4s;
	opacity: 1;
}

/*
.spacing_content_bottom a:hover .spacing_text span {
	height: 0;
	margin-bottom: 0;
	transform: scaleY(0);
	opacity: 0;
}

*/
.spacing_content_bottom a:first-of-type .spacing_wrapper {
	width: 296px;
}

.spacing_content_bottom a:last-of-type .spacing_wrapper {
	width: 289px;
}

.spacing_content_bottom a:last-of-type .spacing_icon {
	background-color: transparent;
}

/*4つの特徴
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#feature {
	padding: 64px 60px;
	background-color: rgba(78,169,138,.05);
}

#feature h2 {
	margin-bottom: 64px;
}

.feature_container {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 960px;
	margin: 0 auto 40px;
}

.feature_container:last-of-type {
	margin: 0 auto;
}

.feature_content {
	width: 100%;
	max-width: 460px;
	padding: 24px 16px;
	margin-right: 40px;
	background-color: #fff;
	border: #1C4D50 solid 2px;
	border-radius: 10px;
	text-align: center;
	box-shadow: 3px 3px 0px 0px #4EA98A;
}

.feature_content:last-of-type {
	margin-right: 0;
}

.feature_content img {
	width: auto;
	height: 128px;
	margin-bottom: 8px;
}

.feature_content h3 {
	margin-bottom: 16px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2rem;
}

.feature_content p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
}

.feature_container:last-of-type .feature_content:last-of-type p {
		text-align: left;
	}


/*相談から解決の流れ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#flow {
	padding: 64px 60px;
}

#flow h2 {
	margin-bottom: 84px;
}

.flow_container {
	display: flex;
	justify-content: space-between;
}

.flow_content {
	width: 100%;
	max-width: 260px;
	padding: 32px 16px;
	margin-right: 40px;
	border: #1C4D50 solid 2px;
	border-radius: 10px;
	position: relative;
}

.flow_content:nth-of-type(1) {
	background-color: rgba(253,243,98,.25);
}

.flow_content:nth-of-type(2) {
	background-color: rgba(253,243,98,.5);
}

.flow_content:nth-of-type(3) {
	background-color: rgba(253,243,98,.75);
}

.flow_content:nth-of-type(4) {
	margin-right: 0;
	background-color: rgba(253,243,98,1);
}

.flow_content:nth-of-type(4) p {
	font-weight: 700;
}

.flow_content::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 24px;
	border-color: transparent transparent transparent #1c4d50;
	position: absolute;
	top: 50%;
	right: -34px;
	transform: translateY(-50%);
}

.flow_content:last-of-type::after {
	content: none;
}

.flow_num {
	width: 180px;
	height: 40px;
	text-align: center;
	color: #fff;
	background-color: #4EA98A;
	border: #1C4D50 solid 1px;
	border-radius: 40px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 40px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}

.flow_content img {
	margin-bottom: 8px;
}

.flow_content h3 {
	margin-bottom: 16px;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2rem;
}

.flow_content p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
}


/*費用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#cost {
	padding: 64px 24px;
	background-image: url("../images/cost_bg.png");
	background-size: cover;
}

#cost h2 {
	margin-bottom: 64px;
}

.cost_content {
	width: 100%;
	max-width: 960px;
	padding: 24px 16px;
	margin: 0 auto;
	background-color: #fff;
	border: #1C4D50 solid 2px;
	border-radius: 10px;
	box-shadow: 3px 3px 0px 0px #4EA98A;
}

.cost_content h3 {
	margin-bottom: 16px;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .4rem;
}

.cost_content p {
	margin-bottom: 18px;
	text-align: center;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2.2;
	letter-spacing: .2rem;
}

.cost_content p span {
	font-size: 1rem;
}

.cost_content small {
	display: block;
	text-align: center;
	font-size: .75rem;
	font-weight: 400;
	line-height: 2;
}

/*よくある質問
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#qa {
	padding: 64px 24px;
	background-color: rgba(78,169,138,.05);
}

#qa h2 {
	margin-bottom: 64px;
}

#qa h3 {
	padding: 16px 0 16px 72px ;
	color: #fff;
	background: #4EA98A;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 2;
	position: relative;
}

#qa h3::before {
	content: "";
	width: 24px;
	height: 24px;
	background-image: url("../images/qa_q.png");
	background-size: 100%;
	background-repeat: no-repeat;
	position: absolute;
	top: 16px;
	left: 24px;

}

#qa p {
	padding: 16px 0 16px 72px;
	margin-bottom: 24px;
	color: #1C4D50;
	background: #fff;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: .1rem;
	position: relative;
}

#qa p::before {
	content: "";
	width: 24px;
	height: 24px;
	background-image: url("../images/qa_a.png");
	background-size: 100%;
	background-repeat: no-repeat;
	position: absolute;
	top: 16px;
	left: 24px;
}

/*司法書士プロフィール
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#profile {
	padding: 64px 24px;
	background-image: url("../images/profile_bg.png");
	background-size: cover;
	background-repeat: no-repeat;
}

#profile h2 {
	margin-bottom: 64px;
}

.profile_container {
	display: flex;
	justify-content: space-between;
}

.profile_img {
	width: 100%;
	max-width: 260px;
	margin-right: 40px;
}

.profile_text {
	width: 100%;
	max-width: 860px;
	padding: 16px;
	background-color: #fff;
	border: #1C4D50 solid 2px;
	border-radius: 10px;
	box-shadow: 3px 3px 0px 0px #4EA98A;
}

.profile_text p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
}

/*お問い合わせ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#contact {
	padding: 64px 24px;
	background-color: rgba(78,169,138,.05);
}

#contact h2 {
	margin-bottom: 64px;
}

.contact_container {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}

.contact_form {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}

#wpcf7-f20-o1,
#wpcf7-f47-o2{
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.form_wrap {
	margin-bottom: 24px;
}

.form_text {
	margin-bottom: 16px;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: normal;
}

.mandatory {
	display: inline-block;
	width: 40px;
	height: 27px;
	margin-right: 24px;
	color: #fff;
	background: #4EA98A;
	text-align: center;
	font-size: .75rem;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: normal;
}

input, select, textarea {
	width: 100%;
	border: #696666 solid 1px;
	border-radius: 5px;
}

input,select {
	height: 40px;
	padding-left: 16px;
}

.wpcf7-list-item {
	position: relative;
	margin: 0 24px 0 0!important;
}
.form_date {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 24px;
}

.form_desired {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.form_date span {
	margin-right: 24px;
	font-size: 1rem;
}

.form_date span.wpcf7-form-control-wrap {
	max-width: 256px;
	margin-right: 40px;
}

.form_date span.wpcf7-form-control-wrap:last-child {
	margin-right: 0;
}

select {
	width: 256px;
}

textarea {
	height: 160px;
}

.submit_wrap {
	display: block;
	max-width: none;
	height: 56px;
	margin: 0 auto;
	color: #030D7B;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: .4rem;
	z-index: 0;
	position: relative;
}

.submit_wrap span {
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.common_btn {
	width: 100%;
	max-width: 640px;
	height: 50px;
	background-color: #fff;
	border: #1C4D50 solid 2px;
	border-radius: 5px;
	box-shadow: 3px 3px 0px 0px #4EA98A;
	position: relative;
	transition: all .4s;
}

.common_btn::after {
	content: "送信する";
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: .4rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.common_btn:hover {
	background-color: #1C4D50;
}

.common_btn:hover::after {
	color: #fff;
}

input[type="submit"] {
	opacity: 0;
	width: 100%;
	height: 56px;
	z-index: 3;
	position: absolute;
	top: 0;
}

.checkbox_wrap {
	display: flex;
	align-items: center;
	margin-bottom: 24px;
	line-height: 1.5;
}

input[type="checkbox"] {
	width: 24px;
	height: 24px;
	border-radius: 5px;
}

.checkbox_wrap a{
	color: #fff;
	text-decoration: underline;
	opacity: 1;
	transition: all .4s;
}

.checkbox_wrap a:hover{
	opacity: .7;
}

.scroll-box {
	padding: 16px;
	margin-bottom: 16px;
}

.scroll-box p {
	line-height: 2;
}

/*運営者概要
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#overview {
	padding: 64px 24px;
	background: #fff;
}

#overview h2 {
	margin-bottom: 64px;
}

#overview table {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

#overview table tr {
	border-bottom: #1C4D50 solid 1px;
}

#overview table tr:first-of-type {
	border-top: #1C4D50 solid 1px;
}

#overview table tr th,
#overview table tr td
{
	padding: 24px 0;
	text-align: left;
}

#overview table tr th {
	width: 160px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2;
}

#overview table tr td {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

/*footer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

footer {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 52px;
	background-color: #1C4D50;
}

footer p small {
	display: block;
	color: #fff;
	text-align: center;
	font-size: .75rem;
	font-weight: 400;
}

/*THANKS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#thanks {
	padding: 64px 24px;
	margin-top: 120px;
}

#thanks h2 {
	margin-bottom: 64px;
	line-height: 1.5;
	letter-spacing: .4em;
}

#thanks p {
	margin-bottom: 20px;
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: .1rem;
}

#thanks p:last-of-type {
	margin-bottom: 0;
}

@media (max-width: 1280px) {
	
	/*ハンバーガーボタン*/
	
	.nav_btn {
		display: block;
		width: 80px;
		height: 80px;
		background: transparent;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 10000;
		transition: all .4s;
	}
	
	.nav_btn.open {
		background: #1C4D50;
	}
	
	.nav_btn span {
		width: 47px;
		margin: 0 auto;
		border-top: #1C4D50 solid 2px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all .4s;
	}
	
	.nav_btn span:first-child {
		top: 17px;
	}
	
	.nav_btn span:last-child {
		top: 34px;
		display: flex;
		justify-content: center;
	}
	
	.nav_btn.open span:first-child {
		width: 50%;
		border-top: #fff solid 2px;
		left: 50%;
		transform: translate(-50%,10px) rotate(-45deg);
	}
	
	.nav_btn.open span:last-child {
		width: 50%;
		border-top: #fff solid 2px;
		left: 50%;
		transform: translate(-50%,-6px) rotate(45deg);
	}
	
	.nav_btn::after {
		content: "MENU";
		display: block;
		color: #1C4D50;
		font-weight: 700;
		position: absolute;
		bottom: 17px;
		left: 50%;
		transform: translateX(-50%);
		transition: all .4s;
	}
	
	.nav_btn.open::after {
		content: "CLOSE";
		color: #fff;
	}
	
	.header_right_pc {
		display: none;
	}
	
	nav {
		width: 100%;
		height: 100%;
		padding: 0 24px;
		background: #fff;
		position: fixed;
		top: 0;
		right: -100%;
		transition: all .4s;
	}
	
	nav.open {
		right: 0;
	}
	
	nav .nav_wrapper {
		display: block;
		width: calc(100% - 48px);
		max-width: 328px;
		height: calc(100% - 80px);
		position: absolute;
		top: calc(50% + 40px);
		left: 50%;
		transform: translate(-50%,-50%);
		overflow-y: scroll;
	}
	
	nav ul {
		display: block;
		height: auto;
	}
	
	nav ul li,
	nav ul li:first-of-type,
	nav ul li:last-of-type{
		padding: 0;
	}
	
	nav ul li:last-of-type{
		margin-bottom: 16px;
	}
	
	nav ul li a {
		display: block;
		width: 100%;
		height: 40px;
		color: #1C4D50;
		text-align: center;
		line-height: 40px;
	}
	
	nav ul li a::after {
		content: none;
	}
	
	.header_right_mb {
		display: block;
	}
	
	.header_btn {
		justify-content: center;
		width: 100%;
		padding-left: 0;
		margin-bottom: 16px;
	}
	
	/*TOP*/
	
	#top {
		/* padding: 0 60px 0; */
		margin-top: 80px;
	}
	
	.top_container {
		justify-content: space-between;
	}
	
	.top_emblem {
		width: 176px;
	}
	
	.top_human {
		max-width: 200px;
		min-width: 200px;
	}
	
	.top_content {
		display: flex;
		flex-direction: column;
		align-self: center;
		max-width: none;
	}
	
	.top_content h2 {
		margin: 0 auto 16px;
	}
	
	.bb_yellow {
		background-image: linear-gradient(transparent 70%, #FDF362 10px);
	}
	
	.bb_yellow::after {
		content: none;
	}
	
	.case_content_top {
		flex-direction: column;
	}
	
	.case_content_top img {
		margin-right: 0;
		margin-bottom: 16px;
	}
	
	.case_content_top_text .text_green {
		display: inline-block;
		letter-spacing: .3rem;
	}
	
	.flow_container {
		flex-direction: column;
	}
	
	.flow_content {
		max-width: none;
		margin-right: 0;
		margin-bottom: 76px;
	}
	
	.flow_content::after {
		border-width: 24px 20px 0 20px;
		border-color: #1c4d50 transparent transparent transparent;
		top: auto;
		right: auto;
		left: 50%;
		bottom: -40px;
		transform: translateX(-50%);
	}
}/*max-width: 1280px*/

@media (max-width: 768px) {
	
	.w768_dn {
		display: none;
	}
	
	.w768_db {
		display: block;
	}
	
	#top {
		height: auto;
		/* padding: 0px 24px 0; */
	}
	
	.top_container {
		flex-direction: column-reverse;
	}
	
	.top_emblem {
		width: 240px;
		top: auto;
		left: 24px;
		bottom: 26px;
	}
	
	.top_human::before {
		width: 152px;
		height: 36px;
		line-height: 36px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.top_content h2 {
		margin: 0 auto 29px;
	}
	
	.top_content_text img:first-child {
		display: none;
	}
	
	.top_content_text img:last-child {
		display: inline;
	}
	
	#consultation,
	#case,
	#feature,
	#flow{
		padding: 64px 24px;
	}
	
	.consultation_content p {
		text-align: left;
	}
	
	.case_content {
		padding: 48px 8px;
	}
	
	.spacing_content_bottom {
		display: block;
	}
	
	.spacing_content_bottom a {
		max-width: none;
	}
	
	.spacing_content_bottom a:last-of-type {
		margin-bottom: 0;
	}
	
	.feature_container {
		display: block;
	}
	
	.feature_content {
		max-width: none;
		margin-bottom: 40px;
	}
	
	.feature_content:last-of-type {
		margin-bottom: 0;
	}
	
	.profile_container {
		display: block;
	}
	
	.profile_img {
		margin: 0 auto 40px;
	}
	
	.form_small {
		display: inline-block;
		padding-left: 64px;
		font-size: .875rem;
	}
}/*max-width: 768px*/

@media (max-width:550px) {
	
	.fixed_bottom {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		padding: 8px 16px;
		background-color: #DDE4E5;
		position: fixed;
		left: 0;
		bottom: -72px;
		z-index: 5000;
		transition: all.4s;
	}
	
	.fixed_bottom.isActive {
		bottom: 0;
	}
	
	.fixed_btn {
		width: calc(100% - 8px);
		height: 64px;
		padding-top: 8px;
		margin-right: 8px;
		text-align: center;
		border-radius: 20px;
		box-shadow: 1px 1px 0px 0px #1C4D50;
	}
	
	.fixed_btn_tel {
		background-color: #1C4D50;
		color: #fff;
	}
	
	.fixed_btn_mail {
		color: #1C4D50;
		background-color: #FDF362;
	}
	
	.fixed_btn_line {
		margin-right: 0;
		color: #fff;
		background-color: #1DCD00;
	} 
	
	.fixed_icon {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 32px;
		height: 32px;
		margin: 0 auto 4px;
		background: #fff;
		border: #1C4D50 solid 1px;
		border-radius: 50%;
	}
	
	.fixed_btn_tel .fixed_icon {
		color: #1C4D50;
	}
	
	.fixed_bottom img {
		display: block;
		width: 32px;
		margin: 0 auto 4px;
	}
	
	.fixed_btn_text {
		font-size: .875rem;
		font-weight: 700;
	}
	
	.top_content h2 img:first-child {
	display: none;
	}
	
	.top_content h2 img:last-child {
		display: inline;
	}
	
	
	.spacing_text {
		font-size: 2rem;
	}
	
	.title,
	.consultation_content h3 span,
	.fz2rem{
		font-size: 1.5rem;
	}
	
	h1,
	.consultation_content h3,
	.case_content_top_text h3,
	.case_content_top_text p{
		font-size: 1.125rem;
	}
	
	.consultation_content ul li {
		font-size: 1rem;
	}
	
	.header_top {
		padding: 0 80px 0 24px;
	}
	
	.top_emblem {
		width: 176px;
	}
	
	.top_human {
		max-width: 136px;
		min-width: 136px;
	}
	
	.consultation_content ul li {
		letter-spacing: normal;
	}
	
	.consultation_content h3,
	.consultation_content h3 span{
		letter-spacing: normal;
	}
	
	.spacing_content_top a,
	.spacing_content_bottom a{
		justify-content: flex-start;
		padding-left: calc(24 / 550 * 100vw);
	}
	
	.spacing_wrapper,
	.spacing_content_bottom a:first-of-type .spacing_wrapper,
	.spacing_content_bottom a:last-of-type .spacing_wrapper{
		width: auto;
	}
	
	.spacing_icon {
		margin-right: 8px;
	}
	
	.spacing h2 {
		font-weight: 700;
		letter-spacing: .2rem;
	}
	
	.spacing_text {
		letter-spacing: normal;
	}
	
	.spacing_text span {
		letter-spacing: .2rem;
	}
	
	.feature_content{
		min-height: 353px;
	}
	
	.flow_content,
	.flow_content:nth-of-type(4){
		max-width: 260px;
		min-height: 442px;
		margin: 0 auto 76px;
	}
	
	.flow_content:nth-of-type(4){
		margin: 0 auto;
	}
	
	.cost_content p {
		letter-spacing: normal;
	}
	
	.cost_content small {
		text-align: left;
	}
	
	#qa h3,
	#qa p{
		padding: 16px 16px 16px 56px;
		line-height: 1.5;
	}
	
	#qa h3::before,
	#qa p::before{
		left: 16px;
	}
	
	#overview table tr th,
	#overview table tr td {
		display: block;
	}
	
	#overview table tr th {
		padding-bottom: 8px;
	}
	
	#overview table tr td {
		padding-top: 0;
	}
}/*max-width:550px*/

@media (max-width:375px) {
	body .spacing h2,
	body .spacing_text{
		font-size: calc(32 / 375 * 100vw)!important;
	}
	
	.title,
	.consultation_content h3 span,
	.fz2rem,
	.feature_content h3,
	.flow_num,
	.flow_content h3,
	.cost_content h3{
		font-size: calc(24 / 375 * 100vw);
	}
	
	h1,
	.consultation_content h3,
	.case_content_top_text h3,
	.case_content_top_text p,
	.cost_content p{
		font-size: calc(18 / 375 * 100vw);
	}
	
	.consultation_content ul li,
	.consultation_content p,
	.case_content_bottom,
	.spacing_text span,
	.feature_content p,
	.flow_content p,
	.cost_content p span,
	#qa h3,
	#qa p,
	.profile_text p{
		font-size: calc(16 / 375 * 100vw);
	}
	
	.fixed_btn_text{
		font-size: calc(14 / 375 * 100vw);
	}
	
	.cost_content small{
		font-size: calc(12 / 375 * 100vw);
	}
	
	.top_emblem {
		width: calc(176 / 375 * 100vw);
	}
	
	#consultation,
	#case,
	#feature,
	#flow{
		padding: 64px calc(24 / 375 * 100vw);
	}
	

}/*max-width:375px*/


/* --------------------------------------------------------------
movie */
#movie {
	padding: 64px 24px;
}

.sub-title {
	display: inline-block;
	margin-bottom: 1rem;
	font-size: 20px;
}

.movie-img  {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}

.movie-img iframe {
	width: 100%;
	aspect-ratio: 300/150;

}

@media (max-width: 767px) {
	
		.sub-title {
			font-size: 16px;
		}
	
}

.contact__text {
	line-height: 1.6;
}

.contact__list {
	list-style-type: none;
	margin-bottom: 40px;
	margin-top: 10px;
}

.contact__about {
	line-height: 2;
	padding-left: 20px;
	position: relative;
	font-size: 14px;
}

.contact__about::after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
}

.contact__more {
	font-size: 14px;
	margin-top: 3px;
}


.top_wrapper {
	position: relative;
}

.top_bg {
}
.top_btn {
	position: absolute;
      width: 37.24vw;
    left: 31.51vw;
    bottom: 1.094vw;
	display: inline-block;
	transition: all 0.3s ease;
}

@media (max-width: 767px) {
	.top_btn {
      width: 97%;
        left: 50%;
        transform: translateX(-50%);
        bottom: 3.467vw;
}
}

.top_btn:hover {
	opacity: 0.8;
}


.top_btn02 {
    position: absolute;
       right: 22.448vw;
    bottom: 1.458vw;
    width: 9.583vw;

}

@media (max-width: 767px) {
	.top_btn02 {
		display: none;
	}
}
