@charset "UTF-8";

/* :::::::::::::::::::::::::::::: common :::::::::::::::::::::::::::::: */
html {
    font-family: heisei-kaku-gothic-std, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
    font-size: 62.5%;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0;
    line-height: 1;
    color: #111;
    background: #f5f6f0;
    -webkit-overflow-scrolling: touch;
}
html {
    visibility: hidden;
}
html.wf-active {
    visibility: visible;
}

body {
    box-sizing: border-box;
    position: relative;
    z-index: 0;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    overflow-x: hidden;
}
body.-fixed {
    position: fixed;
    width: 100%;
}
* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
    outline: none;
}
/* *:focus-visible {
    outline: none;
} */


/* --------------------- reset --------------------- */
a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
button {
    display: block;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    border-radius: 0;
    margin: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
}
tbody {
    display: block;
    width: 100%;
}
th,
td {
    display: block;
    text-align: left;
}
input,
textarea {
    box-sizing: border-box;
    font-family: inherit;
    /* display: block; */
    width: 100%;
    padding: 0;
    border: unset;
    border-width: 0;
    background-color: transparent;
}
input[type="text" i] {
    padding: 0;
}
input:focus-visible,
textarea:focus-visible {
    outline: unset;
}
/* chromeの自動入力で入力候補にホバーした際の見た目調整 */
input:-webkit-autofill,
textarea:-webkit-autofill {
    /* -webkit-box-shadowを元々の背景と合わせる */
    -webkit-box-shadow: 0 0 0 1000px #f5f6f0 inset;
    /* -webkit-text-fill-colorを元々の文字色と合わせる */
    -webkit-text-fill-color: #111111;
}
select {
    border-width: 0px;
}

/* :::::::::::::::::::: common class :::::::::::::::::::: */
.img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.video {
    width: 100%;
    height: auto;
}
.en {
    font-family: degular, sans-serif;
    font-weight: 500;
}
.text {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
}
.font-weight_bold {
    font-weight: 700;
}
.font-weight_medium {
    font-weight: 500;
}
.underline {
    text-decoration: underline;
}
.display_ib {
    display: inline-block;
}
.hover-opacity {
    opacity: 1;
    transition: opacity .2s;
}
@media (hover: hover) {
    .hover-opacity:hover {
        opacity: 0.7;
    }
}
.color_white {
    color: #FFF;
}
.bgc_white {
    background-color: #FFF;
}
.bgc_gray {
    background-color: #f5f6f0;
}


/* ::::: toggle between display_block and display_none  ::::: */
.pc {
    display: block !important;
}
.tab-sp {
    display: none !important;
}
@media screen and (max-width: 1050px) {
    .pc {
        display: none !important;
    }
    .tab-sp {
        display: block !important;
    }
}
.pc-tab {
    display: block !important;
}
.sp {
    display: none !important;
}
@media screen and (max-width: 750px) {
    .pc-tab {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}
.pc-sp {
    display: block !important;
}
.tab {
    display: none !important;
}
@media screen and (max-width: 1050px) {
    .pc-sp {
        display: none !important;
    }
    .tab {
        display: block !important;
    }
}
@media screen and (max-width: 750px) {
    .pc-sp {
        display: block !important;
    }
    .tab {
        display: none !important;
    }
}


/* ::::: inview  ::::: */
/* 使用箇所にinview用プロパティが設定されていないか確認 */
.inview {
    transform: translate(0, 5px);
    opacity: 0;
    transition: opacity .5s, transform .5s;
}
.inview.show {
    transform: translate(0, 0);
    opacity: 1.0;
}
/* 画像タイプ */
.inview.img {
    transform: scale(1.1);
    transition: filter 1.8s 0.3s, opacity 1.8s 0.3s, transform 1.8s 0.3s;
}
.inview.img.show {
    transform: scale(1);
}
/* margingタイプ */
.inview.marginType.img {
    margin-top: 8rem;
    transform: unset;
    transition: margin 1.8s 0.3s, opacity 1.8s 0.3s;
}
.inview.marginType.show {
    margin-top: 0;
    transform: scale(1);
}
/* 特別処理 */
.inview.homeFeature__imgWrap {
    transform: translate(-50%, 5px);
    opacity: 0;
    transition: opacity .5s, transform .5s;
}
.inview.show.homeFeature__imgWrap {
    transform: translate(-50%, 0);
    opacity: 1.0;
}

/* :::::::::::::::::::: common モジュール :::::::::::::::::::: */
/* :::::::::: header :::::::::: */
.header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 12rem;
    padding: 0 2.3% 0;
    transition: background-color 0.2s, opacity .2s;
}
.header.-scroll {
    position: fixed;
    height: 8rem;
    padding: 0 2.3% 0;
    box-shadow: 0 0 10px rgba(34, 33, 33, .02);
    background-color: #FFF;
    opacity: 1;
}
.header.-scroll2 {
    position: fixed;
    height: 8rem;
    padding: 0 2.3% 0;
    box-shadow: 0 0 10px rgba(34, 33, 33, .02);
    background-color: #FFF;
    opacity: 1;
}
.header__logo {
    position: fixed;
    top: 2.4rem;
    left: 2.3%;
    display: inline-block;
    width: 16rem;
    transition: top .3s, width .3s;
}
.header__logoNextText {
    position: fixed;
    top: 2.2rem;
    left: calc(2.3% + 16rem + 2rem);
    font-size: 1.2rem;
    line-height: 1.83;
    transition: top .3s, left .3s, font-size .3s;
}
.header__rightLinksWrap {
    display: flex;
    flex-direction: column;
    align-items: end;
    padding-top: 2.6rem;
}
.header__pageLinksWrap {
    display: flex;
    gap: 3rem;
    width: fit-content;
    margin: 2.2rem 0 1rem auto;
    transition: gap .3s;
}
.header.-scroll .header__pageLinksWrap {
    margin: -1rem 0 1rem auto;
}
.header__outerLink {
    position: relative;
    display: inline-block;
    padding-right: 1rem;
    font-size: 1.2rem;
    color: #4a28ff;
    opacity: 1;
    transition: opacity .2s;
}
.header__outerLink:hover {
    opacity: .7;
}
.header.-scroll .header__outerLink {
    display: none;
}
.header__outerLink::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url(/assets/img/common/icon-outside-arrow.png);
    background-size: 10px 10px;
}
.header.-scroll .header__outerLink::after {
    content: unset;
}
.header__list {
    display: flex;
    gap: 2.6rem;
    width: fit-content;
    padding: 1.7rem 2rem 1.8rem;
    border-radius: 1rem;
    background-color: #FFF;
    transition: gap .3s;
}
/* ----- responsive (1200) ----- */
@media screen and (max-width: 1200px) {
    .header__logo {
        top: 3rem;
        width: 10.2rem;
    }
    .header__logoNextText {
        top: 2.6rem;
        left: calc(2.3% + 10.2rem + 1.4rem);
        font-size: 0.9rem;
        line-height: 1.77;
    }
    .header__pageLinksWrap {
        gap: 2rem;
    }
    .header__list {
        gap: 2rem;
    }
}
.header__item {
    font-size: 1.5rem;
    font-weight: 300;
}
.header__link {
    position: relative;
    z-index: 2;
}
.header__link:hover,
.header__link.-current {
    color: #4a28ff;
}
.header__link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    transform-origin: right top;
    transform: scale(0, 1);
    display: block;
    width: 100%;
    height: 8px;
    background: #f5f641;
    transition: transform .3s, color .3s;
}
.header__link:hover::after,
.header__link.-current::after {
    color: #4a28ff;
    transform-origin: left top;
    transform: scale(1, 1);
}
.header__linkText {
    position: relative;
    z-index: 3;
}
.header__linkBtn {
    display: inline-block;
    min-width: 15rem;
    padding: 1.7rem 3rem;
    border-radius: 9999px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #FFF;
    background-color: #4a28ff;
    opacity: 1;
    transition: opacity .2s;
}
.header__linkBtn:hover {
    opacity: .7;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .header {
        height: 7rem;
        padding: 0;
    }
    .header.-scroll {
        height: 7rem;
        padding: 0;
    }
    .header.-scroll2 {
        height: 7rem;
        padding: 0;
    }
    .header__logo {
        top: 2rem;
        left: 4.7%;
        width: 10.2rem;
    }
    .header__logoNextText {
        top: 1.8rem;
        left: calc(4.7% + 10.2rem + 1.5rem);
        font-size: 0.9rem;
        line-height: 1.77;
    }
    .header__rightLinksWrap {
        display: none;
    }
    .header__pageLinksWrap {
        display: none;
    }
    .header.-scroll .header__pageLinksWrap {
        margin: -0.6rem 0 1rem auto;
    }
    .header__outerLink {
        display: none;
    }
    .header.-scroll .header__outerLink {
        display: none;
    }
    .header__outerLink::after {}
    .header.-scroll .header__outerLink::after {}
    .header__list {}
    .header__item {}
    .header__link {}
    .header__link::after {}
    .header__link:hover::after,
    .header__link.-current::after {}
    .header__linkText {}
    .header__linkBtn {}
}

/* :::::::::: header ここまで :::::::::: */
/* ::::: main  ::::: */
main {
    position: relative;
}

/* :::::::::: hamButton（ハンバーガボタン）1000未満のみ :::::::::: */
@media screen and (max-width: 1050px) {
    button.hamButton {
        position: fixed;
        top: 1.5rem;
        right: 1.5rem;
        z-index: 11;
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
        background-color: #4a28ff;
        transition: background-color 0.3s;
    }
    button.hamButton div.base {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 1.2rem;
        height: 1.2rem;
    }
    button.hamButton div.base div.line {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #FFF;
        transition: opacity 0.3s;
    }
    button.hamButton div.base div.line.-line1 {
        top: 0;
    }
    button.hamButton div.base div.line.-line2 {
        top: 50%;
        transform: translateY(-50%);
    }
    button.hamButton div.base div.line.-line3 {
        bottom: 0;
    }
    button.hamButton.-open {
        background-color: #f5f6f0;
    }
    button.hamButton.-open div.base div.line {
        background-color: #4a28ff;
    }
    button.hamButton.-open div.base div.line.-line2 {
        opacity: 0;
    }
    @keyframes menu-open-top {
        0% {
            top: 0;
        }
        60% {
            top: 50%;
            transform: translateY(-50%);
        }
        100% {
            top: 50%;
            transform: translateY(-50%) rotate(45deg);
        }
    }
    @keyframes menu-open-bottom {
        0% {
            bottom: 0;
        }
        60% {
            bottom: 50%;
            transform: translateY(50%);
        }
        100% {
            bottom: 50%;
            transform: translateY(50%) rotate(-45deg);
        }
    }
    @keyframes menu-close-top {
        0% {
            top: 50%;
            transform: translateY(-50%) rotate(45deg);
        }
        40% {
            top: 50%;
            transform: translateY(-50%);
        }
        100% {
            top: 0;
        }
    }
    @keyframes menu-close-bottom {
        0% {
            bottom: 50%;
            transform: translateY(50%) rotate(-45deg);
        }
        40% {
            bottom: 50%;
            transform: translateY(50%);
        }
        100% {
            bottom: 0;
        }
    }
}

/* :::::::::: hamMenu 1050px tab-sp範囲のみ :::::::::: */
@media screen and (max-width: 1050px) {
    .hamMenu {
        overflow-y: auto;
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
        width: 100%;
        height: 100vh;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
    }
    .hamMenu.-open {
        opacity: 1;
        visibility: visible;
    }
    .hamMenu__base {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 29rem;
        height: 100%;
        min-height: 580px;
        background-color: #ffffff;
    }
    .hamMenu__baseInner {
        position: relative;
        z-index: 1;
        padding: 0 5.5%;
    }
    .hamMenu__list {}
    .hamMenu__item {}
    .hamMenu__item:not(:first-child) {
        padding-top: 3.2rem;
    }
    .hamMenu__link {
        position: relative;
        z-index: 2;
        display: inline-block;
        font-size: 1.6rem;
        font-weight: 300;
        color: #111;
        opacity: 1;
        transition: opacity .3s;
    }
    .hamMenu__link::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
        transform-origin: right top;
        transform: scale(0, 1);
        display: block;
        width: 100%;
        height: 8px;
        background: #f5f641;
        transition: transform 0.3s;
    }
    .hamMenu__link:hover::after,
    .hamMenu__link.-current::after {
        transform-origin: left top;
        transform: scale(1, 1);
    }
    .hamMenu__linkBtnWrap {
        margin-top: 5rem;
    }
    .hamMenu__linkBtn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        padding: 1.7rem 1rem 1.8rem;
        border-radius: 9999px;
        font-size: 1.5rem;
        font-weight: 700;
        color: #FFF;
        background-color: #4a28ff;
        opacity: 1;
        transition: opacity .2s;
    }
    .hamMenu__linkBtn:hover {
        opacity: .8;
    }
    .hamMenu__close {
        cursor: pointer;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
    }
}


/* :::::::::::::::::::: footer :::::::::::::::::::: */
.footer {
    position: relative;
    padding: 5.3rem 0 6.5rem;
    background-image: linear-gradient(#5258ff 0%, #4a28ff 100%);
}
.footer__wrapper {
    position: relative;
    margin: 0 4%;
}
.footer__upper {
    padding-bottom: 7.3rem;
}
.footer__logo {
    display: inline-block;
    width: 19.3rem;
}
.footer__lower {
    display: flex;
    justify-content: end;
    gap: 3.5rem;
    padding-right: 9rem;
}
.footer__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3.5rem;
}
.footer__item {}
.footer__link {
    font-size: 1.2rem;
    color: #FFF;
    opacity: 1;
    transition: opacity .2s;
}
.footer__link:hover {
    opacity: .7;
}
.copyright {
    font-size: 1.1rem;
    color: #FFF;
}
.footer__anker {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: 5rem;
    transition: bottom .3s;
}
.footer__anker:hover {
    bottom: 1rem;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .footer {
        padding: 2.5rem 0;
    }
    .footer__wrapper {
        margin: 0 4%;
    }
    .footer__upper {
        padding-bottom: 10rem;
    }
    .footer__logo {
        width: 15rem;
    }
    .footer__lower {
        flex-direction: column;
        justify-content: end;
        gap: 2rem;
        padding-right: 0;
    }
    .footer__list {
        justify-content: end;
        gap: 1.4rem;
    }
    .footer__item {}
    .footer__link {
        font-size: 1.1rem;
    }
    .copyright {
        text-align: right;
        font-size: 1.1rem;
    }
    .footer__anker {
        top: 0;
        bottom: unset;
        width: 3.5rem;
        transition: top .2s;
    }
    .footer__anker:hover {
        top: -0.5rem;
        bottom: unset;
    }
}

/* :::::::::::::::::::: common モジュール　ここまで :::::::::::::::::::: */


