* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
:root {
  --color_main: #0630af;
  --color_header_bg: #fdfdfd;
  --color_text: #333;
  --color_link: #1176d4;
  --color_shadow: rgba(0, 0, 0, 0.12);
  --color_border: hsla(0, 0%, 78%, 0.5);
  --font_family: "游ゴシック体", "Yu Gothic", YuGothic,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font_weight: 500;
  --font_root: 16px;
  --font_content: 15px;
  --font_text: 13px;
  --container_size: 1200px;
  --content_size: 900px;
  --padding_container: 48px;
  --padding_content: 16px;
  --letter_spacing: 0.025em;
  --logo_size: 60px;
  --fix_headerH: 92px;
  --width-btn: 64%;
}
@font-face {
  font-family: icomoon;
  src: url(./icomoon.woff2?fq24x) format("woff2"),
    url(./icomoon.ttf?fq24x) format("truetype"),
    url(./icomoon.woff?fq24x) format("woff"),
    url(./icomoon.svg?fq24x#icomoon) format("svg");
}
html {
  letter-spacing: var(--letter_spacing, normal);
  font-size: var(--font_root);
  scroll-behavior: smooth;
}
body {
  color: var(--color_text);
  font-family: var(--font_family);
  font-size: 1rem;
  font-weight: var(--font_weight);
  line-height: 1.6;
}
img {
  border-style: none;
  height: auto;
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}
a {
  text-decoration: none;
  color: var(--color_link);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--color_main);
  outline-offset: 2px;
}
button,
input,
select,
textarea {
  background-color: #f7f7f7;
  border: 1px solid hsla(0, 0%, 78%, 0.5);
  border-radius: 0;
  color: #333;
  padding: 0.25em 0.5em;
}
ul {
  list-style: none;
}
input[name="tab_item"] {
  display: none;
}
fieldset {
  border: none;
}
section,
div,
h2,
h3 {
  scroll-margin-top: 92px;
}
/* ------------- */
/* Header系 */
/* ------------- */
.l-header,
.l-fixheader {
  width: 100%;
  border-top: 4px solid var(--color_main);
}
.l-header {
  background: var(--color_header_bg);
}
.l-fixheader {
  border-top: none;
  box-shadow: 0 2px 4px var(--color_shadow);
  transition: all 0.5s;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transform: translateY(calc(var(--fix_headerH, 100px) * -1));
  visibility: hidden;
  width: 100%;
  z-index: 100;
  &::before {
    opacity: 0.8;
    background: var(--color_header_bg);
    display: block;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
  }
}
.l-header_inner {
  color: var(--color_text);
  z-index: 1;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}
.l-header__bar {
  width: 100%;
  background: var(--color_main);
  color: #fff;
}
.l-header__barInner {
  display: flex;
  align-items: center;
}
.l-header_logo {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-right: 24px;
  padding: 16px 0;
  line-height: 1;
  z-index: 1;
}
.l-header_btn {
  z-index: 1;
  height: var(--logo_size);
  line-height: 1.25;
  text-align: center;
  width: var(--logo_size);
  display: none;
}
.l-spmenu {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 101;
  &::before {
    display: block;
    content: "";
    background: #000;
    opacity: 0.6;
    height: 100%;
    transition: opacity 0.5s, visibility 0.5s;
  }
}
.spmenu_body {
  height: 100%;
  overflow-y: scroll;
  padding: 0 4vw 10vw;
  position: relative;
}
.spmenu_title {
  padding: 0.5em 0.75em;
  background: var(--color_main);
  color: #fff;
  font-size: 4vw;
  font-weight: 700;
  margin-bottom: 1.5em;
  overflow: hidden;
  position: relative;
}
.spmenu_nav {
  list-style: none;
  margin-top: -1em;
  padding-bottom: 0.5em;
}
.spmenu_nav_item {
  margin: 0;
  position: relative;
}
.spmenu_nav_link {
  padding: 0.75em 1em 0.75em 1.5em;
  transition: padding 0.25s;
  border-bottom: 1px solid var(--color_border);
  display: block;
  color: inherit;
  line-height: 1.4;
  position: relative;
  text-decoration: none;
  &:first-child {
    border-top: none;
  }
}
.l-spmenu_inner {
  background: var(--color_header_bg);
  color: var(--color_text);
  box-shadow: 0 0 8px var(--color_shadow);
  height: 100%;
  padding-top: var(--logo_size);
  position: absolute;
  top: 0;
  right: 0;
  transition: transform 0.45s;
  transition-timing-function: ease-out;
  transform: translateX(88vw);
  width: 88vw;
  z-index: 101;
}
.l-searchmodal {
  background: rgba(0, 0, 0, 0.75);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
  width: 100%;
  z-index: 1000;
}
.l-searchmodal_inner {
  background: hsla(0, 0%, 100%, 0.1);
  left: 50%;
  max-width: 600px;
  padding: 1em;
  position: absolute;
  top: calc(50% + 16px);
  transform: translateX(-50%) translateY(-50%);
  transition: top 0.5s;
  width: 96%;
  z-index: 1;
}
.searchmodal_body {
  position: relative;
  font-size: 16px;
  display: flex;
}
.searchmodal_input {
  width: 100%;
  background-color: #fff;
  line-height: 2;
  padding: 4px 44px 4px 8px;
  width: 100%;
}
.searchmodal_btn {
  background-color: var(--color_main);
  color: #fff;
  height: 100%;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  font-size: 20px;
}
.searchmodal_close_btn {
  background-color: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  left: 0;
  line-height: 2;
  padding-top: 0.5em;
  position: absolute;
  text-align: center;
  text-shadow: 1px 1px 1px #000;
  top: 100%;
  width: 100%;
}
.sp_btn {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 20px !important;
}
.icon_btn {
  align-content: center;
  align-items: center;
  color: inherit;
  display: inline-flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  text-decoration: none;
  width: 100%;
  appearance: none;
  background-color: transparent;
  border: none;
  box-shadow: none;
}
.icon_btn:focus-visible {
  outline: 2px solid var(--color_main);
}
.catchphrase {
  color: inherit;
  font-size: 12px;
  letter-spacing: var(--letter_spacing, 0.2px);
  line-height: 14px;
  margin-right: auto;
  overflow: hidden;
  padding: 4px 0;
  white-space: nowrap;
  width: 50%;
}
.headerlogo_link {
  max-width: 400px;
  margin-right: 16px;
  height: var(--logo_size);
}
.headerlogo_img {
  height: 100%;
  object-fit: contain;
  width: auto;
}
.header_gnav {
  display: flex;
  height: 100%;
  text-align: center;
  list-style: none;
}
.header_gnav_item {
  height: 100%;
  &:hover {
    .header_gnav_link::after {
      width: 100%;
    }
  }
}
[data-page="information"] {
  .header_gnav_item:nth-child(1) {
    .header_gnav_link::after {
      width: 100%;
    }
  }
}
[data-page="flow"] {
  .header_gnav_item:nth-child(2) {
    .header_gnav_link::after {
      width: 100%;
    }
  }
}
[data-page="case"] {
  .header_gnav_item:nth-child(3) {
    .header_gnav_link::after {
      width: 100%;
    }
  }
}
[data-page="request"] {
  .header_gnav_item:nth-child(4) {
    .header_gnav_link::after {
      width: 100%;
    }
  }
}
[data-page="column"] {
  .header_gnav_item:nth-child(5) {
    .header_gnav_link::after {
      width: 100%;
    }
  }
}
.header_gnav_link {
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 0 12px;
  position: relative;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1;
  &::after {
    background: var(--color_main);
    width: 0%;
    height: 2px;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    transition: transform 0.25s, width 0.25s, height 0.25s;
  }
}

