@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


:root {
  --purple: #4815BF;
  --black: #0E1420;
  --red: #FF5500;
  --text_purple: #3F2E76;
}
html{
  overflow: auto;
  position: relative;
  min-height: 100%;
  scroll-behavior: smooth;
}
body{
  width:100%;
  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 calc(50% - 50vw);
  width: 100vw;
}
.inner_width{
  width:100%;
  max-width: 1200px;
  margin: 0 auto;
  padding:0 3%;
  box-sizing: border-box;
}
/* text-align */
.ta_c{
  text-align: center;
}
.ta_l{
  text-align: left;
}
.ta_r{
  text-align: right;
}
h3.inside_subtitle{
  font-size:3rem;
  color:var(--text_purple);
  font-weight:700;
}
/* PC,SP表示切り替え */
.pc_none{
  display: none!important;
}
h3.inside_subtitle span{
  display: block;
}
.bottom_circle{
  position:relative;
}
.bottom_circle::after{
  content: "";
  position: absolute;
  bottom: -99px;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #fff;
  border-bottom-left-radius: 50% 100px;
  border-bottom-right-radius: 50% 100px;
  z-index: 3;
}
/* 背景#F9F8FC */
section.over_wrap{
  margin-top: 96px;
  padding-top: 48px;
  padding-bottom: 100px;
  background-color: #F9F8FC;
  position: relative;
}
/* 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:70px;
  height:70px;
  background: url(../images/pc/inside/header_logo.png) center center no-repeat;
  background-size: cover;
}
a.inside_header_logo.policy_header{
  background: url(../images/pc/inside/inside_footer_logo.png) center center no-repeat;
  background-size: cover;
}

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-last-child(2) a{
  background-color: var(--purple);
  color:#fff;
}
ul#global-nav li:last-child {
  background-color: #FF5500;
  position:relative;
}
ul#global-nav li:last-child::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:last-child 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: flex;
  justify-content: space-around;
  width:100%;
  max-width: 1280px;
  margin:0 auto;
  align-items: center;
  color:#fff;
  padding:200px 0;
}
.inside_mv_content h1{
  font-size:2.5rem;
  font-weight:700;
}
.inside_mv_content h1 span{
  font-size:1.7rem;
}
.inside_mv_content h2{
  font-size:3.43rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top:1rem;
  gap: 1.5rem;
}
.inside_mv_content h2 span:first-child{
  font-size:1.5rem;
  font-weight:500;
}
.inside_mv_content h2 span:last-child{
  line-height: 1;
  display: block;
}
p.top_mv_company_name{
  font-weight:bold;
  font-size:1.5rem;
  margin-top:2rem;
}
p.top_mv_company_name span{
  font-weight:bold;
  font-size:3.6rem;
  line-height: 1;
}
.inside_mv_btn{
  display: flex;
  gap:1rem;
  margin-top:2.4rem;
}
.inside_mv_btn a,
.recruit_btn{
  position:relative;
  border:1px solid #fff;
  display: block;
  width:50%;
  padding-left:2rem;
  box-sizing: border-box;
  height:70px;
  line-height: 70px;
  color:#fff;
  border-radius: 35px;
  background-color:  var(--purple);
}
.inside_mv_btn a:hover{
  background-color:#fff;
  color:  var(--purple);
  border:1px solid var(--purple);
  opacity: 1;
  transition: 0.5s all;
}
.inside_mv_btn a:last-child,
.recruit_btn{
  background-color:  var(--red);
  border:none;
  letter-spacing: 3px;
}
.inside_mv_btn a:last-child:hover,
.recruit_btn:hover{
  background-color: #fff;
  color:var(--red);
  border:1px solid var(--red);
  letter-spacing: 3px;
}
.inside_mv_btn a::after,
.recruit_btn::after{
  position:absolute;
  content:"";
  width:30px;
  height:1px;
  background-color: #fff;
  top:36px;
  right:2rem;
}
.inside_mv_btn a::before,
.recruit_btn::before{
  position:absolute;
  content:"";
  width:1.5px;
  height:12px;
  background-color: #fff;
  transform: rotate(-65deg);
  right:2.3rem;
  top:28px;
}
.inside_mv_btn a:hover::before,
.inside_mv_btn a:hover::after{
  background-color: var(--purple);
}
.inside_mv_btn a:last-child:hover::before,
.inside_mv_btn a:last-child:hover::after,
.recruit_btn:hover::before,
.recruit_btn:hover::after{
  background-color: var(--red);
}
/* 追従ボタン */
.fix_btn_content{
  position:fixed;
  z-index: 15;
  bottom:30px;
  right:30px;
  padding:24px;
  border:2px solid #4F3A93;
  background-color: #F9F7FF;
  border-radius:7px;

  /* 最初は非表示 */
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}

/* 表示用クラス */
.fix_btn_content.is-show{
  opacity: 1;
  pointer-events: auto;
}

.fix_btn_content h3{
  font-size:1.5rem;
}
.fix_btn_content h3 span{
  font-size:2rem;
}

.fix_btn_content .inside_mv_btn{
  display: block;
  margin-top:1rem;
}

.fix_btn_content .inside_mv_btn a{
  width:100%;
  margin-top:1rem;
}

/* ×ボタン */
.fix_btn_close{
  position:absolute;
  top:6px;
  right:8px;
  background:none;
  border:none;
  font-size:20px;
  cursor:pointer;
  line-height:1;
}

