@charset "UTF-8";


/*========================================

  loader

========================================
#wrap {
	opacity:0;
	min-width:1200px;
	background:#fff;
	overflow:hidden;
	transition:.5;
}

@media screen and (max-width: 767px) {
	#wrap {
		min-width:100vw;
	}
}


#loader-bg {
	position:fixed;
	z-index:10001;
	top:0;
	left:0;
	display:none;
	width:100%;
	height:100%;
	background:#fff;
}

#loader {
	position:absolute;
	z-index:10002;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:30vw;
	height:30vw;
	display:none;
	margin:auto;
	text-align:center;
	color:#999;
}

@media screen and (min-width: 1600px) {
	#loader {
		width:475px;
		height:475px;
	}
}



#loader img {
	width:30vw;
	height:30vw;
	max-width:475px;
	max-height:475px;
}

@media screen and (max-width: 767px) {
	#loader {
		width:50vw;
		height:50vw;
		top:40vw;
		bottom:auto;
		margin-top:0;
	}

	#loader img {
		width:50vw;
		height:50vw;
	}
}
	*/

.wave-container {
	opacity:0;
	transition:opacity .1s;
}




/*========================================

  indexページ

========================================*/
main {
	padding-top:0 !important;
}

/* 共通 */
.bgc_b {
	background-color:#61090b;
}

.ttl_box {
	position:relative;
	padding-left:20px;
}

.ttl_box::before {
	position:absolute;
	top:5px;
	left:0;
	content:"";
	display:inline-block;
	width:1px;
	height:0px;
	background-color:#61090b;
	transition:.5s;
}

.ttl_box.showwin::before {
	height:110px;
}

.ttl_box_w::before {
	background-color:#fff;
}

.ttl_box strong {
	display:block;
	color:#61090b;
	font-size:38px;
	font-family:"Crimson Text", serif;
	line-height:1em;
	letter-spacing:1px;
}

.ttl_box_w strong {
	color:#fff;
}

.ttl_box_r strong {
	font-size:14px;
}

.ttl_box h2 {
	font-size:14px;
	margin-top:.2em;
	letter-spacing:1px;
}

.ttl_box_w h2 {
	color:#fff;
}

.ttl_box_r h2 {
	font-size:32px;
	font-family:"Noto Serif JP", serif;
	font-weight:500;
	letter-spacing:1px;
	padding-bottom:.2em;
}

.boxR {
	width:650px;
}

.tel {
	width:420px;
	border:1px solid #fff;
	margin-top:30px;
}

.tel dl {
	color:#fff;
	text-align:center;
	margin:0;
	padding:0;
	padding:20px;
}

.tel dl dt {
	font-size:16px;
}

.tel dl dd strong {
	display:block;
	font-size:38px;
	font-family:"Noto Serif JP", serif;
	font-weight:500;
	letter-spacing:2px;
}

.tel dl dd strong a {
	color:#fff;
	text-decoration:none;
}

.tel dl dd {
	font-size:13px;
}

@media screen and (max-width: 767px) {
	.ttl_box {
		position:relative;
		height:auto;
		padding-left:5vw;
	}


	.ttl_box strong {
		font-size:8vw;
	}

	.ttl_box_r strong {
		font-size:3.4vw;
	}

	.ttl_box h2 {
		font-size:4vw;
	}

	.ttl_box_r h2 {
		font-size:6.5vw;
	}

	.ttl_box.showwin::before {
		height:100%;
	}

	.boxR {
		width:100%;
		margin-top:8vw;
	}

	.tel {
		width:100%;
		margin:0 auto;
		margin-top:8vw;
	}

	.tel dl {
		padding:5vw;
	}

	.tel dl dt {
		font-size:4vw;
	}

	.tel dl dd strong {
		font-size:8vw;
	}

	.tel dl dd {
		font-size:3.4vw;
	}
}


#wrap {
	display:block;
	overflow-x:hidden;
	width:100vw;
}


section {
	position:relative;
}

.linebox {
	position:absolute;
	margin-left:calc((100vw - 2420px) / 2);
}

/*
.linebox::before,
.linebox::after {
	content: "";
	background: url(../img/line_alpha.png) repeat-y;
	position: absolute;
	top: 0;
	left: 0;
	width: 200px;
	height: 100%;
	z-index: 1;
}

.linebox::after {
	top: 0;
	left: auto;
	right: 0;
	transform: rotate(180deg);
}
	*/


.linebox.l01 {
	top:70px;
	left:0;
}

.linebox.l01 {
	opacity:0;
	animation:fadeIn 2s ease 1s forwards;
}

@keyframes fadeIn {
	0% {
		opacity:0;
	}

	100% {
		opacity:1;
	}
}



.linebox.l02_t {
	top:-300px;
	left:0;
}

.linebox.l02_b {
	bottom:-300px;
	left:0;
}

