@charset "utf-8";
.s_pc_view {
  display: block !important; /*改行にのみ使用*/
}
.s_sp_view {
  display: none !important; /*改行にのみ使用*/
}
.s_mat0 {
  margin-top: 0;
}
.s_mat5 {
  margin-top: 5px;
}
.s_mat10 {
  margin-top: 10px;
}
.s_mat20 {
  margin-top: 20px;
}
.s_mat30 {
  margin-top: 30px;
}
.s_mat40 {
  margin-top: 40px;
}
.s_mat50 {
  margin-top: 50px;
}
.s_mat60 {
  margin-top: 60px;
}
.s_mat70 {
  margin-top: 70px;
}
.s_mat80 {
  margin-top: 80px;
}
.s_mat80vh {
  margin-top: 80vh;
}

.s_mab0 {
  margin-bottom: 0;
}
.s_mab5 {
  margin-bottom: 5px;
}
.s_mab10 {
  margin-bottom: 10px;
}
.s_mab20 {
  margin-bottom: 20px;
}
.s_mab30 {
  margin-bottom: 30px;
}
.s_mab40 {
  margin-bottom: 40px;
}
.s_mab50 {
  margin-bottom: 50px;
}
.s_mab60 {
  margin-bottom: 60px;
}
.s_mab70 {
  margin-bottom: 70px;
}
.s_mab80 {
  margin-bottom: 80px;
}
.s_mab90 {
  margin-bottom: 90px;
}
.s_mab100 {
  margin-bottom: 100px;
}

.s_auto {
  margin: auto;
}
.s_auto_right {
  margin: 0 0 0 auto;
}

.s_al_center,
.aligncenter {
  text-align: center;
}
.s_al_right,
.alignright {
  text-align: right;
}
.s_al_left,
.alignleft {
  text-align: left;
}
.s_vl_top {
  vertical-align: top;
}
.s_vl_middle {
  vertical-align: middle;
}
.s_vl_bottom {
  vertical-align: bottom;
}

.s_f_left {
  float: left;
}
.s_f_right {
  float: right;
}
.is_f_clear {
  float: none;
  text-align: center;
}

