/*-------- base --------*/
html {
  -webkit-text-size-adjust: 100%;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  font-family: 'メイリオ','MS PGothic',Verdana,Arial,'ヒラギノ角ゴ‚´ Pro W3','Hiragino Kaku Gothic Pro',Osaka,sans-serif;
  font-size: 1.5rem;
  line-height: 1.5;
  background-color: #fff;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}
.bodyarea {
  width: 100%;
  margin: 0 auto;
}
.pcOnly {
  display: block;
}
.spOnly {
  display: none;
}

/*----- common -------------------------------------*/
#sc202503cp .inner {
  max-width: 1160px;
  margin: 0 auto;
}
#sc202503cp .inner + .inner {
  margin-top: 60px;
}
#sc202503cp p,
#sc202503cp li,
#sc202503cp dt,
#sc202503cp dd {
  font-size:1.5rem;
  line-height: 1.5;
  color: #333;
}
#sc202503cp h2 {
  text-align: center;
  padding-bottom: 50px;
}
#sc202503cp small {
  font-size: 50%;
  margin-right: -3px;
}
#sc202503cp .big {
  font-size: 180%;
}
#sc202503cp .bold {
  font-weight: bold;
}
#sc202503cp a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
#sc202503cp .flex_box {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-content: space-between;
  align-items: center;
}

/*------ #mv_area --------------------------*/
#sc202503cp #mv_area .inner{
  background: url("../images/sc202503cp_mv_back.png") no-repeat center;
  background-size: cover;
  position: relative;
  padding: 20px 0;
  max-width: 100%;
  height: 464px;
  margin: 0 auto;
  text-align: center;
  z-index: -10;
}
#sc202503cp #mv_area .inner h1 {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
#sc202503cp #mv_area .inner h1::before {
  content: "";
  display: inline-block;
  position: absolute;
  background: url("../images/sc202503cp_mv_photo.png") no-repeat;
  width: 1160px;
  height: 437px;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
#sc202503cp #mv_area .inner h1::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url("../images/speechbubble.png") no-repeat;
  width: 245px;
  height: 160px;
  top: -22px;
  right: -165px;
  z-index: 5;
}


/*------ #service --------------------------*/

#sc202503cp #overview {
  position: relative;
  padding-top: 60px;
}
#sc202503cp #overview div{
  background: url("../images/overview_back.png") no-repeat center;
  background-size: cover;
  position: relative;
  max-width: 1160px;
  height: 300px;
  margin: 0 auto;
  padding:45px 60px;
}
#sc202503cp #overview p{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 24px;
  line-height: 2.16;
}
#sc202503cp #service {
  background-color: #bfe3ed;
  padding-bottom: 150px;
}
#sc202503cp #service h2 {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  background: #685b52;
  margin-bottom: 29px;
  padding: 5px 20px 2px;
  position: relative;
}
/*------ #reco_soft --------------------------*/
#sc202503cp #service #reco_soft {
  position: relative;
  background: url("../images/sc202503cp_bg02.png");
  margin-top: 30px;
  padding: 47px 90px 60px;
  border-radius: 20px;
}
#sc202503cp #service #reco_soft::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url("../images/pointpict01.png") no-repeat;
  width: 202px;
  height: 212px;
  bottom: -30px;
  right: -110px;
  z-index: 5;
}
#sc202503cp #reco_soft .contbox {
  display: flex;
  justify-content: space-between;
}
#sc202503cp #reco_soft .contbox dl {
  display: block;
  width: 100%;
  max-width: 320px;
}
#sc202503cp #reco_soft .accbox label {
  margin-top: 10px;
}
#sc202503cp #reco_soft .contbox dl .ofr {
  margin-top: 30px;
}
#sc202503cp #reco_soft .contbox dl .ofr + .ofr {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px dotted #e1e1e1;
}
#sc202503cp #reco_soft .contbox dl .ofr .button {
  margin-top: 0;
}
/*------ #info_box --------------------------*/
#sc202503cp #service #info_box {
  position: relative;
  background: #fbfbf7;
  padding: 51px 90px 60px;
  border-radius: 20px;
}
#sc202503cp #service #info_box::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url("../images/pointpict02.png") no-repeat;
  width: 241px;
  height: 184px;
  bottom: -100px;
  left: -90px;
  z-index: 5;
}
#sc202503cp #service #info_box .h2 {
  display: inline-block;
  margin: 0 auto;
  max-width: 29.59%;
}

