@charset "UTF-8";
main {
  --color-blue: #004858;
}

main wbr:after {
  content: "​";
}
main wbr + span {
  white-space: nowrap;
}

main sup {
  display: inline-block;
  font-size: 65%;
  font-family: "arrows", "Noto Sans JP R", sans-serif;
}

.p-business_btn {
  display: block;
  background-color: var(--color-blue);
  text-align: center;
  border-radius: 100px;
  text-decoration: none;
  padding: 12px;
  width: min(100%, 172px);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  margin-top: 3rem;
}
@media screen and (max-width: 959px) {
  .p-business_btn {
    display: block;
    margin: 0 auto;
    margin-top: 20px;
  }
}

main > section.reserve > a {
  display: none;
  text-decoration: none;
  background-color: var(--color-blue);
  padding: 9px 5px;
  border-radius: 100px;
  width: 200px;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 519px) {
  main > section.reserve > a {
    padding: 7px 5px;
  }
}
main > section.reserve > a.fixed01 {
  display: block;
  position: fixed;
  right: 20px;
  top: 105px;
  z-index: 3;
}
main > section.reserve > a.fixed01:hover {
  opacity: 0.7;
}
main > section.reserve > a.fixed02 {
  display: block;
  position: fixed;
  right: 10px;
  top: 70px;
  z-index: 3;
}
main > section.reserve > a > span {
  font-size: 1.5rem;
  line-height: 1;
  color: #fff;
}

main > section.panel {
  padding: 30px 20px 0 20px;
}
main > section.panel > div {
  max-width: 1920px;
  margin-inline: auto;
}
main > section.panel > div > picture > img {
  max-width: 100%;
  border-radius: 20px;
}

main > section.message {
  padding: 20px 20px 0 20px;
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 20px;
}
@media screen and (max-width: 959px) {
  main > section.message {
    grid-template-columns: 1fr;
  }
}
main > section.message > a {
  grid-column: 3/4;
}
@media screen and (max-width: 959px) {
  main > section.message > a {
    grid-column: 1/2;
  }
}
main > section.message > a {
  display: block;
  text-decoration: none;
  background-color: var(--color-blue);
  padding: 9px 5px;
  border-radius: 100px;
  width: 200px;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 519px) {
  main > section.message > a {
    padding: 7px 5px;
  }
}
main > section.message > a:hover {
  opacity: 0.7;
}
main > section.message > a > span {
  font-size: 1.5rem;
  line-height: 1;
  color: #fff;
}

main > section.localnav {
  padding: 40px 20px 0;
}
@media screen and (max-width: 959px) {
  main > section.localnav {
    padding: 30px 20px 0;
  }
}
main > section.localnav > div {
  padding-top: 30px;
  max-width: 1000px;
  margin-inline: auto;
  border-top: solid 1px #ecf0f3;
  display: grid;
  list-style: none;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 30px;
}
@media screen and (max-width: 959px) {
  main > section.localnav > div {
    grid-template-columns: repeat(2, 1fr);
    padding-top: 40px;
  }
}
main > section.localnav > div > a {
  text-decoration: none;
  padding-bottom: 20px;
  position: relative;
}
main > section.localnav > div > a::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 10px;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../business/product/arrows/m09-sim-free-business/images/chevron_down.svg) no-repeat center bottom/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
main > section.localnav > div > a:hover::after {
  bottom: -6px;
}
main > section.localnav > div > a > div:nth-of-type(1) {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-blue);
}
main > section.localnav > div > a > div:nth-of-type(2) {
  margin-top: 10px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
}
@media screen and (max-width: 959px) {
  main > section.localnav > div > a > div:nth-of-type(2) {
    margin-top: 12px;
  }
}

