@charset "utf-8";
/*!
 * Bootstrap Reboot v5.0.2 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:normal;line-height:1.8;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:normal;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bold}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*! */

@media (prefers-reduced-motion:no-preference){:root{scroll-behavior: auto;}}

/* @font-face{
    font-family: 'cera';
    src: url('font/cera-130-webfont.woff') format('woff'),
         url('font/cera-130-webfont.woff2') format('woff2');
} */
@font-face{
    font-family: 'M PLUS 2';
    src: url('font/MPLUS2-Regular.woff') format('woff'),
         url('font/MPLUS2-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face{
    font-family: 'M PLUS 2';
    src: url('font/MPLUS2-SemiBold.woff') format('woff'),
         url('font/MPLUS2-SemiBold.woff2') format('woff2');
    font-weight: 600;
}
@font-face{
    font-family: 'M PLUS 2';
    src: url('font/MPLUS2-Bold.woff') format('woff'),
         url('font/MPLUS2-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: bold;
}

body{
    font-family: 'M PLUS 2', sans-serif;
    background: #F2F2F2;
    color:#1A1A1A;
}

#footer_desc h1 {
    padding: 0;
    margin:0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.gs_reveal {
    will-change: clip-path;
    transition: clip-path .3s cubic-bezier(.04,.7,.66,.88);
}
.gs_reveal.noactive{
    clip-path: inset(0 100% 0 0);
}
.gs_reveal.active{
    clip-path: inset(0 0 0 0);
}
.gs_reveal_delay {
    transition-delay: .2s;
}
.gs_reveal_longdelay {
    transition-delay: .4s;
}
.gs_reveal_fast {
    transition: clip-path 0.3s cubic-bezier(.04,.7,.66,.88);
}
.gs_reveal_slow {
    transition: clip-path 0.3s cubic-bezier(.04,.7,.66,.88);
}

.nolink {
    pointer-events: none!important;
}

.go_link{
    display: block;
    position: relative;
    top: -160px;
    visibility: hidden;
}

.txt_c{
    text-align: center;
}

.txt_forte{
    color: #BA121A;
}
.txt_ins {
    color: #B7A52C;
}
.txt_border {
    color: #BA121A;
    border-radius: 100px;
    border: solid 4px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    height: 64px;
}

.line{
    position: relative;
    height: 10px;
}

.line:before {
    background: #B7A52C;
    /*background: transparent linear-gradient(90deg, #0E91B8 0%, #11CDDD 100%) 0% 0% no-repeat padding-box;*/
    height: 10px;
    width: 60px;
    display: inline-block;
    content: "";
    /* margin: auto; */
    top: -10px;
    position: relative;
}
.ttl {
    font-family: 'noka', sans-serif;
    /*letter-spacing: 2.5px; */
    color: #BA121A;
    text-align: center;
    font-size: 50px;
    line-height: 1.2;
}
.ttl_tag_w {
    text-align: center;
}
.ttl_tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 20px;
    border-radius: 24px;
    position: relative;
    font-size: 15px;
    font-weight: 600;
    background:#B7A52C;
    color:#fff;
    font-family: 'noka', sans-serif;
    margin-bottom: 40px;
}

.ttl h3{
    padding: 0;
    margin:0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.ttl_desc {
    text-align: center;
    color: #1A1A1A;
    font-size: 20px;
    margin: 30px 0;
    font-weight: 600;
}
.ttl_catch {
    text-align: center;
    font-size: 28px;
    line-height: 1.8;
    color: #1A1A1A;
    font-weight: 600;
}

#ads_insight_main .ttl_desc_box{
    text-align: left;
    max-width: 600px;
}
.ttl_desc_box {
    max-width: 100%;
    width: 550px;
    margin: auto;
    background: #F2F2F2;
    color: #1A1A1A;
    font-size: 16px;
    line-height: 2;
    padding: 30px;
    margin-top: 40px;
    margin-bottom: 60px;
    font-weight: 600;
    /* text-align: center; */
}

#head {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    padding: 0 120px;
}

#head_cw {
    background: #fff;
    box-shadow: 0px 0px 50px #1A1A1A29;
    margin: auto;
    height: 100px;
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

#head_nav .head_btn a img{
    /* width:20px; */
}

#head_nav .head_btn a {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 30px;
    border: solid 1px;
    border-color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    /* background: #BA121A; */
    /* background: transparent linear-gradient(90deg, #0E91B8 0%, #11CDDD 100%); */
    padding: 0 20px;
    overflow: hidden;
    z-index: 1;
}

#head_nav li.head_btn a::before,#head_nav li.head_btn a::after{
    display:block;
    content:"";
    position: absolute;
    top: 0;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: auto;
    width: auto;
}

#head_nav li.head_btn a::before{
    z-index: -1;
    transform: skewX(20deg) scale(0, 1);
    transition: transform .3s cubic-bezier(.04,.7,.66,.88);
    background: #B7A52C;
    will-change: transform;
}

#head_nav li.head_btn a::after{
    z-index: -2;
    background: #BA121A;
}

#head_nav li.head_btn a:hover::before {
  transform: skewX(20deg) scale(1, 1);
}

.head_btn a img {
    margin-right: 10px;
    width: 20px;
}


#head_nav ul {
    display: flex;
    align-items: center;
}

#head_nav a {
    color: #1A1A1A;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    display: inline-block;
    position: relative;
}

#head_nav a h2{
    padding: 0;
    margin:0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

#head_nav li a::before{
    content: "";
    height: 3px;
    width: 100%;
    position: absolute;
    bottom: -8px;
    background: #BA121A;
    transform:scale(0);
    transition: all .3s cubic-bezier(.04,.7,.66,.88) 0s;
    transform-origin: left;
}

#head_nav li.active a::before ,#head_nav li a:hover::before{
    transform:scale(1);
}

.head_btn a:before{
    display:none;
}

#head_nav ul li:last-child {
    margin: 0;
}

#head_nav ul li {
    display: inline-block;
    margin-right: 20px;
}

#head_nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
#head_logo img {
    height: 60px;
    width: auto;
}

#bg_w .bg_catch_w {
    visibility: hidden;
}

.bg_w {
    padding: 60px 60px 0;
    margin: auto;
}

#mbg_w .bg_w{
    padding:60px;
    height: 100%;
}

#mbg_w {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    /* display: none; */
}

#mbg_w .bg_w{
    /* background: #F2F2F2; */
}

.bg {
    /* color: #fff; */
    padding: 0 120px;
    padding-top: 100px;
    /* padding: 0 60px; */
    /* background: #F2F2F2; */
}

#mbg_w .bg{
    background: #FFF;
    height: 100%;
}

