/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
/* *,
*::before,
*::after {
    outline: 1px solid red;
} */

:root{
    /* 色 */
    --text_color: #4c423f;
    --text_color02: #635b58;
    --main_ppl: #4658c1;
    --main_blue: #0084ef;
    --main_org: #ff9d00;
    --bg_main_ppl: #f3f5fb;
    --bg_main_blue: #eff7fe;
    --accent_red: #e50012;
    --accent_ylw: #ffffb0;
    /* グラデーション */
    --gradient_headerBtn: linear-gradient(to right, var(--main_ppl) 0%, var(--main_blue) 100%);
    --gradient_main: linear-gradient(to right, #4658ff 0%, #46d7c4 100%);
    --gradient_h2: linear-gradient(to right, var(--main_ppl) 0%, #1ed3dc 58%, var(--main_blue) 100%);
    /* フォント */
    --ff_notoSans: "Noto Sans JP", serif;
    --ff_oswald: "Oswald", sans-serif;
    --ff_zenMaruGo: "Zen Maru Gothic", serif;
}

*{
    color: var(--text_color02);
    font-family: var(--ff_notoSans);
}
*:not(span){
    font-size: 16px;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: .02em;
}

.ff_oswald{
    font-family: var(--ff_oswald);
    font-weight: 300;
}
.fc_blue{color: var(--main_blue);}
.fc_red{color: var(--accent_red);}
.fc_ppl{color: var(--main_ppl);}
.underline_ylw{background:linear-gradient(transparent 75%, var(--accent_ylw) 75%);}

html{overflow-x: hidden;}
body{
    position: relative;
    z-index: 0;
    overflow-x: hidden;
}

img{display: block;width: 100%;max-width: 100%;height: auto;}

a{transition: .3s;}
a:hover{opacity: 0.8;}
a[href*=tel]{pointer-events: none;}
span{color: currentColor;}

.inner{
    width: 100%;
    max-width: 1920px;
    padding: 0 50px;
    margin: 0 auto;
}
.flex{
    display: flex;
    justify-content: space-between;
}

.ma1650{max-width: 1650px;}

.pc_cont{display: block !important;}
.sp_cont{display: none !important;}

/* ============================================== */
/*            スクロールアニメーション            */
/* ============================================== */
.scrollin {
    visibility: hidden;
    opacity: 0;
    transition: 1.2s;
  }
  .scrollin.bottom {transform: translateY(30px);}
  .scrollin.left {transform: translateX(-30px);}
  .scrollin.right {transform: translateX(30px);}
  .scrollin.active,
  .scrollin.bottom.active,
  .scrollin.left.active,
  .scrollin.right.active {
    visibility: visible;
    opacity: 1;
    transform: translate(0,0);
  }

 /* ============================================= */
/*                    共通パーツ                   */
/* ============================================== */
/* ボタン
================================================ */
.btn{position: relative;z-index: 0;}
.btn a{
    position: relative;
    z-index: 0;
    display: block;
    padding: .7em 4em .8em 1.8em ;
    border-radius: 28px;
    color: var(--main_ppl);
    overflow: hidden;
}
.btn a::after{
    position: absolute;
    z-index: 0;
    inset: -100% 4% -100% auto;
    margin: auto;
    content: '';
}

/* ヘッダーボタン */
.btn.btn_header a{
    font-size: 18px;
    background: var(--gradient_headerBtn);
    color: #fff;
}
.btn.btn_header a::after{
    width: 33px;
    height: 33px;
    background: url(../img/ico/btn_header.svg) no-repeat center / contain;
}

/* 無料あしらい */
.btn.free::before{
    position: absolute;
    z-index: 1;
    inset: -30px -10px auto auto;
    content: '';
    width: 140px;
    height: 69px;
    background: url(../img/parts/btn_free.svg) no-repeat center / contain;
    pointer-events: none;
}

/* btn_a(コンタクト等) */
.btn.btn_a a{
    display: block;
    font-size: 37px;
    font-weight: 700;
    line-height: 1.3;
    background: var(--gradient_main);
    letter-spacing: 0;
    padding: .4em 3.2em .9em 1.5em;
    color: #fff;
}
.btn.btn_a a span{font-size: 18px;line-height: 1;}

/* btn_contact(相談する) */
.btn.btn_contact a{
    background: var(--accent_ylw);
    font-size: 27px;
    font-weight: 700;
    border-radius: 42px;
    padding: .7em 6em 0.8em 1.8em;
}
.btn.btn_contact a::after{
    width: 50px;
    height: 50px;
    background: url(../img/ico/btn_soudan.svg) no-repeat center / contain;
}

.btn:not(.btn_a):not(.btn_header):not(.btn_contact){max-width: 340px;}

/* ボタンオフ */
.btn a[href*="#"]{
    pointer-events: none;
    background: #ddd !important;
    border-color: #ddd !important;
    color: var(--text_color);
}
.btn a[href*="#"]::after{display: none;}
.m_cat.cs{
    background: #ddd !important;
    color: var(--text_color) !important;
}

/* 角丸背景
================================================ */
.bg_round{border-radius: 52px;overflow: clip;}

/* ============================================== */
/*                    ヘッダー                    */
/* ============================================== */
header{
    position: fixed;
    z-index: 8;
    inset: 50px -100% auto;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: calc(100% - 100px);
    max-width: 1920px;
    padding: 28px 30px 28px 35px;
    background: #fff;
    border-radius: 55px;
    transition: .6s;
}
header > div:nth-of-type(1){
    display: flex;
    align-items: center;
}
header > div:nth-of-type(1) p:nth-of-type(1){max-width: 145px;}
header > div:nth-of-type(1) p:nth-of-type(2){
    color: var(--text_color02);
    letter-spacing: .025em;
    margin: 0 0 0 1.5em;
    font-weight: 400;
    line-height: 1.3;
}

/* scrolled */
header.is_scrolled{
    box-shadow: 0 0 8px rgba(0, 0, 0, .2);
}

/* ============================================== */
/*              ハンバーガーメニュー              */
/* ============================================== */
.ham span{font-size: 0;}


/* ナビげ―ション */
.ham + nav{
    position: static;
    margin-left: auto;
}
.ham + nav ul.pc_cont{
    display: flex !important;
    column-gap: 40px;
    align-items: center;
}
.ham + nav ul.sp_cont{display: none !important;}
.ham + nav ul li a{
    font-size: 21px;
    line-height: 1.3;
    letter-spacing: .025em;
}

/* ============================================== */
/*                 キービジュアル                 */
/* ============================================== */
.kv{
    position: relative;
    z-index: 0;
    background: url(../img/bg_kv.png) no-repeat bottom / cover;
    border-radius: 0 0 50px 50px;
    padding: 150px 0 max(150px, 14vw);
}
.kv > .flex{align-items: center;}
.kv section{
    margin: 60px 0 0;
    width: 40%;
}
.kv section h1{
    color: var(--text_color);
    font-size: 82px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 50px;
}
.kv section h1 > span:nth-of-type(1){
    display: inline-block;
    margin: 0 0 1em;
    font-size: 30px;
}
.kv section h1 > span > span {
    display: inline-block;
    font-size: 38px;
    color: #fff;
    border-radius: 5px;
    padding: .05em .2em .1em;
    margin-right: .2em;
}
.kv section h1 > span .bg_ppl{background: var(--main_ppl);}
.kv section h1 > span .bg_blue{background: var(--main_blue);margin-left: .1em;}
.kv section h1 > span.dots{
    background: radial-gradient(circle at center, var(--main_ppl) 15%, transparent 15%) repeat-x top right .1em / 1em .4em;
    padding-top: .1em;
}

/* サブコピー */
.kv section p:nth-of-type(1){
    font-size: 32px;
    line-height: 1.56;
    margin: 0 0 20px;
}
.kv section p:nth-of-type(1) span{font-weight: 900;}

/* サブコピー下テキスト */
.kv section p:nth-of-type(2){
    font-size: 18px;
    font-weight: 400;
}

/* KV画像 */
.kv figure{width: 60%;}

/* KV - CTAボタン */
.kv > .btn{
    position: absolute;
    z-index: 0;
    inset: auto 50px 100px auto;
}

.kv > .btn a::after{
    position: absolute;
    z-index: 1;
    inset: -100% 15% -100% auto;
    margin: auto;
    width: 50px;
    height: 45px;
    background: url(../img/ico/contact_txt.svg) no-repeat center / contain;
}

/* KV下 Welcomeあしらい */
.kv::before{
    position: absolute;
    z-index: 1;
    inset: auto -100% -130px;
    margin: auto;
    content: '';
    width: 520px;
    height: 389px;
    background: url(../img/welcome.png) no-repeat center / contain;
}

/* アニメーション */
.kv section .scrollin:nth-child(2){transition-delay: .3s;}
.kv section .scrollin:nth-child(3){transition-delay: .6s;}

/* ============================================== */
/*セクション共通 */
/* ============================================== */
main > section:not(.bg_round){padding: 150px 0 0;}

/* 見出し */
main > section h2{
    position: relative;
    z-index: 0;
    font-size: 63px;
    font-weight: 700;
    color: var(--main_ppl);
    line-height: 1.3;
    letter-spacing: .01em;
    text-align: center;
    padding: 0 0 0.6em;
    margin: 0 auto .8em;
}
main > section h2::before{
    position: absolute;
    z-index: 0;
    inset: auto -100% 0;
    margin: auto;
    content: '';
    width: 120px;
    height: 6px;
    background: var(--gradient_h2);
    border-radius: 3px;
}

/* カードリスト */
.list_card{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}
.list_card li{
    display: grid;
    grid-template-rows: subgrid;
    align-items: center;
    grid-row: span 3;
}

/* アニメーション */
@media screen and (min-width:900px) {
    .list_card li.scrollin:nth-of-type(2){transition-delay: .2s;}
    .list_card li.scrollin:nth-of-type(3){transition-delay: .4s;}
    .list_card li.scrollin:nth-of-type(4){transition-delay: .6s;}
}

/* カードリスト - card_a */
.list_card.card_a{
    gap: 50px;
    max-width: 1260px;
    margin: 0 auto;
}
.list_card.card_a li{
    position: relative;
    z-index: 0;
    border-radius: 20px;
    background: var(--bg_main_ppl);
}
.list_card.card_a li:not(:last-of-type)::before{
    position: absolute;
    z-index: 1;
    inset: -100% -37px -100% auto;
    margin: auto;
    content: '';
    width: 22px;
    height: 32px;
    background: url(../img/parts/tri_blue.svg) no-repeat center / contain;
}

/* カードリスト - card_c */
.list_card.card_c{
    max-width: 1260px;
    margin: 0 auto;
}
.list_card.card_c li{
    align-items: initial;
    grid-row: span 4;
}
.list_card.card_c li section{
    display: inherit;
    grid-template-rows: inherit;
    grid-row: inherit;
}
.list_card.card_c li figure{
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    border-radius: 10px;
    overflow: hidden;
}

/* ============================================== */
/* 競合サイトのアクセス乗降、知りたくないですか？ */
/* ============================================== */
.sec01{
    position: relative;
    z-index: 0;
    text-align: center;
    padding: 150px 0 220px !important;
}
.sec01 .flex{
    align-items: center;
    column-gap: 15px;
}
.sec01 .flex ul{width: 38%;}
.sec01 .flex figure{width: 24%;margin-bottom: 10%;}

.sec01 h3{
    position: relative;
    z-index: 0;
    font-family: var(--ff_zenMaruGo);
    font-size: 37px;
    font-weight: 900;
    color: var(--main_ppl);
    letter-spacing: -.05em;
    text-align: center;
    margin: 0 auto 30px;
    padding: 0 0 .05em;
}
.sec01 h3 span{letter-spacing: -0.5em;}
.sec01 h3::before{
    position: absolute;
    z-index: 0;
    inset: auto -100% 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 10px;
    background: url(../img/parts/underline_wavy.svg) no-repeat center / contain;
}

.sec01 .flex + div{
    position: absolute;
    z-index: 0;
    inset: auto -100% 10%;
    margin: auto;
}
.sec01 h3 + p{
    position: relative;
    z-index: 0;
    display: inline;
    text-align: center;
    color: var(--accent_red);
    font-size: 24px;
    line-height: 1.6;
}
.sec01 h3 + p::before{
    position: absolute;
    z-index: 0;
    inset: auto -100% -130px calc(-100% - 100px);
    margin: auto;
    content: '';
    width: 25px;
    height: 85px;
    background: url(../img/parts/tri_redx3.svg) no-repeat center / contain;
}
@media screen and (min-width:768px) {
    .sec01 .flex ul:nth-of-type(2){transition-delay: .3s;}
}

/* アニメーション */


/* ============================================== */
/*SEKIの競合サイト分析 */
/* ============================================== */
.sec02{padding: 120px 0 0 !important;}
.sec02 .bg_round{
    padding: 120px 50px 100px;
    background: url(../img/bg_bunseki.png) no-repeat center / cover;
}
.sec02 .bg_round .flex{
    max-width: 1150px;
    margin: 0 auto 70px;
    justify-content: center;
    align-items: center;
    column-gap: 4%;
}
.sec02 .bg_round .flex figure{width: 40%;}
.sec02 .bg_round .flex p{
    width: 60%;
    height: fit-content;
    font-size: 29px;
    line-height: 1.9;
    font-weight: 400;
}
.sec02 .bg_round .flex p span{
    font-weight: 700;
    background: linear-gradient(transparent 10%, var(--accent_ylw) 10%);
}

.sec02 .bg_round .btn{
    max-width: 470px;
    margin: 0 auto;
}
.sec02 .bg_round .btn::before{inset: -30px auto auto -30px;}
.sec02 .bg_round .btn a{padding: 0.5em 3em 0.7em 1.5em}
.sec02 .bg_round .btn a span{
    margin-right: 0.3em;
    vertical-align: middle;
}
.sec02 .bg_round .btn a::after{
    right: 13%;
    width: 36px;
    height: 24px;
    background: url(../img/ico/btn_contact.svg) no-repeat center / contain;
}

/* ============================================== */
/* 競合分析サービスで、ここまで見える!! */
/* ============================================== */
.sec03 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0 3%;
    max-width: 1000px;
    margin: 0 auto;
}
.sec03 ul li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(100% / 3);
    max-width: 300px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 2px solid;
    text-align: center;
}
.sec03 ul li h3{
    width: 75%;
    font-size: 30px;
    line-height: 1.23;
    font-weight: 700;
    padding: 0 0 0.4em;
    margin: 0 0 .7em;
    border-bottom: 2px dashed currentColor;
}
.sec03 ul li p{color: var(--text_color);}