#sc202503cp #service #info_box .info_wrapper {
  align-items: flex-start;
  margin-bottom: 25px;
}
#sc202503cp #service .info_list {
  width: 48.16%;
  margin-top: 0;
}
#sc202503cp #service .info_list dt {
  font-size: 110%;
  font-weight: bold;
  padding: 16px 0 4px;
}
#sc202503cp #service .info_list dd {
  padding-bottom: 16px;
  border-bottom: 1px solid #979797;
}
#sc202503cp #service .info_list dd:last-of-type {
  border-bottom: none;
}
#sc202503cp #service .info_list dd ul li {
  list-style: disc;
  margin-left: 20px;
}
#sc202503cp #service .info_list dd ul.course_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#sc202503cp #service .info_list dd ul.course_list li {
  width: 40%;
  margin-right: 10px;
}
#sc202503cp #service .info_list dd ul.course_list li:nth-of-type(2n) {
  margin-right: 0;
}
#sc202503cp #service .info_list dd ul li.course_list_text {
  margin-top: 4px;
}
#sc202503cp #service .info_wrapper .add_txt {
  padding: 16px 20px;
  border-top: 1px solid #979797;
  border-bottom: 1px solid #979797;
}
#sc202503cp #service #caution {
  padding: 50px 20px 60px;
  background-color: #f8f8e5;
}
#sc202503cp #service #caution h3{
  text-align: center;
  margin-bottom: 33px;
}
#sc202503cp #service #caution p{
  font-size: 1.6rem;
  text-align: center;
}
#sc202503cp #service #caution .caution_img{
  text-align: center;
  margin-top: 31px;
}


/*------ #caution --------------------------*/
#sc202503cp #caution .dl_wrapper {
  width: 100%;
  background-color: #fff;
  border: 1px solid #25292a;
  padding: 24px 60px 10px;
}
#sc202503cp #caution dl {
  padding-bottom: 20px;
}
#sc202503cp #caution dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 4px;
}
#sc202503cp #caution dl dt,
#sc202503cp #caution dl dd {
  padding-left: 20px;
  line-height: 1.6;
  position: relative;
}
/* çµ‚äº†ã¾ã§ã®ã‚«ã‚¦ãƒ³ãƒˆãƒ€ã‚¦ãƒ³
------------------------------------- */
#countdown-unit {
  margin: 0 auto;
  text-align: center;
  font-size: 1.7rem;
  padding: 11px 0 6px;
  background: #f70d44;
  color: #fff;
}
#countdown-unit p {
  display: inline-block;
}
#countdown-unit span {
  font-size: 140%;
  padding-left: 0.2em;
  padding-right: 0.1em;
  display: inline-block;
}
#countdown-unit p.count_end {
  display: inline-block;
  margin: -1px 0 2px;
  color: #fff;
}
#countdown-unit p.count_end a {
  color: #fff;
  text-decoration: underline;
  padding-left: 0.25em;
  padding-right: 0.25em;
}
#countdown-unit p.count_end a:hover,
#countdown-unit p.count_end a:active {
  text-decoration: none;
}

/*--- 767px------------------------------------------------------*/
@media screen and (max-width: 767px) {

  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }

/*----- common -------------------------------------*/
  #sc202503cp .inner {
    width: 100%;
  }
  #sc202503cp p,
  #sc202503cp li,
  #sc202503cp dt,
  #sc202503cp dd {
    font-size:1.4rem;
  }
  #sc202503cp section {
    padding: 40px 10px;
  }
  #sc202503cp h2 {
    padding-bottom: 30px;
  }
  #sc202503cp .flex_box {
    display: -webkit-block;
    display: block;
    justify-content: center;
  }
  #sc202503cp .inner + .inner {
    margin-top: 8vw;
  }

  /*------ #service --------------------------*/
	#sc202503cp #overview {
		padding: 0;
	}
	#sc202503cp #overview div {
	  background: url("../images/overview_back_sp.png") no-repeat center 0;
	  background-size: contain;
	  position: relative;
	  width: 100%;
	  height: 83vw;
	  margin:0 auto;
	  padding: 5.5vw 6vw;
	}
	#sc202503cp #overview p{
	  font-family: 'Noto Sans JP', sans-serif;
	  font-size: 4.5vw;
	  line-height: 1.85;
	  margin:auto;
	  letter-spacing: 2px;
	}
	#sc202503cp #overview p br {display: none;}
    #sc202503cp #service #info_box,
    #sc202503cp #service #reco_soft{
	padding: 8vw 2.667vw;
	border-radius: 2.667vw;
  }
  #sc202503cp #service h2 {
	margin-bottom: 4vw;
	padding: 5px 10px 2px;
  }
  #sc202503cp #service #reco_soft .h2 {
	max-width: 40%;
  }
  #sc202503cp #reco_soft .contbox {
	display: block;
  }
  #sc202503cp #reco_soft .contbox dl {
	display: block;
	width: 100%;
	margin: 0 auto 20px;
  }
  #sc202503cp #service .service_list {
	max-width: 100%;
	margin: 0 auto;
	padding: 10px 0 20px;
  }
  #sc202503cp #service .service_list > li:nth-of-type(n+3) {
	margin-top: 0;
  }
  #sc202503cp #service .service_list > li {
	max-width: 100%;
	margin-top: 20px!important;
  }
  #sc202503cp #service .service_list .detail_wrapper {
	padding: 0 20px 30px;
  }
  #sc202503cp #service .service_list li .detail_wrapper p {
	font-size: 1.6rem;
  }
  #sc202503cp #service .info_list {
	width: 100%;
	padding: 20px;
  }
  #sc202503cp #service .info_list dt {
	padding: 14px 0 4px;
  }
  #sc202503cp #service .info_list dd {
	padding-bottom: 14px;
  }
  #sc202503cp #service .info_list dd ul li {
	margin-left: 20px;
  }
  #sc202503cp #service #info_box .h2 {
	max-width: 58.81%;
  }
  /*------ #caution --------------------------*/
  #sc202503cp #service #caution {
	padding: 6.667vw 2.667vw 8vw;
  }
  #sc202503cp #service #caution h3{
	margin: 0 auto 4.4vw;
  }
  #sc202503cp #service #caution .caution_img{
	margin-top: 4.133vw;
  }
	#sc202503cp #service #reco_soft::after {
		background-size:contain;
		width:25vw;
		bottom:-20vh;
		right:-1.2vw;
	}
	#sc202503cp #service #info_box::after {
	  background-size:contain;
		width:33vw;
		bottom:-27vh;
		left:-1.2vw;
	}
}