/* :::::::::::::::::::: home(index) ページ :::::::::::::::::::: */
/* :::::::::: homeKv :::::::::: */
.homeKv {
    position: relative;
}
.homeKv__inner {}
.homeKv__flexParent {
    display: flex;
    align-items: start;
    gap: 3.9%;
    padding: 23rem 5.4% 0;
}
.homeKv__catchcopyImg {
    position: relative;
    width: 37.71%;
}
/* homeTopicAreaLink */
.homeTopicAreaLink {
    position: absolute;
    bottom: -12rem;
    left: 0;
    display: flex;
    align-items: start;
    gap: 2rem;
    padding: 1.1rem 2rem 1rem;
    border-radius: 1rem;
    background-color: #FFF;
    width: 100%;
}
.homeTopicDate {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.homeTopicTitle {
    padding-top: 0.1rem;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 2;
    color: #555;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.homeTopicTitle > a {
    opacity: 1;
    transition: opacity .2s;
}
.homeTopicTitle > a:hover {
    opacity: .7;
}
/* homeTopicAreaLink ここまで */
.homeKv__mainIllustArea {
    position: relative;
    width: 57.89%;
}
.homeKv__handsImg {
    position: relative;
    z-index: 2;
}
.homeKv__wavyCircleImg {
    position: absolute;
    top: 0;
    left: 5.3%;
    z-index: 1;
    width: 50%;
    mix-blend-mode: multiply;
}
.homeKv__wavyCircleImg .img {
    animation: circleAnimation 20s linear infinite;
}
@keyframes circleAnimation {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}
.homeKv__wavyCircleText {
    position: absolute;
    top: 48%;
    left: 48%;
    z-index: 1;
    transform: translate(-50%, -50%);
    font-size: 5rem;
    font-size: 3.8vw;
    color: #FFF;
}
.homeKv__heartImg {
    position: absolute;
    top: 1.8%;
    left: 43.18%;
    z-index: 0;
    width: 53%;
}
.homeKv__heartImg .img {
    animation: scale 1.6s ease infinite;
}
@keyframes scale {
    0% {
        transform: scale(1.001);
    }
    9% {
        transform: scale(0.97);
    }
    18% {
        transform: scale(1.001);
    }
    27% {
        transform: scale(0.97);
    }
    100% {
        transform: scale(1.001);
    }
}

/*
@keyframes scale {
    0% {
        transform: scale(1.001);
    }
    30% {
        transform: scale(0.97);
    }
    100% {
        transform: scale(1.001);
    }
}*/
.homeKv__heartText {
    position: absolute;
    top: calc(48% - 1.8%);
    left: 52%;
    z-index: 1;
    transform: translate(-50%, -50%);
    font-size: 5rem;
    font-size: 3.8vw;
    color: #FFF;
}

/* ::::: loading ::::: */
.loading {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f5f6f0;
    transition: opacity 1.8s, visibility 1.8s;
}
.body.loading-end .loading {
    opacity: 0;
    visibility: hidden;
}
.loading__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.loading__gifImg {
    width: 15.2rem;
}
/* ::::: loading　ここまで ::::: */

/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .homeKv {}
    .homeKv__inner {}
    .homeKv__flexParent {
        align-items: start;
        gap: 3.9%;
        padding: 12rem 5% 0;
    }
    .homeKv__catchcopyImg {
        width: 37.71%;
    }
    /* homeTopicsArea */
    .homeTopicAreaLink {
        position: relative;
        bottom: unset;
        left: unset;
        align-items: start;
        gap: 1.5rem;
        padding: 0.5rem 1.5rem;
        border-radius: 0.7rem;
        margin-bottom: 5.2rem;
        background-color: #f5f6f0;
    }
    .homeTopicDate {}
    .homeTopicTitle {}
    /* homeTopicAreaLink ここまで */
    .homeKv__mainIllustArea {
        width: 57.89%;
    }
    .homeKv__handsImg {}
    .homeKv__wavyCircleImg {}
    .homeKv__wavyCircleImg .img {}
    .homeKv__wavyCircleText {}
    .homeKv__heartImg {}
    .homeKv__heartImg .img {}
    @keyframes scale {
        0% {
            transform: scale(0.99);
        }
        9% {
            transform: scale(0.95);
        }
        18% {
            transform: scale(0.99);
        }
        27% {
            transform: scale(0.95);
        }
        100% {
            transform: scale(0.99);
        }
    }
    .homeKv__heartText {}
}
/* ----- responsive (750) ----- */
@media screen and (max-width: 750px) {
    .homeKv {}
    .homeKv__inner {}
    .homeKv__flexParent {
        flex-direction: column;
    }
    .homeKv__catchcopyImg {
        width: 100%;
    }
    /* homeTopicsArea */
    .homeTopicAreaLink {}
    .homeTopicDate {}
    .homeTopicTitle {}
    /* homeTopicAreaLink ここまで */
    .homeKv__mainIllustArea {
        width: 100%;
        margin-top: 5rem;
    }
    .homeKv__handsImg {}
    .homeKv__wavyCircleImg {}
    .homeKv__wavyCircleImg .img {}
    .homeKv__wavyCircleText {
        font-size: 6.9vw;
    }
    .homeKv__heartImg {}
    .homeKv__heartImg .img {}
    .homeKv__heartText {
        font-size: 6.9vw;
    }
}
/* :::::::::: homeKv ここまで :::::::::: */

/* :::::::::: homeAbout :::::::::: */
.homeAbout {
    padding: 9rem 0 11.5rem;
    background-color: #fff;
}
.homeAbout__wrapper {
    width: 89%;
    max-width: 1500px;
    margin: 0 auto;
}
.homeAbout__inner {
    display: flex;
    gap: 7rem;
}
.homeAbout__head {
    width: 50rem;
}
.homeAbout__title {
    font-size: 2.7rem;
    font-weight: 500;
    line-height: 1.74;
    color: #4a28ff;
}
/* textTyping */
.TextTyping span {
	display: none;
}
.TextTyping::after {
 	/* content: "|"; */
 	content: "";
    position: relative;
    top: 0.5rem;
    display: inline-block;
    width: 4px;
    height: 30px;
    background-color: #4a28ff;
	animation: typinganime .8s infinite;
}
@keyframes typinganime{
	from{opacity:0}
	to{opacity:1}
}
/* textTyping　ここまで */
.homeAbout__body {
    width: calc(100% - 50rem - 7rem);
    padding-top: 0.3rem;
}
.homeAbout__text {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.homeAbout__linkWrap {
    margin-top: 3.2rem;
}
.homeAbout__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    width: 30rem;
    padding: 1.6rem 1rem;
    border: 1px solid #4a28ff;
    border-radius: 9999px;
    transition: background-color .2s;
}
.homeAbout__link:hover {
    background-color: #4a28ff;
}
.homeAbout__linkText {
    font-size: 1.6rem;
    font-weight: 600;
    color: #4a28ff;
    transition: color .2s;
}
.homeAbout__link:hover .homeAbout__linkText {
    color: #FFF;
}
.homeAbout__arrowHeadImg svg {
    width: 10px;
    height: 10px;
}
.homeAbout__arrowHeadImg svg .cls-1 {
    fill:#4a28ff;
    transition: fill .2s;
}
.homeAbout__link:hover .homeAbout__arrowHeadImg svg .cls-1 {
    fill: #FFF;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .homeAbout {
        padding: 4rem 0 8rem;
    }
    .homeAbout__wrapper {
        width: 78%;
    }
    .homeAbout__inner {
        flex-wrap: wrap;
        flex-direction: column;
        gap: 0;
    }
    .homeAbout__head {
        width: 100%;
    }
    .homeAbout__title {
        font-size: 2.1rem;
        line-height: 1.73;
    }
    /* textTyping */
    .TextTyping span {}
    .TextTyping::after {}
    /* textTyping　ここまで */
    .homeAbout__body {
        width: 100%;
        padding-top: 1.5rem;
    }
    .homeAbout__text {}
    .homeAbout__linkWrap {
        margin-top: 2.3rem;
    }
    .homeAbout__link {
        width: 100%;
    }
    .homeAbout__linkText {}
    .homeAbout__arrowHeadImg svg {}
    .homeAbout__arrowHeadImg svg .cls-1 {}
}
/* :::::::::: homeAbout ここまで :::::::::: */

/* :::::::::: c-service :::::::::: */
.c-service {
    color: #FFF;
    background-color: #FFF;
}
.c-service__wrapper {
    width: 95%;
    max-width: 159rem;
    border-radius: 1.5rem;
    margin: 0 auto;
    background-image: linear-gradient(#5258ff 0%, #4a28ff 100%);
}
.c-service__inner {
    padding: 10.5rem 9% 10rem;
}
.c-service__head {}
.c-service__headSubTitle {
    position: relative;
    display: inline-block;
    font-size: 1.5rem;
}
.c-service__headSubTitle::after {
    content: '';
    position: absolute;
    top: 0.6rem;
    right: -1rem;
    transform: translate(100%, 0);
    width: 5rem;
    padding-top: 1px;
    background-color: #FFF;
}
.c-service__headLower {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 3rem;
    padding-top: 2.9rem;
}
.c-service__title {
    width: calc(100% - 17rem - 3rem);
    font-size: 3.2rem;
    line-height: 1.718;
}
.c-service__link {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 1.5rem;
    width: 17rem;
    margin-top: 1rem;
    opacity: 1;
}
.c-service__linkText {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}
.c-service__arrowHeadImg {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border: 1px solid #FFF;
    border-radius: 50%;
    transition: background-color .2s;
}
.c-service__link:hover .c-service__arrowHeadImg {
    background-color: #FFF;
}
.c-service__arrowHeadImg svg {
    width: 10px;
    height: 10px;
}
.c-service__arrowHeadImg svg .cls-1 {
    fill: #FFF;
    transition: fill .2s;
}
.c-service__link:hover .c-service__arrowHeadImg svg .cls-1 {
    fill: #4a28ff;
}
.c-service__body {
    padding-top: 6.6rem;
}
.c-service__list {
    display: flex;
    flex-wrap: wrap;
    gap: 6.5rem 5.5%;
}
.c-service__item {
    width: calc((100% - 5.5% * 2) / 3);
}
.c-service__itemHead {
    position: relative;
}
.c-service__itemImg {
    overflow: hidden;
    border-radius: 10px;
}
.c-service__itemNum {
    position: absolute;
    top: -3.8rem;
    right: 2rem;
    z-index: 1;
    font-size: 6.5rem;
    font-weight: 500;
}
.c-service__itemBody {
    padding-top: 1.3rem;
}
.c-service__itemTitle {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 2;
}
.c-service__itemText {
    padding-top: 0.3rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .c-service {}
    .c-service__wrapper {
        width: 92%;
    }
    .c-service__inner {
        padding: 7.2rem 7% 8rem;
    }
    .c-service__head {}
    .c-service__headSubTitle {}
    .c-service__headSubTitle::after {}
    .c-service__headLower {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: end;
        padding-top: 2rem;
    }
    .c-service__title {
        width: 100%;
        font-size: 2.6rem;
        line-height: 1.73;
    }
    .c-service__link {
        width: auto;
        margin-top: 0.3rem;
    }
    .c-service__linkText {}
    .c-service__arrowHeadImg {}
    .c-service__arrowHeadImg svg {}
    .c-service__arrowHeadImg svg .cls-1 {}
    .c-service__body {}
    .c-service__list {
        gap: 5.3rem 2rem;
    }
    .c-service__item {
        width: calc((100% - 2.1rem) / 2);
    }
    .c-service__itemHead {}
    .c-service__itemImg {
        border-radius: 9px;
    }
    .c-service__itemNum {
        top: -3.3rem;
        right: 1rem;
        font-size: 5rem;
    }
    .c-service__itemBody {
        padding-top: 1.5rem;
    }
    .c-service__itemTitle {
        font-size: 1.9rem;
        line-height: 1.68;
    }
    .c-service__itemText {
        padding-top: 0.2rem;
    }
}
/* :::::::::: c-service ここまで :::::::::: */

/* :::::::::: homeFeature  :::::::::: */
.homeFeature {
    padding: 9.7rem 0 12rem;
    background-color: #FFF;
}
.homeFeature__wrapper {
    width: 75%;
    max-width: 96rem;
    margin: 0 auto;
}
.homeFeature__titleArea {
    position: relative;
    padding-bottom: 4.8rem;
}
.homeFeature__subTitle {
    position: relative;
    display: inline-block;
    padding-bottom: 2.2rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.13;
    color: #8c8c8c;
}
.homeFeature__subTitle::after {
    content: '';
    position: absolute;
    top: 1.5rem;
    right: -1rem;
    transform: translate(100%, 0);
    width: 5rem;
    padding-top: 1px;
    background-color: #8c8c8c;
}
.homeFeature__title {
    position: relative;
    z-index: 1;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.718;
    color: #4a28ff;
}
.homeFeature__profArea {
    padding-bottom: 8rem;
}
.homeFeature__profInner {
    position: relative;
    z-index: 0;
    padding: 6.3rem 0 7rem;
}
.homeFeature__profInner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 14rem;
    z-index: -1;
    display: block;
    width: 100vw;
    height: 100%;
    border-top-right-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
    background-color: #f5f6f0;
}
.homeFeature__profTextTypeConts {
    width: 60rem;
}
.homeFeature__profSubTitle {
    margin-bottom: 2.2rem;
    font-size: 1.5rem;
    font-weight: 500;
}
.homeFeature__profTitle {
    font-size: 2.4rem;
    font-weight: 500;
}
.hoemFeature__profListWrap {
    padding-top: 2.3rem;
}
.c-list {}
.c-list__item {
    position: relative;
    padding-left: 2.5rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.c-list__item:not(:first-child) {}
.c-list__item::before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 0.8rem;
    left: 0;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    border: 1px solid #5258ff;
    border-radius: 50%;
}
.homeFeature__profText {
    display: inline-block;
    margin-top: 2rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.homeFeature__imgWrap {
    position: absolute;
    top: -4rem;
    right: 0;
    width: 28.2%;
    max-width: 40rem;
}
.homeFeature__imgWrap::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 3rem;
    left: 3rem;
    z-index: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    border-radius: 50px;
    background-color: #4a28ff;
    box-shadow: 0 0 10px rgba(17, 17, 17, 0.1);
}
.homeFeature__img {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 50px;
    box-shadow: 0 0 10px rgba(17, 17, 17, 0.1);
}
.homeFeature__nameText {
    position: absolute;
    bottom: -5rem;
    right: -5rem;
    z-index: 3;
    text-align: right;
    font-size: 5.5rem;
    color: #18dd96;
}
.homeFeature__bottomArea {}
.homeFeature__layoutFlexParent {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7%;
}
.homeFeature__illust {
    width: 37%;
}
.homeFeature__textTypeContents {
    width: calc(100% - 37% - 7%);
    padding-top: 6rem;
}
.homeFeature__bottomTitleArea {
    position: relative;
    padding-bottom: 4.8rem;
}
.homeFeature__titleShadow {
    position: absolute;
    top: -10rem;
    left: 9.5rem;
    z-index: 0;
    font-size: 14rem;
    font-weight: 500;
    color: #f5f6f0;
}
.homeFeature__textArea {}
.homeFeature__text {
    font-size: 1.5rem;
    line-height: 2;
}
.homeFeature__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    width: 19rem;
    padding: 1.6rem 1rem;
    border: 1px solid #4a28ff;
    margin-top: 4rem;
    border-radius: 9999px;
    transition: background-color .2s;
}
.homeFeature__link:hover {
    background-color: #4a28ff;
}
.homeFeature__linkText {
    font-size: 1.6rem;
    color: #4a28ff;
    transition: color .2s;
}
.homeFeature__link:hover .homeFeature__linkText {
    color: #FFF;
}
.homeFeature__arrowHeadImg {
    width: 10px;
    height: 10px;
}
.homeFeature__arrowHeadImg svg .cls-1 {
    fill:#4a28ff;
    transition: fill .2s;
}
.homeFeature__link:hover .homeFeature__arrowHeadImg svg .cls-1 {
    fill:#FFF;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .homeFeature {
        padding: 7.4rem 0 7.6rem;
    }
    .homeFeature__wrapper {
        width: 78%;
        max-width: unset;
    }
    .homeFeature__titleArea {
        padding-bottom: 12.5rem;
    }
    .homeFeature__subTitle {
        padding-bottom: 1.8rem;
    }
    .homeFeature__subTitle::after {}
    .homeFeature__title {
        font-size: 2.6rem;
        line-height: 1.73;
    }
    .homeFeature__profArea {
        padding-bottom: 9.5rem;
    }
    .homeFeature__profInner {
        padding: 19rem 0 6.3rem;
    }
    .homeFeature__profInner::before {
        right: -4%;
    }
    .homeFeature__profTextTypeConts {
        width: 100%;
    }
    .homeFeature__profSubTitle {
        margin-bottom: 2.2rem;
    }
    .homeFeature__profTitle {}
    .hoemFeature__profListWrap {
        padding-top: 2.2rem;
    }
    .c-list {}
    .c-list__item {}
    .c-list__item:not(:first-child) {}
    .c-list__item::before {
        top: 0.8rem;
    }
    .homeFeature__profText {
        margin-top: 1.2rem;
    }
    .homeFeature__imgWrap {
        top: -10rem;
        left: 50%;
        right: unset;
        transform: translateX(-50%);
        width: 16.2rem;
        max-width: unset;
    }
    .homeFeature__imgWrap::after {
        top: 1.8rem;
        left: 1.8rem;
        border-radius: 30px;
    }
    .homeFeature__img {
        border-radius: 30px;
    }
    .homeFeature__nameText {
        bottom: -4rem;
        right: -3rem;
        font-size: 4.5rem;
        line-height: 0.77;
    }
    .homeFeature__bottomArea {}
    .homeFeature__layoutFlexParent {
        gap: 0;
    }
    .homeFeature__illust {
        width: 100%;
        max-width: 50rem;
        margin: 0 auto;
    }
    .homeFeature__textTypeContents {
        width: 100%;
        padding-top: 0;
    }
    .homeFeature__bottomTitleArea {
        padding-bottom: 4.5rem;
    }
    .homeFeature__titleShadow {
        top: -4.5rem;
        left: 4.6rem;
        font-size: 7rem;
    }
    .homeFeature__textArea {
        margin-top: 3rem;
    }
    .homeFeature__text {}
    .homeFeature__link {
        width: 19rem;
        margin-top: 2rem;
    }
    .homeFeature__linkText {}
    .homeFeature__arrowHeadImg {}
    .homeFeature__arrowHeadImg svg .cls-1 {}
}
/* :::::::::: homeFeature ここまで :::::::::: */

