@charset "UTF-8";
/* CSS Document */

@media screen and (min-width: 768px) and (max-width: 960px){
.sec22_staff_img p{font-size: 15px;}
}

@media screen and (min-width: 768px) {
.sp{display: none;}
.btn_lp:hover a:link{color: var(--blue);text-decoration: none;}
.btn_lp:hover a span{color: #000;}

.sec22_content ul li:nth-child(4n + 4),
.list_img li:nth-child(4n + 4){margin-right: 0;}

.sec22_staff_txt{min-height: 195px;}

.sec24_item:nth-child(even) .sec24_item_ct{flex-direction: row-reverse;}
.sec24_item:nth-child(even) .sec24_img{margin: 0 20px 0 0}

.clearfix { display: inline-block; }
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; font-size:0; }
.image_r{float: right; margin-left: 30px; max-width: 40%;}
.image_l{float: left; margin-right: 30px; max-width: 40%;}
.pdb_40_pc{padding-bottom: 40px;}
}

/*スマホ用スタイル*/
@media screen and (max-width: 767px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}

/*セクション間余白----------------------------------------------------------- */
  section {
    padding: 40px 0;
  }
  footer {
    padding: 15px 0;
  }
/*はみ出し画像中央----------------------------------------------------------- */
  .wic1 img {
    width: 100%;
  }
  .wic1 {
    margin-left: -15px;
    margin-right: -15px;
  }
  .wic2 img {
    width: 100%;
  }
  .wic2 {
    margin-left: -15px;
    margin-right: -15px;
  }
  .wic3 img {
    width: 100%;
  }
  .wic3 {
    margin-left: -15px;
    margin-right: -15px;
  }