/* --------------------
problem
-------------------- */
.problem{
  margin-top:96px;
  padding-top:48px;
}
ul.inside_detail{
  margin-top:96px;
  display: flex;
  justify-content: space-around;
  gap:2rem;
}
ul.inside_detail li{
  text-align: center;
  color:#4F3A93;
  display: flex;
  flex-direction: column;
  -ms-flex-direction: column;
}
ul.inside_detail li p{
  font-size:1.5rem;
  font-weight:700;
}
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:1rem;
  color:var(--black);
}
/* --------------------
revenue
-------------------- */
.revenue{
  margin-top:96px;
  padding-top:48px;
  padding-bottom:100px;
  background-color: #E8E5F1;
  position:relative;
  text-align: center;
}
.revenue_subtitle{
  font-size:1.5rem;
  font-weight:bold;
  margin:40px auto;
  color:var(--text_purple);
  text-align: center;
}
.revenue img{
  width:100%;
  max-width: 1200px;
}
.revenue .inside_mv_btn{
  width:100%;
  max-width: 634px;
  margin:0 auto;
}
.revenue .inside_mv_btn a{
  text-align: left;
}
.revenue::before{
  content:"";
  position:absolute;
  width:100%;
  height:300px;
  background-color: #E8E5F1;
  left:0;
  top:-280px;
  z-index: -1;
}
/* --------------------
case_study
-------------------- */
.case_study{
  padding-top:64px;
  padding-bottom:100px;
  background-color: #E8E5F1;
  position:relative;
}
.case_study::after {
  content: "";
  position: absolute;
  bottom: -99px;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #E8E5F1;
  border-bottom-left-radius: 50% 100px;
  border-bottom-right-radius: 50% 100px;
  z-index: 3;
}
.case_study_inner{
  width:100%;
  max-width: 1200px;
  margin:0 auto;
  padding:100px 40px;
  position:relative;
}
.case_study_inner .case_study_title{
  position:absolute;
  font-size:9rem;
  top:0;
  left:0;
  color:rgba(255,255,255,0.5);
  z-index: 0;
  line-height: 1;
  font-weight:500;
}
.case_study_inner .case_study_title.title2{
  writing-mode: vertical-rl;
  top:140px;
}
.case_study_inner .subtitle{
  font-size:2.4rem;
  color:var(--text_purple);
  font-weight:bold;
  position:relative;
  z-index: 1;
}
.case_study_detail{
  margin:40px auto;
  color:var(--text_purple);
  position:relative;
  z-index: 1;
}
.case_study_detail h4{
  font-size:1.75rem;
  font-weight:bold;
}
.case_study_detail p{
  font-size:1.25rem;
}
.case_study_inner ul{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  z-index: 1;
  width:100%;
  max-width: 1200px;
  margin:0 auto;
}
.case_study_inner ul li{
  padding:24px;
  border-radius:16px;
  background-color: #fff;
  width:calc((100% - 48px) / 3);
}
.case_study_inner ul li span.case_study_cate{
  background-color: #F6F7FA;
  color:#4F3A93;
  font-size:14px;
  display: inline-block;
  padding:6px 8px;
  border-radius:16px;
  line-height: 1;
  font-weight:bold;
}
.case_study_inner ul li h4{
  color:#2F2358;
  font-size:1.5rem;
  font-weight:bold;
}
.case_study_inner ul li h4 span{
  font-size:2.5rem;
}
.case_study_inner ul li p{
  font-size:14px;
  color:#2F2358;
}
.case_study_btn{
  width:100%;
  max-width: 1000px;
  margin:0 auto;
}
.case_study .case_btn{
  color:var(--text_purple);
  border-bottom:1px solid var(--text_purple);
  margin:0 0 0 auto;
  
}
.case_study .case_btn img{
  transform: scale(0.7);
}

/* --------------------
top_feature
-------------------- */
.top_feature{
  padding:180px 0 96px;
}
.top_feature_detail{
  font-size:1.25rem;
  color:var(--text_purple);
  font-weight:bold;
  margin:24px auto 64px;
}
.top_feature_tbl{
  width:890px;
  margin:0 auto;
  text-align: center;
  border-collapse: collapse; /* ←重要 */
}
/* ↓↓↓テーブル罫線↓↓↓ ※太線は擬似要素で対応*/
.top_feature_tbl tr{
  border-bottom:1px solid #E7E7E9;
}
.top_feature_tbl thead th:nth-child(3),
.top_feature_tbl thead th:last-child{
  border-top:1px solid #E7E7E9;
}
.top_feature_tbl thead th:nth-child(3),
.top_feature_tbl thead th:last-child,
.top_feature_tbl tbody td:nth-child(3),
.top_feature_tbl tbody td:last-child{
  border-right:1px solid #E7E7E9;
}
/* ↑↑↑テーブル罫線↑↑↑※太線は擬似要素で対応 */

.top_feature_tbl thead th{
  width:200px;
  text-align: center;
  background: #F6F7FA;
}
.top_feature_tbl thead th.main_head_none{
  visibility: hidden;
  width:160px;
}
.top_feature_tbl thead th.main_head{
  background-color: var(--text_purple);
  color:#fff;
  width:330px;
  font-size:1.5rem;
  position:relative;
  padding-bottom:6px;
  box-sizing: border-box;
}
.top_feature_tbl thead th.main_head::before{
  position:absolute;
  content:"";
  width:100%;
  height:8px;
  top:-8px;
  left:0;
  background-color: var(--text_purple);
}

.top_feature_tbl tbody tr td{
  padding:2rem 0;
}
.top_feature_tbl tbody tr td.td_head{
  background-color:var(--text_purple);
  color:#fff;
  font-size:1.25rem;
  font-weight:bold;
  padding:2rem 0;
}
.top_feature_tbl tbody tr td.main_td{
  background: #F6F7FA;
  color:#2F2358;
  position:relative;
}
.top_feature_tbl tbody tr td.main_td::after{
  content:"";
  position:absolute;
  width:3px;
  height:100%;
  background-color: var(--text_purple);
  top:0;
  right:0;
}
.top_feature_tbl tbody tr:last-child td.main_td::before{
  content:"";
  position:absolute;
  width:100%;
  height:3px;
  background-color: var(--text_purple);
  bottom:0;
  left:0;
}

.top_feature_tbl tbody tr td.main_td p{
  font-size:1.25rem;
  font-weight:bold;
  margin:8px 0;
}
.top_feature_tbl tbody tr td.main_td span{
  font-size:0.75rem;
  font-weight:bold;
}
/* --------------------
feature
-------------------- */
.feature{
  margin-top:96px;
  padding-top:48px;
  padding-bottom:100px;
  background-color: #F9F8FC;
  position:relative;
}

.feature_inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  width:100%;
  max-width: 1280px;
  margin:4rem auto 0;
  background-color: #fff;
  padding:2rem;
}
.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.62rem;
  margin-bottom:1rem;
  font-weight:700;
}
.feature::after{
  content:"";
  position:absolute;
  bottom:-99px;
  left:0;
  width:100%;
  height:100px;
  background-color: #F9F8FC;
  border-bottom-left-radius: 50% 100px;
  border-bottom-right-radius: 50% 100px;
  z-index: 3;
}
/* --------------------
mechanism
-------------------- */
.mechanism{
  position:relative;
  background-color: #E8E5F1;
  padding-top:200px;
  padding-bottom:100px;
}
.mechanism_text{
  margin:40px auto;
}
.mechanism_inner{
  width:100%;
  max-width: 1280px;
  margin:40px auto;
}
ul.mechanism_flow{
  display: flex;
  height:320px;
  width:980px;
  margin:0 auto 3rem;;
}

