@charset "UTF-8";
/* CSS Document */

/* ========================================
  Tablet CTA Adjustments
======================================== */
@media screen and (max-width:1000px){
  .headerCta a {
    width: 270px;
    height: 60px;
    font-size: 14px;
    font-weight: 600;
  }
.headerCta a.button-outline {
  width: 220px;
}
.fullCta a {
  width: calc(50% - 5px);
  height: 80px;
  font-size: 20px;
}
.fullCta a.button-outline {
  border: #B5801F 4px solid;
}
}

/* ========================================
  Reserved Breakpoint
======================================== */
@media screen and (max-width:1110px){

}

/* ========================================
  SP Layout
======================================== */
@media screen and (max-width:834px){
  .onPc{
    display:none !important;
  }
.onSmt{
  display:block !important;
}
.spMlNon{
  margin-left: 0px !important;
}
.spMrNon{
  margin-right: 0px !important;
}
.spMbNon{
  margin-bottom: 0px !important;
}
.spMb05{
  margin-bottom: 5px !important;
}
.spMb10{
  margin-bottom: 10px !important;
}
.spMb15{
  margin-bottom: 15px !important;
}
.spMb20{
  margin-bottom: 20px !important;
}
.spMb30{
  margin-bottom: 30px !important;
}
.spMb40{
  margin-bottom: 40px !important;
}
.spMb50{
  margin-bottom: 50px !important;
}
.spMb60{
  margin-bottom: 60px !important;
}
.spMb70{
  margin-bottom: 70px !important;
}
.spMb80{
  margin-bottom: 80px !important;
}
.spMb90{
  margin-bottom: 90px !important;
}
.spMb100{
  margin-bottom: 100px !important;
}
.spMtNon{
  margin-top: 0px !important;
}
.spMt05{
  margin-top: 5px !important;
}
.spMt10{
  margin-top: 10px !important;
}
.spMt20{
  margin-top: 20px !important;
}
.spMt30{
  margin-top: 30px !important;
}
.spMt40{
  margin-top: 40px !important;
}
.spMt50{
  margin-top: 50px !important;
}
.spMt60{
  margin-top: 60px !important;
}
.spPl10{
  padding-left: 10px !important;
}
.spPl20{
  padding-left: 20px !important;
}
.spPl30{
  padding-left: 30px !important;
}
.spPl40{
  padding-left: 40px !important;
}
.spPl50{
  padding-left: 50px !important;
}
.spPl60{
  padding-left: 60px !important;
}
.spPlNon{
  padding-left: 0px !important;
}
.spPr10{
  padding-right: 10px !important;
}
.spPr20{
  padding-right: 20px !important;
}
.spPr30{
  padding-right: 30px !important;
}
.spPr40{
  padding-right: 40px !important;
}
.spPr50{
  padding-right: 50px !important;
}
.spPr60{
  padding-right: 60px !important;
}
.spPrNon{
  padding-right: 0px !important;
}
.spPb10{
  padding-bottom: 10px !important;
}
.spPb05{
  padding-bottom: 5px !important;
}
.spPb20{
  padding-bottom: 20px !important;
}
.spPb30{
  padding-bottom: 30px !important;
}
.spPb40{
  padding-bottom: 40px !important;
}
.spPb50{
  padding-bottom: 50px !important;
}
.spPb60{
  padding-bottom: 60px !important;
}
.spPb100{
  padding-bottom: 100px !important;
}
.spPt60{
  padding-top: 60px !important;
}
.spPtNon{
  padding-top: 0px !important;
}
.spPt10{
  padding-top: 10px !important;
}
.spPt20{
  padding-top: 20px !important;
}
.spPt30{
  padding-top: 30px !important;
}
.spPt40{
  padding-top: 40px !important;
}
.spPdNon{
  padding: 0px !important;
}
.spPd10{
  padding: 10px !important;
}
.spPd20{
  padding: 20px !important;
}
.spText10{
  font-size: 10px !important;
}
.spText11{
  font-size: 11px !important;
}
.spText12{
  font-size: 12px !important;
}
.spText13{
  font-size: 13px !important;
}
.spText14{
  font-size: 14px !important;
}
.spText15{
  font-size: 15px !important;
}
.spText16{
  font-size: 16px !important;
}
.spText18{
  font-size: 18px !important;
}
.spText20{
  font-size: 20px !important;
}
.spText22{
  font-size: 22px !important;
}
.spText24{
  font-size: 24px !important;
}
.spText26{
  font-size: 26px !important;
}
.spText28{
  font-size: 28px !important;
}
.spText30{
  font-size: 30px !important;
}
.spText34{
  font-size: 34px !important;
}
.spText36{
  font-size: 36px !important;
}
.spFont05{
  font-size: 0.5em !important;
}
.spFont06{
  font-size: 0.6em !important;
}
.spFont07{
  font-size: 0.7em !important;
}
.spFont08{
  font-size: 0.8em !important;
}
.spFont09{
  font-size: 0.9em !important;
}
.spTextAlignCenter{
  text-align: center !important;
}
.spTextAlignLeft{
  text-align: left !important;
}
body {
  width: 100%;
  background-size: 100% 80px;
  background-position: center 20px;
}
body::before {
  content: '';
  width: 100%;
  height: 30px;
  background-color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
}
.wrapper {
  width: 100%;
  overflow: hidden;
}
.header{
  height: 60px;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 1000;
  /*-webkit-box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  -moz-box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  box-shadow: 1px 1px 2px rgba(0,0,0,0.1);*/
  box-sizing: border-box;
  border-radius: 0px;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  align-items: center;
  display: flex;
}
.header::before {

}

.box1080 {

}
.box1280 {

}

.box1600{
  padding-left: 20px;
  padding-right: 20px;
}
.box800 {

}
.box600 {

}
.footBox {
  display: table;
  height: auto;
  margin: 0 auto;

  width: 100%;
  padding-bottom:80px;
  padding-top: 60px;

}

.goTopBtn {
  height: 50px;
  width: 50px;
}
.goTopBtn img {

}
.goTopBtn.on {

}

.headLogo img {
  height: 24px;
  width: auto;
}
.header .box1600 {
  max-width: 100%;
  padding-left: 10px;
  padding-right: 0;
}

.flex.sp-reverse{
  flex-direction: column-reverse;
}

.box800 {
  padding-left: 20px;
  padding-right: 20px;
}
.box1080 {
  padding-left: 20px;
  padding-right: 20px;
}
.box1280 {
  padding-left: 20px;
  padding-right: 20px;
}

.copyright {
  width: 100%;

  font-size: 13px;
  line-height: 20px;
  text-align: left;
  margin-top: 20px;
  letter-spacing: 0;
}
.moreBtn a {
  font-size: 16px;
  height: 50px;
  max-width: 240px;
}
.pageTopPd {
  padding-top: 60px;
}
.bc {
  font-size: 10px;
  margin-top: 10px;
}

.box50.w-fullSp,.box40.w-fullSp,.box60.w-fullSp,.box30.w-fullSp,.box70.w-fullSp ,.box50.w-spFull{
  width: 100%;
}

img.spImg40{
  width: auto;
  height: 40px;
}
img.spImgPd40{
  width: calc(100% - 80px);
  margin-left: 40px;
  margin-right: 40px;
}
img.spImgPd20{
  width: calc(100% - 40px);
  margin-left: 20px;
  margin-right: 20px;
}

.gNaviBox{

}
.footLogo{
  margin-bottom: 10px;
}
.footLogo img {
  width: 100%;
  height: auto;
  max-width: 200px;
}

/*dattJapan*/
.headerCta{
  width: 120px;
  height: 60px;
  column-gap: 0px;
}
.headerCta a {
  width: 60px;
  height: 60px;
  font-size: 10px;
  border-radius: 0px;
  text-decoration: none;
}
.headerCta a span{
  display: none;
}
.headerCta a::before {
  content: '診断・相談';
  width: 100%;
  text-align: center;
  font-size: 10px;
  line-height: 1;
  position: absolute;
  bottom: 9px;
  left: 0;
}
.headerCta a.button-outline {
  border: #1047B5 0px solid;
  width: 60px;
}
.headerCta a.button-outline::before {
  content: '資料請求';
}
.headerCta a img {
  width: 28px;
  height: 28px;
  margin-right: 0px;
  top: -6px;
}
.heroImage {
  width: 100%;
  height: auto;
  margin-top: 60px;
  background-image: none;
  background-color: #dce8f4;
  padding-bottom: 20px;
}
.fullCta {
  flex-wrap: wrap;
}
.fullCta a {
  width: 100%;
  height: 60px;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}
.fullCta a img {
  width: 36px;
  height: 36px;
  margin-right: 6px;
}
.fullCta a.button-outline {
  margin-bottom: 0;
}
.companyFukidashi div {
  width: 100%;
  text-align: center;
  justify-content: center;
}
.companyFukidashi span.text01{
  width: 100%;
  font-size: 16px;
}
.companyFukidashi div span.text1000 {
  font-size: 46px;
}
.companyFukidashi div::before {
  left: 50%;
}
.companyFukidashi div span.subText {
  top: 4px;
}
.companyFukidashi span.text02{
  top: 7px;
}
.slider {
  margin-bottom: 20px;
}
.slide {
  width: 185px;
  padding-right: 40px;
}
.nayamiTitle::before {
  width: 50px;
  height: 75px;
  position: absolute;
  left: calc(50% - 190px);
  top: 30px;
}
.nayamiTitle::after {
  content: '';
  width: 50px;
  height: 75px;
  position: absolute;
  right: calc(50% - 180px);
  top: 30px;
}
.mrtBox {
  width: calc(50% - 8px);
  padding: 15px 0px;
  margin-bottom: 15px;
}
.ucBox {
  width: 100%;
  margin-bottom: 15px;
}
.ucBox.t-half {
  width: 100%;
}
.saBaseBox {
  width: 100%;
  padding: 20px;
  margin-bottom: 10px;
  align-items: center;
}
.jireiLogo img {
  width: auto;
  height: 24px;
}
.partnerLogo {
  width: 100%;
}
.sfBox {
  width:100%;
  padding: 20px;
  margin-bottom: 20px;
}
.serviceFlowTitle {
  width: 280px;
  height: 50px;
  font-size: 26px;
  left: calc(50% - 140px);
  top: -25px;
}
.flowBox{
  flex-wrap: wrap;
  padding: 20px;
  padding-right: 11px;
  padding-left: 15px;
  align-items: flex-start;
  margin-bottom: 20px;
}
.flowBox::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #FFF;
}
.flowImg {
  width: 80px;
}
.flowInfo {
  width: calc(100% - 80px);
  padding-left: 15px;
}
.boxStep {
  padding: 6px 15px;
  font-size: 12px;
}
.areaBox {
  width: 100%;
  padding: 20px;
  margin-bottom: 10px;
}
.bgNayami {

}
.checkListTop li {
  font-size: 22px;
  line-height: 1.4;
  padding-left: 36px;
  background-size: 28px 28px;
  background-position: left 6px;
  margin-bottom: 15px;
  min-height: 36px;
}
.checkListTop li span {
  font-size: 16px;
}
.bigArrow {
  width: 80px;
  height: 120px;
  background-image: url("../images/service/big_arrow.png");
  background-size: 80px auto;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 10;
  left: calc(50% - 40px);
  bottom: -60px;
}
.aboutSerivceBox {
  padding: 20px;
}
.asBox {
  width: 33%;
  display: none;
}
.serviceFlowTitle .dotText::before {
  width: 6px;
  height: 6px;
  top: -8px;
  left: 10px;
}
.serviceFlowTitle .dotText::after {
  width: 6px;
  height: 6px;
  top: -8px;
  left: 35px;
}
.fixedBanner {
  width: 240px;
  bottom: 10px;
  right: 10px;
}
.fixBnBtn {
  height: 48px;
  padding: 0 8px;

}
.fixBnBtn a {
  width: calc(50% - 2px);
  height: 34px;
  font-size: 10px;
}
.fullCta a.button-outline {
  border-width: 3px;
}
.checkList li {
  font-size: 14px;
  line-height: 1.8;
  padding-left: 26px;
  background-image: url("../images/common/check_org.png");
  background-size: 20px 20px;
  background-position: left 4px;
  background-repeat: no-repeat;
  margin-bottom: 5px;
}
.featureTag span {
  font-size: 12px;
  width: 110px;
  height: 24px;
}
img.saLogo{
  width: 36px;
  height: 36px;
  margin-right: 10px;
}
.stomAiSecTitle span {
  width: 90%;
  height: 46px;
  font-size: 19px;

}
.saBox {
  width: 100%;
  margin-bottom: 20px;
}
ul.dotList li {

  font-size: 14px;
  padding-left: 1em;
}
ul.dotList li::before {
  width: 6px;
  height: 6px;

  top: 10px;
  left: 0;

}
.pLogo {

  height: auto;

}
.pLogo img {
  width: auto;
  height: 50px;
}
.pLogo.dj img {
  width: auto;
  height: 30px;
}
.partnerX {
  width: 30px;
  height: 30px;
  position: absolute;
  top: calc(100% - 10px);
  right: calc(50% - 15px);
  background-size: 18px auto;
}
.heiyouList li {
  font-size: 22px;
  line-height: 1.4;
  padding-left: 36px;
  background-size: 28px 28px;
  background-position: left 6px;
  margin-bottom: 15px;
}
.heiyouList li:last-child {
  border-width: 0;
  margin-bottom: 0;
}
.areaNumber {
  width: 24px;
  height: 24px;
  font-weight: 600;
  font-size: 14px;
}
.spW100{
  width: 100% !important;
}
.faqList {
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.faqList dt {
  font-size: 16px;
  line-height: 1.6;
  padding-left: 45px;
  padding-top: 3px;
  min-height: 30px;
  margin-bottom: 20px;
}
.faqList dt::before {
  width: 30px;
  height: 30px;
  font-size: 18px;
}
.faqList dd {
  font-size: 14px;
  line-height: 1.6;
  padding-left: 45px;
  padding-top: 5px;
  min-height: 30px;
  margin-bottom: 0px;
}
.faqList dd::before {
  width: 30px;
  height: 30px;
  font-size: 18px;
}
.footBottomLink li a {
  font-size: 13px;
  line-height: 1.4;
  margin-right: 15px;
}
.footBottomLink li {
  margin-right: 15px;
  margin-bottom: 5px;
}
.sfNumber {
  width: 40px;
  height: 40px;
  font-size: 20px;
  top: -15px;
  left: -15px;
}
.bgflowBorder::before {
  content: '';
  width: 4px;
  height: calc(100% - 40px);
  top: 0;
  left: calc(50% - 2px);
}
.sfIcon img {
  width: 80px;
  height: auto;
}
.saBox .ph100{
  text-align: center;
}
.saBox .ph100 img{
  max-width: 160px;
  float: none;
}
.spLhNonEx01{
  min-height: inherit !important;
}
.bgCta {
  background-image: url("../images/bg/bg_cta_sp.jpg");
  background-size: auto 185px;
  background-position: right top;
  background-repeat: no-repeat;
  background-color: #f2f2f2;
  padding-top: 140px;
}
.bgGridLine {
  background-size: 800px auto;
}
.saIcon {
  width: 60px;
}
.saInfo {
  width: calc(100% - 60px);
  padding-left: 20px;
}
.kouritsuBox {
  width: 100%;
  padding: 30px 20px;
  margin-bottom: 20px;
}
.kaiketuSec {
  width: 100%;
}
.nayamiList dt {
  width: 80px;
}
.nayamiList dd {
  width: calc(100% - 80px);
  padding-left: 20px;
}
.dotText::before {
  width: 6px;
  height: 6px;
  top: 1px;
  left: calc(50% - 3px);
}
.arrowSection {
  background-size: 800px 100%;
  background-position: center center;
  background-repeat: no-repeat;
  top: -140px;
  margin-bottom: -300px;
  z-index: 1;
}
.kaiketuBox {
  width: 100%;
  margin-bottom: 30px;
}
.aboutChara {
  width: 100%;
  bottom: -60px;
  padding-left: 10px;
  text-align: right;
  margin-top: -60px;
}
.aboutChara img {
  width: 120px;
  height: auto;
}
.aboutServiceTitle {
  width: calc(100% - 100px);
  top: 5px;
  z-index: 10;
  padding-left: 10px;
  margin-top: -40px;
}
.ft01Left {
  width: 100%;
}
.ft01Right {
  width: 100%;
  padding-left: 0px;
}
.documentList li {
  height: 36px;
  font-size: 12px;
  padding: 0 10px;
  border-radius: 0px;
  margin-right: 5px;
  font-weight: 500;
  margin-bottom: 5px;
}
.documentList li img {
  width: 24px;
  height: 24px;
  margin-right: 5px;
}
.boxTextMaru {
  padding: 5px 10px;
}
.ufBox {
  width: 100%;
  border-radius: 16px;
  margin-bottom: 40px;
}
.ufTitle {
  height: 40px;
  font-size: 18px;
  line-height: 1.2;
}
.ufInfo {
  padding-top: 10px;
}
.ufBox::before {
  width: 40px;
  height: 40px;
  right:  calc(50% - 20px);
  top: calc(100% - 10px);
  transform: rotate(90deg);
}
.charaFukidashi {
  width: 300px;
  position: absolute;
  top: -140px;
  right: 0;
  padding-left: 20px;
}
.sankakuSec {
  width: 100%;
  height: 40px;
  background-size: 100% 40px;
}
.fixlh {
  min-height: auto;

}
.jireiCompany span {
  width: 160px;
  height: 30px;
  padding: 0 10px;
  font-size: 14px;
  line-height: 1;
}
.bgAbout {
  background-size: 800px auto;

}
.kouritsuBox.w-full{
  margin-top: 10px;
}
.kouritsuBox .sfIcon img {
  width: 100px;
  height: auto;
}
.mark-list-contain ul {
  gap: 24px;
  padding: 15px;
  margin-bottom: 20px;
}
.mark-list-contain ul li a img {
  transition: 0.2s ease;
  height: 36px;
  max-width: 100%;
}
ul.dotList.t-min li {
  font-size: 13px;
}
ul.dotList.t-min li::before {
  top: 9px;
}
.boxStep::before {
  content: '';
  width: 3px;
  height: 20px;
  background-color: #FFE168;
  position: absolute;
  top: 0px;
  right: -20px;
  display: none;
}
}