.linebox.l03_t {
	top:-250px;
	left:0;
}

.linebox.l03_b {
	bottom:-280px;
	left:0;
}

.linebox.l04_t {
	top:-300px;
	left:0;
}

.linebox.l04_b {
	bottom:-280px;
	left:0;
}

.linebox.l05 {
	bottom:-130px;
	left:0;
}


@media screen and (max-width: 767px) {
	.linebox {
		margin-left:calc((100vw - 2420px) / 2);
	}

	.linebox svg {
		transform:scale(.4);
	}

	.linebox.l01 {
		top:-3.5vw;
		left:0;
	}

	.linebox.l02_t {
		top:-45vw;
		left:0;
	}

	.linebox.l02_b {
		bottom:-50vw;
		left:0;
	}

	.linebox.l03_t {
		top:-40vw;
		left:0;
	}

	.linebox.l03_b {
		bottom:-60vw;
		left:0;
	}

	.linebox.l04_t {
		top:-50vw;
		left:0;
	}

	.linebox.l04_b {
		bottom:-50vw;
		left:0;
	}

	.linebox.l05 {
		bottom:-35vw;
		left:0;
	}
}





/* topics */
#topics {
	position:relative;
	padding-top:300px;
	padding-bottom:150px;
}


/*
#topics::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	background: url(../img/line_01.png) no-repeat;
	background-position: center center;
	background-size: 150% 100%;
	width: 100%;
	height: 424px;
	animation: bg-move 20s linear infinite;
}
*/

.text-animation {
	white-space:pre;
}

.text-animation i {
	opacity:0;
	display:inline-block;
	transform:translateY(15px);
	font-style:normal;
	transition:.5s;
}

.text-animation i.show {
	opacity:1;
	transform:translateY(0);
}




@keyframes bg-move {
	0% {
		background-position:30% 0;
	}

	5% {
		background-position:30% 0;
	}

	10% {
		background-position:30% 0;
	}

	15% {
		background-position:30% 0;
	}

	20% {
		background-position:30% 0;
	}

	25% {
		background-position:30% 0;
	}

	30% {
		background-position:30% 0;
	}

	35% {
		background-position:30% 0;
	}

	40% {
		background-position:right 30% top 0;
	}

	45% {
		background-position:right 30% top 0;
	}

	50% {
		background-position:right 30% top 0;
	}

	55% {
		background-position:right 30% top 0;
	}

	60% {
		background-position:right 30% top 0;
	}

	65% {
		background-position:right 30% top 0;
	}

	70% {
		background-position:30% 0;
	}

	75% {
		background-position:30% 0;
	}

	80% {
		background-position:30% 0;
	}

	85% {
		background-position:30% 0;
	}

	90% {
		background-position:30% 0;
	}

	95% {
		background-position:30% 0;
	}

	100% {
		background-position:30% 0;
	}
}



#topics .boxR ul li {
	display:flex;
	align-items:flex-start;
	list-style:none;
	border-bottom:1px solid #e6e6e6;
	padding:.8em 0;
}

#topics .boxR ul li span.category {
	display:inline-block;
	width:110px;
	color:#fff;
	font-size:13px;
	text-align:center;
	letter-spacing:1px;
	padding:.4em 0;
	line-height:1em;
}

#topics .boxR ul li span.c01 {
	background-color:#61090b;
}

#topics .boxR ul li span.c02 {
	background-color:#9d3551;
}

#topics .boxR ul li span.c03 {
	background-color:#727272;
}

#topics .boxR ul li span.c04 {
	background-color:#2599ab;
}

#topics .boxR ul li span.day {
	display:inline-block;
	width:110px;
	color:#808080;
	font-size:14px;
	letter-spacing:1px;
	padding-left:1em;
}

#topics .boxR ul li span.headline {
	font-size:14px;
}

@media screen and (max-width: 767px) {
	#topics {
		padding-top:40vw;
		padding-bottom:20vw;
	}

	#topics .boxR ul li {
		display:block;
	}

	#topics .boxR ul li span.category {
		display:inline-block;
		width:25vw;
		font-size:3.4vw;
	}

	#topics .boxR ul li span.day {
		display:inline-block;
		width:30vw;
		font-size:3.4vw;
	}

	#topics .boxR ul li span.headline {
		display:block;
		font-size:3.4vw;
		margin-top:.5em;
	}
}



/* history */
#history {
	margin-top:200px;
	padding-top:50px;
	padding-bottom:80px;
}

#history .boxR p {
	color:#fff;
	font-size:15px;
	text-align:justify;
	text-justify:inter-ideograph;
}

@media screen and (max-width: 767px) {
	#history {
		margin-top:0;
		padding-top:20vw;
		padding-bottom:20vw;
	}

	#history .boxR p {
		font-size:3.4vw;
	}
}



/* business */
#business {
	padding-top:340px;
	padding-bottom:150px;
}

