@charset "UTF-8";

/* font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300..900&display=swap');

/* css */
@import "reset.css";

body {
 	font-family: "Noto Sans JP", sans-serif;
	color: #1c1c1c;
}

.wc-webchat-ctn{
    display: none !important;
}

/*------------------------------
   main-visual
------------------------------*/
header {
	width: 100%;
	background: url("../../images/zenka_lp/mainvisual.jpg") no-repeat center /cover;
	/*font-family: "Noto Serif JP", serif;*/
	font-family: "Hiragino Mincho ProN" , "Noto Serif JP", serif;
}
	header #main-visual {
		position: relative;
		width: 92%;
		height: 900px;
		max-width: 1100px;
		margin: auto;
	}
	header #main-visual .main-text {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50% , -50%);
		width: 814px;
		color: #fff;
		font-size: 50px;
		font-weight: bold;
		text-align: left;
	}
	header #main-visual .main-text .catch-text {
		font-size: 50px;
		text-align: left;
		padding-left: 185px;
	}
	header #main-visual .main-text h1 {
		font-size: 60px;
		font-weight: bold;
	}
		header #main-visual .main-text .red {
			position: absolute;
			top: 0;
			left: 0;
			background: #990000;
			font-size: 134px;
			writing-mode: vertical-rl;
			padding: 22px 15px;
			letter-spacing: 0.1em;
			line-height: 1;
		}
		header #main-visual .main-text .big {
			font-size: 120px;
			letter-spacing: 0.1em;
		}
	header #main-visual .main-text .catch-text p {
		font-weight: 500;
		font-style: italic;
	}
	header #main-visual .main-text .sub-text {
		margin-top: 30px;
		font-size: 26px;
		font-weight: 500;
		letter-spacing: 0.1em;
	}
	header #main-visual .main-text .sub-text .crime_text {
		display: inline-block;
		background: #1c1c1c;
		padding: 10px 0 10px 20px;
	}
	header #main-visual .main-text .sub-text .crime_text.last {
		padding: 10px 20px 10px 0;
	}
@media screen and (max-width: 1400px) {
	header #main-visual {
		height: 800px;
	}
	header #main-visual .main-text {
		width: 694px;
		font-size: 50px;
	}
	header #main-visual .main-text .catch-text {
		font-size: 40px;
		padding-left: 170px;
	}
	header #main-visual .main-text h1 {
		font-size: 50px;
	}
		header #main-visual .main-text .red {
			font-size: 120px;
			padding: 22px 15px;
			letter-spacing: 0.1em;
			line-height: 1;
		}
		header #main-visual .main-text .big {
			font-size: 110px;
		}
	header #main-visual .main-text .sub-text {
		margin-top: 50px;
		font-size: 22px;
	}
}
@media screen and (max-width: 1300px) {
	header #main-visual {
		height: 550px;
	}
	header #main-visual .main-text {
		width: 590px;
	}
	header #main-visual .main-text .catch-text {
		font-size: 36px;
		padding-left: 150px;
	}
	header #main-visual .main-text h1 {
		font-size: 46px;
	}
		header #main-visual .main-text .red {
			font-size: 100px;
			padding: 20px 12px 15px;
		}
		header #main-visual .main-text .big {
			font-size: 90px;
		}
	header #main-visual .main-text .sub-text {
		margin-top: 30px;
		font-size: 18px;
	}
}
@media screen and (max-width: 1024px) {
	header #main-visual {
		height: 400px;
	}
	header #main-visual .main-text {
		width: 516px;
	}
	header #main-visual .main-text .catch-text {
		font-size: 30px;
		padding-left: 125px;
	}
	header #main-visual .main-text h1 {
		font-size: 40px;
	}
		header #main-visual .main-text .red {
			font-size: 84px;
			padding: 20px 12px 10px;
		}
		header #main-visual .main-text .big {
			font-size: 76px;
		}
	header #main-visual .main-text .sub-text {
		margin-top: 20px;
		font-size: 16px;
	}
}
@media screen and (max-width: 768px) {
	header #main-visual {
		height: 350px;
	}
	header #main-visual .main-text {
		width: 100%;
	}
	header #main-visual .main-text .catch-text {
		font-size: 20px;
		padding-left: 100px;
	}
	header #main-visual .main-text h1 {
		font-size: 28px;
	}
		header #main-visual .main-text .red {
			font-size: 70px;
			padding: 15px 12px 10px;
		}
		header #main-visual .main-text .big {
			font-size: 76px;
		}
	header #main-visual .main-text .sub-text {
		margin-top: 20px;
		font-size: 16px;
	}
	header #main-visual .main-text .sub-text .crime_text {
		padding: 5px 0 5px 10px;
	}
	header #main-visual .main-text .sub-text .crime_text.last {
		padding: 5px 10px 5px 0;
	}
}
@media screen and (max-width: 540px) {
	header {
		background: url("../../images/zenka_lp/mainvisual.jpg") no-repeat center right -6vw /cover;
	}
	header #main-visual {
		height: 300px;
	}
	header #main-visual .main-text .catch-text {
		font-size: 20px;
		padding-left: 85px;
	}
	header #main-visual .main-text h1 {
		font-size: 22px;
	}
		header #main-visual .main-text .red {
			font-size: 50px;
			padding: 15px 10px 10px;
		}
		header #main-visual .main-text .big {
			font-size: 46px;
		}
	header #main-visual .main-text .sub-text {
		margin-top: 20px;
		font-size: 15px;
	}
	header #main-visual .main-text .sub-text .crime_text {
		margin-bottom: 6px;
	}
}
@media screen and (max-width: 500px) {
	header {
		background: url("../../images/zenka_lp/sp-visual.jpg") no-repeat center /cover;
	}
	header #main-visual {
		height: 380px;
	}
	header #main-visual .main-text {
		top: 60%;
	}
	header #main-visual .main-text .catch-text {
		font-size: 4.5vw;
		padding-left: 80px;
	}
	header #main-visual .main-text h1 {
		font-size: 5vw;
	}
		header #main-visual .main-text .red {
			font-size: 10vw;
			padding: 15px 10px 10px;
		}
		header #main-visual .main-text .big {
			font-size: 9vw;
		}
	header #main-visual .main-text .sub-text .crime_text.last {
		padding: 5px 10px 5px 10px;
	}
	header #main-visual .main-text .sub-text {
		font-size: 2.85vw;
	}
}
@media screen and (max-width: 410px) {
	/*header #main-visual {
		height: 78vw;
		min-height: 280px;
	}*/
	header #main-visual .main-text .catch-text {
		font-size: 5vw;
		padding-left: 20%;
	}
	header #main-visual .main-text h1 {
		font-size: 5.5vw;
	}
		header #main-visual .main-text .red {
			font-size: 10.5vw;
		}
		header #main-visual .main-text .big {
			font-size: 9.5vw;
		}
	header #main-visual .main-text .sub-text {
		font-size: 3.6vw;
		margin-top: 15px;
	}
}