.s_red {
  color: var(--rd-color);
}
.s_black {
  color: var(--bk-color);
}
.s_white {
  color: var(--wh-color);
}
.s_blue {
  color: var(--bl-color);
}
.s_bg_white {
  background-color: #FFF;
}
.s_bg_cream {
  background-color: #FFFEE8;
}
.s_line {
  background: linear-gradient(transparent 60%, #CCE0FF 0%);
}
.s_bold {
  font-weight: bold;
}
.s_indent {
  text-indent: 1em;
}
.s_kome,
.s_kome li {
  text-indent: -0.5em;
  margin-left: 1em;
}
.s_underline {
  text-decoration: underline;
}

.s_ff_en{
  font-family: "din-2014", sans-serif;
  font-weight: 600;
}

.s_fw_normal {
  font-weight: normal;
}
.s_fw_40 {
  font-weight: 400;
}
.s_fw_50 {
  font-weight: 500;
}
.s_fw_60 {
  font-weight: 600;
}
.s_fw_70 {
  font-weight: 700;
}
.s_fw_80 {
  font-weight: 800;
}
.s_fw_90 {
  font-weight: 900;
}
.s_inline {
  display: inline-block;
}

.s_fs_sm {
  font-size: 1.2rem;
}
.s_fs_lg {
  font-size: 1.8rem;
}

.s_img_floatL {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
}
.s_img_floatR {
  float: right;
  margin-left: 20px;
  margin-bottom: 10px;
}

.s_fs11 {
  font-size: 1.1rem !important;
}
.s_fs12 {
  font-size: 1.2rem !important;
}
.s_fs13 {
  font-size: 1.3rem !important;
}
.s_fs14 {
  font-size: 1.4rem !important;
}
.s_fs15 {
  font-size: 1.5rem !important;
}
.s_fs16 {
  font-size: 1.6rem !important;
}
.s_fs17 {
  font-size: 1.7rem !important;
}
.s_fs18 {
  font-size: 1.8rem !important;
}
.s_fs19 {
  font-size: 1.9rem !important;
}
.s_fs20 {
  font-size: 2rem !important;
}
.s_fs21 {
  font-size: 2.1rem !important;
}
.s_fs22 {
  font-size: 2.2rem !important;
}
.s_fs23 {
  font-size: 2.3rem !important;
}
.s_fs24 {
  font-size: 2.4rem !important;
}
.s_fs25 {
  font-size: 2.5rem !important;
}
.s_fs26 {
  font-size: 2.6rem !important;
}
.s_fs27 {
  font-size: 2.7rem !important;
}
.s_fs28 {
  font-size: 2.8rem !important;
}
.s_fs29 {
  font-size: 2.9rem !important;
}
.s_fs30 {
  font-size: 3rem !important;
}
.s_fs31 {
  font-size: 3.1rem !important;
}
.s_fs32 {
  font-size: 3.2rem !important;
}
.s_fs44 {
  font-size: 4.4rem !important;
}
.s_fs62 {
  font-size: 6.2rem !important;
}
.s_fs63 {
  font-size: 6.3rem !important;
}
.s_fs64 {
  font-size: 6.4rem !important;
}
.s_fs65 {
  font-size: 6.5rem !important;
}
.s_fs66 {
  font-size: 6.6rem !important;
}
.s_fs67 {
  font-size: 6.7rem !important;
}
.s_fs68 {
  font-size: 6.8rem !important;
}
.s_fs69 {
  font-size: 6.9rem !important;
}
.s_fs70 {
  font-size: 7rem !important;
}
.s_fs76 {
  font-size: 7.6rem !important;
}
.s_fs78 {
  font-size: 7.8rem !important;
}
.s_w10p {
  width: 10%;
}
.s_w20p {
  width: 20%;
}
.s_w30p {
  width: 30%;
}
.s_w40p {
  width: 40%;
}
.s_w50p {
  width: 50%;
}
.s_w60p {
  width: 60%;
}
.s_w70p {
  width: 70%;
}
.s_w80p {
  width: 80%;
}
.s_w90p {
  width: 90%;
}
.s_w100p {
  width: 100%;
}

.s_disable {
  pointer-events: none;
}

.s_lh18{
  line-height: 1.8;
}

@media screen and (max-width: 968px) {
  .s_pc_view {
    display: none !important; /*改行にのみ使用*/
  }
  .s_sp_view {
    display: block !important; /*改行にのみ使用*/
  }

  .s_f_left.is_sp_f_clear {
    float: left;
  }
  .s_f_right.is_sp_f_clear {
    float: right;
  }

  .s_mat0_sp {
    margin-top: 0;
  }
  .s_mat5_sp {
    margin-top: 5px;
  }
  .s_mat10_sp {
    margin-top: 10px;
  }
  .s_mat20_sp {
    margin-top: 20px;
  }
  .s_mat30_sp {
    margin-top: 30px;
  }
  .s_mat40_sp {
    margin-top: 40px;
  }
  .s_mat50_sp {
    margin-top: 50px;
  }
  .s_mat80vh_sp {
    margin-top: 80vh;
  }
  
  .s_mab0_sp {
    margin-bottom: 0;
  }
  .s_mab5_sp {
    margin-bottom: 5px;
  }
  .s_mab10_sp {
    margin-bottom: 10px;
  }
  .s_mab20_sp {
    margin-bottom: 20px;
  }
  .s_mab30_sp {
    margin-bottom: 30px;
  }
  .s_mab40_sp {
    margin-bottom: 40px;
  }
  .s_mab50_sp {
    margin-bottom: 50px;
  }
  .s_mab60_sp {
    margin-bottom: 60px;
  }
  .s_mab100_sp {
    margin-bottom: 100px;
  }
  
  .s_auto_sp {
    margin: auto;
  }

  .s_lh_sp{
    line-height: normal;
  }

  .s_fs11_sp {
    font-size: 1.1rem !important;
  }
  .s_fs12_sp {
    font-size: 1.2rem !important;
  }
  .s_fs13_sp {
    font-size: 1.3rem !important;
  }
  .s_fs14_sp {
    font-size: 1.4rem !important;
  }
  .s_fs15_sp {
    font-size: 1.5rem !important;
  }
  .s_fs16_sp {
    font-size: 1.6rem !important;
  }
  .s_fs17_sp {
    font-size: 1.7rem !important;
  }
  .s_fs18_sp {
    font-size: 1.8rem !important;
  }
  .s_fs19_sp {
    font-size: 1.9rem !important;
  }
  .s_fs20_sp {
    font-size: 2rem !important;
  }
  .s_fs21_sp {
    font-size: 2.1rem !important;
  }
  .s_fs22_sp {
    font-size: 2.2rem !important;
  }
  .s_fs23_sp {
    font-size: 2.3rem !important;
  }
  .s_fs24_sp {
    font-size: 2.4rem !important;
  }
  .s_fs25_sp {
    font-size: 2.5rem !important;
  }
  .s_fs26_sp {
    font-size: 2.6rem !important;
  }
  .s_fs27_sp {
    font-size: 2.7rem !important;
  }
  .s_fs28_sp {
    font-size: 2.8rem !important;
  }
  .s_fs29_sp {
    font-size: 2.9rem !important;
  }
  .s_fs30_sp {
    font-size: 3rem !important;
  }
  .s_fs31_sp {
    font-size: 3.1rem !important;
  }
  .s_fs32_sp {
    font-size: 3.2rem !important;
  }
  .s_fs33_sp {
    font-size: 3.3rem !important;
  }
  .s_fs34_sp {
    font-size: 3.4rem !important;
  }
  .s_fs35_sp {
    font-size: 3.5rem !important;
  }
  .s_fs36_sp {
    font-size: 3.6rem !important;
  }
  .s_fs37_sp {
    font-size: 3.7rem !important;
  }
  .s_fs38_sp {
    font-size: 3.8rem !important;
  }
  .s_fs39_sp {
    font-size: 3.9rem !important;
  }
  .s_fs40_sp {
    font-size: 4rem !important;
  }
  .s_fs41_sp {
    font-size: 4.1rem !important;
  }
  .s_fs42_sp {
    font-size: 4.2rem !important;
  }
}

@media screen and (max-width: 768px) {
  .s_al_center_sp,
  .aligncenter_sp {
    text-align: center;
  }
  .s_al_right_sp,
  .alignright_sp {
    text-align: right;
  }
  .s_al_left_sp,
  .alignleft_sp {
    text-align: left;
  }
}


/*----------------------------------------------
	top
---------------------------------------------*/
/*  .s_top_mv
---------------------------------------------*/
.s_top_mv {
    display: flex;
    position: relative;
    width: 100%;
    height: 700px;
    justify-content: center;
    align-items: center;
    gap: 6rem;
    background-image: url(../images/mv_back.png) !important;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0 10rem;
}
.s_top_mv_image {
  max-width: 800px;
}
.s_top_mv_copy {
    font-size: 5rem;
    color: var(--bl-color);
    letter-spacing: -1px;
}
.s_top_mv_copy_txt {
    position: relative;
    display: block;
	width: fit-content;
    z-index: 10;
    margin-bottom: 3rem;
}
.s_top_mv_copy_txt:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 20px;
    background: #fff;
    bottom: 0.5rem;
    left: 0;
    z-index: -1;
}
.s_top_mv_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 4rem;
}
.s_top_mv_appeal {
    max-width: 250px;
}


