/*---------- block ----------*/
main {
  padding-top: 56px;
}
section {
  box-sizing: border-box;
}
@media screen and (min-width:1024px) {
  section {}
}
.container {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  padding-bottom: 64px;
}
.contents {
  max-width: 1200px;
  margin: auto;
}
h3 {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  padding: 48px 0 0;
  line-height: 1.5;
  color: #333;
}
@media (min-width: 1024px) {
  h3 {
    text-align: center;
    font-size: 24px;
    line-height: 200%;
    letter-spacing: 1.2px;
    padding: 64px 0 0;
  }
}
.sec_image {
  width: 90%;
  margin: 32px auto;
}
.sec_image img {
  width: 100%;
  margin: auto;
}
@media screen and (min-width:1024px) {
  .sec_image {
    width: auto;
    margin: 32px auto;
    text-align: center;
  }
  .sec_image img {
    width: auto;
  }
}
/*---------- block End----------*/
section .section_read, section .section_text p {
  font-size: 16px;
  line-height: 28px; /* 175% */
  letter-spacing: 0.8px;
}
@media screen and (min-width:1024px) {
  .container {
    width: 90%;
    padding-bottom: 96px;
  }
  section .section_read, section .section_text {}
}
.note {
  line-height: 1.75;
  margin-top: 0;
  padding-left: 1.5em;
  display: block;
  font-size: 15px !important;
}
.note:before {
  content: "※";
  margin-left: -1em;
}
.color_secondary {
  color: #3370AD;
}
.mainv {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #f2f7f8;
  background-image: url('/web/jp/government/images/service/lgwan/mainv_bg.svg');
  background-repeat: no-repeat;
  background-position: center 250px;
  background-size: contain;
}
.mainv .container {
  padding: 64px 20px;
  margin: 0;
  position: relative;
  width: 90%;
}
@media (min-width: 429px) and (max-width: 1023px) {
	.mainv {
		background-position: center 60%;
	}
}
@media (min-width: 1024px) {
  .mainv {
    background-size: contain;

  }
  .mainv .container {
    margin: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .mainv .cta {
    margin-top: 48px;
    width: 400px;
    margin: 0 0 0 !important;
  }
}
@media (min-width: 75em){
	.mainv {
		background-position-y: 58px;
    	background-position-x: 100%;
	}
}

.mainv_container h1 {
  font-size: 31px;
  font-weight: 700;
  line-height: 150%; /* 46.5px */
  letter-spacing: 0.775px;
  margin: 0 0 48px;
}
@media (min-width: 1024px) {
  .mainv_container h1 {
    font-size: 60px;
    letter-spacing: 1.5px;
  }
}
.mainv_container h1 .color_secondary {
  color: #3B81C7;
}
.mainv_container h1 .small {
  font-size: 24px;
}
@media (min-width: 1024px) {
  .mainv_container h1 .small {
    font-size: 48px;
  }
}
.mainv_container .read {
  font-size: 16px;
  font-weight: 700;
  line-height: 150%; /* 24px */
  margin: 0 0 48px;
  width: 100%;
}
@media (min-width: 1024px) {
  .mainv_container .read {
    line-height: 180%; /* 28.8px */
  }
}
.mainv_container .cta_btn_wrap {
  margin-top: 64px;
}
@media (min-width: 1024px) {
  section .container .section_text {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
  }
}
section#sec_steps {
  background-color: #F2F7F8;
}
section#sec_steps .container{
	width: 100%;
}
section#sec_steps .container .contents .steps_flow {
  display: flex;
  width: 90%;
  max-width: 630px;
  margin: auto;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1024px) {
  section#sec_steps .container .contents .steps_flow {
    max-width: 630px;
    margin: auto;
  }
}
section#sec_steps .container .contents .steps_flow h3 {
  width: 100%;
  padding: 10px;
  background-color: #fff;
  text-align: left;
  font-size: 16px;
  line-height: 150%; /* 24px */
}
@media (min-width: 1024px) {
  section#sec_steps .container .contents .steps_flow h3 {
    font-size: 20px;
  }
}
section#sec_steps .container .contents .steps_flow .steps_flow_inner {
  padding: 0px 20px;
  width: auto;	
}
section#sec_steps .container .contents .steps_flow .steps_flow_inner:nth-child(odd) {
  background-color: #fff;
}
section#sec_steps .container .contents .steps_flow .steps_flow_inner:nth-child(even) {
  background-color: #E0ECF3;
}
section#sec_steps .container .contents .steps_flow .steps_flow_inner .step {
  width: 100%;
  padding: 10px;
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 8px;
  flex: 1 0 0;
  align-self: stretch;
}
section#sec_steps .container .contents .steps_flow .steps_flow_inner .step .step_num {
  color: #BD0000;
  line-height: 1;
  padding: 10px 0px;
  font-size: 20px;
  font-weight: 700;
}
section#sec_steps .container .contents .steps_flow .steps_flow_inner .step .detail {
  font-size: 16px;
  line-height: 19px; /* 118.75% */
  padding: 10px 0px;
}
section#sec_secirity .secirity_options {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-self: stretch;
  box-sizing: border-box;
  margin-top: 48px;
}
.min-width-1024 {
  display: none;
}
.max-width-1023 {
  display: block;
	margin:auto;
}
@media (min-width: 1024px) {
  section#sec_secirity .secirity_options {
    flex-direction: row;
    /*align-items: flex-start;*/
  }
  .min-width-1024 {
    display: block;
  }
  .max-width-1023 {
    display: none;
  }
}
section#sec_secirity .secirity_options div.option {
 width: 100%;
  box-sizing: border-box;
  border-bottom: solid 3px #E6E6E6;
  background-color: #F7F7F7;
  display: flex;
  padding: 24px;
  justify-content: stretch;
