@charset "utf-8";

.coverWrap {
    max-width: 1920px;
    width: 100%;
    height: 800px;
    background: url(../img/cover.jpg) no-repeat 50% top / cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.coverTit {
    font-size: 70px;
    font-weight: 500;
    line-height: 1.1em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: normal;
    -webkit-font-feature-settings: normal;
    -moz-font-feature-settings: normal;
    margin: 0 0 0 auto;
}

.coverTit > span {
    margin: 110px 0 0;
}

.top01Wrap {
    padding: 226px 0 268px;
    background: url(../img/top_bg01.png) no-repeat center bottom / auto;
}

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

.top01 > h2 {
    text-align: center;
}

.top01TxtBox {
    margin: 93px auto 0;
    text-align: center;
    line-height: 2.81em;
}

.top02Wrap {
    padding: 0 0 123px;
    margin: -16px 0 0;
}

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

.top02 > h2 {
    text-align: center;
}

.top02TabList {
    max-width: 543px;
    width: 100%;
    margin: 38px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 4.97%;
}

.top02TabList > .tab {
    background: #D4A0AC;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    font-size: 21px;
    padding: 7px 2% 6px;
    cursor: pointer;
}

.top02TabList > .tab:hover {
    background: #303030;
}

.top02PanelList {
    margin: 64px auto 0;
}

.top02List {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 83px 6.57%;
}

.top02List .link {
    display: block;
    text-decoration: none;
}

.top02List .imgBox {
    position: relative;
    padding: 0 0 75.21%;
    overflow: hidden;
}

.top02List .imgBox > img {
    position: absolute;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transition: .3s;
}

.top02List .link:hover > .imgBox > img {
    transform: scale(1.1);
}

.top02List .txtBox {
    max-width: 308px;
    width: 100%;
    margin: 23px auto 0;
}

.top02List .tit {
    font-size: 20px;
    line-height: 1.35em;
    letter-spacing: 0.01em;
    color: #303030;
    border-left: solid 4px #D4A0AC;
    padding: 0 0 0 4px;
}

.top02List p {
    margin: 16px 0 0 12px;
}

.top02List p + p {
    margin-top: 4px;
}

.btnArea {
    max-width: 308px;
    width: 100%;
    margin: 7px auto 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.btnArea > a {
    width: 47.4%;
    margin: 10px 0 0;
}

.top02PanelList > .panel {
    display: none;
}

.top02PanelList > .panel.show {
    display: block;
}

.top02TabList > .tab.active {
    background: #303030;
}

.top03Wrap {
    padding: 106px 0 196px;
    background: rgb(239 228 232 / 43%);
}

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

.top03 > h2 {
    text-align: center;
}

.top04Wrap {
    padding: 84px 0 118px;
}

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

.top04 > h2 {
    text-align: center;
}

.top04Box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 42px auto 0;
}

.top04Box > div:nth-child(1) {
    max-width: 569px;
    width: 49.91%;
}

.top04Box > div:nth-child(2) {
    max-width: 547px;
    width: 47.98%;
}

/*-- 固定ここまで --*/


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

@media screen and (max-width: 1000px) {

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


.coverTit {
    font-size: 56px;
}

.top01Wrap {
    padding: 113px 0 134px;
}

.top01TxtBox {
    margin: 45px auto 0;
}

.top02Wrap {
    padding: 0 0 60px;
    margin: -8px 0 0;
}

.top02TabList {
    margin: 20px auto 0;
    gap: 15px 4.97%;
}

.top02TabList > .tab {
    font-size: 19px;
}

.top02PanelList {
    margin: 40px auto 0;
}

.top02List {
    gap: 40px 6.57%;
}

.top02List .txtBox {
    margin: 15px auto 0;
}

.top02List .tit {
    font-size: 18px;
}

.top02List p {
    margin: 10px 0 0 5px;
}

.top03Wrap {
    padding: 50px 0 95px;
}

.top04Wrap {
    padding: 40px 0 60px;
}

.top04Box {
    margin: 20px auto 0;
}

.btnArea {
    display: block;
}

.btnArea > a {
    width: 100%;
    margin: 0 auto;
}

.btnArea > a + a {
    margin: 10px auto 0;
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1000px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


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

@media screen and (max-width: 768px) {

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


.coverWrap {
    height: 100vh;
    background-position: 35% top;
}

.coverTit {
    font-size: 42px;
    margin: auto;
}

.top01TxtBox {
    text-align: left;
}

.top02TabList > .tab {
    font-size: 17px;
}

.top02List {
    grid-template-columns: repeat(2, 1fr);
}

.top02List .tit {
    font-size: 16px;
}

.top04Box {
    display: block;
}

.top04Box > div:nth-child(1) {
    width: 100%;
    margin: auto;
}

.top04Box > div:nth-child(2) {
    width: 100%;
    margin: 30px auto 0;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

@media screen and (max-width: 591px) {

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




/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 591px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

@media screen and (max-width: 414px) {

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




/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

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

@media screen and (max-width: 320px) {

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




/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 320px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */