/* main visual */
.main-visual {
    margin: 0 0 35px;
    padding: 20px 0 145px;
    position: relative;
}
.main-visual.category-mv {
    margin: 0 0 10px;
    overflow-x: hidden;
    padding: 20px 0 0px;
}
.main-visual__image {
    margin: 0 0 0 auto;
    width: 80%;
}
.main-slider__wrap .swiper-slide {
    text-align: right;
}
.main-slider__wrap .swiper-slide img {
    max-width: 80%;
}
.main-visual__inner .page-ttl {
    font-size: 7.4vw;
    color: #fff;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    /* -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF; */
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    width: 95%;
    max-width: 1280px;
    z-index: 1;
}
.main-visual__inner .category-ttl {
    color: #c9c4b8;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 5vw;
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 5%;
    width: 95%;
    max-width: 1280px;
}
.main-visual__inner .single-ttl {
    color: #c8c3b7;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 60px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
}
.page-ttl__en {
    color: #fff;
    display: block;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 40px;
}
.front-visual .page-ttl {
    bottom: 20px;
}
@media screen and (min-width: 1281px) {
    .main-visual__inner .page-ttl {
        font-size: 95px;
    }
}
@media screen and (max-width: 968px) {
    .main-visual__inner .single-ttl {
        font-size: 36px;
    }
    .page-ttl__en {
        font-size: 28px;
    }
}

/* concept */
.concept {
    margin: 0 0 80px;
    text-align: center;
}
.concept-inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1280px;
}
.concept p {
    color: #c9c4b8;
    font-size: 21px;
    line-height: 1.8em;
}

/* logo */
.center-logo {
    margin: 35px auto 65px;
    text-align: center;
    width: 95%;
    max-width: 1280px;
}
.center-logo__inner {
    margin: 0 auto;
    max-width: 375px;
}

/* what */
.what-inner {
    margin: 0 auto 80px;
    width: 95%;
    max-width: 1280px;
}
.what-header {
    margin: 0 0 25px;
}
.what-header h2 {
    color: #c9c4b8;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 69px;
}
.what-header p {
    color: #fff;
    font-size: 21px;
}
.what-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.what-body__left {
    width: 35%;
}
.what-body__left p {
    color: #fff;
    font-size: 21px;
    line-height: 2em;
}
.what-body__right {
    flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 50px;
}
.what-body__right img {
    width: 100%;
    max-width: none;
}
@media screen and (max-width: 968px) {
    .what-header h2 {
        font-size: 40px;
    }
    .what-body__left {
        margin: 0 0 15px;
        width: 100%;
    }
    .what-body__right {
        flex: inherit;
        margin-right: 0;
        margin-left: 0;
    }
    .what-body__left p {
        font-size: 16px;
    }
}

/* case */
.case {
    margin: 0 0 55px;
}
.case-inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1280px;
}
.case-header {
    margin: 0 0 45px;
}
.case-header h2 {
    color: #c9c4b8;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 69px;
}
.case-header p {
    color: #fff;
    font-size: 21px;
}
.case-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.case-list li {
    width: 32%;
}
.case-list li p {
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 22px;
    padding: 8px 0;
    position: relative;
}
.case-list li p::after {
    background: url("https://megabox.creator.jp.net/wp-content/themes/megabox/assets/images/icon-arrow-r.png") no-repeat;
    background-size: contain;
    background-position: center;
    content: "";
    display: block;
    height: 15px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 15px;
}
.btn {
    border: 1px solid #c9c4b8;
    color: #c9c4b8;
    display: block;
    font-size: 22px;
    margin: 55px auto;
    padding: 15px 0;
    text-align: center;
    width: 95%;
    max-width: 400px;
}
@media screen and (max-width: 968px) {
    .case-header h2 {
        font-size: 40px;
    }
    .case-header p {
        font-size: 16px;
    }
    .case-list li {
        margin: 0 0 25px;
        width: 100%;
    }
}

/* thought */
.thought {
    margin: 0 0 100px;
}
.thought-header {
    margin: 0 0 45px;
    text-align: center;
}
.thought-header h2 {
    color: #fff;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 70px;
    /* -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF; */
    margin: 0 0 35px;
}
.thought-header p {
    color: #fff;
    font-size: 21px;
}
.thought-diagonal {
    text-align: center;
}
.thought-diagonal img {
    max-width: none;
    width: 100%;
}
.thought-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 35px auto 0;
    width: 95%;
    max-width: 1280px;
}
.thought-list li {
    width: 24%;
}
.thought-list li p {
    color: #fff;
    font-size: 13px;
    line-height: 1.8em;
    margin: 10px 0 0;
}
@media screen and (max-width: 968px) {
    .thought-header h2 {
        font-size: 40px;
    }
    .thought-header p {
        font-size: 16px;
    }
    .thought-list li {
        margin: 0 0 25px;
        width: 49%;
    }
}