li.flow_title{
  background-color: #3F2E76;
  color:#fff;
  font-size:1.375rem;
  writing-mode: vertical-rl;
  height:100%;
  padding:0 0.5rem;
  font-weight:700;
}
li.flow_arrow{
  padding:1rem 0 0 2rem;
  width:278px;
  background-color: #fff;
  margin-right:3rem;
  position:relative;
}
li.flow_arrow::after{
  content:"";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 55px solid #fff; /* 幅 = 49px、色は任意 */
  border-top: 160px solid transparent;    /* 高さ / 2 */
  border-bottom: 160px solid transparent; /* 高さ / 2 */
  top:0;
  right:-54px;
  z-index: 2;
}
/* ← シャドウ用の擬似要素（本体より後ろ） */
li.flow_arrow::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 50px solid rgba(0,0,0,0.25); /* 影色 */
  border-top: 160px solid transparent;
  border-bottom: 160px solid transparent;

  top: 3px;
  right: -55px;

  filter: blur(3px); /* 影ぽくボケさせる */
  z-index: 1; /* 本体の下 */
}
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:-99px;
  left:0;
  width:100%;
  height:100px;
  background-color: #E8E5F1;
  border-bottom-left-radius: 50% 100px;
  border-bottom-right-radius: 50% 100px;
}
.process.mechanism::after{
  display: none;
}
/* --------------------
flow
-------------------- */
.flow{
  padding:200px 0 96px;
}
.flow_wrap{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 80px;
}
.flow_title span{
  position:relative;
  display: inline-block;
  border-top:1px sold var(--black);
  border-bottom:1px sold var(--black);
  font-size:1.2rem;
  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:3.25rem;
  font-weight:700;
}
.flow_detail{
  line-height: 2;
  font-size:1.1rem;
  margin-top:1em;
}
.step{ 
  color:#2F2358;
}
.step ul li{
  display: flex;
  align-items: flex-start;
  margin-bottom:41px;
  position:relative
}
.step ul li img{
  width:64px;
  margin-right:24px;
}
.step ul li h3{
  font-size:2rem;
  font-weight:700;
}
.step ul li:not(:last-child)::after{
  content:"";
  position:absolute;
  width:1px;
  height:74px;
  bottom:-42px;
  left:32px;
  background-color: #2F2358;
}
.flow .inside_mv_btn,
.inside_contact .inside_mv_btn{
  width:600px;
  margin:4rem auto 0;
}
/* --------------------
case
-------------------- */
.case{
  background-color: #2F2358;
  padding-top:96px;
  padding-bottom:96px;
}
.case_wrap{
  width:100%;
  max-width: 1280px;
  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: flex;
  width:100%;
  justify-content: space-between;
  gap:1rem;
}
.case-card{
  width:100%;
  background-color: #fff;
  border-radius:7px;
  padding:1.5rem;;
}
.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;
}
/* --------------------
index
-------------------- */
/* mv */
.top_mv.inside_mv{
  background: url(../images/pc/index/kv.png) center center no-repeat;
  background-size: cover;
}
.top_mv.inside_mv::after{
  display: none;
}
.top_mv .inside_mv_content{
  width:50%;
  max-width:640px;
  margin:0 auto 0 10vw;
  display: block;
}
.top_mv .inside_mv_content h2{
  display: block;
}
.top_mv .inside_mv_content h2 span{
  font-size:1.25rem;
  line-height: 1.7;
}
/* ploblem */
span.inside_detail_title{
  background-color: #210189;
  color:#fff;
  display: block;
  font-size:1.6rem;
  padding:6px 0;
  width:60%;
  margin:0 auto 1rem;
}
span.inside_detail_text{
  margin:12px auto 20px;
}
.problem_solution_content{
  text-align: center;
  margin-top:24px;
  border-radius:8px;
  background-color: #F9F8FC;
}
.problem_solution_content h4{
  color:#fff;
  font-size:1.6rem;
  background-color: #4F3A93;
  padding:8px 0;
  border-radius: 16px 16px 0 0;
}
ul.inside_detail li .problem_solution_content p{
  font-size:1.2rem;
  margin:20px auto;
  font-weight:normal;
}
.solution_btn{
  background-color: #FF5500;
  width:280px;
  height:46px;
  line-height:46px;
  border-radius:23px;
  color:#fff;
  margin:0 auto 20px;
}
a.arrow_btn{
  position:relative;
}
a.arrow_btn::after{
  position:absolute;
  content:"";
  width:30px;
  height:1px;
  background-color: #fff;
  top:24px;
  right:1.6rem;
}
a.arrow_btn::before{
  position:absolute;
  content:"";
  width:1.5px;
  height:12px;
  background-color: #fff;
  transform: rotate(-65deg);
  right:1.9rem;
  top:16px;
}
.problem_explanation{
  margin-top:6rem;
  font-size:2rem;
  color:var(--text_purple);
}
.problem_explanation span{
  font-size:1rem;
}
/* about */
.about{
  position:relative;
}
.about::after {
  content: "";
  position: absolute;
  bottom: -99px;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #F9F8FC;
  border-bottom-left-radius: 50% 100px;
  border-bottom-right-radius: 50% 100px;
  z-index: 3;
}
.about h3.inside_subtitle{
  font-size:4rem;
}
.about h3.inside_subtitle span{
  font-size:1.5rem;
  display: inline;
}
.about h3.inside_subtitle span.title_icon{
  display: block;
}
.about h4{
  font-size:2rem;
  margin:40px auto 20px;
  color:var(--text_purple);
  font-weight:bold;
}
.about_detail{
  color:var(--text_purple);
}
ul.about_belief{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding:64px 40px 40px;
  gap:24px;
  width:100%;
  max-width:1024px;
  margin:96px auto 0;
  border:1px solid #4F3A93;
  border-radius:16px;
  position:relative
}
ul.about_belief li p{
  font-size:1.5rem;
  font-weight:bold;
  margin:1rem auto;
  color:var(--text_purple);
}
ul.about_belief li p.inside_content_txt{
  font-size:1rem;
  font-weight:normal;
  color:var(--black)
}
ul.about_belief span{
  position:absolute;
  background-color: #F9F8FC;
  color:#3F2E76;
  left:50%;
  transform: translateX(-50%);
  top:-30px;
  padding:0 24px;
  display: inline-block;
  z-index: 2;
  font-size:2.25rem;
  font-weight:bold;
}
/* --------------------
lead_bridge
-------------------- */
.introduction{
  margin:80px auto 0;
  color:var(--text_purple);
}
.introduction h3{
  font-size:2rem;
  margin-bottom:32px;
  font-weight:bold;
}
.introduction p{
  font-size:1.5rem;
  font-weight:500;
  line-height: 1.7;
}
/* problem */
.problem.problem--leadbridge{
  padding:0;
}
.problem--leadbridge ul li span.inside_detail_title{
  width:100%;
  color:var(--text_purple);
  background-color: transparent;
  font-size:1.12rem;
  height:38px;
}
.problem--leadbridge ul li span.inside_detail_title span{
  font-size:0.8rem;
}
.problem--leadbridge ul li span.inside_detail_text{
  text-align: left;
}
.problem--leadbridge img.problem_arrow{
  width:240px;
  margin:40px auto 0;
  display: block;
}
div.introduction span{
  font-weight:bold;
  text-decoration: underline;
}
/* reason */
.reason h3.inside_subtitle span{
  font-size:1.2rem;
  font-weight:normal;
  margin-top:1em;
}
.reason_wrap{
  width:800px;
  margin:64px auto 0;
  position:relative
}
.reason_wrap_center{
  width:240px;
  height:240px;
  border-radius:120px;
  background-color: var(--text_purple);
  color:#fff;
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  text-align: center;
  font-weight:bold;
  display: flex;
  flex-direction: column;
  -ms-flex-direction: column;
  align-items: center;
  justify-content: center;
}
.reason_wrap_center h4{
  font-size:1.2rem;
  font-weight:bold;
}
.reason_wrap_center p{
  font-size:1.5rem;
}
.reason_wrap ul{
  display: flex;
  align-items: center;
  justify-content: center;
  gap:20px;
  flex-wrap: wrap;
  text-align: center;
}
.reason_wrap ul li{
  width:390px;
  height:390px;
  border-radius:195px;
  padding-top:50px;
  box-sizing: border-box;
  background-color: #fff;;
}
.reason_wrap ul li span.reason_no{
  font-size:1.5rem;
  color:#B5ACD2;
  display: block;
  margin-bottom:50px;
}
.reason_wrap ul li h4{
  font-size:28px;
  font-weight:bold;
  line-height: 1.25;
  color:#3F2E76;
}
.reason_wrap ul li p{
  margin-top:1em;
}
.reason .inside_mv_btn{
  width:100%;
  max-width:580px;
  margin:64px auto 0;
}
/* leadbredge--case */
.leadbredge--case{
  padding:150px 0 96px;
}
.lb_case_wrap{
  margin-top:64px;
}
.lb_case_content{
  display: flex;
  box-sizing: border-box;
  padding:46px 64px;
  gap: 40px;
  align-items: flex-start;
  justify-content: flex-start;
  border:1px solid #4F3A93;
  border-radius:16px;
  margin-bottom:24px;
}
.lb_case_explan span.case_no{
  font-weight:bold;
  color:#4F3A93;
}
h4.case_title{
  font-size:1.5rem;
  color:var(--text_purple);
  font-weight:bold;
  margin:10px 0;
}
h4.case_title span{
  font-size:2.5rem;
}
h5.case_sub_title{
  font-size:1.12rem;
}
.lb_case_explan p{
  margin: 1.5rem auto;
}
.lb_case_explan a{
  background-color: #2F2358;
  color:#fff;
  padding:8px 24px;
  display: inline-block;
  text-align: left;
  border-radius:24px;
}
.lb_case_explan a span{
  padding-left:1rem;
}
/* lead_archive */
.lead_archive{
  background-color: #F9F8FC;
  padding-top:96px;
  padding-bottom:96px;
}
.lead_archive .inside_subtitle span,
.lb_plan .inside_subtitle span{
  font-size:1.5rem;
  margin-top:1rem;
}
dl.phase{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width:100%;
  max-width: 780px;
  margin:56px auto 0;
  gap: 1rem;
}
dl.phase dt{
  font-size:1.2rem;
  font-weight:bold;
  padding-top:14px;
  padding-right:96px;
  position:relative;
}
dl.phase dt::after{
  position:absolute;
  content:"";
  width:64px;
  height:62px;
  right:0;
  top:0;
  background: url(../images/pc/leadbridge/archive_icon1.png) top center no-repeat;
  background-size: contain;
}
dl.phase dt::before{
  position:absolute;
  content:"";
  width:1px;
  height:147px;
  right:32px;
  top:62px;
  background-color: #2F2358;
}
dl.phase dd span{
  font-size:1.75rem;
  font-weight:bold;
  color:#2F2358;
  margin-bottom:10px;
}
div.block{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap:4px;
}
div.block h4{
  display: inline-block;
  font-size:0.9rem;
  width:88px;
  height:25px;
  line-height: 25px;
  background-color: #E8E5F1;
  border-radius: 12.5px;
  text-align: center;
}
div.block ul{
  list-style: disc;
  line-height: 1.7;
  color:#2F2358;
  padding-left: 2em;
}
/* アイコン調整 */
dl.phase.phase-2 dt::after{
  background: url(../images/pc/leadbridge/archive_icon2.png) top center no-repeat;
  background-size: contain;
}
dl.phase.phase-3 dt::after{
  background: url(../images/pc/leadbridge/archive_icon3.png) top center no-repeat;
  background-size: contain;
}
dl.phase.phase-4 dt::after{
  background: url(../images/pc/leadbridge/archive_icon4.png) top center no-repeat;
  background-size: contain;
}
dl.phase.phase-4 dt span.triangle{
  position:absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 8px solid #2f2358;
  border-bottom: 0;
  bottom:-174px;
  right:29px;
}
/* lb_plan */
.lb_plan{
  background-color: #E8E5F1;
  padding-top: 96px;
  padding-bottom: 96px;
}
table.lb_tbl{
  width:100%;
  max-width: 1080px;
  margin:64px auto;
  font-size:1.375rem;
  font-weight:bold;
  text-align: center;
  color:#2F2358;
  border:1px solid #3F2E76;
}
table.lb_tbl th{
  font-weight:bold;
  text-align: center;
  background-color: #F6F7FA;
}
table.lb_tbl thead tr th{
  padding:10px 0;
  border-left:1px solid #3F2E76;
}
table.lb_tbl thead tr th.th_none{
  visibility: hidden;
}
table.lb_tbl thead tr th:not(:first-child){
  width:330px;
}
table.lb_tbl thead tr th:last-child{
  background-color: #D7D2E7;
}
table.lb_tbl thead tr th:nth-child(3){
  background-color: #E8E5F1;
}
table.lb_tbl tbody tr th{
  font-size: 1rem;
  padding:1em 0;
  border-top:1px solid #3F2E76;
}
table.lb_tbl tbody tr:first-child td{
  padding:32px 0;
}
table.lb_tbl tbody tr td{
  border-top:1px solid #3F2E76;
  background-color: #fff;
  border-left:1px solid #3F2E76;
}
table.lb_tbl tbody tr td span{
  font-weight:normal;
  font-size:0.9rem;
  margin-top:1em;
  line-height: 1;
}
/* --------------------
it_support
-------------------- */
.top_mv.inside_mv.itspt{
  background: url(../images/pc/itsupport/mv.png) center center no-repeat;
  background-size: cover;
}
.top_mv.inside_mv.itspt h1{
  font-size:4.4rem;
}
.top_mv.inside_mv.itspt h2 span{
  margin-top: 1rem;
}
.top_mv.inside_mv.itspt h2{
  font-size:2.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
/* its_problem */
.its_problem .inside_subtitle{
  margin-bottom:40px;
}
.its_problem img.problem_arrow{
  width:240px;
  display: block;
  margin:64px auto 0;
}
.its_problem_explan{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  margin-top:24px;
}
.its_problem_content{
  width:400px;
}
.its_problem_content span{
  display: inline-block;
  padding:6px 16px;
  color:var(--text_purple);
  background-color: #F6F7FA;
  border-radius:15px;
  margin-bottom:16px;
}
.its_problem_content h4{
  font-size:1.625rem;
  color:var(--text_purple);
  font-weight:bold;
}
.its_problem .its_problem_content img.problem_arrow{
  width:80px;
  display: block;
  margin:24px auto;
}
.its_problem_content dl{
  width:100%;
}
.its_problem_content dl dt{
  font-size:1.125rem;
  padding:8px 0;
  color:var(--text_purple);
  background-color: #E8E5F1;
}
.its_problem_content dl dd{
  font-size:1.625rem;
  color:var(--text_purple);
  font-weight:bold;
  padding:24px 0;
  border:1px solid #E8E5F1;
}
.its_problem_content dl dd a{
  font-size:1.125rem;
  padding:8px;
  width:260px;
  border-radius:20px;
  border:1px solid #4F3A93;
  display: block;
  margin:1rem auto;
}
/* its_reason */
.its_reason{
  margin-top:96px;
  padding-top:80px;
  padding-bottom:40px;
  background-color: #F9F8FC;
}
.its_reason.bottom_circle::after {
  background-color: #F9F8FC;
}
.its_reason .inside_subtitle{
  margin-bottom:20px;
}
.its_reason .about_detail{
  margin-bottom:64px;
}
.its_reazon_content{
  display: flex;
  width:100%;
  max-width:780px;
  margin:0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap:22px;
  margin-bottom:40px;
}
span.its_reason_no{
  font-size:4.5rem;
  color:#B5ACD2;
  font-family: "Be Vietnam Pro", sans-serif;
  font-style: italic;
  font-weight:400;
  margin-right:22px;
}
.its_reason_detail h4{
  color:#4F3A93;
  font-size:1.75rem;
  font-weight:bold;
  padding-top:1rem;
}
.its_reason_detail h4 span{
  font-size:3.125rem;
}
.its_reason_detail ul{
  margin-top:0.5rem;
  line-height: 1.7;
  padding-left:3.6rem;
}
.its_reason_bottom{
  font-size:2rem;
  color:#4F3A93;
  font-weight:bold;
  width:380px;
  margin:72px auto;
  height:80px;
  line-height: 80px;
  border-radius: 40px;
  background-color: #fff;
  text-align: center;
}
.its_reason_bottom span{
  font-size:3.75rem;
}
/* its_solution */
.its_solution{
  padding-top:300px;
  background-color: #E8E5F1;
  padding-bottom:96px;
}
.its_solution.bottom_circle::after {
  background-color: #E8E5F1;
}
.its_solution_wrap{
  width:100%;
  max-width:915px;
  margin:40px auto 0;
}
ul.its_solution_nav{
  display: flex;
  justify-content: space-between;
  gap:20px;
  margin-bottom:48px;
}
ul.its_solution_nav li{
  background-color: #fff;
  width:calc((100% - 40px) / 3);
  height:60px;
  border-radius:30px;
  display: flex;
  padding-left:1.5rem;
  align-items: center;
  justify-content: center;
  position:relative;
  font-weight:bold;
  color:#2F2358;
}
ul.its_solution_nav li::before{
  content:"01";
  position:absolute;
  width:20px;
  height:20px;
  font-size:1.2rem;
  top:8px;
  left:24px;
  color:#B5ACD2;
}
ul.its_solution_nav li:nth-child(2):before{
  content:"02";
}
ul.its_solution_nav li:nth-child(3):before{
  content:"03";
}
.its_solution_content{
  background-color: #fff;
  padding: 48px;
  border-radius:16px;
  margin-bottom:2rem;
}
.its_solution_content h3{
  font-size:2rem;
  color:var(--text_purple);
  font-weight:bold;
}
.its_solution_content h3 span{
  font-size:1.1rem;
  color:#B5ACD2;
}
.its_solution_inner{
  margin-top:40px;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  justify-content: center;
}
.solution_inner_head span{
  display: inline-block;
  background-color: var(--text_purple);
  color:#fff;
  padding:4px 1em;
  width:180px;
  border-radius: 14px;
  font-size:1rem;
  text-align: center;
  margin-bottom:1rem;
}
.solution_inner_head ul{
  font-size:1.25rem;
  color:#2f2358;
}
.solution_inner_head ul li{
  display: flex;
  align-items: center;
}
.solution_list li{
  font-size:0.9rem;
  color:#0E1420;
  padding:4px 12px;
  background-color:#F6F7FA;
  margin-bottom:8px;
}
.its_solution_content img.problem_arrow{
  width:160px;
  display: block;
  margin:40px auto;
}
.its_solution_content h4{
  font-size:2rem;
  font-weight:bold;
  text-align: center;
  color:var(--text_purple);
}
.its_solution_content .introduction{
  margin-top:1rem;
}
.its_solution_content .introduction p{
  font-size:1rem;
}
.solution3_content h4{
  color:var(--text_purple);
  font-size:1.125rem;
  text-align: center;
  margin:1rem auto;
  font-weight:bold;
}

.solution3_list{
  display: flex;
  gap: 24px;
}
.solution3_list dl{
  background-color: #F9F8FC;
  text-align: center;
  padding:1rem 0;
  width:calc((100% - 24px) / 2);
}
.solution3_list dl dt{
  font-weight:bold;
}
.solution3_list dl dd{
  padding-top:1rem;
}
/* its_case */
.its_case{
  padding-top:300px;
}
.its_case .inside_subtitle{
  margin-bottom:24px;
}
.its_case p.ta_c{
  margin-bottom:80px;
}
.its_case_content{
  max-width: 1200px;
  margin:0 auto 24px;
  display: flex;
  align-items: flex-start;
  border:1px solid #E7E7E9;
  border-radius:16px;
  padding:2rem 40px;
  gap:24px;
  justify-content: flex-start;
  box-sizing: border-box;
}
.its_case_detail{
  font-weight:bold;
}
.its_case_detail span.case_no{
  color:#4F3A93;
}
.its_case_detail h3{
  font-size:2rem;
  font-weight:bold;
  color:#2F2358;
}

.its_case_detail span.fc_s{
  font-weight: normal;
}
.its_case_result{
  margin:1rem 0;
  display: flex;
  gap:2rem;
}
.its_case_result dl{
  display: flex;
  align-items: center;
  gap:1rem;
  font-weight:normal;

}
.its_case_result dl.assignment{
  background-color: #F6F7FA;
  padding:12px 1rem;
}
.its_case_result dl dt{
  writing-mode: vertical-lr;
  border:1px solid #666373;
  border-radius:7px;
  padding:8px 0;
}
.its_case_result dl.result dd{
  font-size:1.5rem;
  text-align: center;
  line-height: 1;
  color:#2F2358;
  font-weight: bold;
  margin-right:1.5rem;
}
.its_case_result dl.result.case2 dd,
.its_case_result dl.result.case3 dd:last-child{
  line-height: 1.7;
}
.its_case_result dl.result.case3 dd:last-child span{
  font-size:2.5rem;
}
.its_case_result dl.result.case3 dd:last-child span.small{
  font-size:1rem;
}
.its_case_result dl.result dt{
  height:80px;
  text-align: center;
}
.its_case_result dl.result dd strong{
  font-weight:bold;
  font-size:4.375rem;
}
.its_case_detail p{
  padding:0.8rem 1rem;
  background-color: #4F3A93;
  color:#fff;
  font-size:1.25rem;
  font-weight:500;
  border-radius:8px;
  width:856px;
  box-sizing: border-box;
  margin-bottom:1rem;
}
.its_case_detail p span{
  display: inline-block;
  padding:2px 8px;
  border:1px solid #fff;
  border-radius:8px;
  margin-right:1rem;
}
/* its_quality */
.its_reason.its_quality::after{
  display: none;
}
/* its_resource */
.its_resource{
  padding-top:96px;
  padding-bottom:96px;
  background-color: #E8E5F1;
}
.resource_wrap{
  width:100%;
  max-width: 1200px;
  margin:128px auto 48px;
  border:1px solid #4F3A93;
  border-radius: 16px;
  padding:72px 50px;
  position:relative;
}
.resource_wrap h3{
  width:494px;
  height:74px;
  line-height: 74px;
  font-size:28px;
  position:absolute;
  top:-37px;
  left:50%;
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 37px;
  color:var(--text_purple);
  font-weight:bold;
  text-align: center;
}
.resource_wrap ul{
  display: flex;
  padding-bottom:40px;
  align-items: center;
  justify-content: space-around;
  border-bottom:1px solid var(--text_purple);
}
.resource_wrap ul li{
  text-align: center;
  color:#2F2358;
}
.resource_wrap ul li p.college_cate{
  font-size:1.5rem;
  font-weight:500;
  margin:1rem auto;
}
.program_detail{
  margin-top:56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  color:#2F2358;
}
.program_detail span{
  display: inline-block;
  background-color: #D7D2E7;
  padding:1rem;
  border-radius:32px;
  font-size:1.25rem;
}
.program_detail div p{
  font-size:1.625rem;
}
.resource_merit{
  margin:48px auto 0;
  width:100%;
  max-width:1200px;
  display: flex;
  background-color: #4F3A93;
  color:#fff;
  padding:24px 64px;
  align-items: center;
  box-sizing: border-box;
  gap: 2rem;
  justify-content: center;
  border-radius: 16px;
}
.resource_merit ul{
  font-weight:500;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  padding:0;
  gap:24px;
}
.resource_merit ul li{
  color:#fff;
  text-align: left;
  font-size:1.3rem;
  width:calc((100% - 24px) / 2)
}
/* its_flow */
.its_flow .flow_wrap{
  display: block;
  width:100%;
  max-width: 580px;
  margin:56px auto;
}
.promise{
  display: flex;
  align-items: center;
  padding:24px 40px;
  background-color: #F6F7FA;
  border-radius:16px;
  color:#3F2E76;
  width:892px;
  margin:56px auto 0;
  gap:32px;
  font-size:1.5rem;
}
.promise span{
  font-weight:500;
}
.promise ul li{
  line-height: 2;
}
/* --------------------
inside_contact
-------------------- */
.inside_contact{
  background: url(../images/pc/inside/contact_bg.png) center center no-repeat;
  background-size: cover;
  padding-top:84px;
  padding-bottom:84px;
  color:#fff;
}
.inside_contact h3{
  font-size:5rem;
  font-weight:700;
  margin-bottom:20px;
}
.inside_contact p{
  margin-bottom:40px;
}
/* --------------------
policy
-------------------- */
h2.inside_sub_head{
  padding:125px 0 75px;
  font-size:2.5rem;
  font-weight:700;
  color:var(--purple);
}
.policy_wrap{
  background-color: #F9F8FC;
  padding:40px 0;
}
.policy_nav{
  display: flex;
  justify-content: center;
  gap:30px;
  
}
.policy_nav li a{
  height:38px;
  line-height: 38px;
  border-radius: 19px;
  font-size:0.9rem;
  background-color: #fff;
  font-weight:700;
  padding:0 2rem;
}
.policy_nav li.active a{
  background-color: #4F3A93;
  color:#fff
}
.policy_content h3{
  font-size:2rem;
  font-weight:700;
  margin-top:40px;
}
.policy_content ol{
  padding:2rem;
}
.policy_content ol li h4{
  font-size:1.5rem;
  font-weight:700;
  margin-top:1em;
}
.policy_content ol li p{
  padding-left:1.2rem;
  margin-top:10px;
}
.policy_content ol li ul{
  margin-top:1rem;
}
.policy_content ol li ul li{
  padding-left:3rem;
}
.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{
  max-width: 1000px;
}
.inside_contact_wrap .confirm_inner h2{
  font-size:2rem;
  margin-bottom:1em;
  font-weight:500;
}
.inside_contact_wrap form h3,
.inside_contact_wrap .confirm_inner h3{
  font-weight:700;
  margin-bottom:8px;
  text-align: left;
}
.inside_contact_wrap form h3 span,
.inside_contact_wrap .confirm_inner h3 span{
  font-size:10px;
  color:#fff;
  background-color: #4F3A93;
  padding:3px 10px;
  margin-left:5px;
  border-radius:10px;
}
.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;
}
form input[name="address"]{
  margin-top:10px;
}
.mw_wp_form label.file-btn{
  width:130px;
  height:40px;
  border-radius:20px;
  background-color: #6A56C9;
  color:#fff;
  display: inline-block;
  margin-top:1rem;
  position:relative
}
.mw_wp_form label.file-btn span{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  color:#fff;
  font-size:14px;
  display: block;
  width:100%;
  text-align: center;

}
.mw_wp_form input[type="file"]{
  display: none!important;
}
.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="name"],
.inside_contact_wrap form input[name="fullname"],
.inside_contact_wrap form input[name="rubi"],
.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 input[name="mail"],
input.entry_box{
  border-radius:23px;
  border:1px solid rgba(0,0,0,0.1)
}
.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"],
.inside_contact_wrap form button[type="button"]{
  width:90%;
  display: block;
  max-width:460px;
  margin:0 auto;
  color:#fff;
  font-size:1.5rem;
  font-weight:700;
  border-radius:36px;
  height:76px;
  line-height: 76px;
  text-align: center;
  background-color: #2F2358;
  position:relative;
  border:none;
}
.inside_contact_wrap form input[type="submit"][name="submitBack"],
.inside_contact_wrap form input[type="submit"][name="check_btn"]{
  width:45%;
  display: inline;
}

