@charset "UTF-8";
/*変数で管理*/
/*ブレイクポイントの設定*/
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  font-family: "Helvetica Neue", "Helvetica", "Arial", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.618;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 0.75rem;
  border: none;
}

.img_c {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.img_fluid {
  width: 100%;
  height: auto;
}

address, i {
  font-style: normal;
}

.dis_ib {
  display: inline-block;
}

.tx_small {
  font-size: 0.667em;
  line-height: 1.414;
  display: inline-flex;
}

.tx_large {
  font-size: 1.618em;
  line-height: 1.414;
  display: inline-flex;
}

.tx_bold {
  font-weight: 700;
  font-size: inherit;
}

.tx_italic {
  font-style: italic;
  font-size: inherit;
}

.tx_palt {
  font-feature-settings: "palt";
}

.tx_l {
  text-align: left;
}

.tx_c {
  text-align: center;
}

.tx_r {
  text-align: right;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

.cfx:after {
  content: "";
  height: 0;
  display: block;
  clear: both;
  visibility: hidden;
}

.grid {
  display: grid;
  width: 100%;
  height: 100%;
}

.flex_wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
}

.flex_nowrap {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
}

.flex_col {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.jstfy_st {
  justify-content: flex-start;
}

.jstfy_en {
  justify-content: flex-end;
}

.jstfy_c {
  justify-content: center;
}

.jstfy_sa {
  justify-content: space-around;
}

.jstfy_sb {
  justify-content: space-between;
}

.jstfy_se {
  justify-content: space-evenly;
}

.align_sr {
  align-items: stretch;
}

.align_c {
  align-items: center;
}

.align_st {
  align-items: flex-start;
}

.align_ba {
  align-items: baseline;
}

.align_en {
  align-items: flex-end;
}

.ls_01em {
  letter-spacing: 0.1em;
}

.ls_02em {
  letter-spacing: 0.2em;
}

input,
textarea,
select {
  margin: 0;
  padding: 4px 8px;
  font-size: 16px;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  box-sizing: border-box;
  /*-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;*/
  border: 1px solid #ccc;
}

a,
button,
input,
select,
textarea,
a img {
  text-decoration: none;
  cursor: pointer;
}

ul,
ol,
li {
  margin: 0;
  padding: 0;
}

ul li,
nav li {
  list-style: none;
}

pre {
  white-space: pre-wrap;
}

h1 {
  font-weight: bold;
  line-height: 1.2;
  font-feature-settings: "palt";
}

h2, h3, h4, h5, h6 {
  font-weight: bold;
  line-height: 1.414;
  font-feature-settings: "palt";
}

h2 + .heading, h3 + .heading {
  line-height: 1.414;
  padding-bottom: 2em;
}

a:not(.cta_btn) {
  color: #45B035;
  transition: 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
a:not(.cta_btn):hover {
  color: #45B035;
  filter: saturate(120%);
  /* text-decoration: underline; */
}

a[target=_blank]:not(.cta_btn)::after {
  content: "";
  background: url(../images/icon_link.svg) 50% 50% no-repeat;
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-left: 0.2em;
}

body {
  position: relative;
  z-index: 1;
}

.lp_wrap {
  position: relative;
}

.lp_header {
  position: relative;
  z-index: 100;
  background-color: #7c7c7c;
}
.lp_header h1 {
  font-size: 20px;
  height: 32px;
}

.lp_contents .lp_eyecatch {
  transition: 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: #EAEAEA;
  height: calc(100vh - 32px);
  max-height: 720px;
  position: relative;
  overflow: hidden;
  padding: 24px 0;
}
.lp_contents .lp_eyecatch .lp_eyecatch_inner {
  margin-inline: auto;
  width: calc(100% - 16px);
  height: 100%;
  position: relative;
}
@media screen and (min-width:534px) and (max-width:767.98px) {
  .lp_contents .lp_eyecatch {
    padding: 32px 0;
  }
  .lp_contents .lp_eyecatch .lp_eyecatch_inner {
    width: calc(100% - 32px);
  }
}
@media screen and (min-width:768px) and (max-width:899.98px) {
  .lp_contents .lp_eyecatch {
    padding: 32px 0;
  }
  .lp_contents .lp_eyecatch .lp_eyecatch_inner {
    width: calc(100% - 48px);
  }
}
@media screen and (min-width:900px) and (max-width:1079.98px) {
  .lp_contents .lp_eyecatch {
    padding: 32px 0;
  }
  .lp_contents .lp_eyecatch .lp_eyecatch_inner {
    width: calc(100% - 64px);
  }
}
@media screen and (min-width:1080px) and (max-width:1279.98px) {
  .lp_contents .lp_eyecatch {
    padding: 48px 0;
  }
  .lp_contents .lp_eyecatch .lp_eyecatch_inner {
    width: calc(100% - 96px);
  }
}
@media screen and (min-width: 1280px) {
  .lp_contents .lp_eyecatch {
    padding: 48px 0;
  }
  .lp_contents .lp_eyecatch .lp_eyecatch_inner {
    max-width: 1200px;
  }
}
.lp_contents .lp_content {
  padding: 120px 0 96px;
  position: relative;
  overflow: hidden;
}
.lp_contents .lp_content:has(.section_footer) {
  padding-bottom: 0px;
}

.lp_footer {
  padding: 24px 0;
}

.lp_inner {
  margin-inline: auto;
  height: 100%;
  position: relative;
}

.breadcrumb {
  padding: 8px;
  width: 100%;
  max-width: 1280px;
  overflow-x: auto;
  margin: 96px auto 0;
}
.breadcrumb .inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
}
.breadcrumb .inner li:not(:last-child) {
  display: flex;
  align-items: center;
}
.breadcrumb .inner li:not(:last-child)::after {
  content: "";
  margin-right: 1em;
  position: relative;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid #999;
  border-top: 2px solid #999;
  transform: rotate(45deg);
}
.breadcrumb .inner li:not(:last-child) a {
  margin-right: 1em;
  color: #45b035;
  font-size: 12px;
}
.breadcrumb .inner li {
  font-size: 12px;
}

/*
ボタン
*/
.cta_box {
  position: relative;
  z-index: 100;
}

.cta_box-sticky {
  position: sticky;
  bottom: 0px;
}

.cta_box-blur::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  top: 25%;
  content: "";
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  -webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.049) 7.75%, rgba(255, 255, 255, 0.104) 11.25%, rgba(255, 255, 255, 0.45) 23.55%, rgba(255, 255, 255, 0.55) 26.45%, rgba(255, 255, 255, 0.896) 38.75%, rgba(255, 255, 255, 0.951) 42.25%, rgb(255, 255, 255) 50%);
          mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.049) 7.75%, rgba(255, 255, 255, 0.104) 11.25%, rgba(255, 255, 255, 0.45) 23.55%, rgba(255, 255, 255, 0.55) 26.45%, rgba(255, 255, 255, 0.896) 38.75%, rgba(255, 255, 255, 0.951) 42.25%, rgb(255, 255, 255) 50%);
}
.cta_box-blur::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  top: 50%;
  content: "";
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  -webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.049) 15.5%, rgba(255, 255, 255, 0.104) 22.5%, rgba(255, 255, 255, 0.45) 47.1%, rgba(255, 255, 255, 0.55) 52.9%, rgba(255, 255, 255, 0.896) 77.5%, rgba(255, 255, 255, 0.951) 91.9%, rgb(255, 255, 255) 100%);
          mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.049) 15.5%, rgba(255, 255, 255, 0.104) 22.5%, rgba(255, 255, 255, 0.45) 47.1%, rgba(255, 255, 255, 0.55) 52.9%, rgba(255, 255, 255, 0.896) 77.5%, rgba(255, 255, 255, 0.951) 91.9%, rgb(255, 255, 255) 100%);
  background: rgba(255, 255, 255, 0.8);
}