/* 奇数 */
.sec03 ul li:nth-of-type(odd){border-color: var(--main_blue);}
.sec03 ul li:nth-of-type(odd) h3{color: var(--main_blue);}
/* 偶数 */
.sec03 ul li:nth-of-type(even){border-color: var(--main_ppl);}
.sec03 ul li:nth-of-type(even) h3{color: var(--main_ppl);}

/* ============================================== */
/*分析は簡単!!4ステップで完了 */
/* ============================================== */
.sec04 h2{margin-bottom: 65px;}
.sec04 .list_card li{
    text-align: center;
    padding: 40px 20px 45px;
}
.sec04 .list_card li p:nth-of-type(1){
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: .15em;
    font-family: var(--ff_oswald);
    color: var(--main_blue);
    font-size: 55px;
    letter-spacing: 0;
}
.sec04 .list_card li p:nth-of-type(1) span{
    font-family: var(--ff_oswald);
    font-size: 24px;
}
.sec04 .list_card li p:nth-of-type(2){
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
}
.sec04 .list_card li figure{
    max-width: 135px;
    margin: 0 auto;
}

/* ============================================== */
/*私たちのご支援の特徴 */
/* ============================================== */
.sec05{padding: 240px 0 0 !important;}
.sec05 .bg_round{
    background: var(--gradient_main);
    padding: 30px 30px 80px;
}

