@charset "utf-8";

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

.carousel-inner {
	overflow: unset !important;
}

.cover {
    max-width: 1920px;
    width: 100%;
    margin: 60px auto 0;
	aspect-ratio: 16 / 7;
}

.cover-text br {
    display: block;
}

.cover-text{
	font-size: clamp(20px, calc(1.25rem + ((1vw - 3.75px) * 1.9417)), 50px);
	font-weight: 500;
	letter-spacing: 0.1em;
}

.cover-text span {
	font-size: clamp(26px, calc(1.625rem + ((1vw - 3.75px) * 2.2006)), 60px);
}

.cover-area {
    margin: 60px auto 0;
    width: 100%;
}

.cover01 {
	padding: 0 15px;
    width: 100%;
    position: relative;
}

.cover01-illust01 {
    max-width: 230px;
    width: 12%;
    position: absolute;
    bottom: 10%;
    left: 0;
    margin: auto;
}

.cover01-illust02 {
    max-width: 210px;
    width: 11%;
    position: absolute;
    right: 0;
    top: -4%;
}

.cover01-area {
    margin: 0 auto;
    max-width: 1890px;
    width: 100%;
    display: flex;
	flex-direction: column;
    justify-content: space-between;
    gap: 15px;
}

.cover01-set {
    display: flex;
    flex-direction: column;
    gap: 15.5px;
}

.cover01-02 img {
	width: 100%;
}

.cover01-03 img {
	width: 100%;
}

.cover01-sp-set {
	gap: 15px;
}

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

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

/*===========================================================
top01
===========================================================*/

.top01-banner-link {
	display: block;
	transition: all .3s;
}

.top01-banner-link:hover {
	filter: brightness(1.10);
}

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

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

.top-news-link {
	padding: 18px 60px 17px 4%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border-bottom: 1px solid var(--tertiary);
	position: relative;
	transition: all .3s;
}

.top-news-item:first-child .top-news-link {
	padding: 0 60px 17px 4%;
}

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

.top-news-link::before {
	content: "";
	display: block;
    width: 15px;
    height: 11px;
    background: url(/system_panel/uploads/images/btn_arrow01.svg) center / contain no-repeat; 
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2%;
	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: 2px 15px 4px;
    display: block;
    width: 100%;
    max-width: max-content;
	min-width: 96px;
    font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.2589)), 16px);
    font-weight: 400;
	letter-spacing: 0.05em;
    color: var(--base-font-color);
    text-align: center;
	border: 1px solid var(--base-font-color);
	border-radius: 15px;
	/* background: #F5EEE4; */
    /* word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; */
}

.top-news-date {
	display: block;
	font-size: clamp(12px, calc(0.75rem + ((1vw - 3.75px) * 0.2589)), 16px);
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--base-font-color);
}

.top-news-title {
	margin: 15px 0 0;
	font-size: clamp(16px, calc(1rem + ((1vw - 3.75px) * 0.1294)), 18px);
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--base-font-color);
	flex: 1;
}

/*===========================================================
top02
===========================================================*/

.top02-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
}

.top02-left-img-area {
    display: flex;
    gap: 15px;
}

.top02-left-img-set01 {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.top02-text-container {
    margin: 40px 0 0;
}

.top02-right-img-area {
    margin: 40px 0 0;
    display: flex;
    gap: 15px;
}

.top02-right-img-set01 {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.top02-text-area {
	text-align: left !important;
}

.top02-text-area .text01 {
	line-height: 2.5em;
}

/*===========================================================
ループスライダー
===========================================================*/

.loop-wrap {
	margin: 80px 0 0;
	display: flex;
}

/*===========================================================
top04
===========================================================*/

.top04-banner-area {
	display: grid;
	gap: 40px;
}

/*===========================================================
top05
===========================================================*/

.top05-tel-area .tel-box01 {
	justify-content: flex-start;
}

.top05-address-item {
	flex: 1;
}

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


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

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



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


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


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

.cover-text br {
    display: none;
}

/*===========================================================
top02
===========================================================*/

.top02-text-area {
	text-align: center !important;
}

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


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


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

.cover {
    margin: 70px auto 0;
}

.cover01-area {
    flex-direction: row;
}

.cover01-set {
	gap: 2.2%;
}

.cover01-illust02 {
    top: -16%;
}

/*===========================================================
ループスライダー
===========================================================*/

.loop-wrap {
	margin: 100px 0 0;
}

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


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

/*===========================================================
top03
===========================================================*/


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


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


/*===========================================================
top02
===========================================================*/

.top02-container {
    flex-direction: row;
	gap: 10px;
}

.top02-left-img-area {
	margin: 0;
	max-width: 400px;
	width: 22%;
    flex-direction: column;
}

.top02-right-img-area {
	margin: 0;
	max-width: 400px;
	width: 22%;
    flex-direction: column;
}

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


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


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

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



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


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




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

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