@charset "utf-8";

/*===========================================================
下層ヘッダー
===========================================================*/

.header-container {
    padding: 20px 0;
    align-items: center;
}

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

/*===========================================================
下層カバー
===========================================================*/

.in-cover {
    padding: 0 15px;
    max-width: 1920px;
    width: 100%;
    height: 250px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.in-cover:before {
    content: "";
    display: block;
    position: absolute;
    max-width: 1920px;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 20%);
}

.in-cover-title {
    padding: 0 0 10px;
    display: inline;
    font-size: clamp(26px, calc(1.625rem + ((1vw - 3.75px) * 3.4951)), 80px);
    font-weight: 700;
    letter-spacing: 0.05em;
    font-family: var(--font-family01);
    color: #FFF;
    border-bottom: 2px solid var(--white);
}

.in-cover-sub-title {
    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.2px) * 1.25)), 40px);
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #FFF;
}

/*===========================================================
パンくず
===========================================================*/

.bread-wrapper {
    max-width: 1920px;
    width: 100%;
    padding: 15px;
}

.bread-box {
    max-width: 1220px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: auto;
    font-size: 12px;
    letter-spacing: 0.05em;
}

.bread-link {
    display: block;
    color: var(--base-font-color);
    text-decoration: underline;
}

.bread-link:hover {
    color: var(--base-font-color);
    text-decoration: none;
}

/*===========================================================
inner
===========================================================*/

.in-wrapper {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 0;
    position: relative;
}

.padding01 {
    padding: 0 15px;
}

.inner01 {
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
}

.inner02 {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
}

.inner03 {
    max-width: 1420px;
    width: 100%;
    margin: 0 auto;
}

.inner04 {
    max-width: 1520px;
    width: 100%;
    margin: 0 auto;
}

/*===========================================================
共通パーツ
===========================================================*/

.common-first-title-box {
    margin: 0 0 40px;
}

.common-first-text-box {
    margin: 20px 0 0;
}

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

.common-decoration-frame01 {
    padding: 0 15px 15px 0;
}

.common-decoration-container01 {
    padding: 60px 15px 60px 15px;
    box-shadow: 15px 15px 0 0 #D6CCB1 !important;
    border-radius: 60px;
    background: var(--white);
}

.common-flow-block {
    padding: 0 0 60px;
    position: relative;
}

.common-flow-block:last-child {
    padding: 0;
}

.common-flow-block::before {
    content: "";
    display: block;
    width: 3px;
    height: auto;
    position: absolute;
    top: 0;
    left: 28px;
    bottom: 0;
    margin: auto;
}

.common-flow-area {
    margin: 0 20px 0 0;
    max-width: 50px;
    width: 100%;
    position: relative;
}

.common-flow-box {
    padding: 5px 0;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 50%;
}

.common-flow-text {
    font-size: clamp(16px, calc(1rem + ((1vw - 3.75px) * 0.7767)), 28px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.common-page-link-area {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 20px 80px;
    flex-wrap: wrap;
}

.common-page-link-area a:before {
    display: none;
}

.common-page-link-area .btn01 {
    display: flex;
    align-items: center;
    justify-content: center;
}

/*===========================================================
装飾
===========================================================*/

.common-decoration01 {
    max-width: 171px;
    width: 10%;
    position: absolute;
    top: -5%;
    bottom: auto;
    left: 5%;
    z-index: -1;
}

.common-decoration02 {
    max-width: 161px;
    width: 10%;
    position: absolute;
    top: -5%;
    bottom: auto;
    right: 5%;
    z-index: -1;
}

.common-decoration03 {
    max-width: 171px;
    width: 10%;
    position: absolute;
    bottom: -5%;
    left: 5%;
    z-index: -1;
}

.common-decoration04 {
    max-width: 161px;
    width: 10%;
    position: absolute;
    top: 0;
    right: 5%;
    z-index: -1;
}

.common-decoration05 {
    max-width: 171px;
    width: 10%;
    position: absolute;
    top: -5%;
    left: 5%;
    z-index: -1;
}

.common-decoration06 {
    max-width: 161px;
    width: 10%;
    position: absolute;
    bottom: -1%;
    right: 5%;
    z-index: -1;
}

/*===========================================================
バナー
===========================================================*/

.common-banner-container {
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
}

.common-banner-link {
    display: block;
    padding: 0 0 5px 5px;
    width: 100%;
    position: relative;
    transition: all .3s;
}

.common-banner-link::before {
    content: "";
    display: block;
    width: calc(100% - 5px);
    height: calc(100% - 5px);
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--bg-fifth);
    z-index: -1;
}

.common-banner-inner {
    padding: 60px 15px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all .3s;
}

.common-banner-link:hover .common-banner-inner {
    transform: translate(-5px, 5px);
}

.common-banner-inner::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;
}

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

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

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

.banner-title-box {
    text-align: center;
    color: var(--white);
    position: relative;
    z-index: 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) {

/*===========================================================
下層カバー
===========================================================*/

.in-cover {
    max-width: 1920px;
    width: 100%;
    height: 320px;
    justify-content: flex-start;
}

.in-cover-title-box {
    margin: 0 0 0 17%;
}

/*===========================================================
inner
===========================================================*/

.in-wrapper {
    padding: 80px 0;
}

/*===========================================================
共通パーツ
===========================================================*/

.common-first-title-box {
    margin: 0 0 60px;
}

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

.common-decoration-frame01 {
    padding: 0 35px 35px 0;
}

.common-decoration-container01 {
    padding: 80px 15px 80px 15px;
    box-shadow: 35px 35px 0 0 #D6CCB1 !important;
}

.common-flow-block {
    padding: 0 0 80px;
}

.common-page-link-area {
    gap: 40px 80px;
}

/*===========================================================
装飾
===========================================================*/

.common-decoration01 {
    top: auto;
    bottom: 10%;
    left: 5%;
}

.common-decoration02 {
    top: auto;
    bottom: 10%;
    right: 5%;
}

.common-decoration03 {
    bottom: 0;
    left: 5%;
}

.common-decoration04 {
    top: 5%;
    right: 5%;
}

.common-decoration05 {
    top: 0;
    left: 5%;
}

.common-decoration06 {
    bottom: 12%;
    right: 5%;
}

/*===========================================================
バナー
===========================================================*/

.common-banner-inner {
    padding: 100px 15px;
}

.common-banner-container {
    align-items: stretch;
    justify-content: center;
    flex-direction: row;
}

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


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

/*===========================================================
パンくず
===========================================================*/

.bread-box {
    font-size: 14px;
}

/*===========================================================
inner
===========================================================*/

.in-wrapper {
    padding: 180px 0;
}

.in-first-wrapper {
    padding: 120px 0;
}

/*===========================================================
共通パーツ
===========================================================*/

.common-decoration-container01 {
    padding: 110px 15px 110px 15px;
    box-shadow: 35px 35px 0 0 #D6CCB1 !important;
    border-radius: 130px;
}


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


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


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

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



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


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


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

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



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


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




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

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