.doc_confirm_btn{
  display: flex;
  justify-content: space-between;
  width:80%;
  max-width: 780px;
  gap :24px;
  margin:0 auto;
}
.doc_confirm_btn .inside_contact_wrap form button[type="submit"],
.doc_confirm_btn .inside_contact_wrap form button[type="button"]{
  width:50%;
}
.inside_contact_wrap form input[type="submit"]:hover,
.inside_contact_wrap form button[type="submit"]:hover,
.inside_contact_wrap form button[type="button"]:hover{
  background-color: #fff;
  color: #2F2358;
  cursor: pointer;
  transition: 0.5s all;
  border:1px solid #2F2358;
}
.inside_contact_wrap form input[type="submit"]::after,
.inside_contact_wrap form button[type="submit"]::after,
.inside_contact_wrap form .doc_confirm_btn  button[type="button"]::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;
}
.inside_contact_wrap form .doc_confirm_btn  button[type="button"]::after{
  right:auto;
  left:2rem;
  transform: scale(-1, 1);
}
.thanks_message{
  width:95%;
  margin:100px auto;
  max-width:680px;
}
.thanks_message h3{
  font-size:2rem;
  margin-bottom:1em;
  font-weight:500;
}
/* --------------------
document_download
-------------------- */
.doc_contact{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap:2rem;
}
.document_choise{
  width:50%;
  
}
.document_choise_wrap{
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top:2rem;
}
.document_form{
  width:50%;
  box-sizing: border-box;
}
.document_choise .check_field{
  display:block;
  width:48%;
  margin-left: 0 !important;
  margin-bottom:2rem;
  box-sizing: border-box;
  font-size:12px;
  background-color: #fff;
}
.document_choise .check_field span{
  padding:8px;
  text-indent: 0;
  display: block;
  text-align: left;
}
.document_choise .check_field img{
  width:100%;
  margin-bottom:8px;
}
.document_choise .check_field label{
  /* position:absolute; */
  padding-left:calc(1em + 8px);
  display: block;
  font-size:14px;
  line-height: 1.3;
  font-weight:700;
  text-indent: -1em;
  text-align: left;
}
.confirm_inner{
  padding:3rem;
  width:90%;
  max-width:780px;
  margin:60px auto;
  background-color: #fff;
}
.dl_btn_wrap h3{
  font-size:1rem;
}
.dl_btn_wrap ul{
  width:90%;
  max-width:960px;
  margin:60px auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap:30px;
  box-sizing: border-box;
}
.dl_btn_wrap ul li{
  margin-bottom:3rem;
  width:90%;
  max-width:280px;
}
.dl_btn_wrap ul li span{
  text-align: center;
  display: block;
  font-size:1.4rem;
  font-weight:500;
  margin-bottom:1rem;
}
.dl_btn_wrap ul li a{
  display: block;
  margin:0 auto;
  color:#fff;
  font-size:1.3rem;
  font-weight:700;
  border-radius:36px;
  height:76px;
  line-height: 76px;
  text-align: center;
  background-color: #2F2358;
  position:relative;
}
.dl_btn_wrap ul li a::after{
  content:"";
  position:absolute;
  background: url(../images/pc/inside/download_icon.png) center center no-repeat;
  background-size: cover;
  width:17px;
  height:16px;
  top:30px;
  right:20px;
}
section.policy_wrap.inside_contact_wrap div{
  text-align: center;
}
section.policy_wrap.inside_contact_wrap form{
  text-align: left;
}
/* --------------------
insidesales_company
-------------------- */
table.inside_company{
  width:90%;
  max-width: 900px;
  margin:0 auto;
}
table.inside_company tr th,
table.inside_company tr td{
  padding:1.8rem;
}
table.inside_company tr:not(:first-child){
  border-top:1px solid #BDBDBD;
}
table.inside_company tr th{
  font-weight:700;
  width:15%;
  vertical-align: top;
}
table.inside_company ul{
  padding-bottom:1em;
}
/* --------------------
single-case
-------------------- */
.case_head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.case_head_text h3{
  font-size:1.2rem;
}
.case_head_text h2{
  font-size:2.2rem;
  margin:1rem 0;
}
.case_head_text p{
  font-size:1.1rem;
}
.case_head_text p.case_content_title{
  font-size:3rem;
  color:#4F3A93;
  margin:1.5rem 0;
}
dl.case_detail dt{
  font-size:1.6rem;
  font-weight:500;
  padding-left:1.2em;
  position:relative;
  margin-top:4rem;
}
dl.case_detail dt::before{
  position:absolute;
  content:"";
  left:0;
  top:10px;
  width:18px;
  height:18px;
  border-radius:9px;
  background-color: black;
}
dl.case_detail dd{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top:1rem;
}
dl.case_detail dd span{
  padding-right:2rem;
}