/* 白背景 */
.sec05 .bg_round .bg_round__inner{
    border-radius: 35px;
    background: #fff;
    padding: 90px 30px 120px;
}
.sec05 .bg_round .bg_round__inner h2{
    color: var(--main_blue);
    font-family: var(--ff_zenMaruGo);
    font-size: 48px;
    font-weight: 900;
}
.sec05 .bg_round .bg_round__inner h2::before{display: none;}

/* リスト */
.list_card.card_b{
    gap: 0;
    margin: 0 auto;
    max-width: 1260px;
}
.list_card.card_b li h3{
    width: 100%;
    font-size: 27px;
    font-weight: 700;
    color: var(--accent_ylw);
    background: var(--main_blue);
    text-align: center;
    padding: 0.4em 0.7em;
    border-radius: 10px;
    margin: 0 auto 30px;
}
.list_card.card_b li p:nth-of-type(1){
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 20px;
}
.list_card.card_b li p:nth-of-type(1) span{color: var(--main_blue);}
.list_card.card_b li p:nth-of-type(2){
    color: var(--text_color);
    margin: 0 0 45px;
}

/* ボタン */
.list_card.card_b li .btn a,
.list_card.card_c li .btn a{position: relative;border: 1px solid currentColor;background: #fff;}
.list_card.card_b li .btn a::before,
.list_card.card_c li .btn a::before{
    position: absolute;
    z-index: 0;
    inset: -100% 4% -100% auto;
    margin: auto;
    content: '';
    width: 16px;
    height: 16px;
    background: url(../img/ico/btn_arrow_w.svg) no-repeat center / contain;
    right: 10%;
    opacity: 0;
    transition: 0.3s;
}
.list_card.card_b li .btn a::after,
.list_card.card_c li .btn a::after{
    width: 16px;
    height: 16px;
    background: url(../img/ico/btn_arrow.svg) no-repeat center / contain;
    right: 10%;
    transition: 0.3s;
}
/* hover */
.list_card.card_b li .btn a:hover,
.list_card.card_c li .btn a:hover{
    opacity: 1;
    color: #fff;
    background: var(--main_ppl);
}
.list_card.card_b li .btn a:hover::before,
.list_card.card_c li .btn a:hover::before{opacity: 1;}
.list_card.card_b li .btn a:hover::after,
.list_card.card_c li .btn a:hover::after{opacity: 0;}


/* リスト - 余白、枠線調整 */
.list_card.card_b li{
    --padding-rl: 5%;
    align-items: initial;
    grid-row: span 4;
}
.list_card.card_b li section{
    display: inherit;
    grid-template-rows: inherit;
    grid-row: inherit;
}
.list_card.card_b li:nth-of-type(1){padding-right: var(--padding-rl);}
.list_card.card_b li:nth-of-type(2){padding: 0 var(--padding-rl);border-left: 1px solid var(--main_blue);border-right: 1px solid var(--main_blue);}
.list_card.card_b li:nth-of-type(3){padding-left: var(--padding-rl);}

/* コンタクト */
.sec05 .bg_round > .flex{
    /* justify-content: flex-end; */
    /* column-gap: min(240px,10vw); */
    column-gap: 4vw;
    max-width: 1600px;
    width: 95%;
    margin: 70px 2% 0 auto;
}
.sec05 .bg_round > .flex > div{
    display: flex;
    align-items: center;
    column-gap: 50px;
}
.sec05 .bg_round > .flex > div .ff_oswald{
    font-size: 72px;
    line-height: 1;
    font-weight: 200;
}
.sec05 .bg_round > .flex > div p:nth-of-type(2){
    font-size: 22px;
    line-height: 1.7;
}
.sec05 .bg_round > .flex > div *{color: #fff;}

/* ============================================== */
/*実績紹介 */
/* ============================================== */
.sec06{margin: 40px auto 0;padding: 0 !important;}
.sec06 .bg_round{
    background: var(--bg_main_blue);
    padding: 110px 30px 130px;
}
.sec06 .list_card{
    margin: 0 auto 70px;
    gap: 50px 3%;
}
.sec06 .list_card li{
    grid-row: span 5;
    gap: 0;
}
.sec06 .list_card li figure{margin: 0 auto 20px;}
.sec06 .list_card li h3{
    font-size: 23px;
    line-height: 1.4;
    font-weight: 700;
    margin: 0 0 20px;
}
.sec06 .list_card li .w_company{
    font-size: 19px;
    line-height: 1.52;
    color: var(--main_ppl);
    padding: 0 0 0.2em;
    margin: 0 0 0.6em;
    border-bottom: 1px solid currentColor;
}
.sec06 .list_card li .w_info{
    color: var(--text_color);
    margin: 0 0 25px;
}
.sec06 .bg_round > .btn{
    max-width: 480px;
    margin: 0 auto;
}
.sec06 .bg_round > .btn a{
    font-size: 27px;
    border-radius: 42px;
    padding: 0.7em 3.2em 0.9em 1.5em;
}
.sec06 .bg_round > .btn a::after{
    width: 20px;
    height: 20px;
    background: url(../img/ico/btn_blank.svg) no-repeat center / contain;
    right: 10%;
}

/* ============================================== */
/*ご相談からご提案までの流れ */
/* ============================================== */
.sec07 h2{margin: 0 auto 85px;}
.sec07 .list_card li{
    position: relative;
    z-index: 0;
    grid-row: span 3;
    padding: 60px 20px 45px;
    gap: 0;
}
.sec07 .list_card li .ff_oswald{
    position: absolute;
    z-index: 0;
    inset: -28px auto auto 10px;
    font-size: 55px;
    line-height: 1;
    color: var(--main_blue);
}
.sec07 .list_card li p:nth-of-type(2){
    color: var(--main_ppl);
    font-weight: 700;
    font-size: 30px;
    line-height: 1.1;
    text-align: center;
    margin: 0 auto 15px;
}
.sec07 .list_card li figure{
    max-width: 210px;
    margin: 0 auto 25px;
}
.sec07 .list_card li p:nth-of-type(3){color: var(--text_color);}

/* SEKIのデジタルマーケティング サービス例 */
.sec07 section{
    max-width: 1260px;
    margin: 70px auto 0;
}
.sec07 section h3{
    text-align: center;
    font-size: 39px;
    line-height: 1.33;
    color: var(--main_blue);
    margin: 0 auto 30px;
}
.sec07 section .bg_round{
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 6%;
    padding: 80px;
    background: var(--main_blue);
    border-radius: 28px;
}
.sec07 section .bg_round *{color: #fff;}
.sec07 section .bg_round p{
    width: 130px;
    font-family: var(--ff_oswald);
    font-size: 52px;
    font-weight: 200;
}
.sec07 section .bg_round ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em 0;
    width: calc(100% - 130px - 6%);
}
.sec07 section .bg_round ul li{
    position: relative;
    z-index: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    width: calc((100% / 3) -  0px);
    padding: 0 0 0 .5em;
}
.sec07 section .bg_round ul li::before{
    position: absolute;
    z-index: 0;
    inset: .6em auto auto 0;
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
}

/* ============================================== */
/*お役立ち資料のダウンロード */
/* ============================================== */
.sec08 h2{margin: 0 auto 70px;}
.sec08 .list_card li .m_cat{
    display: inline-block;
    width: fit-content;
    padding: .2em 1.3em .3em;
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.1em;
    margin: 0 0 5px;
}
.sec08 .list_card li figure{margin: 0 auto 20px;}
.sec08 .list_card li .m_cat.material{background:var(--main_ppl) ;}
.sec08 .list_card li .m_cat.intro{background: var(--main_blue);}
.sec08 .list_card li .m_cat.solution{background: var(--main_org);}
.sec08 .list_card li p{
    font-size: 22px;
    color: var(--text_color);
    margin: 0 0 10px;
}
.sec08 .list_card.card_c li .btn a::before{
    width: 23px;
    height: 19px;
    background: url(../img/ico/btn_dl_w.svg) no-repeat center / contain;
    right: 7%;
    opacity: 0;
    transition: .3s;
}
.sec08 .list_card.card_c li .btn a::after{
    width: 23px;
    height: 19px;
    background: url(../img/ico/btn_dl.svg) no-repeat center / contain;
    right: 7%;
    transition: .3s;
}
.sec08 .list_card.card_c li .btn a:hover::before{opacity: 1;}
.sec08 .list_card.card_c li .btn a:hover::after{opacity: 0;}

/* ============================================== */
/*CONTACT */
/* ============================================== */
.sec_cta .bg_round{
    border-radius: 45px;
    background: var(--gradient_main);
    text-align: center;
    padding: 85px 30px 115px;
}
.sec_cta .bg_round h2{
    color: #fff;
    font-family: var(--ff_oswald);
    font-size: 72px;
    font-weight: 200;
    padding: 0;
    margin: 0 auto 30px;
}
.sec_cta .bg_round h2::before{display: none;}
.sec_cta .bg_round p:not(.btn){
    font-size: 28px;
    color: #fff;
    line-height: 1.8;
    margin: 0 auto 60px;
}
.sec_cta .bg_round .btn{
    max-width: 480px;
    margin: 0 auto;
}

/* ============================================== */
/*                    フッター                    */
/* ============================================== */
footer{
    position: relative;
    z-index: 0;
    padding: 80px 50px 90px;
}
footer .wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1020px;
    margin: 0 auto 0;
}
/* SEKIロゴ */
footer .wrapper > p{
    width: 200px;
}

/* オフィス情報 */
footer .wrapper > .offices{
    display: flex;
    max-width: calc(100% - 200px);
    width: 73%;
    justify-content: space-between;
    column-gap: 5%;
}
footer .wrapper > .offices *:not(.fc_blue){font-weight: 300;}

footer .wrapper > .offices > div:nth-of-type(1){max-width: 231px;}
footer .wrapper > .offices > div:nth-of-type(2){max-width: 190px;}
footer .wrapper > .offices > div:nth-of-type(3){max-width: 220px;word-break: auto-phrase;}

/* ナビゲーション */
footer .wrapper .footer_links{
    display: flex;
    justify-content: center;
    column-gap: 7%;
    width: 100%;
    margin: 100px auto 0;
}
footer .wrapper .footer_links li {margin: 0 0 0.3em;}
footer .wrapper .footer_links li a{
    color: var(--main_blue);
    font-weight: 300;
}




/* コピーライト */
footer .wrapper + div{
    position: absolute;
    z-index: 0;
    inset: auto 45px 30px auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
footer .wrapper + div figure{max-width: 64px;}
footer .wrapper + div p{
    font-size: 12px;
    font-weight: 400;
    margin: 15px 0 0;
}