/*  align-self: stretch;
	align-items: stretch;*/
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 1024px) {
  section#sec_secirity .secirity_options div.option {
    width: 50%;
	flex-direction: row;
  }
  section#sec_secirity .secirity_options div.option:nth-child(even) {
    border-left: solid 3px #E6E6E6;
  }
  section#sec_secirity .secirity_options div.option {
    justify-content: flex-start;
	align-items: flex-start;
  }
  section#sec_secirity .secirity_options div.option:nth-child(5) {
    width: 100%;
  }
	
	.option_inner{
	width: 100%;
}
}

section#sec_secirity .secirity_options div.option h3.secirity_menu {
  display: flex;
  text-align: left;
  gap: 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 150%; /* 30px */
  padding-top: 0;
  padding-bottom: 8px;
}
section#sec_secirity .secirity_options div.option h3.secirity_menu .num {
  color: #3B81C7;
}
@media (min-width: 1024px) {
  section#sec_secirity .secirity_options div.option h3.secirity_menu {}
}
section#sec_secirity .secirity_options div.option .option_detail {
  font-size: 16px;
  line-height: 28px; /* 175% */
  letter-spacing: 0.8px;
}
section#sec_secirity .secirity_options div.option .note {
  margin-top: 16px;
  font-size: 15px;
}
section#prmerit {
  background-color: #F2F7F8;
}
section#prmerit .contents {
  display: flex;
  gap: 32px;
  flex-direction: column;
  position: relative;
  width: 100%;
}
@media (min-width: 1024px) {
  section#prmerit .contents {
    flex-direction: row;
    justify-content: space-between;
  }
}
.pr_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  border: none;
  background-color: #fff;
  padding: 32px 0;
}
@media (min-width: 1024px) {
  .pr_content {
    width: 31%;
  }
}
#prmerit .pr_content h3.merit_title {
  padding: 0;
}
#prmerit h3 {
  padding: 32px 0;
}
@media (min-width: 1024px) {
  #prmerit .pr_content h3.merit_title {
    padding: 0;
  }
  #prmerit h3 {
    padding: 64px 0;
  }
}
.merit_text {
  margin-bottom: 0;
  padding: 0 32px 0;
}
.merit_title {
  margin-bottom: 0;
  text-align: center;
  font-size: 18px;
  line-height: 122.222%;
  letter-spacing: 0.9px;
}
.merit_image {
  margin-bottom: 0;
}
.merit_title .merit_image img {
  width: 200px;
}
.feature_links, .merit_list {
  width: 100%;
  justify-content: right;
}
.feature_links {
  padding: 0 32px 0 0;
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 767px) {
.cta_btn_wrap li a.btn_cta{
	margin: 0 auto;
	width: 400px;
}
}
@media screen and (max-width: 1023px) {
  .sp-only {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) {
  .pc-only {
    display: block !important;
  }
}