.bg_catch1 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #BA121A;
    height: 40px;
    padding: 0 20px;
    border: solid 2px #BA121A;
    border-radius: 24px;
    position: relative;
    font-size: 14px;
    font-weight: 600;
}

.bg_catch2 {
    position: relative;
    font-size: 36px;
    margin-top: 40px;
    margin-bottom: 30px;
    padding-top: 0.5em;
    font-weight: 600;
}


.bg_big {
    font-size: 60px;
}

.bg_maru {
    position: relative;
}

.bg_maru::before {
    content: "・";
    display: block;
    position: absolute;
    top: -0.9em;
    left: 0;
    right: 0;
}

.bg_catch3 {
    position: relative;
    font-size: 24px;
    padding-bottom: 30px;
    font-weight: 600;
    line-height: 1.8;
}

.bg_catch_img {
    margin-top: calc( -10px - 30px - 24px - 10px  );
    text-align: center;
}

.bg_catch_img img {
    max-width: 100%;
    width: 550px;
    height: 350px;
}

.bg_catch_w {
    max-width: 1200px;
    margin: auto;
    color: #1A1A1A;
}

#future {
    max-width: 1200px;
    margin: auto;
    background: #fff;
    /*padding: 60px 0;*/
}

.future_desc_ttl1 {
    background: #BA121A;
}

.future_desc_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    height: 40px;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
}

.future_desc_ttl2 {
    background: #0E91B8;
}

.future_desc_catch {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    padding: 30px 0;
}

.future_desc_catch span {
    font-size: 40px;
    padding: 0 0.5em;
}

#future_desc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 8%;
    margin-top: 40px;
}

.future_desc_c {
    width: 47%;
}

.future_desc_main {
    font-size: 14px;
}

.future_desc_img {
    /*margin-top: 40px;*/
}

.future_desc_c .aid_c_tags>span {
    border-radius: 30px;
    display: inline-block;
    font-size: 14px;
    padding: 4px 10px;
    margin-bottom: 7px;
    margin-right: 6px;
    color: #BA121A;
    border: 1px solid #BA121A;
}

.future_desc_img img {
    max-width: 100%;
    height: auto;
}

#solution {
    padding: 60px 0;
    background: #fff;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 60px;
    margin-bottom: 60px;
    width: calc( 100% - 180px );
}


.ttl_desc.ttl_desc1 {
    font-size: 24px;
    line-height: 2;
}
#solution_main .ttl_desc.ttl_desc1 {
    font-size: 18px;
    font-weight: normal;
}

#solution_desc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1560px;
    margin: auto;
    padding: 0 180px;
}

.solution_desc_c {
    width: 47%;
    /* max-width: 1200px; */
    /* margin: 0 auto; */
}

.solution_desc_num {
    font-size: 80px;
    text-align: center;
    font-weight: 600;
    line-height: 1.2;
    color: #083D66;
    font-family: 'noka', sans-serif;
}

.solution_desc_ttl {
    margin: 30px 0;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.solution_desc_catch1 {
    font-size: 16px;
    line-height: 2;
    font-weight: 600;
    margin: 30px 0;
}

.solution_desc_catch2 {
    font-size: 14px;
    line-height: 2;
}

.solution_desc_img img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

.solution_desc_link {
    margin-top: 40px;
    text-align: right;
}

.solution_desc_link a {
    font-size: 14px;
    height: 60px;
    display: inline-flex;
    border-radius: 30px;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    padding: 0 30px;
    font-family: 'noka', sans-serif;
}

.solution_desc_link.solution_desc_link1 a {
    background: transparent;
    color: #fff;
    position: relative;
    z-index: 1;
    overflow: hidden;
    /* transform-origin: left; */
}

.solution_desc_link.solution_desc_link1 a::before,
.solution_desc_link.solution_desc_link1 a::after{
    display:block;
    content:"";
    position: absolute;
    top: 0;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: auto;
    width: auto;
}
.solution_desc_link.solution_desc_link1 a::after{
    background: #BA121A;
    z-index: -2;
}
.solution_desc_link.solution_desc_link1 a::before{
    z-index: -1;
    transform: skewX(20deg) scale(0, 1);
    transition: transform .3s cubic-bezier(.04,.7,.66,.88);
    background: #5C90B8;
    will-change: transform;
    transform-origin: left;
}

.solution_desc_link.solution_desc_link1 a:hover::before {
  transform: skewX(20deg) scale(1, 1);
}



.solution_desc_link.solution_desc_link2 a {
    border: 3px solid #CCCCCC;
    color: #CCCCCC;
}

.icon_svg {
    padding-left: 0.5em;
    width: 1.5em;
    height: auto;
}

#data {
    padding: 60px 0;
    padding-top: 100px;
    background: #fff;
    max-width: 1200px;
    margin-top: 100px;
    margin-right: auto;
    margin-left: auto;
    width: calc( 100% - 180px );
}

#data_main .ttl_desc {
    letter-spacing: 1.2px;
    font-size: 24px;
    line-height: 2;
}

#data_desc {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 0 8%;
}

.data_desc_ttl {
    font-family: 'noka', sans-serif;
    text-align: center;
    color: #083D66;
    font-size: 40px;
}

.data_desc2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
}

.data_desc2_c {
    width: 47%;
}

.data_desc_catch1 {
    letter-spacing: 0.65px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    margin: 30px 0 40px;
}

.data_desc_if_ttl {
    letter-spacing: 0.65px;
    font-size: 14px;
    margin-bottom: 26px;
    font-weight: 600;
}

.data_desc_if ul {
    font-size: 12px;
    line-height: 2;
    list-style: none;
    padding: 0;
}

.data_desc_if ul li:before{
    content:"＊";
    padding-right: 0.3em;
}

.data_desc_if ul li{
    padding-left: 1.3em;
    text-indent: -1.3em;
}

.data_desc1 {
    padding-bottom: 60px;
}

.data_desc_catch2 {
    background: #BA121A;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 40px 10%;
    border-radius: 10px;
}

.data_desc_if {
    padding-top: 30px;
}