#business .boxR ul li {
	font-size:15px;
	list-style:none;
	text-align:justify;
	text-justify:inter-ideograph;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:.8em;
}

#business .boxR ul li span {
	color:#61090b;
}

@media screen and (max-width: 767px) {
	#business {
		padding-top:30vw;
		padding-bottom:10vw;
	}

	#business .boxR ul li {
		font-size:3.4vw;
	}
}



/* lawyer */
#lawyer {
	position:relative;
	padding-top:50px;
	margin-top:130px;
	padding-bottom:20px;
}

#lawyer .boxR ul li {
	color:#fff;
	font-size:15px;
	list-style:none;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:.8em;
}

#lawyer .boxR ul li ul li {
	margin-bottom:0;
}

#lawyer .boxR ul li span {
	color:#fff;
}

#lawyer .boxR ul li ul li ul {
	padding-left:1em;
}

@media screen and (max-width: 767px) {
	#lawyer {
		margin-top:20vw;
		padding-top:20vw;
		padding-bottom:10vw;
	}

	#lawyer .boxR ul li {
		font-size:3.4vw;
	}
}



/* access */
#access {
	padding-top:200px;
	padding-bottom:200px;
}

#access .boxR ul li {
	font-size:15px;
	list-style:none;
	text-align:justify;
	text-justify:inter-ideograph;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:.8em;
}

/*
#access .boxR ul li span {
	color: #61090b;
}
	*/

#access .boxR ul li small {
	font-size:14px;
}

#access .box {
	display:flex;
	justify-content:space-between;
	margin-top:30px;
}

#access .box .photo span {
	margin-right:10px;
}



#access .box .map ul {
	display:flex;
	justify-content:flex-end;
	margin-top:.5em;
}

#access .box .map ul li {
	list-style:none;
	margin-left:2em;
}

#access .box .map ul li a {
	font-size:14px;
}

#access .box .map ul li a::after {
	content:"\f105";
	font-family:FontAwesome;
	margin-left:.5em;
}

#access .box .map ul li a:hover {
	opacity:.7;
	transition:.3s;
}

@media screen and (max-width: 767px) {
	#access {
		padding-top:30vw;
		padding-bottom:20vw;
	}

	#access .boxR ul li {
		font-size:3.4vw;
	}

	#access .boxR ul li small {
		font-size:3.4vw;
	}

	#access .boxR ul li a span {
		color:#000;
		text-decoration:none;
	}

	#access .box {
		flex-direction:column-reverse;
		margin-top:8vw;
	}

	#access .box .photo {
		margin-top:8vw;
	}

	#access .box .photo span {
		margin-right:0;
	}

	#access .box .photo span.s01 {
		display:none;
	}

	#access .box .map span {
		display:block;
		overflow-x:scroll;
		width:90vw;
		padding-bottom:5vw;
	}

	#access .box .map span img {
		width:140vw;
		max-width:140vw;
		height:auto;
	}

	#access .box .map ul {
		display:flex;
		justify-content:space-between;
		margin-top:2em;
	}

	#access .box .map ul li {
		margin-left:0;
	}

	#access .box .map ul li a {
		font-size:3.4vw;
	}
}



/* advisory */
#advisory {
	position:relative;
	margin-top:50px;
	padding-top:50px;
	padding-bottom:70px;
}

#advisory .boxR ul li {
	color:#fff;
	font-size:15px;
	list-style:none;
	text-align:justify;
	text-justify:inter-ideograph;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:.8em;
}

#advisory .boxR ul li span {
	color:#fff;
}

#advisory .boxR .tel {
	width:420px;
	border:1px solid #fff;
	margin-top:30px;
}

@media screen and (max-width: 767px) {
	#advisory {
		padding-top:20vw;
		padding-bottom:20vw;
	}

	#advisory .boxR ul li {
		font-size:3.4vw;
	}

	#advisory .boxR .tel {
		width:100%;
		margin-top:8vw;
	}
}



/* consultation */
#consultation {
	position:relative;
	padding-top:240px;
	padding-bottom:200px;
}

#consultation .ttl_box h2 {
	color:#61090b;
}

#consultation .ttl_box strong {
	color:#000;
}

#consultation .boxR ul li {
	font-size:15px;
	list-style:none;
	text-align:justify;
	text-justify:inter-ideograph;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:.8em;
}

#consultation .boxR ul li span {
	color:#61090b;
}

#consultation .tel {
	border:1px solid #61090b;
}

#consultation .tel dl dt,
#consultation .tel dl dd strong {
	color:#61090b;
}

#consultation .tel dl dd {
	color:#000;
}

@media screen and (max-width: 767px) {
	#consultation {
		padding-top:20vw;
		padding-bottom:25vw;
	}

	#consultation .boxR ul li {
		font-size:3.4vw;
	}

	#consultation .tel dl dd strong a {
		color:#61090b;
	}
}
