/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, i, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
button, input, textarea, select, i {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  line-height: 1.5;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 2rem;
  line-height: 1.5;
  background: #F8FBFC;
  color: #171A1D;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 4rem;
  }
}

ul, li {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

a {
  backface-visibility: hidden;
  transition: .2s ease-in;
  transition-property: opacity, color, border, background, transform, box-shadow;
  opacity: 1;
  line-height: inherit;
}

img {
  vertical-align: middle;
}

img,
input[type="image"] {
  border: 0;
  height: auto;
  max-width: 100%;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: inherit;
  letter-spacing: inherit;
  background: none;
}

strong {
  font-weight: bold;
}

a {
  text-decoration: none;
}

a:hover,
input[type="image"]:hover {
  opacity: 0.7;
}

p {
  line-height: inherit;
}

p * {
  line-height: inherit;
}

main {
  overflow: hidden;
}

.m_ft {
  font-family: 'Noto Serif JP', serif;
}

.ft_e {
  font-family: 'Montserrat', sans-serif;
}

/*--------------------------------------------------------------
Component
--------------------------------------------------------------*/
.evt {
  visibility: hidden;
}

.c_anchor {
  position: absolute;
  width: 100%;
  left: 0;
  margin-top: -9rem;
}

@media screen and (max-width: 767px) {
  .c_anchor {
    margin-top: -12rem;
  }
}

.c_ttl {
  text-align: center;
  color: #0D3776;
  letter-spacing: .1em;
  font-size: 3.6rem;
  line-height: 1.94;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .c_ttl {
    font-size: 5rem;
    letter-spacing: .05em;
    line-height: 1.8;
  }
}

.c_ttl em {
  color: #D41680;
  font-size: 1.388em;
  letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
  .c_ttl em {
    font-size: 6rem;
  }
}

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(2rem);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.fadeIn {
  animation-name: fadeIn;
}

/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_wrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .u_inner {
    width: 130rem;
    max-width: calc(100% - 4rem);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .u_inner {
    margin: 0 3rem;
  }
}

html {
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 1440px) {
  html {
    font-size: calc(100vw * 10 / 1440);
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw * 10 / 750);
  }
}

.u_clearfix:after,
.u_clearfix > li:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

* html .u_clearfix,
* html .u_clearfix > li {
  zoom: 1;
}

* + html .u_clearfix,
* + html .u_clearfix li {
  zoom: 1;
}

.u_switch_img {
  opacity: 1;
}

.u_relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .u_visible_sp {
    display: none;
  }
  .u_tel {
    pointer-events: none;
    cursor: default;
  }
  .u_tel:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .u_visible_pc {
    display: none;
  }
}

/*--------------------------------------------------------------
Layout/PageBase
--------------------------------------------------------------*/
#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 66;
  height: 9rem;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  #header {
    height: 12rem;
  }
}

.h_logo {
  position: absolute;
  left: 4rem;
  top: 2rem;
}

@media screen and (min-width: 1500px) {
  .h_logo {
    left: 9rem;
  }
}

@media screen and (max-width: 767px) {
  .h_logo {
    left: 3rem;
    top: 3.6rem;
  }
}

.h_logo a {
  display: block;
}

.h_logo img {
  width: 24.3rem;
  display: block;
}

.h_nav {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .h_nav {
    display: flex;
    margin-right: 4rem;
    justify-content: flex-end;
    padding-top: 3.1rem;
    gap: 1.2em;
  }
}

@media screen and (min-width: 1500px) {
  .h_nav {
    margin-right: 9rem;
  }
}

.h_nav a {
  display: inline-block;
  border-bottom: solid .2rem transparent;
}

@media screen and (max-width: 767px) {
  .h_nav a {
    border-width: .3rem;
  }
}

.h_nav a:hover {
  opacity: 1;
  border-color: #D41680;
  color: #D41680;
}

@media screen and (max-width: 767px) {
  .h_nav a:hover {
    border-color: #fff;
    color: inherit;
  }
}

@media screen and (max-width: 767px) {
  .h_nav {
    color: #fff;
    padding: 8rem 3rem 7rem;
  }
  .h_nav li {
    font-size: 4.4rem;
  }
  .h_nav li + li {
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  #toggle_menu {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .h_menu {
    position: absolute;
    right: 0;
    top: 0;
    width: 12.1rem;
    cursor: pointer;
  }
  .h_menu img {
    display: block;
    position: absolute;
  }
  .h_menu .close {
    opacity: 0;
  }
  body.open .h_menu .open {
    opacity: 0;
  }
  body.open .h_menu .close {
    opacity: 1;
  }
  #toggle_menu {
    display: none;
    position: fixed;
    top: 12rem;
    z-index: 9;
    right: 0;
    width: 65.5rem;
    transition: transform .2s ease-in;
    overflow-y: auto;
    transform: translateX(100%);
    background: #0D3776;
    height: calc(100% - 55rem);
  }
  body.open #toggle_menu {
    transform: none;
  }
}

#gototop {
  position: fixed;
  right: 2.2rem;
  bottom: 17em;
  z-index: 60;
}

@media screen and (max-width: 767px) {
  #gototop {
    bottom: 30.2rem;
  }
}

#gototop img {
  width: 13.3rem;
}

#footer {
  background: #0D3776;
  position: relative;
}

@media screen and (min-width: 768px) {
  #footer {
    font-size: 1rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1920px) {
  #footer {
    font-size: calc(100vw * 10 / 1920);
  }
}

.f_contact > p {
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 3em;
  letter-spacing: .1em;
  line-height: 1.93;
}