.data_desc_catch2_img {
    /* max-width: 200px; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.data_desc_catch2>div {
    width: 44%;
}

.data_desc_catch2_img img {
    width: 75%;
    height: auto;
}

.data_desc_calc {
    color: #fff;
    background: #BA121A;
    font-size: 14px;
}
.data_desc_calc .data_desc_calc_c:last-child {
    margin: 0;
}

.data_desc_calc_c {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.data_desc_add {
    padding-left: 15px;
}

.data_desc_big {
    font-weight: 600;
    font-size: 30px;
    color: #11CDDD;
}

.data_desc_calc_ttl {
    display: flex;
    align-items: flex-end;
}

.data_desc_calc_txt {
    display: flex;
    align-items: flex-end;
    line-height: 1;
}

.data_desc_calc.data_desc_calc2 {
    border-radius: 10px;
    padding: 40px 60px;
}

#video_w {
    position: absolute;
    left: 5%;
    top: 2%;
    right: 5%;
    bottom: 0.5%;
    overflow: hidden;
    z-index: 0;
    border-radius: 26px 26px 8% 8%;
}

#video {
    width: 100%;
    height: 100%;
}

#system {
    padding-top: 100px;
    padding-bottom: 100px;
}

#system_cw {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    width: calc( 100% - 180px );
}

#system_main {
    background: #fff;
    width: 54%;
    padding: 60px 8%;
}

#system_desc {
    width:46%;
}

#system_main .ttl {
    text-align: left;
}

#system_main .ttl_desc {
    font-size: 24px;
    line-height: 2;
    text-align: left;
}

#system_main_img img {
    max-width: 100%;
    height: auto;
}

#system_main_img {
    margin: 40px 0;
}

#system_desc_img img {
    max-width: 100%;
    height: auto;
    width: 100%;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    top: 0;
    z-index: 2;
    pointer-events: none;
}

#system_desc_img {
    width: 62%;
    margin: auto;
    position: relative;
}

#system_desc_img .nk_sizer{
    display: block;
    padding-top: 198.507%;
}

.system_main_txt {
    font-weight: 600;
    font-size: 14px;
    line-height: 2;
}

#system_main_link a {
    width: 100%;
    display: inline-flex;
}

#system_main_link {
    display: flex;
    justify-content: space-between;
}

.system_link a{
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

#system_main_link img {
    width: 20px;
    height: auto;
    margin-right: 5px;
}


#system_main_link a::before,#system_main_link a::after{
    display:block;
    content:"";
    position: absolute;
    top: 0;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: auto;
    width: auto;
    transform-origin: left;
}

#system_main_link a::before{
    z-index: -1;
    transform: skewX(20deg) scale(0, 1);
    transition: transform .3s cubic-bezier(.04,.7,.66,.88);
    background: #BA121A;
    will-change: transform;
}

#system_main_link a::after{
    z-index: -2;
    background: #B7A52C;
}

#system_main_link a:hover::before {
  transform: skewX(20deg) scale(1, 1);
}


#system_main_link {
    text-align: right;
    margin-top: 60px;
}

#system_desc_link a {
    /* background: transparent; */
    /* position: relative; */
    /* overflow: hidden; */
}

#system_desc_link a::before,
#system_desc_link a::after{
    display:block;
    content:"";
    position: absolute;
    top: 0;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: auto;
    width: auto;
}
#system_desc_link a::after{
    background: #CCCCCC;
    z-index: -2;
}
#system_desc_link a::before{
    z-index: -1;
    transform: skewX(20deg) scale(0, 1);
    transition: transform .3s cubic-bezier(.04,.7,.66,.88);
    background: #5C90B8;
    will-change: transform;
    transform-origin: left;
}

#system_desc_link a:hover::before {
  transform: skewX(20deg) scale(1, 1);
}



#system_desc_link {
    width: 62%;
    margin: 40px auto 0;
}



#case_w {
    background: #fff;
}
#case{
    /* max-width: 1200px; */
    margin: auto;
    padding: 0 8%;
    padding-top: 60px;
    padding-bottom: 60px;
}

#case_main .ttl_desc {
    font-size: 20px;
    margin-bottom: 40px;
}

#case_desc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: auto;
}
.case_c {
    width: 47%;
}
.case_cm img {
    width: 100%;
    height: auto;
}
.case_cm_img_main {
    position: relative;
}

.case_cd_box {
    margin: auto;
    background: #F2F2F2;
    color: #1A1A1A;
    font-size: 16px;
    line-height: 2;
    padding: 20px;
    /* margin-top: 40px; */
    margin-bottom: 24px;
    font-weight: 600;
}

.case_cd_catch {
    font-weight: 600;
    margin: 30px 0;
    font-size: 16px;
}
.case_cd_desc {
    font-size: 14px;
}

#case_cm_main_tag {
    width: 25%;
    position: absolute;
    top: 0;
    left: 0;
}

.case_cm_img_logo img {
    max-width: 140px;
    margin: 20px 0;
}
.case_cm_desc {
    font-size: 14px;
    color: #808080;
    margin-top: 8px;
}

#ads_insight_w {
    /* background: #fff;*/
    border-radius: 7vw 7vw 0 0;
    background: linear-gradient(292deg,white,#e4e5f7,#ffffff,#f1d9ed);
    background-size: 240% 240%;
    animation: gradient-animation 22s ease infinite;
}
@keyframes gradient-animation {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }
#ads_insight{
    /*max-width: 1200px;*/
    margin: auto;
    padding: 0 8%;
    padding-top: 60px;
    padding-bottom: 60px;
}

#ads_insight_main .ttl_desc {
    font-size: 20px;
}

#ads_insight_desc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: auto;
}

.aid_c {
    width: 47%;
    padding-bottom: 40px
}
.aid_c_img img {
    width: 100%;
    height: auto;
}

.aid_c_catch {
    font-size: 18px;
    margin: 20px 0;
    font-weight: 600;
}

.web_c_catch {
    font-size: 15px;
    margin-bottom: 20px;
    font-weight: 600;
    line-height: 1.5;
}

.aid_c_sec_ttl {
    font-family: 'noka', sans-serif;
    font-size: 36px;
    margin-top: 20px;
    font-weight: 600;
    color: #808080;
}

.aid_c_desc {
    font-size: 14px;
    font-weight: 400;
}

.web_c_desc {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 24px;
}

.aid_c_tags {
    margin: 20px 0;
    font-size: 0;
}

.aid_c_tags>span {
    border-radius: 30px;
    display: inline-block;
    font-size: 14px;
    padding: 0px 10px;
    margin-bottom: 7px;
    margin-right: 6px;
}


