@charset "utf-8";

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

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

.cover-text-area {
    max-width: 741px;
    width: 70%;
	height: fit-content;
    position: absolute;
    top: 20%;
    bottom: 0;
    left: 0;
    margin: auto;
	z-index: 2;
}

.cover-title-box {
	flex-direction: column;
	gap: 20px;
}

.cover-title01 {
	margin: 15px 0 0;
    padding: 0 3%;
    display: inline-flex;
    font-size: clamp(18px, calc(1.125rem + ((1vw - 3.2px) * 2.375)), 56px);
    font-family: var(--font-family01);
    font-weight: 700;
    letter-spacing: 0.05em;
    background: var(--white);
    border-radius: 6px;
    line-height: 1.6;
}

.cover-title02 {
	margin: 20px 0 0;
    padding: 0 3%;
    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.2px) * 3.25)), 72px);
    display: inline-flex;
    font-weight: 700;
    font-family: var(--font-family01);
    letter-spacing: -0.05em;
    line-height: 1.3;
    color: var(--primary);
    background: var(--white);
    border-radius: 6px;
}

.cover-title02 {
	margin: 10px 0 0;
}

.cover-text-box {
    margin: 50px 0 0;
}

.cover-text01 {
	padding: 0 0 0 3%;
    font-size: clamp(14px, calc(0.875rem + ((1vw - 3.75px) * 0.2589)), 18px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 2;
}

.scroll-link {
	margin: 60px 0 0 3%;
    display: inline-flex;
    align-items: flex-end;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    font-family: var(--font-family02);
    color: var(--base-font-color);
}

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

.scroll-arrow {
	max-width: 7px;
	width: 100%;
	margin: 0 12px 0 0;
	transition: all .3s;
}

.scroll-link:hover .scroll-arrow {
    transform: translateY(6px);
}

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

.top01-container {
	box-shadow: -15px 15px 0 0 #D6CCB1 !important;
}

.top01-btn-area {
    gap: 20px;
}

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

.top03-left {
    display: contents;
}

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

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

.top03-right {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
    order: 2;
}

.top03-img-box:nth-of-type(even) {
    margin: 50px 0 0;
}

.top03-img-box::before {
    content: "";
    display: block;
    width: 100%;
    height: 30%;
    background: linear-gradient(to top, rgba(6, 11, 0, 0.9), rgba(6, 11, 0, 0));
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.top03-img-box {
    height: fit-content;
}

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

.top04-container {
    box-shadow: 15px 15px 0 0 #D6CCB1 !important;
}

.top04-address-block {
    display: flex;
    flex-direction: column;
}

.top04-address-th {
    padding: 23px 0 18px;
    width: 100%;
}

.top04-address-td {
    padding: 0 0 23px;
    width: 100%;
    border-bottom: 1px solid var(--border-secondary);
}

.top04-address-block:first-child .top04-address-td {
    padding: 0 0 8px;
}

.top04-btn-area {
    gap: 20px;
}

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

.top05 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}

.top05-banner-link {
    margin: -0.5px;
    padding: 80px 15px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: all .3s;
}

.top05-banner-link::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(10, 18, 1, 0.54);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1;
    transition: all .3s;
}

.top05-banner-link:hover::before {
    background: rgba(10, 18, 1, 0.3);
}

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

.top05-banner-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s;
}

.top05-banner-link:hover .top05-banner-img-box img {
    transform: scale(1.1);
}

.top05-banner-item {
    width: 100%;
    position: relative;
    z-index: 2;
}

.top05-title-box {
    width: 100%;
    position: relative;
}

.top05-banner-link:hover .btn01-white {
    color: var(--white);
    background: var(--primary);
    border: 1px solid var(--white);
}

.top05-banner-link:hover .btn01-white::before {
    background: url(/system_panel/uploads/images/arrow_white.svg) center / contain no-repeat;
    transform: translateX(6px);
}

/*===========================================================
top06
===========================================================*/

.top-news-container section {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
}

.top06-left {
    display: contents;
}

.top06-title-box {
    text-align: center;
    order: 1;
}

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

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

/*===========================================================
top07
===========================================================*/

.top07-btn-area {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
}

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


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

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



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


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


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

.top03-right {
    grid-template-columns: repeat(4, 1fr);
}

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

.top04-address-block {
    flex-direction: row;
}

.top04-address-th {
    width: 15%;
    border-bottom: 1px solid var(--border-primary);
}

.top04-address-td {
    padding: 23px 0 17px 24px;
    width: 85%;
}

.top04-address-block:first-child .top04-address-td {
    padding: 0 0 8px 24px;
}

/*===========================================================
top06
===========================================================*/

.top-news-container section {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

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


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


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

.cover-text-area {
    top: 30%;
}

.cover-title01 {
    border-radius: 16px;
}

.cover-title02 {
    border-radius: 16px;
}

.scroll-link {
	margin: 100px 0 0 3%;
}

.cover-area::before {
	background: linear-gradient(to right, rgba(250, 244, 234, 0.7) 0%, rgba(255, 255, 255, 0) 50%);
}

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

.top01-container {
	box-shadow: -35px 35px 0 0 #D6CCB1 !important;
}

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

.top03-img-box:nth-of-type(even) {
    margin: 100px 0 0;
}

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

.top04-container {
    box-shadow: 35px 35px 0 0 #D6CCB1 !important;
}

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

.top05-banner-link {
    padding: 40px 15px;
}

/*===========================================================
top06
===========================================================*/

.top-news-container section {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


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


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


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

.scroll-link {
	margin: 145px 0 0 3%;
}

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

.top03-left {
    display: block;
}

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

.top04-area {
    align-items: center !important;
}

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

.top05 {
    grid-template-columns: repeat(3, 1fr);
}

/*===========================================================
top06
===========================================================*/

.top06-left {
    display: block;
}

.top06-title-box {
    text-align: left;
}


/*===========================================================
top07
===========================================================*/

.top07-btn-area {
    flex-direction: row;
    gap: 10px;
}


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


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


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

.cover-text-area {
    top: 20%;
}

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

.top05-banner-link {
    padding: 110px 15px;
}

/*===========================================================
top07
===========================================================*/

.top07-btn-area {
    gap: 30px;
}

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


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


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

.top04-area {
    align-items: flex-end !important;
}


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


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




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

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