/*------------------------------
   common
------------------------------*/
#lp-contents {
 	font-family: "Noto Sans JP", sans-serif;
		font-size: 16px;
		line-height: 1.6em;
}
	#lp-contents .serif ,
	#lp-contents h2 ,
	#lp-contents h3 {
		font-family: "Noto Serif JP", serif;
		line-height: 1.4em;
		font-weight: 500;
	}
	#lp-contents h2  {
		text-align: center;
		font-size: 50px;
	}
	#lp-contents h3  {
		font-size: 36px;
	}
	#lp-contents p {
		line-height: 1.6em;
	}
	#lp-contents .en {
		font-family: "Frank Ruhl Libre" ,"Lora", serif;
	}
	#lp-contents .br {
		display: inline-block;
	}
	#lp-contents .red {
		color: #990000;
		font-weight: 500;
	}
	#lp-contents .mt120 {
		margin-top: 120px;
	}
	#lp-contents .mt0 {
		margin-top: 0;
	}
	a {
        text-decoration: none;
        color: #1c1c1c;
	}

.inner {
	width: 94%;
	max-width: 1100px;
	margin: auto;
	padding: 120px 0;
}
	.inner.wide {
		max-width: 1500px;
	}

#lp-contents .speech-balloon {
	position: relative;
	text-align: center;
	font-size: 50px;
	font-weight: 600;
	background: #1c1c1c;
	padding: 75px 30px;
	color: #fff;
}
	#lp-contents .speech-balloon:after {
		position: absolute;
		content: "";
		left: 50%;
		bottom: -75px;
		transform: translateX(-50%);
		border-style: solid;
		border-top: 75px solid #1c1c1c;
		border-bottom: 0;
		border-left: 60px solid transparent;
		border-right: 60px solid transparent;
	}
@media screen and (max-width: 1024px) {
	#lp-contents h2 {
		font-size: 40px;
	}
	#lp-contents h3 {
		font-size: 30px;
	}
	.inner {
		padding: 100px 0;
	}
}
@media screen and (max-width: 980px) {
	#lp-contents .speech-balloon {
		padding: 60px 20px;
	}
	#lp-contents .speech-balloon:after {
		bottom: -60px;
		border-top: 60px solid #1c1c1c;
		border-left: 45px solid transparent;
		border-right: 45px solid transparent;
	}
}
@media screen and (max-width: 768px) {
	#lp-contents h2 {
		font-size: 6vw;
	}
	#lp-contents h3 {
		font-size: 5.4vw;
	}
	.inner {
		padding: 80px 0;
	}
	#lp-contents .speech-balloon {
		padding: 40px 20px;
	}
	#lp-contents .speech-balloon:after {
		bottom: -35px;
		border-top: 35px solid #1c1c1c;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
	}
}
@media screen and (max-width: 500px) {
	#lp-contents h2 {
		font-size: 8.5vw;
	}
	#lp-contents h3 {
		font-size: 5vw;
	}
	.inner {
		padding: 60px 0;
	}
	#lp-contents .speech-balloon h2 {
		font-size: 5.5vw;
	}
	#lp-contents .speech-balloon:after {
        bottom: -30px;
        border-top: 30px solid #1c1c1c;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
    }
}


/*------------------------------
   CV
------------------------------*/
.cv_box {
	background: url("../../images/zenka_lp/cv-bg.jpg")no-repeat center /cover;
	text-align: center;
}
	.cv_box .inner {
		padding: 60px 0;
	}
.cv_box .sub-text {
	font-size: 24px;
	margin-bottom: 45px;
}
#lp-contents .cv_box .cv_title {
	align-items: center;
	align-content: center;
	display: flex; 
	justify-content: center;
}
#lp-contents .cv_box h2 {
	font-size: 36px;
}
.cv_box .red_bg {
	display: inline-block;
	line-height: 1;
	background: #990000;
	color: #fff;
	font-size: 20px;
	padding: 8px 25px;
	margin-left: 20px;
	margin-top: 5px;
}
.cv_box .tel {
	font-size: 54px;
	font-style: italic;
	margin-top: 15px;
}
.cv_box .tel a {
	color: inherit;
	text-decoration: none;
}
.cv_box .tel .cv-number {
	font-size: 100px;
	font-weight: 400;
}
@media screen and (max-width: 1024px) {
	.cv_box .sub-text {
		margin-bottom: 30px;
	}
	#lp-contents .cv_box h2 {
		font-size: 30px;
	}
	.cv_box .red_bg {
		font-size: 18px;
		padding: 8px 15px;
		margin-left: 20px;
	}
	.cv_box .tel .cv-number {
		font-size: 80px;
	}	
}
@media screen and (max-width: 768px) {
	.cv_box {
		background: url("../../images/zenka_lp/cv-bg.jpg")no-repeat center right 25% /cover;
	}
	.cv_box .inner {
		padding: 40px 0;
	}
	.cv_box .sub-text {
		font-size: 3vw;
	}
	#lp-contents .cv_box h2 {
		font-size: 30px;
	}
	.cv_box .red_bg {
		font-size: 2.6vw;
		padding: 8px 15px;
		margin-left: 0;
		margin-top: 10px;
	}	
	.cv_box .tel .cv-number {
		font-size: 80px;
	}
	#lp-contents .cv_box .cv_title {
		display: block; 
	}
	.cv_box .tel {
		font-size: 6vw;
	}
		.cv_box .tel .cv-number {
			font-size: 12vw;
		}	
}
@media screen and (max-width: 500px) {
	.cv_box .sub-text {
		font-size: 4.5vw;
	}
	#lp-contents .cv_box h2 {
		font-size: 6.5vw;
	}
	.cv_box .red_bg {
		font-size: 4vw;
	}	
	.cv_box .tel {
		font-size: 6.5vw;
	}
		.cv_box .tel .cv-number {
			font-size: 12.5vw;
		}	
}


/*------------------------------
   拠点数、弁護士人数
------------------------------*/
.feature_box {
	background:	#1c1c1c;
}
.feature_box .inner {
	padding: 40px 0 10px;
	color: #fff;
	font-weight: 400;
}
.feature_box ul {
	display: flex;
	justify-content: space-between;
}
	.feature_box ul li {
		width: 48%;
		text-align: center;
	}
	.feature_box ul li p {
		font-size: 40px;
		font-style: italic;
		background: url("../../images/zenka_lp/leaf-l.png") no-repeat center left /contain, url("../../images/zenka_lp/leaf-r.png") no-repeat center right /contain;
	}
	.feature_box ul li p .number {
		font-size: 84px;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: italic;
		margin: 0 8px 0 12px;
	}
	.feature_box ul li p .small {
		font-size: 26px;
	}
	.feature_box ul li small {
		font-size: 15px;
	}
	.feature_box .date {
		margin-top: 30px;
		text-align: right;
		font-size: 15px;
	}