.aid_c_plan {border-top: dashed 2px #808080;/* padding-top: 15px; *//* padding-bottom: 20px; */}

.aid_cp_ttl {
    padding-top: 15px;
    padding-bottom: 20px;
    color: #808080;
    font-size: 14px;
    font-weight: 600;
}

.aid_cp_table {
    font-size: 14px;
}

.aid_cp_table_c {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 7px;
}

.aid_cp_table_c_ttl {
    font-weight: 600;
    color: #BA121A;
}

.aid_cp_table_c_desc>span {
    text-decoration: line-through;
}

.aid_c_plan_banner {
    padding: 20px;
    text-align: center;
    border-radius: 10px;
    margin: 20px 0 15px;
    font-size: 13px;
    font-weight: 600;
}
.aid_c_ads  .aid_c_plan_banner {
    background: #F2F2F2;
}
.aid_c_plan_banner_img {
    padding: 15px 0 0 0;
    margin-bottom: 28px;
}
.aid_c_plan_banner_img img{
    width:100%;
}
.aid_c_ads .aid_c_tags>span{
    color: #BA121A;
    border: 1px solid #BA121A;
}
.aid_c_insight  .aid_c_plan_banner {
    background: #BA121A;
}
.aid_c_insight .aid_c_tags>span{
    color: #BA121A;
    border: 1px solid #BA121A;
}

.aid_c_plan_banner_p {
    font-size: 14px;
    text-align: left;
    font-weight: 400;
    margin-top: 24px;
}

.aid_c_plan_desc {
    font-size: 14px;
    color: #808080;
}

#flow {
    padding: 0 8%;
    padding-top: 60px;
    padding-bottom: 60px;
    background: #fff;
}

#flow_main .ttl_desc {
    font-size: 24px;
}

#flow_desc {
    display: flex;
    flex-wrap: wrap;
    /*justify-content: center;*/
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 40px;
}

.flow_desc_c {
    width: calc( 33.33333% - 60px );
    margin-bottom: 24px;
}

.flow_desc_y {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ddd;
    font-size: 32px;
}

#flow_desc:after {
    display: block;
    content: "";
    width: 60px;
    height: 60px;
}

#flow_desc .flow_desc_c:first-child {
    margin-bottom: 30px;
}
#flow_desc .flow_desc_c:last-child .flow_desc_c_ttl {
   background:#1A1A1A;
}

.flow_desc_c_ttl {
    background: #1A1A1A;
    color: #fff;
    height: 60px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 16px;
    position: relative;
    padding: 0 10px;
}

.flow_desc_c_txt {
    font-size: 14px;
    line-height: 2;
}

.flow_desc_c_ttl_num {
    /* position: absolute; */
    /* left: calc( 30px - 20px ); */
    padding: 5px;
    background: #fff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1A1A1A;
    font-weight: 600;
}

.flow_desc_c_ttl>span:last-child {
    flex: 1;
    padding-left: 15px;
}

#faq {
    padding-top: 100px;
    padding-bottom: 100px;
    background: #BA121A;
}

#faq_cw{
    padding-top: 60px;
    padding-bottom: 60px;
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    width: calc( 100% - 120px );
}

#faq_main .ttl_desc {
    font-size: 24px;
}

#faq_desc {
    padding: 0 8%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
}

.faq_desc_c_i {
    font-family: 'noka', sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #BA121A;
    width: 40px;
    align-items: center;
}

.faq_desc_c_a .faq_desc_c_i {
    color: #B7A52C;
}

.faq_desc_c {
    border-top: solid 1px #707070;
    padding: 20px 0;
    width: 47%;
}

#faq_desc .faq_desc_c:nth-last-child(-n+2) {
    border-bottom: solid 1px #707070;
}

.faq_desc_c_q {
    display: flex;
    /* margin-bottom: 20px; */
    position: relative;
    cursor: pointer;
    align-items: center;
}

.faq_desc_c_a {
    display: none;
    margin-top: 20px;
}
.faq_desc_c_a.is_open {
    display: flex;
}

.faq_desc_c_txt {
    flex: 1;
}

.faq_desc_c_q .faq_desc_c_txt{
    color: #BA121A;
    font-size: 16px;
    font-weight: 600;
    padding-right: 35px;
    /* cursor: pointer; */
}

.faq_desc_c_a .faq_desc_c_txt{
    font-size: 14px;
    line-height: 2;
    /* display: none; */
}

.plus-minus-toggle {
  top: 10px;
  height: 21px;
  position: relative;
  width: 21px;
}
.plus-minus-toggle:before,
.plus-minus-toggle:after {
  background: #BA121A;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  width: 21px;
  transition: transform .3s cubic-bezier(.04,.7,.66,.88);
}
.plus-minus-toggle:after {
  transform-origin: center;
}
.plus-minus-toggle:after {
  transform: rotate(90deg);
}
.plus-minus-toggle:before {
  transform: rotate(180deg);
}
.faq_desc_c[open] .plus-minus-toggle:after {
  transform: rotate(0deg);
}
.faq_desc_c[open] .plus-minus-toggle:before {
  transform: rotate(0deg);
}


.faq_desc_toggle {
    position: absolute;
    right: 1px;
    top: calc( 0.5em + 3px );
    width: 21px;
    height: 21px;
    cursor: pointer;
}

#footer_w {
    background: #BA121A;
}

#footer_cw {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    width: calc( 100% - 120px );
}

#footer_img img {
    max-width: 100%;
    width: 374px;
    height: auto;
}

#footer_desc {
    font-size: 24px;
    font-weight: 600;
    line-height: 2;
    color: #fff;
    letter-spacing: 1.2px;
    margin: 30px 0;
}

#footer_links {
    list-style: none;
    padding: 0;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.65px;
    line-height: 1.538461538461538;
    padding-bottom: 60px;
    padding-top: 30px;
    margin: 0;
}

#footer_links li {
    margin-bottom: 13px;
}

#footer_links li:before {
    content: "-";
    padding-right: 0.5em;
}

#footer_img_g {
    position: absolute;
    bottom: 0;
    right: 0;
}

#footer_img_g img {
    max-width: 100%;
    width: 550px;
    height: auto;
}

#footer_links a {
    color: #fff;
    text-decoration: none;
    position: relative;
}

#footer_links a::after{
    content: "";
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: -6px;
    background: #fff;
    transform:scale(0);
    transition: all .3s cubic-bezier(.04,.7,.66,.88) 0s;
    transform-origin: left;
    left: 0;
}

#footer_links a:hover::after{
    transform:scale(1);
}


#copy {
    background: #BA121A;
    color: #fff;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 200;
}

#complete_menu{
    background: #fff;
}
#complete_menu_main{
    padding: 60px;
    min-height: 100vh;
}
#complete_menu_main>div{
    background: #F2F2F2;
    padding: 60px;
    min-height: calc( 100vh - 120px );
}
#complete_menu_main>div>div{
    max-width: 720px;
    margin: 0 auto;
}
.complete_menu_ttl span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: solid 3px #BA121A;
    margin-right: 20px;
    width: 60px;
    height: 60px;
}
.complete_menu_ttl {
    margin-bottom: 30px;
    color: #BA121A;
    font-size: 24px;
    font-weight: 600;
    display: flex;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
}
.complete_menu_ttl:hover{
    color: #BA121A;
}
.complete_menu_desc {
    margin: 40px 0;
    color: #1A1A1A;
    font-size: 12px;
    font-weight: 600;
}
.complete_menu_logo img {
    max-width: 100%;
    width: 100%;
    height: auto;
}


