@charset "utf-8";

/* =====================================
■mainView
===================================== */
.mainView {
	background: url(/wp-content/uploads/mv-bg.png) repeat-x center top;
	background-size: auto 100%;
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.mainView .inner {
		width: 1000px;
		margin: 0 auto;
	}
	.mainView img {
		display: block;
		width: 1400px;
		max-width: inherit;
		margin: 0 -200px;
	}
}

@media screen and (max-width: 1040px) and (min-width: 768px) {
	.mainView .inner {
		width: 100%;
	}
	.mainView img {
		width: 136%;
		margin: 0 -18%;
	}
}

@media screen and (max-width: 767px) {
	.mainView img {
		width: 100%;
	}
}


/* =====================================
■TITLE
===================================== */
.titWrap {
	text-align: center;
	margin-bottom: 30px;
}
.titWrap h2 {
	display: inline-block;
	font-size: 3.0rem;
	text-align: center;
	line-height: 1.4;
	border-bottom: 2px solid #f46969;
	padding: 0px 10px 5px 10px;
	position: relative;
}
.titBgWrap {
	margin-bottom: 30px !important;
}
.titBgWrap h2 {
	background: #63c6b7;
	border-top: 2px solid #2eb09c;
	font-size: 2.8rem;
	line-height: 1.3;
	color: #fff;
	text-align: center;
	padding: 17px 20px 16px;
	position: relative;
}
.titBgWrap h2:before {
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

/* h3 */
.titWrap h3 {
	font-size: 2.6rem;
	line-height: 1.3;
	color: #000;
	text-align: left;
	margin-bottom: 30px;
	padding: 5px 10px 0.6em;
	position: relative;
}
.titWrap h3:before {
	content: "";
	width: 5%;
	height: 2px;
	background: #2eb09c;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.titWrap h3:after {
	content: "";
	width: 100%;
	height: 2px;
	background: #63c6b7;
	position: absolute;
	bottom: 0;
	left: 0;
}

@media screen and (max-width: 1040px) {
	.titBgWrap.elementor-section.elementor-section-boxed > .elementor-container {
		padding: 0;
	}
}

@media screen and (max-width: 767px) {
	.titWrap {
		margin-bottom: 15px;
	}
	.titWrap h2 {
		font-size: 2rem;
	}
	.titBgWrap {
		margin-bottom: 15px !important;
	}
	.titBgWrap h2 {
		font-size: 1.8rem;
		padding: 12px 5px 10px;
	}

	.titWrap h3 {
		font-size: 1.7rem;
		margin-bottom: 15px;
		padding: 0 0px 0.3em;
	}
}


/* =====================================
■img
===================================== */
.imgBlock a {
	overflow: hidden;
	height: 100%;
	vertical-align: bottom;
	position: relative;
	z-index: 1;
}
.imgBlock a img {
	transition: .3s ease;
}
.open-lightbox .elementor-image,
.open-lightbox [data-elementor-open-lightbox="yes"] {
	display: block;
	position: relative;
}
.open-lightbox .elementor-image:after {
	content: "";
	width: 17px;
	height: 17px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 3px;
	position: absolute;
	bottom: 5px;
	right: 5px;
	z-index: 1;
}
.open-lightbox [data-elementor-open-lightbox="yes"]:before {
	content: "";
	width: 1px;
	height: 9px;
	background: #000;
	position: absolute;
	bottom: 9px;
	right: 13px;
	z-index: 2;
}
.open-lightbox [data-elementor-open-lightbox="yes"]:after {
	content: "";
	width: 9px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 13px;
	right: 9px;
	z-index: 2;
}

@media screen and (min-width: 768px) {
	.imgBlock a:hover img {
		transform: scale(1.1, 1.1);
		transition: .3s ease;
	}
}


/* =====================================
■NEWS
===================================== */
.newsSec {
	padding: 60px 0;
}
.newsSec .headingWrap {
	width: 12em;
}
.newsSec .headingWrap h2 {
	font-size: 2.4rem;
	color: #f46969;
}
.newsSec .headingWrap .more a {
	display: inline-block;
	background: #fde9e9;
	border-radius: 6px;
	font-size: 11px !important;
	color: #f46969 !important;
	text-decoration: none;
	line-height: 1 !important;
	padding: 5px 18px 5px 10px;
	position: relative;
}
.newsSec .headingWrap .more a:before {
	content: "";
	width: 7px;
	height: 7px;
	border-style: solid;
	border-width: 0px 1px 1px 0;
	border-color: #f46969;
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	right: 6px;
	margin-top: -4px;
	box-sizing: border-box;
}
.newsSec .newsWrap {
	width: calc(100% - 12em);
}
.newsSec .news {
	padding-left: 2px;
	border-bottom: 1px solid #eee;
	position: relative;
}
.newsSec .news:before {
	content: "";
	width: 1px;
	height: 100%;
	background: #f46969;
	position: absolute;
	top: 0;
	left: 0;
}
.newsSec .news:after {
	content: "";
	width: 2px;
	height: 100%;
	background: #eee;
	position: absolute;
	top: 0;
	left: 1px;
}
.newsSec .news dl {
	display: flex;
	align-items: center;
	width: 100%;
	font-size: 90%;
	color: #000;
	border-top: 1px solid #eee;
	padding: 5px 20px;
}
.newsSec .news dl dt {
	width: 9em;
	color: #6d6d6d;
}
.newsSec .news dl dd {
	font-size: 90%;
}
.newsSec .news dl dd a {
	color: #000;
}

@media screen and (max-width: 1040px) {
	.newsSec {
		padding: 30px 0 35px;
	}
}

@media screen and (max-width: 767px) {
	.newsSec .headingWrap {
		width: 100%;
		margin-bottom: 5px;
	}
	.newsSec .headingWrap > .elementor-column-wrap > .elementor-widget-wrap {
		display: flex;
	}
	.newsSec .headingWrap .heading {
		width: calc(100% - 7rem);
	}
	.newsSec .headingWrap h2 {
		font-size: 2rem;
	}
	.newsSec .headingWrap .more {
		width: 7rem;
		margin-top: 10px;
	}
	.newsSec .headingWrap .more a {
		display: block;
		text-align: center;
	}
	.newsSec .newsWrap {
		width: 100%;
	}
	.newsSec .news dl {
		flex-wrap: wrap;
		font-size: 100%;
		padding: 5px 0px 5px 10px;
	}
	.newsSec .news dl dt {
		width: 100%;
	}
	.newsSec .news dl dd {
		font-size: 100%;
	}
}


/* =====================================
■BNR
===================================== */
.bnrSec .pic01 {
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
}


/* =====================================
■ご相談者様のご希望に即した解決を目指します
===================================== */
.purposeSec  {
	padding: 60px 0;
}
.graphicBox .elementor-container,
.graphicBox .elementor-row,
.graphicBox .elementor-column,
.graphicBox .elementor-column-wrap,
.graphicBox .elementor-widget-wrap {
	display: block !important;
}
.graphicBox .photo {
	display: block !important;
	float: right;
	width: 31% !important;
	margin: 0 0 15px 4% !important;
	z-index: 1;
}
.graphicBox .elementor-widget-image {
	text-align: right;
}
.graphicBox .elementor-clearfix:after {
	display: none !important;
}
.graphicBox .context {
	width: auto !important;
}
.graphicBox .context .elementor-column-wrap,
.graphicBox .context .elementor-widget-wrap {
	width: auto;
	align-content: normal;
}

@media screen and (min-width: 768px) {
	.graphicBox .photo.w26 {
		width: 26% !important;
		margin-bottom: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	.purposeSec  {
		padding: 30px 0;
	}
	.graphicBox .photo {
		width: 70% !important;
		float: none;
		margin: 0 auto 15px !important;
	}
	.graphicBox .elementor-widget-image {
		text-align: center;
	}
}


/* =====================================
■当事務所の強み
===================================== */
.strengthsSec {
	background: #fff5e5;
	padding: 40px 0;
}
.strengthsArea > .elementor-container > .elementor-row {
	flex-wrap: wrap;
    justify-content: space-between;
}
.strengthsArea .item {
	width: 48%;
	border: 1px solid #f46969;
	padding: 20px;
	margin-top: 4%;
	position: relative;
}
.strengthsArea .item .heading {
	margin-bottom: 20px;
}
.strengthsArea .item .heading h3 {
	font-size: 2rem;
	line-height: 1.3;
	padding: 5px 10px 0.6em;
	position: relative;
}
.strengthsArea .item .heading h3:before {
	content: "";
	height: 2px;
	width: 5%;
	background: #f46969;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.strengthsArea .item .heading h3:after {
	content: "";
	height: 2px;
	width: 100%;
	background: #f6afaf;
	position: absolute;
	bottom: 0;
	right: 0;
}
.strengthsArea .item .pic {
	margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
	.strengthsArea .item:nth-child(-n+2) {
		margin: 0;
	}
}

@media screen and (max-width: 767px) {
	.strengthsSec {
		padding: 30px 0;
	}
	.strengthsArea .item {
		width: 100%;
		padding: 10px;
	}
	.strengthsArea .item:first-child {
		margin: 0;
	}
	.strengthsArea .item .heading {
		margin-bottom: 15px;
	}
	.strengthsArea .item .heading h3 {
		font-size: 1.7rem;
		padding: 0 0px 0.3em;
	}
	.strengthsArea .item .pic {
		width: 70%;
		margin: 0 auto 15px;
	}
}


/* =====================================
■お悩み別メニュー
===================================== */
.menuSec {
	padding: 60px 0;
}
.menuArea > .elementor-container > .elementor-row {
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 30px;
}
.menuArea .item {
	width: 22.75%;
	border: 1px solid #f46969;
	padding: 0 20px 20px;
    position: relative;
}
body:not(.elementor-editor-active) .menuArea .link {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
}
body:not(.elementor-editor-active) .menuArea .link div {
    height: 100%;
}
body:not(.elementor-editor-active) .menuArea .link a {
    display: block;
    width: 100%;
    height: 100%;
	background: rgba(255, 255, 255, 0);
    position: relative;
}
body:not(.elementor-editor-active) .menuArea .link a:hover {
	background: rgba(255, 255, 255, 0.3);
}
body:not(.elementor-editor-active) .menuArea .link a i {
    display: none;
}
.menuArea .item .pic {
	width: calc(100% + 40px);
	margin: 0 -20px 10px;
}
.menuArea .item .pic img {
	border-radius: 0;
}
.menuArea .item .icon {
	width: 45px;
	height: 45px;
	background: #f46969;
	border-radius: 50%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto 10px;
	position: relative;
}
.menuArea .item .icon:before,
.menuArea .item .icon:after {
	content: '';
	height: 17px;
	width: 3px;
	background: #fff;
	border-radius: 10px;
	position: absolute;
	top: 19px;
	right: 19px;
	transform: rotate(45deg);
}
.menuArea .item .icon:before {
	transform: rotate(-45deg);
	top: 8px;
}
.menuArea .item .icon i {
	display: none;
}
.menuArea .item .list li {
	vertical-align: top;
	padding-left: 15px;
	margin-bottom: 7px;
	position: relative;
}
.menuArea .item .list li:before {
	content: "";
	width: 4px;
	height: 4px;
	background: #f46969;
	border-radius: 6px;
	position: absolute;
	left: 0;
	top: 11px;
}

@media screen and (max-width: 767px) {
	.menuSec {
		padding: 30px 0;
	}
	.menuArea > .elementor-container > .elementor-row {
		row-gap: 20px;
	}
	.menuArea .item {
		width: 100%;
		padding: 20px;
	}
	.menuArea .item .pic {
		width: 70%;
		margin: 0 auto 10px;
	}
	.menuArea .item > .elementor-column-wrap > .elementor-widget-wrap {
		flex-direction: column;
	}
	.menuArea .item .list li:before {
		top: 8px;
	}
}


/* =====================================
■ご挨拶
===================================== */
.greetingSec  {
	background: #fff5e5;
	padding: 40px 0;
}
.greetingSec .catch {
	font-size: 2.4rem;
	line-height: 1.4;
	color: #f46969;
	margin-bottom: 1.2rem;
}

@media screen and (max-width: 767px) {
	.greetingSec  {
		padding: 30px 0;
	}
	.greetingSec .catch {
		font-size: 1.7rem;
	}
}


/* =====================================
■事務所紹介
===================================== */
.infoSec {
	background: url(/wp-content/uploads/top-bg01.png) no-repeat center top;
	background-size: cover;
	border-bottom: 1px solid #d3d3d3;
	padding: 40px 0;
}
.infoSec .txt {
	margin-bottom: 20px;
}
.table_A th,
.table_A td {
	vertical-align: middle;
	word-break: break-all;
}
.table_A th {
	width: 25%;
	color: #f46969;
	padding: 5px 5px 3px 5px;
	border-bottom: 1px solid #afafaf;
}
.table_A td {
	padding: 10px 5px 5px;
	border-bottom: 1px solid #ccc;
}
.infoSec .map {
	position: relative;
}
.infoSec .map iframe {
	width: 100% !important;
	height: 100% !important;
	border: none;
	position: absolute;
	left: 0;
	top: 0;
}

@media screen and (max-width: 767px) {
	.infoSec {
		background: #fde9e9;
		padding: 30px 0 10px;
	}
	.infoSec .txt {
		margin-bottom: 10px;
	}
	.table_A th {
		border-bottom: 1px solid #f6afaf;
	}
	.infoSec .map {
		padding-top: 278px;
	}
}


/* =====================================
■地図
===================================== */
.mapBlock .mapbox {
	height: 400px;
	min-height: 250px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
	position: relative;
}
.mapBlock .mapbox iframe {
	width: 100% !important;
	height: 100% !important;
	border: none;
	position: absolute;
	left: 0;
	top: 0;
}
.mapBlock .mapbox > div {
	min-height: 250px;
}

@media screen and (max-width: 767px) {
	.mapBlock .mapbox {
		height: 250px;
	}
}


/* =====================================
■Gallery
===================================== */
.gallerySec {
	background: #e1edf9;
	padding: 70px 0 40px;
	margin: 35px 0 60px;
}
.gallerySec .inner {
	padding: 0 10px;
}
.gallerySec .elementor-swiper-button {
	width: 20px;
	height: 30px;
	overflow: hidden;
}
.gallerySec .elementor-swiper-button i {
	display: none;
}
.gallerySec .elementor-swiper-button-prev {
	left: -10px;
}
.gallerySec .elementor-swiper-button-next {
	right: -10px;
}
.gallerySec .elementor-swiper-button-prev:before,
.gallerySec .elementor-swiper-button-next:before {
	content: "";
	width: 20px;
	height: 20px;
	border-width: 4px 4px 0 0;
	border-style: solid;
	border-color: #62a2da;
	position: absolute;
	top: 50%;
	margin-top: -9px;
	transition: .3s ease;
}
.gallerySec .elementor-swiper-button-prev:before {
	transform: rotate(-135deg);
	left: 5px;
}
.gallerySec .elementor-swiper-button-next:before {
	transform: rotate(45deg);
	right: 5px;
}
.gallerySec .elementor-swiper-button-prev:hover:before,
.gallerySec .elementor-swiper-button-next:hover:before {
	opacity: 0.7;
	transition: .3s ease;
}
.gallerySec .elementor-widget-image-carousel .swiper-slide {
	padding: 0 10px;
}
.gallerySec .swiper-slide a {
	display: block;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.gallerySec .swiper-slide a:after {
	content: "";
	width: 17px;
	height: 17px;
	background: rgba(255,255,255,0.5);
	border-radius: 3px;
	position: absolute;
	bottom: 5px;
	right: 5px;
	z-index: 1;
}
.gallerySec .swiper-slide a .swiper-slide-inner:before {
	content: "";
	width: 1px;
	height: 9px;
	background: #000;
	position: absolute;
	bottom: 9px;
	right: 13px;
	z-index: 2;
	opacity: 0.8;
}
.gallerySec .swiper-slide a .swiper-slide-inner:after {
	content: "";
	width: 9px;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 13px;
	right: 9px;
	z-index: 2;
	opacity: 0.8;
}
.gallerySec .swiper-slide a:hover img {
	transform: scale(1.1, 1.1);
}

@media screen and (min-width: 768px) {
	.gallerySec > .elementor-container > .elementor-row {
		flex-wrap: nowrap;
	}
}

@media screen and (max-width: 1040px) {
	.gallerySec {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 767px) {
	.gallerySec {
		padding: 30px 0;
	}
	.gallerySec .inner {
		padding: 0 9px;
	}
	.gallerySec .elementor-widget-image-carousel .swiper-slide {
		padding: 0 5px;
	}
}