@media screen and (max-width: 1024px) {
	.feature_box ul li p {
		font-size: 26px;
	}
	.feature_box ul li p .small {
		font-size: 20px;
	}
	.feature_box ul li small {
		font-size: 14px;
	}
	.feature_box ul li br {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.feature_box ul li p {
		font-size: 20px;
	}
	.feature_box ul li p .number {
		font-size: 64px;
		margin: 0 4px 0 8px;
	}
	.feature_box ul li p .small {
		font-size: 18px;
	}
	.feature_box ul li small {
		font-size: 14px;
	}
}
@media screen and (max-width: 600px) {
	.feature_box ul {
		display: block;
	}
	.feature_box ul li {
		width: 90%;
		margin: auto;
	}
		.feature_box ul li:first-child {
			margin-bottom: 30px;
		}
	.feature_box ul li p {
		max-width: 320px;
		margin: auto;
	}
}
@media screen and (max-width: 400px) {
	.feature_box ul li p {
		font-size: 6vw;
	}
	.feature_box ul li p .number {
		font-size: 13vw;
	}
	.feature_box ul li p .small {
		font-size: 4vw;
	}
	.feature_box ul li small {
		font-size: 3.4vw;
	}
	.feature_box .date {
		font-size: 3vw;
	}
}


/*------------------------------
   実績と料金プラン
------------------------------*/
.plan_box h2 span {
    display: inline-block;
    color: #fff;
    background: #1c1c1c;
    padding: 10px 48px;
    margin-bottom: 30px;
    font-size: 30px;
    line-height: 1.15em;
}
.plan_box .plan_list {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	color: #fff;
	text-align: center;
}
	.plan_box .plan_list .achieve-box {
		width: 39%;
	}
	.plan_box .plan_list .plan-box {
		width: 59%;
	}
	.plan_box .plan_list dt {
		background: #990000;
		padding: 15px;
		font-size: 24px;
		border-radius: 10px 10px 0 0;
		letter-spacing: 0.1rem;
	}
	.plan_box .plan_list .plan-box dt {
		background: #9c7b5d;
	}
	.plan_box .plan_list dd {
		background: #e0e0e0;
		padding: 20px;
		border-radius: 0 0 10px 10px;
	}
		.plan_box .plan_list dd>ul {
			display: flex;
			justify-content: space-between;
		}
		.plan_box .plan_list dd li {
			position: relative;
			width: calc(50% - 10px);
			max-width: 185px;
			height: 185px;
			background: #2a221c;
			z-index: 1;
			display: flex;
			align-items: center;
		}
			.plan_box .plan_list dd li:after {
				position: absolute;
				content: "";
				width: 100%;
				height: 100%;
				aspect-ratio: 1;
				clip-path: polygon(0 100%,100% 0,100% 100%);
				background: #372d25;
				bottom: 0;
				right: 0;
				z-index: -1;
			}
		.plan_box .plan_list .plan-box dd li {
			width: calc(33% - 10px);
		}
			.plan_box .plan_list dd li .attention {
				position: absolute;
				bottom: 5px;
				right: 10px;
			}
		.plan_box .plan_list dd li p {
			width: 100%;
			font-size: 22px;
		}
		.plan_box .plan_list dd li .plan-title {
			display: block;
			margin-bottom: 10px;
			line-height: 1.4em;
			letter-spacing: 0.12rem;
		}
			.plan_box .plan_list dd li p .number {
				font-size: 52px;
				margin: 0 5px;
				font-weight: 400;
			}
			.plan_box .plan_list dd li p .free {
				font-size: 42px;
			}
			.plan_box .plan_list dd li p small {
				display: block;
				font-size: 16px;
			}
.plan_box .caution-text {
	margin-top: 20px;
	font-size: 14px;
	list-style: none;
	line-height: 1.1em;
}
	.plan_box .caution-text li {
		position: relative;
		padding-left: 30px;
		margin-bottom: 10px;
		line-height: 1.2em;
	}
	.plan_box .caution-text li:before {
		position: absolute;
		content: "※1";
		left: 0;
	}
	.plan_box .caution-text li:nth-child(2):before ,
	.plan_box .caution-text li:nth-child(3):before {
		content: "※2";
	}
	.plan_box .caution-text li:nth-child(4):before ,
	.plan_box .caution-text li:nth-child(5):before ,
	.plan_box .caution-text li:nth-child(6):before {
		content: "※3";
	}
@media screen and (max-width: 1050px) {
	.plan_box .plan_list dd li p {
		font-size: 18px;
	  }
		.plan_box .plan_list dd li p .number {
			font-size: 46px;
		}
		.plan_box .plan_list dd li p .free {
			font-size: 40px;
		}
		.plan_box .plan_list dd li p small {
			font-size: 14px;
		}
}
@media screen and (max-width: 1024px) {
	.plan_box h2 span {
		padding: 8px 40px;
		margin-bottom: 15px;
		font-size: 24px;
	}
}
@media screen and (max-width: 900px) {
	.plan_box .plan_list {
		display: block;
	}
	.plan_box .plan_list .achieve-box {
		max-width: 430px;
		width: 100%;
		margin: 0 auto 30px;
	}
	.plan_box .plan_list .plan-box {
		max-width: 640px;
		width: 100%;
		margin: auto;
	}
		.plan_box .plan_list dt {
			padding: 10px;
			font-size: 20px;
		}
		.plan_box .plan_list dd li p .number {
			font-size: 40px;
		}
		.plan_box .plan_list dd li .plan-title {
			margin-bottom: 15px;
		}
		.plan_box .plan_list dd li p .free {
			font-size: 30px;
		}
		.plan_box .plan_list dd li .attention {
			font-size: 12px;
		}
}
@media screen and (max-width: 768px) {
    .plan_box h2 span {
        font-size: 3vw;
    }
	.plan_box .plan_list {
		margin-top: 30px;
	}
	.plan_box .plan_list dd li {
		height: auto;
		padding: 20px 8px 30px;
	}
	.plan_box .caution-text li {
		margin-bottom: 6px;
		line-height: 1.4em;
		font-size: 12px;
	}
}
@media screen and (max-width: 500px) {
    .plan_box h2 span {
        font-size: 4.5vw;
    }
    .plan_box .plan_list dd li p {
        font-size: 3.5vw;
    }
	.plan_box .plan_list dd li .plan-title {
        margin-bottom: 10px;
    }
	.plan_box .plan_list dd li p .number {
        font-size: 8vw;
    }
	.plan_box .plan_list dd li p small {
        font-size: 2.5vw;
    }
	.plan_box .plan_list dd li {
        padding: 15px 6px 25px;
    }
	.plan_box .plan_list dd li .attention {
		bottom: 0;
		right: 6px;
	}
}


/*------------------------------
   運命を左右します
------------------------------*/
.flow_box {
	position: relative;
	background: url("../../images/zenka_lp/noise-bg.jpg");
	margin-bottom: 6.1vw;
}
	.flow_box:after {
		position: absolute;
		content: "";
		width: 100%;
		height: 6.1vw;
		background: url("../../images/zenka_lp/noise-arw.png") no-repeat center bottom/contain;
	}
.flow_box h2 {
	font-size: 50px;
	text-align: center;
	margin-bottom: 115px;
	color: #fff;
}
	.flow_box h2 .big {
		font-size: 70px;
	}
.flow_box .flow_list {
	display: flex;
	justify-content: space-between;
}
	.flow_box .flow_list li {
		position: relative;
		width: calc(33% - 35px);
		text-align: center;
		background: #fff;
	}
		.flow_box .flow_list li:after {
			position: absolute;
			content: "";
			width: 30px;
			height: 60px;
			top: 50%;
			right: -60px;
			transform: translate(-50% , -50%);
			aspect-ratio: cos(30deg);
			clip-path: polygon(0 0,100% 50%,0 100%);
			background: #fff;
		}
		.flow_box .flow_list li:last-child:after {
			content: none;
		}
	.flow_box .flow_list li img {
		width: 100%;
	}
	.flow_box .flow_list li span.en {
		position: absolute;
		width: 70px;
		height: 70px;
		line-height: 70px;
		top: -35px;
		left: 50%;
		transform: translateX(-50%);
		background: #fff;
		border-radius: 50%;
		text-align: center;
		font-size: 36px;
	}
	.flow_box .flow_list li .flow-text {
		position: relative;
		padding: 20px;
	}
		#lp-contents .flow_box .flow-text h3 {
			line-height: 1.1em;
		}
		.flow_box .flow_list li .flow-text h3 {
			line-height: 1.2em;
			margin-bottom: 30px;
		}
			#lp-contents .flow_box .flow_list li:last-child .flow-text h3 {
				margin: 30px 0 0;
				line-height: 1.4em;
			}
		.flow_box .flow_list li .flow-text h3 small {
			display: block;
			font-size: 24px;
		}
		.flow_box .flow_list li .flow-text .caution-text ,
		.flow_box .flow_list li .flow-text .big {
			color: #990000;
		}
		.flow_box .flow_list li .flow-text .big {
			font-size: 20px;
			font-weight: bold;
		}