#head_menu{
    display: none;
}

#sp_menu ,#sp_menu2{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: #BA121A;
    visibility: hidden;
    opacity:0;
    transition: all .3s cubic-bezier(.04,.7,.66,.88);
    will-change: opacity;
}
#sp_menu2{
    height: 100%;
    overflow-y: auto;
    background: #fff;
}
#sp_menu_main2{
    padding: 60px;
    background: #fff;
    min-height: 100vh;
}
#sp_menu_main2>div {
    background: #F2F2F2;
    padding: 60px;
    min-height: calc( 100vh - 120px );
}
#sp_menu_main2>div>div{
    max-width: 720px;
    margin: 0 auto;
}
.sp_menu_main2_ttl span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: solid 3px #ddd;
    margin-right: 20px;
    width: 60px;
    height: 60px;
}
.sp_menu_main2_ttl {
    margin-bottom: 30px;
    color: #BA121A;
    font-size: 24px;
    font-weight: 600;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.sp_menu_main2_desc {
    margin: 40px 0;
    color: #1A1A1A;
    font-size: 12px;
    font-weight: 600;
}


.sp_menu a {
    color: #fff;
    text-decoration: none;
    position: relative;
    display: inline-block;
}

.sp_menu a h2{
    padding: 0;
    margin:0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.sp_menu a::after{
    content: "";
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: -8px;
    background: #fff;
    transform:scale(0);
    transition: all .3s cubic-bezier(.04,.7,.66,.88) 0s;
    transform-origin: left;
    left: 0;
}

.sp_menu a:hover::after{
    transform:scale(1);
}


.sp_menu.sp_menu1 li {
    font-size: 20px;
    font-weight: 600;
}

.sp_menu.sp_menu2 li {
    font-size: 13px;
}

#sp_menu_copy {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #BA121Aa1;
    font-weight: 100;
    font-size: 13px;
}

.sp_menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sp_menu li {
    margin-bottom: 15px;
}

.sp_menu li:before {
    content: "-";
    padding-right: 0.5em;
    color: #fff;
}

#sp_menu_main {
    padding: 100px 0 100px;
    height: 100%;
}

body[open]{
    height: 100%;
    overflow: hidden;
}


body[open].menu2_open #sp_menu2{
    visibility:visible;
    opacity:1;
}
body[open].menu2_open #head{
    display: none;
}


body[open].menu_open #sp_menu_main .sp_menu{
    transition-delay: 0.3s;
    clip-path: inset(0 0 -10px 0);
}

#sp_menu_main .sp_menu{
    will-change: clip-path;
    transition: clip-path 0.3s cubic-bezier(.04,.7,.66,.88);
    clip-path: inset(0 100% -10px 0);
}

#sp_menu_main .sp_menu.sp_menu2{
    /* transition-delay: .5s; */
}

#sp_menu_main>div {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    overflow-y: auto;
    padding: 10px 0;
}
#sp_menu_main>div>div{
    margin: auto 0;
}

.sp_line {
    background: #fff;
    width: 134px;
    height: 1px;
    margin: 20px 0;
}

.sp_menu li:last-child {
    margin: 0;
}

.menu_sp{
    display:none;
}

.sp_br{
    display: none;
}
#copy_u{
    background: #BA121A;
}

#hubspot-messages-iframe-container.widget-align-right {
    transform: translate(-4px, -4px);
}


.case_link a{
    height: 60px;
    width: 16em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin-left: auto;
}
.case_link a::before,.case_link a::after{
    display:block;
    content:"";
    position: absolute;
    top: 0;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: auto;
    width: auto;
    transform-origin: left;
}

.case_link a::before{
    z-index: -1;
    transform: skewX(20deg) scale(0, 1);
    transition: transform .3s cubic-bezier(.04,.7,.66,.88);
    background: #B7A52C;
    will-change: transform;
}

.case_link a::after{
    z-index: -2;
    background: #BA121A;
}

.case_link a:hover::before {
  transform: skewX(20deg) scale(1, 1);
}


.case_link {
    /* text-align: right; */
    /* margin-top: 60px; */
    /* width: 50%; */
    /* text-align: right; */
    margin-top: 80px;
}

.contact_b{
    background: #1F2237;
    padding-bottom: 60px;
    padding-top: 50px;
    color:#FFFFFF;
}
.contact_b a{
    height: 60px;
    width: 16em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin: auto;
}
.contact_bc_link a::before,.contact_bc_link a::after{
    display:block;
    content:"";
    position: absolute;
    top: 0;
    right: -5%;
    bottom: 0;
    left: -5%;
    height: auto;
    width: auto;
    transform-origin: left;
}

.contact_bc_link a::before{
    z-index: -1;
    transform: skewX(20deg) scale(0, 1);
    transition: transform .3s cubic-bezier(.04,.7,.66,.88);
    background: #B7A52C;
    will-change: transform;
}

.contact_bc_link a::after{
    z-index: -2;
    background: #BA121A;
}

.contact_bc_link a:hover::before {
  transform: skewX(20deg) scale(1, 1);
}


.contact_bc_link {
    /* text-align: right; */
    margin-top: 60px;
    width: 50%;
    /* text-align: center; */
}
.contact_bc {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    width: calc( 100% - 180px );
}
.contact_bcc{
    max-width: 1200px;
    /* margin: 40px auto 0; */
    padding: 0 8%;
    display: flex;
    flex-wrap: wrap;
}
.contact_bc_tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    border: solid 2px #fff;
    border-radius: 24px;
    position: relative;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 24px;
}
.contact_bc_desc {
    font-size: 14px;
    font-weight: 600;
}

.contact_bc_main {
    text-align: center;
    width: 50%;
}
.contact_bc_img {
    width: 280px;
    margin: auto;
    /* text-align: center; */
}

.contact_bc_img img {
    max-width: 100%;
    height: auto;
    margin-bottom: 25px;
}


