@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
@media screen and (max-width: 750px){

:root {
  --purple: #4815BF;
  --black: #0E1420;
  --red: #FF5500;
}
html{
  overflow: auto;
  position: relative;
  min-height: 100%;
  scroll-behavior: smooth;
}
body{
  width:100vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  position:relative;
  font-size: 16px;
  line-height: 1.5;
  color:#1B1B1B;
}
/* width指定 */
main{
  width:100%;
  max-width: 1280px;
  margin:0 auto;
}

div,p,a,ul,li{
  box-sizing: border-box;
}
a{
  color:#333333;
  text-decoration: none;
  display: block;
}
a:hover{
  opacity: 70%;
}
.over_width{
  margin:0;
  width:100%;
}
.inner_width{
  width:100%;
  max-width: 1200px;
  margin: 0 auto;
  padding:0 3%;
  box-sizing: border-box;
}
.bottom_circle::after{
  bottom:-49px;
  left:0;
  height:50px;
  border-bottom-left-radius: 50% 50px;
  border-bottom-right-radius: 50% 50px;
  z-index: 3;
}
/* text-align */
.ta_c{
  text-align: center;
}
.ta_l{
  text-align: left;
}
.ta_r{
  text-align: right;
}
/* PC,SP表示切り替え */
.pc_none{
  display: block!important;
}
.sp_none{
  display: none!important;
}
h3.inside_subtitle{
  font-size:1.7rem;
  color:var(--text_purple);
  font-weight:700;
}
h3.inside_subtitle span{
  display: block;
}
/* header */
header{
  width:100vw;
  position:fixed;
  z-index: 5;
  margin-bottom:-75px;
  top:0;
  left:0;
}
header.active{
  background-color: rgba(255,255,255,0.6);
}
.header_content{
  display: flex;
  padding:1rem 2rem;
  align-items: center;
  justify-content: space-between;
}
a.inside_header_logo{
  width:40px;
  height:40px;
  background: url(../images/pc/inside/inside_footer_logo.png) center center no-repeat;
  background-size: cover;
}
a.inside_header_logo.inside_humb_nav{
  width:96px;
  height:96px;
  margin:0 auto;
}
header.active a.inside_header_logo{
  background: url(../images/pc/inside/inside_footer_logo.png) center center no-repeat;
  background-size: cover;
}
ul#global-nav{
  display: flex;
  padding:0 1rem;
  align-items: center;
  width:50%;
  background-color: #fff;
  border-radius: 29px;
}
header.active ul#global-nav{
  background-color: #eee8ff;
}
ul#global-nav li{
  flex:1 0 auto;
  display: block;
  text-align: center;
  height:58px;
  line-height: 58px;
  position:relative;
}

ul#global-nav li a{
  height:100%;
  font-weight:500;
}
ul#global-nav li:nth-child(6) a{
  background-color: var(--purple);
  color:#fff;
}
ul#global-nav li:nth-child(7) {
  background-color: #FF5500;
  position:relative;
}
ul#global-nav li:nth-child(7)::after{
  position:absolute;
  content:"";
  height:58px;
  width:2rem;
  border-radius: 0 29px 29px 0;
  background-color: var(--red);
  top:0;
  right:-1.5rem;
}
ul#global-nav li:nth-child(7) a{
  background-color:  var(--red);
  color:#fff;
}
/* サブメニュー初期状態（非表示） */
.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  border-radius: 20px;
  padding:1rem;
}
/* 中のリンク */
ul#global-nav li .sub-menu span a {
  display: block;
  padding: 4px;
  color: #333!important;
  white-space: nowrap;
  line-height: 1.2;
  font-size:0.8rem;
  text-align: left;
}

.sub-menu span a:hover {
  background: #f2f2f2;
}