.guilty99_box .guilty_text {
	text-align: center;
	background: #f9f2f2;
	padding: 60px;
	font-size: 50px;
	font-weight: 500;
	line-height: 1.4em;
}
	.guilty99_box .guilty_text .dot_text {
		display: inline-block;
		margin-top: 20px;
		font-size: 70px;
		color: #990000;
		line-height: 1.6em;
		background-image: radial-gradient(circle at center, #990000 14%, transparent 18%);
		background-position: top right;
		background-repeat: repeat-x;
		background-size: 1em 0.3em;
	}
	.guilty99_box .guilty_text .important {
		display: block;
		margin-top: 50px;
		font-size: 36px;
		color: #fff;background: #990000;
		border-radius: 20px;
		padding: 10px 40px;
		line-height: 1.6em;
	}
	.caution-text {
		display: block;
	}
@media screen and (max-width: 1060px) {
	#lp-contents .flow_box h3 {
		font-size: 28px;
	}
}
@media screen and (max-width: 1024px) {
	.flow_box h2 .big {
		font-size: 60px;
	}
	.flow_box .flow_list li {
		width: calc(33% - 25px);
	}
		.flow_box .flow_list li:after {
			width: 20px;
			height: 40px;
			right: -42px;
		}
	.flow_box .flow_list li .flow-text h3 {
		margin-bottom: 15px;
	}
	#lp-contents .flow_box .flow_list li:last-child .flow-text h3 {
		margin: 42px 0 0;
	}
	.flow_box .flow_list li .flow-text p {
		text-align: left;
	}
	.guilty99_box .guilty_text {
		font-size: 36px;
	}
	.guilty99_box .guilty_text .dot_text {
		font-size: 56px;
	}
	.guilty99_box .guilty_text .important {
		margin-top: 30px;
		font-size: 32px;
		padding: 10px 30px;
	}
}
@media screen and (max-width: 900px) {
	#lp-contents .flow_box h3 {
		font-size: 22px;
	}
	#lp-contents .flow_box .flow_list li:last-child .flow-text h3 {
		margin: 0;
	}
	.flow_box .flow_list li .flow-text h3 small {
		display: block;
		font-size: 16px;
	}
	.flow_box .flow_list li {
		width: calc(33% - 18px);
	}
		.flow_box .flow_list li:after {
			width: 16px;
			height: 34px;
			right: -32px;
		}
	.flow_box .flow_list li .flow-text h3 {
		margin-bottom: 15px;
	}
}
@media screen and (max-width: 768px) {
	.flow_box h2 {
		margin-bottom: 60px;
	}
	.flow_box h2 .big {
		font-size: 8.4vw;
	}
	.flow_box .flow_list {
		display: block;
	}
		.flow_box .flow_list li {
			width: 100%;
			display: flex;
			justify-content: space-between;
			margin-bottom: 60px;
		}
		.flow_box .flow_list li .image_box {
			width: 50%;
			overflow: hidden;
		}
			.flow_box .flow_list li img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			.flow_box .flow_list li .flow-text {
				width: 50%;
			}
				.flow_box .flow_list li:last-child .flow-text {
					align-content: center;
				}
			.flow_box .flow_list li:last-child .flow-text h3 {
				margin: 0;
			}
				.flow_box .flow_list li .flow-text h3 small {
					display: inline-block;
				}
		.flow_box .flow_list li:after {
			width: 60px;
			height: 30px;
			top: auto;
			bottom: -60px;
			right: auto;
			left: 50%;
			aspect-ratio: 1/cos(30deg);
			clip-path: polygon(50% 100%,100% 0,0 0);
		}
		.flow_box .flow_list li span.en {
			top: 10px;
			left: 45px;
		}
	.guilty99_box .inner {
        padding: 60px 0;
    }
	.guilty99_box .guilty_text {
		font-size: 4.6vw;
		padding: 30px;
	}
	.guilty99_box .guilty_text .dot_text {
		font-size: 7.5vw;
	}
	.guilty99_box .guilty_text .important {
		font-size: 3.8vw;
		padding: 10px 20px;
	}
}
@media screen and (max-width: 500px) {
	.flow_box h2 .big {
		font-size: 10.8vw;
	}
	.flow_box .flow_list li .flow-text h3 small {
        display: inline-block;
        margin-left: 5px;
    }
	.flow_box .flow_list li:nth-child(3) {
        margin-bottom: 0;
    }
	.flow_box .flow_list li:nth-child(3) .flow-text h3 small {
        margin: 0 5px;
    }
    .flow_box .flow_list li {
        display: block;
    }
    .flow_box .flow_list li .image_box {
        width: 100%;
    }
	.flow_box .flow_list li img {
        height: auto;
    }
	.flow_box .flow_list li .flow-text {
        width: 100%;
    }
	.guilty99_box .inner {
        padding: 40px 0;
    }
}
@media screen and (max-width: 350px) {
	.guilty99_box .guilty_text {
        font-size: 6vw;
		padding: 20px;
    }
	.guilty99_box .guilty_text .dot_text {
        font-size: 9vw;
    }
	    .guilty99_box .guilty_text .important {
			font-size: 4.8vw;
		}
}