/* :::::::::: c-works :::::::::: */
.c-works {
    overflow: hidden;
    position: relative;
    padding: 14.2rem 0 4rem;
}
.c-works__loop-wrap {
    overflow: hidden;
    position: absolute;
    top: 5.8rem;
    left: 0;
    z-index: 1;
    display: flex;
    gap: 3rem;
    width: 100%;
}
.c-works__loop-texts {
    display: flex;
    gap: 3rem;
    animation: text-loop 40s infinite linear;
}
.c-works__loop-text {
    white-space: nowrap;
    font-size: 12rem;
    color: #ffffff;
}
@keyframes text-loop {
	0% { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}
.c-works__wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 75%;
    max-width: 1300px;
    margin: 0 auto;
}
.c-works__title {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.718;
    color: #4a28ff;
}
.c-works__link {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1rem;
}
.c-works__linkText {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #4a28ff;
}
.c-works__arrowHeadImg {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border: 1px solid #4a28ff;
    border-radius: 50%;
    transition: background-color .2s;
}
.c-works__link:hover .c-works__arrowHeadImg {
    background-color: #4a28ff;
}
.c-works__arrowHeadImg svg {
    width: 10px;
    height: 10px;
}
.c-works__arrowHeadImg svg .cls-1 {
    fill:#4a28ff;
    transition: fill .2s;
}
.c-works__link:hover .c-works__arrowHeadImg svg .cls-1 {
    fill:#FFF;
}

/* c-slider */
.c-slider {
    position: relative;
    margin-top: 3.2rem;
}
.swiper-button-prev,
.swiper-button-next {
    cursor: pointer;
    position: absolute;
    top: calc((100vw - 28rem) / 4.5 * 0.6 + 3rem);
    z-index: 4;
    transform: translateY(-50%);
    display: inline-block;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background-image: linear-gradient(#5258ff 0%, #4a28ff 100%);
    opacity: 1;
    transition: opacity .2s;
}
@media (hover: hover) {
    .swiper-button-prev:hover,
    .swiper-button-next:hover {
        opacity: .8;
    }
}
.swiper-button-prev {
    left: -6rem;
}
.swiper-button-next {
    right: -6rem;
}
.swiper-button-prev::before,
.swiper-button-next::before {
    content: '';
    position: absolute;
    top: 4.8rem;
    z-index: 3;
    transform: rotate(45deg);
    width: 2rem;
    height: 2rem;
    border-top: 6px solid #FFF;
    border-right: 6px solid #FFF;
}
.swiper-button-prev::before {
    right: 1.5rem;
    transform: rotate(-135deg);
}
.swiper-button-next::before {
    left: 1.5rem;
    transform: rotate(45deg);
}

.c-slider__item {}
.c-slider__link {
    position: relative;
    display: block;
    padding: 3rem 2.5rem 5rem;
    border-radius: 10px;
    background-color: #FFF;
    box-shadow: 0 0 0 rgba(17, 17, 17, 0);
    transition: box-shadow .3s;
}
.c-slider__link:hover {
    box-shadow: 0 0 10px rgba(17, 17, 17, 0.15);
}
.c-slider__link::before {
    content: 'more';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    font-family: degular, sans-serif;
    font-size: 3.2rem;
    font-weight: 500;
    color: #FFF;
    background-color: #18dd96;
    opacity: 0;
    transition: opacity .3s;
}
.c-slider__link:hover::before {
    opacity: .9;
}
.c-slider__link::after {
    content: '';
    position: absolute;
    top: calc(50% + 0.4rem);
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    display: inline-block;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background-color: #18dd96;
    opacity: 0;
    transition: opacity .3s;
}
.c-slider__link:hover::after {
    opacity: 1;
}
.c-slider__img {
    overflow: hidden;
    border-radius: 5px;
    aspect-ratio: 220/132;
}

.c-slider__img img{
    width: 100%;
    object-fit: cover;
    height: auto;
}


.c-slider__title {
    padding-top: 2rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.c-slider__tagsArea {
    padding-top: 1.2rem;
}
.c-slider__tag {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .c-works {
        padding: 8rem 0 5.8rem;
    }
    .service .c-works,
    .feature .c-works,
    .materials .c-works {
        padding: 8.8rem 0 0;
    }
    .c-works__loop-wrap {
        top: 4.8rem;
        gap: 2.5rem;
    }
    .c-works__loop-texts {
        gap: 2.5rem;
    }
    .c-works__loop-text {
        font-size: 7rem;
    }
    .c-works__wrapper {
        width: 78%;
    }
    .c-works__title {
        font-size: 2.6rem;
        line-height: 1.718;
    }
    .c-works__link {
        gap: 1rem;
        margin-top: 0.6rem;
    }
    .c-works__linkText {}
    .c-works__arrowHeadImg {}
    .c-works__arrowHeadImg svg {}
    .c-works__arrowHeadImg svg .cls-1 {}
    /* c-slider */
    .c-slider {
        margin-top: 4.5rem;
    }
    .swiper-button-prev,
    .swiper-button-next {
        top: calc((100vw - 14rem) / 2.3 * 0.6 + 3rem);
        width: 9rem;
        height: 9rem;
    }
    /* ----- responsive (750) ----- */
    @media screen and (max-width: 750px) {
        .swiper-button-prev,
        .swiper-button-next {
            top: calc((100vw - 10rem) / 1.2 * 0.6 + 3rem);
        }
    }
    .swiper-button-prev {
        left: -4.5rem;
    }
    .swiper-button-next {
        right: -4.5rem;
    }
    .swiper-button-prev::before,
    .swiper-button-next::before {
        top: 3.7rem;
        width: 1.2rem;
        height: 1.2rem;
        border-top: 4.5px solid #FFF;
        border-right: 4.5px solid #FFF;
    }
    .swiper-button-prev::before {
        right: 1.4rem;
    }
    .swiper-button-next::before {
        left: 1.4rem;
    }
    .c-slider__item {}
    .c-slider__link {
        padding: 3rem 2.5rem 4.2rem;
    }
    .c-slider__link:hover {}
    .c-slider__link::before {
        width: 9rem;
        height: 9rem;
        font-size: 2.6rem;
    }
    .c-slider__link:hover::before {
        opacity: .9;
    }
    .c-slider__link::after {
        width: 9rem;
        height: 9rem;
    }
    .c-slider__link:hover::after {}
    .c-slider__img {}
    .c-slider__title {}
    .c-slider__tagsArea {}
    .c-slider__tag {}
}
/* :::::::::: c-works ここまで :::::::::: */


/* :::::::::: homeMaterial :::::::::: */
.homeMaterial {
    padding: 4rem 0;
    color: #FFF;
    background-color: #FFF;
}
.homeMaterial__wrapper {
    overflow: hidden;
    width: 94%;
    max-width: 150rem;
    border-radius: 1.5rem;
    margin: 0 auto;
}
.homeMaterial__inner {
    display: flex;
}
.homeMaterial__img {
    width: 50%;
}
.homeMaterial__textTypeContents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
    padding: 8rem 7% 6rem;
    background-image: linear-gradient(#5258ff 0%, #4a28ff 100%);
}
.homeMaterial__title {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.6;
}
.homeMaterial__text {
    margin-top: 2rem;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 2;
}
.homeMaterial__linkWrap {
    padding-top: 2rem;
}
.homeMaterial__link {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    width: fit-content;
}
.homeMaterial__linkText {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}
.homeMaterial__arrowHeadImg {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border: 1px solid #FFF;
    border-radius: 50%;
    transition: background-color .2s;
}
.homeMaterial__link:hover .homeMaterial__arrowHeadImg {
    background-color: #FFF;
}
.homeMaterial__arrowHeadImg svg {
    width: 10px;
    height: 10px;
}
.homeMaterial__arrowHeadImg svg .cls-1 {
    fill: #FFF;
    transition: fill .2s;
}
.homeMaterial__link:hover .homeMaterial__arrowHeadImg svg .cls-1 {
    fill: #4a28ff;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .homeMaterial {
        padding: 2rem 0 2rem;
    }
    .homeMaterial__wrapper {
        width: 92%;
    }
    .homeMaterial__inner {}
    .homeMaterial__img {}
    .homeMaterial__textTypeContents {
        padding: 4rem 7% 5.4rem;
    }
    /* ----- responsive (750) ----- */
    @media screen and (max-width: 750px) {
        .homeMaterial__inner {
            flex-direction: column;
        }
        .homeMaterial__img {
            width: 100%;
        }
        .homeMaterial__textTypeContents {
            width: 100%;
        }
    }
    .homeMaterial__title {
        font-size: 2.6rem;
        line-height: 1.73;
    }
    .homeMaterial__text {
        margin-top: 1.3rem;
    }
    .homeMaterial__linkWrap {
        padding-top: 2.9rem;
    }
    .homeMaterial__link {}
    .homeMaterial__linkText {}
    .homeMaterial__arrowHeadImg {}
    .homeMaterial__arrowHeadImg svg {}
    .homeMaterial__arrowHeadImg svg .cls-1 {}
}
/* :::::::::: homeMaterial ここまで :::::::::: */

/* :::::::::: c-contact :::::::::: */
.c-contact {
    position: relative;
    color: #FFF;
}
.background-color_fff {
    background-color: #FFF;
}
.c-contact__bgi {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}
.c-contact__bgi > .img {
    object-fit: unset;
}
.c-contact__inner {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 54.6875vw;
    padding: 24rem 0 10.7rem;
    text-align: center;
}
.c-contact__title {
    font-size: 12rem;
}
.c-contact__text {
    width: 78%;
    padding-top: 2.8rem;
    margin: 0 auto;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 2;
}
.c-contact__linkWrap {}
.c-contact__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 17rem;
    padding: 1.7rem 1rem 1.5rem;
    border: 1px solid #FFF;
    margin-top: 3.5rem;
    border-radius: 9999px;
    transition: background-color .2s, border .2s;
}
.c-contact__link:hover {
    border: 1px solid #4a28ff;
    background-color: #4a28ff;
}
.c-contact__linkText {
    font-size: 1.6rem;
    color: #FFF;
    font-weight: bold;
}
.c-contact__arrowHeadImg {
    width: 10px;
    height: 10px;
}
.c-contact__arrowHeadImg svg .cls-1 {
    fill:#FFF;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .c-contact {}
    .background-color_fff {}
    .c-contact__bgi {}
    .c-contact__bgi > .img {}
    .c-contact__inner {
        padding: 14.2rem 0 9rem;
    }
    .c-contact__title {
        font-size: 7rem;
    }
    .c-contact__text {
        padding-top: 2.5rem;
        font-size: 1.6rem;
    }
    .c-contact__linkWrap {}
    .c-contact__link {
        margin-top: 3.2rem;
    }
    .c-contact__linkText {}
    .c-contact__arrowHeadImg {}
    .c-contact__arrowHeadImg svg .cls-1 {}
}
/* :::::::::: c-contact ここまで :::::::::: */

/* :::::::::: c-news  :::::::::: */
.c-news {
    overflow: hidden;
    position: relative;
    padding: 13.5rem 0 11.6rem;
}
.c-news__wrapper {
    display: flex;
    width: 89%;
    margin: 0 auto;
}
.c-news__titleArea {
    width: 25%;
}
.c-news__title {
    font-size: 6.5rem;
    color: #4a28ff;
}
.c-news__linkWrap {
    margin-top: 2.8rem;
}
.c-news__link {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    width: fit-content;
}
.c-news__linkText {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #4a28ff;
}
.c-news__linkText span.displayChange{
    display: inline;
}
.c-news__arrowHeadImg {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border: 1px solid #4a28ff;
    border-radius: 50%;
    transition: background-color .2s;
}
.c-news__link:hover .c-news__arrowHeadImg {
    background-color: #4a28ff;
}
.c-news__arrowHeadImg svg {
    width: 10px;
    height: 10px;
}
.c-news__arrowHeadImg svg .cls-1 {
    fill: #4a28ff;
    transition: fill .2s;
}
.c-news__link:hover .c-news__arrowHeadImg svg .cls-1 {
    fill: #FFF;
}
.c-news__listArea {
    width: 75%;
}
.c-news__list {
    display: flex;
    gap: 2rem;
}
.c-news__item {
    width: calc((100% - 2rem * 2) / 3);
}
.c-news__itemLink {
    position: relative;
    display: inline-block;
    padding: 3rem 2.5rem 4.8rem;
    border-radius: 10px;
    background-color: #FFF;
    box-shadow: 0 0 10px rgba(17, 17, 17, 0);
    transition: box-shadow .2s;
}
.c-news__itemLink:hover {
    box-shadow: 0 0 10px rgba(17, 17, 17, 0.15);
}
.c-news__itemLink::before {
    content: 'more';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    font-family: degular, sans-serif;
    font-weight: 500;
    font-size: 3.2rem;
    font-weight: 500;
    color: #FFF;
    opacity: 0;
    transition: opacity .3s;
}
.c-news__itemLink:hover::before {
    opacity: 1;
}
.c-news__itemLink::after {
    content: '';
    position: absolute;
    top: calc(50% + 0.2rem);
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    display: flex;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background-color: #18dd96;
    opacity: 0;
    transition: opacity .3s;
}
.c-news__itemLink:hover::after {
    opacity: 1;
}
.c-news__itemImg {
    overflow: hidden;
    border-radius: 5px;
    aspect-ratio: 220/132;
}

.c-news__itemImg img{
    width: 100%;
    object-fit: cover;
    height: auto;
}