main > section.introduction01 {
  padding-inline: 20px;
  padding-top: 80px;
}
@media screen and (max-width: 959px) {
  main > section.introduction01 {
    padding-top: 60px;
  }
}
main > section.introduction01 > div {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}
@media screen and (max-width: 959px) {
  main > section.introduction01 > div {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
main > section.introduction01 > div > div {
  margin-block: auto;
}
main > section.introduction01 > div > div picture img {
  border-radius: 20px;
  max-width: 100%;
}
main > section.introduction01 > div > div h2 {
  padding-inline: 40px;
  margin-bottom: clamp(20px, 3vw, 60px);
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1;
  font-family: "Noto Sans JP M", sans-serif;
}
@media screen and (max-width: 959px) {
  main > section.introduction01 > div > div h2 {
    padding-inline: 0;
  }
}
main > section.introduction01 > div > div p, main > section.introduction01 > div > div a {
  margin-inline: 40px;
  line-height: 1.8;
  font-size: clamp(1.5rem, 1vw, 1.6rem);
}
@media screen and (max-width: 959px) {
  main > section.introduction01 > div > div p, main > section.introduction01 > div > div a {
    margin-inline: auto;
    letter-spacing: 0;
  }
}

main > section.sceneintroduction {
  padding: 100px 20px;
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction {
    padding: 60px 20px;
  }
}
main > section.sceneintroduction > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.sceneintroduction > div p {
  text-align: center;
  font-size: clamp(1.5rem, 3vw, 2.7rem);
  line-height: 2.2;
  letter-spacing: 10%;
  color: var(--color-blue);
  margin-bottom: clamp(50px, 8vw, 120px);
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div p {
    line-height: max(3rem, 5.4vw);
    max-width: 640px;
    margin-inline: auto;
    letter-spacing: 0.03em;
  }
}
main > section.sceneintroduction > div .sceneintroduction-ttl {
  text-align: center;
  font-size: clamp(1.6rem, 3.6vw, 2.2rem);
  line-height: 1.8;
  color: var(--color-blue);
  font-family: "Noto Sans JP M", sans-serif;
  margin-bottom: 40px;
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .sceneintroduction-ttl {
    margin-bottom: 20px;
  }
}
main > section.sceneintroduction > div div {
  margin-inline: auto;
}
main > section.sceneintroduction > div div picture img {
  display: block;
  margin-inline: auto;
  max-width: 1100px;
  width: 100%;
}
main > section.sceneintroduction > div .flexWrap01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2%;
  margin-bottom: clamp(80px, 20vw, 140px);
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .flexWrap01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 50px;
  }
}
@media screen and (min-width: 960px) {
  main > section.sceneintroduction > div .flexWrap01 .figure-left {
    width: 41%;
  }
}
main > section.sceneintroduction > div .flexWrap01 .figure-left .figure-caption {
  text-align: center;
  color: var(--color-black);
  font-size: clamp(1.5rem, 1.2vw, 1.6rem);
  line-height: 1.6;
  margin-top: 20px;
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .flexWrap01 .figure-left .figure-caption {
    margin-top: 12px;
    letter-spacing: 0;
  }
}
main > section.sceneintroduction > div .flexWrap01 .figure-left .figure-caption strong {
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .flexWrap01 .figure-left .figure-caption {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
  }
}
main > section.sceneintroduction > div .flexWrap01 .figure-right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
main > section.sceneintroduction > div .flexWrap02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2%;
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .flexWrap02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 50px;
    margin-top: 40px;
  }
}
@media screen and (min-width: 960px) {
  main > section.sceneintroduction > div .flexWrap02 .figure-left {
    width: 41%;
  }
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .flexWrap02 .figure-left picture img {
    margin-inline: -20px;
    width: 100vw;
  }
}
main > section.sceneintroduction > div .flexWrap02 .figure-left .figure-caption {
  text-align: center;
  color: var(--color-black);
  font-size: clamp(1.5rem, 1.2vw, 1.6rem);
  line-height: 1.6;
  margin-top: 20px;
}
@media screen and (max-width: 959px) {
  main > section.sceneintroduction > div .flexWrap02 .figure-left .figure-caption {
    margin-top: 40px;
  }
}
main > section.sceneintroduction > div .flexWrap02 .figure-left .figure-caption img {
  display: block;
  margin: 8px auto;
}
main > section.sceneintroduction > div .flexWrap02 .figure-left .figure-caption strong {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 3vw, 2.2rem);
}
main > section.sceneintroduction > div .flexWrap02 .figure-right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.titleBox {
  margin-inline: auto;
  padding: 0 20px;
  max-width: 1550px;
}
@media screen and (max-width: 959px) {
  .titleBox {
    padding: 0;
  }
}
.titleBox h2 {
  text-align: center;
  font-size: clamp(1.5rem, 4vw, 2.7rem);
  color: var(--color-blue);
}
@media screen and (max-width: 959px) {
  .titleBox h2 {
    text-align: left;
  }
}
.titleBox p {
  margin-top: 16px;
  text-align: center;
  font-size: clamp(1.5rem, 2vw, 1.6rem);
}
@media screen and (max-width: 959px) {
  .titleBox p {
    text-align: left;
  }
}
.titleBox a {
  text-align: center;
  font-size: 15px;
  padding: 10px 20px;
  border-radius: 50px;
  background-color: #004858;
  color: #fff;
  display: block;
  max-width: 170px;
  margin-inline: auto;
  margin-top: 20px;
}

