@charset "utf-8";

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

.header-logo-black {
	display: none;
}

.header.clone .header-logo {
	display: block;
}

.header-contact-area .tel-box03 {
	display: none;
}

.header.clone .header-logo-black {
	display: block;
}

.header.clone .header-logo-white {
	display: none;
}

.header.clone .header-contact-area .tel-box02 {
	display: none;
}

.header.clone .header-contact-area .tel-box03 {
	display: flex;
}

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

.cover {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
    display: flex;
    align-items: center;
	flex-direction: column-reverse;
	position: relative;
}

/* .cover-left {
	margin: 40px 0 0;
	padding: 0 15px;
    max-width: 600px;
    width: 100%;
} */

.cover-left {
	padding: 0 15px;
    max-width: 600px;
    width: 100%;
	position: absolute;
	bottom: 5%;
	right: auto;
	left: auto;
	margin: auto;
	z-index: 2;
}

.cover-logo-box {
    max-width: 166px;
    width: 23%;
    margin: 0 auto;
}

.cover-logo-box {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.cover-text-box {
    margin-top: clamp(40px, 24.223px + 4.207vw, 105px);
    margin-right: auto;
    margin-left: auto;
    max-width: 502px;
    width: 100%;
}

.cover-text-box02 {
    margin-right: auto;
    margin-left: auto;
    max-width: 502px;
    width: 100%;
}

.cover-text-box,
.cover-text-box02 {
	text-align: center;
}

.cover-area {
    max-width: 1320px;
    width: 100%;
    position: relative;
}

.cover-area::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 1;
}

.cover-img-box {
	position: relative;
	width: 100%;
}

.cover-text {
	font-size: clamp(20px, 15.631px + 1.165vw, 38px);
	font-weight: 700;
	line-height: 1.63157em;
	color: var(--white);
}

.cover-text span {
	font-size: clamp(26px, 20.175px + 1.553vw, 50px);
	font-weight: 900;
	color: var(--primary);
}

.cover-text span {
	font-family: var(--font-family01);
	text-stroke: 4px var(--white);
    -webkit-text-stroke: 4px var(--white);
    paint-order: stroke;
}

/*===========================================================
TOP01
===========================================================*/

.top01-text-box {
	margin: 40px 0 0;
}

.top01-text-box:first-child {
	margin: 0;
}

/*===========================================================
TOP02
===========================================================*/

.top02-text-container {
    background-image: url(/system_panel/uploads/images/bg01.jpg) !important;
    background-attachment: scroll !important;
    background-position: center top !important;
    background-size: cover !important;
    background-repeat: repeat !important;
    position: relative;
}

.top02-text-container::before {
	content: "";
	display: block;
	width: 100%;
	height: clamp(60px, 30.874px + 7.767vw, 180px);
	background: linear-gradient(to bottom, rgba(32, 16, 9, 1), rgba(62, 35, 25, 0));
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 0;
	pointer-events: none;
}

.top02-text-container::after {
	content: "";
	display: block;
	width: 100%;
	height: clamp(60px, 28.447px + 8.414vw, 190px);
	background: linear-gradient(to top, rgba(32, 16, 9, 1), rgba(62, 35, 25, 0));
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 0;
	pointer-events: none;
}

/*===========================================================
TOP03
===========================================================*/

.top03-title-box02 {
    display: table;
    margin: 30px 0 0 23%;
}

.top03-title-box03 {
    margin: 30px 0 0 0;
}

.common-illust-box01 {
	bottom: 0;
}

/*===========================================================
TOP04
===========================================================*/

.top07-left {
	display: contents;
}

.top07-title-box {
	order: 1;
}

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

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

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

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

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

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

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

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

.top-news-item:first-child .top-news-link::before {
	bottom: 54%;
}

.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: 1px 10px 2px;
    display: block;
    width: 100%;
    max-width: max-content;
	min-width: 110px;
    font-size: clamp(14px, 13.515px + 0.129vw, 16px);
    font-weight: 700;
	letter-spacing: 0;
    color: var(--white);
    text-align: center;
	background: var(--tertiary);
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-news-date {
	display: block;
	font-size: clamp(14px, 13.515px + 0.129vw, 16px);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--fifth);
}

.top-news-title {
	margin: 8px 0 0;
	font-size: clamp(18px, 17.515px + 0.129vw, 20px);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--base-font-color);
	flex: 1;
}

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


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

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



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


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


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

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



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


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


.header-logo {
	display: none;
}

/*===========================================================
TOP01
===========================================================*/

.top01-text-box {
	margin: 60px 0 0;
}

/*===========================================================
TOP04
===========================================================*/

.top07-left {
	display: block;
}

.top07-title-box {
	order: unset;
}

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

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

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


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





/*===========================================================
TOP02
===========================================================*/

.top02-text-container {
    background-image: unset !important;
}

.top02-text-container::before {
	display: none;
}

.top02-text-container::after {
	display: none;
}

.top02-container01::before {
	content: "";
	display: block;
	/* width: 59.115%; */
	width: 85.115%;
	height: 100%;
	background: linear-gradient(to right, rgba(0, 0, 0, .85)12%, rgba(0, 0, 0, .7)50%, rgba(0, 0, 0, 0)100%);
	mix-blend-mode: multiply;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}

.top02-container02::before {
	content: "";
	display: block;
	/* width: 59.115%; */
	width: 85.115%;
	height: 100%;
	background: linear-gradient(to left, rgba(0, 0, 0, .85)12%, rgba(0, 0, 0, .7)50%, rgba(0, 0, 0, 0)100%);
	mix-blend-mode: multiply;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}

.top02-img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top02-text-container {
	z-index: 3;
}

.top02-illust-box01,
.top02-illust-box02 {
	z-index: 1;
}

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

.top-news-link {
	padding: 27px 40px 29px 0;
}

.top-news-item:first-child .top-news-link {
	padding: 0 40px 29px 0;
}

.top-news-cate-flex {
	gap: 20px 50px;
}

.top-news-cate {
    padding: 1px 23px 2px;
}

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


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


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

.cover {
	flex-direction: row;
}

/* .cover-left {
	margin: 0;
    width: 43%;
} */

.cover-left {
	margin: 0;
    width: 43%;
	position: relative;
	bottom: 0;
}

.cover-logo-box {
	max-width: 246px;
    width: 43%;
}

.cover-logo-box {
	-webkit-filter: unset;
	filter: unset;
}

.cover-text-box {
	max-width: 502px;
    width: 100%;
}

.cover-text-box,
.cover-text-box02 {
	text-align: left;
}

.cover-area {
	width: 68.9%;
    height: 960px;
}

.cover-area::before {
	content: "";
	display: block;
	width: 100%;
	height: 260px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, .7), rgba(0, 0, 0, 0));
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 1;
}

.cover-img-box {
	position: relative;
	width: 100%;
	height: 960px;
}

.cover-img-box img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}

.cover-text {
	color: var(--base-font-color);
}

.cover-text span {
	font-family: var(--base-font-family);
	text-stroke: unset;
    -webkit-text-stroke: unset;
    paint-order: unset;
}



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


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


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

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



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


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




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

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