@media( max-width: 1400px){
    #head_menu{
        display: flex;
        align-items: center;
        justify-content: center;
        width:100px;
        height: 100px;
        background: #fff;
        box-shadow: 0px 0px 50px #1A1A1A29;
    }
    body[open].menu_open #sp_menu{
        visibility:visible;
        opacity:1;
    }
    body[open].menu_open #head_menu{
        background:transparent;
        box-shadow:none;
    }

    body[open].menu_open #head_logo{
        background:transparent;
        box-shadow:none;
    }

    body[open].menu_open #head_nav{
        display:none;
    }
    body[open].menu_open .menu_sp{
        display:block;
    }

    body[open].menu_open .menu_pc{
        display:none;
    }

    body[open].menu_open .menu-trigger span {
        background: #fff;
    }

    body[open].menu_open .menu-trigger span:before{
        background: #fff;
    }

    #head_menu button{
        -webkit-appearance: button;
        background: transparent;
        border: 0;
        height: 100%;
        width: 100%;
    }
    #head_nav ul li.hpc{
        display: none;
    }
    #head_cw{
        background:transparent;
        box-shadow: none;
        padding: 0;
    }
    #head_logo{
        height: 100px;
        width: 272px;
        background: #fff;
        box-shadow: 0px 0px 50px #1A1A1A29;
        display: flex;
        align-items: center;
        justify-content: center;
    }


    #hjirei a {
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 30px;
        font-size: 14px;
        font-weight: 600;
        color: #fff;
        padding: 0 30px;
        position: relative;
        z-index: 1;
        overflow: hidden;
    }

    #head_nav li#hjirei a::before,#head_nav li#hjirei a::after{
        display:block;
        content:"";
        position: absolute;
        top: 0;
        right: -5%;
        bottom: 0;
        left: -5%;
        height: auto;
        width: auto;
    }
    #head_nav li#hjirei a::after{
        background: #BA121A;
        z-index: -2;
    }
    #head_nav li#hjirei a::before{
        z-index: -1;
        transform: skewX(20deg) scale(0, 1);
        transition: transform .3s cubic-bezier(.04,.7,.66,.88);
        background: #F27900;
        will-change: transform;
    }

    #head_nav li#hjirei a:hover::before {
      transform: skewX(20deg) scale(1, 1);
    }



    .menu-trigger,
    .menu-trigger span {
      display: inline-block;
      transition: all .3s cubic-bezier(.04,.7,.66,.88);
      box-sizing: border-box;
    }
    .menu-trigger {
      position: relative;
      width: 30px;
      height: 20px;
      background: none;
      border: none;
      appearance: none;
      cursor: pointer;
    }
    .menu-trigger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #1A1A1A;
      border-radius: 4px;
      transform-origin: center;
      will-change: transform, opacity;
    }
    .menu-trigger span:before{
        content:"";
        position: absolute;
        left: 0;
        top: -1px;
        width: 100%;
        height: 3px;
        background-color: #1A1A1A;
        border-radius: 4px;
        will-change: transform;
        transform: scale(0,1);
        transform-origin: left;
        transition: all .3s cubic-bezier(.04,.7,.66,.88);
    }
    #head_menu button:hover .menu-trigger span:before{
        transform: scale(1,1);
    }
    .menu-trigger span:nth-of-type(1) {
      top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
      top: 10px;
    }
    .menu-trigger span:nth-of-type(3) {
      bottom: 0;
    }

    body[open].menu_open .menu-trigger span:nth-of-type(1) {
      transform: translateY(10px) rotate(-45deg);
    }
    body[open].menu_open .menu-trigger span:nth-of-type(2) {
      opacity: 0;
    }
    body[open].menu_open .menu-trigger span:nth-of-type(3) {
      transform: translateY(-10px) rotate(45deg);
    }



    .future_desc_catch span{
        font-size:24px;
    }

    .future_desc_catch{
        font-size:14px;
    }

    .solution_desc_c{
        width: calc( 50% - 20px );
    }
    .solution_desc_num{
        font-size: 50px;
    }

    .solution_desc_ttl{
        font-size: 14px;
        margin: 15px 0 20px;
    }

    .solution_desc_catch1{
        font-size: 12px;
    }

    .solution_desc_catch2{
        font-size: 12px;
    }

    .solution_desc_link a{
        font-size: 12px;
        height: 40px;
    }
}

@media( max-width:1499.98px ) and ( min-width:1400px){

}

@media( max-width:1399.98px ) and ( min-width:1150px ){

}

@media( max-width:1079.98px ){
    #head{
        padding:0;
        position: relative;
    }
    #head_cw{
        height:0;
    }
    #head_logo{
        position: fixed;
        top:0;
        left:0;
    }
    #head_menu{
        position: fixed;
        top:0;
        right:0;
    }
    #head_nav{
        position: fixed;
        bottom: 30px;
        right: 100px;
        left: 30px;
        will-change: clip-path;
        transition: clip-path 0.3s cubic-bezier(.04,.7,.66,.88);
        clip-path: polygon(0% 0%, -10% 0%, 0% 100%, -10% 100%);
    }

    body.scroll #head_nav{
       clip-path: polygon(-10% 0%, 100% 0%, 110% 100%, 0% 100%);
    }
    #copy_u{
        height:120px;
    }
    /*
    body #hubspot-messages-iframe-container{
        display: none!important;
    }
    */
    .go_link{
        top: -160px;
    }

    .ttl{
        font-size:40px;
    }
    .ttl_desc{
        font-size:16px;
    }

    .ttl_desc.ttl_desc1{
        font-size:16px;
    }
    #solution_main .ttl_desc.ttl_desc1 {
        font-size:16px;
    }

    #data_main .ttl_desc{
        font-size:16px;
    }

    #system_main .ttl_desc{
        font-size:16px;
    }

    #case .ttl_desc{
        font-size:16px;
    }
    #ads_insight .ttl_desc{
        font-size:16px;
    }
    #flow_main .ttl_desc{
        font-size:16px;
    }
    #faq_main .ttl_desc{
        font-size:16px;
    }

    .ttl_desc_box{
        font-size:12px;
        width: calc( 100% - 120px );
    }

    .bg_w{
        padding: 30px 30px 0;
    }

    #mbg_w .bg_w {
        padding: 30px;
    }

    .bg {
        padding: 30px;
        padding-top: 100px;
        padding-bottom: 0;
    }
    .bg_catch_img{
        margin-top: calc( -10px - 30px - 10px );
    }

    .future_desc_catch span{
        font-size:24px;
    }

    .future_desc_catch{
        font-size:14px;
    }

    .future_desc_main{
        font-size: 12px;
    }

    #solution_desc{
        padding-right: 60px;
        padding-left: 60px;
    }



    #data_desc{
        padding-right: 60px;
        padding-left: 60px;
    }

    .data_desc_ttl{
        font-size: 25px;
    }

    .data_desc_catch1{
        font-size: 12px;
        /* font-size: 14px; */
        margin: 15px 0 20px;
    }

    .pc_br{
        display: none;
    }

    .future_desc_c{
        width: 48%;
    }

    .data_desc_catch2{
        padding: 30px;
    }

    .data_desc_calc.data_desc_calc2{
        padding: 30px;
    }

    .data_desc_calc{
        font-size:11px;
    }
    .data_desc_big{
        font-size: 27px;
    }

    .data_desc_if_ttl{
        font-size: 12px;
    }

    #system{
        /* padding-left:60px; */
        /* padding-right:60px; */
    }
    #system_main{
        padding:30px;
        /* width: 54%; */
    }
    #system_main_img{
        margin: 40px 0 20px;
    }
    .system_main_txt {
        font-size: 12px;
    }

    #system_main_link{
        margin-top: 30px;
    }

    #system_desc_img{
        width:90%;
    }

    #system_desc_link{
        width:90%;
    }
    #case{
        padding-left:60px;
        padding-right:60px;
    }

    .case_c {
        width: 48%;
    }
    #ads_insight{
        /* width: calc( 100% - 30px ); */
        padding-left:60px;
        padding-right:60px;
    }
    .aid_c {
        width: 48%;
    }
    #flow{
        padding-left:60px;
        padding-right:60px;
    }

    .flow_desc_c_ttl{
        font-size: 12px;
        margin-bottom: 20px;
    }
    .flow_desc_c_txt{
        font-size: 12px;
    }

    #faq_desc{
        padding: 0 30px;
    }

    .faq_desc_c_i{
        font-size: 16px;
    }

    .faq_desc_c_q .faq_desc_c_txt{
        font-size: 12px;
    }

    .faq_desc_c_a .faq_desc_c_txt{
        font-size: 12px;
    }

    .faq_desc_toggle {
        top: calc( 0.5em + -4px );
    }

    #footer_links{
        font-size:10px;
    }

    #copy{
        font-size: 10px;
        height: 30px;
    }

    #sp_menu_copy{
        font-size: 10px;
    }
    #head_nav ul{
        justify-content: flex-start;
    }
}