.c-news__itemTitle {
    padding-top: 2rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.c-news__itemDate {
    padding-top: 0.9rem;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.c-newsSlider__tagsArea {
    padding-top: 1.2rem;
}
.c-newsSlider__tag {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.c-news__bgi {
    position: absolute;
    top: 20rem;
    bottom: -30rem;
    left: 0;
    z-index: -1;
    width: 100%;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .c-news {
        padding: 7.8rem 0 12rem;
    }
    .c-news__wrapper {
        flex-direction: column;
        width: 100%;
    }
    .c-news__titleArea {
        width: 78%;
        display: flex;
        align-items: end;
        justify-content: space-between;
        margin: 0 auto;
    }
    .c-news__title {
        font-size: 5rem;
    }
    .c-news__linkWrap {
        margin-top: 0;
    }
    .c-news__link {
        gap: 1rem;
    }
    .c-news__linkText {
        font-size: 1.5rem;
    }
    .c-news__linkText span.displayChange {
        display: none;
    }
    .c-news__arrowHeadImg {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 4rem;
        height: 4rem;
        border: 1px solid #4a28ff;
        border-radius: 50%;
    }
    .c-news__arrowHeadImg svg {
        width: 10px;
        height: 10px;
    }
    .c-news__arrowHeadImg svg .cls-1 {
        fill:#4a28ff;
    }
    .c-news__listArea {
        width: 75%;
    }
    .c-news__list {
        display: flex;
        gap: 2rem;
    }
    .c-news__item {
        width: calc((100% - 2rem * 2) / 3);
    }
    .c-news__itemLink {
        position: relative;
        display: inline-block;
        padding: 3rem 2.5rem 4.8rem;
        border-radius: 10px;
        background-color: #FFF;
        box-shadow: 0 0 10px rgba(17, 17, 17, 0.15);
    }
    .c-news__itemLink::before {
        content: 'more';
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 2;
        transform: translate(-50%, -50%);
        font-family: degular, sans-serif;
        font-size: 2.6rem;
        font-weight: 500;
        color: #FFF;
        opacity: 0;
        transition: opacity .3s;
    }
    .c-news__itemLink:hover::before {
        opacity: 1;
    }
    .c-news__itemLink::after {
        content: '';
        position: absolute;
        top: calc(50% + 0.2rem);
        left: 50%;
        z-index: 1;
        transform: translate(-50%, -50%);
        display: flex;
        width: 9rem;
        height: 9rem;
        border-radius: 50%;
        background-color: #18dd96;
        opacity: 0;
        transition: opacity .3s;
    }
    .c-news__itemLink:hover::after {
        opacity: 1;
    }
    .c-news__itemImg {
        overflow: hidden;
        border-radius: 5px;
    }
    .c-news__itemTitle {
        padding-top: 2rem;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 2;
        color: #4a28ff;
    }
    .c-news__itemDate {
        padding-top: 0.9rem;
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 2;
        color: #4a28ff;
    }
    .c-news__bgi {
        position: absolute;
        top: 20rem;
        bottom: -30rem;
        left: 0;
        z-index: -1;
        width: 100%;
    }


    /* c-newsSlider */
    .c-newsSlider {
        position: relative;
        margin-top: 4.4rem;
    }
    .news-swiper-button-prev,
    .news-swiper-button-next {
        cursor: pointer;
        position: absolute;
        top: calc((100vw - 14rem) / 2.3 * 0.6 + 3rem);
        z-index: 4;
        transform: translateY(-50%);
        display: inline-block;
        width: 9rem;
        height: 9rem;
        border-radius: 50%;
        background-image: linear-gradient(#5258ff 0%, #4a28ff 100%);
        opacity: 1;
        transition: opacity .2s;
    }
    /* ----- responsive (750) ----- */
    @media screen and (max-width: 750px) {
        .news-swiper-button-prev,
        .news-swiper-button-next {
            top: calc((100vw - 10rem) / 1.2 * 0.6 + 3rem);
        }
    }
    @media (hover: hover) {
        .news-swiper-button-prev:hover,
        .news-swiper-button-next:hover {
            opacity: .8;
        }
    }
    .news-swiper-button-prev {
        left: -4.5rem;
    }
    .news-swiper-button-next {
        right: -4.5rem;
    }
    .news-swiper-button-prev::before,
    .news-swiper-button-next::before {
        content: '';
        position: absolute;
        top: 3.7rem;
        z-index: 3;
        transform: rotate(45deg);
        width: 1.2rem;
        height: 1.2rem;
        border-top: 4.5px solid #FFF;
        border-right: 4.5px solid #FFF;
    }
    .news-swiper-button-prev::before {
        right: 1.4rem;
        transform: rotate(-135deg);
    }
    .news-swiper-button-next::before {
        left: 1.4rem;
        transform: rotate(45deg);
    }

    .c-newsSlider__item {}
    .c-newsSlider__link {
        position: relative;
        display: block;
        padding: 3rem 2.5rem 4.4rem;
        border-radius: 10px;
        background-color: #FFF;
        box-shadow: 0 0 0 rgba(17, 17, 17, 0);
        transition: box-shadow .3s;
    }
    .c-newsSlider__link:hover {
        box-shadow: 0 0 10px rgba(17, 17, 17, 0.15);
    }
    .c-newsSlider__link::before {
        content: 'more';
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 2;
        transform: translate(-50%, -50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 9rem;
        height: 9rem;
        border-radius: 50%;
        font-family: degular, sans-serif;
        font-size: 2.6rem;
        font-weight: 500;
        color: #FFF;
        background-color: #18dd96;
        opacity: 0;
        transition: opacity .3s;
    }
    .c-newsSlider__link:hover::before {
        opacity: .9;
    }
    .c-newsSlider__link::after {
        content: '';
        position: absolute;
        top: calc(50% + 0.4rem);
        left: 50%;
        z-index: 1;
        transform: translate(-50%, -50%);
        display: inline-block;
        width: 9rem;
        height: 9rem;
        border-radius: 50%;
        background-color: #18dd96;
        opacity: 0;
        transition: opacity .3s;
    }
    .c-newsSlider__link:hover::after {
        opacity: 1;
    }
    .c-newsSlider__img {
        overflow: hidden;
        border-radius: 5px;
        aspect-ratio: 220 / 132;
    }

    .c-newsSlider__img img {
        width: 100%;
        object-fit: cover;
        height: auto;
    }

    .c-newsSlider__title {
        padding-top: 2rem;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 2;
        color: #4a28ff;
    }
    .c-newsSlider__tagsArea {
        padding-top: 1.2rem;
    }
    .c-newsSlider__tag {
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 2;
        color: #4a28ff;
    }
}
/* :::::::::: c-news ここまで :::::::::: */
/* :::::::::::::::::::: home(index) ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: about ページ :::::::::::::::::::: */
main.about {}
.aboutKv {
    overflow: hidden;
    position: relative;
    z-index: 0;
    background-color: #FFF;
}
.aboutKv__pageTitleArea {
    padding: 19.4rem 0 11.6rem;
}
.aboutKv__wrapper {
    width: 89%;
    max-width: 150rem;
    margin: 0 auto;
}
.aboutKv__pageTitle {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    color: #4a28ff;
}
.aboutKv__pageTitle-en {
    font-size: 9rem;
}
.aboutKv__pageTitle-ja {
    padding-top: 1.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}
.aboutKv__textArea {
    width: 48%;
    padding-top: 4.6rem;
}
.aboutKv__text {
    font-size: 1.5rem;
    line-height: 2;
}
.aboutKv__text + .aboutKv__text {
    padding-top: 3rem;
}
.aboutKv__text > .marker {
    display: inline;
    padding-bottom: 0.2rem;
    background: linear-gradient(transparent 50%, #f5f641 0%);
}
.aboutKv__loopImgsArea {
    overflow: hidden;
	position: absolute;
	top: 0;
    right: 7%;
    width: 31%;
    z-index: -1;
}
.aboutKv__loopImgs {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    margin-top: 3rem;
    animation: loop 20s infinite linear;
}
.aboutKv__loopImg {
    overflow: hidden;
    border-radius: 2rem;
    height: auto;
}
@keyframes loop {
    0% {
        transform: translateY(0);
    }
    to {
        transform: translateY(calc(-100% - 3rem));
    }
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.about {}
    .aboutKv {}
    .aboutKv__pageTitleArea {
        padding: 13rem 0 6.5rem;
    }
    .aboutKv__pageTitle {}
    .aboutKv__pageTitle-en {
        font-size: 6.5rem;
    }
    .aboutKv__pageTitle-ja {
        padding-top: 1.8rem;
    }
    .aboutKv__textArea {
        width: 100%;
        padding-top: 3.8rem;
    }
    .aboutKv__text {}
    .aboutKv__text + .aboutKv__text {}
    .aboutKv__loopImgsArea {
        position: relative;
        top: 0;
        right: unset;
        left: 0;
        display: flex;
        width: 100vw;
        height: 16.8rem;
        margin-top: 6rem;
    }
    .aboutKv__loopImgs {
        display: flex;
        flex-direction: row;
        gap: 1rem;
        margin-top: unset;
        margin-right: 1rem;
        animation: loop 20s infinite linear;
    }
    .aboutKv__loopImg {
        border-radius: 1rem;
        width: 28rem;
        height: 16.8rem;
    }
    @keyframes loop {
        0% {
            transform: translate(0,0);
        }
        to {
            transform: translate(calc(-100% - 1rem),0);
        }
    }
}

/* aboutSec1 */
.aboutSec1 {
    position: relative;
    z-index: 1;
}
.aboutSec1__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8%;
    width: 78%;
    max-width: 130rem;
    padding: 12.8rem 0 11.2rem;
    margin: 0 auto;
}
.aboutSec1__titleArea {
    width: calc((100% - 8%) / 2);
    margin-top: -0.4rem;
}
.aboutSec1__title {
    position: relative;
    padding-left: 6.6rem;
    font-size: 2.6rem;
    line-height: 2;
    color: #4a28ff;
}
.aboutSec1__title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 5rem;
    height: 6rem;
    background-image: url(/assets/img/page/about/icon-sec1.png);
    background-size: 50px 60px;
}
.aboutSec1__handsImg {
    width: 100%;
    margin-top: 2.5rem;
}
.aboutSec1__textsArea {
    width: calc((100% - 8%) / 2);
}
.aboutSec__text {
    font-size: 1.5rem;
    line-height: 2;
}
.aboutSec__text + .aboutSec__text {
    padding-top: 3rem;
}
.aboutSec__text > .marker {
    display: inline;
    padding-bottom: 0.2rem;
    background: linear-gradient(transparent 50%, #f5f641 0%);
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .aboutSec1 {}
    .aboutSec1__inner {
        flex-direction: column;
        gap: 0;
        padding: 5rem 0 6.7rem;
    }
    .aboutSec1__titleArea {
        width: 100%;
        margin-top: 0;
    }
    .aboutSec1__title {
        padding-top: 6.4rem;
        padding-left: 0;
        font-size: 2.4rem;
        line-height: 1.66;
    }
    .aboutSec1__title::before {
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 4rem;
        height: 4.8rem;
        background-size: 40px 48px;
    }
    .aboutSec1__handsImg {
        width: 100%;
        max-width: 50rem;
        margin: 2rem auto;
    }
    .aboutSec1__textsArea {
        width: 100%;
    }
    .aboutSec__text {}
    .aboutSec__text + .aboutSec__text {
        padding-top: 3rem;
    }
    .aboutSec__text > .marker {
        background: linear-gradient(transparent 55%, #f5f641 0%);
    }
}
/* aboutSec1 ここまで */

/* aboutSec2 */
.aboutSec2 {
    padding: 12.5rem 0 10.6rem;
    background-color: #FFF;
}
.aboutSec2__inner {
    width: 78%;
    max-width: 130rem;
    margin: 0 auto;
}
.aboutSec2__titleArea {}
.aboutSec2__title {
    position: relative;
    padding-left: 6.6rem;
    font-size: 2.6rem;
    line-height: 2;
    color: #4a28ff;
}
.aboutSec2__title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 5rem;
    height: 6rem;
    background-image: url(/assets/img/page/about/icon-sec2.png);
    background-size: 50px 60px;
}
.aboutSec2__textsArea {
    display: flex;
    flex-wrap: wrap;
    gap: 7%;
    padding-top: 4rem;
}
.aboutSec2__textsWrap {
    width: calc((100% - 8%) / 2);
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .aboutSec2 {
        padding: 5rem 0 5.8rem;
    }
    .aboutSec2__inner {}
    .aboutSec2__titleArea {}
    .aboutSec2__title {
        padding-top: 7rem;
        padding-left: 0;
        font-size: 2.4rem;
        line-height: 1.66;
    }
    .aboutSec2__title::before {
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 4rem;
        height: 4.8rem;
        background-size: 40px 48px;
    }
    .aboutSec2__textsArea {
        gap: 3rem;
        padding-top: 2.4rem;
    }
    .aboutSec2__textsWrap {
        width: 100%;
    }
}
/* aboutSec2 ここまで */

/* aboutSec3 */
.aboutSec3 {
    padding: 12.4rem 0 11rem;
    background-color: #f5f6f0;
}
.aboutSec3__inner {
    width: 78%;
    max-width: 130rem;
    margin: 0 auto;
}
.aboutSec3__titleArea {
    display: flex;
    flex-wrap: wrap;
    gap: 8%;
}
.aboutSec3__title {
    position: relative;
    padding-left: 6.6rem;
    font-size: 2.6rem;
    line-height: 2;
    color: #4a28ff;
}
.aboutSec3__title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 5rem;
    height: 6rem;
    background-image: url(/assets/img/page/about/icon-sec3.png);
    background-size: 50px 60px;
}
.aboutSec3__textsArea {
    display: flex;
    flex-wrap: wrap;
    gap: 8%;
    padding-top: 4rem;
}
.aboutSec3__textsWrap {
    width: calc((100% - 8%) / 2);
}
.aboutSec3__img {
    overflow: hidden;
    width: calc((100% - 8%) / 2);
    border-radius: 2rem;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .aboutSec3 {
        padding: 5rem 0 5.7rem;
    }
    .aboutSec3__inner {}
    .aboutSec3__titleArea {
        flex-direction: column;
        gap: 0;
    }
    .aboutSec3__title {
        padding-top: 7rem;
        padding-left: 0;
        font-size: 2.4rem;
        line-height: 1.66;
    }
    .aboutSec3__title::before {
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 4rem;
        height: 4.8rem;
        background-size: 40px 48px;
    }
    .aboutSec3__textsArea {
        flex-direction: column-reverse;
        gap: 3.4rem;
        padding-top: 2.8rem;
    }
    .aboutSec3__textsWrap {
        width: 100%;
    }
    .aboutSec3__img {
        width: 100%;
        max-width: 50rem;
        margin: 0 auto;
    }
}
/* aboutSec3 ここまで */

/* aboutSec4 */
.aboutSec4 {
    padding: 12rem 0 10.5rem;
    background-color: #FFF;
}
.aboutSec4__largeImg {
    overflow: hidden;
    width: 95%;
    max-width: 150rem;
    border-radius: 2rem;
    margin: 0 auto;
}
.aboutSec4__inner {
    width: 78%;
    max-width: 130rem;
    margin: 6rem auto 0;
}
.aboutSec4__titleArea {
    display: flex;
    flex-wrap: wrap;
    gap: 8%;
}
.aboutSec4__title {
    position: relative;
    padding-left: 6.6rem;
    font-size: 2.6rem;
    line-height: 2;
    color: #4a28ff;
}
.aboutSec4__title::before {
    content: '';
    position: absolute;
    top: -0.5rem;
    left: 0;
    display: inline-block;
    width: 5rem;
    height: 6rem;
    background-image: url(/assets/img/page/about/icon-sec4.png);
    background-size: 50px 60px;
}
.aboutSec4__textsArea {
    display: flex;
    flex-wrap: wrap;
    gap: 8%;
    padding-top: 3.8rem;
}
.aboutSec4__textsWrap {
    width: calc((100% - 8%) / 2);
}
.aboutSec4__hr {
    width: 100%;
    height: 1px;
    margin: 6.7rem 0 6.2rem;
    background-color: #eff1e7;
}
.aboutSec4__quote {
    font-size: 1.3rem;
    font-weight: 300;
    line-height: 2.3;
    color: #777777;
}
.strong {
    font-weight: 700;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .aboutSec4 {
        padding: 1.5rem 0 7rem;
    }
    .aboutSec4__largeImg {
        width: 92%;
        max-width: 50rem;
    }
    .aboutSec4__inner {
        margin: 3rem auto 0;
    }
    .aboutSec4__titleArea {
        gap: 3.5rem;
    }
    .aboutSec4__title {
        width: 100%;
        padding-top: 5.8rem;
        padding-left: 0;
        font-size: 2.4rem;
        line-height: 1.66;
    }
    .aboutSec4__title::before {
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 4rem;
        height: 4.8rem;
        background-size: 40px 48px;
    }
    .aboutSec4__textsArea {
        gap: 0;
        padding-top: 1.8rem;
    }
    .aboutSec4__textsWrap {
        width: 100%;
    }
    .aboutSec4__hr {
        margin: 4.7rem 0;
    }
    .aboutSec4__quote {}
    .strong {}
}
/* aboutSec4 ここまで */

/* :::::::::::::::::::: about ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: feature ページ :::::::::::::::::::: */
main.feature {
    padding-top: 19.3rem;
}
/* ftrSec1 */
.ftrSec1 {
    padding-bottom: 9.5rem;
}
.ftrSec1__inner {
    position: relative;
    display: flex;
    align-items: start;
    gap: 5%;
    width: 89%;
    max-width: 130rem;
    margin: 0 auto;
}
.ftrSec1__pageTitleArea {
    width: 50%;
}
.ftrSec1__pageTitle {
    display: flex;
    flex-direction: column;
    color: #4a28ff;
}
.ftrSec1__pageTitle-en {
    font-size: 9rem;
    font-weight: 500;
}
.ftrSec1__pageTitle-ja {
    padding-top: 1.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}
.ftrSec1__secTitleArea {
    margin-top: 4.2rem;
}
.ftrSec1__secTitle {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.71;
    color: #4a28ff;
    margin-bottom: 2.3rem;
}
.ftr__text {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.ftrSec1__img {
    position: absolute;
    top: 14rem;
    right: 0;
    z-index: 1;
    width: 45%;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.feature {
        padding-top: 13.3rem;
    }
    .ftrSec1 {
        padding-bottom: 0;
    }
    .ftrSec1__inner {
        flex-direction: column;
        width: 78%;
    }
    .ftrSec1__pageTitleArea {
        width: 100%;
    }
    .ftrSec1__pageTitle {
        flex-direction: column;
    }
    .ftrSec1__pageTitle-en {
        font-size: 6.5rem;
    }
    .ftrSec1__pageTitle-ja {
        padding-top: 1.6rem;
    }
    .ftrSec1__secTitleArea {
        margin-top: 3.8rem;
    }
    .ftrSec1__secTitle {
        font-size: 2.6rem;
        line-height: 1.73;
        margin-bottom: 2.1rem;
    }
    .ftr__text {}
    .ftrSec1__img {
        position: relative;
        top: 0;
        left: 0;
        right: unset;
        width: 100%;
        max-width: 50rem;
        margin: 4rem auto -3.3rem;
    }
}
/* ftrSec1 ここまで */

/* ftrSec2 */
.ftrSec2 {
    overflow: hidden;
    position: relative;
}
.ftrSec2::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 94.5%;
    height: 100%;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
    background-color: #f5f6f0;
}
.ftrSec2__inner {
    position: relative;
    width: 78%;
    max-width: 130rem;
    padding-top: 9.9rem;
    margin: 0 auto;
}
.ftrSec2__title {
    font-size: 3.2rem;
    line-height: 1.71;
    color: #4a28ff;
}
.ftrSec2__list {
    display: flex;
    flex-wrap: wrap;
    gap: 5rem;
    padding: 4rem 0 11.5rem;
}
.ftrSec2__item {
    position: relative;
    width: calc((100% - 5rem * 2) / 3);
}
.ftrSec2__itemNum {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    font-size: 5rem;
    color: #4a28ff;
}
.ftrSec2__itemImg {
    position: relative;
    width: 20rem;
    margin: 0 auto;
}
.ftrSec2__itemTitle {
    margin: 2rem 0;
    font-size: 2.2rem;
    line-height: 2;
    color: #4a28ff;
}
.ftrSec2__itemText {
    font-size: 1.5rem;
    line-height: 2;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .ftrSec2 {}
    .ftrSec2::before {
        width: 94.5%;
        height: 100%;
    }
    .ftrSec2__inner {
        width: 78%;
        padding-top: 8rem;
    }
    .ftrSec2__title {
        font-size: 2.6rem;
        line-height: 1.73;
    }
    .ftrSec2__list {
        padding: 4rem 0 6rem;
    }
    .ftrSec2__item {
        width: 100%;
    }
    .ftrSec2__itemNum {
        top: 0;
        left: -0.4rem;
    }
    /* ----- responsive (750) ----- */
    @media screen and (max-width: 750px) {
        .ftrSec2__itemNum {
            top: -0.8rem;
            left: -1.2rem;
        }
    }
    .ftrSec2__itemImg {
        width: 53%;
        min-width: 15rem;
        max-width: 20rem;
    }
    .ftrSec2__itemTitle {
        margin: 2.2rem 0 1.5rem;
    }
    .ftrSec2__itemText {}
}
/* ftrSec2 ここまで */

/* ftrSec3 */
.ftrSec3 {
    padding: 11rem 0 12.4rem;
}
.ftrSec3__inner {
    width: 78%;
    max-width: 130rem;
    margin: 0 auto;
}
.ftrSec3__title {
    font-size: 3.2rem;
    line-height: 1.71;
    color: #4a28ff;
}
.ftrSec3__hr {
    padding-top: 1px;
    margin: 2rem 0 6.2rem;
    background-color: #eff1e7;
}
.ftrSec3__layoutFlex {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 9%;
}
.ftrSec3__textTypeArea {
    width: 58%;
}
.ftrSec3__state {
    padding-bottom: 1.2rem;
    font-size: 1.5rem;
    line-height: 2;
}
.ftrSec3__nameTitle {
    margin-bottom: 3.6rem;
    font-size: 3.2rem;
    line-height: 1.65;
}
.ftrSec3__smallSec {}
.ftrSec3__smallSec + .ftrSec3__smallSec {
    margin-top: 4rem;
}
.ftrSec3__smallSecTitle {
    position: relative;
    padding-left: 1.8rem;
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
}
.ftrSec3__smallSecTitle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: inline-block;
    width: 8px;
    height: 2rem;
    background-color: #4a28ff;
}
.ftrSec3__smallSecText {
    padding-top: 1.2rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.ftrSec3__nameText {
    position: absolute;
    bottom: -5rem;
    right: -5rem;
    z-index: 3;
    text-align: right;
    font-size: 5.5rem;
    color: #18dd96;
}
.ftrSec3__listArea {}
.ftrSec3__list {
    padding-top: 1.2rem;
}
.ftrSec3__item {
    position: relative;
    padding-left: 2.5rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.ftrSec3__item::before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 0.8rem;
    left: 0;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    border: 1px solid #5258ff;
    border-radius: 50%;
}
.ftrSec3__linkWrap {
    margin-top: 4.2rem;
}
.ftrSec3__linkWrap + .ftrSec3__linkWrap {
    margin-top: 2rem;
}
.ftrSec3__imgWrap {
    position: relative;
    top: 0;
    right: 0;
    z-index: 0; 
    width: 28.2%;
    max-width: 40rem;
}
.ftrSec3__imgWrap::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 3rem;
    left: 3rem;
    z-index: -1;
    display: inline-block;
    width: 100%;
    height: 100%;
    border-radius: 50px;
    background-color: #4a28ff;
    box-shadow: 0 0 10px rgba(17, 17, 17, 0.1);
}
.ftrSec3__img {
    position: relative;
}
.ftrSec3__img .img {
    border-radius: 5rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.ftrSec3__nameText {
    position: absolute;
    bottom: -5rem;
    right: -5rem;
    z-index: 3;
    text-align: right;
    font-size: 5.5rem;
    color: #18dd96;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .ftrSec3 {
        padding: 5.7rem 0 11rem;
    }
    .ftrSec3__inner {}
    .ftrSec3__title {
        font-size: 2.6rem;
        line-height: 1.73;
    }
    .ftrSec3__hr {
        margin: 1.4rem 0 4rem;
    }
    .ftrSec3__layoutFlex {
        flex-direction: column-reverse;
        gap: 0;
    }
    .ftrSec3__textTypeArea {
        width: 100%;    
        padding-top: 8.5rem;
    }
    .ftrSec3__state {
        padding-bottom: 1.8rem;
    }
    .ftrSec3__nameTitle {
        margin-bottom: 2.1rem;
        font-size: 2.6rem;
    }
    .ftrSec3__smallSec {}
    .ftrSec3__smallSec + .ftrSec3__smallSec {
        margin-top: 3.2rem;
    }
    .ftrSec3__smallSecTitle {}
    .ftrSec3__smallSecTitle::before {}
    .ftrSec3__smallSecText {
        padding-top: 1.2rem;
    }
    .ftrSec3__nameText {
        bottom: -4.4rem;
        right: -2.4rem;
        font-size: 4.5rem;
        line-height: 0.77;
    }
    .ftrSec3__listArea {}
    .ftrSec3__list {
        padding-top: 1.2rem;
    }
    .ftrSec3__item {}
    .ftrSec3__item::before {
        top: 0.8rem;
    }
    .ftrSec3__linkWrap {
        margin-top: 3.8rem;
    }
    .ftrSec3__imgWrap {
        left: 0;
        right: unset;
        width: 58%;
        margin: 0 auto;
        max-width: unset;
    }
    .ftrSec3__imgWrap::after {
        top: 2rem;
        left: 2rem;
        border-radius: 3rem;
    }
    .ftrSec3__img {
        position: relative;
    }
    .ftrSec3__img .img {
        border-radius: 3rem;
    }
    .ftrSec3__nameText {
        bottom: -4.4rem;
        right: -2.4rem;
        font-size: 4.5rem;
    }
}
/* ftrSec3 ここまで */




/* :::::::::::::::::::: feature ページ ここまで :::::::::::::::::::: */


/* :::::::::::::::::::: materials ページ :::::::::::::::::::: */
.mtrlKv {
    display: flex;
    width: 100%;
    padding-bottom: 11.6rem;
    min-height: 65rem;
}
.mtrlKv__pageTitleArea {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    width: 35%;
    padding: 7.5rem 4% 0 5%;
}
.mtrlKv__pageTitle {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    color: #4a28ff;
}
.mtrlKv__pageTitle-en {
    font-size: 9rem;
    line-height: 0.933;
}
.mtrlKv__pageTitle-ja {
    margin-top: 2.8rem;
    font-size: 1.6rem;
    font-weight: 700;
}
.mtrlKv__readyTextArea {
    padding-top: 7.4rem;
    text-align: left;
}
.mtrlKv__readyText {
    font-size: 1.8rem;
    line-height: 2;
}
.mtrlKv__img {
    overflow: hidden;
    position: relative;
    top: 0;
    right: 0;
    width: 65%;
    border-bottom-left-radius: 20px;
    z-index: -1;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .mtrlKv {
        display: flex;
        width: 100%;
        padding-bottom: 4.2rem;
    }
    .mtrlKv__pageTitleArea {
        display: block;
        width: 100%;
        padding: 13.2rem 0 0;
    }
    .mtrlKv__pageTitle {
        padding: 0 11%;
    }
    .mtrlKv__pageTitle-en {
        font-size: 6.5rem;
    }
    .mtrlKv__pageTitle-ja {
        margin-top: 2.5rem;
    }
    .mtrlKv__readyTextArea {
        padding: 4.5rem 11% 0;
    }
    .mtrlKv__readyText {}
    .mtrlKv__img {
        position: relative;
        top: unset;
        right: unset;
        width: 89%;
        border-bottom-left-radius: 20px;
    }
}
/* ----- responsive (750) ----- */
@media screen and (max-width: 750px) {
    .mtrlKv {}
    .mtrlKv__pageTitleArea {}
    .mtrlKv__pageTitle {}
    .mtrlKv__pageTitle-en {}
    .mtrlKv__pageTitle-ja {}
    .mtrlKv__readyTextArea {}
    .mtrlKv__readyText {}
    .mtrlKv__img {
        border-top-left-radius: 20px;
        margin: 5.6rem 0 0 auto;
    }
}
/* :::::::::::::::::::: materials ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: service ページ :::::::::::::::::::: */
main.service {
    background-color: #fff;
}
/* srvKv */
.srvKv {
    display: flex;
    width: 100%;
}
.srvKv__pageTitleArea {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    width: 35%;
    padding: 18.4rem 4% 3rem 5%;
}
.srvKv__pageTitle {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    color: #4a28ff;
}
.srvKv__pageTitle-en {
    font-size: 9rem;
}
.srvKv__pageTitle-ja {
    margin-top: 1.9rem;
    font-size: 1.6rem;
    font-weight: 700;
}
.srvKv__readyTextArea {
    padding-top: 7.5rem;
    text-align: left;
}
.srvKv__readyText {
    font-size: 1.5rem;
    line-height: 2;
}
.srvKv__img {
    overflow: hidden;
    position: relative;
    top: 0;
    right: 0;
    width: 65%;
    border-bottom-left-radius: 20px;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .srvKv {
        display: flex;
        width: 100%;
    }
    .srvKv__pageTitleArea {
        display: block;
        width: 100%;
        padding: 12.9rem 0 0;
    }
    .srvKv__pageTitle {
        padding: 0 11%;
    }
    .srvKv__pageTitle-en {
        font-size: 6.5rem;
    }
    .srvKv__pageTitle-ja {
        margin-top: 1.9rem;
    }
    .srvKv__readyTextArea {
        padding: 3.3rem 11% 0;
    }
    .srvKv__readyText {}
    .srvKv__img {
        position: relative;
        top: unset;
        right: unset;
        width: 89%;
        border-bottom-left-radius: 20px;
    }
}
/* ----- responsive (750) ----- */
@media screen and (max-width: 750px) {
    .srvKv {}
    .srvKv__pageTitleArea {}
    .srvKv__pageTitle {}
    .srvKv__pageTitle-en {}
    .srvKv__pageTitle-ja {
        margin-top: 2.1rem;
    }
    .srvKv__readyTextArea {}
    .srvKv__readyText {}
    .srvKv__img {
        border-top-left-radius: 20px;
        margin: 5.8rem 0 0 auto;
    }
}
/* srvKv ここまで */

/*タブ切り替え全体のスタイル*/
.tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 7rem;
    width: 100%;
    padding-top: 7.5rem;
    margin: 0 auto;
}
.tabs input {
    padding-block: 0;
    padding-inline: 0;
}
/*タブのスタイル*/
.tab__item {
    cursor: pointer;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 19rem;
    padding-bottom: 1rem;
    text-align: center;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.58;
    color: #111;
    transition: opacity 0.2s ease;
}
.tab__item:hover {
    opacity: 0.75;
}
.tab__item:nth-of-type(1):before {
    content: '';
    position: relative;
    display: block;
    width: 12rem;
    height: 12rem;
    background-image: url(/assets/img/page/service/tab-icon1.png);
    background-size: 120px 120px;
}
.tabs input#tab1:checked + .tab__item:nth-of-type(1):before {
    background-image: url(/assets/img/page/service/tab-icon1-active.png);
}
.tab__item:nth-of-type(2):before {
    content: '';
    position: relative;
    display: block;
    width: 12rem;
    height: 12rem;
    background-image: url(/assets/img/page/service/tab-icon2.png);
    background-size: 120px 120px;
}
.tabs input#tab2:checked + .tab__item:nth-of-type(2):before {
    background-image: url(/assets/img/page/service/tab-icon2-active.png);
}
.tab__item:nth-of-type(3):before {
    content: '';
    position: relative;
    display: block;
    width: 12rem;
    height: 12rem;
    background-image: url(/assets/img/page/service/tab-icon3.png);
    background-size: 120px 120px;
}
.tabs input#tab3:checked + .tab__item:nth-of-type(3):before {
    background-image: url(/assets/img/page/service/tab-icon3-active.png);
}
.tab__item span {
    display: inline-block;
    width: 100%;
    padding-top: 1.6rem;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}