@media screen and (max-width: 767px) {
  .f_contact > p {
    font-size: 4rem;
    line-height: 1.75;
    padding: 7rem 0 11.3rem;
  }
}

@media screen and (max-width: 767px) {
  .f_contact {
    position: relative;
  }
  .f_contact .c_contact a {
    font-size: 4.8rem;
    line-height: 1.2;
    height: 17.8rem;
    padding-left: 16rem;
  }
  .f_contact .c_contact a:after {
    width: 7rem;
    right: .8em;
  }
  .f_contact .c_contact i {
    font-size: 3.8rem;
  }
  .f_contact .c_contact .mail a {
    height: 22.8rem;
  }
  .f_contact .c_contact .icon {
    position: absolute;
    width: 33.4rem;
    top: -5rem;
    margin-left: -1rem;
    z-index: 3;
  }
}

@media screen and (min-width: 768px) {
  .f_contact {
    width: 70.9%;
    margin-left: auto;
    padding-top: 3em;
  }
  .f_contact .c_contact {
    padding: 0 14.5em;
    gap: 4em;
    margin: 3.5em 0 4em;
    flex-flow: row-reverse;
  }
}

.f_tel {
  background: #fff;
  color: #0D3776;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .f_tel {
    display: flex;
    align-items: center;
    padding: 2.2em 0 2.8em;
    padding-left: 34.687%;
    margin-bottom: 4em;
  }
  .f_tel > p {
    font-size: 3em;
    letter-spacing: .1em;
  }
}

.f_tel dl {
  text-align: center;
}

.f_tel dt {
  font-size: 2.6em;
  letter-spacing: .05em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .f_tel dt {
    font-size: 3rem;
    padding-top: 4rem;
    margin-bottom: .6em;
  }
}

.f_tel dd a {
  display: inline-block;
  font-size: 6.8em;
  background: url(../img/f_tel.svg) no-repeat left 0.35em/0.97em;
  padding-left: 1.4em;
}

@media screen and (max-width: 767px) {
  .f_tel dd a {
    font-size: 6.8rem;
  }
}

.f_tel dd p {
  font-size: 2.6em;
}

@media screen and (min-width: 768px) {
  .f_tel dd p {
    display: flex;
    justify-content: center;
    gap: .5em;
  }
}

@media screen and (max-width: 767px) {
  .f_tel dd p {
    font-size: 4rem;
  }
  .f_tel dd p small {
    display: block;
    letter-spacing: .05em;
    margin-top: .3em;
  }
}

.f_img,
.f_contact picture {
  position: absolute;
  bottom: 8.25rem;
  left: 0;
  width: 31.448%;
}

@media screen and (min-width: 1471px) and (max-width: 1893px) {
  .f_img,
  .f_contact picture {
    bottom: 8.75rem;
  }
}
@media screen and (min-width: 1894px) {
  .f_img,
  .f_contact picture {
    bottom: 9.25rem;
  }
}
@media screen and (max-width: 767px) {
  .f_img,
  .f_contact picture {
    z-index: 2;
    bottom: 0;
    width: 31.26rem;
  }
}

.f_copy {
  text-align: center;
  font-size: 1.5rem;
  padding: 1em;
  background: #F9FBFC;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .f_copy {
    font-size: 1.4rem;
    padding: 1.4em;
  }
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
.lp_main {
  position: relative;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .lp_main {
    margin-top: 12rem;
  }
}