/* hoverしたら表示 */
.has-sub:hover .sub-menu {
  opacity: 1;
  visibility: visible;
}
/* --------------------
mv
-------------------- */
.inside_mv{
  background: linear-gradient( 90deg,#210189 0.05%, #6D56BB 63.51%);
  position:relative;
  overflow: hidden;
}
.inside_mv::after{
  position: absolute;
  content:"";
  width: 85.7vw;
  height: 114.2857vw;
  right: -35.8125vw;
  top: -5.208333vw;
  background: linear-gradient( #210189 0.05%, #6D56BB 63.51%);
  transform: rotate(30deg);
}
.inside_mv_content{
  position:relative;
  z-index: 1;
  display: block;
  justify-content: space-around;
  width:100%;
  max-width: 100%;
  margin:0 auto;
  align-items: center;
  color:#fff;
  padding:100px 5% 30px;
  box-sizing: border-box;
}
.inside_mv_content h1{
  font-size:1.6rem;
  font-weight:700;
}
.inside_mv_content h1 span{
  font-size:1rem;
}
.inside_mv_content h2{
  font-size:2rem;
  display: flex;
  justify-content: flex-start;
  gap:16px;
  align-items: flex-start;
  margin-top:1rem;
}
.inside_mv_content h2 span:first-child{
  font-size:1rem;
  font-weight:700;
}
.inside_mv_content h2 span:last-child{
  line-height: 1;
  display: block;
}
.mv_image{
  text-align: center;
  margin-top:3.5rem ;
}
.mv_image img{
  width:90%;
}
.inside_mv_btn.pc_none{
  display: flex!important;
  gap:1rem;
  margin-top:2.4rem;
  width:90%;
  margin:0 auto 42px;
}
.inside_mv_btn a{
  width:50%;
  height:42px;
  line-height: 42px;
  border-radius: 38px;
  font-size:10px;
  padding-left:1rem;
}
.inside_mv_btn a:last-child{
  letter-spacing: 3px;
}
.inside_mv_btn a::before{
  height:7px;
  width:1px;
  top:15px;
  right:1.1rem;
}
.inside_mv_btn a::after{
  width:15px;
  top:20px;
  right:1rem;
}
/* 追従ボタン */
.fix_btn_content{
  position:fixed;
  z-index: 15;
  bottom:10px;
  right:10px;
  padding:8px;
  border:2px solid #4F3A93;
  background-color: #F9F7FF;
  border-radius:7px;
}

.fix_btn_content h3{
  font-size:0.9rem;
  padding:0 1em;
}
.fix_btn_content h3 span{
  font-size:0.9rem;
}

.fix_btn_content .inside_mv_btn{
  display: block;
  margin-top:8px;
}

.fix_btn_content .inside_mv_btn a{
  width:100%;
  margin-top:8px;
}
/* ×ボタン */
.fix_btn_close{
  position:absolute;
  top:2px;
  right:2px;
  background:none;
  border:none;
  font-size:12px;
  cursor:pointer;
  line-height:1;
}
/* --------------------
problem
-------------------- */
.problem{
  margin-top:96px;
  padding-top:48px;
}
ul.inside_detail{
  margin-top:0;
  display: block;
  padding:0 5%;
}
ul.inside_detail li{
  text-align: center;
  color:#4F3A93;
  margin-top:48px;
  display: flex;
  flex-direction: column;
  -ms-flex-direction: column;
}
ul.inside_detail li p{
  font-size:1.3rem;
}
ul.inside_detail li img{
  width:100%;
}
ul.inside_detail li img.problem_arrow{
  width:65%;
  margin:1rem auto 0;
}
/* --------------------
solution
-------------------- */
.solution{
  margin-top:96px;
}
ul.inside_detail li p.inside_content_txt{
  margin-top:1rem;
  font-size:0.9rem;
}
/* --------------------
feature
-------------------- */
.feature{
  padding:0 5%;
  margin-top:60px;
  box-sizing: border-box;
}
.feature_inner{
  display: block;
  width:100%;
  max-width: 1280px;
  margin:2rem auto 0;
  background-color: #fff;
  padding:1rem;
}
.feature_inner img{
  margin-top:40px;
}
.feature_inner.re{
  flex-direction: row-reverse;
}
.feature_detail h3{
  color:#B5ACD2;
  font-size:4rem;
  font-weight:700;
}
.feature_detail h4{
  color:#2F2358;
  font-size:1.4rem;
  margin-bottom:1rem;
  font-weight:700;
}
.feature::after{
  bottom:-49px;
  left:0;
  height:50px;
  border-bottom-left-radius: 50% 50px;
  border-bottom-right-radius: 50% 50px;
  z-index: 3;
}
/* --------------------
mechanism
-------------------- */
.mechanism{
  position:relative;
  background-color: #E8E5F1;
  padding-top:100px;
  padding-bottom:100px;
}
.mechanism_text{
  margin:40px auto;
  font-size:14px;
  color:var(--text_purple);
}
.mechanism_inner{
  width:100%;
  max-width: 1280px;
  margin:40px auto;
}
ul.mechanism_flow{
  display: block;
  height:auto;
  width:100%;
  margin:0 auto 3rem;
  padding:0 5%;
}

li.flow_title{
  background-color: #3F2E76;
  color:#fff;
  font-size:1.1rem;
  writing-mode: inherit;
  height:100%;
  padding:0.5rem;
  font-weight:700;
  text-align: center;
}
li.flow_arrow{
  padding:1rem;
  width:100%;
  background-color: #fff;
  margin-right:3rem;
  position:relative;
}
li.flow_arrow::after{
  display: none;
}
li.flow_arrow::before{
  display: none;
}
li.flow_arrow_image img{
  width:100%
}
p.no{
  font-size:2rem;
  color:#B5ACD2;
  font-weight:700;
}
p.flow_main_title{
  font-size:2rem;
  color:#4F3A93;
  margin-bottom:0.8rem;
  font-weight:700;
}
p.flow_sub_title{
  font-size:1.2rem;
  color:#2F2358;
  margin-bottom:0.8rem;
  font-weight:700;
}
p.flow_text{
  font-size:1rem;
  color:#2F2358;
}
.mechanism::after{
  content:"";
  position:absolute;
  bottom:-49px;
  left:0;
  width:100%;
  height:100px;
  background-color: #E8E5F1;
  border-bottom-left-radius: 50% 50px;
  border-bottom-right-radius: 50% 50px;
}
/* --------------------
flow
-------------------- */
.flow{
  padding:100px 5% 96px;
}
.flow_wrap{
  display: block;
}
.flow_title span{
  position:relative;
  display: inline-block;
  border-top:1px sold var(--black);
  border-bottom:1px sold var(--black);
  font-size:1rem;
  font-weight:700;
}
.flow_title span::before{
  content:"";
  position:absolute;
  width:100%;
  height:1px;
  background-color: var(--black);
  left:0;
  top:-2px;
}
.flow_title span::after{
  content:"";
  position:absolute;
  width:100%;
  height:1px;
  background-color: var(--black);
  left:0;
  bottom:-2px;
}
.flow_title{
  font-size:1.8rem;
  font-weight:700;
}
.flow_detail{
  line-height: 1.5;
  font-size:1.1rem;
  margin-top:1em;
}
.step{ 
  color:#2F2358;
  margin-top:40px;
}
.step_detail p{
  font-size:0.8rem;
}
.step ul li{
  display: flex;
  align-items: flex-start;
  margin-bottom:41px;
  position:relative
}
.step ul li img{
  width:64px;
  margin-right:12px;
}
.step ul li h3{
  font-size:1.5rem;
  font-weight:700;
}
.step ul li:not(:last-child)::after{
  height:calc(100% - 1.3rem);
  bottom:calc(-64px + 1.3rem);
}
.flow .inside_mv_btn,
.inside_contact .inside_mv_btn{
  width:100%;
  margin:2rem auto 0;
  display: block;
}
.flow .inside_mv_btn a,.inside_contact .inside_mv_btn a{
  width:100%;
  height:70px;
  line-height: 70px;
  border-radius: 35px;
  margin-bottom:2rem;
  font-size:18px;
  padding-left:2rem;
  font-weight:500;
}
.flow .inside_mv_btn a::after,
.inside_contact .inside_mv_btn a::after{
  position:absolute;
  content:"";
  width:30px;
  height:1px;
  background-color: #fff;
  top:36px;
  right:2rem;
}
.flow .inside_mv_btn a::before,
.inside_contact .inside_mv_btn a::before{
  position:absolute;
  content:"";
  width:1.5px;
  height:12px;
  background-color: #fff;
  transform: rotate(-65deg);
  right:2.3rem;
  top:28px;
}
/* --------------------
case
-------------------- */
.case{
  background-color: #2F2358;
  padding-top:48px;
  padding-bottom:48px;
}
.case_wrap{
  width:100%;
  max-width: 100%;
  padding:0 5%;
  box-sizing: border-box;
  margin:0 auto;
}
.case_wrap .flow_title{
  color:#fff;
  line-height: 1.2;
}
.case_wrap .flow_title span::before,
.case_wrap .flow_title span::after{
  background-color: #fff;
}
.case_content{
  margin-top:40px;
  display: block;
  width:100%;
  justify-content: space-between;
  gap:1rem;
}
.case-card{
  margin-bottom:2rem;
}
.case-thumb img{
  width:100%;
  height:auto;
}
.card_head{
  display: flex;
  margin-top:10px;
  align-items: center;
  justify-content: flex-start;
}
.case-logo{
  width:60px;
  margin-right:1rem;
}
.case-logo img{
  width:100%;
}
.case-company{
  font-weight:700;
}
.case-title{
  font-size:1.5rem;
  font-weight:700;
}
.case-category{
  display: inline-block;
  padding:5px 2rem;
  border:1px solid var(--black);
  margin-top:10px;
  margin-bottom:10px;
  font-size:0.8rem;
}
.case_btn{
  display: block;
  width:270px;
  margin:40px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding:10px 0;
  border-bottom:1px solid #fff;
  color:#fff;
  font-weight:700;
  font-size:1.5rem;
}
/* --------------------
inside_contact
-------------------- */
.inside_contact{
  background: url(../images/pc/inside/contact_bg.png) center center no-repeat;
  background-size: cover;
  padding:48px 5% 50px;
  color:#fff;
  box-sizing: border-box;
}
.inside_contact h3{
  font-size:2.5rem;
  font-weight:500;
  margin-bottom:20px;
}
.inside_contact p{
  margin-bottom:40px;
}
/* --------------------
policy
-------------------- */
h2.inside_sub_head{
  padding:125px 0 75px;
  font-size:1.9rem;
  font-weight:700;
  color:#4F3A93;
}
.policy_wrap{
  background-color: #F9F8FC;
  padding:40px 5%;
  box-sizing: border-box;
}
.policy_nav{
  display: block;
}
.policy_nav li{
  margin-bottom:1rem;
}
.policy_nav li a{
  display: inline-block;
  height:38px;
  line-height: 38px;
  border-radius: 19px;
  font-size:0.9rem;
  background-color: #fff;
  font-weight:700;
  padding:0 1rem;
}
.policy_nav li.active a{
  background-color: #4F3A93;
  color:#fff
}
.policy_content h3{
  font-size:1.5rem;
  font-weight:700;
  margin-top:40px;
}
.policy_content ol{
  padding:0 1rem 1rem;
}
.policy_content ol li h4{
  font-size:1.1rem;
  font-weight:500;
  margin-top:1rem;
}
.policy_content ol li p{
  padding-left:1rem;
  margin-top:10px;
  font-size:0.9rem;
}
.policy_content ol li ul{
  margin-top:0.5rem;
}
.policy_content ol li ul li{
  padding-left:1rem;
  font-size:0.8rem;
}
.policy_content ol li span{
  font-size:0.9rem;
  display: block;
  padding:1em 0;
}
.policy_content ol li strong{
  font-weight:700;
}
.policy_content ol li a{
  display: inline;
}
/* セキュリティ */
.policy_content.security ol li ul{
  margin-top:0.5rem;
  margin-bottom:1rem;
}
/* --------------------
inside_contact
-------------------- */
.inside_contact_wrap form{
  width: 90%;
  max-width:600px;
  margin:0 auto;
}
.inside_contact_wrap.document_dl form{
  width:100%;
}
.inside_contact_wrap.document_dl .confirm_inner form{
  width:100%;
}
.inside_contact_wrap form h3{
  font-weight:700;
  margin-bottom:8px;
}
.inside_contact_wrap form h3 span{
  font-size:10px;
  color:#fff;
  background-color: #4F3A93;
  padding:3px 10px;
  margin-left:5px;
  border-radius:10px;
}
.inside_contact_wrap .confirm_inner h2{
  font-size:1.4rem;
}
.inside_contact_wrap form input[name="company"],
.inside_contact_wrap form input[name="department"],
.inside_contact_wrap form input[name="position"],
.inside_contact_wrap form input[name="fullname"],
.inside_contact_wrap form input[name="name"],
.inside_contact_wrap form input[name="rubi"],
.inside_contact_wrap form input[name="mail"],
.inside_contact_wrap form input[name="budget"],
.inside_contact_wrap form input[name="email"],
.inside_contact_wrap form input[type="tel"][name="tel"],
.inside_contact_wrap form select,
.inside_contact_wrap form textarea,
input.entry_box{
  width:100%;
  padding: 0.6rem 1rem;
  /* -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; */
  box-sizing: border-box;
}
.inside_contact_wrap form select{
  position: relative;
  display: inline-block;
  border-radius:23px;
}
.inside_contact_wrap form select::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
  transform: translateY(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #555;
}
.inside_contact_wrap form input[name="company"],
.inside_contact_wrap form input[name="department"],
.inside_contact_wrap form input[name="position"],
.inside_contact_wrap form input[name="fullname"],
.inside_contact_wrap form input[name="name"],
.inside_contact_wrap form input[name="rubi"],
.inside_contact_wrap form input[name="mail"],
.inside_contact_wrap form input[name="budget"],
.inside_contact_wrap form input[name="email"],
.inside_contact_wrap form input[type="tel"][name="tel"],
input.entry_box{
  border-radius:23px;
}

.inside_contact_wrap form textarea{
  border-radius:20px;
}
.agree_detail{
  text-align: center;
  margin:4rem auto;
}
.agree_check{
  display: flex;
  justify-content: center;
}
.agree_check span.mwform-checkbox-field label{
  font-weight:700;
}
.agree_detail p{
  margin-bottom:1.5rem;
}
.agree_detail a{
  display: inline;
}
.inside_contact_wrap form input[type="submit"],
.inside_contact_wrap form button[type="submit"]{
  width:90%;
  display: block;
  max-width:460px;
  margin:0 auto;
  color:#fff;
  font-size:1.2rem;
  font-weight:700;
  border-radius:36px;
  height:76px;
  line-height: 76px;
  text-align: center;
  background-color: #2F2358;
  position:relative;
  padding:0;
}
.inside_contact_wrap form button[type="submit"]{
  width:100%;
}
.inside_contact_wrap form input[type="submit"]::after{
  position:absolute;
  content:"";
  width:30px;
  height:5px;
  background: url(../images/pc/inside/mv_btn_arrow.png) center center no-repeat;
  background-size: cover;
  top:33px;
  right:2rem;
}
.thanks_message h3{
  font-size:1.5rem;
  font-weight:500;
}
/* --------------------
document_download
-------------------- */
.doc_contact{
  display: block;

}
.document_choise{
  width:100%;
  
}
.document_form{
  width:100%;
  box-sizing: border-box;
}
.confirm_inner{
  padding:1rem;
  width:90%;
  max-width:100%;
  margin:30px auto;
  background-color: #fff;
}
.doc_confirm_btn{
  display: flex;
  justify-content: space-between;
  width:100%;
  max-width: 780px;
  gap :24px;
  margin:0 auto;
}
.inside_contact_wrap form button[type="submit"],
.inside_contact_wrap form button[type="button"]{
  width:50%;
  font-size:1rem;
  height:46px;
  border-radius:23px;
  line-height: 23px;
}
.inside_contact_wrap form button[type="submit"]::after,
.inside_contact_wrap form button[type="button"]::after{
  display: none;
}
/* --------------------
insidesales_company
-------------------- */
table.inside_company{
  width:95%;
}
table.inside_company tr th,
table.inside_company tr td{
  padding:0.4rem;
  display: block;
}
table.inside_company tr th{
  padding-top:0.8rem;
}
table.inside_company tr td{
  padding-bottom:0.8rem;
}
table.inside_company tr th{
  font-weight:500;
}
/* --------------------
breadcrumb
-------------------- */
.breadcrumb {
    font-size: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px; /* aタグと > の間の余白 */
    padding:20px 5%;
}

.breadcrumb a {
    color: #555;
    text-decoration: none;
    position:relative;
}
.breadcrumb a::after{
  content:"";
  position:absolute;
  width:4px;
  height:4px;
  border-right:1px solid #303030;
  border-bottom:1px solid #303030;
  top:7px;
  right:-17px;
  transform: rotate(-45deg);
}
.breadcrumb a:hover {
    text-decoration: underline;
}

.breadcrumb span {
    color: #303030;
    font-weight:700;
}
/* --------------------
inside_footer
-------------------- */
footer{
  padding-bottom:20px;
}
.footer_content{
  display: block;
  padding:20px 5%;
  width:100%;
  max-width: 1280px;
  margin:0 auto;
}
.footer_logo{
  width:120px;
}
.footer_logo img{
  width:100%;
}
.footer_nav_content{
  display: block;
  font-size:14px;
}
.footer_nav_content dl{
  margin-top:1rem;
}
.footer_nav_content dl dt{
  font-weight:700;
  line-height: 2;
  margin-top:1rem;
}
.footer_nav_content dl dd{
  position:relative;
  padding-left:1em;
}
.footer_nav_content dl dd::before{
  position:absolute;
  content:"";
  width:6px;
  height:1px;
  background-color: #303030;
  left:0;
  top:50%;
  transform: translateY(-50%);
}
.copy{
  font-size:12px;
}
/* --------------------
index
-------------------- */
/* mv */
.top_mv.inside_mv{
  background: url(../images/sp/index/kv.png) center center no-repeat;
  background-size: cover;
  position:relative;
  height:100vh;
}
.top_mv .inside_mv_content{
  width:95%;
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  margin:0 auto;
}
.top_mv .inside_mv_btn{
  position:absolute;
  bottom:30px;
  transform: translateX(-50%);
  left:50%;
}
ul.inside_detail li img.solution_icon{
  width:74px;
}
section.problem h3.problem_explanation{
  font-size:24px;
  font-weight:bold;
}
section.problem h3.problem_explanation span{
  display: block;
  margin-top:1em;
  font-weight:normal;
  line-height: 1.25;
}
/* about */
section.about.over_wrap{
  padding-bottom:0;
}
.about::after{
  content:"";
  position:absolute;
  bottom:-100px;
  left:0;
  width:100%;
  height:100px;
  background-color: #F9F8FC;
  border-bottom-left-radius: 50% 50px;
  border-bottom-right-radius: 50% 50px;
}
.about h3.inside_subtitle{
  font-size:40px;
}
.about h4{
  font-size:24px;
}
.about_detail{
  padding:0 1rem;
}
ul.about_belief{
  width:90%;
  margin:60px auto;
  display: block;
  padding:48px 16px 24px;
  position:relative;
  z-index: 1;
}
ul.about_belief li:not(:last-child){
  
  padding-bottom:48px;
  position:relative
}
ul.about_belief li:not(:last-child)::after{
  content:"";
  position:absolute;
  width:80%;
  height:1px;
  background-color: #4F3A93;
  left:50%;
  transform: translateX(-50%);
  bottom:24px;
}

ul.about_belief li p{
  text-align: left;
  margin:0.3rem auto;
}
ul.about_belief span{
  font-size:28px;
  display: block;
  width:75%;
  box-sizing: border-box;
  padding:0;
}
/* about */
.revenue .inside_subtitle{
  font-size:40px;
}
.revenue_subtitle{
  font-size:18px;
}
.revenue_image{
  padding:0 16px;
  box-sizing: border-box;
}
.revenue_image img{
  width:100%;
}
.revenue .inside_mv_btn{
  display: grid;
  padding:0 38px;
}
.revenue .inside_mv_btn a{
  width:100%;
  height:70px;
  border-radius:35px;
  font-size:18px;
  line-height: 70px;
  padding-left:2em;
}
.revenue .inside_mv_btn a::before{
  right:2em;
  height:12px;
  top:25px;
}
.revenue .inside_mv_btn a::after{
  right:1.8em;
  width:30px;
  top:33px;
}
/* case_study */
.case_study{
  padding-top:0;
  padding-bottom:30px;
}
.case_study::after{
  content:"";
  position:absolute;
  bottom:-49px;
  left:0;
  width:100%;
  height:100px;
  background-color: #E8E5F1;
  border-bottom-left-radius: 50% 50px;
  border-bottom-right-radius: 50% 50px;
}
.case_study_inner .case_study_title{
  font-size:80px;
  left:16px;
}
.case_study_inner .case_study_title.title2{
  top:85px;
}
.case_study_inner{
  padding:50px 16px;
}
.case_study_detail h4{
  font-size:20px;
}
.case_study_detail p{
  font-size:14px;
  margin-top:10px;
}
.case_study_inner ul{
  display: grid;
}
.case_study_inner ul li{
  width:100%;
}
/* top_feature */
.top_feature{
  padding:160px 16px 60px;
  overflow-x: scroll;
}
.introduction p{
  font-size:1rem;
}
/* reason */
.feature.reason{
  padding-top:80px;
}
.reason_wrap{
  width:100%;
}
.reason_wrap ul{
  padding:0 16px;
  display: grid;
  box-sizing: border-box;
}
.reason_wrap ul li{
  width:100%;
  border-radius: 36px;
  height:auto;
  padding:24px;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
.reason_wrap ul li span.reason_no{
  margin-bottom:1rem;
}
.reason_wrap ul li h4{
  font-size:20px;
}
.reason_wrap_center{
  position:static;
  transform: unset;
  margin:24px auto;
  border-radius:36px;
  width:100%;
  padding:24px 0;
  height:auto;
}
/* leadbredge--case */
.lb_case_content{
  display: block;
  padding:16px;
  box-sizing: border-box;
  width:calc(100% - 32px);
  margin:0 auto 24px;
}
.lb_case_content img{
  display: block;
  width:80%;
  margin:0 auto 16px;
}
h4.case_title{
  font-size:1.2rem;
}
h5.case_sub_title{
  font-size:14px;
}
.lb_case_explan p{
  font-size:14px;
}
dl.phase{
  margin:24px auto 0
}
dl.phase dt{
  padding-right:64px;
}
dl.phase dt span.term{
  display: none;
}
dl.phase dt::before{
  right:25px;
  top:50px;
  height:218px;
}
dl.phase dt::after{
  width:50px;
  height:50px;
}
dl.phase dd p,
dl.phase dd span{
  font-size:20px;
  font-weight:bold;
}
div.block{
  margin-top:12px;
  padding-right:1em;
  box-sizing: border-box;
}
div.block h4{
  writing-mode: vertical-rl;
  width:30px;
  height:80px;
}
div.block ul li{
  font-size:12px;
}
dl.phase.phase-4 dt span.triangle{
  bottom:-258px;
  right:21px
}

table.lb_tbl{
  width:calc(100% - 32px);
  margin:36px auto;
  font-size:14px;
}
table.lb_tbl thead tr th{
  width:calc((100% - 30px) / 3)!important;
}
table.lb_tbl thead tr th:not(:first-child){
  width:calc((100% - 30px) / 3)!important;
}
table.lb_tbl tbody tr th{
  width:30px;
  writing-mode: vertical-rl;
  font-size:12px;
}
table.lb_tbl tbody tr td span{
  font-size:12px;
}
/* --------------------
it support
-------------------- */
.top_mv.inside_mv.itspt{
  background: url(../images/sp/itsupport/mv.png) center center no-repeat;
  background-size: cover;
  box-sizing: border-box;
}
.top_mv.itspt .inside_mv_content{
  top:74px;
  transform: unset;
  padding:0 16px;
}
.top_mv.inside_mv.itspt h2{
  font-size:24px;
}
.top_mv.inside_mv.itspt h2 span{
  font-size:14px;
  font-weight:normal
}
.top_mv.inside_mv.itspt h1{
  font-size:36px;
}
.its_problem{
  padding:0 16px;
}
.its_problem img.problem_image{
  width:100%;
}
.its_problem_explan{
  display: block;
  margin:60px auto;
  gap:0;
}
.its_problem_content{
  width:100%;
  margin:20px auto;
}
.its_reason{
  overflow-x: hidden;
  box-sizing: border-box;
}
.its_reazon_content{
  display: block;
  padding:0 16px;
}
.its_reason_detail h4{
  padding-left:1.5em;
  text-indent: -1.5em;
  line-height: 1.3;
  font-size:24px;
}
.its_reason_detail h4 span{
  font-size:40px;
}
.its_reason_detail ul{
  padding-left:2rem;
}
.its_reason_detail ul li{
  padding-left:1em;
  text-indent: -1em;
}
.its_reazon_content img{
  display: block;
  margin:2rem auto 0;
}
.its_reason::after{
  width:130%;
  left:50%;
  transform: translateX(-50%);
}
.its_reason_bottom{
  font-size:30px;
  width:290px;
}
.its_reason_bottom span{
  font-size:50px;
}
section.its_solution{
  overflow-x: hidden;
}
section.its_solution .about_detail{
  margin-top:1em;
}
ul.its_solution_nav{
  display: block;
  padding: 0 16px;
  box-sizing: border-box;
}
ul.its_solution_nav li{
  width:100%;
  margin-bottom:1rem;
}
.its_solution_content{
  width:94%;
  margin:0 auto 24px;
  padding:48px 24px;
}
.its_solution_content h3{
  font-size:24px;
}
.its_solution_inner{
  display: block;
}
.solution_inner_head span{
  margin:0 auto;
  display: block;
}
.solution_inner_head ul{
  font-size:1rem;
  margin:2rem auto;
  line-height: 2;
}
ul.solution_list{
  width:70%;
  margin:30px auto;
}
.its_solution_content h4{
  font-size:24px;
}
.its_solution::after{
  width:130%;
  left:50%;
  transform: translateX(-50%);
}
/* its_case */
.its_case{
  padding:200px 16px 0;
  box-sizing: border-box;
}
.its_case_content{
  display: block;
  width:100%;
  padding:1rem;
}
.its_case_detail h3{
  font-size:24px;
}
.its_case_result{
  display: block;
}
.its_case_result dl.result dd{
  font-size:1rem;
  margin-right:0.5rem;
}
.its_case_result dl.assignment{
  margin-bottom:1rem;
}
.its_case_result dl.result dd strong{
  font-size:50px;
}
.its_case_detail p{
  width:100%;
  font-size:1rem;
  padding:1rem;
}
.its_case_detail p span{
  display: block;
  width:50px;
  margin:0 auto 8px 0;
  text-align: center;
}
/* resource */
.resource_wrap{
  width:95%;
  padding:16px;
}
.resource_wrap h3{
  width:80%;
  font-size:20px;
  line-height: 1.2;
  height:auto;
  padding:10px 0;

}
.resource_wrap ul{
  flex-wrap: wrap;
  gap:16px;
  padding-top:48px;
  padding-bottom:24px;
}
.resource_wrap ul li{
  width:calc((100% - 16px) / 2);
  font-size:10px;
}
.resource_wrap ul li p.college_cate{
  font-size:1rem;
  margin:0;
}
.resource_wrap ul li:nth-child(2) p.college_cate{
  margin-top:-1em;
}
.resource_wrap ul li p.resource_icon{
  height:80px;
}
.program_detail{
  display: block;
}
.program_detail span{
  display: block;
  width:130px;
  padding:10px 1.2rem;
  font-size:18px;
  margin:0 auto 1rem;
}
.program_detail div p{
  font-size:18px;
}
.resource_merit{
  width:95%;
  margin:1rem auto;
  display: block;
  padding:1rem;
  box-sizing: border-box;
  text-align: center;
}
.resource_merit ul{
  display: block;
  margin:1rem auto;
  width:100%;
}
.resource_merit ul li{
  width:100%;
  font-size:18px;
  line-height: 1.75;
}
/* its_flow */
.its_flow{
  padding:60px 2.5%;
  box-sizing: border-box;
}
.promise{
  display: block;
  width:100%;
  padding:1rem;
}
.promise span{
  display: block;
  text-align: center;
}
.promise ul li{
  font-size:1rem;
}
/* --------------------
recruit
-------------------- */

.recruit_mv_title{
  padding-top:203px;
  padding-bottom:160px;
}
.recruit_mv h1{
  font-size:33.38px;
  color:#2F2358;
  font-weight:bold;
  line-height: 1;
}
.recruit_mv h1 span{
  font-size:54.24px;
}
.recruit_mv h2{
  color:#2F2358;
  font-size:20px;
  margin-top:32px;
  font-weight:bold;
}
.recruit_mv h2 span{
  font-size:16px;
  font-weight:normal;
}
[class^="recruit_mv_image"]{
	position:absolute
}
.recruit_mv_image1{
  left:16px;
  top:432px;
  width:57px;
}
.recruit_mv_image2{
  left:67px;
  top:486px;
  width:88px
}
.recruit_mv_image3{
  left:167px;
  top:480px;
  width:79px;
}
.recruit_mv_image4{
  right:76px;
  top:78px;
  width:77px
}
.recruit_mv_image5{
  right:16px;
  top:141px;
  width:61px;
}

/* reason */
.recruit_reason{
  padding-top:80px;
  padding-bottom:80px;
}

.recruit_reason_wrap{
  width:100%;
  margin:0 auto;
  padding:0 16px;
  box-sizing: border-box;
}
.recruit_reason_wrap h2{
  font-size:28px;
  text-align: center;
}
.recruit_reason_wrap h2 span{
  font-size:1rem;
  font-weight:normal
}
.recruit_reason_detail{
  width:100%;
  margin:40px auto;
  font-size:18px;
}
.recruit_reason_detail ul{
  font-size:14px;
  margin:24px auto;
  list-style-type: disc;
  padding-left:1rem;
}
.recruit_reason.market_reason{
  background-color: #E8E5F1;
}
.recruit_reason.market_reason.bottom_circle::after{
  background-color: #E8E5F1;
}
.recruit_reason_detail ol{
  list-style: none;
}
.recruit_reason_detail ol li{
  font-size:24px;
  margin-top:1rem;
}
.recruit_reason_detail ol li span{
  font-size:18px;
  font-weight:normal;
  display: block;
  padding-left:2rem;
}
.recruit_reason_detail ol li span.recruit_no{
  font-size:24px;
  color:#B5ACD2;
  margin-right:8px;
  font-weight:bold;
  display: inline;
  padding-left:0;
}
.recruit_reason_detail img{
  width:90%;
  margin:1rem auto;
}
.recruit_culture{
  padding-top:90px;
  padding-bottom:96px;
  background-color: #4F3A93;
}
.recruit_culture.bottom_circle::after{
  background-color: #4F3A93;
}
.recruit_culture_head .inside_subtitle,
.recruit_culture_head .about_detail{
  color:#fff;
}
.recruit_culture_head .about_detail{
  text-align: left;
}
.recruit_culture_head .about_detail span{
  font-size:18px;
  font-weight:bold;
}
.recruit_culture_list{
  margin:96px auto;
}
.recruit_culture_list h4{
  font-size:2rem;
  font-weight:bold;
  color:#fff;
}
.recruit_culture_list ul{
  display: grid;
  gap:16px;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  width:100%;
  margin:32px auto 0;
}
.recruit_culture_list ul li{
  background-color: #fff;
  border-radius: 16px;
  width:320px;
  height:235px;
  padding:0 1.5rem;
}
.recruit_culture_list_head{
  text-align: center;
  padding:1rem 0;
  margin-bottom:1rem;
  border-bottom:1px solid #2F2358;
  font-size:1.5rem;
  color:#2F2358;
  font-weight:bold;
  line-height: 1.5;
}
.recruit_culture_list_head span{
  display: block;
  color:#9386BD;
}
.recruit_culture_detail{
  background-color: #fff;
  padding:40px 20px;
  width:calc(100% - 32px);
  border-radius:16px;
  margin:0 auto;
}
.recruit_culture_detail h3{
  font-size:28px;
  text-align: center;
  margin-bottom:1.5rem;
  color:#3F2E76;
}
.recruit_culture_detail_inner{
  display: block;
  color:#3F2E76;
  font-size:1rem;
}
.recruit_culture_detail_inner img{
  width:90%;
  margin:0 auto 24px;
}
.recruit_list{
  padding-top:80px;
  padding-bottom:100px;
}
.recruit_list_detail{
  margin:32px auto 0;
  width:100%;
  font-size:1rem;
  padding:0 1rem;
}
.job_list{
  width:95%;
  max-width: 800px;
  margin:56px auto 0;
}
ul.job_list li{
  padding:2em 0;
  border-bottom: 1px solid #BDBDBD;
}
ul.job_list li a{
  font-weight:500;
  position:relative;
}
ul.job_list li a::before {
  position: absolute;
  content: "";
  width: 1.5px;
  height: 12px;
  background-color: #0E1420;
  transform: rotate(-65deg);
  right: 2.3rem;
  top: 4px;
}
ul.job_list li a::after{
  position:absolute;
  content:"";
  width:30px;
  height:1px;
  background-color: #0E1420;
  top:12px;
  right:2rem;
}

}