.tab__item:not(:nth-of-type(1)) {
    /* margin-left: 7px; */
}
/*タブ切り替えの中身のスタイル*/
.tab__content {
    overflow: hidden;
    clear: both;
    display: none;
    width: 100%;
    padding-bottom: 16rem;
}
/*選択されているタブのコンテンツのみを表示*/
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {
    display: block;
}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab__item {
    background-color: #ffffff;
    color: #4a28ff;
}
.tabs input + .tab__item::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    z-index: 1;
    transform: translate( -50%, 50%);
    display: block;
    width: 18px;
    height: 14px;
    background-image: url(/assets/img/page/service/icon-triangle-tab.png);
    background-size: 18px 14px;
    opacity: 0;
    transition: opacity .2s;
}
.tabs input:checked + .tab__item::after {
    opacity: 1;
}
/* tab__cntList */
.tab__cntList {}
.tab__cntItem {
    display: flex;
    align-items: start;
    gap: 5%;
    width: 89%;
    max-width: 130rem;
    padding-top: 7.6rem;
    margin: 0 auto;
}
.tab__cntItem:not(:nth-child(1)) {
    margin-top: 1rem;
}
.tab__cntItemThumb {
    position: relative;
    width: 40%;
}
.tab__tagWrap {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    padding: 0.7rem 1.2rem 0.8rem 3.2rem;
    background-color: #FFF;
}
.tab__pinImg {
    position: absolute;
    top: 0.6rem;
    left: 1.1rem;
    width: 1.4rem;
}
.tab__tagText {
    font-size: 1.9rem;
    font-weight: 500;
}
.tab__cntItemTextTypeWrap {
    width: 100%;
}
.tab__cntItemTitle {
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.71;
    color: #4a28ff;
}
.tab__cntItemTextWrap {
    padding-top: 3rem;
    border-top: 1px solid #dddddd;
    margin-top: 2rem;
    margin-bottom: 6rem;
}
.tab__cntItemText {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
}
.tab__media {
    padding: 0 6%;
}
.tab__mediaImg {
    overflow: hidden;
    border-radius: 2rem;
    margin: 0 10% -10rem;
}
.tab__mediaBody {
    padding: 12.8rem 10% 7.6rem;
    border-radius: 2rem;
    background-color: #f5f6f0;
}
.tab__mediaTitle {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1.2rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2.25;
}
.tab__mediaTitle::before {
    content: '';
    position: absolute;
    top: 1.2rem;
    left: 0;
    width: 8px;
    height: 30px;
    border-radius: 1px;
    background-color: #4a28ff;
}
.tab__mediaText {
    font-size: 1.5rem;
    line-height: 2;
}
.tab__media + .tab__media {
    padding-top: 8rem;
}
.tab__cntCenterText {
    width: 78%;
    margin: 5rem auto 0;
    text-align: center;
    font-size: 1.8rem;
    line-height: 2;
}
.tabBgcContainerSec {
    width: 78%;
    max-width: 130rem;
    border-radius: 2rem;
    margin: 4rem auto 0;
    background-color: #f5f6f0;
}
.tabBgcContainerSec__inner {
    padding: 7rem 10% 9.2rem;
}
.tabBgcContainerSec__title {
    font-size: 2.4rem;
    font-weight: 500;
    color: #4a28ff;
}
.tabBgcContainerSec__hr {
    width: 100%;
    height: 1px;
    margin: 1.7rem 0 2.7rem;
    background-color: #4a28ff;
}
.tabBgcContainerSec__smallUnitSectionsArea {}
.tabBgcContainerSec__smallUnitSec + .tabBgcContainerSec__smallUnitSec {
    padding-top: 3rem;
}
.tabBgcContainerSec__smallUnitTitle {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
}
.tabBgcContainerSec__smallUnitTitle::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 8px;
    height: 20px;
    border-radius: 1px;
    background-color: #4a28ff;
}
.tabBgcContainerSec__smallUnitText {
    font-size: 1.5rem;
    line-height: 2;
}
.tabBgcContainerSec__lower {
    padding-top: 6rem;
}
.tabBgcContainerSec__title {}
.tabBgcContainerSec__hr {}
.tabBgcContainerSec__lowerText,
.tabBgcContainerSec__lowerEtcText {
    font-size: 1.5rem;
    font-weight: 300;
}
.tabBgcContainerSec__lowerEtcText {
    padding-top: 2rem;
}
.tabBgcContainerSec__lowerText + .tabBgcContainerSec__list {
    padding-top: 2rem;
}
.tabBgcContainerSec__item {
    position: relative;
    padding-left: 2rem;
    font-size: 1.5rem;
    line-height: 2;
    color: #111;
}
.tabBgcContainerSec__item::before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 1.4rem;
    left: 0;
    transform: translateY(-50%);
    width: 1.2rem;
    height: 1.2rem;
    border: 1px solid #4a28ff;
    border-radius: 50%;
}
a.with-arrow{
    position: relative;
}
a.with-arrow::after {
    content: '';
    position: relative;
    top: 0;
    right: 0;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 0.5rem;
    background-image: url(/assets/img/common/icon-outside-arrow.png);
    background-size: 10px 10px;
}
.text-link {
    text-decoration: underline;
    color: #4a28ff;
    opacity: 1;
    transition: opacity .3s;
}
.text-link:hover {
    opacity: .7;
}
.tabCnt3__bottomText {
    padding-top: 1rem;
    font-size: 1.5rem;
    line-height: 2;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
/*タブ切り替え全体のスタイル*/
.tabs {
    gap: 0 3.2rem;
    width: 100%;
    padding-top: 3.5rem;
}
.tabs input {}
/*タブのスタイル*/
.tab__item {
    width: 7rem;
    /* padding-bottom: 1rem; */
    font-size: 1.4rem;
    line-height: 1.57;
}
.tab__item:hover {}
.tab__item:nth-of-type(1):before {
    width: 7rem;
    height: 7rem;
    background-size: 70px 70px;
}
.tabs input#tab1:checked + .tab__item:nth-of-type(1):before {}
.tab__item:nth-of-type(2):before {
    width: 7rem;
    height: 7rem;
    background-size: 70px 70px;
}
.tabs input#tab2:checked + .tab__item:nth-of-type(2):before {}
.tab__item:nth-of-type(3):before {
    width: 7rem;
    height: 7rem;
    background-size: 70px 70px;
}
.tabs input#tab3:checked + .tab__item:nth-of-type(3):before {}
.tab__item span {
    /* padding-top: 1.6rem; */
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {}
.tab__item:not(:nth-of-type(1)) {
    /* margin-left: 7px; */
}
/*タブ切り替えの中身のスタイル*/
.tab__content {
    padding-bottom: 10.5rem;
}
/*選択されているタブのコンテンツのみを表示*/
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab__item {}
.tabs input + .tab__item::after {
    bottom: -8px;
}
.tabs input:checked + .tab__item::after {}
/* tab__cntList */
.tab__cntList {}
.tab__cntItem {
    gap: 5%;
    width: 100%;
    padding-top: 4.8rem;
}
.tab__cntItem:not(:nth-child(1)) {
    margin-top: 1rem;
}
.tab__cntItemThumb {
    position: relative;
    width: 40%;
}
.tab__tagWrap {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    padding: 0.7rem 1.2rem 0.8rem 3.2rem;
    background-color: #FFF;
}
.tab__pinImg {
    position: absolute;
    top: 0.6rem;
    left: 1.1rem;
    width: 1.4rem;
}
.tab__tagText {
    font-size: 1.9rem;
    font-weight: 500;
}
.tab__cntItemTextTypeWrap {}
.tab__cntItemTitle {
    width: 78%;
    margin: 0 auto;
    font-size: 2.6rem;
    line-height: 1.73;
}
.tab__cntItemTextWrap {
    width: 78%;
    padding-top: 2.3rem;
    margin: 1.9rem auto 3.5rem;
}
.tab__cntItemText {
    font-size: 1.6rem;
    line-height: 1.875;
}
.tab__media {
    width: 92%;
    padding: 0;
    margin: 0 auto;
}
.tab__mediaImg {
    margin: 0 8.3% -7rem;
}
.tab__mediaBody {
    padding: 10.6rem 8.3% 4.5rem;
}
.tab__mediaTitle {
    padding-left: 2rem;
    margin-bottom: 1.2rem;
    font-size: 2rem;
    line-height: 1.5;
}
.tab__mediaTitle::before {
    top: 0.4rem;
    height: 20px;
}
.tab__mediaText {}
.tab__media + .tab__media {
    padding-top: 5rem;
}
.tab__cntCenterText {
    width: 78%;
    margin: 4rem auto 0;
    font-size: 1.5rem;
}
.tabBgcContainerSec {
    width: 92%;
    margin: 2rem auto 0;
}
.tabBgcContainerSec__inner {
    padding: 7rem 8.3% 9.2rem;
}
.tabBgcContainerSec__title {
    font-size: 2rem;
}
.tabBgcContainerSec__hr {
    /* margin: 1.7rem 0 2.7rem; */
}
.tabBgcContainerSec__smallUnitSectionsArea {}
.tabBgcContainerSec__smallUnitSec + .tabBgcContainerSec__smallUnitSec {}
.tabBgcContainerSec__smallUnitTitle {
    font-size: 1.6rem;
    line-height: 1.75;
}
.tabBgcContainerSec__smallUnitTitle::before {
    top: 3px;
}
.tabBgcContainerSec__smallUnitText {}
.tabBgcContainerSec__lower {
    padding-top: 5rem;
}
.tabBgcContainerSec__title {}
.tabBgcContainerSec__hr {}
.tabBgcContainerSec__list {}
.tabBgcContainerSec__item {}
.tabBgcContainerSec__item::before {}
.text-link {}
.text-link:hover {}
.tabCnt3__bottomText {}
}
/* :::::::::::::::::::: service ページ ここまで :::::::::::::::::::: */


/* :::::::::::::::::::: news ページ :::::::::::::::::::: */
.aboutSecWrap,
.serviceSecWrap,
.featureSecWrap,
.worksSecWrap,
.materialSecWrap,
.newsSecWrap {
    padding-top: 8rem;
    margin-top: -8rem;
}
.news {
    padding-top: 19.3rem;
    padding-bottom: 20rem;
}
.newsTitleArea {}
.news__wrapper {
    width: 89%;
    max-width: 150rem;
    margin: 0 auto;
}
.news__pageTitleArea {}
.news__pageTitle {
    display: flex;
    flex-direction: column;
    color: #4a28ff;
}
.news__pageTitle-en {
    font-size: 9rem;
    font-weight: 500;
}
.news__pageTitle-ja {
    padding-top: 1.1rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}
.newsArchive {
    padding-top: 5.4rem;
}
.newsArchive__wrapper {
    width: 89%;
    max-width: 150rem;
    margin: 0 auto;
}
.newsArchive__listArea {}
.newsArchive__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 2rem;
}
.newsArchive__item {
    position: relative;
    width: calc((100% - 2rem * 3) / 4);
}
.newsArchive__itemLink {
    position: relative;
    display: block;
    padding: 3rem 2.5rem 4.8rem;
    border-radius: 10px;
    background-color: #FFF;
    box-shadow: 0 0 10px rgba(17, 17, 17, 0);
    transition: box-shadow .3s;
}
.newsArchive__itemLink:hover {
    box-shadow: 0 0 10px rgba(17, 17, 17, 0.15);
}
.newsArchive__itemLink::before {
    content: 'more';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%,-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12rem;
    height: 12rem;
    font-family: degular, sans-serif;
    font-size: 3.2rem;
    font-weight: 500;
    color: #FFF;
    opacity: 0;
    transition: opacity .3s;
}
.newsArchive__itemLink:hover::before {
    opacity: .9;
}
.newsArchive__itemLink::after {
    content: '';
    position: absolute;
    top: calc(50% + 0.4rem);
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    display: flex;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background-color: #18dd96;
    opacity: 0;
    transition: opacity .3s;
}
.newsArchive__itemLink:hover::after {
    opacity: 1;
}
.newsArchive__itemImg {
    overflow: hidden;
    border-radius: 5px;
    aspect-ratio: 220/132;
}