.lp_main > img,
.lp_main > picture {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .lp_main .lp_cv {
    position: absolute;
    width: 100%;
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .lp_main .c_contact {
    display: flex;
  }
  .lp_main .c_contact li {
    width: 50%;
  }
  .lp_main .c_contact a {
    line-height: 1.136;
    /*height: 21rem;*/
    height: 11rem;
    font-size: 4.4rem;
    /*padding-top: 1rem;*/
    letter-spacing: .05em;
    justify-content: left;
    padding-left: .5em;
  }
  .lp_main .c_contact a i {
    font-size: 4rem;
  }
  .lp_main .c_contact a:after {
    font-size: 3rem;
    top: auto;
    /*bottom: .65em;*/
    bottom: .9em;
    height: auto;
    aspect-ratio: 1 / 1;
    /*right: calc(50% - 4em);*/
    right: .5em;
  }
  .lp_main .c_contact .icon {
    /*width: 29rem;*/
    width: 18rem;
    display: block;
    /*margin: -2.2rem auto .5rem;*/
    margin: -1rem auto .5rem;
  }
}

.lp_cv {
  text-align: center;
  background: #fff;
  width: 100%;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .lp_cv {
    position: fixed;
    z-index: 65;
  }
  .lp_cv .catch, .lp_cv .lead {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .lp_cv {
    display: flex;
    flex-flow: row-reverse;
    font-size: 1rem;
    box-shadow: 0px -4px 6px rgba(20, 29, 36, 0.16);
  }
}

@media screen and (min-width: 768px) and (max-width: 1920px) {
  .lp_cv {
    font-size: calc(100vw * 10 / 1920);
  }
}

@media screen and (min-width: 768px) {
  .lp_cv dl {
    width: 37.76%;
    height: 25em;
    padding-top: 3.5em;
  }
  .lp_cv .r {
    width: 62.24%;
    padding: 0 7em;
  }
  .lp_cv .catch {
    position: relative;
    top: -2.6em;
    margin-bottom: -2em;
  }
  .lp_cv .catch img {
    width: 73.9em;
  }
  .lp_cv .lead {
    font-size: 2.5em;
    font-weight: bold;
    color: #0D3776;
    margin-bottom: 1em;
  }
  .lp_cv .lead em {
    color: #D41680;
  }
}

.lp_cv dl {
  background: #0D3776;
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .lp_cv dl {
    /*padding: 2.5rem 0;*/
    padding: 1rem 0 1.5rem;
  }
}

.lp_cv dt {
  font-size: 3em;
  letter-spacing: .1em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .lp_cv dt {
    font-size: 3rem;
    letter-spacing: .05em;
  }
}

.lp_cv dd a {
  display: inline-block;
  font-size: 6.8em;
  background: url(../img/ico_tel01.svg) no-repeat left 0.35em/0.97em;
  color: #FFEE26;
  padding-left: 1.2em;
}

@media screen and (max-width: 767px) {
  .lp_cv dd a {
    font-size: 6rem;
    padding-left: 1.4em;
    letter-spacing: .05em;
    background: url(../img/ico_tel01.svg) no-repeat left 0.22em/0.7em;
    position: relative;
  }
  .lp_cv dd a:before {
    content:"";
    width: 10rem;
    height: 10rem;
    border: 1px solid #FFEE26;
    border-radius: 50%;
    position: absolute;
    left: -2.8rem;
    bottom: -1rem;
  }
  .lp_cv dd a:after {
    content:"タップで電話";
    width: 8rem;
    height: 3rem;
    font-size: 1.4rem;
    position: absolute;
    left: -1.5rem;
    bottom: -.2rem;
    line-height: 1.1;
  }
}

.lp_cv dd p {
  display: flex;
  justify-content: center;
  font-size: 2.3em;
  gap: .5em;
  margin-top: .4em;
}

@media screen and (max-width: 767px) {
  .lp_cv dd p {
    /*font-size: 3rem;*/
    font-size: 2.4rem;
    /*margin-top: 0;*/
    margin-top: .5em;
    letter-spacing: .1em;
  }
}

.c_contact {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c_contact {
    display: flex;
    gap: 3.5em;
  }
  .c_contact li {
    width: 50%;
  }
  .c_contact .icon {
    position: absolute;
    width: 9.133em;
    top: -1.5em;
    right: -1.5em;
  }
}

@media screen and (min-width: 768px) and (max-width: 1920px) {
  .c_contact {
    font-size: calc(100vw * 10 / 1920);
  }
}

.c_contact li {
  position: relative;
}

@media screen and (min-width: 768px) {
  .c_contact li {
    background: linear-gradient(#008c3f 0%, #d2dc00 100%);
    border-radius: 1.8rem;
    padding: .5em;
  }
}

.c_contact a {
  background: linear-gradient(360deg, #008c3f 0%, #d2dc00 100%);
  display: block;
  height: 3.43em;
  line-height: 1.33;
  color: #fff;
  text-shadow: 0px 0px 6px rgba(5, 18, 0, 0.45);
  font-weight: bold;
  font-size: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .c_contact a {
    border-radius: 1.8rem;
    padding-left: 1em;
  }
  .c_contact a:before {
    content: '';
    position: absolute;
    background: url(../img/ico_yen.svg) no-repeat 50%/contain;
    width: 1.866em;
    height: 100%;
    top: 0;
    z-index: 1;
    left: 1.9em;
  }
}

.c_contact a:after {
  content: '';
  position: absolute;
  background: url(../img/arrow_right01.svg) no-repeat 50%/contain;
  height: 100%;
  top: 0;
  width: 1.73em;
  right: 1em;
}

.c_contact .mail {
  background: linear-gradient(360deg, #53bed8 0%, #2268ad 84.79%, #0c419a 100%);
}

.c_contact .mail a {
  background: linear-gradient(#53bed8 0%, #2268ad 84.79%, #0c419a 100%);
}

@media screen and (min-width: 768px) {
  .c_contact .mail a:before {
    background-image: url(../img/ico_mail01.svg);
    width: 2em;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .c_contact .mail a:before {
    left: 1em;
  }
}

.c_contact .mail a:after {
  background-image: url(../img/arrow_right02.svg);
}

.fixed_cv {
  position: fixed;
  z-index: 65;
  width: 100%;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .fixed_cv {
    display: none !important;
  }
}

.fixed_cv dl {
  width: 35.52%;
  padding-top: 1.5em;
}

.fixed_cv .r {
  width: 64.48%;
  padding: 0 9em;
  padding-top: 2.1em;
}

.fixed_cv dl {
  height: 15em;
}

.fixed_cv dt {
  font-size: 2em;
  line-height: 1;
  margin-bottom: -.2em;
}

.fixed_cv dd a {
  color: #fff;
  font-size: 4.6em;
  background-image: url(../img/ico_tel03.svg);
  background-size: 1.087em;
  padding-left: 1.5em;
}

.fixed_cv dd p {
  font-size: 2em;
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .fixed_cv .c_contact {
    display: flex;
    gap: 4.7em;
  }
  .fixed_cv .c_contact li {
    width: 50%;
  }
}

.lp_lead {
  background: linear-gradient(#53bed8 0%, #2268ad 84.79%, #0c419a 100%);
  clip-path: polygon(100% 0, 100% calc(100% - 4.5rem), calc(50% + 10.5rem) calc(100% - 4.5rem), 50% 100%, calc(50% - 10.5rem) calc(100% - 4.5rem), 0 calc(100% - 4.5rem), 0 0);
  text-align: center;
  color: #fff;
  margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .lp_lead {
    clip-path: polygon(100% 0, 100% calc(100% - 3.3rem), calc(50% + 8.5rem) calc(100% - 3.3rem), 50% 100%, calc(50% - 8.5rem) calc(100% - 3.3rem), 0 calc(100% - 3.3rem), 0 0);
    margin-bottom: 4rem;
  }
}

.lp_lead .u_inner {
  width: 144rem;
  position: relative;
  height: 37.6rem;
  padding-top: 4.4rem;
}

@media screen and (max-width: 767px) {
  .lp_lead .u_inner {
    width: auto;
    height: 31.2rem;
    margin: 0;
    padding-top: 5rem;
  }
}

.lp_lead .img {
  position: absolute;
  bottom: 4.5rem;
}

@media screen and (max-width: 767px) {
  .lp_lead .img {
    bottom: 3.3rem;
  }
}

.lp_lead .img.a {
  left: 0;
  width: 19rem;
}

@media screen and (max-width: 767px) {
  .lp_lead .img.a {
    width: 14.8rem;
  }
}

.lp_lead .img.b {
  right: 0;
  width: 20.9rem;
}

@media screen and (max-width: 767px) {
  .lp_lead .img.b {
    width: 16.4rem;
  }
}

.lp_lead .ttl {
  margin-bottom: 1.6rem;
}

.lp_lead .ttl img {
  width: 99.7rem;
}

@media screen and (max-width: 767px) {
  .lp_lead .ttl img {
    width: 47.8rem;
  }
}

.lp_lead p {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 2;
  text-shadow: 0px 0px 0.6rem rgba(0, 62, 110, 0.68);
}

.lp_case {
  margin-bottom: 8.5rem;
}

@media screen and (min-width: 768px) {
  .lp_case {
    margin-bottom: 11rem;
  }
  .lp_case ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
  }
  .lp_case li {
    width: calc(50% - 2rem);
  }
}

@media screen and (max-width: 767px) {
  .lp_case > p {
    text-align: center;
    color: #0D3776;
    font-weight: bold;
    white-space: nowrap;
    letter-spacing: .05em;
    margin: 0 -3rem 6rem;
    line-height: 1.75;
  }
}

.lp_case li {
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0.7rem 0.7rem 2.6rem rgba(20, 29, 36, 0.16);
  padding-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .lp_case li {
    margin-top: 4.5rem;
  }
}

.lp_case li p {
  background: #0D3776;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  padding: 4rem 3.8rem;
  letter-spacing: .1em;
  display: flex;
  gap: 2.8rem;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .lp_case li p {
    font-size: 4rem;
    gap: 3.8rem;
    line-height: 1.35;
    padding: 4rem 3rem;
    letter-spacing: .05em;
  }
}

.lp_case li p em {
  color: #FFEE26;
  font-size: 1.3636em;
  letter-spacing: .1em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .lp_case li p em {
    font-size: 4.4rem;
  }
}

.lp_case li p span {
  display: block;
}

.lp_case li p b {
  letter-spacing: 0;
  display: block;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .lp_case li p b {
    font-size: 3.2rem;
  }
}

.lp_case li p i {
  font-size: 1.27em;
  color: #0D3776;
  width: 1.286em;
  line-height: 1.286;
  text-align: center;
  background: #fff;
  color: #0D3776;
  border-radius: 50%;
  display: inline-block;
  margin-left: .5em;
}

@media screen and (max-width: 767px) {
  .lp_case li p i {
    font-size: 2.8rem;
    width: 1.78em;
    line-height: 1.78;
  }
}

.lp_case .row {
  margin-top: 2.5rem;
  padding: 0 3rem;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .lp_case .row {
    margin-top: 4.5rem;
  }
}

.lp_case .row figure {
  width: 12.1rem;
}

.lp_case .row dl {
  width: calc(100% - 14.5rem);
}

.lp_case .row.a {
  align-items: center;
}

.lp_case .row.a dd:before {
  left: -.7rem;
}

@media screen and (max-width: 767px) {
  .lp_case .row.a dd:before {
    left: -1rem;
  }
}

.lp_case .row.b dt {
  text-align: right;
}

.lp_case .row.b dd {
  background: #4DC652;
  color: #fff;
}

.lp_case .row.b dd:before {
  right: -.7rem;
  height: 2.1rem;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}

@media screen and (max-width: 767px) {
  .lp_case .row.b dd:before {
    height: 4.2rem;
    right: -1rem;
  }
}

.lp_case .row.b figure {
  margin-top: 3.7rem;
}

.lp_case dt {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: .5em;
}

.lp_case dt small {
  font-size: .888em;
}

@media screen and (max-width: 767px) {
  .lp_case dt {
    font-size: 3.4rem;
  }
}

.lp_case dd {
  border-radius: .8rem;
  line-height: 1.85;
  padding: 1em;
  background: #F1F6FD;
  position: relative;
  letter-spacing: .03em;
}

@media screen and (max-width: 767px) {
  .lp_case dd {
    line-height: 1.425;
    padding: 2rem;
  }
}

.lp_case dd:before {
  content: '';
  position: absolute;
  background: inherit;
  width: .7rem;
  height: 1.2rem;
  top: 3.5rem;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

@media screen and (max-width: 767px) {
  .lp_case dd:before {
    width: 1.1rem;
    height: 3.2rem;
    top: 5rem;
  }
}

.lp_strengths ul {
  margin-top: 5.8rem;
}

@media screen and (max-width: 767px) {
  .lp_strengths ul {
    margin: 8rem 0 11rem;
  }
}

.lp_strengths picture img {
  width: 100%;
}

.lp_strengths dt {
  color: #0D3776;
  font-size: 3rem;
  letter-spacing: .07em;
  font-weight: bold;
  margin-bottom: 1em;
}

.lp_strengths dt em {
  color: #D41680;
}

.lp_strengths dt span {
  display: block;
}

@media screen and (max-width: 767px) {
  .lp_strengths dt {
    text-align: center;
    font-size: 4.4rem;
  }
  .lp_strengths dt img {
    width: 32.6rem;
    margin-bottom: 7rem;
  }
}

.lp_strengths dd {
  line-height: 1.85;
  letter-spacing: .05em;
}

@media screen and (max-width: 767px) {
  .lp_strengths dd {
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .lp_strengths li + li {
    margin-top: 10rem;
  }
  .lp_strengths li dl {
    margin: 4rem 3rem 0;
  }
}

@media screen and (min-width: 768px) {
  .lp_strengths li {
    display: flex;
    align-items: center;
  }
  .lp_strengths li:nth-child(odd) dl {
    margin-left: 4rem;
  }
  .lp_strengths li:nth-child(even) dl {
    margin-right: 4rem;
    margin-left: auto;
  }
  .lp_strengths li:nth-child(even) {
    flex-flow: row-reverse;
  }
  .lp_strengths li > * {
    width: 50%;
  }
  .lp_strengths li dl {
    width: 61.3rem;
  }
  .lp_strengths li dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .lp_strengths li dt img {
    width: 18.8rem;
  }
  .lp_strengths li dt span {
    width: calc(100% - 21.7rem);
  }
}

@media screen and (min-width: 1440px) {
  .lp_strengths li:nth-child(odd) dl {
    margin-left: 7.8rem;
  }
  .lp_strengths li:nth-child(even) dl {
    margin-right: 7.8rem;
  }
  .lp_strengths li dl {
    width: 64.2rem;
  }
}

.lp_point {
  background: url(../img/point_bg.jpg) no-repeat center bottom/cover;
  padding-top: 13rem;
  margin-bottom: 9.5rem;
}

@media screen and (max-width: 767px) {
  .lp_point {
    background-image: url(../img/point_bg_sp.jpg);
    padding-top: 11rem;
    margin-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .lp_point ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
  }
  .lp_point li {
    width: calc(50% - 2rem);
  }
}

.lp_point ul {
  margin-top: 9.6rem;
}

.lp_point li {
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0.7rem 0.7rem 2.6rem rgba(20, 29, 36, 0.16);
  padding: 3.8rem 7.4rem 3rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .lp_point li {
    padding: 4rem 3rem 3rem;
  }
  .lp_point li + li {
    margin-top: 10.6rem;
  }
}

.lp_point li p {
  position: absolute;
  font-size: 3.2rem;
  color: #0D3776;
  line-height: 1;
  top: -.65em;
}

@media screen and (max-width: 767px) {
  .lp_point li p {
    font-size: 5.4rem;
    top: -1em;
  }
}

.lp_point li p i {
  color: #D41680;
  font-size: 1.3125em;
  margin-left: .3em;
}

.lp_point dt {
  font-weight: bold;
  font-size: 2.2rem;
  color: #0D3776;
  letter-spacing: .05em;
  margin: .9em 0 .6em;
}

@media screen and (max-width: 767px) {
  .lp_point dt {
    font-size: 4.4rem;
  }
}

.lp_point dt em {
  color: #D41680;
}

.lp_point dd {
  line-height: 1.85;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .lp_point dd {
    line-height: 1.5;
  }
  .lp_point dd br {
    display: none;
  }
}

.lp_shop {
  margin-bottom: 11rem;
}

@media screen and (max-width: 767px) {
  .lp_shop {
    margin-bottom: 8rem;
  }
}

.lp_shop .c_ttl + p {
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: .058em;
  margin: .3em 0 5rem;
}

@media screen and (max-width: 767px) {
  .lp_shop .c_ttl + p {
    font-size: 4rem;
  }
}

.lp_shop figure img {
  width: 100%;
}

.lp_shop .ttl {
  text-align: center;
  font-size: 3.6rem;
  font-weight: bold;
  margin: 6.5rem 0;
  color: #0D3776;
}

@media screen and (max-width: 767px) {
  .lp_shop .ttl {
    font-size: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .lp_shop ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
  }
  .lp_shop li {
    width: calc(33.33% - 2.666rem);
  }
  .lp_shop dl {
    padding: 3rem;
  }
}

.lp_shop ul {
  margin-top: 9.6rem;
}

.lp_shop li {
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  box-shadow: 0.7rem 0.7rem 2.6rem rgba(20, 29, 36, 0.16);
  position: relative;
}

@media screen and (max-width: 767px) {
  .lp_shop li {
    padding: 3rem;
    margin-top: 4rem;
  }
  .lp_shop li figure {
    position: absolute;
    z-index: 2;
    width: 20.5rem;
  }
}

.lp_shop dt {
  font-weight: bold;
  color: #0D3776;
  font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
  .lp_shop dt {
    font-size: 4rem;
    /*padding-left: 23.5rem;*/
    margin-left: 23.5rem;
    background: url(../img/arrow_right03.svg) no-repeat right center/2rem;
    height: 11.2rem;
    letter-spacing: .05em;
    cursor: pointer;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    line-height: 1.25;
  }
  .lp_shop dt.open {
    background-image: url(../img/arrow_down01.svg);
    background-size: 3.2rem;
  }
  .lp_shop dt.open + dd {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .lp_shop dt {
    border-bottom: solid 1px #171A1D;
    padding-bottom: .6em;
    margin-bottom: .6em;
    letter-spacing: .1em;
  }
}

@media screen and (max-width: 767px) {
  .lp_shop dd {
    display: none;
    margin-top: 3rem;
  }
}

.lp_shop dd p {
  font-size: 1.8rem;
  padding-left: 2em;
  line-height: 1.66;
  margin-top: .3em;
  background: url(../img/ico_cal.svg) no-repeat left 0.3em/1.222em;
}

@media screen and (max-width: 767px) {
  .lp_shop dd p {
    font-size: 3.4rem;
    line-height: 1.35;
    background-position: left .1em;
  }
}

.lp_shop dd p:nth-child(2) {
  background-image: url(../img/ico_tel02.svg);
}

.lp_shop dd p:nth-child(3) {
  background-image: url(../img/ico_fax.svg);
}

.lp_shop dd p:nth-child(4) {
  background-image: url(../img/ico_pin.svg);
  background-size: .944em;
  margin-top: 1.66em;
}

@media screen and (max-width: 767px) {
  .lp_shop dd p:nth-child(4) {
    margin-top: 1em;
  }
}

.lp_bg {
  background: url(../img/sec_bg.jpg) no-repeat center top/cover;
  padding: 12rem 0 11rem;
}

@media screen and (max-width: 767px) {
  .lp_bg {
    padding: 8rem 0 0;
    background-image: url(../img/sec_bg_sp.jpg);
    background-size: 100%;
  }
}

.lp_voice {
  margin-bottom: 21rem;
}

@media screen and (max-width: 767px) {
  .lp_voice {
    margin-bottom: 18rem;
  }
}

.lp_voice .c_ttl {
  letter-spacing: 0;
}

.lp_voice .c_ttl em {
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .lp_voice .c_ttl {
    letter-spacing: .05em;
  }
  .lp_voice .c_ttl em {
    letter-spacing: .05em;
  }
}

.lp_voice .c_ttl + p {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.81;
  margin: .5em 0 6rem;
}

@media screen and (max-width: 767px) {
  .lp_voice .c_ttl + p {
    font-size: 4rem;
    white-space: nowrap;
    font-weight: bold;
    color: #0D3776;
    margin: 4rem -3rem 6.5rem;
    line-height: 1.45;
  }
}

.lp_voice .c_ttl + p em {
  color: #D41680;
  font-size: 1.18em;
  font-weight: bold;
}

.lp_voice ul:not(.slick-slider) {
  height: 28.7rem;
}

@media screen and (min-width: 768px) {
  .lp_voice dl {
    display: flex;
    justify-content: space-between;
  }
  .lp_voice dt {
    width: 12.1rem;
  }
  .lp_voice dt img {
    width: 100%;
  }
  .lp_voice dd {
    width: calc(100% - 14.7rem);
  }
  .lp_voice .slick-track {
    display: flex;
  }
  .lp_voice .slick-slide {
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .lp_voice dt {
    text-align: center;
    margin-bottom: 3rem;
  }
  .lp_voice dt img {
    width: 16.6rem;
  }
}

.lp_voice dd {
  font-weight: 400;
  line-height: 1.75;
  margin-bottom: .8em;
}

.lp_voice dd em {
  color: #D41680;
  font-size: 1.1em;
  font-weight: bold;
}

.lp_voice dd b {
  display: block;
  color: #171A1D;
  font-size: .9em;
  margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .lp_voice dd b {
    text-align: center;
    font-size: 3.8rem;
  }
}

.lp_voice dd small {
  font-size: .88em;
}

@media screen and (max-width: 767px) {
  .lp_voice dd small {
    font-size: 3rem;
  }
}

.lp_voice .slick-slider {
  padding: .7rem 0;
}

@media screen and (max-width: 767px) {
  .lp_voice .slick-slider {
    margin: 0 3rem;
  }
}

.lp_voice .slick-list {
  overflow: visible;
}

.lp_voice .slick-slide {
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  box-shadow: 0.7rem 0.7rem 2.6rem rgba(20, 29, 36, 0.16);
  position: relative;
  padding: 3rem;
}

@media screen and (min-width: 768px) {
  .lp_voice .slick-slide {
    width: 62.2rem;
    margin: 0 2rem;
  }
}

.lp_voice .slick-arrow {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 11rem;
  top: 0;
  border: none;
  color: transparent;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .lp_voice .slick-arrow {
    height: 27rem;
  }
}

.lp_voice .slick-arrow:active, .lp_voice .slick-arrow:focus {
  outline: 0;
}

.lp_voice .slick-prev {
  background: url(../img/btn_back01.svg) no-repeat 50%/contain;
  left: calc(50% - 38.2rem);
}

@media screen and (max-width: 767px) {
  .lp_voice .slick-prev {
    left: -4rem;
  }
}

.lp_voice .slick-next {
  background: url(../img/btn_next01.svg) no-repeat 50%/contain;
  right: calc(50% - 39.7rem);
}

@media screen and (max-width: 767px) {
  .lp_voice .slick-next {
    right: -5.2rem;
  }
}

.lp_voice .slick-dots {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2.6rem;
  margin-top: 5rem;
}

.lp_voice .slick-dots li.slick-active button:before {
  background: #0D3776;
}

.lp_voice .slick-dots button {
  border: none;
  cursor: pointer;
  color: transparent;
  position: relative;
  background: none;
  width: 2rem;
  height: 2rem;
}

.lp_voice .slick-dots button:active, .lp_voice .slick-dots button:focus {
  outline: 0;
}

.lp_voice .slick-dots button:before {
  content: '';
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: solid 1px #0D3776;
}

.lp_flow .c_ttl + p {
  text-align: center;
  color: #D41680;
  font-weight: bold;
  letter-spacing: .05em;
  margin: .5em 0 8rem;
}

@media screen and (min-width: 768px) {
  .lp_flow .c_ttl + p {
    display: none;
  }
}

.lp_flow .step {
  margin: 5.8rem 0 10.4rem;
  position: relative;
  z-index: 1;
  display: flex;
  font-weight: bold;
}

.lp_flow .step:before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/flow_bg.svg) no-repeat left top/contain;
  width: 131.8rem;
  height: 10.5rem;
  top: 0;
  z-index: -1;
}

.lp_flow .step li {
  width: 21.6rem;
}

.lp_flow .step li:nth-child(2) {
  width: 20rem;
}

.lp_flow .step li:nth-child(3) {
  width: 19rem;
}

.lp_flow .step li:nth-child(4) {
  width: 25rem;
}

.lp_flow .step li:nth-child(5) {
  width: 21.3rem;
}

.lp_flow .step li:nth-child(6) {
  width: 23.2rem;
}

.lp_flow .step i {
  display: block;
  font-size: 2.6rem;
  text-align: center;
  padding: 3.2rem 1.5rem 5rem 0;
}

.lp_flow .step p {
  position: relative;
  line-height: 1.75;
  padding-left: 1.1em;
}

.lp_flow .step p:before {
  content: '';
  position: absolute;
  background: #171A1D;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  top: .7em;
  left: 0;
}

@media screen and (max-width: 767px) {
  .lp_flow .step {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .lp_flow .flow {
    background: #f1f6fd;
    box-shadow: 0 0 0.6rem rgba(20, 29, 36, 0.16);
  }
}

.lp_flow .flow dl {
  border-radius: 1rem;
  box-shadow: 0.7rem 0.7rem 2.6rem rgba(20, 29, 36, 0.16);
  position: relative;
  padding: 4rem 3rem 6rem;
  background: #F1F6FD;
}

@media screen and (min-width: 768px) {
  .lp_flow .flow dl {
    overflow: hidden;
    background: #fff;
    margin-top: 4rem;
    display: flex;
    padding: 4rem;
  }
  .lp_flow .flow dl dt {
    width: 54.5rem;
  }
  .lp_flow .flow dl dd {
    width: calc(100% - 54.5rem);
  }
}

@media screen and (max-width: 767px) {
  .lp_flow .flow dl.open dt {
    margin-bottom: .5em;
  }
  .lp_flow .flow dl.open dd {
    display: block;
  }
  .lp_flow .flow dl.open .more:after {
    background-image: url(../img/btn_close01.svg);
  }
  .lp_flow .flow dl:nth-child(2) {
    background: #E2E8F4;
  }
  .lp_flow .flow dl:nth-child(2) .more:before {
    background: #E2E8F4;
  }
  .lp_flow .flow dl:nth-child(2) .more i:before {
    background: #E2E8F4;
  }
  .lp_flow .flow dl:nth-child(3) {
    background: #D0DAEB;
  }
  .lp_flow .flow dl:nth-child(3) .more:before {
    background: #D0DAEB;
  }
  .lp_flow .flow dl:nth-child(3) .more i:before {
    background: #D0DAEB;
  }
  .lp_flow .flow dl:nth-child(4) {
    background: #BFCDE1;
  }
  .lp_flow .flow dl:nth-child(4) .more:before {
    background: #BFCDE1;
  }
  .lp_flow .flow dl:nth-child(4) .more i:before {
    background: #BFCDE1;
  }
  .lp_flow .flow dl:nth-child(5) {
    background: #B0BFD7;
  }
  .lp_flow .flow dl:nth-child(5) .more:before {
    background: #B0BFD7;
  }
  .lp_flow .flow dl:nth-child(5) .more i:before {
    background: #B0BFD7;
  }
  .lp_flow .flow dl:nth-child(6) {
    background: #9FB1CF;
    padding-bottom: 14rem;
  }
  .lp_flow .flow dl:nth-child(6):after {
    bottom: 5rem;
  }
  .lp_flow .flow dl:nth-child(6) .more {
    bottom: 0;
  }
  .lp_flow .flow dl:nth-child(6) .more:before {
    content: none;
  }
  .lp_flow .flow dl + dl {
    padding-top: 10rem;
  }
}

.lp_flow .flow dd {
  line-height: 1.85;
  letter-spacing: .05em;
}

.lp_flow .flow dd em {
  color: #D41680;
}

@media screen and (max-width: 767px) {
  .lp_flow .flow dd {
    display: none;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px) {
  .lp_flow .flow .more {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .lp_flow .flow .more {
    display: block;
    left: 0;
    width: 100%;
    height: 8rem;
    z-index: 1;
    bottom: -7.2rem;
    position: absolute;
  }
  .lp_flow .flow .more:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 3rem;
    background: #F1F6FD;
    z-index: 1;
    bottom: 7.1rem;
  }
  .lp_flow .flow .more:after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/btn_open01.svg) no-repeat 50%/contain;
    width: 4.8rem;
    height: 4.8rem;
    z-index: 1;
    bottom: 6rem;
  }
  .lp_flow .flow .more i {
    position: absolute;
    width: calc(100% + 1rem);
    left: -.5rem;
    bottom: 0;
    filter: drop-shadow(0 0.2rem 0.2rem rgba(20, 29, 36, 0.16));
    display: block;
    transform: translateZ(0);
    height: 7.2rem;
  }
  .lp_flow .flow .more i:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    display: block;
    background: #F1F6FD;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
  }
}

.lp_flow .flow dt {
  font-size: 3rem;
  font-weight: bold;
}

.lp_flow .flow dt span {
  letter-spacing: .1em;
  display: block;
}

@media screen and (max-width: 767px) {
  .lp_flow .flow dt span {
    line-height: 1.75;
    letter-spacing: .05em;
  }
}

.lp_flow .flow dt b {
  display: block;
}

@media screen and (max-width: 767px) {
  .lp_flow .flow dt b {
    font-size: 4rem;
    margin-bottom: .5em;
  }
}

@media screen and (max-width: 767px) {
  .lp_flow .flow dt {
    text-align: center;
    font-size: 4.4rem;
  }
  .lp_flow .flow dt em {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .lp_flow .flow dt {
    color: #0D3776;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .lp_flow .flow dt small {
    font-size: 2.4rem;
  }
  .lp_flow .flow dt small:not(.b) {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0;
  }
  .lp_flow .flow dt b {
    font-family: 'Montserrat', sans-serif;
    width: 11rem;
    height: 11rem;
    text-align: center;
    border-radius: 50%;
    border: solid 0.3rem #0D3776;
    font-size: 2rem;
    padding-top: 1.1em;
  }
  .lp_flow .flow dt i {
    font-size: 3rem;
    display: block;
    line-height: 1;
  }
  .lp_flow .flow dt i:before {
    content: '0';
  }
  .lp_flow .flow dt span {
    width: calc(100% - 14.4rem);
    position: relative;
    top: .3em;
  }
  .lp_flow .flow dt em {
    color: #D41680;
    position: relative;
    font-size: 2.6rem;
    padding: 0 1.5em;
    display: block;
    line-height: 1;
    margin-bottom: .4em;
    letter-spacing: 0;
    margin-left: -.8em;
  }
  .lp_flow .flow dt em:before, .lp_flow .flow dt em:after {
    content: '';
    position: absolute;
    background: url(../img/quote_left01.svg) no-repeat 50%/contain;
    width: 1.8rem;
    height: 2.7rem;
  }
  .lp_flow .flow dt em:before {
    left: 0;
  }
  .lp_flow .flow dt em:after {
    background-image: url(../img/quote_right01.svg);
    margin-left: .8em;
  }
}

.lp_faq {
  margin: 11rem 0 24.5rem;
}

.lp_faq .c_ttl {
  margin-bottom: 5.8rem;
}

@media screen and (max-width: 767px) {
  .lp_faq .c_ttl {
    margin-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .lp_faq p {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .lp_faq {
    margin: 12rem 0 15rem;
  }
  .lp_faq p {
    color: #fff;
    font-weight: bold;
    letter-spacing: .1em;
    border-radius: 1rem;
    padding: .7em 1em;
    margin-bottom: 5rem;
    cursor: pointer;
    background: #D41680 url(../img/arrow_right04.svg) no-repeat calc(100% - 1em) center/2rem;
  }
  .lp_faq p.open {
    background-image: url(../img/arrow_down02.svg);
    background-size: 3.2rem;
  }
  .lp_faq p.open + .box {
    display: block !important;
    margin-bottom: 7.5rem;
  }
}

.lp_faq ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
}

.lp_faq ul.b {
	margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .lp_faq ul {
    display: none;
  }
}

.lp_faq li {
  width: 33.33%;
}

.lp_faq li a {
  display: block;
  text-align: center;
  border: solid 0.3rem #0D3776;
  font-size: 2.6rem;
  letter-spacing: .1em;
  line-height: 8.5rem;
  border-radius: 1rem;
  font-weight: bold;
}

.lp_faq li .active {
  background: #D41680;
  color: #fff;
  border-color: #D41680;
}

.lp_faq dl {
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  box-shadow: 0.7rem 0.7rem 2.6rem rgba(20, 29, 36, 0.16);
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .lp_faq dl {
    margin-top: 5rem;
  }
}

.lp_faq dt {
  background: #0D3776;
  color: #fff;
  font-weight: bold;
  font-size: 2.8rem;
  letter-spacing: .1em;
  position: relative;
  padding: 1em 4rem 1em 12rem;
}

@media screen and (max-width: 767px) {
  .lp_faq dt {
    font-size: 4.4rem;
    padding: 1em 10rem 1em 12rem;
    background: #0D3776 url(../img/arrow_right04.svg) no-repeat calc(100% - 1em) center/2rem;
    cursor: pointer;
  }
  .lp_faq dt.open {
    background-image: url(../img/arrow_down02.svg);
    background-size: 3.2rem;
  }
  .lp_faq dt.open + dd {
    display: block;
  }
}

.lp_faq dt:before {
  content: 'Q.';
  font-family: 'Montserrat', sans-serif;
  position: absolute;
  left: 4rem;
  font-size: 1.6em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .lp_faq dt:before {
    font-size: 4.5rem;
  }
}

.lp_faq dd {
  line-height: 1.85;
  padding: 4rem;
  letter-spacing: .05em;
}
.lp_faq dd a {
  color: #D41680;
  font-size: 2.4rem;
  font-weight: bold;
  text-decoration: underline;
}
.lp_faq dd a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .lp_faq dd {
    display: none;
    line-height: 1.5;
  }
  .lp_faq dd a {
    font-size: 4rem;
  }
}

.lp_faq .box {
  display: none;
}

@media screen and (min-width: 768px) {
  .lp_faq .box.active {
    display: block;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}