@media(max-width: 767.98px){
    #head_menu{
        width:60px;
        height: 60px;
    }
    #head_logo img{
        height:40px;
    }
    #head_logo{
        width:186px;
        height: 60px;
    }
    #head_nav {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }
    #head_nav ul li{
        margin-right:10px;
    }
    #hjirei a{
        font-size:11px;
        padding: 0 15px;
    }
    #head_nav .head_btn a{
        font-size:11px;
        padding: 0 15px;
    }
    #head_nav ul{
        justify-content: flex-start;
    }

    #head_nav .head_btn a img{
        width:15px;
        margin-right: 8px;
    }

    #copy_u {
        height: 100px;
    }

    #sp_menu_main>div{
        max-width: none;
        margin-left: 48px;
        justify-content: start;
    }
    #sp_menu_main {
        padding: 80px 0 80px;
    }

    #sp_menu_copy {
        height:80px;
    }

    .bg_w {
        padding: 20px 20px 0;
    }

    .bg {
        padding: 20px;
        padding-top: 60px;
        padding-bottom: 0;
    }
    #mbg_w .bg_w {
        padding: 20px;
    }


    .bg_catch1{
        padding:0 15px;
        font-size:11px;
    }

    .bg_catch2{
        margin-top:60px;
        font-size: 24px;
    }

    .bg_catch3{
        margin-top:60px;
        font-size: 16px;
    }

    .bg_big {
        font-size: 28px;
    }

    .bg_catch_img{
        /* margin-top:0;
        padding: 0 30px; */
    }
    .bg_catch_img img{
        height: 256px;
    }
    .case_c {
        width: 100%;
    }
    .case_link{
        margin-top: 40px;
    }
    .case_cd_box {
        margin-top: 30px;
        font-size: 15px;
        line-height: 2;
        /* margin-bottom: 40px; */
    }
    .case_cd_desc {
        font-size: 12px;
        line-height: 2;
    }
    .aid_c {
        width: 100%;
    }
    .aid_c_desc {
        font-size: 12px;
        line-height: 2;
        
    }
    .web_c_desc {
        font-size: 12px;
        line-height: 2;
        
    }
    .aid_c_plan_desc {
        font-size: 12px;
        line-height: 2;
    }
    .aid_c_tags>span {
        font-size: 12px;
    }

    #future{
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .sp_br{
        display: block;
    }

    .go_link{
        top:-90px;
    }


    .ttl{
        font-size: 30px;

    }
    .ttl_desc{
        font-size: 14px;
        margin: 15px 20px;
    }
    .ttl_catch{
        font-size: 14px;
    }
    .txt_border {
        padding: 0 8px;
        height: 32px;
        border: solid 2px;
    }

    .ttl_desc.ttl_desc1{
        font-size:14px;
    }
    #solution_main .ttl_desc.ttl_desc1 {
        font-size:14px;
    }

    .line{
        height:7px;
    }

    #data_main .ttl_desc{
        font-size:14px;
    }

    #system_main .ttl_desc{
        font-size:14px;
        margin: 15px 0px;
    }

    #case_main .ttl_desc{
        font-size:14px;
    }
    #ads_insight_main .ttl_desc{
        font-size:14px;
    }
    #flow_main .ttl_desc{
        font-size:14px;
    }
    #faq_main .ttl_desc{
        font-size:14px;
    }

    .ttl_desc_box{
        font-size:12px;
        padding: 20px;
        width: calc( 100% - 60px );
        margin-bottom: 40px;
    }

    .future_desc_ttl{
        height: 24px;
        font-size: 12px;
        font-weight: 600;
    }

    .future_desc_catch span{
        font-size:24px;
    }

    .future_desc_catch{
        font-size:14px;
        padding: 20px 0;
    }

    .future_desc_main{
        font-size: 12px;
    }
    
    .future_desc_img{
    /*margin-top: 30px;*/
    }

    .future_desc_c .aid_c_tags>span{
        font-size: 12px;
        color: #BA121A;
        border: 1px solid #BA121A;
    }

    #solution_desc{
        padding-right: 20px;
        padding-left: 20px;
    }

    .data_desc_ttl{
        font-size: 25px;
    }

    .data_desc_catch1{
        font-size: 12px;
        margin: 15px 0 20px;
    }

    .pc_br{
        display: none;
    }

    .future_desc_c{
        width: 100%;
    }

    #future_desc .future_desc_c:last-child{
        margin-top:40px;
    }

    .data_desc_catch2{
        padding: 30px;
    }

    .data_desc_catch2>div{
        width:100%;
    }

    .data_desc_catch2_img img{
        width:100%;
    }

    .data_desc_catch2_img{
        margin-bottom:40px;
    }

    .data_desc_if{
        padding-top: 40px;
    }

    .data_desc_calc{
        font-size:11px;
    }
    .data_desc_big{
        font-size: 27px;
    }

    .data_desc_if_ttl{
        font-size: 12px;
        margin-bottom: 15px;
    }

    .data_desc1{
        padding-bottom: 20px;
    }

    .data_desc2_c{
        width:100%;
    }

    #system_cw{
        width: calc( 100% - 40px );
    }

    #system{
        /* padding-left:60px; */
        /* padding-right:60px; */
        padding-top: 60px;
        padding-bottom: 60px;
    }
    #system_main{
        padding:30px 20px;
        width: calc( 100% - 40px );
        /* align-self: center; */
        /* justify-self: center; */
        margin: 0 auto 30px;
    }
    #system_main_img{
        margin: 40px 0 20px;
    }
    #system_main_link{
        margin-top: 30px;
    }
    #system_main_link a {
        width: 100%;
    }

    #system_desc{
        width:100%
    }

    #system_desc_img{
        width: 100%;
    }

    #system_desc_link{
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
    #case{
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    #ads_insight{
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    #flow{
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .flow_desc_c{
        width:100%;
        margin-bottom:20px;
        margin-top: 20px;
    }

    #flow_desc .flow_desc_c:last-child{
        margin-bottom:0;
    }

    #flow_desc .flow_desc_c:first-child{
        margin-bottom:20px;
        margin-top: 0;
    }

    .flow_desc_c_ttl>span:last-child{
        padding-left:20px;
    }

    .flow_desc_y{
        /* width: 60px; */
        transform: rotate(90deg);
        height: 16px;
        /* margin-bottom: 60px; */
    }

    #flow_desc:after{
        display:none;
    }

    .flow_desc_c_ttl{
        font-size: 12px;
        margin-bottom: 20px;
    }
    .flow_desc_c_txt{
        font-size: 12px;
    }

    #faq{
        padding-top: 40px;
        padding-bottom: 40px;
    }

    #faq_cw{
        padding-top: 30px;
        padding-bottom: 30px;
        width: calc( 100% - 40px );
    }

    #faq_desc{
        padding: 0 20px;
    }

    #faq_desc .faq_desc_c:nth-last-child(-n+2) {
        border-bottom:none;
    }

    #faq_desc .faq_desc_c:last-child{
        border-bottom: solid 1px #707070;
    }

    .faq_desc_c{
        padding: 15px 0;
        width: 100%;
    }

    .faq_desc_c_i{
        font-size: 16px;
        width: 30px;
    }

    .faq_desc_c_q .faq_desc_c_txt{
        font-size: 12px;
    }

    .faq_desc_c_a .faq_desc_c_txt{
        font-size: 12px;
    }

    #footer_desc{
        font-size:12px;
    }

    #footer_img_g{
        position:relative;
        z-index: 1;
        margin-top: calc( -40px );
    }

    #footer_links{
        font-size:10px;
        position: relative;
        z-index: 2;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    #copy{
        font-size: 10px;
        height: 30px;
    }

    #solution{
        padding: 30px 0;
        padding-top: 60px;
        /* margin-top: 60px; */
        width: calc( 100% - 40px );
    }

    .solution_desc_c{
        width:100%;
        margin-bottom: 40px;
    }

    .solution_desc_catch1{
        margin: 30px 0 20px;
    }

    .solution_desc_link{
        margin-top: 20px;
    }

    .solution_desc_link a{
        padding: 0 20px;
    }

    #data{
        padding: 30px 0;
        padding-top: 60px;
        margin-top: 60px;
        width: calc( 100% - 40px );
    }
    #data_desc{
        padding-right: 20px;
        padding-left: 20px;
    }

    .data_desc2 .data_desc2_c:last-child{
        margin-top: 40px;
        margin-bottom: 40px;
    }

    #footer_cw{
        width: calc( 100% - 80px );
    }


    #complete_menu_main{
        padding: 20px;
    }
    #complete_menu_main>div {
        padding: 20px;
        min-height: calc( 100vh - 40px );
    }
    .complete_menu_ttl {
        margin-bottom: 20px;
        font-size: 14px;
    }
    .complete_menu_ttl span{
        margin-right:10px;
    }
    .complete_menu_desc {
        margin: 20px 0;
        font-size: 12px;
    }


    #sp_menu_main2{
        padding: 20px;
    }
    #sp_menu_main2>div {
        padding: 20px;
        min-height: calc( 100vh - 40px );
    }
    .sp_menu_main2_ttl {
        margin-bottom: 20px;
        font-size: 14px;
    }
    .sp_menu_main2_ttl span{
        margin-right:10px;
    }
    .sp_menu_main2_desc {
        margin: 20px 0;
        font-size: 12px;
    }
    .contact_bc{
        /* padding: 30px 0; */
        /* padding-top: 60px; */
        /* margin-top: 60px; */
        width: calc( 100% - 40px );
    }
    .contact_bcc{
        padding-right: 20px;
        padding-left: 20px;
    }

    .contact_bc_main{
        width:100%;
    }

    .contact_bc_link{
        margin-top: 40px;
        width:100%;
    }

    .aid_c_plan_banner_p {
        font-size: 12px;

}