.newsArchive__itemImg img{
    width: 100%;
    object-fit: cover;
    height: auto;
}

.newsArchive__itemTitle {
    padding-top: 2rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.newsArchive__itemDate {
    padding-top: 0.9rem;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.newsArchive__tags {
    padding-top: 0.8rem;
}
.newsArchive__tag {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.newsArchive__itemTag {
    padding-top: 1rem;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    color: #4a28ff;
}
.newsArchive__paginationArea {}
.pagination {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    margin-top: 11rem;
    font-family: degular, sans-serif;
    font-weight: 500;
    font-size: 2.4rem;
    color: #8c8c8c;
}
div.pagination span.page-numbers,
div.pagination a.page-numbers {
    display: inline-block;
    padding: 0.5rem 0;
    color: #8c8c8c;
    transition: color .2s;
}
div.pagination span.page-numbers.current,
div.pagination a.page-numbers.current {
    color: #111;
}
div.pagination a.page-numbers:hover {
    color: #111;
}

/* pagination */
div.pagination a.page-numbers.prev,
div.pagination a.page-numbers.next {
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 700;
    color: #4a28ff;
    opacity: 1;
    transition: opacity .3s, background-color .3s;
}
div.pagination a.page-numbers.prev {
    left: 0;
    flex-direction: row-reverse;
}
div.pagination a.page-numbers.next {
    right: 0;
}
div.pagination a.page-numbers.prev::before,
div.pagination a.page-numbers.next::before {
    content: '';
    position: absolute;
    top: 1.6rem;
    transform-origin: center;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url(/assets/img/common/icon-arrowhead.svg);
    background-size: 10 10;
    opacity: 1;
    transition: opacity .3s, background-color .3s;
}
div.pagination a.page-numbers.prev::before {
    left: 1.6rem;
    transform: rotate(180deg);
}
div.pagination a.page-numbers.next::before {
    right: 1.6rem;
}
div.pagination a.page-numbers.prev::after,
div.pagination a.page-numbers.next::after {
    content: '';
    position: relative;
    top: 0;
    transform-origin: center;
    display: inline-block;
    width: 4rem;
    height: 4rem;
    border: 1px solid #4a28ff;
    border-radius: 50%;
}
div.pagination a.page-numbers.prev::after {
    left: 0;
}
div.pagination a.page-numbers.next::after {
    right: 0;
}
div.pagination a.page-numbers.prev:hover,
div.pagination a.page-numbers.next:hover {
    opacity: 0.6;
}
div.pagination span.page-numbers.current {
    position: relative;
}
div.pagination span.page-numbers.current::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    display: inline-block;
    width: 12px;
    height: 2px;
    background-color: #111;
}
/* pagination ここまで */
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .news {
        padding: 12.5rem 0 11.6rem;
    }
    .newsTitleArea {}
    .news__wrapper {
        width: 78%;
    }
    .news__pageTitleArea {}
    .news__pageTitle {}
    .news__pageTitle-en {
        font-size: 6.5rem;
    }
    .news__pageTitle-ja {
        padding-top: 1.5rem;
    }
    .newsArchive {
        padding-top: 5.4rem;
    }
    .newsArchive__wrapper {
        width: 78%;
    }
    .newsArchive__listArea {}
    .newsArchive__list {
        gap: 3rem 2rem;
    }
    .newsArchive__item {
        width: calc((100% - 2rem * 1) / 2);
    }
    .newsArchive__itemLink {
        padding: 3rem 2.5rem 4.8rem;
    }
    .newsArchive__itemLink:hover {}
    .newsArchive__itemLink::before {
        width: 9rem;
        height: 9rem;
        font-size: 2.6rem;
    }
    .newsArchive__itemLink:hover::before {}
    .newsArchive__itemLink::after {
        top: calc(50% + 0.4rem);
        width: 9rem;
        height: 9rem;
    }
    .newsArchive__itemLink:hover::after {}
    .newsArchive__itemImg {}
    .newsArchive__itemTitle {}
    .newsArchive__itemDate {}
    .newsArchive__tags {}
    .newsArchive__tag {}
    .newsArchive__itemTag {}
    .newsArchive__paginationArea {}
    /* pagination */
    .pagination {
        gap: 2rem;
        margin-top: 6.5rem;
    }
    div.pagination span.page-numbers,
    div.pagination a.page-numbers {
        padding: 0.5rem 0;
    }
    div.pagination span.page-numbers.current,
    div.pagination a.page-numbers.current {}
    div.pagination a.page-numbers:hover {}
    div.pagination a.page-numbers.prev,
    div.pagination a.page-numbers.next {}
    div.pagination a.page-numbers.prev {}
    div.pagination a.page-numbers.next {}
    div.pagination a.page-numbers.prev::before,
    div.pagination a.page-numbers.next::before {}
    div.pagination a.page-numbers.prev::before {}
    div.pagination a.page-numbers.next::before {}
    div.pagination a.page-numbers.prev::after,
    div.pagination a.page-numbers.next::after {}
    div.pagination a.page-numbers.prev::after {}
    div.pagination a.page-numbers.next::after {}
    div.pagination a.page-numbers.prev:hover,
    div.pagination a.page-numbers.next:hover {}
    div.pagination span.page-numbers.current {}
    div.pagination span.page-numbers.current::before {}
    /* pagination ここまで */
}
/* ----- responsive (750) ----- */
@media screen and (max-width: 750px) {
    .news {}
    .newsTitleArea {}
    .news__wrapper {}
    .news__pageTitleArea {}
    .news__pageTitle {}
    .news__pageTitle-en {}
    .news__pageTitle-ja {}
    .newsArchive {}
    .newsArchive__wrapper {}
    .newsArchive__listArea {}
    .newsArchive__list {
        gap: 3rem 2rem;
    }
    .newsArchive__item {
        width: 100%;
    }
    .newsArchive__itemLink {
        padding: 3rem 2.5rem 4.8rem;
    }
    .newsArchive__itemLink:hover {}
    .newsArchive__itemLink::before {}
    .newsArchive__itemLink:hover::before {}
    .newsArchive__itemLink::after {}
    .newsArchive__itemLink:hover::after {}
    .newsArchive__itemImg {}
    .newsArchive__itemTitle {}
    .newsArchive__itemDate {}
    .newsArchive__tags {}
    .newsArchive__tag {}
    .newsArchive__itemTag {}
    .newsArchive__paginationArea {}
    /* pagination */
    .pagination {}
    div.pagination span.page-numbers,
    div.pagination a.page-numbers {}
    div.pagination span.page-numbers.current,
    div.pagination a.page-numbers.current {}
    div.pagination a.page-numbers:hover {}
    div.pagination a.page-numbers.prev,
    div.pagination a.page-numbers.next {}
    div.pagination a.page-numbers.prev {}
    div.pagination a.page-numbers.next {}
    div.pagination a.page-numbers.prev::before,
    div.pagination a.page-numbers.next::before {}
    div.pagination a.page-numbers.prev::before {}
    div.pagination a.page-numbers.next::before {}
    div.pagination a.page-numbers.prev::after,
    div.pagination a.page-numbers.next::after {}
    div.pagination a.page-numbers.prev::after {}
    div.pagination a.page-numbers.next::after {}
    div.pagination a.page-numbers.prev:hover,
    div.pagination a.page-numbers.next:hover {}
    div.pagination span.page-numbers.current {}
    div.pagination span.page-numbers.current::before {}
    /* pagination ここまで */
}
/* :::::::::::::::::::: news ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: single :::::::::::::::::::: */
main.single {
    padding-top: 20rem;
}
.singleSec {}
.singleSec__inner {
    width: 89%;
    padding: 10rem 7%;
    border-radius: 2rem;
    margin: 0 auto;
    background-color: #FFF;
}
.singleSec__headArea {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 10%;
    padding-bottom: 6rem;
    border-bottom: 1px solid #eff1e7;
    color: #4a28ff;
}
.singleSec__textTypeCnts {
    width: 58%;
}
.singleSec__date {
    margin-bottom: 3rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
}
.singleSec__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
}
.singleSec__tag {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
}
.singleSec__mainTitle {
    margin-top: 2rem;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.68;
}
.singleSec__img {
    overflow: hidden;
    width: 32%;
    border-radius: 5px;
}