/*------------------------------
   早期解決へと導きます
------------------------------*/
.point_box {
	display: flex;
	justify-content: space-between;
    align-items: stretch;
    position: relative;
    z-index: 1;
	margin-bottom: 120px;
}
#lp-contents .point_box h2 {
	text-align: left;
}
	.point_box .image_box {
		width: 47%;
		max-width: 870px;
		/*height: 58.5rem;*/
		overflow: hidden;
	}
		.point_box .image_box img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	.point_box .contents_box {
		width: 53%;
		padding: 120px 12% 120px 4%;
		margin: 0;
		box-sizing: border-box;
	}
	#lp-contents .point_box .contents_box h2 {
		font-size: 36px;
		margin-bottom: 50px;
	}
	#lp-contents .point_box .contents_box h3 {
		font-size: 26px;
		font-weight: 600;
		color: #990000;
		margin-bottom: 20px;
	}
	.point_box .contents_box li {
		position: relative;
		border-bottom: 2px solid #eaeae8;
		padding-bottom: 30px;
		margin-bottom: 40px;
	}
	.point_box .contents_box li:last-child {
		margin-bottom: 0;
	}
	.point_box .contents_box li:before {
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 80px;
		height: 2px;
		content: "";
		background: #990000;
	}
/*   point02   */
	/*.point_box.point02 .image_box {
		height: 32.5rem;
	}*/
	.point_box.point02 .contents_box {
		padding: 40px 10% 40px 4%;
	}
@media screen and (max-width: 1750px) {
	.point_box .image_box {
		width: 45%;
	}
	.point_box .contents_box {
		width: 55%;
	}
}
@media screen and (max-width: 1700px) {
	.point_box .image_box {
		width: 44%;
	}
	.point_box .contents_box {
		width: 56%;
		padding: 120px 10% 120px 4%;
	}
}
@media screen and (max-width: 1550px) {
	.point_box .image_box {
		width: 40%;
	}
	.point_box .contents_box {
		width: 60%;
		padding: 120px 7% 120px 4%;
	}
	#lp-contents .point_box .contents_box h2 {
		font-size: 34px;
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 1260px) {
	.point_box .contents_box {
		padding: 120px 7% 120px 3%;
	}
	#lp-contents .point_box .contents_box h2 {
		font-size: 32px;
	}
}
@media screen and (max-width: 1160px) {
	#lp-contents .point_box .contents_box h2 {
        font-size: 26px;
    }
}
@media screen and (max-width: 1024px) {
	#lp-contents .point_box .contents_box h2 {
        font-size: 2.8vw;
    }
	.point_box .contents_box {
        padding: 80px 3%;
    }
}
@media screen and (max-width: 768px) {
	#lp-contents .point_box .contents_box h2 {
        font-size: 5vw;
    }
	#lp-contents .point_box .contents_box h3 {
		font-size: 4vw;
		margin-bottom: 15px;
	}
	.point_box {
		display: block;
		margin-bottom: 0;
	}
	.point_box .image_box {
        width: 100%;
    }
	.point_box .contents_box,
	.point_box.point02 .contents_box {
        width: 100%;
        padding: 80px 4%;
    }
    .point_box .image_box img {
        height: auto;
    }
}
@media screen and (max-width: 500px) {
	#lp-contents .point_box .contents_box h3 {
		font-size: 5.2vw;
	}
}



/*------------------------------
   性犯罪・軽犯罪
------------------------------*/
.crime_box {
	background: #eaeae8;
}
.crime_box h3 {
	text-align: center;
	margin-bottom: 70px;
}
	.crime_box h3 .marker {
		display: inline-block;
		background: linear-gradient(transparent 70%, #fff9bb 70%);
		padding: 0 8px;
	}
	.crime_box p {
		text-align: center;
	}
	#lp-contents .crime_box .big {
		font-size: 24px;
		font-weight: bold;
	}
.crime_box .crime_list {
	display:  flex;
	justify-content: space-between;
	margin-top: 50px;
}
	.crime_box .crime_list li {
		width: calc(50% - 20px);
		background: #fff;
	}
	.crime_box .crime_list .img-text_box {
		display: flex;
	}
		.crime_box .crime_list .img-text_box .img_box {
			width: 50%;
		}
			.crime_box .crime_list .img-text_box .img_box img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		.crime_box .crime_list .img-text_box .text_box {
			width: 50%;
			padding: 35px;
			align-content: center;
		}
		.crime_box .crime_list .img-text_box .text_box .crime-title {
			font-size: 36px;
			font-weight: 500;
			margin-bottom: 20px;
		}
@media screen and (max-width: 900px) {
	.crime_box .crime_list {
		display: block;
	}
	.crime_box .crime_list li {
		width: 100%;
		margin-bottom: 20px;
	}	
}
@media screen and (max-width: 768px) {
	#lp-contents .crime_box h3 {
		line-height: 1.6em;
	}
	.crime_box h3 {
	    margin-bottom: 40px;
	}
	.crime_box .crime_list .img-text_box .text_box {
		padding: 30px;
	}
	.crime_box .crime_list .img-text_box .text_box .crime-title {
		font-size: 5vw;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 500px) {
	#lp-contents .crime_box h2 {
		font-size: 6vw;
	}
	.crime_box .crime_list .img-text_box {
		display: block;
	}
	.crime_box .crime_list .img-text_box .img_box,
	.crime_box .crime_list .img-text_box .text_box {
		width: 100%;
	}
	.crime_box .crime_list .img-text_box .img_box img {
		height: auto;
	}
	.crime_box .crime_list .img-text_box .text_box .crime-title {
		font-size: 6vw;
	}
	.crime_box h3 .marker {
		padding: 0 6px;
	}
}



/*------------------------------
   前科がついた場合のデメリット
------------------------------*/
.demerit_box {
	background: url("../../images/zenka_lp/demerit-bg.jpg") no-repeat center/cover;
}
#lp-contents .demerit_box h2 {
	color: #fff;
}
#lp-contents .demerit_box h3 {
	margin-bottom: 40px;
}
#lp-contents .demerit_box h3::first-letter {
	color: #990000;
	font-size: 48px;
}
.demarit_list li {
	padding: 60px;
	margin-top: 80px;
}
	.demarit_list li:nth-child(1) {
		background: url("../../images/zenka_lp/demerit01_image.jpg")no-repeat center left/cover;
		display: flex;
		flex-direction: row-reverse;
	}
	.demarit_list li:nth-child(2) {
		background: url("../../images/zenka_lp/demerit02_image.jpg")no-repeat center left/cover;
	}
	.demarit_list li:nth-child(3) {
		background: url("../../images/zenka_lp/demerit03_image.jpg")no-repeat center left/cover;
		display: flex;
		flex-direction: row-reverse;
	}
	.demarit_list li .text_box {
		width: 60%;
		background: #fff;
		padding: 40px;
	}