@media screen and (max-width: 1600px) {
  .s_top_mv {
    height: 90vh;
  }
  .s_top_mv_image {
    max-height: 500px;
  }
  .s_top_mv_copy {
	font-size: 4rem;
  }
  .s_top_mv_appeal {
	max-width: 220px;
}

}

@media screen and (max-width: 1300px) {
  .s_top_mv_images img {
    max-height: 70px;
  }
  .s_top_mv_copy {
	font-size: 3.2rem
  }
  .s_top_mv_grid {
	gap:1rem;
  }
  .s_top_mv_appeal {
	max-width: 180px;
	}
}
@media screen and (max-width: 1100px) {
  .s_top_mv {
	flex-wrap: wrap;
	height: 100%;
	padding: 6rem 0 6rem;
	gap: 3rem;
  }
  .s_top_mv_copy {
    font-size: 4rem;
  }
  .s_top_mv_copy_txt{
	margin: 0 auto 4rem;
  }
  .s_top_mv_appeal {
	max-width: 250px;
  }
  .s_top_mv_left,.s_top_mv_right {
    width: 100%;
  }
 
}
@media screen and (max-width: 900px) {
	.s_top_mv{
		padding: 4rem 2rem 4rem;
	}
	.s_top_mv_image {
		max-width: 100%;
		max-height: fit-content;
	}
	.s_top_mv_appeal {
        max-width: 100%;
    }
	.s_top_mv_copy_txt:after{
		height: 10px;
		bottom: -0.2rem;
	}
}

@media screen and (max-width: 760px) {
	.s_top_mv_copy_txt {
		font-size: 2rem;
	}
}

/*  .s_top_section
---------------------------------------------*/
.s_top_section {
  width: 100%;
  padding-top: 100px;
  padding-bottom: 100px;
  opacity: 1;
  position: relative;
  z-index: 98;
}
.s_top_section::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: url(../images/top_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

.s_top_section::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 250px;
  bottom: 0;
  left: 0;
  background-image: url(../images/index_under.png);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -2;
}

.s_index_box {
  position: relative;
  border: 3px solid #2479FC;
  background: #fff;
  border-radius: 20px;
  width: fit-content;
  margin: 7rem auto 0;
  padding: 6rem;
}

.s_index_link {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  margin-left: 1rem;
}

.s_index_list li {
  font-family: "din-2014", sans-serif;
  color: #2479FC;
  font-size: 3.3rem;
  display: flex;
  align-items: center;
}

.s_index_img {
  position: absolute;
  content: "";
  top: 0;
  right: -12rem;
}

.s_sec01_item img {
  width: 280px;
}

/*見出し設定*/
.s_top_catch {
  position: absolute;
  top: 9%;
  left: 0%;
  font-size: 8rem;
  text-shadow: 0 0 15px #666;
}

@media screen and (min-width: 1921px) {
  .s_top_section::before,.s_top_section::after{
    background-size: cover;
  }
  .s_top_section::after {
    background-size: contain;
  }
}

@media (max-width: 1280px) {
  .s_top_catch {
    font-size: calc(42px + ((1vw - 9.6px) * (16 / 6)));
  }
}

@media screen and (max-width: 1100px) {
  .s_top_section{
    padding-top: 40px;
    padding-bottom: 60px;
  }
  .s_sec01_box {
    gap: 20px;
  }
  .s_sec01_item {
    width: calc(100%/3 - 20px);
  }
  .s_sec01_item img {
    max-width: 200px;
  }
}

@media screen and (max-width: 968px) {
  .s_index_img {
    max-width: 200px;
    right: -3rem;
  }
}