.cta_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  height: 3.236em;
  padding: 16px 48px;
  border-radius: 48px;
  min-width: 288px;
}

.cta_btn-ghost {
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  color: #212121;
  border: 2px solid #212121;
  transition: 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.cta_btn-ghost:hover {
  background-color: #212121;
  color: #FFFFFF;
  border: 2px solid #212121;
}

.cta_btn-flat {
  background-color: #212121;
  color: #FFFFFF;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.75);
  transition: 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.cta_btn-flat:hover {
  background-color: #5a5a5a;
  box-shadow: 0px 2px 16px -8px #212121 inset;
}

.cta_btn-shadow {
  background-color: #212121;
  color: #FFFFFF;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 4px 8px -4px #212121;
  transition: 0.24s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.cta_btn-shadow:hover {
  background-color: #5a5a5a;
  box-shadow: 0px 1px 4px -2px #212121, 0px 2px 16px -8px #212121 inset;
}

.inView {
  opacity: 0;
  position: relative;
  transition: 800ms ease-out 400ms;
}
.inView.delay_s {
  transition-delay: 800ms;
}
.inView.delay_m {
  transition-delay: 1200ms;
}
.inView.delay_l {
  transition-delay: 1600ms;
}
.inView.inView_up {
  transform: translateY(2vh);
}
.inView.inView_up.activated {
  transform: translateY(0vh);
}
.inView.inView_down {
  transform: translateY(-2vh);
}
.inView.inView_down.activated {
  transform: translateY(0vh);
}

/*グリッド・カード*/
.textbox {
  padding: 24px;
  word-break: break-all;
  text-align: justify;
  /*カード内の最後の要素はボトムマージン無し*/
}
.textbox img {
  margin-bottom: 8px;
}
.textbox p, .textbox div, .textbox ul, .textbox ol, .textbox table {
  margin-bottom: 8px;
}
.textbox p:not(:has(+ *)), .textbox div:not(:has(+ *)), .textbox ul:not(:has(+ *)), .textbox ol:not(:has(+ *)), .textbox table:not(:has(+ *)) {
  margin-bottom: 0;
}
.textbox picture:not(:has(+ *)) img {
  margin-bottom: 0;
}
.textbox .data_box {
  background-color: #EAEAEA;
  border: 1px solid #c2c2c2;
  padding: 16px;
}
.textbox .data_box p {
  font-size: 12px;
}

.card {
  background-color: #FFFFFF;
  position: relative;
  flex: auto;
}
.card img {
  width: 100%;
}

.card_shadow {
  box-shadow: 0px 0px 16px -8px #6f6f6f;
}

.card_border {
  border: 1px solid #c2c2c2;
}

.with_frame {
  padding: 24px;
}

.with_frame-nobottom {
  padding-bottom: 0;
}

.with_shadow {
  box-shadow: 0px 0px 16px -8px #6f6f6f;
}

.with_border {
  border: 1px solid #c2c2c2;
}

.card_vertical .img_frame {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card_vertical .img_frame picture {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card_vertical .img_frame img {
  width: 100%;
  height: auto;
  flex: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.card_vertical .textbox {
  flex: auto;
}

.card_vertical-sp_horizon .img_frame picture {
  height: auto;
}

.swiper_singlecard {
  max-width: 800px;
  margin-inline: auto;
  position: relative;
}

.swiper-button-prev,
.swiper-button-next {
  background-color: #5a5a5a;
  width: 44px;
  height: 44px;
  border-radius: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0px;
  background-position: center center;
  background-size: 10px;
  box-shadow: 0px 0px 8px -4px #000;
}

.swiper-button-prev {
  left: -24px;
  background-image: url(../images/icon_prev.svg);
}

.swiper-button-next {
  right: -24px;
  background-image: url(../images/icon_next.svg);
}

.pc_alt_l_r {
  max-width: 800px;
  margin-inline: auto;
}

.img_frame {
  position: relative;
}

.section_footer {
  padding: 64px 0;
  margin-top: 96px;
}
.section_footer .lp_inner {
  max-width: 800px;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.faq_box {
  max-width: 800px;
  margin-inline: auto;
}

details {
  box-shadow: 0px 0px 16px -8px #6f6f6f;
  background-color: #FFFFFF;
}
details:not(:last-child) {
  margin-bottom: 32px;
}

summary {
  display: block;
  background-color: #EAEAEA;
}

summary::-webkit-details-marker {
  display: none;
}

.summary_inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px 0 0;
}
.summary_inner h3 {
  height: 2.618em;
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
  padding: 0 12px;
}
.summary_inner h3::before {
  content: "Q.";
  margin-right: 0.618em;
}
.summary_inner .icon {
  width: 16px;
  height: 16px;
  background: url(../images/icon_accordion.svg) 50% 50% no-repeat;
  transition: transform 0.4s;
}

/* アコーディオンが開いた時のスタイル */
details[open] .icon {
  transform: rotateX(180deg);
}

/* --------アコーディオンの中身のスタイル-------- */
.faq_content {
  overflow: hidden;
}

.faq_content_inner {
  padding: 24px 16px 24px 40px;
  position: relative;
}
.faq_content_inner::before {
  content: "A.";
  position: absolute;
  top: 20px;
  left: 12px;
  font-size: 16px;
  font-weight: bold;
}
.faq_content_inner img {
  margin-bottom: 8px;
}
.faq_content_inner p, .faq_content_inner div, .faq_content_inner ul, .faq_content_inner ol, .faq_content_inner table {
  margin-bottom: 8px;
}
.faq_content_inner p:not(:has(+ *)), .faq_content_inner div:not(:has(+ *)), .faq_content_inner ul:not(:has(+ *)), .faq_content_inner ol:not(:has(+ *)), .faq_content_inner table:not(:has(+ *)) {
  margin-bottom: 0;
}
.faq_content_inner picture:not(:has(+ *)) img {
  margin-bottom: 0;
}

.alltime_open .faq_detail {
  pointer-events: none;
}

/* モーダルCSSここから */
.modalArea {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.48s cubic-bezier(0.79, 0.21, 0.06, 0.81);
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  max-width: 500px;
  padding: 10px 30px;
  background-color: #fff;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
}

.is-show { /* モーダル表示用クラス */
  visibility: visible;
  opacity: 1;
  transition: 0.1s;
}

/* モーダルCSSここまで */
/* 以下ボタンスタイル */
button {
  padding: 10px;
  background-color: #fff;
  border: 1px solid #282828;
  border-radius: 2px;
  cursor: pointer;
}

#openModal {
  display: flex;
  margin-inline: auto;
}

/*ブレイクポイント*/
/*固定するのは.lp_innerのwidth
■スマホ sp
*/
@media screen and (max-width:533.98px) {
  .hidden_sp_all {
    display: none !important;
  }
  h1 {
    font-size: 32px;
  }
  h2 {
    font-size: 20px;
    margin-bottom: 32px;
  }
  h3 {
    font-size: 16px;
    margin-bottom: 4px;
  }
  h4, h5, h6 {
    font-size: 14px;
    margin-bottom: 4px;
  }
  p, li, a, table, dl, address, div, form {
    font-size: 12px;
  }
  .cta_box {
    padding: 32px 0;
  }
  .cta_set {
    gap: 24px;
  }
  .cta_btn {
    width: 80%;
    padding: 0;
  }
  .flex_col-sp {
    flex-direction: column;
  }
  .card_vertical {
    grid-template-columns: 144px 1fr;
  }
  .card_vertical-sp_horizon {
    grid-template-columns: 1fr;
  }
  .pc_column_5 {
    gap: 48px;
  }
  .pc_column_5 .flex_item {
    width: 80%;
    max-width: 240px;
  }
  .pc_column_5 .flex_item .textbox {
    padding: 8px 0 0;
  }
  .pc_column_5 .flex_item .textbox p {
    font-size: 10px;
  }
  .pc_column_3 {
    gap: 32px;
  }
  .pc_column_3 .flex_item {
    width: 100%;
  }
  .pc_column_2 {
    gap: 32px;
  }
  .pc_column_2 .flex_item {
    width: 100%;
  }
  .pc_column_1 {
    gap: 32px;
    flex-direction: column;
  }
  .pc_column_1 .flex_item {
    width: 100%;
  }
  .pc_column_1 .card_vertical {
    display: flex;
    flex-direction: column;
  }
  .swiper_singlecard .pc_column_1 {
    gap: 0;
    flex-direction: row;
  }
  .swiper_singlecard .pc_column_1 .flex_item {
    width: 100%;
  }
  .swiper_singlecard .pc_column_1 .card_vertical {
    display: flex;
    flex-direction: column;
  }
  .pc_alt_l_r {
    gap: 64px;
  }
  .pc_alt_l_r_box .textbox {
    padding: 16px 0 0;
  }
  .img_frame-edge {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .img_frame-edge img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% + 32px);
    max-width: none;
    left: -32px;
  }
  .img_frame-edge + .textbox {
    padding-top: 28px;
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame-edge img {
    left: auto;
    right: -32px;
  }
  .logo_marks {
    /* 画像のサイズ調整 */
  }
  .logo_marks .logo_list {
    padding: 32px 0 64px;
    gap: 24px 32px;
  }
  .logo_marks .logo_list li img {
    width: 120px;
  }
  .logo_marks .swiper-wrapper {
    transition-timing-function: linear;
  }
  .logo_marks .swiper-slide img {
    width: auto;
    height: 27px;
  }
  .logo_marks .logo_carousel {
    padding: 32px 0 64px;
  }
}
@media screen and (max-width:374.98px) {
  .hidden_sp_s {
    display: none !important;
  }
  .lp_inner {
    width: calc(100% - 32px);
  }
}
@media screen and (min-width:375px) and (max-width:390.98px) {
  .hidden_sp_m {
    display: none !important;
  }
  .lp_inner {
    width: calc(100% - 48px);
  }
}
@media screen and (min-width:391px) and (max-width:533.98px) {
  .hidden_sp_l {
    display: none !important;
  }
  .lp_inner {
    width: calc(100% - 64px);
  }
}
/*
■タブレット tab
*/
@media screen and (min-width:534px) and (max-width:899.98px) {
  .hidden_tab_all {
    display: none !important;
  }
  h1 {
    font-size: 64px;
  }
  h2 {
    font-size: 28px;
    margin-bottom: 32px;
  }
  h3 {
    font-size: 20px;
    margin-bottom: 8px;
  }
  h4, h5, h6 {
    font-size: 16px;
    margin-bottom: 4px;
  }
  p, li, a, table, dl, address, div, form {
    font-size: 14px;
  }
  .faq_content_inner {
    padding-left: 48px;
  }
  .faq_content_inner::before {
    font-size: 20px;
    left: 14px;
  }
  .faq_content_inner img {
    margin-bottom: 12px;
  }
  .faq_content_inner p, .faq_content_inner div, .faq_content_inner ul, .faq_content_inner ol, .faq_content_inner table {
    margin-bottom: 12px;
  }
  .faq_content_inner p:not(:has(+ *)), .faq_content_inner div:not(:has(+ *)), .faq_content_inner ul:not(:has(+ *)), .faq_content_inner ol:not(:has(+ *)), .faq_content_inner table:not(:has(+ *)) {
    margin-bottom: 0;
  }
  .faq_content_inner picture:not(:has(+ *)) img {
    margin-bottom: 0;
  }
  .textbox img {
    margin-bottom: 12px;
  }
  .textbox p, .textbox div, .textbox ul, .textbox ol, .textbox table {
    margin-bottom: 12px;
  }
  .textbox p:not(:has(+ *)), .textbox div:not(:has(+ *)), .textbox ul:not(:has(+ *)), .textbox ol:not(:has(+ *)), .textbox table:not(:has(+ *)) {
    margin-bottom: 0;
  }
  .textbox picture:not(:has(+ *)) img {
    margin-bottom: 0;
  }
  .cta_box {
    padding: 48px 0;
  }
  .cta_box-blur {
    padding: 24px 0;
  }
  .cta_set {
    gap: 32px;
  }
  .cta_btn {
    min-width: auto;
    font-size: 20px;
    height: 3em;
  }
  .pc_column_5 {
    gap: 64px;
  }
  .pc_column_5 .flex_item {
    width: 160px;
  }
  .pc_column_5 .flex_item .textbox {
    padding: 16px 0 0;
  }
  .pc_column_5 .flex_item .textbox p {
    font-size: 10px;
  }
  .pc_column_3 {
    gap: 48px 32px;
  }
  .pc_column_3 .flex_item {
    width: calc(50% - 16px);
  }
  .pc_column_1 {
    gap: 48px;
  }
  .pc_column_1 .flex_item {
    width: 100%;
    max-width: 800px;
  }
  .pc_alt_l_r {
    gap: 32px;
  }
  .pc_alt_l_r_box .img_frame {
    width: 39%;
  }
  .pc_alt_l_r_box .textbox {
    width: calc(61% - 32px);
    padding: 0;
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame {
    order: 2;
  }
  .pc_alt_l_r_box:has(.img_frame-edge) {
    padding: 24px 0;
  }
  .img_frame-edge {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .img_frame-edge img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% + 32px);
    max-width: none;
    left: -32px;
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame-edge img {
    left: auto;
    right: -32px;
  }
  .logo_marks {
    /* 画像のサイズ調整 */
  }
  .logo_marks .logo_list {
    padding: 32px 0 64px;
    gap: 32px 48px;
  }
  .logo_marks .logo_list li img {
    width: auto;
    height: 31px;
  }
  .logo_marks .swiper-wrapper {
    transition-timing-function: linear;
  }
  .logo_marks .swiper-slide img {
    height: auto;
    width: 100%;
  }
  .logo_marks .logo_carousel {
    padding: 32px 0 64px;
  }
  .swiper_singlecard .pc_column_1 {
    gap: 0;
    flex-direction: row;
  }
  .swiper_singlecard .pc_column_1 .flex_item {
    width: 100%;
  }
}
@media screen and (min-width:534px) and (max-width:767.98px) {
  .hidden_tab_s {
    display: none !important;
  }
  .lp_inner {
    width: calc(100% - 64px);
  }
  .card_vertical {
    grid-template-columns: 160px 1fr;
  }
  .card_vertical-sp_horizon {
    grid-template-columns: 1fr;
  }
  .pc_column_2 {
    gap: 32px;
  }
  .pc_column_2 .flex_item {
    width: 100%;
  }
  .tab_column_2 {
    gap: 32px;
  }
  .tab_column_2 .flex_item {
    width: calc(50% - 16px);
  }
  .pc_column_1 .card_vertical {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width:768px) and (max-width:899.98px) {
  .hidden_tab_m {
    display: none !important;
  }
  .lp_inner {
    width: 704px;
  }
  .card_vertical {
    grid-template-columns: 144px 1fr;
  }
  .card_vertical-sp_horizon {
    grid-template-columns: 1fr;
    grid-template-rows: max-content;
  }
  .pc_column_2 {
    gap: 32px;
  }
  .pc_column_2 .flex_item {
    width: calc(50% - 16px);
  }
  .pc_column_1 .card_vertical {
    grid-template-columns: 200px 1fr;
  }
  .img_frame-edge img {
    width: calc(100% + 32px);
    left: -32px;
    width: calc(100% + (100vw - 704px) / 2);
    left: calc(0px - (100vw - 704px) / 2);
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame-edge img {
    right: calc(0px - (100vw - 704px) / 2);
  }
  .wide_order-1 {
    order: 1;
  }
  .wide_order-2 {
    order: 2;
  }
  .wide_order-3 {
    order: 3;
  }
  .wide_order-4 {
    order: 4;
  }
  .wide_order-5 {
    order: 5;
  }
  .wide_order-6 {
    order: 6;
  }
}
/*
■パソコン pc
*/
@media screen and (min-width:900px) {
  .hidden_pc_all {
    display: none !important;
  }
  h1 {
    font-size: 80px;
  }
  h2 {
    font-size: 32px;
    margin-bottom: 48px;
  }
  h3 {
    font-size: 24px;
    margin-bottom: 12px;
  }
  h4, h5, h6 {
    font-size: 16px;
    margin-bottom: 4px;
  }
  p, li, a, table, dl, address, div, form {
    font-size: 14px;
  }
  .faq_content_inner {
    padding-left: 52px;
  }
  .faq_content_inner::before {
    font-size: 24px;
    left: 14px;
  }
  .faq_content_inner p {
    font-size: 16px;
  }
  .faq_content_inner img {
    margin-bottom: 16px;
  }
  .faq_content_inner p, .faq_content_inner div, .faq_content_inner ul, .faq_content_inner ol, .faq_content_inner table {
    margin-bottom: 16px;
  }
  .faq_content_inner p:not(:has(+ *)), .faq_content_inner div:not(:has(+ *)), .faq_content_inner ul:not(:has(+ *)), .faq_content_inner ol:not(:has(+ *)), .faq_content_inner table:not(:has(+ *)) {
    margin-bottom: 0;
  }
  .faq_content_inner picture:not(:has(+ *)) img {
    margin-bottom: 0;
  }
  .textbox img {
    margin-bottom: 16px;
  }
  .textbox p, .textbox div, .textbox ul, .textbox ol, .textbox table {
    margin-bottom: 16px;
  }
  .textbox p:not(:has(+ *)), .textbox div:not(:has(+ *)), .textbox ul:not(:has(+ *)), .textbox ol:not(:has(+ *)), .textbox table:not(:has(+ *)) {
    margin-bottom: 0;
  }
  .textbox picture:not(:has(+ *)) img {
    margin-bottom: 0;
  }
  .wide_order-1 {
    order: 1;
  }
  .wide_order-2 {
    order: 2;
  }
  .wide_order-3 {
    order: 3;
  }
  .wide_order-4 {
    order: 4;
  }
  .wide_order-5 {
    order: 5;
  }
  .wide_order-6 {
    order: 6;
  }
  .cta_box {
    padding: 64px 0;
  }
  .cta_box-sticky {
    bottom: -32px;
  }
  .cta_set {
    gap: 48px;
  }
  .cta_btn {
    min-width: 320px;
    font-size: 24px;
    height: 3em;
  }
  .pc_column_5 {
    gap: 64px;
  }
  .pc_column_5 .flex_item {
    width: 176px;
  }
  .pc_column_5 .flex_item .textbox {
    padding: 24px 0 0;
  }
  .pc_column_5 .flex_item .textbox p {
    font-size: 12px;
  }
  .pc_column_3 {
    gap: 48px;
  }
  .pc_column_3 .flex_item {
    width: calc(33% - 30px);
  }
  .pc_column_2 {
    gap: 48px;
  }
  .pc_column_2 .flex_item {
    width: calc(50% - 24px);
  }
  .pc_column_1 {
    gap: 48px;
  }
  .pc_column_1 .flex_item {
    width: 100%;
    max-width: 800px;
  }
  .pc_column_1 .card_vertical {
    grid-template-columns: 304px 1fr;
  }
  .swiper_singlecard .pc_column_1 {
    gap: 0;
    flex-direction: row;
  }
  .swiper_singlecard .pc_column_1 .flex_item {
    width: 100%;
    max-width: none;
  }
  .pc_alt_l_r {
    gap: 48px;
  }
  .pc_alt_l_r_box .img_frame {
    width: 34%;
  }
  .pc_alt_l_r_box .textbox {
    width: calc(66% - 48px);
    padding: 0;
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame {
    order: 2;
  }
  .pc_alt_l_r_box:has(.img_frame-edge) {
    padding: 6vw 0;
  }
  .img_frame-edge img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% + (100vw - 800px) / 2);
    max-width: none;
    left: calc(0px - (100vw - 800px) / 2);
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame-edge img {
    left: auto;
    right: calc(0px - (100vw - 800px) / 2);
  }
  .logo_marks {
    /* 画像のサイズ調整 */
  }
  .logo_marks .logo_list {
    padding: 32px 0 64px;
    gap: 48px 64px;
  }
  .logo_marks .logo_list li img {
    width: auto;
    height: 40px;
  }
  .logo_marks .swiper-wrapper {
    transition-timing-function: linear;
  }
  .logo_marks .swiper-slide img {
    height: auto;
    width: 100%;
  }
  .logo_marks .logo_carousel {
    padding: 32px 0 64px;
  }
  .card_vertical {
    grid-template-columns: 200px 1fr;
  }
  .card_vertical-sp_horizon {
    grid-template-columns: 1fr;
    grid-template-rows: max-content;
  }
  .swiper-button-prev {
    left: -64px;
  }
  .swiper-button-next {
    right: -64px;
  }
}
@media screen and (min-width:900px) and (max-width:1079.98px) {
  .hidden_pc_s {
    display: none !important;
  }
  .lp_inner {
    width: 836px;
  }
}
@media screen and (min-width:1080px) and (max-width:1279.98px) {
  .hidden_pc_m {
    display: none !important;
  }
  .lp_inner {
    width: 1000px;
  }
  .card_vertical-sp_horizon {
    grid-template-columns: 200px 1fr;
    grid-template-rows: auto;
  }
  .card_vertical-sp_horizon .img_frame picture {
    height: 100%;
  }
  .pc_column_5 {
    gap: 48px;
  }
  .pc_column_5 .flex_item {
    width: 160px;
  }
  .pc_column_1 .flex_item {
    max-width: none;
  }
}
@media screen and (min-width: 1280px) {
  .hidden_pc_l {
    display: none !important;
  }
  .lp_inner {
    width: 1200px;
  }
  .card_vertical-sp_horizon {
    grid-template-columns: 200px 1fr;
    grid-template-rows: auto;
  }
  .card_vertical-sp_horizon .img_frame picture {
    height: 100%;
  }
  .pc_column_5 {
    gap: 24px;
  }
  .pc_column_5 .flex_item {
    width: 176px;
  }
  .pc_column_2 {
    gap: 64px;
  }
  .pc_column_2 .flex_item {
    width: calc(50% - 32px);
  }
  .pc_column_1 .flex_item {
    max-width: none;
  }
  .pc_alt_l_r_box:has(.img_frame-edge) {
    padding: 96px 0;
  }
  .img_frame-edge img {
    width: 478px;
    left: -200px;
  }
  .pc_alt_l_r_box:nth-child(even) .img_frame-edge img {
    right: -200px;
  }
}/*# sourceMappingURL=base.css.map */