/* revolution */
.revolution {
    margin: 0 0 75px;
    overflow-x: hidden;
}
.revolution-header {
    margin: 0 0 45px;
    text-align: center;
}
.revolution-header h2 {
    color: #fff;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 70px;
}
.revolution-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    position: relative;
    width: 95%;
    max-width: 1280px;
}
.revolution-item:nth-child(even) {
    flex-direction: row-reverse;
}
.revolution-item::after {
    background: #fff;
    content: "";
    display: block;
    height: 1px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: -48%;
    width: 200%;
    z-index: 0;
}
.revolution-item:first-child::after {
    transform: rotate(-14deg);
}
.revolution-item:nth-child(2)::after {
    transform: rotate(14deg);
}
.revolution-item:last-child::after {
    transform: rotate(-14deg);
}
.revolution-item__text,
.revolution-item__images {
    position: relative;
    width: 48%;
    z-index: 1;
}
.revolution-item__text {
    padding: 150px 0 20px;
    position: relative;
}
.bg-text {
    color: #c9c4b8;
    font-size: 20vw;
    line-height: 1em;
    opacity: 0.1;
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}
.vertically-text {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row-reverse;
}
.vertically-text h2,
.vertically-text h2 span {
    color: #c9c4b8;
    font-size: 51px;
    font-weight: 500;
}
.vertically-text p,
.vertically-text p span {
    color: #fff;
    font-size: 21px;
}
.vertically-text h2,
.vertically-text p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.vertically-text h2 span,
.vertically-text p span {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}
@media screen and (max-width: 968px) {
    .revolution-header h2 {
        font-size: 40px;
        padding: 0 15px;
    }
    .revolution-item__text {
        padding: 80px 0 20px;
    }
    .vertically-text h2,
    .vertically-text h2 span {
        font-size: 28px;
    }
    .vertically-text p,
    .vertically-text p span {
        font-size: 14px;
    }
}

/* partner */
.partner {
    margin: 0 0 100px;
}
.partner-header {
    margin: 0 0 35px;
    padding: 0 0 25px;
    position: relative;
    text-align: center;
}
.partner-header::after {
    background: #c9c4b8;
    content: "";
    display: block;
    height: 3px;
    margin: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 80px;
}
.partner-header h2 {
    color: #c9c4b8;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 33px;
}
.partner-body {
    background: url("https://megabox.creator.jp.net/wp-content/themes/megabox/assets/images/partner-bg.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    padding: 80px 0;
}
.partner-body p {
    color: #fff;
    font-size: 21px;
    line-height: 1.8em;
    margin: 0 auto;
    width: 80%;
    max-width: 960px;
}
@media screen and (max-width: 968px) {
    .partner-header h2 {
        font-size: 26px;
    }
    .partner-body p {
        font-size: 16px;
        width: 90%;
    }
}
/* category */
.category-header {
    margin: 0 0 80px;
    text-align: center;
}
.category-header h1 {
    color: #fff;
    font-family: GradualMedium,noto-sans-cjk-jp,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,serif;
    font-size: 75px;
    /* -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF; */
}
.post-category {
    margin: 0 auto 75px;
    width: 95%;
    max-width: 1280px;
}
.post-category__lists {
    display: flex;
    justify-content: center;
    align-items: center;
}
.post-category__lists li {
    border: 1px solid #c9c4b8;
    margin: 0 15px;
    width: 20%;
}
.post-category__lists li a {
    color: #c9c4b8;
    display: block;
    font-size: 22px;
    padding: 10px 0;
    text-align: center;
}
.post-contents__body {
    margin: 0 auto;
    width: 95%;
    max-width: 1280px;
}

.post-contents__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.post-contents__list li {
    margin: 0 0 35px;
    width: 31%;
}
.post-title {
    color: #fff;
    display: block;
    font-size: 21px;
    margin: 10px 0 0;
}
@media screen and (max-width: 968px) {
    .category-header h1 {
        font-size: 40px;
    }
    .post-category__lists li {
        margin: 0 8px;
        width: 32%;
    }
    .post-category__lists li a {
        font-size: 14px;
    }
    .post-contents__list li {
        width: 49%;
    }
}
.single-header {
    margin: 0 auto 80px;
    text-align: center;
    width: 95%;
    max-width: 1280px;
}
.single-header h1 {
    color: transparent;
    font-size: 65px;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
}
.image-view {
    margin: 0 0 55px;
}
.image-view__inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1280px;
}
.image-view__list {
  display: grid; 
  grid-template-columns: calc(49% - 10px) calc(25.5% - 5px) calc(25.5% - 5px); 
  grid-template-rows: auto auto; 
  gap: 10px 10px; 
  grid-template-areas: 
    "aa b c"
    "aa d e"; 
}
.image-view__list li {
    line-height: 0;
}
.list-item1 { grid-area: aa; }
.list-item2 { grid-area: b; }
.list-item3 { grid-area: c; }
.list-item4 { grid-area: d; }
.list-item5 { grid-area: e; }
.image-view__list li img {
    width: 100%;
    max-width: none;
}
.post {
    margin: 0 auto;
    text-align: center;
    width: 95%;
    max-width: 1280px;
}
.post p {
    color: #c8c3b7;
    font-size: 21px;
    line-height: 1.8em;
    margin: 0 0 20px;
}
@media screen and (max-width: 968px) {
    .single-header {
        margin: 0 auto 35px;
    }
    .single-header h1 {
        font-size: 40px;
    }
    .image-view__list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0;
    }
    .image-view__list li {
        margin: 0 0 15px;
        width: 48%;
    }
    .image-view__list li:first-child {
        width: 100%;
    }
    .post p {
        font-size: 16px;
    }
}