@charset "UTF-8";
/*------------------------------
Reset
------------------------------*/
html,body,div,span,applet,object,iframe,h1,h2,h3,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
ul li,ol li {
	list-style-type: none;
}
a {
	text-decoration: none;
}
/*------------------------------
共通
------------------------------*/
html {
  	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	font-family: 'Noto Sans JP', sans-serif, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica;
	line-height: 1.6;
	letter-spacing: 0.01em;
	background-color: #F2EEEA;
	color: #484848;
	font-size: 1.8rem;
	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;	
}
.wrapper {
	padding: 80px 20px;
}
.container {
    max-width: 1000px;
    margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.sp {
        display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
}
img{
	max-width: 100%;
}
/*------------------------------
文字
------------------------------*/
h1 {
}
h2 {
	font-weight: bold;
	font-size: 2.8rem;
	margin-bottom: 70px;
	position: relative;
	text-align: center;
}
h2::after{
	content: '';
  	width: 110px;
  	height: 4px;
  	display: inline-block;
  	background-color: #018240;
  	position: absolute;
  	bottom: -10px;
  	left: calc(50% - 55px)
}
.markY{
	background-color: #FDD003;
	font-weight: bold;
}
.markG{
	background-color: #018240;
	color: #FFFFFF;
	font-weight: bold;
	display: inline;
}
.txtG{
	color: #018240;
}
.txtC{
	text-align: center;
}
sup{
	font-size: 70%;
	vertical-align: top;
}
b {
  font-weight: 500;
}
/*------------------------------
背景
------------------------------*/
.bgWhite {
	background-color: #FFFFFF;
}
.bgGreen {
	background-color: #EEFAF0;
}
/*------------------------------
ヘッダー
------------------------------*/
header {
	position: fixed;
    width: 100%;
    z-index: 999;
    top: 0;
	box-sizing: border-box; 
}	
.header{
	display: flex;
	align-items: center;
	height: 74px;
	box-shadow: 0px 10px 10px -6px rgba(217, 217, 217, 0.5);
	min-width: 740px;
	justify-content: space-between;
}
.headerTtl {
	padding: 20px 40px 15px 20px;
	border-radius: 0 0 20px 0;
	width: auto;
	flex-shrink: 0;
}
.headerLogo {        
	width: 150px;
    height: auto;
}
nav{
	width: 86%;
}
.navContent {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.navTxt{
	font-size: 1.5rem;
	font-weight: bold;
}
.navTxt p {
    font-size: 1.5rem;
 }
.navTel{
	text-align: right;
	margin-right: 20px;
}
.rt{
	font-size: 1.0rem;
}
.navNumber{
	font-size: 2.5rem;
}
.navNumber b{
	position: relative;
}
.navNumber b::before{
	content: "";
    position: absolute;
    top: 11px;
    left: -24px;
    background: url(../img_2025lp/iconPhone.png) no-repeat;
    background-size: contain;
    background-position: center;
    padding: 10px;
}
.navNote{
	font-size: 1.2rem;
}
/*------------------------------
チャット
------------------------------*/
.chat{
	position: fixed;
	z-index: 99;
	right: 0;
	top: 120px;
	writing-mode: vertical-rl;
	background-color: #018240;
    text-align: center;
	padding: 15px;
	border-radius: 10px 0 0 10px;
	box-shadow: 7px 7px 15px #D9D9D9;
}
.chat a{
	color: #FFFFFF;
	padding: 10px 30px 10px 10px;
}
.chat img{
	margin-bottom: 8px;
}
.chatClose {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    background: #FFFFFF;
    color: #018240;
    border: 1px solid #018240;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-size: 25px;
    line-height: 28px;
    text-align: center;
    cursor: pointer;
    padding: 0;
}
/*------------------------------
メインビジュアル
------------------------------*/
.kv{
	width: 80%;
	margin: 50px auto 0;
}
.slick-dotted.slick-slider{
	margin-bottom: 10px!important;
}
.slick-dots{
	bottom: 8px!important;
}
.slick-dots li button:before {
    display: none;
}
.slick-dots li button {
    width: 6px!important;
    height: 6px!important;
    border: 2px solid #FDD003!important; 
    border-radius: 50%;
    background-color: transparent;
    cursor: pointer;
}
.slick-dots li.slick-active button {
    background-color: #FDD003; 
}
/*------------------------------
リード文
------------------------------*/
.lead,.leadAll{
	text-align: center;
}
.lead p,.leadAll p{
	margin: 20px 0;
	font-size: 2.0rem;
}
.lead p:nth-child(2){
	margin-bottom: 80px;
}
/*------------------------------
こんなお悩みを抱えていませんか？
------------------------------*/
.asking{
    padding: 0 90px 20px;
    border-radius: 20px;
}
.problem{
	display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 40px 0;
    flex-wrap: wrap;
}
.problemItem{
	display: flex;
    justify-content: center;
    align-items: center;
    width: 19%;
    height: 90px;
    text-align: center;
    position: relative;
    z-index: 0;
    border-radius: 10px;
    flex: 0 1 auto;
}
.problemItem:nth-child(n+6){
	margin-top: 10px
}
.problemSpace{
	margin: 0 5px 0;
    font-size: 1.4rem;
	line-height: 1.4;
}
.triangle{
	position: relative;
	z-index: 1;
}
.triangle::after{
	content: '';
	position: absolute;
	top: -10%;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-color: transparent;
	border-top-color: #0182401A;
	border-width: 4.0em;
	z-index: -1;
}
.guideAndContact{
	font-size: 2.0rem;
}
.guide{
	margin: 40px 0 60px;
}
.guideItem{
	background-color: #FFFFFF;
    border-radius: 20px;
    padding: 40px 60px;
	border: 1px solid #018240;
}
.guideItem li {
    position: relative;
    margin-left: 24px;
}
.guideItem li::before {
    content: "";
    position: absolute;
    top: -6%;
    left: -23px;
    background: url(../img_2025lp/iconCheck.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-top: 8px;
    padding: 9px;
}
.guideItem>.noteItem{
	margin-left: 24px;
}
.bubble{
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-bottom: 40px;
}
.bubbleItem{
	border-radius: 20px 20px 0px 20px;
    padding: 25px 10px;
	width: 30%;
	align-content: center;
	background-color: #FFFFFF;
	color: #018240;
	font-size: 1.6rem;
}
.contact{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin: 40px auto 0;
}
.contact div{
	flex: 1;
  	min-width: 300px;
 	max-width: 600px;
 	text-align: center;
}
.contactTel,.contactMail{
	display: flex;
	align-items: center;
	flex-direction: column;
	background-color: #018240;
	color: #fff;
	border-radius: 70px;
	padding: 20px;
	font-size: 1.8rem;
	box-shadow: 7px 7px 15px #C3CFC9, -7px -7px 15px #EAF3EE;
	text-decoration: none;
	position: relative;
	z-index: 10;
	overflow: hidden;
}
.contactTel::before,.contactMail::before {
    background: #FFFFFF;
    border-radius: 50%;
    content: "";
    display: block;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    padding-top: 100%;
    height: 0;
    z-index: -1;
    transform: translateY(-50%) scale(0.1);
    transition: opacity .5s, transform 0s;
    transition-delay: 0s, .4s;
}
.contactTel:hover::before,.contactMail:hover::before {
    opacity: 1;
    transform: translateY(-50%) scale(1.4);
    transition-delay: 0s;
    transition: opacity .8s, transform .6s ease-in-out;
}
.contactTel:hover,.contactMail:hover{
	color: #018240;
}
.contactTtlTel,.contactTtlMail {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
.contactTtlTel img,.contactTtlMail img{
	width: 25px;
	height: auto;
	object-fit: contain;
}
.contactTtlTel img{
	filter: brightness(0) saturate(100%) invert(100%);
}
a.contactTel:hover .contactTtlTel img,a.contactMail:hover .contactTtlMail img {
  	filter: brightness(0) saturate(100%) invert(35%) sepia(11%) saturate(7346%) hue-rotate(119deg) brightness(93%) contrast(99%);
}
.contactTtlTel{
	margin-top: 4px;
}
.contactTtlTel p{
	font-size: 3.0rem;
}
.contactMail{
	margin-top: 24px;
}
.contactTxtSub {
	width: 100%;
	font-size: 1.4rem;
}
.contact>div>.noteItem{
	text-align: left;
	margin-top: 25px;
	letter-spacing: -0.04em;
}
/*------------------------------
アンカーリンク
------------------------------*/
.jump{
	scroll-margin-top: 80px;
}
.anchor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 0;
	margin-top: 80px;
	flex-wrap: wrap;
}
.anchorItem {
    display: flex; 
    justify-content: center;
    align-items: center; 
    width: 15%; 
    height: 100px;
    text-align: center;
	position: relative;
	box-shadow: 7px 7px 15px #D9D9D9, -7px -7px 15px #F2EEEA;
	z-index: 0;
	border-radius: 10px;
	flex: 0 1 auto;
}
.anchorItem a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: 1.6rem;
	border-radius: 10px;
	/*border-width: 1px 1px 12px 1px;
	border-style: solid;
	border-color: #018240;*/
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.anchorItem a::after{
	content: '';
    position: absolute;
   	bottom: 12px;
	left: 50%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    border-width: 0.4em;
    border-top: 2px solid #018240;
    border-right: 2px solid #018240;
    transform: translate(-50%, -50%) rotate(135deg);
    width: 6px;
    height: 6px;
}
.anchorSpace{
	margin: -20px 5px 0;
	line-height: 1.3;
	font-size: 1.4rem;
}
.anchorItem a::before{
	background: #018240;
	border-radius: 50%;
	content: "";
	display: block;
	margin: auto;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	padding-top: 100%;
	height: 0;
	z-index: -1;
	transform: translateY(-50%) scale(0.1);
	transition: opacity .5s, transform 0s;
	transition-delay: 0s, .4s;
}
.anchorItem a:hover {
 	color: #FFFFFF;
}
.anchorItem a:hover::before {
 	opacity: 1;
  	transform: translateY(-50%) scale(1.4);
  	transition-delay: 0s;
  	transition: opacity .8s, transform .6s ease-in-out;
}
.anchorItem a:hover::after {
	border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
}
/*------------------------------
法テラスについて
------------------------------*/
.significance{
	display: flex;
    align-items: center;
	margin-bottom: 80px;
}
.significance p{
	font-size: 2.0rem;
	margin-left: 30px;
}
.significanceImg{
	width: 55%;
	position: relative;
}
.significanceImg img{
	border-radius: 8px;
}
.significanceImg::after {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    -moz-box-shadow: inset 0px 0px 15px 15px #F2EEEA;
    -webkit-box-shadow: inset 0px 0px 15px 15px #F2EEEA;
    box-shadow: inset 0px 0px 15px 15px #F2EEEA;
    content: " ";
}


.achievements{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 50px;
}
.achievementsTxt:first-child{
	margin-bottom: 20px;
}
.achievementsItem{
	width: 45%;
	margin-right: 20px;
}
.achievementsItem p{
	font-size: 1.4rem;
	text-align: right;
}

.serviceExample{
	display: flex;
    flex-wrap: wrap;
    max-width: 760px;
    margin: 40px auto;
}
.serviceExampleItem{
	display: flex;
    align-items: center;
    width: 339px;
    border-bottom: 1px solid #B5B5B5;
    padding: 10px 0 20px 15px;
	margin-top: 10px;
}
.serviceExampleItem:nth-child(2n){
	margin-left: 10px;
}
.serviceExampleItem:nth-child(2n+1){
	margin-right: 10px;
	position: relative
}
.serviceExampleItem:nth-child(2n+1)::before{
	content: "";
    position: absolute;
    right: -11px;
    top: 0;
    background: #B5B5B5;
    width: 1px;
    height: 90%;
}
.serviceExampleItem:nth-child(5){
	border-bottom: none;
}
.serviceExampleItem p{
	font-size: 1.6rem;
	margin-left: 20px;
}
.serviceExampleItem span{
	font-size: 1.5rem;
}
/*------------------------------
法テラスができること
------------------------------*/
.cando{
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}
.candoItem{
	border: 1px solid #018240;
    border-radius: 20px;
    padding: 30px;
    width: 360px;
	position: relative;
}
.candoItem::before {
	content: "";
    position: absolute;
    top: -36px;
    left: 50%;
    width: 50px;
    height: 25px;
    line-height: 5px;
    transform: translateX(-50%);
    border-radius: 60px 60px 0 0;
    border-bottom: transparent;
    padding: 1rem 1rem 0 1rem;
    background: #018240;
}
.candoItem::after {
	content: "";
    position: absolute;
    top: -18px;
	left: 50%;
    transform: translate(-50%, -50%);
    margin-left: auto;
    margin-right: auto;
    background: url(../img_2025lp/iconBulb.png) no-repeat;
    background-size: contain;
    background-position: center;
    padding: 14px;
}
.candoItem:first-child{
	margin-right: 20px;
}
.candoItem ul{
	margin: 10px 0;
}
.candoItem li{
	position: relative;
	margin-left: 24px;
}
.candoItem li::before{
	content: "";
    position: absolute;
    top: -6%;
   	left: -21px;
    background: url(../img_2025lp/iconCheck.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-top: 8px;
    padding: 9px;
}
/*------------------------------
法テラスに関するよくある質問
------------------------------*/
.faqItem:last-child{
	margin-top: 60px;
}
.question{
	background-color: #018240;
	color: #FFFFFF;
	position: relative;
	padding: 30px 20px 30px 100px;
	margin-left: 100px;
	margin-bottom: 30px;
	border-radius: 20px 20px 0px 20px;
	box-shadow: 7px 7px 15px #D9D9D9, -7px -7px 15px #F2EEEA;
}
.question::before{
	content: "";
    position: absolute;
    top: 28%;
    left: 7%;
    background: url(../img_2025lp/iconQ.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-top: 6px;
    padding: 14px;
}
.answer{
	border-radius: 20px 20px 20px 0px;
    margin: 30px 30px 0 0;
	padding: 40px 70px;
	box-shadow: 7px 7px 15px #D9D9D9, -7px -7px 15px #F2EEEA;
}
/*------------------------------
法テラスでどんな相談ができる？
------------------------------*/
.consultation{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 50px;
}
.consultationItem{
	margin-bottom: 30px;
}
.consultationItem:nth-child(2n){
	margin-left: 25px;
}
.consultationTtl{
	font-size: 1.5rem;
    display: inline-block;
    border-radius: 30px;
    padding: 16px 30px;
    width: 288px;
    text-align: center;
	position: relative;
	transition-duration: .4s;
	z-index: 2;
	overflow: hidden;
	box-shadow: 4px 4px 10px #D9D9D9, -7px -7px 15px #F2EEEA;
}
.consultationTtl::after{
	content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    border-width: 0.4em;
    border-top: 2px solid #018240;
    border-right: 2px solid #018240;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 6px;
    height: 6px;
}
.consultationTtl::before{
	background: #018240;
	border-radius: 50%;
	content: "";
	display: block;
	margin: auto;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	padding-top: 100%;
	height: 0;
	z-index: -1;
	transform: translateY(-50%) scale(0.1);
	transition: opacity .5s, transform 0s;
	transition-delay: 0s, .4s;
}
.consultationTtl:hover {
 	color: #fff;
}
.consultationTtl:hover::before {
 	opacity: 1;
  	transform: translateY(-50%) scale(1.1);
  	transition-delay: 0s;
  	transition: opacity .8s, transform .6s ease-in-out;
}
.consultationTtl:hover::after {
	border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
}
.consultationContent{
	font-size: 1.4rem;
	text-indent: -1em;
    padding-left: 1em;
}
.trouble{
	margin-top: 50px;
	padding: 40px 90px;
	border-radius: 20px;
}
.troubleExample{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 700px;
	margin: 40px auto;
}
.troubleExampleItem{
	display: flex;
    align-items: center;
    width: 312px;
    border-bottom: 1px solid #E2E2E2;
    padding: 10px 0 20px 10px;
	margin-top: 10px;
}
@media screen and (max-width: 1024px) {
	.trouble{
		padding: 40px 60px;
	}
	.troubleExampleItem {
        width: 280px;
	}
}
.troubleExampleItem:nth-child(2n){
	margin-left: 10px;
	position: relative
}
.troubleExampleItem:nth-child(2n)::before{
	content: "";
    position: absolute;
    left: -10px;
    top: 0;
    background: #E2E2E2;
    width: 1px;
    height: 90%;
}
.troubleExampleItem:nth-child(2n+1){
	margin-right: 10px;
}
.troubleExampleItem:nth-child(5),.troubleExampleItem:nth-child(6){
	border-bottom: none;
}

.troubleExampleItem p{
	font-size: 1.6rem;
	margin-left: 15px;
}
.troubleExampleItem span{
	font-size: 1.4rem;
}
/*------------------------------
利用者の声
------------------------------*/
.voiceItem{
	border-radius: 20px 20px 0px 20px;
    padding: 50px 100px;
	/*border: 1px solid #018240;*/
	margin-left: 30px;
	box-shadow:  7px 7px 15px #D9D9D9, -7px -7px 15px #FFFFFF;
}
.voiceItem:nth-child(2n){
	border-radius: 20px 20px 20px 0px;
	margin: 30px 30px 0 0;
}
/*------------------------------
ご利用の流れ
------------------------------*/
.flowItem{
	border-radius: 20px;
	position: relative;
	margin-top: 30px;
	padding: 40px 100px 60px;
}
.flowItem::before{
	content: "";
    display: inline-block;
    width: 1px;
    height: 30px;
    background-color: #B5B5B5;
    position: absolute;
    top: -30px;
    right: 50%;
}
.flowItem:first-child::before{
	display: none;
	margin-top: 0;
}
.flowTtlContent{
	display: flex;
	align-items: center;
    margin-bottom: 30px;
}
.flowStep{
	font-size: 2.2rem;
	color: #FFFFFF;
	background: #018240;
    border-radius: 30px;
    font-weight: bold;
    width: 50px;
    height: 50px;
	display: flex;
    justify-content: center;
    align-items: center;
}
.flowTtl{
	font-size: 2.0rem;
	margin-left: 15px;
}
.flowItemContent{
	font-size: 1.6rem;
}
.flowItemList{
	text-indent: -1em;
	padding-left: 1em;
}
.note{
	margin-top: 20px;
}
.noteItem{
	font-size: 1.4rem;
	text-indent: -1em;
	padding-left: 1em;
}
/*------------------------------
SNS・動画
------------------------------*/
.information{
	font-size: 2.0rem;
}
.sns{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 50px 0 110px;
}
.sns a{
	padding: 10px;
	margin: 0 20px;
	line-height: 1;
}
.sns a:hover{
	filter: brightness(0) saturate(100%) invert(35%) sepia(11%) saturate(7346%) hue-rotate(119deg) brightness(93%) contrast(99%);
}
.movie{
	margin-top: 50px;
}
.movieItem:first-child{
	margin-bottom: 30px;
}
.movieItem iframe{
	border-radius: 15px;
}
/*------------------------------
フッター
------------------------------*/
.footer {
	font-size: 1.0rem;
	padding: 50px 0;
}
.footerTxt{
	margin-top: 20px;
}

/*------------------------------
以下SP記述
------------------------------*/
@media screen and (max-width: 767px){
	html{
		width:100%;
	}
	nav{
		height: 50px;
	}
	h2{
		font-size: 5.4vw;
		margin-bottom: 40px;
	}
	p{
		font-size: 3.8vw;
	}
	.wrapper{
		padding: 50px 20px;
	}

	.rt {
		font-size: 2vw;
		margin-bottom: -10px;
	}
/*------------------------------
ヘッダー
------------------------------*/
	header{
		padding: 0;
		top: 0;
		position: static;
	}
	.header{
		border-radius: 0;
		min-width: 100%;
		height: 50px;
		justify-content: space-between;
	}
	.headerTtl{
		padding: 10px 10px 5px 10px;
	}
	.headerLogo{
		width: 100px;
	}
	nav{
		width: auto;
		height: auto;
	}
	.navTxt{
		text-align: right;
		margin-right: 4px;
	}
	.navTxt p{
		font-size: 2.0vw;
		line-height: 1.4;
	}
/*------------------------------
メインビジュアル
------------------------------*/
	.kv{
		width: 100%;
		margin: 0;
	}
	.slick-dotted.slick-slider{
		margin-bottom: 0px !important;
	}
	.slick-dots {
		bottom: 5px !important;
	}
	.slick-dots li button {
		width: 4px!important;
		height: 4px!important;
		padding: 4px!important;
	}
/*------------------------------
追従ボタン
------------------------------*/
	.floatContent {
		position: fixed;
		bottom: 0;
		display: flex;
		width: 100%;
		height: 70px;
		z-index: 1000;
		background-color: rgba(75, 75, 75, 0.5);
		padding: 5px; 
		box-sizing: border-box; 
		gap: 5px;
	}
	.floatItem {
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		justify-content: center;
		width: 50%;
		height: 60px;
		text-align: center;
		color: #484848;
		line-height: 1.4;
		background-color: #FDD003;
		border-radius: 5px;
	}
	.floatItem::after {
		animation: 4s 0s shine linear infinite;
		background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
		content: '';
		height: 100%;
		left: -100%;
		position: absolute;
		top: 0;
		transform: skewX(-15deg);
		width: 100%;
	}
		@keyframes shine {
		20% {
			left: 100%;
		}
		100% {
			left: 100%;
		}
	}

	.floatTxt {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 240px;
		gap: 5px;
	}
	.floatTxt p{
		font-size: 2.8vw;
	}
	.floatTxt img{
		width: 3.6vw;
		height: auto;
		object-fit: contain;
		filter: brightness(0) saturate(100%) invert(29%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(92%) contrast(85%);
	}
	.floatTxtSub {
		width: 100%;
		max-width: 300px;
		font-size: 2.0vw;
        letter-spacing: 0.04em;
		margin-top: 2px;
	}
/*------------------------------
チャット
------------------------------*/
	.chat {
		top: 120px;
		padding: 8px;
		transition: all 0.3s;
	}
	.chat a {
		font-size: 3.4vw;
		padding: 10px 30px 10px 10px;
		align-items: center;
		transition: all 0.3s;
	}
	.chatSp {
		opacity: 0;
		transition: opacity 0.5s;
	}
	.chatSp.show {
		opacity: 1;
	}
	.chatSp .chatTxt {
		display: inline-block;
		transition: opacity 0.3s, width 0.3s, height 0.5s;
		opacity: 1;
		width: auto;
		height: auto;
		white-space: nowrap;
	}
	.chatSp.textHidden .chatTxt {
		opacity: 0;
		width: 0;
		height: 0;
		overflow: hidden;
	}
	.chatSp.textHidden img {
		margin: 0 auto;
	}
/*------------------------------
リード文
------------------------------*/
	.lead{
		text-align: left;
	}
	.lead p{
		font-size: 4.0vw;
		margin: 10px 0;
	}
	.lead p:nth-child(2){
		margin-bottom: 50px;
	}
	.leadAll{
		text-align: left;
	}
	.leadAll p{
		font-size: 4.0vw;
		margin: 10px 0;
	}
	.asking{
		padding: 0 20px;
        border-radius: 10px;
	}
	.problem{
		justify-content: center;
        gap: 10px;
        margin: 30px 0;
	}
	.problemItem{
		width: 46%;
        height: 74px;
	}
	.problemItem:nth-child(n+6) {
		margin-top: 0;
	}
	.problemSpace {
        font-size: 3.4vw;
    }
/*------------------------------
相談可能
------------------------------*/
	.guide{
		margin-bottom: 40px;
	}
	.guideAndContact{
		font-size: 4.0vw;
		letter-spacing: -0.03em;
		margin-bottom: 10px;
	}
	.guideItem{
		padding: 20px;
	}
	.guideItem ul{
		font-size: 3.8vw;
		line-height: 1.8
	}
	.guideItem li{
		margin-left: 22px;
    	letter-spacing: 0;
	}
	.guideItem li::before{
		top: -8%;
		left: -23px;
	}
	.guideItem li:nth-child(3)::before{
		top: -6%;
	}
	.guideItem>.noteItem {
		margin-left: 10px;
	}
	.bubble{
		flex-direction: column;
		gap: 14px;
		margin-bottom: 20px;
	}
	.bubbleItem{
		width: 84%;
        padding: 15px 10px;
        margin: 0 auto;
		font-size: 3.6vw;
	}
	.bubbleItem:nth-child(2n+1){
		margin-left: 30px;
	}
	.bubbleItem:nth-child(2n){
		margin-right: 30px;
		border-radius: 20px 20px 20px 0px;
	}
	.contact{
		margin-top: 30px;
		gap: 12px;
	}
	.contactTtlTel p {
		font-size: 7.0vw;
	}
	.contactTtlTel img{
		margin-top: 5px;
	}
	.contactTxtSub {
		font-size: 3.4vw;
	}
	.contact>div>.noteItem{
		margin-top: 16px;
		letter-spacing: 0;
	}
	.contactTel:hover, .contactMail:hover {
    	color: #FFFFFF;
	}	
	.contactTel::before, .contactMail::before{
		background: #018240;
	}
	a.contactTel:hover .contactTtlTel img, a.contactMail:hover .contactTtlMail img {
    	filter: brightness(0) saturate(100%) invert(100%);
	}
/*------------------------------
アンカーリンク
------------------------------*/
	.jump{
		scroll-margin-top: 0px;
	}
	.anchor{
		justify-content: center;
		gap: 10px;
		margin-top: 60px;
	}
	.anchorItem {
        width: 30%; 
		height: 80px;
		box-shadow: 3px 3px 8px #D9D9D9, -3px -3px 4px #F2EEEA;
    }
	.anchorItem a:hover{
		color: #018240;
	}
	.anchorItem a::before{
		display: none;
	}
	.anchorItem a::after{
		width: 5px;
    	height: 5px;
		bottom: 10px;
	}
	.anchorItem a:hover::after{
		border-top: 2px solid #018240;
    	border-right: 2px solid #018240;
	}
	.anchorSpace{
		font-size: 3.4vw;
	}	
/*------------------------------
法テラスについて
------------------------------*/
	.significance{
		flex-direction: column-reverse;
		margin-bottom: 40px;
	}
	.significanceImg{
		width: 100%;
		margin-top: 30px;
	}
	.significance p{
		font-size: 4.0vw;
		text-align: center;
		margin-left: 0;
	}
	.achievements{
		flex-direction: column;
		align-items: center;
		margin-bottom: 10px;
	}
	.achievementsItem{
		width: 100%;
		margin: 40px 10px;
	}
	.achievementsItem p{
		font-size: 3.2vw;
	}
	.serviceExample {
        flex-direction: column;
        max-width: 100%;
        padding: 0 10px;
		margin: 20px auto;
    }

    .serviceExampleItem {
        width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 10px 0 20px 10px;
        border-bottom: 1px solid #B5B5B5;
    }

    .serviceExampleItem:nth-child(2n+1)::before {
        display: none;
    }

    .serviceExampleItem:nth-child(5) {
        border-bottom: none; 
    }

    .serviceExampleItem p {
        font-size: 3.8vw; 
        margin-left: 15px;
    }

    .serviceExampleItem span {
        font-size: 3.4vw; 
    }
/*------------------------------
法テラスができること
------------------------------*/
	.cando{
		flex-direction: column;
	}
	.candoItem{
		width: auto;
		margin-top: 40px;
		font-size: 3.8vw;
		border-radius: 10px;
	}
	.candoItem:first-child{
		margin-right: 0;
	}
	.candoItem::before{
		top: -34px;
		width: 44px;
		height: 23px;
	}
	.candoItem::after{
		padding: 12px;
		top: -16px;
	}
	.candoItem li{
		margin-left: 20px;
	}
	.candoItem li::before{
		top: -20%;
    	left: -5.5vw;
		padding: 2.2vw;
	}
	.candoItem{
		padding: 20px 10px 20px 20px;
	}
/*------------------------------
法テラスに関するよくある質問
------------------------------*/
	.question{
		margin-left: 20px;
		padding: 20px 20px 20px 15%;
	}
	.question::before{
		top: 15%;
		left: 6%;
		padding: 12px;
	}
	.answer{
		margin: 20px 20px 0 0;
		padding: 20px;
	}
/*------------------------------
法テラスでどんな相談ができる？
------------------------------*/
	.consultation {
        flex-direction: column;
        align-items: center;
		margin-bottom: 0;
    }
    .consultationItem {
        margin-left: 0 !important;
        width: 100%;
    }
    .consultationTtl {
        width: 100%;
        padding: 16px 15px;
        box-sizing: border-box; 
		font-size: 3.8vw;
    }
	.consultationTtl:hover{
		color: #018240;
	}
	.consultationTtl::before{
		display: none;
	}
	.consultationTtl:hover::after{
		border-top: 2px solid #018240;
		border-right: 2px solid #018240;
	}
	.consultationContent{
		font-size: 3.2vw;
	}
	.trouble{
		padding: 30px 20px;
		border-radius: 10px;
	}
	.troubleExample{
		margin: 20px 8px;
		justify-content: center;
	}
	.troubleExampleItem{
		width: 100%;
	}
	.troubleExampleItem:nth-child(2n+1){
		margin-right: 0;
	}
	.troubleExampleItem:nth-child(2n){
		margin-left: 0;
	}
	.troubleExampleItem:nth-child(2n)::before{
		display: none;
	}
	.troubleExampleItem:nth-child(5){
		border-bottom: 1px solid #E2E2E2
	}
	.troubleExampleItem p{
		font-size: 3.8vw;
	}
	.troubleExampleItem span{
		font-size: 3.2vw;
	}
/*------------------------------
利用者の声
------------------------------*/
	.voiceItem{
		padding: 20px;
		margin-left: 20px;
		font-size: 3.8vw;
	}
	.voiceItem:nth-child(2n){
		margin: 30px 20px 0 0;
	}
/*------------------------------
ご利用の流れ
------------------------------*/
	.flowItem {
		padding: 20px;
		margin-top: 20px;
		
	}
	.flowItem::before{
		height: 20px;
		top: -20px;
	}
	.flowItemContent{
		font-size: 3.8vw;
	}
	.flowTtlContent{
		margin-bottom: 20px;
	}
	.flowStep{
		width: 45px;
		height: 45px;
	}
	.flowTtl{
		font-size: 4.6vw;
		margin-left: 10px;
	}
	.noteItem{
		font-size: 3.2vw;
	}
/*------------------------------
SNS・動画
------------------------------*/
	.sns{
		padding: 50px 0 90px;
	}
	.sns a{
		filter: brightness(0) saturate(100%) invert(35%) sepia(11%) saturate(7346%) hue-rotate(119deg) brightness(93%) contrast(99%);
	}
	.sns a:hover{
		filter: brightness(0) saturate(100%) invert(35%) sepia(11%) saturate(7346%) hue-rotate(119deg) brightness(93%) contrast(99%);
	}
	.movieItem {
		width: 100%;
		max-width: 560px; 
		aspect-ratio: 16 / 9; 
		margin: 0 auto
	}
	.movieItem:first-child{
		margin: 0 auto 30px;
	}
	.movieItem iframe {
		width: 100%;
		height: 100%;
		border-radius: 10px;
	}
/*------------------------------
フッター
------------------------------*/
	.footer{
		padding: 50px 20px 100px;
	}

	.footerTxt{
		font-size: 3.0vw;
	}
}
@media screen and (max-width: 500px) {
    .navTxt p {
        font-size: 2.8vw;
    }
	.floatTxt {
        max-width: 200px;
    }
	.floatTxt p{
		font-size: 3.8vw;
	}
	.floatTxt img {
        width: 4.6vw;
    }
	.floatTxtSub {
        font-size: 2.5vw;
    }
}
@media screen and (max-width: 600px) {
	.floatTxtSub {
		max-width: 200px;
		margin-top: 5px;
	}
}
