@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap");
@import url(/common/css/reset.css);
@import url(/common/css/style.v3.css?20220510);
@import url(/common/css/header.v2.css?20230718);
@import url(/bs/lp/common/css/layout.css);
@import url(/common/css/footer.css?20221031);
@import url(/common/css/layout.v2.css?20221219);
@import url(/common/css/smph/layout.v2.css?20220106);
body {
  overflow-x: hidden;
}

#contents {
  color: #224e67;
}

#main {
  max-width: 1010px;
  margin-right: auto;
  margin-left: auto;
  font-size: 16px;
}
@media screen and (min-width: 1010px) {
  #main {
    padding: 0 10px;
  }
}
#main p {
  margin-bottom: 1em;
  line-height: 1.75;
}
#main figure img {
  max-width: 100%;
  height: auto;
}
#main figure figure {
  display: inline-block;
}
#main img {
  max-width: 100%;
  height: auto;
}

@media screen and (min-width: 769px) {
  #wrapper {
    padding-top: 64px;
  }
}

@media screen and (min-width: 769px) {
  #header {
    height: 64px;
    border-bottom: none;
  }
  #header dd a {
    height: 64px;
    line-height: 64px;
  }
}

@media screen and (min-width: 990px) {
  #header p.logo {
    left: calc(50% - 495px);
  }
  #header dl {
    right: calc(50% - 495px);
  }
}
a {
  transition: 0.3s;
  word-wrap: break-word;
}

cite {
  font-size: 0.8125rem;
}

* {
  box-sizing: border-box;
  word-break: break-word;
}

.mt0 {
  margin-top: 0;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: clamp(20px, 3.0303030303vw, 30px);
}

.mt40 {
  margin-top: clamp(20px, 4.0404040404vw, 40px);
}

.mt50 {
  margin-top: clamp(20px, 5.0505050505vw, 50px);
}

.mt60 {
  margin-top: clamp(20px, 6.0606060606vw, 60px);
}

.mt80 {
  margin-top: clamp(20px, 8.0808080808vw, 80px);
}

.mt100 {
  margin-top: clamp(20px, 10.101010101vw, 100px);
}

.mb0 {
  margin-bottom: 0 !important;
}