/*------ Norton-----*/
/*- #service -----*/
#sc202503cp.Norton #service {
  padding: 100px 0;
}
#sc202503cp.Norton #service h2 {
  max-width: 1032px;
  margin: 0 auto;
  text-align: center;
  background-color: #fff;
  padding: 30px 70px 20px;
  box-sizing: border-box;
  border-radius: 20px;
}
#sc202503cp.Norton #service .lead_text {
  max-width: 1032px;
  margin: 30px auto 60px;
  font-size: 2.0rem;
  line-height: 1.7;
  text-align: left;
}
#sc202503cp.Norton #service .detail_box {
  max-width: 1032px;
  margin: 0 auto;
  padding: 18px 24px 24px;
  background-color: #fff;
  border: 2px solid #515151;
  box-sizing: border-box;
}
#sc202503cp.Norton #service .service_head {
  background-color: #efeee9;
}
#sc202503cp.Norton #service .service_head .col_left {
  max-width: 520px;
}
#sc202503cp.Norton #service .service_head .col_right {
  max-width: 460px;
}
#sc202503cp.Norton #service .h_text {
  margin: 20px auto 16px;
  padding: 10px 20px;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #515151;
}
#sc202503cp.Norton #service .function_list {
  max-width: 980px;
  margin: 10px auto 30px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#sc202503cp.Norton #service .function_list li {
  width: 240px;
  display: inline-block;
  margin: 6px 0 0 0;
}
#sc202503cp.Norton #service .info_wrapper {
  align-items: flex-start;
}
#sc202503cp.Norton #service .info_list {
  max-width: 470px;
  padding: 0;
  margin: 0 20px 0 0;
}
#sc202503cp.Norton #service .info_list:nth-of-type(2) {
  margin: 0 0 0 0;
}

@media screen and (max-width: 767px) {
  /*- #service -----*/
  #sc202503cp.Norton #service {
    padding: 60px 0 50px;
  }
  #sc202503cp.Norton #service h2 {
    width: 100%;
    padding: 30px 10px 20px;
    border-radius: 8px;
  }
  #sc202503cp.Norton #service .lead_text {
    width: 100%;
    font-size: 1.6rem;
    padding: 0 10px;
  }
  #sc202503cp.Norton #service .detail_box {
    width: 100%;
    padding: 14px 12px 24px;
  }
  #sc202503cp.Norton #service .service_head .col_left,
  #sc202503cp.Norton #service .service_head .col_right {
    width: 100%;
    margin: 0 auto;
  }
  #sc202503cp.Norton #service .h_text {
    padding: 6px 20px;
  }
  #sc202503cp.Norton #service .function_list {
    width: 100%;
  }
  #sc202503cp.Norton #service .function_list li {
    width: calc(( 100% / 2) - 4px);
  }
  #sc202503cp.Norton #service .info_list,
  #sc202503cp.Norton #service .info_list:nth-of-type(2) {
    width: 100%;
    margin: 0 auto;
  }
  #sc202503cp.Norton #service .info_list:nth-of-type(1) dd:last-of-type {
    border-bottom: 1px solid #333;
  }
}