/* --------------------
breadcrumb
-------------------- */
.breadcrumb {
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px; /* aタグと > の間の余白 */
    padding:20px 0;
}

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

.breadcrumb span {
    color: #303030;
    font-weight:700;
}
/* --------------------
recruit
-------------------- */

.bottom_circle.recruit_mv::after{
  background-color: #fff;
}
.recruit_mv_title{
  padding-top:220px;
  padding-bottom:160px;
}
.recruit_mv h1{
  font-size:5rem;
  color:#2F2358;
  font-weight:bold;
  line-height: 1;
}
.recruit_mv h1 span{
  font-size:8.125rem;
}
.recruit_mv h2{
  color:#2F2358;
  font-size:1.5rem;
  margin-top:64px;
  font-weight:bold;
}
.recruit_mv h2 span{
  font-size:18px;
  font-weight:normal;
}
[class^="recruit_mv_image"]{
	position:absolute
}
.recruit_mv_image1{
  left:72px;
  top:275px;
}
.recruit_mv_image2{
  left:60px;
  top:432px;
}
.recruit_mv_image3{
  left:247px;
  top:584px;
}
.recruit_mv_image4{
  right:117px;
  top:110px;
}
.recruit_mv_image5{
  right:47px;
  top:327px;
}
.recruit_mv .recruit_btn{
  width:216px;
  margin:1rem auto 0;
  text-align: left;
}
/* reason */
.recruit_reason{
  background-color: #F9F8FC;
  color:#2F2358;
  padding-top:128px;
  padding-bottom:128px;
}
.bottom_circle.recruit_reason::after{
  background-color: #F9F8FC;
}
.recruit_reason_wrap{
  width:100%;
  max-width: 1200px;
  margin:0 auto;
}
.recruit_reason_wrap h2{
  font-weight:bold;
  font-size:4rem;
}
.recruit_reason_wrap h2 span{
  font-size:1.25rem;
  display: block;
}
.recruit_reason_detail{
  width:54%;
  margin:24px 0 0 auto;
  font-size:1.5rem;
}
.recruit_reason_detail ul{
  font-size:1rem;
  margin:3rem auto;
  list-style-type: disc;
  padding-left:2rem;
}
.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:2rem;
  font-weight:bold;
  margin-top:2rem;
}
.recruit_reason_detail ol li span{
  font-size:16px;
  font-weight:normal;
  display: block;
  padding-left:2rem;
}
.recruit_reason_detail ol li span.recruit_no{
  font-size:2rem;
  color:#B5ACD2;
  margin-right:8px;
  font-weight:bold;
  display: inline;
  padding-left:0;
}
.recruit_reason_detail img{
  margin-top:2rem;
}
.recruit_culture{
  padding-top:240px;
  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 span{
  font-size:1.5rem;
  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: flex;
  gap:16px;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  width:992px;
  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:80px;
  width:100%;
  max-width: 1200px;
  border-radius:32px;
  margin:0 auto;
}
.recruit_culture_detail h3{
  font-size:2.5rem;
  font-weight:bold;
  margin-bottom:2rem;
  color:#3F2E76;
}
.recruit_culture_detail_inner{
  display: flex;
  align-items: flex-end;
  flex-direction: row-reverse;
}
.recruit_culture_detail_inner{
  color:#3F2E76;
  font-size:1.25rem;
}
.recruit_list{
  padding-top:240px;
  padding-bottom:100px;
}
.recruit_list_detail{
  margin:64px auto 0;
  width:824px;
  font-size:1.25rem;
}
.recruit_list_detail.warning{
  margin:64px auto 96px;
  padding:1rem;
  font-weight:bold;
  border-radius:32px;
  background-color: #2F2358;
  color:#fff;
}
.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;
}
a.company_link{
  display: block;
  margin:56px auto 0;
  width:200px;
  height:60px;
  line-height: 60px;
  border-radius: 30px;
  background-color: #fff;
  color:#4F3A93;
  text-align: center;
  position:relative;
}
a.company_link::after{
  position: absolute;
  content: "";
  width:6px;
  height:6px;
  right:24px;
  bottom:24px;
  transform:rotate(-45deg);
  border-right:1px solid #4F3A93;
  border-bottom:1px solid #4F3A93;
}
a.company_link.re::after{
  position: absolute;
  content: "";
  width:6px;
  height:6px;
  right:auto;
  left:16px;
  bottom:24px;
  transform:rotate(135deg);
  border-right:1px solid #4F3A93;
  border-bottom:1px solid #4F3A93;
}
/* 募集詳細 */
table.inside_company.recruit tr th{
  width:25%;
}
/* --------------------
inside_footer
-------------------- */
footer{
  padding-bottom:20px;
}
.footer_content{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding:20px 0;
  width:100%;
  max-width: 1280px;
  margin:0 auto;
}
.footer_logo{
  width:128px;
}
.footer_logo img{
  width:100%;
}
.footer_nav_content{
  display: flex;
  gap:60px;
  align-items: flex-start;
  font-size:14px;
}
.footer_nav_content dl dt{
  font-weight:700;
  line-height: 2;
}
.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;
}
/* --------------------
modal
-------------------- */
.modal{
  background-color:rgba(249,248,252,0.8);
  padding:100px 0;
  display: none; /* 最初は隠す */
}
.modal_overlay{
  position: fixed;
  inset: 0;
  overflow-y:auto;
  z-index: 9999;
}