.singleSec__img img{
    width: 100%;
    height: auto;
}

.singleSec__headBody {}
.single__linkWrap {
    margin-top: 3rem;
}
.single__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    width: 19rem;
    padding: 1.7rem;
    border: 1px solid #4a28ff;
    border-radius: 9999px;
    margin: 0 auto;
    transition: background-color .2s;
}
.single__link:hover {
    background-color: #4a28ff;
}
.single__linkText {
    font-size: 1.6rem;
    color: #4a28ff;
    transition: color .2s;
}
.single__link:hover .single__linkText {
    color: #FFF;
}
.single__arrowHeadImg svg {
    position: absolute;
    top: 1.5rem;
    left: 3rem;
    transform: rotate(180deg) translateY(-50%);
    width: 10px;
    height: 10px;
}
.single__arrowHeadImg svg .cls-1 {
    fill:#4a28ff;
}
.single__link:hover .single__arrowHeadImg svg .cls-1 {
    fill: #FFF;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.single {
        padding-top: 11.4rem;
    }
    .singleSec {}
    .singleSec__inner {
        width: 92%;
        padding: 4.3rem 7%;
    }
    .singleSec__headArea {
        flex-direction: column;
        gap: 2.3rem;
        padding-bottom: 4.2rem;
    }
    .singleSec__textTypeCnts {
        width: 100%;
    }
    .singleSec__date {
        margin-bottom: 3rem;
    }
    .singleSec__tags {}
    .singleSec__tag {}
    .singleSec__mainTitle {
        margin-top: 1.4rem;
        font-size: 2.6rem;
        line-height: 1.69;
    }
    .singleSec__img {
        width: 100%;
    }
    .singleSec__headBody {}
    .single__linkWrap {
        margin-top: 3rem;
    }
    .single__link {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.4rem;
        width: 19rem;
        padding: 1.7rem;
        border: 1px solid #4a28ff;
        border-radius: 9999px;
        margin: 0 auto;
    }
    .single__linkText {
        font-size: 1.6rem;
        color: #4a28ff;
    }
    .single__arrowHeadImg svg {
        position: absolute;
        top: 1.5rem;
        left: 3rem;
        transform: rotate(180deg) translateY(-50%);
        width: 10px;
        height: 10px;
    }
    .single__arrowHeadImg svg .cls-1 {
        fill:#4a28ff;
    }
}
/* :::::::::::::::::::: single ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: contact ページ :::::::::::::::::::: */
main.contact {
    padding-top: 19.3rem;
}
.contactTitleArea {}
.contact__wrapper {
    width: 89%;
    max-width: 130rem;
    margin: 0 auto;
}
.contact__pageTitleArea {}
.contact__pageTitle {
    display: flex;
    flex-direction: column;
    color: #4a28ff;
}
.contact__pageTitle-en {
    font-size: 9rem;
}
.contact__pageTitle-ja {
    padding-top: 1.1rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}

/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.contact {
        padding-top: 12.1rem;
    }
    .contactTitleArea {}
    .contact__wrapper {
        width: 78%;
    }
    .contact__pageTitleArea {}
    .contact__pageTitle {}
    .contact__pageTitle-en {
        font-size: 6.5rem;
    }
    .contact__pageTitle-ja {
        padding-top: 1.3rem;
    }
}