.pt0 {
  padding-top: 0;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt40 {
  padding-top: clamp(20px, 4.0404040404vw, 40px);
}

.pt50 {
  padding-top: clamp(20px, 5.0505050505vw, 50px);
}

.pt60 {
  padding-top: clamp(20px, 6.0606060606vw, 60px);
}

.pt80 {
  padding-top: clamp(20px, 8.0808080808vw, 80px);
}

.pb50 {
  padding-bottom: clamp(20px, 5.0505050505vw, 50px) !important;
}

.font-size-32 {
  font-size: clamp(24px, 3.2vw, 32px);
}

.font-size-26 {
  font-size: clamp(22px, 2.6vw, 26px);
}

.font-size-24 {
  font-size: clamp(20px, 2.4vw, 24px);
}

.font-size-22 {
  font-size: clamp(21px, 2.6vw, 22px);
}

.font-size-20 {
  font-size: clamp(18px, 2vw, 20px);
}

.font-size-18 {
  font-size: clamp(16px, 1.8vw, 18px);
}

.font-size-16 {
  font-size: clamp(14px, 1.6vw, 16px);
}

.font-size-15 {
  font-size: clamp(14px, 1.5vw, 15px);
}

.font-size-12 {
  font-size: 12px;
}

.col6 {
  width: calc((100% - 30px) / 2);
}

.col4 {
  width: calc((100% - 60px) / 3);
}

@media screen and (max-width: 767px) {
  .col6, .col4 {
    width: 100%;
  }
}
.justify-content-center {
  justify-content: center;
}

.anchor {
  margin-top: -64px;
  padding-top: 64px;
}

.main_visual {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-bottom: clamp(30px, 7.0707070707vw, 70px);
  background-color: #fbfbfb;
  background-image: linear-gradient(to right, #fbfbfb 0px, transparent 5%, transparent 95%, #fbfbfb 100%), url(/bs/lp/ms365/common/images/ms365_main_bg.jpg);
  background-size: auto 88%, auto 88%;
  background-repeat: no-repeat, no-repeat;
  background-position: top center, top center;
}
.main_visual .title-wrap {
  max-width: 990px;
  container-type: inline-size;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(30px, 6vw, 61px) 10px;
}
.main_visual h1 {
  text-shadow: 0px 0px 10px rgb(255, 255, 255);
  margin: 0 auto 0.2em auto !important;
  font-size: 4.5454545455cqw;
  line-height: 1.5;
}
.main_visual h1 br {
  display: none;
}
@media screen and (max-width: 640px) {
  .main_visual h1 {
    font-size: 8.1818181818cqw;
  }
  .main_visual h1 br {
    display: block;
  }
}
.main_visual p.title-lead {
  margin: 0 auto !important;
  font-size: 3.0303030303cqw;
}
.main_visual p.title-lead br {
  display: none;
}
@media screen and (max-width: 640px) {
  .main_visual p.title-lead {
    font-size: 5.4545454545cqw;
  }
  .main_visual p.title-lead br {
    display: block;
  }
}

.index-list {
  width: min(990px, 100% - 40px);
  margin-right: auto;
  margin-left: auto;
  background: rgba(255, 255, 255, 0.7);
  padding: clamp(15px, 3.0303030303vw, 30px);
  text-align: center;
  color: #224e67;
  box-shadow: 8px 8px 30px 8px #dbdbdb;
}
.index-list li {
  text-align: left;
  font-size: clamp(15px, 1.953125vw, 20px);
}
.index-list li:not(:first-of-type) {
  margin-top: 14px;
}
.index-list li span.point-badge {
  background-color: rgba(54, 160, 181, 0.4);
  max-width: 266px;
  width: 100%;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: clamp(14px, 7.0707070707vw, 70px);
}
@media screen and (max-width: 767px) {
  .index-list li span.point-badge {
    max-width: 120px;
  }
}
.index-list li .text-underline {
  text-decoration: underline;
}
.index-list li a {
  color: #224e67;
  transition: all 0.5s ease 0s;
  display: flex;
}
.index-list li a:hover {
  opacity: 0.5;
  text-decoration: none;
}

.headline-gradation-gray {
  padding: 2.25em 0.677685em;
  text-align: center;
  background: linear-gradient(70deg, #224e67 40%, color-mix(in srgb, #224e67 25%, #ffffff) 90%);
  font-weight: bold;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .headline-gradation-gray {
    text-align: left;
  }
  .headline-gradation-gray br {
    display: none;
  }
}

.headline-gradation-orange {
  padding: 2.25em 0.677685em;
  text-align: center;
  background: linear-gradient(70deg, #f24918 40%, #fdce05 90%);
  font-weight: bold;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .headline-gradation-orange {
    text-align: left;
  }
  .headline-gradation-orange br {
    display: none;
  }
}

.headline-gradation-gray, .headline-gradation-orange {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.headline-gradation-gray h2, .headline-gradation-orange h2 {
  max-width: 990px;
  margin: 0 auto;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 990px) {
  .headline-gradation-gray h2, .headline-gradation-orange h2 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.headline-badge {
  border: #ffffff solid 1.7241px;
  box-sizing: border-box;
  max-width: 186px;
  width: 100%;
  height: 48px;
  display: flex;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .headline-badge {
    max-width: 120px;
  }
}

.headline-text {
  height: 48px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .headline-text {
    height: unset;
  }
}

.headline-sub {
  padding: 0 0 0 calc(60px + 0.5em);
  text-align: left;
  font-weight: bold;
  background: linear-gradient(to right, #224e67 0%, #224e67 30px, color-mix(in srgb, #224e67 20%, #ffffff) 30px, color-mix(in srgb, #224e67 20%, #ffffff) 100%) transparent no-repeat center left/60px 5px;
}
@media screen and (max-width: 767px) {
  .headline-sub {
    text-align: left br;
    text-align-display: none;
  }
}

.headline-sub-border {
  background-image: linear-gradient(to top, #d4dde8 100%, #d4dde8 100%);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: left center;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .headline-sub-border {
    background-image: unset;
    text-align: left;
  }
}
.headline-sub-border span {
  display: inline-block;
  background-color: #FFF;
  padding: 0.2em 0.5em;
}
@media screen and (max-width: 767px) {
  .headline-sub-border {
    text-align: left;
  }
  .headline-sub-border br {
    display: none;
  }
}

.background-cover {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 767px) and (max-width: 990px) {
  .background-cover {
    margin-left: 0;
  }
}
.background-cover > div {
  max-width: 990px;
  margin: 0 auto;
  padding-bottom: clamp(20px, 8.0808080808vw, 80px);
}
@media screen and (max-width: 990px) {
  .background-cover > div {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.bg-grey {
  background: rgb(245, 249, 252);
}

.bg-white {
  background: rgb(255, 255, 255);
}

.bg-orange {
  background: rgba(237, 120, 54, 0.3);
}

.ms365-arrow {
  background: url(/bs/lp/ms365/common/images/ms365-arrow.png);
  margin: 70px auto 0;
  position: relative;
  height: 99px;
  width: 74px;
}
@media screen and (max-width: 767px) {
  .ms365-arrow {
    margin: 30px auto 0;
  }
}

.image-padding {
  padding: clamp(20px, 5.0505050505vw, 50px);
}

.image-list li {
  position: relative;
}
.image-list li span {
  display: block;
  padding: 0 20px 0;
}
.image-list li div {
  text-align: center;
}
.image-list li:not(:first-of-type)::before {
  content: "";
  display: block;
  position: absolute;
  background: rgba(34, 78, 103, 0.4);
  height: 100%;
  width: 1px;
  left: -15px;
}
@media screen and (max-width: 767px) {
  .image-list li:not(:first-of-type)::before {
    height: 1px;
    width: 100%;
    left: 0;
    top: -15px;
  }
}

.container-box {
  max-width: 990px;
  background: #ffffff;
}
@media screen and (max-width: 990px) {
  .container-box {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.container-shadow {
  box-shadow: 4px 4px 20px 4px #f5f5f5;
}

.container-border {
  box-shadow: 0 0 0 1px rgba(34, 78, 103, 0.3) inset;
}

.ms365-list {
  padding: 20px clamp(0px, 3.0303030303vw, 30px);
}
.ms365-list li {
  font-size: clamp(18px, 2.0202020202vw, 20px);
  padding-top: clamp(14px, 1.6161616162vw, 16px);
  padding-bottom: clamp(14px, 1.6161616162vw, 16px);
}
.ms365-list li:not(.red) {
  color: #224e67;
  font-size: clamp(15px, 1.8181818182vw, 18px);
  text-indent: -1em;
  padding-left: 1em;
  box-shadow: 0 1px 0 0 rgba(34, 78, 103, 0.4);
}
.ms365-list li:not(.red)::before {
  content: "・";
  display: inline-block;
  position: relative;
  top: 50%;
  transform: translateY(0%);
  padding-left: 1em;
}
.ms365-list li:not(.red):last-of-type {
  margin-bottom: 0;
}
.ms365-list li.red {
  padding-top: clamp(14px, 1.3131313131vw, 30px);
}

.product-list li {
  height: 180px;
  padding: clamp(15px, 3.0303030303vw, 30px);
  border-radius: 8px;
}
.product-list li img {
  margin: 0 auto;
  max-height: 63px;
}
.product-list li span {
  margin-top: 20px;
  box-shadow: 0 -1px 0 0 rgba(237, 120, 54, 0.3);
  padding-top: 16px;
}
.product-list li a {
  color: #224e67;
}
.product-list li a:hover {
  text-decoration: none;
}