@media screen and (max-width: 1100px) {
	.demarit_list li:nth-child(1) {
		background: url("../../images/zenka_lp/demerit01_image.jpg")no-repeat center left -5vw/cover;
	}
	.demarit_list li:nth-child(2) {
		background: url("../../images/zenka_lp/demerit02_image.jpg")no-repeat center left/cover;
	}
	.demarit_list li:nth-child(3) {
		background: url("../../images/zenka_lp/demerit03_image.jpg")no-repeat center left -10vw/cover;
	}
	.demarit_list li .text_box {
		width: 70%;
	}
}
@media screen and (max-width: 860px) {
	.demarit_list li {
		padding: 40px;
		margin-top: 50px;
	}
	.demarit_list li:nth-child(1) {
		background: url("../../images/zenka_lp/demerit01_image.jpg")no-repeat center left -10vw/cover;
	}
	.demarit_list li:nth-child(2) {
		background: url("../../images/zenka_lp/demerit02_image.jpg")no-repeat center right/cover;
	}
	.demarit_list li:nth-child(3) {
		background: url("../../images/zenka_lp/demerit03_image.jpg")no-repeat center left -20vw/cover;
	}
}
@media screen and (max-width: 768px) {
	#lp-contents .demerit_box h3::first-letter {
		font-size: 7vw;
	}
	.demarit_list li {
		padding: 40vw 0 0;
		margin-top: 50px;
	}
	.demarit_list li:nth-child(1) {
		background: url("../../images/zenka_lp/demerit01_image_sp.jpg")no-repeat left top/contain;
	}
	.demarit_list li:nth-child(2) {
		background: url("../../images/zenka_lp/demerit02_image_sp.jpg")no-repeat center top/contain;
	}
	.demarit_list li:nth-child(3) {
		background: url("../../images/zenka_lp/demerit03_image_sp.jpg")no-repeat center top/contain;
	}
	.demarit_list li .text_box {
		width: 100%;
	}
}
@media screen and (max-width: 500px) {
	#lp-contents .demerit_box h3 {
		margin-bottom: 20px;
	}
	.demarit_list li .text_box {
		padding: 20px;
	}
}


/*------------------------------
   speed_box
------------------------------*/
.speed_box {
	background: url("../../images/zenka_lp/consultation-bg.jpg") no-repeat center/cover;
}
#lp-contents .speed_box p {
	font-size: 36px;
	line-height: 1.75em;
}
.speed_box .red {
	font-size: 48px;
}
@media screen and (max-width: 768px) {
.speed_box {
	background: url("../../images/zenka_lp/consultation-bg.jpg") no-repeat center right 42%/cover;
}
	#lp-contents .speed_box p {
		font-size: 4.5vw;
	}
	.speed_box .red {
		font-size: 6vw;
	}
}
@media screen and (max-width: 500px) {
	.speed_box {
		background: url("../../images/zenka_lp/consultation-bg_sp.jpg") no-repeat center/cover;
	}
	.speed_box .inner {
		padding: 50px 0;
	}
}


/*------------------------------
   接見・面会が可能
------------------------------*/
.meeting_box .img-text_box {
	display: flex;
	flex-direction: row-reverse;
	align-content: center;
	align-items: center;
	justify-content: space-around;
	margin-bottom: 140px;
}
#lp-contents .meeting_box .img-text_box h2 {
	text-align: left;
	font-size: 36px;
	margin-bottom: 40px;
}
#lp-contents .meeting_box .img-text_box h2 .red {
	font-size: 46px;
}
	.meeting_box .img-text_box .image_box ,
	.meeting_box .img-text_box .text_box {
		width: 50%;
	}
	.meeting_box .img-text_box .text_box  {
		padding-right: 100px;
		box-sizing: border-box;
	}
		.meeting_box .img-text_box .image_box {
			position: relative;
		}
		.meeting_box .img-text_box .image_box .meeting_img {
			position: relative;
			width: 82%;
			max-width: 450px;
			z-index: 1;
		}
			.meeting_box .img-text_box .image_box:after {
				position: absolute;
				content: "";
				width: 200px;
				height: 200px;
				background: #1c1c1c;
				right: 0;
				bottom: -60px;
				z-index: -1;
			}

.comparison_box {
	overflow: hidden;
	background: linear-gradient(90deg, #f9f2f2 50%, #eaeae8 50%);
}
.comparison_head {
	display: flex;
}
	.comparison_head p {
		width: 100%;
		padding: 20px;
		text-align: center;
		font-size: 26px;
		font-weight: 500;
		background: #990000;
		color: #fff;
	}
	.comparison_head p:nth-child(2) {
		background: #2a221c;
	}
.comparison_wrap {
	position: relative;
	background: #fff;
	margin: 60px;
	text-align: center;
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: center;
}
	.comparison_wrap .comparison_title {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		font-size: 26px;
		font-weight: bold;
	}
	.comparison_wrap .comparison_left ,
	.comparison_wrap .comparison_right {
		width: 370px;
		padding: 30px;
	}
		#lp-contents .comparison_wrap .red {
			font-weight: bold;
			font-size: 18px;
		}