/* ::::: formSec ::::: */
section.formSec {
    padding: 7.1rem 0 18.5rem;
}
.formSec__inner {
    width: 89%;
    max-width: 130rem;
    padding: 11.4rem 7% 11.5rem;
    border-radius: 20px;
    margin: 0 auto;
    background-color: #FFF;
}
section.formSec h2 {
    text-align: left;
    font-size: 2rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.formSec h2 + p {
    margin-top: 1.2rem;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.formSec h2 + p span.color_red {
    margin-right: 0.5rem;
    color: #ff1111;
}
/* form */
section.formSec form {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 6.6rem;
}
section.formSec form table {
    width: 100%;
}
section.formSec form table tr {
    display: flex;
    padding-top: 4rem;
}
section.formSec form table tr:first-child {
    padding-top: 0;
}
section.formSec form table tr:first-child td div.radioList {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
section.formSec form table tr:first-child td div.radioList label {
    width: fit-content;
}
section.formSec form table tr th {
    width: 28%;
    padding: 1rem 2rem 1rem 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
    color: #111111;
}
section.formSec form table tr:nth-of-type(1) th {
    width: 28%;
    padding: 0.1rem 2rem 1rem 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
    color: #111111;
}
section.formSec form table tr th span.color_red {
    margin-right: 2rem;
    color: #ff1111;
}
section.formSec form table tr td {
    width: 72%;
}
section.formSec form table tr td p.warn {
    padding-top: 1rem;
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 2;
    color: #8c8c8c;
}
section.formSec form table tr td.td--double-inputs {
    display: flex;
    justify-content: space-between;
}
section.formSec form table tr td.td--double-inputs input {
    width: calc((100% - 2rem) / 2);
}
section.formSec form table tr td input,
section.formSec form table tr td textarea {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #111111;
    background-color: #f5f6f0;
}
section.formSec form table tr td input::placeholder,
section.formSec form table tr td textarea::placeholder {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
    color: #8c8c8c;
}
section.formSec form table tr td input {
    padding: 1rem 2rem;
    border-radius: 5px;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.formSec form table tr td textarea {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: 20rem;
    padding: 1rem 2rem;
    border-radius: 5px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2;
    color: #111;
}
section.formSec form table tr td input[type="radio"] {
    display: none;
}
section.formSec form table tr td input[type="radio"] + label {
    cursor: pointer;
    position: relative;
    display: block;
    padding-left: 3.2rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
section.formSec form table tr td input[type="radio"] + label::before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #dddddd;
}
section.formSec form table tr td input[type="radio"] + label::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 9px;
    left: 6px;
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #4a28ff;
    opacity: 0;
    transition: opacity 0.2s;
}
section.formSec form table tr td input[type="radio"]:checked + label::after {
    opacity: 1;
}
/*  form responsive (1050)  */
@media screen and (max-width: 1050px) {
    section.formSec {
        padding: 6rem 0 10rem;
    }
    .formSec__inner {
        width: 92%;
        padding: 4.4rem 6% 8.6rem;
    }
    section.formSec h2 {}
    section.formSec form {
        padding-top: 4.4rem;
    }
    section.formSec form table {}
    section.formSec form table tr {
        display: block;
        padding-top: 4rem;
    }
    section.formSec form table tr:last-child {}
    section.formSec form table tr th {
        width: 100%;
        padding: 0 0 1.2rem 0;
        font-size: 1.5rem;
    }
    section.formSec form table tr:nth-of-type(1) th {
        width: 100%;
        padding: 0.1rem 0 1.1rem;
    }
    section.formSec form table tr th span.color_red {}
    section.formSec form table tr td {
        width: 100%;
        font-size: 1.5rem;
    }
    section.formSec form table tr td.td--double-inputs {
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    section.formSec form table tr td.td--double-inputs input {
        width: 100%;
    }
    section.formSec form table tr td input,
    section.formSec form table tr td textarea {
        font-size: 1.5rem;
    }
    section.formSec form table tr td textarea {
        min-height: 15rem;
    }
    section.formSec form table tr td input[type="radio"] {}
    section.formSec form table tr td input[type="radio"] + label {
        padding-right: 0;
        padding-left: 3rem;
        font-size: 1.5rem;
    }
    section.formSec form table tr td input[type="radio"] + label::before {
        top: 2px;
    }
    section.formSec form table tr td input[type="radio"] + label::after {
        top: 8px;
    }
    section.formSec form table tr td input[type="radio"]:checked + label::after {}
}

/* div.agreeButton */
div.agreeButton {
    display: inline-block;
    padding-top: 6.7rem;
    margin: 0 auto;
}
div.agreeButton input[type="radio"] {
    display: none;
}
div.agreeButton input[type="radio"] + label {
    cursor: pointer;
    position: relative;
    display: inline-block;
    padding-right: 4rem;
    padding-left: 3rem;
    font-size: 1.6rem;
}
div.agreeButton input[type="checkbox"] {
    display: none;
}
div.agreeButton input[type="checkbox"] + label {
    cursor: pointer;
    position: relative;
    display: inline-block;
    padding-left: 3rem;
    font-size: 1.6rem;
    line-height: 2;
    color: #111;
}
div.agreeButton input[type="checkbox"] + label a {
    text-decoration: underline;
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    div.agreeButton input[type="checkbox"] + label a:hover {
        opacity: 0.5;
    }
}
div.agreeButton input[type="checkbox"] + label::before {
    content: '';
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0;
    width: 1.6rem;
    height: 1.6rem;
    border: 2px solid #111;
}
div.agreeButton input[type="checkbox"] + label::after {
    content: '';
    display: block;
    position: absolute;
    top: -0.2rem;
    left: 0.8rem;
    transform: rotate(45deg);
    width: 0.5rem;
    height: 2rem;
    border-right: 4px solid #111;
    border-bottom: 4px solid #111;
    opacity: 0;
    transition: opacity 0.2s;
}
div.agreeButton input[type="checkbox"]:checked + label::after {
    opacity: 1;
}
.formSec__agreeText {
    margin-top: 8.7rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.text-link {
    text-decoration: underline;
    color: #4a28ff;
    opacity: 1;
    transition: opacity .3s;
}
.text-link:hover {
    opacity: .7;
}
/* ----- div.agreeButton responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    div.agreeButton {
        padding-top: 2.6rem;
    }
    div.agreeButton input[type="radio"] {}
    div.agreeButton input[type="radio"] + label {}
    div.agreeButton input[type="checkbox"] {}
    div.agreeButton input[type="checkbox"] + label {}
    div.agreeButton input[type="checkbox"] + label a {}
    @media (hover: hover) {
        div.agreeButton input[type="checkbox"] + label a:hover {}
    }
    div.agreeButton input[type="checkbox"] + label::before {}
    div.agreeButton input[type="checkbox"] + label::after {}
    div.agreeButton input[type="checkbox"]:checked + label::after {}
    .formSec__agreeText {
        margin-top: 2.6rem;
        text-align: left;
    }
    .text-link {}
    .text-link:hover {}
}
/* div.agreeButton ここまで */

/* submitButton */
.contact__buttons,
.confirm__buttons {
    display: flex;
    justify-content: center;
    gap: 3rem;
    width: 100%;
    margin-top: 8rem;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .contact__buttons {
        margin-top: 4rem;
    }
    .confirm__buttons {
        flex-wrap: wrap;
        gap: 2rem;
        margin-top: 6.3rem;
    }
}
.submitButton {
    cursor: pointer;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40rem;
    max-width: 100%;
    padding: 3rem 2rem 3.2rem;
    border: 1px solid #dddddd;
    border-radius: 9999px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    color: #8c8c8c;
    background-color: #fff;
    opacity: 1;
    transition: opacity .4s, background-color .3s, border .3s;
}
main.confirm .submitButton {
    width: calc((100% - 4rem) / 2);
    border: 1px solid #4a28ff;
    color: #4a28ff;
    background-color: #fff;
    opacity: 1;
    transition: opacity .4s, color .3s, background-color .3s, border .3s;
}
.submitButton:hover,
main.confirm .submitButton:hover {
    border: 1px solid #4a28ff;
    color: #FFF;
    background-color: #4a28ff;
}
/* agreeButtonにチェックがないとき、送信不可 */
.submitButton.disabled {
    border: 1px solid #dddddd;
    color: #8c8c8c;
    background-color: #FFF;
    opacity: 0.6;
}

/* returnButton */
main.confirm button.returnButton {
    cursor: pointer;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 4rem) / 2);
    max-width: 100%;
    padding: 3rem 2rem 3.2rem;
    border: 1px solid #dddddd;
    border-radius: 9999px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    color: #8c8c8c;
    background-color: #fff;
    opacity: 1;
    transition: opacity .4s, color .3s, background-color .3s, border .3s;
}
button.returnButton:hover,
main.confirm button.returnButton:hover {
    color: #FFF;
    background-color: #8c8c8c;
}

/* ----- submitButton responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .submitButton {
        width: 100%;
        padding: 1.9rem 2rem 2.2rem;
    }
    main.confirm .submitButton {
        width: 100%;
    }
    .submitButton:hover {}
    .submitButton.disabled {}
    main.confirm button.returnButton {
        width: 100%;
        padding: 1.9rem 2rem 2.2rem;
    }
    button.returnButton:hover {}
}
/* ----- submitButton responsive (1050)　ここまで ----- */

/* ::::: confirm ::::: */
/* confirmFormSec */
.confirmFormSec {
    padding: 6.8rem 0 18.9rem;
}
.confirmFormSec__inner {
    width: 89%;
    max-width: 130rem;
    padding: 11.4rem 7% 11.5rem;
    border-radius: 20px;
    margin: 0 auto;
    background-color: #FFF;
}
section.formSec.confirmSec {
    padding: 0 0 13rem;
}
section.confirmFormSec h2 {
    text-align: left;
    font-size: 2rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.confirmFormSec h2 + p {
    margin-top: 1rem;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.confirmFormSec h2 + p span.color_red {
    margin-right: 0.5rem;
    color: #ff1111;
}
section.confirmFormSec form {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4.9rem;
}
section.confirmFormSec form table {
    width: 100%;
}
section.confirmFormSec form table tr {
    display: flex;
    padding: 1.6rem 0 1.3rem;
    border-bottom: 1px solid #4a28ff;
}
section.confirmFormSec form table tr:first-child {
    border-top: 1px solid #4a28ff;
}
section.confirmFormSec form table tr:first-child td div.radioList {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
section.confirmFormSec form table tr:first-child td div.radioList label {
    width: fit-content;
}
section.confirmFormSec form table tr th {
    width: 38%;
    /* padding: 1rem 2rem 1rem 0; */
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2;
    color: #111111;
}
section.confirmFormSec form table tr td {
    width: 62%;
    /* padding: 1rem 0; */
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.confirmFormSec form table tr td.radioList {
    display: flex;
    width: fit-content;
    /* padding: 1rem 0; */
}
section.confirmFormSec form table tr td.radioList input {
    display: inline-flex;
    width: fit-content;
}

section.confirmFormSec form table tr td input,
section.confirmFormSec form table tr td textarea {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #111111;
    background-color: #FFF;
}
section.confirmFormSec form table tr td input {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
    color: #111111;
}
section.confirmFormSec form table tr td textarea {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: 20rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2;
    color: #111;
}
section.confirmFormSec form table tr td input[type="radio"] {
    display: none;
}
section.confirmFormSec form table tr td input[type="radio"] + label {
    cursor: pointer;
    position: relative;
    display: block;
    padding-left: 3.2rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
section.confirmFormSec form table tr td input[type="radio"] + label::before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #dddddd;
}
section.confirmFormSec form table tr td input[type="radio"] + label::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 9px;
    left: 6px;
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #4a28ff;
    opacity: 0;
    transition: opacity 0.2s;
}
section.confirmFormSec form table tr td input[type="radio"]:checked + label::after {
    opacity: 1;
}

/* error */
.errorTexts {
    margin-top: 4rem;
    font-size: 1.6rem;
    line-height: 2;
}
.confirm__error-paddingBottom {
    padding-top: 12.5rem;
}

/* ----- confirm responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.confirm div.texts {
        padding-top: 7rem;
        text-align: center;
    }
    main.confirm div.texts p {
        font-size: 1.6rem;
        line-height: 2;
        color: #111;
    }
    /* confirmFormSec */
    .confirmFormSec {
        padding: 6rem 0 10rem;
    }
    .confirmFormSec__inner {
        width: 92%;
        padding: 4.4rem 6% 9rem;
    }
    section.formSec.confirmSec {
        padding: 0 0 13rem;
    }
    section.confirmFormSec h2 {
        text-align: left;
        font-size: 2rem;
        font-weight: 300;
        line-height: 2;
        color: #111111;
    }
    section.confirmFormSec h2 + p {
        margin-top: 1rem;
        text-align: left;
        font-size: 1.5rem;
        font-weight: 300;
        line-height: 2;
        color: #111111;
    }
    section.confirmFormSec h2 + p span.color_red {
        margin-right: 0.5rem;
        color: #ff1111;
    }
    section.confirmFormSec form {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 3.6rem;
    }
    section.confirmFormSec form table {
        width: 100%;
    }
    section.confirmFormSec form table tr {
        display: flex;
        padding: 1.6rem 0 1.3rem;
        border-bottom: 1px solid #4a28ff;
    }
    section.confirmFormSec form table tr:first-child {
        border-top: 1px solid #4a28ff;
    }
    section.confirmFormSec form table tr:first-child td div.radioList {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    section.confirmFormSec form table tr:first-child td div.radioList label {
        width: fit-content;
    }
    section.confirmFormSec form table tr th {
        /* width: 38%; */
        width: 8rem;
        padding-right: 2rem;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 2;
        color: #111111;
    }
    section.confirmFormSec form table tr td {
        width: 62%;
        font-size: 1.5rem;
        font-weight: 300;
        line-height: 2;
        color: #111111;
    }
    section.confirmFormSec form table tr td.radioList {
        display: flex;
        width: fit-content;
    }
    section.confirmFormSec form table tr td.radioList input {
        display: inline-flex;
        width: 7rem;
    }
    section.confirmFormSec form table tr td input,
    section.confirmFormSec form table tr td textarea {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 2;
        color: #111111;
        background-color: #FFF;
    }
    section.confirmFormSec form table tr td input {
        font-size: 1.5rem;
        font-weight: 300;
        line-height: 2;
        color: #111111;
    }
    section.confirmFormSec form table tr td textarea {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        min-height: 20rem;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 2;
        color: #111;
    }
    section.confirmFormSec form table tr td input[type="radio"] {
        display: none;
    }
    section.confirmFormSec form table tr td input[type="radio"] + label {
        cursor: pointer;
        position: relative;
        display: block;
        padding-left: 3.2rem;
        font-size: 1.5rem;
        font-weight: 300;
        line-height: 2;
    }
    section.confirmFormSec form table tr td input[type="radio"] + label::before {
        content: '';
        box-sizing: border-box;
        position: absolute;
        top: 3px;
        left: 0;
        display: block;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        border: 1px solid #dddddd;
    }
    section.confirmFormSec form table tr td input[type="radio"] + label::after {
        content: '';
        box-sizing: border-box;
        position: absolute;
        top: 9px;
        left: 6px;
        display: block;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #4a28ff;
        opacity: 0;
        transition: opacity 0.2s;
    }
    section.confirmFormSec form table tr td input[type="radio"]:checked + label::after {
        opacity: 1;
    }
    /* error */
    .confirm__error-paddingBottom {
        padding-top: 9rem;
    }

}

/* :::::::::::::::::::: completed ページ :::::::::::::::::::: */
.cmpltdSec {
    padding: 6.8rem 0 18.9rem;
}
.cmpltdSec__inner {
    width: 89%;
    max-width: 130rem;
    padding: 11.4rem 7% 11.5rem;
    border-radius: 20px;
    margin: 0 auto;
    background-color: #FFF;
}
.cmpltdSec__title {
    font-size: 2.6rem;
    font-weight: 300;
    line-height: 1.53;
}
.cmpltdSec__text {
    padding-top: 5.1rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.cmpltdSec__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 19rem;
    height: 5rem;
    padding-top: 0.1rem;
    padding-left: 2.5rem;
    border: 1px solid #4a28ff;
    border-radius: 9999px;
    margin-top: 6.5rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    color: #4a28ff;
    transition: color .2s, background-color .2s, border .2s;
}
.cmpltdSec__link:hover {
    color: #FFF;
    background-color: #4a28ff;
}
.cmpltdSec__linkText {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
}
.cmpltdSec__arrowHeadImg {}
.cmpltdSec__arrowHeadImg svg {
    width: 10px;
    height: 10px;
}
.cmpltdSec__arrowHeadImg svg .cls-1 {
    fill: #4a28ff;
    transition: fill .2s;
}
.cmpltdSec__link:hover .cmpltdSec__arrowHeadImg svg .cls-1 {
    fill: #fff;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    .cmpltdSec {
        padding: 6rem 0 10rem;
    }
    .cmpltdSec__inner {
        width: 92%;
        padding: 4.4rem 6% 9rem;
    }
    .cmpltdSec__title {
        font-size: 2rem;
        line-height: 2;
    }
    .cmpltdSec__text {
        padding-top: 3rem;
    }
    .cmpltdSec__link {
        margin-top: 3.6rem;
    }
    .cmpltdSec__link::before {}
}
/* :::::::::::::::::::: completed ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: privacy ページ :::::::::::::::::::: */
main.privacy {
    padding: 20rem 0 20.2rem;
}
.privacy__wrapper {
    width: 89%;
    max-width: 1500px;
    padding: 9rem 7% 10.5rem;
    border-radius: 2rem;
    margin: 0 auto;
    background-color: #FFF;
}
.privacy__pageTitleArea {
    padding-bottom: 4.5rem;
    border-bottom: 1px solid #eff1e7;
    margin-bottom: 7rem;
}
.privacy__pageTitle {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.68;
    color: #4a28ff;
}
.privacy__introText {
    padding-bottom: 7.2rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.privacy-unit {}
.privacy-unit + .privacy-unit {
    padding-top: 7.1rem;
}
.privacy-unit__title {
    position: relative;
    padding-left: 2.6rem;
    margin-bottom: 2.6rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
}
.privacy-unit__title::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 8px;
    height: 30px;
    border-radius: 1px;
    background-color: #4a28ff;
}
.privacy-unit__text{
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}

.privacy-unit__text{
    transition: .3s;
}

.privacy-unit__text a:hover{
    opacity: .7;
}

.privacy-unit__text + .privacy-unit__c-list-wrap {
    padding: 2.4rem 0 1rem;
}
.privacy-unit__orderList-wrap {}
.privacy-unit__orderList {}
.privacy-unit__orderItem {
    counter-increment: item;
    position: relative;
    padding-left: 3rem;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.privacy-unit__orderItem + .privacy-unit__orderItem {
    margin-top: 2.4rem;
}
.privacy-unit__orderItem::before {
    content: '('counter(item)')';
    position: absolute;
    top: 0;
    left: 0;
    display: inline;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2;
}
.layout-flex {
    display: flex;
}
.text-align_right {
    text-align: right;
}
.privacy-unit__13textBox {
    padding-top: 2rem;
}
.privacy-unit__13textBox > .privacy-unit__text + .privacy-unit__text {
    padding-top: 2rem;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.privacy {
        padding: 10.6rem 0 11rem;
    }
    .privacy__wrapper {
        width: 92%;
        padding: 6rem 7% 6rem;
    }
    .privacy__pageTitleArea {
        padding-bottom: 2.5rem;
        margin-bottom: 3.3rem;
    }
    .privacy__pageTitle {
        font-size: 2.8rem;
        line-height: 1.42;
    }
    .privacy__introText {
        padding-bottom: 5.4rem;
    }
    .privacy-unit {}
    .privacy-unit + .privacy-unit {
        padding-top: 4.2rem;
    }
    .privacy-unit__title {
        padding-left: 2rem;
        margin-bottom: 0.8rem;
        font-size: 2rem;
    }
    .privacy-unit__title::before {
        top: 9px;
        height: 20px;
    }
    .privacy-unit__text {}
    .privacy-unit__text + .privacy-unit__c-list-wrap {}
    .privacy-unit__orderList-wrap {}
    .privacy-unit__orderList {}
    .privacy-unit__orderItem {
        padding-left: 3rem;
    }
    .privacy-unit__orderItem + .privacy-unit__orderItem {
        margin-top: 1.5rem;
    }
    .privacy-unit__orderItem::before {}
    .layout-flex {
        display: flex;
    }
    .text-align_right {
        text-align: right;
    }
    .privacy-unit__13textBox {
        padding-top: 2rem;
    }
    .privacy-unit__13textBox > .privacy-unit__text + .privacy-unit__text {
        padding-top: 2rem;
    }
}
/* :::::::::::::::::::: privacy ページ ここまで :::::::::::::::::::: */
/* :::::::::::::::::::: security ページ :::::::::::::::::::: */
main.security {
    padding: 20rem 0 20.2rem;
}
.security__wrapper {
    width: 89%;
    max-width: 1500px;
    padding: 9rem 7% 11.6rem;
    border-radius: 2rem;
    margin: 0 auto;
    background-color: #FFF;
}
.security__pageTitleArea {
    padding-bottom: 4.6rem;
    border-bottom: 1px solid #eff1e7;
    margin-bottom: 6.8rem;
}
.security__pageTitle {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.68;
    color: #4a28ff;
}
.security__introText {
    padding-bottom: 3rem;
    font-size: 1.5rem;
    line-height: 2;
}
.security__orderList {
    list-style-type: none;
    padding-bottom: 4.5rem;
}
.security__orderItem {
    counter-increment: item;
    position: relative;
    padding-left: 3rem;
    font-size: 1.5rem;
    line-height: 2;
}
.security__orderItem + .security__orderItem {
    margin-top: 2.2rem;
}
.security__orderItem::before {
    content: counter(item)'.';
    position: absolute;
    top: 0;
    left: 0;
    display: inline;
    font-size: 1.5rem;
    line-height: 2;
}
.security__text {
    font-size: 1.5rem;
    line-height: 2;
}
/* ----- responsive (1050) ----- */
@media screen and (max-width: 1050px) {
    main.security {
        padding: 10.6rem 0 11rem;
    }
    .security__wrapper {
        width: 92%;
        padding: 6rem 7% 6rem;
    }
    .security__pageTitleArea {
        padding-bottom: 2.5rem;
        margin-bottom: 3.3rem;
    }
    .security__pageTitle {
        font-size: 2.8rem;
        line-height: 1.42;
    }
    .security__introText {
        padding-bottom: 1.7rem;
    }
    .security__orderList {
        padding-bottom: 2.3rem;
    }
    .security__orderItem {
        padding-left: 3rem;
    }
    .security__orderItem + .security__orderItem {
        margin-top: 1.1rem;
    }
    .security__orderItem::before {}
    .security__text {}
}
/* :::::::::::::::::::: security ページ ここまで :::::::::::::::::::: */

/* :::::::::::::::::::: 404 :::::::::::::::::::: */
/* :::::::::::::::::::: 404 ページ :::::::::::::::::::: */
/* :::::::::::::::::::: 404 ページ :::::::::::::::::::: */
.not-found__text-wrap {
    display: flex;
    justify-content: center;
    padding-top: 10rem;
}

.not-found__link-wrap {
    display: flex;
    justify-content: center;
    padding: 10rem 0 13rem;
}

.not-found__text {
    font-size: 1.8rem;
    font-weight: 500;
}


/* ------------------- 404 responsive (1000) ------------------- */
@media screen and (max-width: 1000px) {
    .not-found__text {
        font-size: 1.5rem;
    }
}

/* ------------------- 404 responsive (750) ------------------- */
@media screen and (max-width: 750px) {
    .not-found__text-wrap {
        padding-top: 4rem;
    }

    .not-found__link-wrap {
        padding: 5rem 0 8rem;
    }
}