@media screen and (max-width: 768px) {
  .s_top_catch {
    font-size: 2.8rem;
  }
  .s_top_section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .s_sec01_box {
    gap: 20px;
  }
  .s_sec01_item {
    width: calc(100%/2 - 20px);
  }
  .s_sec01_item img {
    max-width: 150px;
  }
  .s_index_box {
    padding: 2rem;
  }
  .s_index_list li {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  .s_index_link {
    font-size: 1.3rem;
  }
  .s_index_img {
    max-width: 150px;
    right: -1rem;
    top: -7rem;
  }
}


/*  .s_sec02
---------------------------------------------*/
.s_sec02 {
  position: relative;
}
.s_sec02_lead {
  margin: 6rem auto;
  font-size: 2.4rem;
  color: #fff;
}
.s_sec02_lead span {
  font-weight: 600;
  padding: 0rem 1.5rem;
  margin: 0 1rem;
  border-radius: 5px;
  background: #fff;
  color: #003690;
  border: 2px solid #003894;
}
.s_sec02_lead span:nth-child(3) {
  background: #d9d9d9;
  color: #222;
  border: 2px solid #222;
}
.s_sec02_item {
  position: relative;
  width: 100%;
  margin-bottom: 10rem;
}
.s_sec02_img {
  position: relative;
  z-index: -1;
}
.s_sec02_item:nth-child(2n) .s_sec02_img {
  justify-content: flex-start;
}
.s_sec02_img img {
  width: 70%;
  border-radius: 20px 0 0 20px;
}
.s_sec02_item:nth-child(2n) .s_sec02_img img {
  border-radius: 0 20px 20px 0;
}
.s_sec02_text {
  width: 80%;
  background: #f1f1f1;
  padding: 5rem 10rem;
  border-radius: 0 10px 10px 0;
  box-shadow: 2px 7px 10px 5px #001a5226;
  margin: -300px 0 0;
}
.s_sec02_item:nth-child(2n) .s_sec02_text {
  border-radius: 10px 0 0 10px;
  margin: -300px 0 0 auto;
}
.s_sec02_ttl {
  color: #003894;
  font-size: 3.2rem;
  border-bottom: 2px dotted #666;
  padding: 0 0 1rem;
  margin: 0 0 2rem;
}
.s_sec02_list {
  font-size: 2.2rem;
  width: 100%;
  margin: 2rem 0 2rem;
}
.s_sec02_list_ttl {
  width: 20%;
  background: #01358E;
  color: #fff;
  border-radius: 10px 0 0 10px;
}
.s_sec02_list_lead {
  font-weight: 600;
  width: 80%;
  padding: 1.5rem 2rem;
  border: 2px solid #01358e;
  border-radius: 0 10px 10px 0;
}
.s_sec02_list_lead i {
  font-size: 1.6rem;
  line-height: revert-layer;
  vertical-align: middle;
  color: #01358e;
}
.s_sec02_list:nth-child(2n) .s_sec02_list_ttl {
  background: #393939;
}
.s_sec02_list:nth-child(2n) .s_sec02_list_lead {
  border: 2px solid #393939;
  background: #E3E3E3;
}
.s_sec02_list:nth-child(2n) .s_sec02_list_lead i {
  color: #393939;
}
@media screen and (max-width: 1600px) {
  .s_sec02_img img{
    width: 85%;
  }
}
@media screen and (max-width: 1100px) {
  .s_sec02_text {
    width: auto;
    padding: 5rem;
    border-radius: 0;
    margin: -5rem 0 0;
  }
  .s_sec02_img img {
    width: 90%;
  }
  .s_sec02_item:nth-child(2n) .s_sec02_text {
    border-radius: 0px;
    margin: -5rem 0 0;
  }
  .s_sec02_item {
    margin-bottom: 7rem;
  }
  .s_sec02_item:last-child {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 968px) {
  .s_sec02_ttl {
    font-size: 2.4rem;
  }
  .s_sec02_list {
    font-size: 16px;
  }
  .s_sec02_list_lead i {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 768px) {
  .s_sec02_text {
    padding: 3rem;
  }
  .s_sec02_list_ttl {
    width: 100%;
    border-radius: 10px 10px 0 0;
    padding: 1rem 0;
  }
  .s_sec02_list_lead {
    width: 100%;
    border-radius: 0 0 10px 10px;
  }
  .s_sec02_text {
    margin: -2rem 0 0;
  }
  .s_sec02_img img {
    width: 95%;
  }
  .s_sec02_lead {
    margin: 3rem auto 4rem;
  }
  .s_sec02_lead span {
    margin: 0 0.5rem;
    padding: 0 1rem;
  }
  .s_sec02_item:nth-child(2n) .s_sec02_text {
    margin: -2rem 0 0;
  }
  .s_sec02_item {
    margin-bottom: 4rem;
  }
  .s_sec02_item:last-child {
    margin-bottom: 2rem;
  }
}


/*  .s_sec02_tbl
---------------------------------------------*/
.s_sec02_tbl {
    font-size: 1.4rem;
    text-align: left;
}
.s_sec02_tbl tr {
    border-bottom: 2px solid #ffffff;
}
.s_sec02_th--wh{
	background:#fff;
}
.s_sec02_tr--name {
    background: #fdd75e;
}
.s_sec02_tr--name th, .s_sec02_tr--name td {
    padding: 0.5rem 1.5rem;
}
.s_sec02_tr--yl {
    background: #fffee8;
}
.s_sec02_tr--yl th, .s_sec02_tr--bl th {
    background: #fdd75e;
    padding: 1.5rem;
    width: 15%;
}
.s_sec02_tr--yl td, .s_sec02_tr--bl td {
    padding: 1.5rem;
}
.s_sec02_tr--bl {
    background: #e5f5ff;
}
@media screen and (max-width: 768px) {
	.s_sec02_tbl {
    font-size: 1.3rem;
	}
	.s_sec02_tbl td {
    max-width: 100px;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
	}
	.s_sec02_tr--yl th, .s_sec02_tr--bl th {
    font-size: 1.2rem;
    max-width: 150px;
    padding: 1rem;
	}
	.s_sec02_tr--name {
    font-size: 1.2rem;
	}
}

/*  .s_sec03
---------------------------------------------*/
.s_sec03_item {
  background: #fff;
  padding: 3rem;
  border: 2px solid #2479FC;
  border-radius: 0 0 15px 15px;
  margin-bottom: 5.5rem;
}

.s_sec03_ttlbox {
  position: relative;
  display: flex;
  align-items: center;
  background: #2479FC;
  border-radius: 15px 15px 0 0;
}

.s_sec03_ttl {
  color: #fff;
  font-size: 22px;
  padding: 2rem 2rem 2rem 10rem;
}

.s_sec03_number {
  font-family: "din-2014", sans-serif;
  font-size: 5.5rem;
  color: #1939b1;
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
  justify-content: center;
  width: 95px;
  height: 95px;
  background: #24FC24;
  border-radius: 50%;
  margin-left: -1rem;
}

.s_sec03_number_ja {
  font-weight: 500;
  width: 100%;
  display: ruby;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 0;
}

.s_sec03_number_num {
  line-height: 0rem;
  margin-top: -2.5rem;
}

.s_sec03_steps {
  position: relative;
  background: #E5F5FF;
  padding: 2rem;
  border-radius: 15px;
  margin-top: 4rem;
}

.s_sec03_steps_ttl {
  color: #fff;
  font-weight: 600;
  background: #2479fc;
  width: fit-content;
  padding: 1.8rem 1.5rem;
  border-radius: 50%;
}


@media screen and (max-width: 1100px) {
  .s_sec03_ttl {
    font-size: 1.6rem;
    padding: 1rem 1rem 1rem 6rem;
  }
  .s_sec03_number {
    font-size: 3rem;
    width: 60px;
    height: 60px;
  }
  .s_sec03_number_ja {
    font-size: 1.2rem;
  }
  .s_sec03_number_num{
    margin-top: -1.5rem;
  }
  .s_sec03_item {
    padding: 2rem 2rem;
    margin-bottom: 3rem;
  }
  .c_lead_type02 {
    font-size: 1.6rem;
    padding: 2rem;
  }
}
@media screen and (max-width: 968px) {
  .c_lead_type02{
    width: 100%;
  }
  .s_sec03_lead {
    display: flex;
    flex-direction: column-reverse;
    gap:2rem;
  }
  .s_sec03_ttl {
    font-size: 1.4rem;
  }
  .s_sec03_steps{
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .s_sec03_steps_ttl{
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {

}

/*  .s_sec04
---------------------------------------------*/
.s_sec04 {
  padding: 10rem 0;
}
.s_sec04_ttlbox {
  display: flex;
  align-items: center;
  margin: 0 0 2rem 0;
}
.s_sec04_ttl {
  font-size: 2.6rem;
  color: #2479FC;
  width: 100%;
  padding-bottom: 1rem;
  border-bottom: 4px solid #2479fc;
  margin-left: 1rem;
}
.s_sec04_number {
  font-family: "din-2014", sans-serif;
  color: #2479FC;
  font-size: 4rem;
  font-weight: 600;
  border: 1px solid #2479fc;
  border-radius: 50%;
  width: fit-content;
  padding: 3rem 2rem;
  line-height: 0;
  margin-left: -7rem;
}
.s_sec04_img {
  margin-top: -8rem;
}

.s_sec04_lead {
  font-size: 1.8rem;
  font-weight: 600;
  padding: 3rem;
  border: 2px solid #1759E9;
  border-radius: 10px;
  margin-bottom: 3rem;
}
.s_sec04_lead i {
  font-size: 1.2rem;
  line-height: revert-layer;
  vertical-align: middle;
  color: #1759E9;
}
.s_sec04_tbl {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  border-radius: 10px;
  border-top: 1px solid #1759e9;
  border-left: 1px solid #1759e9;
}
.s_sec04_tbl th, .s_sec04_tbl td {
  font-size: 1.8rem;
  padding: 2rem;
  border-right: 1px solid #1759e9;
  border-bottom: 1px solid #1759e9;
  text-align: center;
}
.s_sec04_tbl th {
  background: #E7F0FF;
}
.s_sec04_tbl tr:first-child th {
  border-radius: 10px 10px 0 0;
}
.s_sec04_tbl tr:first-child td {
  border-radius: 0 10px 0 0;
}
.s_sec04_tbl tr:last-child th {
  border-radius: 0 0 0 10px;
}
.s_sec04_tbl tr:last-child td {
  border-radius: 0 0 10px 0;
}
.s_sec04_tbl tr:first-child th {
  border-radius: 8px 8px 0 0;
  background: #1759e9;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
}
.s_sec04_tbl span{
  font-size:2.4rem;
  font-weight: 800;
}
.s_sec04_bg {
  background: #1759e9;
  color: #fff;
  padding: 1rem 2rem;
  line-height: 2.8;
  margin: 1rem;
}
.s_sec04_bg_fs {
  font-size: 2.4rem;
}
.s_sec04_box {
  background: #E7F0FF;
  padding: 4rem 0;
  border-radius: 10px;
}

@media screen and (max-width: 1280px) {
  .s_sec04_number {
    margin-left: 0;
  }
}
@media screen and (max-width: 1100px) {
  .s_sec04_ttl {
    font-size: 1.8rem;
    border-bottom: 2px solid #2479fc;
  }
  .s_sec04_number {
    font-size: 2rem;
    padding: 2rem 1.5rem;
  }

}
@media screen and (max-width: 1024px) {
	.sec04 .is_sp_fl_jc_center,.sec05 .is_sp_fl_jc_center{
		justify-content: center;
	}
}
@media screen and (max-width: 968px) {
  .s_sec04 {
    padding: 6rem 0 5rem;
  }
  .s_sec04_tbl tr:first-child th {
    font-size: 1.6rem;
  }
  .s_sec04_tbl th, .s_sec04_tbl td{
    font-size: 1.6rem;
  }
  .s_sec04_tbl th, .s_sec04_tbl td {
    font-size: 1.6rem;
    padding: 1rem;
  }
  .s_sec04_tbl td {
    text-align: left;
    line-height: 1.8;
  }
  .s_sec04_tbl span {
    font-size: 2rem;
  }
  .s_sec04_bg_fs {
    font-size: 2rem;
  }
  .s_sec04_bg {
    line-height: 2.6;
    padding: 0.8rem;
    margin: 0 0.5rem 0 0;
  }
  .s_sec04_box {
    padding: 3rem;
  }
  .s_sec04_img {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {

}

/*  .s_sec05
---------------------------------------------*/
.s_sec05_ttl {
  font-size: 2.4rem;
  color: #fff;
  background: #2479fc;
  text-align: center;
  padding: 0.5rem 0;
  margin: 0 0 2rem 0;
}

.s_sec05_tbl {
  width: 100%;
}

.s_sec05_tbl th, .s_sec05_tbl td {
  padding: 2rem;
}

.s_sec05_tbl th {
  width: 15%;
  color: #fff;
  background: #1939B1;
}

.s_sec05_btn {
  min-width: 600px;
}
.s_sec05_btn a {
  width: 600px;
}

@media (max-width: 1100px) {
  .s_sec05_ttl {
    font-size: 1.8rem;
  }
}

@media (max-width: 968px) {
  .s_sec05 {
    padding: 4rem 0;
  }
  .s_sec05_tbl th, .s_sec05_tbl td {
    display: block;
    width: auto;
    padding: 1.5rem;
  }
  .s_sec05_ttl {
    font-size: 1.6rem;
  }
}

@media (max-width: 768px) {
  .s_sec05_btn {
    min-width: 90%;
  }
  .s_sec05_btn a {
    width: 90%;
  }
}

/*  .s_sec07
---------------------------------------------*/
.s_sec07_lead {
  position: relative;
  margin-bottom: 20rem;
  z-index: -1;
}
.s_sec07_img {
	position: absolute;
	right: 2rem;
	bottom: -8rem;
	z-index: 1000;
}
.s_sec07_item {
  background: #fff;
  border-radius: 0 15px 15px 15px;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 5rem;
}
.s_sec07_number {
  font-weight: 500;
  color: #fff;
  background: #1939b1;
  text-align: center;
  padding: 4rem 0;
  border-radius: 0 0 30px 30px;
}
.s_sec07_number_ja {
  display: block;
}
.s_sec07_number_num {
  font-family: "din-2014", sans-serif;
  font-size: 4.4rem;
  line-height: 1;
}


.s_sec07_txt {
  padding: 4rem 4rem 4rem 0;
}


@media (max-width: 1100px) {
  .s_sec07_img {
    bottom: auto;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}
@media (max-width: 968px) {
  .s_sec07_item {
    border-radius: 15px;
    grid-template-columns: 1fr;
  }
  .s_sec07_number {
    width: 25%;
    padding: 2rem;
    margin: auto;
  }
  .s_sec07_number_num {
    font-size: 3rem;
  }
  .s_sec07_txt {
    padding: 0 2rem 3rem;
  }

}

/*  .s_sec08
---------------------------------------------*/
.c_section_type01.sec08 {
  padding-bottom: 0;
}

@media (max-width: 968px) {
  .s_sec08_under_img {
    width: 100%;
    height: 100px;
    object-fit: cover;
  }
}

/*  .s_sec10
---------------------------------------------*/
.s_sec10_ttl {
  font-size: 24px;
  color: #fff;
  background: #2479fc;
  padding: 1rem 0;
  text-align: center;
  margin-bottom: 3rem;
}
.s_sec10_item {
  background: #1939B1;
  border-radius: 15px;
  padding: 3rem 6rem;
  gap: 6rem;
  margin-bottom: 4rem;
}
.s_btn_summary {
  width: 410px;
  max-width: 410px;
}
.s_btn_summary a {
  font-size: 2rem;
  width: 410px;
  padding: 2.5rem 0;
  border-radius: 15px;
}
@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 1100px) {
  .s_sec10_ttl {
    font-size: 1.8rem;
  }
  .s_sec10_item {
    padding: 3rem 2rem;
    gap: 2rem;
  }
  .s_sec10_txt {
    width: 75%;
  }
  .s_sec10_img {
    width: 60%;
    max-width: 150px;
  }
  .s_btn_summary {
    width: auto;
  }
  .s_btn_summary a {
    font-size: 1.8rem;
    width: auto;
    padding: 2.5rem 3.5rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 968px) {
  .s_sec10_ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .s_sec10_item {
    justify-content: center;
    margin-bottom: 2rem;
  }
  .s_sec10_txt {
    width: 100%;
  }
  .c_btn_wrap {
    width: 100%;
  }
  .s_btn_summary a{
    width: 100%;
  }
  .s_btn_summary {
    margin: auto;
  }
}


/*----------------------------------------------
	メリット
---------------------------------------------*/
.s_merit_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem;
}
.s_merit_item {
    width: calc(100% / 3 - 3rem);
    color: var(--wh-color);
    border: 2px solid var(--wh-color);
    border-radius: 15px;
    text-align: center;
    padding: 4rem 2rem;
}
.s_merit_icon {
    max-width: 150px;
}
.s_merit_ttl {
    margin: 2rem auto;
    font-size: 2.6rem;
}
.s_merit_ttl_large {
    font-size: 3.4rem;
}
.s_merit_modal_icon {
    position: absolute;
    max-width: 150px;
    bottom: -1rem;
    right: 2rem;
}
.s_merit_strong {
    font-size: 2.2rem;
    color: var(--rd-color);
}
@media screen and (max-width: 1100px) {
	.s_merit_item {
		width: calc(100% / 2 - 3rem);
	}
	.s_merit_modal_icon{
		filter: opacity(0.5);
	}
}
@media screen and (max-width: 900px) {
	.s_merit_item {
		width: 100%;
		padding: 3rem 1rem;
	}
	.s_merit_ttl {
		font-size: 2rem;
	}
	.s_merit_ttl_large {
		font-size: 3rem;
	}
	.s_merit_icon {
		max-width: 100px;
	}
	.s_merit_modal_icon {
		max-width: 90px;
		right: 1rem;
	}
	.s_merit_strong {
		font-size: 1.8rem;
	}
}

/*----------------------------------------------
	機能
---------------------------------------------*/
.s_functions_box {
    margin: 12rem auto 0;
}
.s_functions_ttl {
    position: relative;
    font-size: 3.6rem;
    text-align: center;
    padding-bottom: 3rem;
    margin-bottom: 6rem;
}
.s_functions_ttl:after {
    position: absolute;
    content: "";
    width: 120px;
    height: 6px;
    background: var(--bl-color);
    border-radius: 5px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.s_functions_grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 4rem;
}
.s_functions_subttl {
    font-size: 2.6rem;
    color: var(--bl-color);
}
.s_functions_subttl i {
    width: 30px;
	color: var(--rd-color);
}
.s_functions_lead {
    font-size: 2rem;
    font-weight: 600;
    margin-left: 3.6rem;
}
@media screen and (max-width: 900px) {
	.s_functions_box {
		margin: 5rem auto 0;
	}
	.s_functions_grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.s_functions_ttl {
		font-size: 2.4rem;
		padding-bottom: 2rem;
		margin-bottom: 3rem;
	}
	.s_functions_ttl:after {
		height: 3px;
		width: 90px;
	}
	.s_functions_subttl {
		font-size: 2rem;
	}
	.s_functions_subttl i{
	    width: 20px;
	}
	.s_functions_lead {
		font-size: 1.4rem;
		margin-left: 2.5rem;
	}
}


/*----------------------------------------------
table
---------------------------------------------*/
.s_accordion__tbl {
    width: 100%;
}
.s_plan_item_bottom {
    margin-top: 3rem;
}
@media screen and (max-width: 768px) {

}


/*----------------------------------------------
	料金プラン
---------------------------------------------*/
.s_plan_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}
.s_plan_item {
    padding: 6rem 4rem 4rem;
    background: var(--wh-color);
    border-radius: 15px;
    border: 3px solid var(--libk-color);
	box-shadow: 0px 3px 5px 2px #0e206324;
}
.s_plan_item:nth-child(2) {
	border: 3px solid var(--bl-color);
}
.s_plan_item_top {
    text-align: center;
    margin: 0 auto;
}
.s_plan_item_ttl {
    font-size: 3.4rem;
    color: var(--libk-color);
    font-weight: 800;
    text-align: center;
    line-height: 1;
    height: 70px;
}
.s_plan_item:nth-child(2) .s_plan_item_ttl {
	color: var(--bl-color);
}
.s_plan_item_ttl span {
    font-size: 2rem;
}
.s_plan_item_txt {
    font-size: 2.4rem;
    font-weight: 600;
	color: var(--libk-color);
}
.s_plan_item_num {
    font-family: "Roboto", sans-serif;
	color: var(--libk-color);
    font-size: 7rem;
}
.s_plan_item:nth-child(2) .s_plan_item_num,.s_plan_item:nth-child(2) .s_plan_item_txt {
	color: var(--bl-color);
}
.s_accordion__tbl {
    width: 100%;
}
.s_plan_item_bottom {
    margin-top: 3rem;
}
.s_accordion__tbl tr {
    background: var(--gray-color);
}
.s_accordion__tbl th {
    font-size: 1.8rem;
    font-weight: 800;
    width: fit-content;
    vertical-align: top;
    text-align: left;
}
.s_accordion__tbl td {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: end;
}
.s_accordion__tbl tr:nth-child(2n) {
    background: var(--wh-color);
}
.s_accordion__tbl th,.s_accordion__tbl td{
	padding: 1.5rem;
}
@media (max-width: 1100px) {
	.s_accordion__tbl th{
		width: 35%;
	}
}
@media (max-width: 900px) {
	.s_plan_box{
		grid-template-columns: 1fr;
	}
	.s_plan_item {
		padding: 4rem 1.5rem 3rem;
	}
	.s_plan_item_ttl {
		font-size: 2.6rem;
		height: fit-content;
	}
	.s_plan_item_ttl span {
		font-size: 1.6rem;
	}
	.s_plan_item_num{
		font-size: 5rem;
	}
	.s_accordion__tbl th {
        width: 40%;
    }
}

/*----------------------------------------------
	導入フロー
---------------------------------------------*/
.s_flow_wrap {
    position: relative;
}
.s_flow_box{
	margin: auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1.5rem;
	margin: 12rem auto 0;
}
.s_flow_item{
	background: var(--gray-color);
}
.s_flow_item_inner {
    padding: 3rem;
    min-height: 250px;
}
.s_flow_item_ttl {
    text-align: center;
    font-size: 3rem;
    color: var(--bl-color);
    margin-bottom: 2rem;
}
.s_flow_num {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #5B87DF;
    color: var(--wh-color);
    font-weight: 900;
    width: 100px;
    height: 100px;
    font-size: 6rem;
    text-align: center;
    border-radius: 50%;
	margin: -5rem auto 0;
	padding-bottom: 1rem;
}
.s_flow_item_txt{
	font-size: 1.8rem;
	font-weight: 500;
}
.s_flow_item:nth-child(2) .s_flow_num{
	background: #3F6ECC;
}
.s_flow_item:nth-child(3) .s_flow_num{
	background: #2052B7;
}
.s_flow_item:nth-child(4) .s_flow_num{
	background: #1244A8;
}
@media (max-width: 1600px) {
	.s_flow_wrap {
		position: relative;
		margin-top: 12rem;
	}
}
@media (max-width: 1300px) {
	.s_flow_item_ttl{
		font-size: 2.4rem;
	}
	.s_flow_num{
		width: 70px;
		height: 70px;
		font-size: 4rem;
		margin: -3rem auto 0;
	}
}
@media (max-width: 900px) {
	.s_flow_wrap{
		margin-top: 6rem;
	}
	.s_flow_box {
		grid-template-columns: 1fr;
		gap: 4rem;
		margin: 6rem auto 0;
	}
	.s_flow_item_inner {
		padding: 1rem 2rem 4rem;
		min-height: auto;
	}
	.s_flow_num {
        width: 60px;
        height: 60px;
        font-size: 3.5rem;
        margin: -2.5rem auto 0;
    }

}

/*----------------------------------------------
	フォーム
---------------------------------------------*/
.s_form {
    background: var(--wh-color);
    padding: 6rem 10rem;
    border-radius: 20px;
}

.s_contact_ttl {
    color: #07359c;
}
.s_contact_txt {
    text-align: left;
	margin-bottom: 2rem;
}
.s_contact_item {
    color: #222;
    background: #fff;
    border-radius: 15px;
    padding: 5rem;
}
.blk-iframe {
	color: #222;
	border: 2px solid #323232;
	background-color: #fff;
	width: 90%;
	max-width: 100%;
	height: 20rem;
	margin: 2rem auto 2rem;
	overflow: auto;
	text-align:left;
}
.contact-privacy__txt {
	line-height: 1.8;
	padding: 3%;
}
.contact-privacy {
    text-align: left;
	font-weight: 500;
}

.contact-message,.contact-label {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}
.contact-label {
    font-size: 2.6rem;
    margin-bottom: 2rem;
    text-align: left;
    font-weight: 700;
}
.form-input {
    font-weight: 400;
    width: 100%;
    background: var(--wh-color);
    border: 3px solid var(--bl-color);
    padding: 1rem !important;
    margin: 0.5rem 0 0 0;
}
.form-input, .blk-iframe {
    border-radius: 5px;
}
.form-radio {
	display: flex;
	flex-wrap: wrap;
}
.wpcf7-list-item-label {
	font-weight: 500;
}
.contact-consent {
	font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
}
.contact-consent .wpcf7-list-item {
	margin: 0;
	text-align: center;
}
.s_form_file {
    margin-top: 1rem;
    font-weight: 400;
}
.contact-recaptcha{
	font-size:14px;
}
.contact_lead {
    font-size: 3rem;
    color: var(--bl-color);
    font-weight: 600;
    text-align: center;
    margin: 6rem auto 6rem;
}
.contact-required {
    background: var(--rd-color);
    color: var(--wh-color);
    margin: 0 0 0 0.8rem;
    font-size: 2rem;
    font-weight: 400;
    padding: 0rem 0.5rem 0.2rem 0.5rem;
    border-radius: 5px;
}
.contact-submit {
    text-align: center;
}
.wpcf7 .wpcf7-submit {
    width: fit-content;
    min-width: 500px;
    font-size: 4rem;
    padding: 1rem 3rem;
    background: var(--rd-color);
    text-shadow: 0px 3px 3px rgb(179 4 58 / 35%);
    border: none;
    border-radius: 10px;
    color: var(--wh-color);
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
	transition: .3s;
}
.wpcf7 .wpcf7-submit:disabled{
	background: #737373;
	color: #fff;
	text-shadow: 0 0 BLACK;
}
.wpcf7 .wpcf7-submit:hover {
    filter: brightness(1.3);
    transition: .3s;
}
.contact-acceptance {
    cursor: pointer;
}
.contact-submit .wpcf7-spinner {
    display: block!important;
    margin: 0.5rem auto!important;
}

/*recapcha非表示*/
.grecaptcha-badge { 
	visibility: hidden;
}
@media (max-width: 968px) {
	.s_form {
		padding: 3rem 1.5rem;
	}
	.s_contact_item {
		padding: 3rem 2rem 2rem;
	}
	.wpcf7 .wpcf7-submit{
		width: fit-content;
		min-width: 100%;
		font-size: 1.6rem;
	}
	.s_contact_txt{
		font-size: 1.6rem;
	}
	.contact-label,.contact-privacy,.contact-consent{
		font-size: 1.6rem;
	}
	.contact-recaptcha{
		font-size:1.4rem;
	}
	.contact-consent.contact-recaptcha{
		font-size: 1.3rem;
	}
	.contact_lead {
		font-size: 1.8rem;
		text-align: left;
		margin: 0rem auto 2rem;
	}
	.contact-required {
		font-size: 1.2rem;
	}
}

/*----------------------------------------------
	thanks
---------------------------------------------*/
.s_thanks_box {
    width: fit-content;
    margin: 0 auto;
    background: #fff;
    padding: 6rem;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
	.s_thanks_btn {
		max-width: 100%;
	}
	.s_thanks_btn a {
		width: 100%;
	}
}
/*----------------------------------------------
	404
---------------------------------------------*/
.s_notfound {
  font-size: 10rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 1280px) {
  .s_notfound {
    font-size: calc(95px + ((1vw - 9.6px) * (16 / 6)));
  }
}
@media screen and (max-width: 768px) {
  .s_notfound {
    font-size: 6rem;
  }
}