@media screen and (max-width: 1150px) {
	.meeting_box .img-text_box .text_box {
		padding-right: 60px;
		box-sizing: border-box;
	}
	.meeting_box .img-text_box .image_box {
		width: 46%;
	}
	.meeting_box .img-text_box .text_box {
		width: 54%;
	}
}
@media screen and (max-width: 1024px) {
	.comparison_wrap .comparison_left, .comparison_wrap .comparison_right {
		width: 300px;
	}
}
@media screen and (max-width: 960px) {
	#lp-contents .meeting_box .img-text_box h2 {
		font-size: 28px;
		margin-bottom: 30px;
	}
	#lp-contents .meeting_box .img-text_box h2 .red {
		font-size: 38px;
	}
	.meeting_box .img-text_box .image_box {
		width: 42%;
	}
	.meeting_box .img-text_box .text_box {
		width: 58%;
	}
	.meeting_box .img-text_box .image_box:after {
		width: 150px;
		height: 150px;
	}
	.comparison_wrap {
		margin: 40px;
	}
	.comparison_wrap .comparison_left, .comparison_wrap .comparison_right {
		width: 250px;
	}
	.comparison_wrap .comparison_title {
		font-size: 20px;
	}
}
@media screen and (max-width: 768px) {
	#lp-contents .meeting_box .img-text_box h2 {
		font-size: 4vw;
		margin-bottom: 30px;
	}
	#lp-contents .meeting_box .img-text_box h2 .red {
		font-size: 5.5vw;
	}
	.meeting_box .img-text_box .image_box {
		width: 35%;
	}
	.meeting_box .img-text_box .text_box {
		width: 65%;
	}
	.meeting_box .img-text_box .image_box:after {
		width: 120px;
		height: 120px;
		bottom: -40px;
	}
	.comparison_head p {
	    font-size: 3vw;
	}
}
@media screen and (max-width: 700px) {
	.comparison_wrap {
        margin: 20px;
    }
	.comparison_wrap .comparison_left, .comparison_wrap .comparison_right {
		width: 200px;
		padding: 20px;
	}
	.comparison_wrap .comparison_title {
    	font-size: 3vw;
    }
}
@media screen and (max-width: 650px) {
    #lp-contents .meeting_box .img-text_box h2 {
        font-size: 6vw;
        text-align: center;
    }
	#lp-contents .meeting_box .img-text_box h2 .red {
        font-size: 8vw;
    }
	.meeting_box .img-text_box {
		display: block;
		margin-bottom: 60px;
	}
	.meeting_box .img-text_box .text_box {
		width: 100%;
		padding: 0;
	}
	.meeting_box .img-text_box .image_box:after {
		width: 120px;
		height: 120px;
		bottom: -40px;
	}
	.meeting_box .img-text_box .image_box {
        width: 100%;
        margin-bottom: 60px;
    }
	.meeting_box .img-text_box .image_box .meeting_img {
		max-width: 350px;
		margin: auto;
	}
	.meeting_box .img-text_box .image_box:after {
        right: auto;
        left: 70%;
    }
}
@media screen and (max-width: 600px) {
    .comparison_head p {
        font-size: 4vw;
    }
	.comparison_wrap {
        padding-top: 35px;
    }
	.comparison_wrap .comparison_title {
		top: 10px;
		font-size: 4vw;
	}
	.comparison_wrap {
		justify-content: space-around;
	}
	.comparison_wrap .comparison_left,
	.comparison_wrap .comparison_right {
		width: 50%;
		max-height: 200px;
		padding: 20px;
		text-align: center;
	}
	.comparison_wrap .comparison_left .text_box,
	.comparison_wrap .comparison_right .text_box{
		writing-mode: vertical-rl;
		text-orientation: upright;
		text-align: justify;
		margin: auto;
	}
}
/*@media screen and (max-width: 500px) {
	.comparison_wrap .comparison_left {
        width: 200px;
        align-content: flex-end;
    }
	.comparison_wrap .comparison_right {
        width: 200px;
        align-content: flex-start;
    }
}*/
@media screen and (max-width: 500px) {
    #lp-contents .meeting_box .img-text_box h2 {
        font-size: 7vw;
    }
	#lp-contents .meeting_box .img-text_box h2 .red {
        font-size: 8.5vw;
    }
}
@media screen and (max-width: 400px) {
	.meeting_box .img-text_box .image_box:after {
        right: 0;
        left: auto;
    }
}


/*------------------------------
   早期解決・迅速対応
------------------------------*/
.catch_box {
	padding: 60px 0;
	background: url("../../images/zenka_lp/alg-bg.png")no-repeat center right/contain , #1e1e1e;
}
	#lp-contents .catch_box p {
		color: #fff;
		font-size: 36px;
		line-height: 1.6em;
	}
	.catch_box p .big {
		font-size: 46px;
	}
		.catch_box p .catch_text {
			display: inline-block;
			padding: 5px 20px;
			background: #990000;
			color: #fff;
			margin-bottom: 20px;
		}
	#lp-contents .catch_box p .br {
		display: block;
	}
/*@media screen and (max-width: 1600px) {
	.catch_box {
		background: url("../../images/zenka_lp/alg-bg.png")no-repeat center right/50% , #1e1e1e;
	}
}*/
@media screen and (max-width: 1100px) {
	.catch_box {
		padding: 40px 0;
		background: url("../../images/zenka_lp/alg-bg.png")no-repeat center right -6vw/contain , #1e1e1e;
	}
}
@media screen and (max-width: 1024px) {
	.catch_box {
		padding: 0;
		background: url("../../images/zenka_lp/alg-bg.png")no-repeat center right/55% , #1e1e1e;
	}
}
@media screen and (max-width: 980px) {
	#lp-contents .catch_box p {
		font-size: 30px;
	}
	.catch_box p .big {
		font-size: 40px;
	}
}
@media screen and (max-width: 768px) {
	.catch_box {
		background: url("../../images/zenka_lp/alg-bg_sp.png")no-repeat bottom right/contain , #1e1e1e;
	}
	.catch_box .inner {
        padding: 40px 0 38vw;
	}
	#lp-contents .catch_box p {
		font-size: 5vw;
	}
	.catch_box p .big {
		font-size: 7vw;
	}
}
@media screen and (max-width: 500px) {
	/*.catch_box {
		background: url("../images/alg-bg_sp.png")no-repeat top right/contain , #1e1e1e;
	}*/
}


/*------------------------------
   リンク
------------------------------*/
.link_box ul {
	display: flex;
	justify-content: space-between;
	align-content: center;
}
	.link_box ul li {
		width: calc(50% - 20px);
		height: 140px;
	}
	.link_box ul li a {
		position: relative;
		color: #fff;
		font-size: 26px;
		display: block;
		width: 100%;
		height: 140px;
		background: url("../../images/common/link-bg01.png")no-repeat center right, #990000;
		text-decoration: none;
	}
		.link_box ul li a small {
			font-size: 20px;
		}
		.link_box ul li:nth-child(2) a {
			background: url("../../images/common/link-bg02.png")no-repeat center;
		}
	.link_box ul li a:before {
		position: absolute;
		content: "";
		top: 50%;
		left: 50%;
		transform: translate(-50% , -50%);
		width: calc(100% - 20px);
		height: 120px;
		border: 1px solid #fff;
	}
	.link_box ul li .link_text {
		height: 100%;
		display: flex;
		align-items: center;
		padding: 40px;
	}
	#lp-contents .link_box ul li .link_text p {
		line-height: 1.2em;
	}
@media screen and (max-width: 768px) {
	.link_box ul li {
		height: 110px;
	}
	.link_box ul li a {
		font-size: 2.6vw;
		height: 110px;
	}
	.link_box ul li a:before {
		height: 90px;
	}
		.link_box ul li a small {
			font-size: 2vw;
		}
	.link_box ul li .link_text {
		padding: 30px;
	}
}
@media screen and (max-width: 600px) {
	.link_box ul {
		display: block;
		max-width: 520px;
		margin: auto;
	}
	.link_box ul li {
		width:100%;
		margin-bottom: 20px;
	}
		.link_box ul li:last-child {
			margin-bottom: 0;
		}
	.link_box ul li a {
		font-size: 3.8vw;
	}
		.link_box ul li a small {
			font-size: 2.6vw;
		}
}
@media screen and (max-width: 400px) {
	.link_box ul {
		display: block;
		max-width: 520px;
		margin: auto;
	}
	.link_box ul li {
		width:100%;
		height: 90px;
		margin-bottom: 20px;
	}
		.link_box ul li:last-child {
			margin-bottom: 0;
		}
	.link_box ul li a {
		height: 90px;
		font-size: 5vw;
	}
	.link_box ul li a:before {
		width: calc(100% - 10px);
        height: 80px;
    }
		.link_box ul li a small {
			font-size: 3.6vw;
		}
}