.modal_inner{
  width:100%;
  max-width:375px;
  border-radius:32px;
  background-color: #fff;
  margin:0 auto;
  padding:60px 16px;
  color:#2F2358;
  position:relative;
}
button.modal_close{
  width:30px;
  height:30px;
  font-size:20px;
  position:absolute;
  top:10px;
  right:10px;
  border-radius: 50%;
  background-color: #4F3A93;
  color:#fff;
  font-weight:bold;
  border: none;
  cursor: pointer;
}
.modal_head p{
  margin:1rem auto;
}
.modal_head p.case_title{
  font-size:24px;
  color:#B5ACD2;
  margin:1rem auto;
}
.modal_head{
  margin-bottom:2rem;
}
.modal_head h3{
  font-size:24px;
  color:#2F2358;
  line-height: 1.2;
  font-weight:bold;
}
.modal_head h3 span{
  font-size:40px;
}
.be-a{
  margin-top:2rem;
}
.ba_title{
  display: flex;
  align-items: center;
  margin-bottom:16px;
}
.ba_title .before span,
.ba_title .after span{
  background-color: #F6F7FA;
  font-size:12px;
  padding:6px 8px;
  border-radius:7px;
  display: inline-block;
  margin-right:7px;
}
.ba_title .after{
  margin-left:24px;
}
.ba_title .after{
  font-size:20px;
  font-weight:bold;
}
.ba_title .after span{
  background-color: #4F3A93;
  color:#fff;
}
.ba_content{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.before_detail{
  font-size:14px;
  width:110px;
  height:112px;
  padding-left:10px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  background-color: #F6F7FA;
  margin:0 auto 16px
}
.after_detail{
  width:180px;
  border-radius:16px;
  text-align: center;
  font-weight:bold;
  background-color: #F6F7FA;
  border:2px solid #4F3A93;
  line-height: 1.3;
  height:112px;
  padding:10px;
  margin:0 auto 16px
}
.after_detail span{
  font-size:2em;
}
.after_detail span.txt{
  font-size:1.3em;
}
.after_detail.ex{
  font-size:14px;
}
.before_detail.ex,
.after_detail.ex{
  height:142px;
}
.contraption{
  margin-top:40px;
}
.contraption h3{
  font-size:24px;
  text-align: center;
  font-weight:bold;
  margin-bottom:2rem;
}
.contra_phase{
  padding:16px;
  border:1px solid #4F3A93;
  text-align: center;
  border-radius:16px;
  margin-bottom:16px;
}
.phase_title{
  font-size:12px;
  display: inline-block;
  padding:2px 10px;
  background-color: #F6F7FA;
  color:#4F3A93;
  margin:0 auto;
  font-weight:bold;
}
.contra_phase h4{
  font-size:20px;
  margin:10px auto;
  font-weight:bold;
}
.phase_text{
  padding:8px 0;
  border-radius: 9999px;
  background-color: #F6F7FA;
  font-weight:bold;
}
.modal_voice_wrap{
  margin-top:40px;
  padding:8px 16px 24px;
  background-color: #F9F8FC;
  border-radius:16px;
}
.modal_voice_title{
  display: inline-block;
  padding:4px 1rem;
  border-radius: 9999px;
  background-color: #3F2E76;
  color:#fff;
  font-weight:bold;
  margin:1rem auto;
}