/*見出し関連----------------------------------------------------------- */
h2{font-size: 30px;text-align: center;font-weight: bold;font-family: "Yu Mincho", YuMincho, HG明朝B, "MS Mincho", serif;}
h3{font-size: 24px;text-align: center;font-weight: bold;font-family: "Yu Mincho", YuMincho, HG明朝B, "MS Mincho", serif;}

	
.box_blue_2{background: #283f8f;padding: 10px;margin-bottom: 30px;}
.box_01{padding: 20px;}
.box_pp{background: #9a2acb; padding: 3px 7px;}
.box03 .box_01{
	padding: 20px;
}

/*Header----------------------------------------------------------- */
  header .contact {
    padding-right: 40px;
  }
  header .logo {
    height: 40px;
  }
  header .logo img {
    max-height: 40px;
  }

/*MV----------------------------------------------------------- */
.mv {
  padding: 0px;
}
.mv .container{
	padding-right: 0;
	padding-left: 0;
}
.mv .box {
  display: flex;
  width: auto;
  height: auto;
  background-color: #34c7c9;
  padding: 15px;
  margin: 30px auto 40px;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
}
.mv_btm {
  background-color: #0f222d;
  padding: 30px 0px;
}
/*CTA----------------------------------------------------------- */
.cta h2 {
  margin-top: 40px;
}


/*CTA2----------------------------------------------------------- */
.cta2{
  padding: 40px 0;
}
.cta2 h2{
  letter-spacing: -0.1rem;
}
.cta2 .btn{
	font-size: 17px;
	line-height: 2.8rem;
}
.cta2 .center{
	text-align: left;
}
.cta2 .btn::after{
	content: '';
	width: 10px;
	height: 10px;
	right: 3%;
	bottom: 45%;
}
	
/*CTA3----------------------------------------------------------- */
.cta3{
  padding: 40px 0;
}
.cta3 .flex {
 	display: block;
}
.btn_wh{
    width: 100%;
	margin-bottom: 20px;
}
.btn_gr{
    width: 100%;
}

.btn_wh::after{
	right: 3%;
}
.btn_wh .arrow::after {
  transform: rotate(45deg);
}
.btn_gr::after{
	right: 3%;
}

.cta3 .btn{
	border-radius: 90px;
	font-size: 135%;
	line-height: 1.4;
	padding-bottom: 20px;
	position: relative;
}

/*sec01----------------------------------------------------------- */
.mv_box iframe {
  width: 100%;
  height: 54vw;
}

.sec01 .photo{
	width: 100%;
	text-align: center;
	margin: 0 auto;
}
.sc01 th{
	padding: 10px;
	vertical-align: middle;
	font-size: 16px;
}
.sc01 td{
	padding: 10px;
	vertical-align: middle;	
	font-size: 14px;
}
/*sec02----------------------------------------------------------- */
.step{
	background: #283f8f;
	padding: 5px 10px;
	color: #fff;
	margin-right: 0px;
}
.sc02 .photo {
	width: 100%;
}
/*sec03----------------------------------------------------------- */
.sec03 .inner_box {
  background-color: #FFF;
  padding: 20px;
  min-height: auto;
}
.sec03 .box_r{
  position: relative;
  margin-top: 50px;
}
.sec03 .img01 {
  position: absolute;
  top: -40px;
}
	
.sec03 .box{
	border: 1px solid #34c7c9;
	padding: 20px 10px;
}	
/*sec04----------------------------------------------------------- */
.sec04_at .flex{
	display: block;
}
.sec04_at .fx-row{
	padding: 0!important;
	margin: 0!important;
}
	
/*sec05----------------------------------------------------------- */
.brett ul li {
  font-size: 16px;
  align-items: flex-start;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.brett ul li img{
  width: 2rem;
  margin-right: 5px;
}
.sec05 .arrow {
  position: absolute;
  top: -6vw;
  right: 0;
  left: 0;
}

/*sec06----------------------------------------------------------- */
.sc06 .box01{
	padding: 15px;
/*
	padding-left:1.5em;
    text-indent:0em;
*/
}


/*sec07----------------------------------------------------------- */
.sc07 th{
	background: #283f8f;
	padding: 15px 10px;
	color: #fff;
	border: 1px solid #9296b0;
	vertical-align: middle;
}
.sc07 td{
	border: 1px solid #f3f3f3;
	padding: 15px 5px;
	text-align: center;
	background: #fff;
	vertical-align: middle;
}
.sc07 .bg2{
	background: #283f8f;
}
.sc07 .bg{
	background: #9a2acb;
}
.gray_box{background: #f2f2f2;padding: 15px;}
.gray_box02{background: #f2f2f2;padding: 15px;}


/*sec08----------------------------------------------------------- */
.sec08 .arrow {
  position: absolute;
  top: -6vw;
  right: 0;
  left: 0;
}
.sc08 h3{
  font-size: 20px;
  text-align: center;
  padding: 15px;
}
.sc08 .flex{
	display: block;
}
.sc08 .brett{
	width: 100%;
	display: block;
}
.sc08 .box_brett .brett {
    padding: 0px;
}
.sc08 .brett .photo{
	width: 100%;
}
.sc08 .gray_box{
	padding: 20px;
	width: 100%;
	height: auto;
}

/*sec09----------------------------------------------------------- */
.sec09 h2 {
  padding: 30px 0;
}
.sec09 .white_box {
  padding: 15px;
}
	
/* SC9 PLUS */
.sc09_plus .plus_box{display: block;align-items: center;margin-bottom: 15px;}
.sc09_plus .plus_box_img{width: 100%;flex-shrink: 0;margin-right: 45px;}
.sc09_plus .plus_box_txt{}
.sc09_plus .plus_box_txt .bold{font-size: 27px;font-weight: bold;}
.sc09_plus .plus_box_txt .big{font-size: 60px;font-weight: bold;}
.sc09_plus .plus_box_txt .big span{font-size: 20px}

.sec09_plus .flex_img{display: flex;margin: 15px 0;}
.sec09_plus .gray_box{background: #f2f2f2;padding: 15px;font-weight: bold;}
.sec09_plus .gray_box ul{list-style-type: disc;padding-left: 30px;}



/*sec10----------------------------------------------------------- */
.sec10 .h2 {
  padding: 30px 0;
}
.sec10 .bg {
  background-color: #0f222d;
  margin-top: 40px;
  padding-bottom: 40px;
}
.sec10 .white_box {
  padding: 15px;
}

.sc10 .reason{
	background: #283f8f;
	color: #fff;
	line-height: 1;
	padding: 10px;
	border-radius: 0%;
	margin: -20px -15px 15px -15px;
}
/*sec11----------------------------------------------------------- */
.sec11 .box {
  background-color: #0f222d;
  padding: 15px;
}
.sec11 .brett {
  background-color: #FFF;
  padding: 15px;
}

/*sec12----------------------------------------------------------- */
.sec12 .gr_box {
  background:none;
  background-color: #efefef;
  padding: 15px;
  font-size: 14px;
}
.sec12 th {
  width: 70px;
  text-align: left;
}

.sc12 .know .flex{
	display: flex;
}	

.sc12 .know ul{
	width: 50%!important;
	background: #fff;
	padding: 10px;
	margin-right: 15px;
}
.sc12 .know ul:last-child{
	margin-right: 0px;
}
.sc12 .know li{
	font-size: 14px;
	padding-left:1em;
    text-indent: -1em;
}

.sc12 .know li::before{
	content: "・";
}
/*sec13----------------------------------------------------------- */
.sc13 h3{
	line-height: 1.2;
	padding: 15px!important;
}

/*sec14----------------------------------------------------------- */


/*sec15----------------------------------------------------------- */
.sec15 .white_box {
  padding: 15px;
}

/*sec16----------------------------------------------------------- */

.form_wrap{
	padding-left: 15px!important;
	padding-right: 15px!important;
}
.qa .q {
  background-color: #283f8f;
  padding: 15px;
}
.qa .a{
  padding: 15px;
}
.qa .icon {
  width: 30px;
  flex-shrink: 0;
}
.qa .q .txt {
  margin-left: 15px;
  font-size: 16px;
  color: #FFF;
  font-weight: bold;
}
.qa .q .box_item {
  align-items: flex-start;
}
.qa .box:not(:last-child) {
  margin-bottom: 15px;
}
	
.sc16 th{
  width: 25%;
  padding: 10px 5px;
}
.sc16 td{
  vertical-align: middle;
  padding: 15px;
  border: 1px solid #fff;
  border-right: 0;
}

.sc16 .box_blue .flex{
	justify-content: space-between;
}
/*sec17----------------------------------------------------------- */
.sc17 th{
	background: #283f8f;
	padding: 15px;
	color: #fff;
	font-weight: bold;
}
.sc17 td{
	border: 1px solid #5f5f5f;
	padding: 15px 10px;
	width: auto;
}
.sc17 td .txt{
	width: 70%;
}

/*sec18----------------------------------------------------------- */
.sec18 th {
  width: 115px;
}

/*form----------------------------------------------------------- */
.form_wrap h2{
  margin-top: 0;
  padding-top: 30px;
  padding-bottom: 15px;
}

  .form_wrap {
    padding: 0;
  }
  form > ul > li .fx-row > *:first-child {
    padding-top: 0;
  }
  form > ul > li {
    padding: 15px;
  }
  .form_head {
    text-align: left;
  }
  .input_adjust {
    padding: 8px 12px;
  }
  .input_2col {
    padding-right: 0px;
  }
  .input_1col {
    padding-right: 0px;
  }
  .input_pref {
    width: 80%;
  }
  .input_select select {
    padding: 8px 12px;
  }
  .radio_2col label:first-child {
    padding-right: 0px;
  }
  .date_2col {
    padding-right: 0px;
  }
  .date_2col > * {
    width: calc(50% - 8px);
  }
  .select_1col {
    padding-right: 0px;
  }
  .textarea {
    padding-right: 0px;
  }
  .sbm_wrap {
    padding: 15px;
  }
  .sbm {
    width: 100%;
    font-size: 1.3em;
  }
  .sbm_b {
    width: 100%
  }	
  .sbm_b2 {
    width: 100%;
  }	

	
/*sec20----------------------------------------------------------- */
.sec20 .brett {
  background-color: #FFF;
  padding: 15px;
}
/*sec21----------------------------------------------------------- */
.sec21 th {
  width: 120px;
  vertical-align: middle;
}
.sec21 h3 {
  font-size: 22px;
}
.sec21 td {
  padding: 15px;
}
.sec21 .box01 .white_line{
  border: 1px solid #fff;
  padding: 15px;
  padding-top: 10px;
}
.sec21 .box01 h3{
	background: none;
	padding: 0;
	margin: 0;
	margin-bottom: 15px;
}
.sec21 .box01 .box_blue{
/*  background-color: #f6f6f6;	*/
  background: linear-gradient(59deg, rgba(40,63,143,1) 0%, rgba(40,63,143,1) 42%, rgba(111,49,181,1) 56%, rgba(161,40,207,1) 100%);
}
.sec21_lp02_list{margin-bottom: 30px;}
.sec21_lp02_list2 li{padding: 20px; padding-top: 0px; background-color: #000;}

	
.bubble{
    padding: 15px;
}
.skd .txt{
	padding: 15px;
}
.skd h3{
	text-align: left;
}

	
/*Footer----------------------------------------------------------- */
  .footer_nav1 ul {
    width: 100%;
  }
  .footer_nav1 ul li:first-child {
    border-top: 1px solid #000;
  }
  .footer_nav1 ul li {
    width: 100%;
    display: block;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-bottom: 1px solid #000;
    margin: 0;
  }
  .footer_nav1 ul a {
    display: block;
  }

/* sec12plus --------------------------------------------------- */
.sec12_plus{margin-top: 30px;}
.sec12_plus .plus_box{flex-wrap: wrap;}
.sec12_plus .plus_box_img{width: 100%;margin: 0 0 30px;}
.sec12_plus .plus_box_txt{width: 100%;}
.sec12_plus .plus_box_txt .bold{font-size: 5vw;}
.sec12_plus .plus_box_txt .big{font-size: 12vw;}
.sec12_plus .plus_box_txt .big span{font-size: 40%;display: block;}
.sec12_plus .gray_box ul{padding-left: 25px;}

/* LandingPage 02----------------------------------------------------------- */
/* LIST STAFF */
.list_staff{margin-top: 30px;}	
.list_staff_it{flex-wrap: wrap;}
.list_staff_img{width: 100%;margin: 0}
.list_staff_img img{margin: 0 auto;}
.list_staff_img .name{padding: 15px;font-size: 20px;}
.list_staff_txt{padding: 15px; text-align: left;}
.list_staff_txt .list_staff_txt_c p{text-align: left;}

.list_img{justify-content: space-between;}
.list_img li{width: calc((100% - 15px) / 2);margin:0 0 15px ;}

.btn_lp.sbm:before{right: 10px;}
.btn_lp{font-size: 1.1em;line-height: 1.2em;}
.btn_lp a span{left: -15px;top: -35px;}
.sbm_wrap_lp02 .sbm{font-size: 3.5vw;}
.cta_lp02 .check_1col{margin-right: 0;}

/* BOX COLOR */
.box_blue,
.box_black{padding: 15px;}
.box_black .center.bold{font-size: 5vw;margin-bottom: 15px;}

.box_brett .brett{margin: 0 0 15px;padding: 15px;}
.box_blue .brett{margin-top: 15px;}

/* SECTION05 */
.sec05_lp02{}
.sec05_lp02 .arrow{top: -23px;}
.sec05_lp02 .arrow img{max-width: 193px;margin:0 auto ;}

/* SECTION22 */
.sec22_staff{flex-wrap: wrap;}
.sec22_staff_it{width: 100%;margin-bottom: 70px;}
.sec22_staff_it:last-child{margin-bottom: 0;}
.sec22_staff_txt{padding: 15px;}
.sec22_staff_img .label{height: 70px;top: -35px;}
.sec22_content_txt{padding: 15px;}
.sec22_content ul{flex-wrap: wrap;justify-content: space-between;}
.sec22_content ul li{width: calc((100% - 15px) / 2);margin: 0 0 15px;}


/* SECTION 24 */
.sec24_item_ct{flex-direction: column-reverse;padding: 15px;}
.sec24_item_ct .sec24_img{width: 100%;margin: 0 0 15px;}
.sec24_item_title{font-size: 2rem;}

/* SECTION 27 */
.sec27 .flex_box{flex-wrap: wrap;}
.sec27 .flex_box_img{width: 100%;margin: 30px 0 0;}


.image_l img,.image_r img{display: block; margin: 0 auto 20px auto;}
.sec12_flex_img{max-width: 90%;margin-left: auto;margin-right: auto;}


/* SECTION 28 */
.flex{
	display: block;
}
.sec28 .photo{
	width: 100%;
	margin-right: 0px;
}
.sec28 .content_txt{
	width: 100%;
}

/* SECTION 29 */
.sec29{
  background: url(../img/pc_sec02_bg_f.png) no-repeat center/cover;
}

/* SECTION 33 */
.sec33 .photo{
	width: 100%;
	margin-right: 0px;
}
.sec33 .content_txt{
	width: 100%;
}


/*フローティングバナー*/
.floating {
    background-color: rgba(13,35,98,0.9);
    position: fixed;
    bottom: 0;
    z-index: 99;
    width: 100%;
	margin: 0 auto;
	text-align: center;
    padding: 10px 15px;
}
.floating .f_btn{
    border-radius: 50px;
    font-size: 17px;
    padding: 15px;
    width: 100%;
}

/*私たちのサービス*/
/* p-ourServices
------------------------------ */
	.service .box_01{
		padding: 30px;
	}	
  .p-ourServicesBlock { margin-top: 30px; margin-bottom: 0px;}
  .p-ourServicesBlock__item { flex-direction: column; align-items: center; padding: 40px 80px 40px 20px;}
  .p-ourServicesBlock__item:first-child::after { right: 20px; font-size: 1.6rem; height: calc(200% - 80px);}
  .p-ourServicesBlock__head { width: 100%;}
  .p-ourServicesBlock__number { width: 60px; height: 60px; font-size: 2.6rem;}
  .p-ourServicesBlock__number span { font-size: 1.0rem;}
  .p-ourServicesBlock__button { margin-left: 15px; max-width: none; font-size: 1.6rem; height: 60px;}
  .p-ourServicesBlock__body { width: 100%; margin-left: 0; margin-top: 20px;}
  .p-ourServicesBlock__title { font-size: 1.8rem;}
  .p-ourServicesBlock__check li { font-size: 1.4rem;}

  .p-ourServices__item:first-child { margin-top: 60px;}

  .p-ourServicesBox { padding: 30px 20px;}
  .p-ourServicesBox__headingEn { font-size: 1.0rem;}
  .p-ourServicesBox__headingTitle { font-size: 2.2rem;}
  .p-ourServicesBox__headingTitle::before { left: -20px; height: 25px;}
  .p-ourServicesBox__text { font-size: 1.4rem;}

  .p-ourServices__detail { padding-top: 60px; padding-bottom: 60px;}	
	
	
}

/*スマホ用スタイルend*/