/* ------------- */
/* MV系 */
/* ------------- */
.l-mainvisual {
  display: grid;
  padding: 16px;
}
.l-mainvisual_img {
  height: 30vw;
  grid-area: 1/1;
  overflow: hidden;
  position: relative;
  &::before {
    background-color: #000;
    opacity: 0.4;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  &::after {
    background-color: rgba(0, 0, 0, 0.1);
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAGUExURUdwTAAAAJ8qhFEAAAABdFJOUwBA5thmAAAAEklEQVQI12MwYDBgYGBoYGAAAASKAOH8MS30AAAAAElFTkSuQmCC);
    background-size: 2px;
    content: "";
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.l-mainvisual_title {
  position: relative;
  grid-area: 1/1;
  place-content: center;
  text-align: center;
  z-index: 3;
}
.mainvisual_img_wrap {
  opacity: 0;
  animation: img-switch-animation 24s infinite;
  &:nth-of-type(1) {
    animation-delay: 0s;
    .mainvisual_img {
      animation-delay: 0s;
    }
  }
  &:nth-of-type(2) {
    animation-delay: 8s;
    .mainvisual_img {
      animation-delay: 8s;
    }
  }
  &:nth-of-type(3) {
    animation-delay: 16s;
    .mainvisual_img {
      animation-delay: 16s;
    }
  }
}
.mainvisual_img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);
  animation: img-move-animation 24s infinite;
}
@keyframes img-switch-animation {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  36% {
    opacity: 1;
  }
  45% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes img-move-animation {
  0% {
    transform: scale(1.1) translateX(-1%);
  }
  to {
    transform: scale(1.1) translateX(1%);
  }
}
.mainvisual_title {
  font-size: 28px;
  line-height: 1.4;
  font-weight: inherit;
  color: #fff;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
  padding: 0 4vw;
}

/* ------------- */
/* Main */
/* ------------- */
.l-section {
  margin-inline: auto;
  font-size: var(--font_content);
  padding-block: 2em;
}
.l-section_inner {
  margin-inline: auto;
  max-width: var(--content_size);
  padding-inline: var(--padding_content);
}
.l-section_column {
  width: calc(50% - 0.75rem);
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.grid_left {
  display: grid !important;
  grid-template-columns: 60% auto !important;
  .section_card {
    margin-inline: -4rem 0;
  }
}
.grid_right {
  display: grid !important;
  grid-template-columns: auto 60% !important;
  .section_card {
    margin-inline: 0 -4rem;
  }
  .l-section_column:nth-child(1) {
    order: 2;
  }
  .l-section_column:nth-child(2) {
    order: 1;
  }
}
.column3 {
  width: calc(33.33% - 1.5rem);
  margin-inline: 1.5rem 0;
}
.columns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.columns3 {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -1.5rem 0;
  row-gap: 1.5rem;
}
.rows {
  display: block;
}
.section_title {
  color: #595959;
  text-align: center;
  font-size: 1.4em;
  letter-spacing: 0.025em;
  line-height: 1.4;
}
.section_title_sub {
  display: block;
  text-align: center;
  font-size: 1em;
  line-height: 1.8;
  font-weight: 500;
  color: #333333;
  margin-bottom: 2em;
}
.section_text {
  font-size: inherit;
}
.section_news_item {
  line-height: 1.5;
  list-style: none;
  border-block: hsla(0, 0%, 78%, 0.5) 1px solid;
  + .section_news_item {
    border-top: none;
  }
}
.section_news_link {
  display: block;
  padding: 1em 0.25em;
  transition: background-color 0.25s;
  &:hover {
    background-color: rgba(3, 2, 2, 0.05);
  }
}
.section_news_meta {
  margin: 0 0 4px;
}
.section_news_date,
.section_news_category {
  font-size: 11px;
  color: #333333;
  opacity: 0.8;
  padding: 4px 0;
}
.section_news_title {
  color: #333333;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.5;
}
.section_asp {
  list-style: none;
  align-self: start;
}
.section_asp_item {
  margin-block: 0.25em 0.75em;
  padding-block: 0 0.75em;
  border-bottom: 1px dashed hsla(0, 0%, 78%, 0.5);
}
.l-card {
  width: 100%;
  padding-block: 1.5rem;
  z-index: 2;
}
.section_card {
  position: relative;
  padding-block: 2em;
  padding-inline: 2em;
}
.section_card_text {
  line-height: 1.8;
  font-size: 15px;
  font-weight: 500;
  margin-block: 0 1em;
  color: #333333;
  &:last-of-type {
    margin-block: 0 2em;
  }
}
.l-widget {
  font-size: inherit;
  margin: 4em auto 3em;
}
.widget_list {
  font-size: 0.75em;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.widget_list_item {
  position: relative;
  padding-left: 1.25em;
  margin-block: 0.25em;
  &:before {
    background-color: currentcolor;
    border-radius: 50%;
    color: inherit;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: calc(0.75em - 3px);
    width: 6px;
  }
}

.l-footer {
  font-size: inherit;
}
.l-footer_inner {
  display: flex;
  flex-wrap: wrap;
  row-gap: 2.5rem;
  padding-block: 1rem;
}
.footer_contents {
  display: flex;
  flex-direction: column;
  width: calc(33.33% - 2rem);
  margin-inline: 2rem 0;
  padding: 1rem;
}
.footer_title {
  font-weight: 700;
  margin-block: 0 2rem;
}
.footer_list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9em;
  gap: 0.75em;
  align-items: center;
}
.footer_list_item {
  display: inline-flex;
  width: 100%;
  align-items: center;
  gap: 0.25em;
}
.footer_list_link {
  color: inherit;
  transition: transform 0.25s;
  &:hover {
    color: #0630af;
    transform: translateX(0.4em);
  }
}
.l-footer_foot {
  padding-block: 1em;
}
.footer_foot_list {
  color: inherit;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0.5em 0 1em;
  list-style: none;
}
.footer_foot_list_item {
  border-inline: 1px solid;
  + .footer_foot_list_item {
    border-left: none;
  }
}
.footer_foot_list_link {
  padding-inline: 0.75em;
  font-size: 13px;
  font-weight: 500;
  color: #333333;
  &:hover {
    text-decoration: underline;
  }
}
.copyright {
  font-size: 12px;
  text-align: center;
}

.l-search {
  display: flex;
  flex-direction: column;
}
.search_title {
  font-weight: 700;
  font-size: 14px;
}
.search_box {
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
}
.search_input {
  width: 100%;
  background-color: #fff;
  line-height: 2;
  padding: 4px;
}
.search_btn {
  background: #f7f7f7;
  border: none !important;
  border-radius: 2px;
  box-shadow: 0 0 1px #aaa, inset 0 -1px 0 #ccc;
  flex-shrink: 0;
  font-size: 0.9em;
  margin-left: 10px;
  cursor: pointer;
}

.l-fixfoot {
  display: block;
  transition: bottom 0.4s;
  width: 100%;
  z-index: 100;
  left: 0;
  position: fixed;
  bottom: -60px;
  color: #fff;
  /* opacity: 0;
  visibility: hidden; */
  &::before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    display: block;
    z-index: 0;
    background: #333333;
    opacity: 0.9;
  }
}
.fixfoot_list {
  list-style: none;
  align-items: center;
  display: flex;
  height: 50px;
  justify-content: space-between;
  padding: 2px 0 0;
  position: relative;
  z-index: 1;
}
.fixfoot_list_item {
  color: inherit;
  flex: 1 1 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.fixfoot_list_link {
  color: inherit;
  flex: 1 1 100%;
  padding: 0;
}
.fixfoot_list_link_icon {
  font-size: 20px;
  height: 20px;
  line-height: 20px;
  display: block;
  &::before {
    margin: 0 !important;
  }
}
.fixfoot_list_link_text {
  display: block;
  margin: 2px 0 0 0;
  text-align: center;
  font-size: 10px;
}

.l-fixtopbtn {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  opacity: 0;
  position: fixed;
  bottom: 64px;
  right: 2.5em;
  text-align: center;
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
  transition: opacity 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s,
    -webkit-transform 0.3s;
  visibility: hidden;
  z-index: 99;
}
.fixtopbtn {
  border-radius: 50%;
  align-items: center;
  background: #fff;
  border: 1px solid var(--color_main);
  box-shadow: var(--swl-box_shadow);
  color: var(--color_text);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 52px;
  justify-content: center;
  letter-spacing: normal;
  line-height: 1;
  opacity: 0.75;
  overflow: hidden;
  text-align: center;
  transition: all 0.25s;
  width: 52px;
  &:hover {
    background-color: var(--color_main) !important;
    color: #fff !important;
    transition: background-color 0.25s, color 0.25s;
  }
}
.fixtopbtn_icon {
  transform: translateY(-2px);
  display: block;
  font-size: 20px;
}
.fixtopbtn_text {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  display: block;
  font-size: 10px;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

.l-page {
  padding: 4.75rem 0 calc(4 * 15px) 0;
}
.page_title {
  color: #333333;
  font-size: 1.5em;
  line-height: 1.4;
  font-weight: bold;
}
.page_title_sub {
  font-size: 14px;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.025em;
  margin-inline: 1em 0;
  opacity: 0.8;
  vertical-align: middle;
}
.l-post {
  line-height: 1.8;
  font-size: var(--font_content);
}
.l-postlist {
  font-size: 1rem;
  padding-top: 2em;
  border-top: 1px solid hsla(0, 0%, 78%, 0.5);
}
.postlist {
  margin: 0 0 2em;
  padding: 0 0 2em;
  border-bottom: 1px solid hsla(0, 0%, 78%, 0.5);
  &:nth-child(2n) .postlist_link {
    flex-direction: row-reverse;
  }
  &:last-child {
    margin: 0;
  }
}
.postlist_link {
  align-items: flex-start;
  padding: 0 0.25em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: #333333;
  &:hover {
    .postlist_thumb::before {
      opacity: 0.2;
    }

    .postlist_btn {
      background: var(--color_main);
      box-shadow: none;
      color: #fff;
      opacity: 1;
    }
    .postlist_img {
      img {
        transform: scale(1.06);
      }
    }
  }
}
.postlist_thumb {
  width: 36%;
  overflow: hidden;
  position: relative;
  vertical-align: middle;
  &::before {
    background: linear-gradient(45deg, #87e7ff, #87e7ff);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.25s;
    width: 100%;
    z-index: 1;
  }
}
.postlist_img {
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 0;
  &::before {
    content: "";
    display: block;
    height: 0;
    padding-top: 60.5%;
    position: relative;
  }
  img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s, -webkit-transform 0.25s;
  }
}
.postlist_cat {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  white-space: nowrap;
  z-index: 1;
  line-height: 2;
  padding: 0 0.75em;
  font-size: 11px;
  background-color: #0630af;
  color: #fff;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1) 6px,
    transparent 6px,
    transparent 12px
  );
}
.postlist_content {
  width: 60%;
  position: relative;
}
.postlist_title {
  color: #333333;
  font-weight: 700;
  line-height: 1.5;
}
.postlist_excerpt {
  font-size: 14px;
  margin-top: 0.5em;
  line-height: 1.5;
}
.postlist_meta {
  font-size: 11px;
  opacity: 0.8;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.25;
  margin-top: 0.75em;
  position: relative;
}
.postlist_btn {
  display: inline-block;
  margin-top: 2em 24px;
  max-width: 100%;
  padding: 0.5em 3em;
  width: auto;
  box-shadow: 0 0 0 1px hsla(0, 0%, 78%, 0.5);
  font-size: 12px;
  letter-spacing: 0.025em;
  margin: 2em auto 0;
  opacity: 0.75;
  text-align: center;
  transition: color 0.25s, background-color 0.25s;
}
.pagination {
  display: flex;
  justify-content: center;
  span {
    display: inline-block;
    padding: 0.5em 1em;
    background-color: #0630af;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
    color: #fff;
    font-size: 14px;
  }
}
.l-box {
  width: 100%;
  padding: 1rem;
  display: grid;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
  color: #333333;
  &:hover {
    .box_img {
      transform: scale(1.04);
    }
  }
}
.l-box[data-box-decoration="bottom"] {
  grid-template-columns: 1fr;
  &:hover {
    .box_img {
      transform: unset;
      opacity: 0.8;
    }
  }
  .box_img {
    transition: opacity 0.25s;
  }
  .box_img_wrap {
    grid-area: unset;
    height: unset;
    overflow: unset;
  }
  .box_text {
    grid-area: unset;
    font-size: 1em;
    background-color: #fff;
    color: #333333;
    padding: 1em 0 0 0;
  }
}
.box_img_wrap {
  grid-area: 1/1;
  height: 160px;
  overflow: hidden;
}
.box_img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s;
}
.box_text {
  display: grid;
  place-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  grid-area: 1/1;
  font-size: 1.4em;
  line-height: 1.25;
  color: #fff;
  padding-block: 1em;
  padding-inline: 1em;
  z-index: 1;
}
.post_title {
  width: -webkit-fill-available;
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1.4;
  border-block: solid 2px #0630af;
  padding: 1em 0.75em;
  margin-block: 1.5rem 2em;
  margin-inline: -1rem;
}
.post_title_sub {
  position: relative;
  width: 100%;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.4;
  margin-block: 3em 2em;
  padding: 0 0.5em 0.5em;
  &::before {
    content: "";
    bottom: 0;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(
      90deg,
      #0630af 0%,
      #0630af 29.3%,
      rgba(150, 150, 150, 0.2) 29.3%,
      rgba(150, 150, 150, 0.2) 100%
    );
  }
}
.post_link_list {
}
.post_link_title {
  font-weight: 700;
}
.post_link_text {
  margin-left: 1em;
  padding: 1em;
}
.l-step {
  counter-reset: num;
}
.step_content {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  padding: 2em;
  border-bottom: 1px dashed #dedede;
  &:first-child {
    border-top: 1px dashed #dedede;
  }
  &:not(:last-child)::before {
    content: "";
    position: absolute;
    border: 12px solid transparent;
    border-top: 12px solid #dedede;
    display: block;
    height: 0;
    left: 50%;
    top: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
  }
}
.step_num {
  color: #0630af;
  font-size: 12px;
  text-align: center;
  vertical-align: baseline;
  counter-increment: num;
  &::after {
    font-size: 24px;
    content: counter(num);
  }
}
.step_title {
  color: #333333;
  text-align: center;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.4;
}
.l-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-radius: 2px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.25s;
  color: #333333;
  &:hover,
  &:focus-visible {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1),
      0 12px 28px -12px rgba(0, 0, 0, 0.05);
  }
}
.link_content {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  flex: 1 1 auto;
}
.link_img {
  margin: 0 1em 0 0;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  width: 21%;
  img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  &::before {
    content: "";
    display: block;
    height: 0;
    padding-top: 56.25%;
  }
}
.link_title {
  color: #333333;
  font-weight: 400;
  line-height: 1.4;
}
.link_text {
  font-size: 0.8em;
  font-weight: 400;
  opacity: 0.8;
  color: #333333;
  line-height: 1.5;
}
.link_span {
  position: absolute;
  font-size: 10px;
  bottom: 8px;
  right: 8px;
  opacity: 0.8;
  font-weight: 400;
  color: #333333;
  padding: 0 0.5em;
  transform: scale(0.8);
  transform-origin: 100% 100%;
}
.step_list[data-list-variation="kakko"] {
  position: relative;
  padding: 2em;
  ul {
    padding-left: 1.5em;
  }
  li {
    list-style: disc;
    border-bottom: 1px dashed hsla(0, 0%, 78%, 0.5);
    margin-bottom: 0.75em;
    padding-bottom: 0.75em;
  }
  &::before {
    content: "";
    display: inline-block;
    height: 2em;
    position: absolute;
    width: 2.25em;
    border-left: 1px solid var(--color_main);
    border-top: 1px solid var(--color_main);
    left: 0;
    top: 0;
  }
  &::after {
    content: "";
    display: inline-block;
    height: 2em;
    position: absolute;
    width: 2.25em;
    border-bottom: 1px solid var(--color_main);
    border-right: 1px solid var(--color_main);
    bottom: 0;
    right: 0;
  }
}
.step_list[data-list-variation="hatena"] {
  position: relative;
  padding: 2.5em 2em 2em;
  border: 2px solid #5295cc;
  ul {
    padding-left: 1.5em;
  }
  li {
    list-style: disc;
    line-height: 1.5;
    margin: 0.25em 0;
  }
  &::before {
    left: 0.75em;
    content: "\3f";
    font-family: "Font Awesome 6 Free";
    align-items: center;
    background-color: #5295cc;
    border: 2px solid #fdfdfd;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 1.25em;
    height: 2em;
    justify-content: center;
    line-height: 1;
    padding: 0 0 0 0.05em;
    position: absolute;
    top: -1px;
    transform: translateY(-50%);
    width: 2em;
  }
}
.hr {
  width: 100%;
  max-width: 100px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin: 2em auto;
}
.l-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.tabs {
  grid-column: 1/5;
  display: none;
  position: relative;
  transition: opacity 0.5s, visibility 0.5s, transform 0.5s;
  transition-timing-function: ease-out;
  transform: translateY(0);
}
.tabs_label {
  position: relative;
  cursor: pointer;
  background-color: hsla(0, 0%, 78%, 0.15);
  color: #333333;
  font-size: 14px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
  padding: 1em 0.5em;
  text-align: center;
  margin: 0 4px 16px 4px;
  &::before {
    border: 8px solid transparent;
    border-bottom: 0;
    border-top: 8px solid #0630af;
    bottom: -8px;
    content: "";
    display: block;
    height: 0;
    left: 50%;
    opacity: 0;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    transition: opacity 0.25s;
    width: 0;
  }
}
.tabs_title {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.4;
  color: #333333;
  text-align: center;
  margin: 0 0 2em 0;
}
.tabs_table_wrap {
  font-size: 15px;
}
.tabs_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.9em;
  th,
  td {
    border-block: 1px solid #ccc;
    padding: 10px;
    text-align: left;
  }
  th {
    font-weight: 700;
  }
  td {
    font-weight: 500;
  }
  span {
    font-size: 0.75em;
    font-weight: inherit;
  }
}
.tabs_caption {
  font-size: 0.8em;
  line-height: 1.4;
  color: #333333;
  opacity: 0.8;
  text-align: center;
  margin: 0.75em 0 0 0;
}
.tabs_label:has(#surfacepro:checked) ~ #surfacepro_content,
.tabs_label:has(#surfacelaptop:checked) ~ #surfacelaptop_content,
.tabs_label:has(#surfacego:checked) ~ #surfacego_content,
.tabs_label:has(#surfacestudio:checked) ~ #surfacestudio_content {
  display: block;
}
.tabs_label:has(#latest) ~ #latest_content,
.tabs_label:has(#popular) ~ #popular_content {
  display: block;
}
.tabs_label:has(#surfacepro:checked),
.tabs_label:has(#surfacelaptop:checked),
.tabs_label:has(#surfacego:checked),
.tabs_label:has(#surfacestudio:checked),
.tabs_label:has(#latest:checked),
.tabs_label:has(#popular:checked) {
  background-color: #0630af;
  color: #fff;
  &::before {
    opacity: 1;
  }
}
.tabs_label:has(#latest:not(:checked)) ~ #latest_content,
.tabs_label:has(#popular:not(:checked)) ~ #popular_content {
  height: 0;
  left: 0;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
  visibility: hidden;
}

.l-notice {
  border: solid 4px hsla(0, 0%, 78%, 0.15);
  padding: 2em;
}
.notice_list {
  font-size: 0.9em;
  opacity: 0.85;
  color: #333333;
}
.notice_list_item {
  border-bottom: 1px dashed hsla(0, 0%, 78%, 0.5);
  margin: 0.5em 0 0.75em 0;
  padding: 0 0 0.75em 1.25em;
  position: relative;
  &::before {
    background: none;
    border: none;
    border-radius: 0;
    content: "※";
    height: auto;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    white-space: nowrap;
  }
}
.l-qa {
  dt {
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    padding: 2em 1em 1em 3em;
    position: relative;
    border-top: 1px solid var(--color_border);
    &:first-child {
      border-top: none;
      padding: 1em 1em 1em 3em;
      &::before {
        top: 0.75em;
      }
    }
    &::before {
      background-color: #d55656;
      color: #fff;
      border-radius: 0;
      bottom: unset;
      content: "Q";
      display: block;
      font-family: Arial, sans-serif;
      font-weight: 400;
      left: 0;
      line-height: 2;
      position: absolute;
      text-align: center;
      top: 1.75em;
      width: 2em;
    }
  }
  dd {
    line-height: 1.5;
    margin: 0;
    padding: 1em 1em 2em 3em;
    position: relative;
    &:last-child {
      padding: 1em 1em 1em 3em;
    }
    &::before {
      background-color: #6599b7;
      color: #fff;
      border-radius: 0;
      bottom: unset;
      content: "A";
      display: block;
      font-family: Arial, sans-serif;
      font-weight: 400;
      left: 0;
      line-height: 2;
      position: absolute;
      text-align: center;
      top: 0.75em;
      width: 2em;
    }
  }
  p:first-child {
    margin: 0 0 1em 0;
  }
}
.l-blog {
  display: grid;
  grid-template-columns: 1fr 304px;
  gap: 52px;
  padding-top: 4em;
}
.l-blog_main {
  article {
    display: flex;
    flex-direction: column;
  }
}
.l-blog_aside {
  display: flex;
  flex-direction: column;
}
.c-blog_title {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  h1 {
    font-size: 24px;
    line-height: 1.4;
    width: 100%;
    font-weight: bold;
    color: #333333;
  }
  time {
    font-size: 1rem;
    opacity: 0.8;
    border-right: 1px solid hsla(0, 0%, 78%, 0.5);
    font-weight: 400;
    line-height: 1;
    margin-right: 0.75em;
    padding: 0.5em 0.75em 0.5em 0;
    text-align: center;
    span {
      display: block;
      font-weight: 400;
      color: #333333;
    }
    .__y {
      font-size: 0.875rem;
      margin: 0 0 4px 0;
    }
    .__md {
      font-size: 1.5rem;
    }
  }
}
.c-blog_meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
  margin-top: 0.75em;
  gap: 0.625em;
  padding: 0 1px;
  :has(a) {
    font-size: 11px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5em;
  }
  :has(time) {
    opacity: 0.8;
    color: #333333;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5em;
  }
  &::before {
    color: var(--color_main);
  }
}
.c-blog_img {
  margin: 2em 0;
  text-align: center;
  width: 100%;
  img {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 4px 8px -4px rgba(0, 0, 0, 0.2);
  }
}
.c-blog_text {
  font-size: var(--font_content);
  line-height: 1.8;
  display: flex;
  flex-direction: column;
  gap: 2em;
  padding: 0 16px;
  margin: 28px 0 4em 0;
  h2 {
    margin-block: 54px 12px;
  }
  ol {
    padding: 0 0 0 1.5em;
    list-style: decimal;
  }
  ul {
    padding: 0 0 0 1.5em;
    list-style: disc;
  }
  li {
    line-height: 1.5;
    margin: 0.25em 0;
  }
}
.c-blog_share {
  margin: 2em 0;
  ul {
    display: flex;
    justify-content: center;
    border-block: 1px solid hsla(0, 0%, 78%, 0.5);
    padding: 8px 0;
  }
  li {
    cursor: pointer;
    display: flex;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    align-items: center;
    width: 100%;
  }
  a {
    display: flex;
    line-height: 1;
    font-size: 18px;
    width: 100%;
    height: 18px;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 16px 0;
  }
}
.c-blog_cta {
  background-color: #f7f7f7;
  padding: 2em 1rem;
  margin-inline: -1rem;
  gap: 24px;
}
.c-blog_related {
  margin: 6em 0 0 0;
  h4 {
    color: #333333;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 1.5em;
    position: relative;
    border-left: solid 2px #0630af;
    padding: 0em 0.75em;
  }
}
.m-blog_related {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  li {
    width: 49%;
    margin: 2em 0 0 0;
  }
}
.c-bloglist_thumb {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  &:hover {
    .m-bloglist_thumb::before {
      opacity: 0.2;
    }
    .m-bloglist_img {
      img {
        transform: scale(1.06);
      }
    }
    .m-bloglist_body {
      opacity: 0.75;
    }
  }
}
.m-bloglist_thumb {
  position: relative;
  width: 36%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
  &::before {
    background: linear-gradient(45deg, #87e7ff, #87e7ff);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.25s;
    width: 100%;
    z-index: 1;
  }
}
.m-bloglist_img {
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 0;
  &::before {
    content: "";
    display: block;
    height: 0;
    padding-top: 60.5%;
    position: relative;
  }
  img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s, -webkit-transform 0.25s;
  }
}
.m-bloglist_body {
  width: 60%;
  transition: opacity 0.25s;
}
.m-bloglist_title {
  font-size: 14px;
  color: #333333;
  display: block;
  font-weight: 700;
  line-height: 1.5;
}
.m-bloglist_meta {
  color: #333333;
  opacity: 0.8;
  margin-top: 0.25em;
  font-size: 11px;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  line-height: 1.25;
  position: relative;
}
.m-blog_category {
  background-color: #0630af;
  color: #fff;
  border-radius: 1px;
  display: block;
  line-height: 1;
  padding: 4px 0.5em;
  text-decoration: none;
  transition: box-shadow 0.25s;
  &:hover {
    animation: flash 1s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  }
}
@keyframes flash {
  0% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
.l-blogaside {
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 2.5em;
  .search_input,
  .search_btn {
    font-size: 14px;
  }
}
.c-blogaside {
  > * {
    margin-bottom: 1em;
  }
}
.m-blogaside_listitem {
  margin: 0;
  position: relative;
}
.m-blogaside_link {
  padding: 0.75em 1em 0.75em 0.75em;
  transition: padding 0.25s;
  border-bottom: 1px solid hsla(0, 0%, 78%, 0.5);
  color: inherit;
  display: block;
  line-height: 1.4;
  position: relative;
  text-decoration: none;
  &:hover {
    background-color: rgba(3, 2, 2, 0.05);
  }
}
.m-blogaside_title {
  color: #333333;
  display: block;
  font-weight: 700;
}
.m-blogcap {
  position: relative;
}
.m-blogcap_title {
  display: inline-flex;
  gap: 0.5em;
  justify-content: center;
  align-items: center;
  background-color: #0630af;
  color: #fff;
  font-size: 0.85em;
  left: 1em;
  line-height: 1;
  margin-bottom: 0;
  padding: 0.5em 0.75em;
  position: relative;
  text-align: center;
  top: 1em;
  z-index: 1;
}
.m-blogcap_list {
  padding: 2em 1.5em 1.5em 1.75em !important;
  list-style: none !important;
  border: 1px solid #0630af;
  clear: both;
  margin-top: -2px;
  position: relative;
  z-index: 0;
}
.m-blogcap_item {
  position: relative;
  border-bottom: 1px dashed hsla(0, 0%, 78%, 0.5);
  margin-bottom: 0.75em;
  padding-left: 1.25em;
  padding-bottom: 0.75em;
  line-height: 1.5;
  &::before {
    background-color: currentcolor;
    border-radius: 50%;
    color: inherit;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: calc(0.75em - 3px);
    width: 6px;
  }
}
.c-blogtoc {
  width: 92%;
  margin: 2em auto 0 auto;
  max-width: 800px;
  padding: 2em;
  background: linear-gradient(
    -45deg,
    transparent 25%,
    hsla(0, 0%, 78%, 0.15) 25%,
    hsla(0, 0%, 78%, 0.15) 50%,
    transparent 50%,
    transparent 75%,
    hsla(0, 0%, 78%, 0.15) 75%,
    hsla(0, 0%, 78%, 0.15)
  );
  background-clip: padding-box;
  background-size: 4px 4px;
  border-bottom: 4px double hsla(0, 0%, 78%, 0.5);
  border-top: 4px double hsla(0, 0%, 78%, 0.5);
}
.m-blogtoc_title {
  color: #333333;
  margin-bottom: 0.75em;
  display: block;
  font-size: 1.2em;
  line-height: 1;
  position: relative;
  text-align: center;
}
.m-blogtoc_list {
  padding: 0;
  list-style: none !important;
}
.m-blogtoc_sublist {
  font-size: 0.9em;
  padding-left: 0.5em;
  list-style: none !important;
}
.m-blogtoc_item {
  padding-left: 1.25em;
  position: relative;
  line-height: 1.6;
  margin: 0.25em 0;
  &::before {
    background-color: currentcolor;
    border-radius: 50%;
    color: inherit;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: calc(0.75em - 3px);
    width: 6px;
  }
}
.m-blogtoc_subitem {
  padding-left: 1.25em;
  position: relative;
  line-height: 1.6;
  margin: 0.25em 0;
  &::before {
    background: none;
    border-bottom: 2px solid;
    border-left: 2px solid;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    content: "";
    height: calc(1em - 2px);
    left: 0.25em;
    opacity: 0.75;
    position: absolute;
    top: 0;
    transform: scale(0.75);
    transform-origin: 50% 100%;
    width: 6px;
  }
}
.m-blogtoc_link {
  color: inherit;
  font-size: inherit;
  text-decoration: none;
}
.m-blogtoc_sublink {
  color: inherit;
  font-size: inherit;
  text-decoration: none;
}
.c-compare {
  border-radius: 4px;
  box-shadow: 0 3px 5px #00000012;
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
  overflow: hidden;
}
.m-compare_title {
  color: #fff;
  display: flex;
  align-items: stretch;
  > * {
    align-items: center;
    color: #fff;
    display: flex;
    flex-basis: 50%;
    font-size: 16px;
    font-weight: 700;
    justify-content: center;
    line-height: 1.5;
    margin: 0 !important;
    min-height: 3.5em;
    padding: 0.75em 1em !important;
    text-align: center;
    vertical-align: middle;
  }
}
.m-compare_text {
  align-items: stretch;
  display: flex;
  font-size: 0.9em;
}
.m-compare_list {
  list-style: none !important;
  display: flex;
  flex-basis: 50%;
  flex-direction: column;
  font-size: 1em;
  margin: 0 !important;
  padding: 1.25em 1.5em !important;
  text-align: justify;
}
.m-compare_item {
  color: #333333;
  padding-left: 1.25em;
  position: relative;
  line-height: 1.6;
  margin: 0.25em 0;
  text-wrap: nowrap;
  &::before {
    border-radius: 50%;
    color: inherit;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: calc(0.75em - 3px);
    width: 6px;
  }
}
.m-list {
  padding: 1em !important;
  color: #333333;
  list-style: none !important;
  li {
    position: relative;
    padding-left: 1.25em;
    border-bottom: 1px dashed hsla(0, 0%, 78%, 0.5);
    margin-bottom: 0.75em;
    padding-bottom: 0.75em;
  }
  li:before {
    background-color: currentcolor;
    border-radius: 50%;
    color: inherit;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: calc(0.75em - 3px);
    width: 6px;
  }
}
.l-toc {
  position: sticky;
  height: 100%;
  max-height: 800px;
  flex: 1 1 auto;
  top: 108px;
  overflow-y: auto;
  .post_title_sub {
    margin-top: 0;
  }
}
.toc {
  display: flex;
  flex-direction: column;
}
.toc .is-active-link {
  background-color: #e6e6fa;
  padding: 0.2em;
}
.toc ol {
  font-size: 14px;
  padding-left: 1.25em;
  list-style: disc;
}
.toc li {
  > ol > li {
    font-size: 0.9em;
    list-style: none;
    position: relative;
    &::before {
      background: none;
      border-bottom: 2px solid;
      border-left: 2px solid;
      border-radius: 0;
      box-shadow: none;
      color: inherit;
      content: "";
      height: calc(1em - 2px);
      left: -1em;
      opacity: 0.75;
      position: absolute;
      top: 0;
      transform: scale(0.75);
      transform-origin: 50% 100%;
      width: 6px;
    }
  }
}
.toc-link {
  color: var(--color_text);
  &:hover {
    opacity: 0.8;
  }
}

.m-compare_title {
  [data-bg-color="blue"] {
    background-color: #6fc7e1;
  }
  [data-bg-color="red"] {
    background-color: #ffa883;
  }
}
.m-compare_text {
  [data-bg-color="blue"] {
    background-color: #f0f9fc;
    .m-compare_item::before {
      background-color: #6fc7e1;
    }
  }
  [data-bg-color="red"] {
    background-color: #fff6f2;
    .m-compare_item::before {
      background-color: #ffa883;
    }
  }
}
.m-list[data-variation="red"] {
  background-color: #fff2f0;
}
.m-list[data-variation="blue"] {
  background-color: #f0f9fc;
}

.l-breadcrumb {
  padding: 8px 0;
}
.breadcrumb_list {
  font-size: 11px;
  display: flex;
  gap: 0.5em;
  list-style: none;
  width: 100%;
  align-items: center;
}
.breadcrumb_item {
  display: flex;
  gap: 0.5em;
  list-style: none;
  align-items: center;
  &:not(:last-child) {
    &::after {
      background-color: var(--color_text);
      clip-path: polygon(45% 9%, 75% 51%, 45% 90%, 30% 90%, 60% 50%, 30% 10%);
      content: "";
      display: block;
      height: 10px;
      margin: 0;
      opacity: 0.8;
      width: 10px;
    }
  }
}
.breadcrumb_link {
  color: var(--color_text);
  transition: opacity 0.25s;
  &::before {
    margin-right: 0.5em;
  }
  &:hover {
    opacity: 0.8;
  }
}

.l-searchlist {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -1em;
}
.searchlist_item {
  width: 33.33333%;
  margin-bottom: 2.5em;
  margin-top: 0;
  padding: 0 0.5em;
}
.searchlist_box {
  display: block;
  color: var(--color_text);
  &:hover {
    .searchlist_thumb::before {
      opacity: 0.2;
    }
    .searchlist_img {
      img {
        transform: scale(1.06);
      }
    }
    .searchlist_body {
      opacity: 0.75;
    }
  }
}
.searchlist_thumb {
  width: 100%;
  overflow: hidden;
  position: relative;
  vertical-align: middle;
  &::before {
    background: linear-gradient(45deg, #87e7ff, #87e7ff);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.25s;
    width: 100%;
    z-index: 1;
  }
}
.searchlist_img {
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 0;
  &::before {
    content: "";
    display: block;
    height: 0;
    padding-top: 56.25%;
    position: relative;
  }
  img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s, -webkit-transform 0.25s;
  }
}
.searchlist_cat {
  position: absolute;
  display: inline-block;
  top: 0;
  right: 0;
  white-space: nowrap;
  z-index: 1;
  line-height: 2;
  padding: 0 0.75em;
  font-size: 11px;
  background-color: #0630af;
  color: #fff;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1) 6px,
    transparent 6px,
    transparent 12px
  );
}
.searchlist_body {
  padding-top: 1em;
  position: relative;
  transition: opacity 0.25s;
  font-size: var(--font_root);
  color: var(--color_text);
}
.searchlist_title {
  display: block;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
.searchlist_text {
  font-size: var(--font_text);
  line-height: 1.5;
  margin-top: 0.5em;
  word-break: break-word;
}
.searchlist_meta {
  font-size: 11px;
  line-height: 1.25;
  margin-top: 0.75em;
}
.searchlist_date {
  opacity: 0.8;
  padding: 4px 0;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}

.l-form {
  width: 100%;
  max-width: 60%;
  padding: 15px 0;
  position: relative;
  word-break: break-word;
  &:has(.form_textarea),
  &:has(.form_privacy_text),
  &:has(.form_radio_columns) {
    max-width: 100%;
  }
}
.form_label {
  width: 100%;
  margin: 0 0 15px 0;
  color: rgba(0, 0, 0, 0.85);
  line-height: 19px;
  display: block;
  font-weight: 700;
  font-style: normal;
  word-break: break-word;
  word-wrap: break-word;
}
.form_input,
.form_textarea,
.form_select {
  width: 100%;
  background-color: #ffffff;
  background-clip: padding-box;
  border-radius: 3px;
  color: rgba(0, 0, 0, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.25);
  padding: 0 14px;
  font-size: 16px;
  line-height: 100%;
  box-shadow: none;
  transition: border 0.15s, box-shadow 0.15s;
  height: 43px;
  &:focus {
    border: 1px solid #066aab;
    box-shadow: 0 0 0 1px #066aab, 0px 1px 2px rgba(0, 0, 0, 0.15);
  }
}
.form_input_columns {
  display: flex;
  gap: 20px;
}
.form_input {
  &:has(~ .form_error) {
    border: 1px solid #d63637;
  }
}
.form_select {
  background-image: none;
  appearance: none;
  &[multiple] {
    height: auto;
    padding: 0;
    overflow: auto;
  }
  &:not([multiple]) {
    background-image: linear-gradient(
        45deg,
        transparent 50%,
        rgba(0, 0, 0, 0.25) 50%
      ),
      linear-gradient(135deg, rgba(0, 0, 0, 0.25) 50%, transparent 50%);
    background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
  }
}
.form_select_option {
  padding: 10px 14px;
  color: rgba(0, 0, 0, 0.7);
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
  &[multiple]:checked {
    background: #066aab;
    color: #ffffff;
  }
  &:checked {
    font-weight: bold;
  }
}
.form_radio_columns {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}
.form_radio_wrap {
  border: 2px solid rgba(0, 0, 0, 0);
  border-radius: 3px;
  background-color: transparent !important;
  padding: 20px 20px 15px 20px;
  text-align: center;
  cursor: pointer;
  &:has(input:checked) {
    border: 2px solid #066aab;
  }
}
.form_radio_icon {
  &::before {
    font-size: 32px !important;
    width: 80px;
    color: #066aab;
    display: block;
    margin: 0 auto 10px auto !important;
  }
}
.form_radio_text {
  font-size: 16px;
  line-height: 19px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.7);
  margin: 0;
}
.form_radio {
  display: none;
}
.form_textarea {
  width: 100%;
  height: calc(43px * 2.8);
  line-height: 1.3;
  min-height: 43px;
  padding: 14px;
  resize: vertical;
}
.form_text {
  font-size: 14px;
  line-height: 17px;
  color: rgba(0, 0, 0, 0.55);
  margin: 5px 0 0 0;
}
.form_checkbox {
  font-style: normal;
  font-weight: 400;
  vertical-align: middle;
  opacity: 1;
  appearance: none;
  position: relative;
  display: inline-block;
  background: none;
  height: 16px;
  width: 16px;
  margin: 0 0 0 2px;
  border: none;
  box-shadow: none;
  &::before {
    content: "";
    position: absolute;
    left: -2px;
    top: -2px;
    width: 16px;
    height: 16px;
    box-sizing: content-box;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.25);
    background-color: #fff;
    background-clip: padding-box;
    background-image: none;
    border-radius: 3px;
  }
  &::after {
    content: "";
    position: absolute;
    left: -2px;
    top: -2px;
    width: 16px;
    height: 16px;
    box-sizing: content-box;
    cursor: pointer;
  }
  &:checked {
    &::before {
      margin: 0;
      border: 1px solid #066aab;
      box-shadow: 0 0 0 1px #066aab, 0px 1px 2px rgba(0, 0, 0, 0.15);
      outline: none;
    }
    &::after {
      border-top: none;
      border-right: none;
      height: calc(16px * 0.6);
      border-left: 4px solid #066aab;
      border-bottom: 4px solid #066aab;
      background-color: transparent;
      transform: translate(0, 1px) scale(0.5) rotate(-45deg);
      left: calc(-4px + 1px);
      top: calc(-3px + 1px);
    }
  }
}
.form_checkbox_label {
  color: var(--wpforms-label-color);
  font-weight: 400;
  font-style: normal;
  padding-inline-start: 8px;
  margin: 0;
  line-height: 1.3;
  font-size: 16px;
}
.form_privacy_text {
  margin-top: 15px;
  font-size: 14px;
  line-height: 17px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 3px;
  padding: 14px;
  height: 125px;
  overflow-y: scroll;
  overflow-x: hidden;
  letter-spacing: normal;
}
.form_valid {
  margin-left: 0.5em;
  font-weight: 700;
  color: #c00;
}
.form_error {
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  margin-top: 15px;
  color: #c00;
  padding: 0 0 0 5px;
  position: relative;
  &::before {
    mask-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2217%22%20height%3D%2215%22%20viewBox%3D%220%200%2017%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.0264%2012.3086L9.46387%200.90625C8.97168%200.0585938%207.68652%200.03125%207.19434%200.90625L0.631836%2012.3086C0.139648%2013.1562%200.768555%2014.25%201.78027%2014.25H14.8779C15.8896%2014.25%2016.5186%2013.1836%2016.0264%2012.3086ZM8.34277%209.92969C9.02637%209.92969%209.60059%2010.5039%209.60059%2011.1875C9.60059%2011.8984%209.02637%2012.4453%208.34277%2012.4453C7.63184%2012.4453%207.08496%2011.8984%207.08496%2011.1875C7.08496%2010.5039%207.63184%209.92969%208.34277%209.92969ZM7.13965%205.41797C7.1123%205.22656%207.27637%205.0625%207.46777%205.0625H9.19043C9.38184%205.0625%209.5459%205.22656%209.51855%205.41797L9.32715%209.13672C9.2998%209.32812%209.16309%209.4375%208.99902%209.4375H7.65918C7.49512%209.4375%207.3584%209.32812%207.33105%209.13672L7.13965%205.41797Z%22%20fill%3D%22currentColor%22%2F%3E%0A%3C%2Fsvg%3E%0A);
    content: "";
    position: relative;
    display: inline-block;
    right: 5px;
    top: 1.5px;
    width: 16px;
    height: 14px;
    background-color: #c00;
  }
}
.form_btn {
  height: 41px;
  background-color: #066aab;
  border-radius: 3px;
  border-style: none;
  border-color: #066aab;
  border-width: 1px;
  box-shadow: none;
  color: #fff;
  padding: 0 15px;
  font-family: inherit;
  font-weight: 500;
  font-size: 17px;
  line-height: 100%;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  position: relative;
  text-decoration: none;
  &:hover {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
      #066aab;
  }
}

.l-container {
  margin-inline: auto;
  max-width: calc(
    var(--container_size, 0px) + var(--padding_container, 0px) * 2
  );
  padding-inline: var(--padding_container, 0px);
}

/* ------------- */
/* Utility系 */
/* ------------- */
.px-0 {
  padding-inline: 0;
}
.py-40 {
  padding-block: 4em;
}
.py-60 {
  padding-block: 6em;
}
.mb-0 {
  margin-bottom: 0;
}
.mb-10 {
  margin-bottom: 1em;
}
.mb-20 {
  margin-bottom: 2em;
}
.mb-30 {
  margin-bottom: 3em;
}
.bg-gray {
  background-color: #f7f7f7;
}
.w-100 {
  width: 100% !important;
}
.h-100 {
  height: 100% !important;
}
.fs-25 {
  font-size: 1.25em;
}
.fs-12 {
  font-size: 1.2em;
}
.text-center {
  text-align: center;
}
.text-end {
  text-align: end;
}
.card_reset {
  margin: 0 !important;
  padding-inline: inherit !important;
}
.text_marker {
  padding: 2px;
  background: linear-gradient(transparent 64%, #ffddbc 0%);
}
.color-red {
  color: #c00;
}

.section_btn[data-btn-variation="blue"] {
  background-color: #0630af;
  color: #fff;
  font-size: 0.9em;
  font-weight: 700;
  line-height: normal;
  padding-block: 0.5em;
  padding-inline: 1em;
  border-radius: 0.25rem;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 0 4px 8px -4px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.25s;
  &:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1),
      0 12px 24px -12px rgba(0, 0, 0, 0.2);
    opacity: 1;
  }
}
.section_btn[data-btn-variation="red"] {
  text-align: center;
  a {
    position: relative;
    text-align: center;
    width: auto;
    border-radius: 4px;
    min-width: 40%;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.75em 1.5em;
    background-color: #f74a4a;
    color: #fff;
    box-shadow: 0 4px 0 rgba(185, 56, 56, 1);
    display: inline-block;
    transition: transform 0.25s, box-shadow 0.25s;
    &:hover {
      box-shadow: 0 0 0 transparent !important;
      transform: translate3d(0, 4px, 0);
    }
  }
}
.section_btn[data-btn-variation="cyan"] {
  text-align: center;
  a {
    position: relative;
    text-align: center;
    width: auto;
    border-radius: 4px;
    min-width: 40%;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.75em 1.5em;
    background-color: #27c4b2;
    color: #fff;
    box-shadow: 0 4px 0 rgba(29, 147, 134, 1);
    display: inline-block;
    transition: transform 0.25s, box-shadow 0.25s;
    &:hover {
      box-shadow: 0 0 0 transparent !important;
      transform: translate3d(0, 4px, 0);
    }
  }
}
.section_btn[data-btn-variation="white"] {
  width: 100%;
  text-align: center;
  margin-top: 2em;
  a {
    position: relative;
    text-align: center;
    width: auto;
    min-width: var(--width-btn);
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.8;
    padding: 0.75em 3em;
    background-color: #fff;
    color: #666666;
    box-shadow: 0 0 0 1px #dcdcdc;
    display: inline-block;
    transition: box-shadow 0.25s, background-color 0.25s;
    &::after {
      content: "\e930";
      font-family: icomoon;
      position: absolute;
      right: 1em;
      top: 50%;
      transform: translateY(-50%);
      transition: transform 0.25s;
    }
    &:hover {
      background-color: var(--color_main);
      box-shadow: none;
      color: #fff;
    }
  }
}

/* ------------- */
/* Icon系 */
/* ------------- */
.icon::before {
  font-family: icomoon;
  font-style: normal;
  font-variant: normal;
  font-size: inherit;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
}
.icon[icon="search"]::before {
  content: "\e92e";
}
.icon[icon="menu"]::before {
  content: "\e91b";
}
.icon[icon="close"]::before {
  content: "\e920";
}
.icon[icon="menu_list"]::before {
  content: "\e921";
  display: inline-block;
  left: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  vertical-align: middle;
}
.icon[icon="time"]::before {
  content: "\e931";
  margin-right: 0.25em;
}
.icon[icon="category"]::before {
  content: "\e92f";
  margin-right: 0.25em;
}
.icon[icon="microsoft"]::before {
  content: "\f3ca";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  font-size: 1.2em;
  margin-right: 0.5em;
}
.icon[icon="sitemap"]::before {
  content: "\f0e8";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.5em;
}
.icon[icon="building"]::before {
  content: "\f1ad";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.5em;
}
.icon[icon="book"]::before {
  content: "\e91a";
  margin-right: 0.5em;
}
.icon[icon="mail"]::before {
  content: "\e92c";
  margin-right: 0.5em;
}
.icon[icon="link"]::before {
  content: "\e9c5";
  margin-right: 0.5em;
}
.icon[icon="wrench"]::before {
  content: "\f7d9";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.5em;
}
.icon[icon="dollar"]::before {
  content: "\f4c0";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.5em;
}
.icon[icon="megaphone"]::before {
  content: "\e913";
  margin-right: 0.5em;
}
.icon[icon="triangle-right"]::before {
  content: "\f0da";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 18px;
  width: 100%;
  max-width: 1em;
  text-align: center;
  color: #0630af;
}
.icon[icon="home"]::before {
  content: "\e922";
}
.icon[icon="dollarmark"]::before {
  content: "\f157";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.icon[icon="arrow-up"]::before {
  content: "\e912";
}
.icon[icon="check"]::before {
  content: "\e923";
  color: #0630af;
  margin-right: 0.5em;
}
.icon[icon="database"]::before {
  content: "\f1c0";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.icon[icon="handshake"]::before {
  content: "\f2b5";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.icon[icon="money"]::before {
  content: "\e528";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.icon[icon="spin"]::before {
  content: "\e4bb";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.icon[icon="buildingH"]::before {
  content: "\e4da";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.icon[icon="hand"]::before {
  content: "\f4bd";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.c-blog_share {
  li[icon="facebook"] {
    &:hover {
      background-color: #3b5998;
      a::before {
        color: #fff;
      }
    }
  }
  li[icon="x"] {
    &:hover {
      background-color: #000;
      a::before {
        color: #fff;
      }
    }
  }
  li[icon="hatenablog"] {
    &:hover {
      background-color: #00a4de;
      a::before {
        color: #fff;
      }
    }
  }
  li[icon="getpoket"] {
    &:hover {
      background-color: #ef3f56;
      a::before {
        color: #fff;
      }
    }
  }
  li[icon="pinterest"] {
    &:hover {
      background-color: #bb0f23;
      a::before {
        color: #fff;
      }
    }
  }
  li[icon="line"] {
    &:hover {
      background-color: #00c300;
      a::before {
        color: #fff;
      }
    }
  }
}
.icon[icon="facebook"]::before {
  content: "\e901";
  font-size: 18px;
  color: #3b5998;
  margin: 0;
}
.icon[icon="x"]::before {
  content: "\e926";
  font-size: 18px;
  color: #000;
  margin: 0;
}
.icon[icon="hatenablog"]::before {
  content: "\e905";
  font-size: 18px;
  color: #00a4de;
  margin: 0;
}
.icon[icon="getpoket"]::before {
  content: "\e90a";
  font-size: 18px;
  color: #ef3f56;
  margin: 0;
}
.icon[icon="pinterest"]::before {
  content: "\e909";
  font-size: 18px;
  color: #bb0f23;
  margin: 0;
}
.icon[icon="line"]::before {
  content: "\e907";
  font-size: 18px;
  color: #00c300;
  margin: 0;
}

.section_img[data-img] {
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  min-height: 250px;
}
.section_img[data-img="price"] {
  background-image: url(./img/Surface-Laptop-4-4.jpg);
  background-position: 53% 100%;
}
.section_img[data-img="case"] {
  background-image: url(./img/surface-pro-8-components.jpg);
  background-position: 50% 50%;
}
.section_img[data-img="repair"] {
  background-image: url(./img/Attract_C_1185_RGB2600-scaled-1.jpg);
  background-position: 50% 50%;
}
.section_img[data-img="articles"] {
  background-image: url(./img/Feature_A_0006_RGB2000-scaled-1.jpg);
  background-position: 53% 34%;
}

.section_card[data-bg-variation="gray"] {
  background-color: #f7f7f7;
}
.section_card[data-bg-variation="blue"] {
  background-color: #f3f8fd;
}
.section_card[data-bg-variation="white"] {
  background-color: #fff;
}
.section_card[data-bg-variation="yellow"] {
  background-color: #fdf9ee;
}
.section_card[data-bg-variation="green"] {
  background-color: #f1f9ee;
}
.section_card[data-decoration="crease"]::before {
  background-color: inherit;
  border-color: #fdfdfd #fdfdfd rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);
  border-style: solid;
  border-width: 0 20px 20px 0;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
}
.section_card[data-decoration="note"]::before {
  border: 1px dashed hsla(0, 0%, 78%, 0.6);
  border-radius: inherit;
  content: "";
  display: block;
  height: calc(100% - 12px);
  left: 6px;
  pointer-events: none;
  position: absolute;
  top: 6px;
  width: calc(100% - 12px);
}

[data-spmenu="opened"] {
  overflow-y: hidden;
  touch-action: none;
  .l-spmenu_inner {
    transform: translateX(0);
  }
}
[data-spmenu="closed"] {
  .l-spmenu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition-delay: 1s;
    &::before {
      opacity: 0;
    }
  }
}
[data-scroll="true"] {
  .l-fixheader {
    opacity: 1;
    -webkit-transform: translateY(0) !important;
    transform: translateY(0) !important;
    visibility: visible;
  }
  .l-fixtopbtn {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
  }
  .l-fixfoot {
    bottom: 0;
  }
}
[data-serchmodal="opened"] {
  .l-searchmodal {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .l-searchmodal_inner {
    top: 50%;
  }
}
@media not all and (min-width: 1200px) {
  :root {
    --padding_container: 32px;
  }
}

@media (max-width: 1080px) {
  .header_gnav_link {
    padding: 0 8px;
  }
}

@media not all and (min-width: 1020px) {
  .searchlist_item {
    width: 50%;
  }
}

@media (min-width: 960px) {
  .l-fixfoot {
    bottom: -60px !important;
  }
}

@media not all and (min-width: 960px) {
  :root {
    --logo_size: 54px;
    --padding_content: 4vw;
  }
  .l-header {
    border-top: none;
    position: sticky;
    top: 0;
    z-index: 4;
  }
  .l-fixheader {
    display: none;
  }
  .l-header_inner {
    padding: 0;
  }
  .l-header__bar {
    display: none;
  }
  .l-header_gnav {
    display: none;
  }
  .l-header_logo {
    text-align: center;
    padding: 0 2vw;
    margin: 0;
  }
  .headerlogo_link {
    margin: 0;
  }
  .headerlogo_img {
    padding: 10px 0;
  }
  .l-header_btn {
    display: block;
    font-size: 24px;
  }
  .l-mainvisual_img {
    height: 50vh;
  }
  .sp-py-40 {
    padding-block: 4em;
  }
  .l-footer {
    padding-bottom: 50px;
  }
  .l-blog {
    grid-template-columns: 1fr;
  }
  .l-blogaside {
    display: none;
  }
}
@media (min-width: 600px) {
  .spmenu_title {
    font-size: 16px;
  }
}
@media not all and (min-width: 600px) {
  :root {
    --font_root: 3.6vw;
    --font_content: 3.8vw;
    --font_text: 3.2vw;
    --width-btn: 80%;
    --padding_container: 4vw;
  }
  .section_title {
    font-size: 1.2em;
  }
  .l-page {
    padding: calc(2.5 * 3.6vw) var(--padding_content) calc(4 * 3.8vw)
      var(--padding_content);
  }
  .page_title {
    font-size: 1.3em;
  }
  .l-mainvisual {
    padding: 8px;
  }
  .mainvisual_title {
    font-size: 5.5vw;
  }
  .l-section_column {
    width: 100%;
  }
  .section_news_date,
  .section_news_category {
    font-size: 10px;
  }
  .l-card {
    margin-block: -6rem 0;
    padding-inline: 1rem;
  }
  .grid_left {
    .section_card {
      margin-inline: 0;
    }
    grid-template-columns: 1fr !important;
  }
  .grid_right {
    .section_card {
      margin-inline: 0;
    }
    grid-template-columns: 1fr !important;
    .l-section_column:nth-child(1) {
      order: 1;
    }
    .l-section_column:nth-child(2) {
      order: 2;
    }
  }
  .l-footer_inner {
    margin-left: -2rem;
  }
  .footer_contents {
    width: calc(100% - 2rem);
  }
  .footer_foot_list_item {
    border-inline: none;
  }
  .footer_foot_list_link {
    display: block;
    font-size: 3vw;
    padding: 0.25em 0.5em;
  }
  .copyright {
    font-size: 12px;
  }
  .step_content {
    padding: 2em 1em;
  }
  .post_title {
    font-size: 1.2em;
    margin-inline: -2vw;
  }
  .step_title {
    font-size: 1.25em;
  }
  .link_span {
    bottom: 2px;
    right: 4px;
  }
  .link_text {
    display: none;
  }
  .link_img {
    width: 30%;
  }
  .tabs_title {
    font-size: 1.1em;
  }
  .post_title_sub {
    font-size: 1.1em;
  }
  .searchlist_item {
    width: 100%;
  }
  .l-form {
    max-width: 100%;
  }
}
