@charset "utf-8";

/*---top----------------------------------------------*/

.topCoverSliderBox .carousel-item {
    aspect-ratio: 800 / 845;
}

.topCoverSliderBox .carousel-item>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topCoverSliderBox .carousel:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 380px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #6A615B;
    background: linear-gradient(0deg, rgba(106, 97, 91, 1) 0%, rgba(106, 97, 91, 0) 100%);
    z-index: 2;
    opacity: 0.8;
    mix-blend-mode: multiply;
}

.topCoverSliderBox .carousel:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000000;
    z-index: 1;
    opacity: 0.1;
    mix-blend-mode: multiply;
}

.topFvTitBox {
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: 10%;
    z-index: 3;
    margin: auto;
    color: #FFFDFA;
}

.topFvTitle {
    font-size: clamp(24.00px, calc(2.59vw + 14.29px), 64.00px);
    font-weight: bold;
    line-height: 1.438em;
}

.topFvSubTitle {
    font-size: clamp(14.00px, calc(0.39vw + 12.54px), 20.00px);
    font-weight: 500;
    line-height: 1.45em;
    letter-spacing: 0.05em;
    margin-top: 1.515%;
}

/*--------*/

.topMenuBtnGrid {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    display: grid;
    max-width: 540px;
    width: 100%;
}

.topMenuFlexBox02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 30px;
    flex-direction: column;
}

.topMenuBtnGridItem {
    display: flex;
    align-items: center;
    justify-content: center;
}

.topMenuFlexBox01 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    display: grid;
    width: 100%;
}

.topMenuFlexGridItemBox01 {
    padding: 36px 20px;
    min-width: 0;
    max-width: 630px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.topMenuFlexGridItemBoxBg:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    box-shadow: 0 3px 6px rgb(0 0 0 / 12%);
    background-color: #F5F1ED;
    opacity: 0.51;
    z-index: -1;
}

.topMenuGridListWr {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    display: grid;
    align-items: flex-start;
}

.topMenuGridListItemText {
    font-size: clamp(14.00px, calc(0.13vw + 13.51px), 16.00px);
    font-weight: 500;
    line-height: 1.5em;
}

.topMenuGridListItemImgBox {
    max-width: 180px;
    width: 100%;
    margin: 0 auto;
}

.topNewsCalendarWr {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px 20px;
    display: grid;
    align-items: flex-start;
}

.topNewsCalendarItemBox {
    width: 100%;
    min-width: 0;
}

.topNewsCalendarItemBox .titEn02 {
    white-space: nowrap;
}

.titEn02.topOtheerBusinessEnTit {
    font-size: clamp(32.00px, calc(4.53vw + 15.01px), 102.00px);
    -webkit-text-stroke-color: #E8E4E7;
    color: #E8E4E7;
    text-stroke-color: #E8E4E7;
    opacity: 1;
}

.topWr04 {
    background: #F6F4F1;
    background: linear-gradient(0deg, rgba(246, 244, 241, 1) 0%, rgba(245, 241, 237, 1) 100%);
    padding: 0 0 0;
    position: relative;
    overflow: hidden;
}

.topDeco01 {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 385px;
    width: 20.05%;
    z-index: 1;
}

.topDeco02 {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 320px;
    width: 16.67%;
    z-index: 1;
}

.topOtheerBusinessWr {
    position: relative;
    z-index: 1;
}

.topOtheerBusinessEnBox {
    padding: 0 27px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
}

.topOtheerBusinessEnTitList {
    position: relative;
}

.topOtheerBusinessEnTitList:before {
    content: "";
    position: absolute;
    width: 1920px;
    height: 1px;
    right: 102%;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #CCCCCB;
}

.topOtheerBusinessWr .paddingWr01 {
    position: relative;
    z-index: 1;
}

.topOtheerBusinessImgBox {
    max-width: 954px;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}

.topOtheerBusinessImg {
    width: 100%;
    position: relative;
    padding-top: 57.34%;
}

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

.topOtheerBusinessImg:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 26.83%;
    background: #F6F4F1;
    background: linear-gradient(90deg, rgba(246, 244, 241, 1) 0%, rgba(246, 244, 241, 0) 100%);
    z-index: 1;
}

.topOtheerBusinessTitBox {
    display: flex;
    align-items: center;
    gap: 21px;
}

.topOtheerBusinessTitBox:after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #CCCCCB;
    margin-top: 3%;
}

.topOtheerBusinessListBox {
    margin-top: 32px;
}

.topOtheerBusinessTextBox01 {
    margin-top: 32px;
    padding-left: 24px;
    position: relative;
}

.topOtheerBusinessTextBox01 br {
    display: none;
}

.topOtheerBusinessTextBox01:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 8px;
    height: 80%;
    margin: auto;
    background-color: #C7B9D6;
    opacity: 0.71;
}

.topOtheerBusinessTextBox02 {
    margin-top: 24px;
}

.topOtheerBusinessBox02 {
    background: #F8F8F7;
    padding: 26px 0;
    box-shadow: 0 3px 10px rgb(0 0 0 / 10%);
}

.topOtheerBusinessGridRow {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    display: grid;
}

.topOtheerBusinessGridCol {
    padding: 0 5.32%;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
}

.topOtheerBusinessGridCol:before {
    content: "";
    width: 1px;
    height: 80px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    background: #D5CADF;
    opacity: 0.7;
    margin: auto;
}

.topOtheerBusinessGridTextCol {
    font-size: clamp(14.00px, calc(0.26vw + 13.03px), 18.00px);
    font-weight: 500;
    letter-spacing: 0.05em;
}

.topOtheerBusinessGridTextMt {
    margin-top: 8px;
}

.topOtheerBusinessGridRow .topOtheerBusinessGridCol:last-child:before {
    display: none;
}

.topOtheerBusinessBtnBox {
    max-width: 540px;
    width: 100%;
    margin: 36px 0 0;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px 30px;
    display: grid;
}

.topOtheerBusinessBtnGridItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

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

@media screen and (min-width:375px) {

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

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

}

/* min-width: 375px ここまで */

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

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

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

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

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

}

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

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

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

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

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

.topMenuBtnGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

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

.topOtheerBusinessBtnBox {
    grid-template-columns: repeat(2, 1fr);
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

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

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

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

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

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

.topCoverSliderBox .carousel-item {
    aspect-ratio: 1920 / 845;
}

.topFvTitBox {
    left: 8.33%;
    right: 8.33%;
    bottom: 12%;
}

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

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

.topMenuGridListItemImgBox {
    max-width: 220px;
}

.topOtheerBusinessImgBox {
    width: 49.69%;
    position: absolute;
    right: 0;
    top: 9%;
    margin: 0;
}

.topWr04 {
    padding: 11.4% 0 0;
}
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

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

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

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

@media screen and (min-width:992px) {

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

.topOtheerBusinessBox02 {
    padding: 36px 0;
}

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

.topOtheerBusinessGridCol {
    padding: 0 7.32%;
    gap: 25px;
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

/* min-width: 992px ここまで */

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


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

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

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

.topMenuFlexBox02 {
    flex-direction: row;
}

.topMenuGridListWr {
    gap: 30px;
}

.topMenuFlexGridItemBox01 {
    padding: 56px 20px;
}

.topNewsCalendarWr {
    gap: 80px;
}

.topOtheerBusinessTextBox01 br {
    display: block;
}

.topOtheerBusinessBtnBox {
    margin: 56px 0 0;
}

.topOtheerBusinessListBox {
    margin-top: 72px;
}

.topNewsCalendarWr {
    grid-template-columns: repeat(2, 1fr);
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

}

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

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