/*------------------------------
   ALGリンク
------------------------------*/
/*.alg_list {
	background: #eaeae8;
}
.logo_img {
	text-align: center;
	margin-bottom: 20px;
}
.alg_list ul {
    display: flex;
    flex-wrap: wrap;
}
    .alg_list ul li {
        width: calc(20% - 40px);
        margin-top: 20px;
    }
    .alg_list ul li a {
        position: relative;
        text-decoration: none;
        color: #1c1c1c;
		font-weight: 500;
        padding-bottom: 5px;
        border-bottom: 1px solid #1c1c1c;
		transition: 0.4s;
    }
		.alg_list ul li a:hover {
			color: #990000;
			border-bottom: 1px solid #990000;
		}
        .alg_list ul li a:after {
            position: absolute;
            content: "";
            width: 14px;
            height: 10px;
            background: url("../images/site_icon.png")no-repeat;
            top: 8px;
            right: -20px;
        }
@media screen and (max-width: 1100px) {
	.alg_list ul li {
		width: 20%;
	}
}
@media screen and (max-width: 900px) {
	.alg_list ul li {
		width: 25%;
	}
}
@media screen and (max-width: 768px) {
	.alg_list ul li {
		width: 33%;
	}
}
@media screen and (max-width: 510px) {
	.alg_list ul li {
		width: 50%;
	}
}
@media screen and (max-width: 400px) {
	.alg_list ul {
		justify-content: space-between;
	}
	.alg_list ul li {
		width: 47%;
		margin-top: 25px;
	}
	.alg_list ul li a {
		display: block;
		margin-right: 30px;
		font-size: 14px;
	}
	.logo_img {
		width: 80%;
		margin: auto;
		margin-bottom: 15px;
	}
}*/


/*------------------------------
   copyright
------------------------------*/
.copy_box {
	background: #1c1c1c;
	padding: 10px;
	color: #fff;
	font-size: 12px;
	text-align: center;
}


/*------------------------------
   office
------------------------------*/
.office__items {
	margin-top: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 35px;
}
/*.office_box .inner {
	padding-bottom: 0;
}*/
.office__item {
    display: flex;
    flex-direction: column;
    background-color: #eaeae8;
    padding: 25px;
}
.office__item figure {
	margin: 0;
}
	.office__item figure img {
		width: 100%;
	}
.office__item-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-top: 14px;
}
.office__item-name {
    display: inline-block;
    font-optical-sizing: auto;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.office__item-body address {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6em;
	font-style: normal;
	margin: 10px 0 15px;
}
.office__item-link a {
    display: block;
    background-color: #990000;
    border-radius: 20px;
    color: #fff;
    font-weight: bold;
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin-inline: auto;
}
.section__link {
    margin-top: 80px;
	text-align: center;
}
.section__link a {
	position: relative;
    display: inline-block;
    background-color: #1c1c1c;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.05em;
    max-width: 400px;
    width: 100%;
    height: 75px;
    line-height: 75px;
	transition: 0.4s;
}
	.section__link a:hover {
		opacity: 0.8;
	}
.section__link a:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 14px;
    top: 50%;
    right: 20px;
    transform: translate(-50%, -50%);
    aspect-ratio: cos(30deg);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #fff;
}
@media screen and (max-width: 1050px) {
    .office__items {
        gap: 2.8vw;
    }
	.office__item {
        padding: 2vw;
    }
	.office__item-name {
        font-size: max(18px, 2.1vw);
    }
	.office__item-body address {
        letter-spacing: 0.03em;
        font-size: max(12px,1.43vw);
    }
	.office__item-link a {
        font-size: max(13px, 1.523vw);
    }
}
@media screen and (max-width: 768px) {
	.office__items {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
	.office__item {
        padding: 3.2vw;
    }
	.office__item-name {
        font-size: max(18px, 2.86vw);
    }
    .office__item-body address {
        margin-bottom: 1em;
        font-size: 2.2vw;
    }
	.office__item-link a {
        font-size: max(14px, 2.08vw);
    }
}
@media screen and (max-width: 550px) {
	.office__items {
	    grid-template-columns: 100%;
        gap: 30px;
		max-width: 400px;
		margin: auto;
	}
		.office__items .office__item:first-child {
			margin-top: 30px;
		}
    .office__item {
        padding: 20px;
    }
	.office__item-name {
        font-size: 4vw;
    }
    .office__item-body address {
        margin-bottom: 1em;
        font-size: 3vw;
    }
	.section__link a {
		font-size: 3vw;
		height: 60px;
		line-height: 60px;
	}
}



/*------------------------------
   fotter
------------------------------*/
.footer {
	text-align: center;
    background-color: #eaeae8;
    position: relative;
}
.footer__address {
    margin-top: 50px;
}
.footer__nav {
    margin-top: 40px;
}
	.footer__nav-items {
		display: flex;
		justify-content: center;
	}
		.footer__nav-item {
			border-left: 1px solid #7e7e7e;
			font-weight: bold;
			line-height: 1.3;
			letter-spacing: 0.05em;
		}
		.footer__nav-item:last-of-type {
			border-right: 1px solid #7e7e7e;
		}
	.footer__nav-item a {
		padding: 0 0.8em;
        text-decoration: none;
        color: #1c1c1c;
		transition: 0.4s;
	}
		.footer__nav-item a:hover {
			color: #990000;
		}

			.footer__nav-item:last-of-type a {
				padding: 0 1em 0 0.8em;
			}
	.footer__nav-item:last-of-type a::after {
		content: "";
		display: inline-block;
		background: url("../images/common/site_icon.png")no-repeat;
		width: 14px;
		height: 10px;
		background-size: contain;
		position: relative;
		top: -2px;
		left: 2px;
	}
.site-title {
	margin-top: 40px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-align: center;
}

@media screen and (max-width: 950px) {
	.site-title {
		font-size: 3vw;
	}	
}
@media screen and (max-width: 550px) {
	.site-title {
		font-size: 3vw;
	}
    .footer__nav-items {
        flex-direction: column;
        align-items: center;
    }
    .footer__nav-item:first-of-type {
        border-right: 1px solid #7e7e7e;
    }
	.footer__nav-item {
		margin: 5px 0;
		min-width: 280px;
	}
}

img{
	width: auto;
}
.footer__logo img,
.footer__address img{
	margin: 0 auto;
}



/*------------------------------
  sapporo
------------------------------*

.sapporo .office__item-name {
    display: inline-block;
    font-optical-sizing: auto;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0.05em;
	text-align: center;
}

.sapporo .office__item-link a {
    display: block;
    background-color: #990000;
	background-color: #1c1c1c;
    border-radius: 0px;
    color: #fff;
    font-weight: bold;
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    margin-inline: auto;
    margin-top: 0.5em;
}

.office__item-body.sapporo{
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-top: 14px;
    justify-content: center;
}


@media screen and (max-width: 1024px) {
.sapporo .office__item-name {
    font-size: 22px;
}
}


@media screen and (max-width: 550px) {
.sapporo .office__item-name {
    font-size: 20px;
}
}/