@media(max-height:619.98px){
    #sp_menu_main>div{
        /* display: block; */
    }
    #sp_menu_main>div>div{
        /* margin:0 auto; */
    }
}

@media(max-height:827.98px) and (min-width:420px){

    .bg_catch2 {
        font-size: 24px;
    }
    .bg_big {
        font-size: 36px;
    }
    .bg_catch3{
        font-size: 22px;
    }
    .bg_catch_img {
        margin: auto;
        max-width: 500px;
        margin-top: calc( -10px - 30px - 10px - 50px );
    }

    .bg_catch_img img {
        /* width:90%; */
    }

}

@media(max-width:419.98px){
    .bg_catch2 {
        font-size: 16px;
    }
    .bg_big {
        font-size: 24px;
    }
    .bg_catch3{
        font-size: 14px;
    }
    .line{
        height:7px;
    }
    .line:before {
        height:10px;
        width: 40px;
    }
    .contact_bc_tag {
        font-size: 12px;
    }    
}

@media(max-height:619.98px) and (max-width:419.98px){
    .bg_catch2 {
        margin-top: 30px;
        margin-bottom: 20px;
        font-size: 16px;
    }
    .bg_big {
        font-size: 24px;
    }
    .bg_catch3{
        font-size: 14px;
        padding-bottom: 20px;
    }
}