main > section.whyisitneeded {
  background-color: #f3f3f3;
  padding: 100px 20px;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded {
    padding: 60px 20px;
  }
}
main > section.whyisitneeded > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.whyisitneeded > div .table {
  border: 1px solid var(--color-blue);
  max-width: 980px;
  margin: 16px auto 40px;
  font-size: 1.6rem;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table {
    font-size: 1.4rem;
    overflow-y: scroll;
    margin-bottom: 0;
  }
}
main > section.whyisitneeded > div .table .tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-width: 980px;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr {
    min-width: 770px;
  }
}
main > section.whyisitneeded > div .table .tr:not(:last-child) {
  border-bottom: 1px solid var(--color-blue);
}
main > section.whyisitneeded > div .table .tr .th {
  border-right: 1px solid var(--color-blue);
  width: 15.76%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .th {
    width: 100%;
    min-width: 60px;
    max-width: 60px;
  }
}
main > section.whyisitneeded > div .table .tr .th p {
  padding: 26px;
  text-align: center;
  color: var(--color-blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .th p {
    padding: 20px;
    white-space: wrap;
  }
}
main > section.whyisitneeded > div .table .tr .td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main > section.whyisitneeded > div .table .tr .td:not(:last-child) {
  border-right: 1px solid var(--color-blue);
}
main > section.whyisitneeded > div .table .tr .td.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .td.center {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
}
main > section.whyisitneeded > div .table .tr .td ul li:not(:last-child) {
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .td ul li:not(:last-child) {
    margin-bottom: 0.6rem;
  }
}
main > section.whyisitneeded > div .table .tr .td ul li p {
  margin-left: 1.6rem;
  text-indent: -1.6rem;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .td ul li p {
    line-height: 1.4;
  }
}
main > section.whyisitneeded > div .table .tr .td p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main > section.whyisitneeded > div .table .tr .td p:not(:last-child) {
  border-bottom: 1px solid var(--color-blue);
}
main > section.whyisitneeded > div .table .tr .td:nth-child(2) {
  width: 42%;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .td:nth-child(2) {
    width: 100%;
    min-width: 320px;
    max-width: 320px;
  }
}
main > section.whyisitneeded > div .table .tr .td:nth-child(3) {
  width: 42%;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr .td:nth-child(3) {
    width: 100%;
    max-width: 320px;
  }
}
main > section.whyisitneeded > div .table .tr:nth-child(1) .td p {
  padding: 10px;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr:nth-child(1) .td p {
    padding: 10px 20px;
  }
}
main > section.whyisitneeded > div .table .tr:nth-child(n+2) .td ul {
  padding: 36px 40px;
}
@media screen and (max-width: 959px) {
  main > section.whyisitneeded > div .table .tr:nth-child(n+2) .td ul {
    padding: 20px;
  }
}
main > section.whyisitneeded > div .table .tr.pickup {
  background-color: #fff;
  position: relative;
}
main > section.whyisitneeded > div .table .tr.pickup::after {
  position: absolute;
  content: "";
  border: 4px solid var(--color-blue);
  width: 100%;
  height: 100%;
}

main > section.anxietyreduction {
  padding: 100px 20px;
}
@media screen and (max-width: 959px) {
  main > section.anxietyreduction {
    padding: 60px 20px;
  }
}
main > section.anxietyreduction > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.anxietyreduction > div .anxietyreduction_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 20px;
  margin-top: 5rem;
}
@media screen and (max-width: 959px) {
  main > section.anxietyreduction > div .anxietyreduction_list {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
main > section.anxietyreduction > div .anxietyreduction_list picture img {
  display: block;
  max-width: 432px;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  main > section.anxietyreduction > div .anxietyreduction_list picture img {
    margin-right: auto;
  }
}
main > section.anxietyreduction > div .anxietyreduction_list ul {
  margin-block: auto;
}
@media screen and (max-width: 959px) {
  main > section.anxietyreduction > div .anxietyreduction_list ul {
    margin-inline: auto;
    max-width: 480px;
  }
}
main > section.anxietyreduction > div .anxietyreduction_list ul li:not(:last-child) {
  margin-bottom: 10px;
}
main > section.anxietyreduction > div .anxietyreduction_list ul li p {
  background-color: #ECF0F3;
  border-radius: 10px;
  color: #004858;
  padding: 10px 14px;
  display: inline-block;
}
@media screen and (max-width: 959px) {
  main > section.anxietyreduction > div .anxietyreduction_list ul li p {
    width: 100%;
  }
}

.sectiontitle {
  padding-inline: 20px;
}
@media screen and (max-width: 959px) {
  .sectiontitle {
    padding: 0;
  }
}
.sectiontitle > div {
  background-color: #ECF0F3;
  border-radius: 10px;
  max-width: 1550px;
  margin-inline: auto;
  padding: 60px;
}
@media screen and (max-width: 959px) {
  .sectiontitle > div {
    padding: 30px 20px;
    border-radius: 0;
  }
}
.sectiontitle > div h2 {
  font-size: 2.7rem;
  color: #004858;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .sectiontitle > div h2 {
    font-size: 1.5rem;
  }
}

main > section.forbusiness01 {
  padding: 100px 20px 0;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness01 {
    padding: 70px 20px 20px;
  }
}
main > section.forbusiness01 > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.forbusiness01 > div > h2 {
  text-align: center;
}
main > section.forbusiness01 > div > h2 > p {
  font-size: 3.6rem;
  line-height: 1;
  color: var(--color-blue);
}
main > section.forbusiness01 > div > h2 span {
  font-size: 1.6rem;
  color: var(--color-blue);
  margin-top: 1rem;
  display: block;
}

main > section.forbusiness02 .forbusiness_block {
  padding: 50px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1550px;
  row-gap: 20px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_block {
    padding: 0 20px 60px;
    grid-template-columns: 1fr;
  }
}
main > section.forbusiness02 .forbusiness_block:nth-child(odd) div {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_block:nth-child(odd) div {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
main > section.forbusiness02 .forbusiness_block:nth-child(odd) picture {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_block:nth-child(odd) picture {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
main > section.forbusiness02 .forbusiness_block div {
  margin-block: auto;
  margin-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_block div {
    margin: 0;
  }
}
main > section.forbusiness02 .forbusiness_block div > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "arrows", "Noto Sans JP M", sans-serif;
  padding-bottom: min(8%, 50px);
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_block div > h2 {
    padding-bottom: 10px;
  }
}
main > section.forbusiness02 .forbusiness_block div > p {
  letter-spacing: 0;
  line-height: 1.8;
}
main > section.forbusiness02 .forbusiness_block div > p:not(:last-child) {
  margin-bottom: 1rem;
}
main > section.forbusiness02 .forbusiness_block div > ul li {
  margin-left: 1.6rem;
  text-indent: -1.6rem;
}
main > section.forbusiness02 .forbusiness_block picture {
  text-align: center;
}
main > section.forbusiness02 .forbusiness_block picture img {
  border-radius: 20px;
  width: 100%;
}
main > section.forbusiness02 .forbusiness_function {
  padding-inline: 20px;
  padding-bottom: 100px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_function {
    padding-bottom: 60px;
  }
}
main > section.forbusiness02 .forbusiness_function .forbusiness_function-inner {
  max-width: 980px;
  margin-inline: auto;
}
main > section.forbusiness02 .forbusiness_function .table {
  margin-bottom: 100px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_function .table {
    margin-bottom: 60px;
  }
}
main > section.forbusiness02 .forbusiness_function .table p {
  margin-bottom: 10px;
}
main > section.forbusiness02 .forbusiness_function .table table {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.8;
  border-left: 1px solid var(--color-blue);
  border-top: 1px solid var(--color-blue);
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_function .table table {
    font-size: 1.4rem;
  }
}
main > section.forbusiness02 .forbusiness_function .table table th, main > section.forbusiness02 .forbusiness_function .table table td {
  border-right: 1px solid var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
  font-weight: normal;
  vertical-align: middle;
}
main > section.forbusiness02 .forbusiness_function .table table th {
  color: var(--color-blue);
  text-align: center;
  padding: 10px;
  width: 200px;
}
@media screen and (max-width: 519px) {
  main > section.forbusiness02 .forbusiness_function .table table th {
    width: 110px;
  }
}
main > section.forbusiness02 .forbusiness_function .table table td {
  padding: 10px 20px;
}
main > section.forbusiness02 .forbusiness_function h3.p-sectionTtl01-arrows {
  margin-top: 100px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_function h3.p-sectionTtl01-arrows {
    margin-top: 60px;
  }
}
main > section.forbusiness02 .forbusiness_function h4 {
  color: var(--color-blue);
  font-family: "Noto Sans JP M", sans-serif;
  margin-block: 50px 10px;
  font-size: clamp(1.6rem, 2.2vw, 1.8rem);
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .forbusiness_function h4 {
    margin-top: 30px;
  }
}
main > section.forbusiness02 .forbusiness_function p {
  line-height: 1.8;
  font-size: clamp(1.5rem, 2vw, 1.6rem);
}
main > section.forbusiness02 .forbusiness_function .u-list-num {
  margin-bottom: 30px;
}
main > section.forbusiness02 .forbusiness_function .u-list-num li {
  margin-bottom: 12px;
  padding-left: 8px;
}
@media screen and (max-width: 519px) {
  main > section.forbusiness02 .forbusiness_function .u-list-num li {
    margin-bottom: 6px;
    padding-left: 4px;
    line-height: 1.4;
  }
}
main > section.forbusiness02 .suppressibleFunction {
  display: grid;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .suppressibleFunction {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }
}
@media screen and (min-width: 960px) {
  main > section.forbusiness02 .suppressibleFunction {
    grid-template-columns: 1fr 22% 1fr;
    gap: 6%;
    margin-top: 30px;
  }
}
@media screen and (min-width: 960px) {
  main > section.forbusiness02 .suppressibleFunction-list:first-child {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 960px) {
  main > section.forbusiness02 .suppressibleFunction-list:last-child {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
main > section.forbusiness02 .suppressibleFunction-list dl {
  font-size: 1.4rem;
  margin-bottom: 10px;
}
main > section.forbusiness02 .suppressibleFunction-list dt {
  background-color: #ECF0F3;
  color: var(--color-blue);
  border-radius: 10px;
  padding: 10px;
  text-align: center;
  line-height: 1;
  margin-bottom: 8px;
}
main > section.forbusiness02 .suppressibleFunction-list dd {
  line-height: 1.4;
}
@media screen and (max-width: 519px) {
  main > section.forbusiness02 .suppressibleFunction-list dd {
    letter-spacing: 0;
  }
}
main > section.forbusiness02 .suppressibleFunction-figure {
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 94%;
}
@media screen and (min-width: 960px) {
  main > section.forbusiness02 .suppressibleFunction-figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (max-width: 959px) {
  main > section.forbusiness02 .suppressibleFunction-figure {
    margin-bottom: 40px;
    width: min(32%, 280px);
  }
}

main > section.forbusiness03 {
  padding: 100px 20px;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 {
    padding: 70px 20px;
  }
}
main > section.forbusiness03 .readWrap {
  max-width: 1100px;
  margin-inline: auto;
}
main > section.forbusiness03 .readWrap > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "arrows", "Noto Sans JP M", sans-serif;
  padding-bottom: 30px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .readWrap > h2 {
    padding-bottom: 20px;
  }
}
main > section.forbusiness03 .contentsWrap {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 20px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap {
    grid-template-columns: 1fr;
  }
}
main > section.forbusiness03 .contentsWrap .txt {
  margin-block: auto;
  max-width: 540px;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .txt {
    margin-left: initial;
    max-width: 100%;
  }
}
main > section.forbusiness03 .contentsWrap .txt .logo_area {
  background-color: #fff;
  border-radius: 20px;
  padding: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .txt .logo_area {
    padding: 20px;
    max-width: 597px;
    margin-inline: auto;
  }
}
main > section.forbusiness03 .contentsWrap .txt .logo_area p {
  text-align: center;
  color: var(--color-blue);
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 3rem;
}
main > section.forbusiness03 .contentsWrap .txt .logo_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 519px) {
  main > section.forbusiness03 .contentsWrap .txt .logo_area ul {
    max-width: 290px;
    margin-inline: auto;
  }
}
main > section.forbusiness03 .contentsWrap .txt .logo_area ul li img {
  width: 100%;
  height: 50px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .txt .logo_area ul li img {
    height: 100%;
    max-height: min(5.5vw, 50px);
    min-height: 30px;
  }
}
main > section.forbusiness03 .contentsWrap .table {
  border: 1px solid var(--color-blue);
  max-width: 597px;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 1.6rem;
  background-color: white;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .table {
    font-size: 1.4rem;
    overflow-y: scroll;
    margin-inline: auto;
    height: inherit;
  }
}
main > section.forbusiness03 .contentsWrap .table .tr {
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-width: 596px;
}
main > section.forbusiness03 .contentsWrap .table .tr:not(:last-child) {
  border-bottom: 1px solid var(--color-blue);
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .table .tr {
    min-width: 480px;
  }
}
main > section.forbusiness03 .contentsWrap .table .tr .th {
  width: 10%;
  min-width: 90px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .table .tr .th {
    width: 6%;
    min-width: 10px;
    white-space: wrap;
  }
}
main > section.forbusiness03 .contentsWrap .table .tr .th p {
  padding: 10px;
  text-align: center;
  color: var(--color-blue);
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .table .tr .th p {
    padding: 9px;
  }
}
main > section.forbusiness03 .contentsWrap .table .tr .td {
  width: 90%;
  border-left: 1px solid var(--color-blue);
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .table .tr .td {
    width: 94%;
  }
}
main > section.forbusiness03 .contentsWrap .table .tr .td div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main > section.forbusiness03 .contentsWrap .table .tr .td div:not(:last-child) {
  border-bottom: 1px solid var(--color-blue);
}
main > section.forbusiness03 .contentsWrap .table .tr .td div p:nth-child(1) {
  padding: 10px;
  color: var(--color-blue);
  min-width: 52px;
  text-align: center;
}
main > section.forbusiness03 .contentsWrap .table .tr .td div p:nth-child(2) {
  padding: 10px;
  border-left: 1px solid var(--color-blue);
  line-height: 2.2rem;
  width: 100%;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness03 .contentsWrap .table .tr .td div p:nth-child(2) {
    line-height: 1.4;
  }
}

main > section.forbusiness04 {
  padding-block: 100px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness04 {
    padding-block: 70px;
  }
}
main > section.forbusiness04 .forbusiness_block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1550px;
  row-gap: 20px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-inline: auto;
  margin-bottom: 80px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness04 .forbusiness_block {
    padding-inline: 20px;
    grid-template-columns: 1fr;
    margin-bottom: 60px;
  }
}
main > section.forbusiness04 .forbusiness_block div {
  margin-block: auto;
  margin-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness04 .forbusiness_block div {
    margin: 0;
  }
}
main > section.forbusiness04 .forbusiness_block div > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "Noto Sans JP M", sans-serif;
  margin-bottom: 50px;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness04 .forbusiness_block div > h2 {
    margin-bottom: 20px;
  }
}
main > section.forbusiness04 .forbusiness_block div > p:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 959px) {
  main > section.forbusiness04 .forbusiness_block div > p {
    letter-spacing: 0;
  }
}
main > section.forbusiness04 .forbusiness_block div > ul li {
  margin-left: 1.6rem;
  text-indent: -1.6rem;
}
main > section.forbusiness04 .forbusiness_block picture img {
  border-radius: 20px;
  width: 100%;
}

.AER {
  margin-bottom: 100px;
}
@media screen and (max-width: 959px) {
  .AER {
    margin-bottom: 64px;
  }
}
.AER .AER_inner {
  background-color: #F2F6F8;
  border-radius: 20px;
  padding: 60px 60px 100px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .AER .AER_inner {
    padding: max(32px, 6vw) max(20px, 6vw);
  }
}
.AER .AER_inner h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  line-height: 1.6;
  font-family: "arrows", "Noto Sans JP M", sans-serif;
  margin-bottom: min(4vw, 60px);
}
@media screen and (max-width: 959px) {
  .AER .AER_inner h2 {
    margin-bottom: 20px;
  }
}
.AER .AER_inner .flexWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
}
@media screen and (max-width: 959px) {
  .AER .AER_inner .flexWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.AER .AER_inner .AER_badge {
  max-width: 257px;
}
@media screen and (max-width: 959px) {
  .AER .AER_inner .AER_badge {
    width: max(180px, 52%);
  }
}
.AER .AER_inner p {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  text-align: left;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

main > section.storong01 {
  padding: 100px 20px 0;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.storong01 {
    padding: 70px 20px 0;
  }
}
main > section.storong01 > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.storong01 > div > h2 {
  text-align: center;
}
main > section.storong01 > div > h2 > p {
  margin-top: 12px;
  font-size: 3.6rem;
  line-height: 1;
  color: var(--color-blue);
}
main > section.storong01 > div > h2 span {
  font-size: 1.6rem;
  color: var(--color-blue);
  margin-top: 1rem;
  display: block;
}

main > section.storong02 {
  padding: 50px 20px 100px;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.storong02 {
    padding: 30px 20px;
  }
}
main > section.storong02 > div {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 20px;
}
@media screen and (max-width: 959px) {
  main > section.storong02 > div {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 959px) {
  main > section.storong02 > div > div {
    grid-row: 2/3;
  }
}
main > section.storong02 > div > div > figure > img {
  border-radius: 20px;
  max-width: 100%;
}
main > section.storong02 > div > div > h2 {
  margin-block: min(4vw, 50px) min(4.5vw, 60px);
  padding-inline: 40px;
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "Noto Sans JP M", sans-serif;
}
@media screen and (max-width: 959px) {
  main > section.storong02 > div > div > h2 {
    margin-block: 20px 30px;
    padding-inline: 0;
  }
}
main > section.storong02 > div > div > div {
  margin-bottom: min(2vw, 30px);
  padding-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.storong02 > div > div > div {
    margin-bottom: 15px;
    padding-inline: 0;
  }
}
main > section.storong02 > div > div > div > img {
  max-width: 100%;
}
main > section.storong02 > div > div > p {
  padding-inline: 40px;
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1.8;
  text-align: justify;
}
@media screen and (max-width: 959px) {
  main > section.storong02 > div > div > p {
    padding-inline: 0;
    text-align: inherit;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 959px) {
  main > section.storong02 > div > picture {
    grid-row: 1/2;
  }
}
main > section.storong02 > div > picture > img {
  border-radius: 20px;
  max-width: 100%;
  width: 100%;
}

main > section.storong03 {
  padding: 0 20px 100px;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.storong03 {
    padding: 30px 20px;
  }
}
main > section.storong03 > div > h2 {
  padding-inline: 40px;
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 959px) {
  main > section.storong03 > div > h2 {
    padding-inline: 0;
  }
}
main > section.storong03 > div .table {
  border: 1px solid var(--color-blue);
  max-width: 980px;
  margin: 0 auto;
  font-size: 1.6rem;
}
@media screen and (max-width: 959px) {
  main > section.storong03 > div .table {
    font-size: 1.4rem;
  }
}
main > section.storong03 > div .table .tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main > section.storong03 > div .table .tr:not(:last-child) {
  border-bottom: 1px solid var(--color-blue);
}
main > section.storong03 > div .table .tr .th {
  border-right: 1px solid var(--color-blue);
  width: 10%;
  min-width: 77px;
}
main > section.storong03 > div .table .tr .th p {
  padding: 10px;
  text-align: center;
  color: var(--color-blue);
  letter-spacing: 0;
}
@media screen and (max-width: 959px) {
  main > section.storong03 > div .table .tr .th p {
    padding: 9px;
  }
}
main > section.storong03 > div .table .tr .td {
  width: 90%;
}
main > section.storong03 > div .table .tr .td p {
  padding: 20px;
}
@media screen and (max-width: 519px) {
  main > section.storong03 > div .table .tr .td p {
    padding: 10px;
  }
}
main > section.storong03 > div .table .tr .td p:not(:last-child) {
  border-bottom: 1px solid var(--color-blue);
}

main > section.storong04 {
  padding: 0 20px 100px;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.storong04 {
    padding: 30px 20px;
  }
}
main > section.storong04 > div {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 20px;
}
@media screen and (max-width: 959px) {
  main > section.storong04 > div {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
main > section.storong04 > div > figure.first {
  grid-row: 1/2;
  grid-column: 1/2;
}
@media screen and (max-width: 959px) {
  main > section.storong04 > div > figure.first {
    grid-row: auto;
    grid-column: auto;
  }
}
main > section.storong04 > div > figure.first > img {
  max-width: 100%;
  border-radius: 20px;
}
main > section.storong04 > div > figure.second {
  grid-row: 2/3;
  grid-column: 1/2;
}
@media screen and (max-width: 959px) {
  main > section.storong04 > div > figure.second {
    grid-row: auto;
    grid-column: auto;
  }
}
main > section.storong04 > div > figure.second > img {
  max-width: 100%;
  border-radius: 20px;
}
main > section.storong04 > div > div {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: center;
  padding-inline: min(6%, 40px);
}
@media screen and (max-width: 959px) {
  main > section.storong04 > div > div {
    grid-row: auto;
    grid-column: auto;
    padding-inline: 0;
  }
}
main > section.storong04 > div > div > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "Noto Sans JP M", sans-serif;
}
main > section.storong04 > div > div > figure {
  padding-block: min(6%, 60px) min(3%, 30px);
}
@media screen and (max-width: 959px) {
  main > section.storong04 > div > div > figure {
    padding-block: 30px 15px;
  }
}
main > section.storong04 > div > div > figure > img {
  max-width: 100%;
}
main > section.storong04 > div > div > p {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1.8;
  text-align: justify;
}
main > section.storong04 > div > figure.fig {
  grid-row: 2/3;
  grid-column: 2/3;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  main > section.storong04 > div > figure.fig {
    grid-row: auto;
    grid-column: auto;
  }
}
main > section.storong04 > div > figure.fig > img {
  margin: auto;
  max-width: 100%;
}

main > section.storong05 {
  padding: 0 20px 100px;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.storong05 {
    padding: 50px 20px 64px;
  }
}
main > section.storong05 .p-layout_01 {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 20px;
}
@media screen and (max-width: 959px) {
  main > section.storong05 .p-layout_01 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
main > section.storong05 .p-layout_01 .img {
  margin-inline: auto;
  display: grid;
  grid-template-rows: 1fr 1fr;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 20px;
}
main > section.storong05 .p-layout_01 .img picture img {
  border-radius: 20px;
}
main > section.storong05 .p-layout_01 .txt {
  margin-block: auto;
  margin-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.storong05 .p-layout_01 .txt {
    margin-inline: 0;
  }
}
main > section.storong05 .p-layout_01 .txt > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "Noto Sans JP M", sans-serif;
  padding-bottom: 60px;
}
@media screen and (max-width: 959px) {
  main > section.storong05 .p-layout_01 .txt > h2 {
    padding-bottom: 30px;
  }
}
main > section.storong05 .p-layout_01 .txt > p {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1.8;
  text-align: justify;
}
main > section.storong05 .p-layout_01 .txt > p:not(:last-child) {
  margin-bottom: 6px;
}

main > section.longlife01 {
  padding: 100px 20px 0;
}
@media screen and (max-width: 959px) {
  main > section.longlife01 {
    padding: 70px 20px 0;
  }
}
main > section.longlife01 > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.longlife01 > div > h2 {
  text-align: center;
}
main > section.longlife01 > div > h2 > p {
  margin-top: 12px;
  font-size: 3.6rem;
  line-height: 1;
  color: var(--color-blue);
}
main > section.longlife01 > div > h2 span {
  font-size: 1.6rem;
  color: var(--color-blue);
  margin-top: 1rem;
  display: block;
}

main > section.longlife02 {
  padding: 70px 20px 0;
  text-align: center;
}
@media screen and (max-width: 959px) {
  main > section.longlife02 {
    padding: 20px 20px 0;
  }
}
main > section.longlife02 > div {
  max-width: 1200px;
  margin-inline: auto;
}
main > section.longlife02 > div > h2 {
  margin-block: 80px 40px;
  color: var(--color-blue);
  font-size: clamp(2rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "Noto Sans JP M", sans-serif;
}
@media screen and (max-width: 959px) {
  main > section.longlife02 > div > h2 {
    margin-block: 40px 20px;
  }
}
main > section.longlife02 > div > p {
  font-size: 1.6rem;
  line-height: 1.8;
}

main > section.longlife03 {
  padding: 100px 20px;
}
@media screen and (max-width: 959px) {
  main > section.longlife03 {
    padding: 50px 20px;
  }
}
main > section.longlife03 > div {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 20px;
}
@media screen and (max-width: 959px) {
  main > section.longlife03 > div {
    grid-template-columns: 1fr;
  }
}
main > section.longlife03 > div > picture > img {
  border-radius: 20px;
  max-width: 100%;
}
main > section.longlife03 > div > div {
  margin-block: auto;
  padding-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.longlife03 > div > div {
    padding-inline: 0;
  }
}
main > section.longlife03 > div > div > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "Noto Sans JP M", sans-serif;
  padding-bottom: 60px;
}
@media screen and (max-width: 959px) {
  main > section.longlife03 > div > div > h2 {
    padding-bottom: 20px;
  }
}
main > section.longlife03 > div > div > p {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1.8;
}

main > section.longlife04 {
  padding: 0 20px 100px;
}
@media screen and (max-width: 959px) {
  main > section.longlife04 {
    padding: 0 20px 64px;
  }
}
main > section.longlife04 > div {
  max-width: 1550px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 20px;
}
@media screen and (max-width: 959px) {
  main > section.longlife04 > div {
    grid-template-columns: 1fr;
  }
}
main > section.longlife04 > div:nth-child(odd) div {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (max-width: 959px) {
  main > section.longlife04 > div:nth-child(odd) div {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
main > section.longlife04 > div:nth-child(odd) picture {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 959px) {
  main > section.longlife04 > div:nth-child(odd) picture {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
main > section.longlife04 > div > picture > img {
  border-radius: 20px;
  max-width: 100%;
}
main > section.longlife04 > div > div {
  margin-block: auto;
  padding-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.longlife04 > div > div {
    padding-inline: 0;
  }
}
main > section.longlife04 > div > div > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "arrows", "Noto Sans JP M", sans-serif;
  padding-bottom: 60px;
}
@media screen and (max-width: 959px) {
  main > section.longlife04 > div > div > h2 {
    padding-bottom: 20px;
  }
}
main > section.longlife04 > div > div > p {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1.8;
}

main > section.separator {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
main > section.separator > div {
  height: 20px;
}
main > section.separator > div:nth-of-type(1) {
  background-color: #e6dbc8;
}
main > section.separator > div:nth-of-type(2) {
  background-color: #d9e1e7;
}

main > section.convenience01 {
  padding: 100px 20px 0;
  background-color: #f3f3f3;
}
@media screen and (max-width: 959px) {
  main > section.convenience01 {
    padding: 70px 20px 30px;
  }
}
main > section.convenience01 > div {
  max-width: 1550px;
  margin-inline: auto;
}
main > section.convenience01 > div > h2 {
  text-align: center;
}
main > section.convenience01 > div > h2 > p {
  margin-top: 12px;
  font-size: 3.6rem;
  line-height: 1;
  color: var(--color-blue);
}
main > section.convenience01 > div > h2 span {
  font-size: 1.6rem;
  color: var(--color-blue);
  margin-top: 1rem;
  display: block;
}

main > section.convenience02 {
  background-color: #f3f3f3;
}
main > section.convenience02 .convenience_block {
  padding: 50px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1550px;
  row-gap: 20px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 959px) {
  main > section.convenience02 .convenience_block {
    padding: 0 20px 60px;
    grid-template-columns: 1fr;
  }
}
main > section.convenience02 .convenience_block:nth-child(even) div {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (max-width: 959px) {
  main > section.convenience02 .convenience_block:nth-child(even) div {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
main > section.convenience02 .convenience_block:nth-child(even) picture {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 959px) {
  main > section.convenience02 .convenience_block:nth-child(even) picture {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
main > section.convenience02 .convenience_block div {
  margin-block: auto;
  margin-inline: 40px;
}
@media screen and (max-width: 959px) {
  main > section.convenience02 .convenience_block div {
    margin: 0;
  }
}
main > section.convenience02 .convenience_block div .label {
  background-color: #6692A9;
  border-radius: 100px;
  color: white;
  text-align: center;
  padding: 8px 15px;
  line-height: 1;
  font-size: 1.2rem;
  margin-bottom: 30px;
  margin-right: 10px;
  display: inline-block;
}
@media screen and (max-width: 959px) {
  main > section.convenience02 .convenience_block div .label {
    margin-bottom: 10px;
  }
}
main > section.convenience02 .convenience_block div > h2 {
  color: var(--color-blue);
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.6;
  font-family: "arrows", "Noto Sans JP M", sans-serif;
  padding-bottom: min(8%, 50px);
}
@media screen and (max-width: 959px) {
  main > section.convenience02 .convenience_block div > h2 {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 1400px) {
  main > section.convenience02 .convenience_block div > h2 br {
    display: none;
  }
}
main > section.convenience02 .convenience_block div > p {
  letter-spacing: 0;
  line-height: 1.8;
}
main > section.convenience02 .convenience_block div > p:not(:last-child) {
  margin-bottom: 1rem;
}
main > section.convenience02 .convenience_block div > ul li {
  margin-left: 1.6rem;
  text-indent: -1.6rem;
}
main > section.convenience02 .convenience_block picture {
  text-align: center;
}
main > section.convenience02 .convenience_block picture img {
  border-radius: 20px;
  width: 100%;
}

main > section.overview {
  padding: 100px 20px 100px 20px;
}
main > section.overview > div {
  background-image: url(../business/product/arrows/m09-sim-free-business/images/back01.webp);
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 20px;
  max-width: 1920px;
  margin-inline: auto;
  display: grid;
  position: relative;
}
main > section.overview > div > figure {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: overviewBackground;
          animation-name: overviewBackground;
  width: 100%;
  height: 100%;
}
main > section.overview > div > figure > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
main > section.overview > div > div {
  z-index: 1;
  max-width: 1440px;
  margin-inline: auto;
  padding: 60px 20px;
}
main > section.overview > div > div > p.text1 {
  text-align: center;
  font-size: 2.2rem;
  line-height: 2.2;
  color: #fff;
}
@media screen and (max-width: 959px) {
  main > section.overview > div > div > p.text1 {
    font-size: 1.7rem;
    text-align: justify;
  }
  main > section.overview > div > div > p.text1 > br {
    display: none;
  }
}
main > section.overview > div > div > figure {
  margin-block: 20px 0;
  margin-inline: 30px;
  text-align: center;
}
main > section.overview > div > div > figure > img {
  max-width: 100%;
}
main > section.overview > div > div > p.text2 {
  margin-top: 25px;
  text-align: center;
  font-size: 2.2rem;
  line-height: 2.2;
  color: #fff;
}
@media screen and (max-width: 959px) {
  main > section.overview > div > div > p.text2 {
    font-size: 1.6rem;
  }
}
main > section.overview > div > div > div {
  margin-top: 40px;
}
@media screen and (max-width: 959px) {
  main > section.overview > div > div > div {
    grid-template-columns: 1fr;
    row-gap: 60px;
  }
}
@media screen and (max-width: 959px) {
  main > section.overview > div > div > div > article:empty {
    display: none;
  }
}
main > section.overview > div > div > div > article {
  justify-self: center;
}
@media screen and (min-width: 960px) {
  main > section.overview > div > div > div > article {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    row-gap: 0px;
  }
}
main > section.overview > div > div > div > article > figure.device {
  margin-block: auto 0;
  max-width: 18vw;
  margin-inline: auto;
  display: grid;
}
@media screen and (max-width: 959px) {
  main > section.overview > div > div > div > article > figure.device {
    max-width: 40vw;
  }
}
main > section.overview > div > div > div > article > figure.device > img {
  grid-area: 1/1/2/2;
  max-width: 100%;
}
main > section.overview > div > div > div > article > figure.device > img:nth-of-type(2) {
  opacity: 0;
}
main > section.overview > div > div > div > article > figure.device > img:nth-of-type(3) {
  opacity: 0;
}
main > section.overview > div > div > div > article > .colors {
  margin-top: 25px;
  text-align: center;
  display: grid;
}
main > section.overview > div > div > div > article > .colors > div {
  grid-area: 1/1/2/2;
}
main > section.overview > div > div > div > article > .colors > div > div {
  color: #fff;
  line-height: 1.3;
}
main > section.overview > div > div > div > article > .colors > div > div:nth-of-type(1) {
  font-size: 2.2rem;
}
main > section.overview > div > div > div > article > .colors > div > div:nth-of-type(2) {
  margin-top: 8px;
  font-size: 1.4rem;
}
main > section.overview > div > div > div > article > .labels {
  margin-top: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
main > section.overview > div > div > div > article > figure.subject {
  margin: 23px 0 0 0;
  text-align: center;
}
main > section.overview > div > div > div > article > figure.subject > img {
  max-width: 100%;
}
main > section.overview > div > div > div > article > p {
  margin-top: 20px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #fff;
}
@media screen and (max-width: 959px) {
  main > section.overview > div > div > div > article > p {
    font-size: 1.5rem;
  }
}

@-webkit-keyframes overviewBackground {
  0% {
    opacity: 0;
  }
  44% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  94% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes overviewBackground {
  0% {
    opacity: 0;
  }
  44% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  94% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
main > section.panelbanner {
  padding: 30px 20px 0 20px;
}
main > section.panelbanner > a {
  max-width: 1920px;
  margin-inline: auto;
  display: grid;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
main > section.panelbanner > a:hover {
  opacity: 0.7;
}
main > section.panelbanner > a > picture {
  grid-area: 1/1/2/2;
}
main > section.panelbanner > a > picture > img {
  max-width: 100%;
  border-radius: 20px;
}

main > section.note {
  padding: 40px 20px 100px 20px;
}
@media screen and (max-width: 959px) {
  main > section.note {
    padding: 30px 20px 60px;
    letter-spacing: 0;
  }
}
main > section.note > div {
  max-width: 1300px;
  margin-inline: auto;
  /*> table {
  	> tbody {
  		> tr {
  			> th {
  				vertical-align: top;
  				font-size: 1.4rem;
  				line-height: 1.6;
  				color: #666;
  				font-weight: normal;
  				padding-block: 3px;
  				padding-right: 5px;
  			}
  			> td {
  				vertical-align: top;
  				font-size: 1.4rem;
  				line-height: 1.6;
  				color: #666;
  				padding-block: 3px;
  				text-align: justify;
  				> .spacer {
  					margin-top: 5px;
  				}
  			}
  		}
  	}
  }*/
}