@charset "utf-8";

.banner-link02-wrapper::before {
    content: "";
    display: block;
    width: 100%;
    height: 76%;
    background: var(--bg-primary);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
}

/*===========================================================
カバー
===========================================================*/

.cover {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	padding: 11px 15px 0;
}

.cover-container {
	max-width: 1870px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.cover-area {
	margin: 0 auto;
	max-width: 1640px;
	width: 100%;
	border-radius: clamp(60px, -22.524px + 22.006vw, 400px);
	overflow: hidden;
	position: relative;
}

.cover-area::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	background: rgba(152, 159, 135, .35);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 1;
}

.cover-text-box {
	position: absolute;
	bottom: 10%;
	left: 5%;
	z-index: 3;
}

.cover-text01 {
    font-size: clamp(26px, 22.602px + 0.906vw, 40px);
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

.cover-text02 {
    margin: 5px 0 0;
    font-size: clamp(16px, 15.029px + 0.259vw, 20px);
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.9;
}

.cover-link-area {
	margin: 20px 0 0;
	padding: 0 1.4% 0 0;
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	z-index: 4;
	position: relative;
}

.cover-sns-box {
	display: grid;
	gap: 24px;
}

.cover-illust-box {
	max-width: 345px;
	width: 18.7%;
	position: absolute;
	bottom: 22%;
	right: 0;
	z-index: 2;
}

.cover-scroll-link {
	display: flex;
	align-items: center;
	justify-content: center;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	gap: 15px;
	font-size: clamp(14px, 13.515px + 0.129vw, 16px);
	font-weight: 400;
	letter-spacing: 0;
	color: var(--base-font-color);
	text-shadow: 0 2px 3px var(--base-bg-color);
}

.cover-scroll-link:hover {
	color: var(--base-font-color);
}

.cover-scroll-link::after {
	content: "";
	display: block;
	width: 1px;
	height: clamp(60px, 45.437px + 3.883vw, 120px);
	background: var(--fifth);
	transition: all .3s;
}

.cover-scroll-link:hover::after {
	opacity: .7;
}

/*===========================================================
コンセプト
===========================================================*/

.top01-text-area {
	display: grid;
	gap: 20px;
}

/*===========================================================
お悩み別
===========================================================*/

.top02-radius-box {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 230px;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
}

.top02-radius-box::before {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: var(--bg-eighth);
	filter: blur(6px);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

.top02-illust-box {
	max-width: 190px;
	width: 100%;
	position: relative;
	z-index: 1;
}

.top02-area {
    display: grid;
	grid-template-columns: repeat(2, 1fr);
    place-items: center;
    gap: 20px;
}

.top02-border-text {
	font-size: clamp(14px, 12.544px + 0.388vw, 20px);
}

.top02 .common-illust-box02 {
    max-width: 262px;
	width: 26.7%;
    position: absolute;
    right: 0;
    bottom: 8%;
}

/*===========================================================
お客様の声
===========================================================*/

.top04-left {
	display: contents;
}

.top04-container .common-title-box01 {
	order: 1;
}

.top04-text-box01 {
	order: 2;
}

.top04-right {
	order: 3;
}

.top04-btn-area {
	order: 4;
}

.top04-right {
	display: grid;
	gap: 15px;
}

/*===========================================================
お知らせ
===========================================================*/

img + .no-img {
    display: none;
}

.top-news-link {
	padding: 15px 90px 15px 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border-bottom: 1px solid var(--quaternary);
	position: relative;
	transition: all .3s;
}

.top-news-item:first-child .top-news-link {
	padding: 0 90px 15px 10px;
}

/* .top-news-link:hover {
	opacity: 0.7;
} */

.top-news-link::before {
	content: "";
	display: block;
    width: 42px;
    height: 4px;
    background: url(/system_panel/uploads/images/arrow01.svg) center / contain no-repeat; 
	position: absolute;
	bottom: 50%;
	right: 32px;
	margin: auto;
	transform: translateX(0);
    transform-origin: center center; 
	transition: all .3s;
}

.top-news-link:hover::before {
	transform: translateX(10px);
}

.top-news-cate-flex {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 15px;
}

.top-news-cate {
	flex: 1;
    padding: 0 16px 1px;
    display: block;
    width: 100%;
    max-width: max-content;
	min-width: 104px;
    font-size: 14px;
    font-weight: 400;
	letter-spacing: 0.05em;
    color: var(--base-font-color);
    text-align: center;
	background: var(--bg-ninth);
	border-radius: 16px;
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-news-date {
	display: block;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--base-font-color);
}

.top-news-title {
	margin: 8px 0 0;
	font-size: 16px;
	font-weight: 400;
	font-family: var(--font-family01);
	letter-spacing: 0.05em;
	color: var(--base-font-color);
	flex: 1;
}

.top07-left {
	display: contents;
}

.top07-container .common-title-box01 {
	order: 1;
}

.top-news-area {
	order: 2;
}

.top07-btn-area {
	order: 3;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:414px) {


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

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



} /* min-width: 414px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:544px) {


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

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



} /* min-width: 544px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width: 768px) {


/*===========================================================
カバー
===========================================================*/

.cover-text-box {
	bottom: 12%;
	left: 13%;
}

.cover-illust-box {
	bottom: -35px;
	right: 13px;
}

.cover-link-area {
	margin: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 4;
}

.cover-scroll-link {
    margin: 0 0 -10%;
}

.cover-scroll-link p {
    margin: 0;
}

/*===========================================================
コンセプト
===========================================================*/

.top01-text-area {
	gap: 37px;
}

/*===========================================================
お悩み別
===========================================================*/

.top02-area {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 42px;
}

.top02 .common-illust-box02 {
    width: 13.7%;
    right: 0;
    bottom: -5%;
}

/*===========================================================
お客様の声
===========================================================*/

.top04-left {
	display: block;
}

.top04-container .common-title-box01 {
	order: unset;
}

.top04-text-box01 {
	order: unset;
}

.top04-right {
	order: unset;
}

.top04-btn-area {
	order: unset;
}

.top04-block:nth-child(2) {
	padding: 0 0 0 10.5%;
}

.top04-block:nth-child(3) {
	padding: 0 0 0 21%;
}

/*===========================================================
お知らせ
===========================================================*/

.top07-left {
	display: block;
}

.top07-container .common-title-box01 {
	order: unset;
}

.top-news-area {
	order: unset;
}

.top07-btn-area {
	order: unset;
}

} /* min-width: 768px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width: 1024px) {


/*===========================================================
お知らせ
===========================================================*/

.top-news-link {
	padding: 26px 90px 20px 20px;
}

.top-news-item:first-child .top-news-link {
	padding: 0 90px 20px 20px;
}


} /* min-width: 1024px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1200px) {


/*===========================================================
ヘッダー
===========================================================*/

.header.clone .header-logo {
    max-width: 100px;
    width: 100%;
	position: relative;
	top: 0;
	left: 0;
}

.top02 .common-illust-box02 {
    width: 13.7%;
    right: 0;
    bottom: -25%;
}

} /* min-width: 1200px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1300px) {


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

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

.header-logo {
    position: absolute;
    top: 25px;
    left: 50px;
    max-width: 240px;
    width: 12.5%;
}

} /* min-width: 1300px ここまで */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1400px) {


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

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

.cover-scroll-link {
    margin: 0;
}

} /* min-width: 1400px ここまで */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1550px) {

.top02 .common-illust-box02 {
    width: 13.7%;
    right: 0;
    bottom: -5%;
}


} /* min-width: 1550px ここまで */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */ 