@charset "UTF-8";
/* ======================================================================
 reset
====================================================================== */
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  overflow-y: scroll;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

ul {
  list-style: none;
  padding-left: 0;
}

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
input, select, textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  /* Sets a specific default `font-size` for user with `rem` type scales.*/
  font-size: 62.5%;
  /* Changes the default tap highlight to be completely transparent in iOS.*/
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  color: #000;
  line-height: 1.6;
  background: #fff;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
  font-weight: 400;
  word-wrap: break-word;
  word-break: break-all;
  min-width: 1100px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  body {
    min-width: inherit;
  }
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

strong {
  font-weight: bold;
}

a:link {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

a:visited {
  color: #000;
  text-decoration: none;
}

a:hover {
  color: #000;
  text-decoration: none;
}

a:active {
  color: c;
  text-decoration: none;
}

a[href^="tel"] {
  color: #000;
}

.contain {
  width: 1100px;
  min-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* input */
input, textarea, select {
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  -o-border-image: none;
     border-image: none;
  background: transparent;
  font-family: inherit;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-ms-expand, textarea::-ms-expand, select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

input:placeholder-shown, textarea:placeholder-shown {
  color: #000;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #000;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #000;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #000;
}

input::placeholder, textarea::placeholder {
  color: #000;
}

input:focus:placeholder-shown, textarea:focus:placeholder-shown {
  color: #000;
}

input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
  color: #000;
}

input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: #000;
}

input:focus::-ms-input-placeholder, textarea:focus::-ms-input-placeholder {
  color: #000;
}

input:focus::placeholder, textarea:focus::placeholder {
  color: #000;
}

@media screen and (min-width: 769px) {
  .u_pc {
    display: block;
  }
  .u_sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .u_pc {
    display: none;
  }
  .u_sp {
    display: block;
  }
}

.content_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 55px 0 60px;
}

@media screen and (max-width: 768px) {
  .content_ttl {
    padding: calc(60/750*100vw) 0 calc(80/750*100vw);
  }
  .content_ttl img {
    height: calc(37/750*100vw);
  }
}

.content_subttl {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 45px;
}

@media screen and (max-width: 768px) {
  .content_subttl {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
}

.content_lead {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .content_lead {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(72/750*100vw);
  }
}

.content_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .content_list {
    display: block;
  }
}

.content_item {
  width: 480px;
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .content_item {
    width: 100%;
    margin-bottom: calc(64/750*100vw);
  }
  .content_item:nth-child(1) .content_item-num {
    width: calc(34/750*100vw);
  }
  .content_item:nth-child(3) .content_item-num {
    width: calc(36/750*100vw);
  }
}

.content_item-num {
  margin-bottom: 17px;
}

@media screen and (max-width: 768px) {
  .content_item-num {
    margin-bottom: calc(32/750*100vw);
    width: calc(38/750*100vw);
  }
}

.content_item-img {
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .content_item-img {
    margin-bottom: calc(28/750*100vw);
  }
}

.content_item-text {
  font-size: 1.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .content_item-text {
    font-size: calc(28/750*100vw);
  }
}

.content_btn a {
  width: 240px;
  height: 40px;
  border: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .content_btn a {
    width: 100%;
    height: calc(100/750*100vw);
  }
  .content_btn a img {
    height: calc(23/750*100vw);
  }
}

.p_index .key {
  background: url(../img/index/bg_key.jpg) center center/cover no-repeat;
}

@media screen and (max-width: 768px) {
  .p_index .key {
    background: url(../img/index/sp/bg_key.jpg) center center/cover no-repeat;
  }
}

.p_index .key_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0  auto;
  padding: 300px 0 300px;
}

@media screen and (max-width: 768px) {
  .p_index .key_text {
    margin: 0;
    padding: 56.5vw 0 56.5vw;
    width: calc(605/750*100vw);
  }
}

.p_index .lead {
  text-align: center;
  margin: 122px 0;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .p_index .lead {
    margin: 21.33333vw 0 20vw;
    font-size: calc(28/750*100vw);
  }
}

.p_index .service {
  background: #f8f8f8;
  padding-bottom: 150px;
}

@media screen and (max-width: 768px) {
  .p_index .service {
    padding-bottom: calc(160/750*100vw);
  }
}

.p_index .service .content_btn {
  margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
  .p_index .service .content_btn {
    margin-bottom: calc(162/750*100vw);
  }
}

.p_index .service_text {
  font-size: 1.6rem;
  margin-top: -20px;
}

@media screen and (max-width: 768px) {
  .p_index .service_text {
    font-size: calc(28/750*100vw);
    margin-top: calc(80/750*100vw);
  }
}

.subcon .key {
  background: url(../img/common/bg_subcon_key02.jpg) center center/cover no-repeat;
  padding: 102px 0;
  margin-bottom: 90px;
}

@media screen and (max-width: 768px) {
  .subcon .key {
    background: url(../img/common/sp/bg_subcon_key02.jpg) center center/cover no-repeat;
    padding: calc(85/750*100vw) 0 calc(80/750*100vw);
    margin-bottom: calc(160/750*100vw);
  }
}

.subcon .key_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 768px) {
  .subcon .key_text {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .p_service .key_text {
    width: calc(182/750*100vw);
  }
}

.p_service .lead_ttl {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 46px;
}

@media screen and (max-width: 768px) {
  .p_service .lead_ttl {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
}

.p_service .lead_text {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 90px;
}

@media screen and (max-width: 768px) {
  .p_service .lead_text {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(82/750*100vw);
  }
}

.p_service .service {
  margin-bottom: 160px;
}

@media screen and (max-width: 768px) {
  .p_service .service {
    margin-bottom: calc(150/750*100vw);
  }
}

.p_service .service_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
  .p_service .service_item {
    display: block;
    margin-bottom: calc(70/750*100vw);
  }
  .p_service .service_item-img {
    margin-bottom: calc(18/750*100vw);
  }
}

.p_service .service_item:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.p_service .service_item-info {
  width: 450px;
  margin-top: 32px;
}

@media screen and (max-width: 768px) {
  .p_service .service_item-info {
    width: inherit;
    margin-top: 0;
  }
}

.p_service .service_item-num {
  margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
  .p_service .service_item-num {
    width: calc(40/750*100vw);
    margin-bottom: calc(14/750*100vw);
  }
}

.p_service .service_item-ttl {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .p_service .service_item-ttl {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(30/750*100vw);
  }
}

.p_service .service_item-text {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .p_service .service_item-text {
    font-size: calc(28/750*100vw);
  }
}

@media screen and (max-width: 768px) {
  .p_company .key_text {
    width: calc(236/750*100vw);
  }
}

.p_company .company_table {
  width: 100%;
  border-top: 1px solid #7f7f7f;
  border-collapse: collapse;
  margin-bottom: 160px;
}

@media screen and (max-width: 768px) {
  .p_company .company_table {
    margin-bottom: calc(160/750*100vw);
  }
}

.p_company .company_table tr {
  border-bottom: 1px solid #7f7f7f;
}

.p_company .company_table th {
  font-size: 1.6rem;
  font-weight: normal;
  padding: 40px;
  text-align-last: left;
  width: 340px;
  vertical-align: top;
}

@media screen and (max-width: 768px) {
  .p_company .company_table th {
    width: 100%;
    display: block;
    font-size: calc(32/750*100vw);
    padding: calc(50/750*100vw) calc(40/750*100vw) calc(30/750*100vw);
  }
}

.p_company .company_table td {
  font-size: 1.6rem;
  padding: 40px 0;
  width: 660px;
}

@media screen and (max-width: 768px) {
  .p_company .company_table td {
    width: 100%;
    display: block;
    font-size: calc(32/750*100vw);
    padding: 0 calc(40/750*100vw) calc(50/750*100vw);
  }
}

@media screen and (max-width: 768px) {
  .p_contact .key_text {
    width: calc(190/750*100vw);
  }
}

.p_contact .contact_form {
  margin: 0 100px 160px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_form {
    margin: 0 0 calc(160/750*100vw);
  }
}

.p_contact .contact_item {
  margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_item {
    margin-bottom: calc(40/750*100vw);
  }
}

.p_contact .contact_item:last-of-type {
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_item:last-of-type {
    margin-bottom: calc(80/750*100vw);
  }
}

.p_contact .contact_item dt {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 9px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_item dt {
    font-size: calc(32/750*100vw);
    margin-bottom: calc(20/750*100vw);
  }
}

.p_contact .contact_item input[type="text"], .p_contact .contact_item textarea {
  width: 100%;
  font-size: 1.6rem;
  padding: 14px 20px;
  border: 1px solid #7f7f7f;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_item input[type="text"], .p_contact .contact_item textarea {
    padding: calc(40/750*100vw);
  }
}

.p_contact .contact_item ::-webkit-input-placeholder {
  color: #999999;
}

.p_contact .contact_item :-ms-input-placeholder {
  color: #999999;
}

.p_contact .contact_item ::-ms-input-placeholder {
  color: #999999;
}

.p_contact .contact_item ::placeholder {
  color: #999999;
}

.p_contact .contact_confirm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p_contact .contact_confirm input[type="submit"] {
  background: #000;
  color: #fff;
  font-size: 1.6rem;
  width: 400px;
  height: 60px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_confirm input[type="submit"] {
    font-size: calc(32/750*100vw);
    width: 100%;
    height: calc(120/750*100vw);
  }
}

.p_contact .contact_submit {
  background: #000;
  color: #fff;
  font-size: 1.6rem;
  width: 400px;
  height: 60px;
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_submit {
    font-size: calc(32/750*100vw);
    width: 100%;
    height: calc(120/750*100vw);
  }
}

.p_contact .contact_back {
  background: #ccc;
  color: #fff;
  font-size: 1.6rem;
  width: 400px;
  height: 60px;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .p_contact .contact_back {
    font-size: calc(32/750*100vw);
    width: 100%;
    height: calc(120/750*100vw);
  }
}

.p_contact #formWrap {
  margin-bottom: 160px;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap {
    margin-bottom: calc(160/750*100vw);
  }
}

.p_contact #formWrap h4 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap h4 {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(40/750*100vw);
  }
}

.p_contact #formWrap .error_messe {
  margin: 5px 0;
  color: red;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap .error_messe {
    font-size: calc(28/750*100vw);
  }
}

.p_contact #formWrap .formTable {
  width: 1000px;
  margin: 0 auto;
  font-size: 1.4rem;
  border-collapse: collapse;
  border-spacing: 0;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap .formTable {
    width: 100%;
  }
}

.p_contact #formWrap .formTable th, .p_contact #formWrap .formTable td {
  border: 1px solid #d8d8d8;
  padding: 6px 12px;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap .formTable th, .p_contact #formWrap .formTable td {
    width: 100%;
    display: block;
  }
}

.p_contact #formWrap .formTable th {
  text-align: left;
  width: 400px;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap .formTable th {
    width: inherit;
    background: #f8f8f8;
  }
}

.p_contact #formWrap .formTable td {
  width: 600px;
}

@media screen and (max-width: 768px) {
  .p_contact #formWrap .formTable td {
    width: inherit;
  }
}

.p_contact .thanks {
  margin-bottom: 160px;
}

@media screen and (max-width: 768px) {
  .p_contact .thanks {
    margin-bottom: calc(160/750*100vw);
  }
}

.p_contact .thanks_text {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .p_contact .thanks_text {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
}

.p_contact .thanks_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p_contact .thanks_btn a {
  background: #000;
  color: #fff;
  font-size: 1.6rem;
  width: 400px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 768px) {
  .p_contact .thanks_btn a {
    font-size: calc(32/750*100vw);
    width: 100%;
    height: calc(120/750*100vw);
  }
}

/* ======================================================================
 layout
====================================================================== */
/* =================================
 l_content_size
================================= */
.l_content_size_sp_1 {
  padding: 0 4%;
}

@media screen and (min-width: 1025px) {
  .l_content_size_sp_1 {
    max-width: 1100px;
    margin: 0 auto;
  }
}

.l_content_size_pc_1 {
  width: 1100px;
  margin: 0 auto;
  padding: 0 50px;
}

@media screen and (max-width: 768px) {
  .l_content_size_pc_1 {
    width: auto;
    padding: 0 calc(72/750*100vw);
  }
}

/* =================================
 l_container
================================= */
.l_container {
  position: relative;
}

/* =================================
 l_header
================================= */
.l_header {
  background: #fff;
  padding: 30px 102px 30px 63px;
}

.l_header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l_header .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l_header .nav li + li {
  margin-left: 26px;
}

.l_header .nav li.current {
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
}

/* =================================
 l_header_sp
================================= */
.l_header_sp {
  background: #fff;
  position: relative;
}

.l_header_sp nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l_header_sp .logo {
  margin: calc(30/750*100vw) 0 calc(30/750*100vw) calc(36/750*100vw);
  width: calc(156/750*100vw);
}

.l_header_sp .toggle {
  width: calc(100/750*100vw);
  height: calc(100/750*100vw);
  position: relative;
}

.l_header_sp .toggle span {
  width: calc(52/750*100vw);
  height: calc(4/750*100vw);
  background: #000;
  display: block;
  position: absolute;
  left: calc(27/750*100vw);
  -webkit-transition: top .5s, width .5s, -webkit-transform .5s;
  transition: top .5s, width .5s, -webkit-transform .5s;
  transition: transform .5s, top .5s, width .5s;
  transition: transform .5s, top .5s, width .5s, -webkit-transform .5s;
}

.l_header_sp .toggle span:nth-child(1) {
  top: calc(30/750*100vw);
}

.l_header_sp .toggle span:nth-child(2) {
  top: calc(48/750*100vw);
}

.l_header_sp .toggle span:nth-child(3) {
  top: calc(66/750*100vw);
}

.l_header_sp.open {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

/* =================================
 l_menu_sp
================================= */
.l_menu_sp {
  background: #fff;
  padding: calc(160/750*100vw) calc(72/750*100vw) calc(42/750*100vw);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  overflow-y: scroll;
  height: 100vh;
  opacity: 0;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
  -webkit-transform: translate(100vw, 0);
          transform: translate(100vw, 0);
}

.l_menu_sp.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.l_menu_sp.active + .key {
  margin-top: calc(100/750*100vw);
}

.l_menu_sp .nav {
  text-align: center;
  font-size: calc(40/750*100vw);
  font-weight: 700;
  margin-bottom: calc(10/750*100vw);
  border-bottom: 2px solid #f5f5f5;
}

.l_menu_sp .nav li {
  padding: calc(38/750*100vw) 0;
  border-top: 2px solid #f5f5f5;
}

.l_menu_sp .nav li img {
  height: calc(23/750*100vw);
}

.l_menu_sp .nav li:nth-child(2) img {
  height: calc(30/750*100vw);
}

.l_menu_sp .nav li.nav_contact a {
  width: calc(670/750*100vw);
  margin: 0 auto;
  display: block;
  padding: calc(32/750*100vw) 0;
  background: #19354a;
  color: #fff;
}

.l_menu_sp .nav li.nav_contact a i {
  margin-right: 4px;
}

/* =================================
 l_breadcrumbs
================================= */
/* =================================
 l_main_visual
================================= */
/* =================================
 l_content
================================= */
/* =================================
 l_main
================================= */
/* =================================
 l_side
================================= */
.l_side {
  background: #d8d8d8;
  padding: 0 0 40px;
}

@media screen and (max-width: 768px) {
  .l_side {
    padding: 0 0 8vw;
  }
}

.l_side .content_ttl {
  padding: 40px 0 22px;
}

@media screen and (max-width: 768px) {
  .l_side .content_ttl {
    padding: 8.13333vw 0 10.93333vw;
  }
}

.l_side .side_text {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  .l_side .side_text {
    font-size: 3.73333vw;
    margin-bottom: 6.66667vw;
  }
}

/* =================================
 l_footer
================================= */
.l_footer {
  background: #19354a;
  padding: 40px 0 38px;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .l_footer {
    padding: 8vw 0 5.33333vw;
  }
}

.l_footer .footer_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_nav {
    display: block;
    margin-bottom: 17.06667vw;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .footer_nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .l_footer .footer_nav li img {
    height: 3.06667vw;
  }
  .l_footer .footer_nav li:nth-child(2) img {
    height: 4vw;
  }
}

.l_footer .footer_nav li + li {
  margin-left: 30px;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_nav li + li {
    margin-left: 0;
    margin-top: 5.86667vw;
  }
}

.l_footer .footer_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_logo {
    width: 20.8vw;
    margin: 0 auto 8vw;
  }
}

.l_footer .footer_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_list {
    display: block;
    margin-bottom: 8vw;
  }
}

.l_footer .footer_list li {
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_list li {
    font-size: 2.66667vw;
    text-align: center;
  }
}

.l_footer .footer_list li a {
  color: #fff;
}

.l_footer .footer_list li + li {
  margin-left: 34px;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_list li + li {
    margin-left: 0;
    margin-top: 4.8vw;
  }
}

.l_footer .footer_copy {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .l_footer .footer_copy {
    font-size: 2.66667vw;
  }
}

/* =================================
 l_hoge
================================= */
/* ======================================================================
 layout p_top
====================================================================== */
/* =================================
 l_container_top
================================= */
.l_container_top {
  position: relative;
}

/* =================================
 l_header_top
================================= */
/* =================================
 l_header_sp_top
================================= */
/* =================================
 l_main_visual_top
================================= */
/* =================================
 l_content_top
================================= */
/* =================================
 l_main_top
================================= */
/* =================================
 l_side_top
================================= */
/* =================================
 l_footer_top
================================= */
/* =================================
 l_hoge_top
================================= */
/* ======================================================================
 z-index
====================================================================== */
.l_loader {
  z-index: 1000;
}

.l_menu_sp {
  z-index: 998;
}

.l_header {
  z-index: 999;
}

.l_header_sp {
  z-index: 999;
}

.c_btn_p_top {
  z-index: 997;
}

.l_side {
  z-index: 996;
}

/* =================================
 p_top
================================= */
.l_menu_sp_top {
  z-index: 999;
}

.l_header_top {
  z-index: 998;
}

.l_header_sp_top {
  z-index: 998;
}

.c_btn_p_top_top {
  z-index: 997;
}

.l_side_top {
  z-index: 996;
}

/* 2023.11.16追加 */
.sp{
  display: none;
}
.contact-text{
  font-size: 16px;
  text-align: center;
  padding: 40px 0 20px;
}
@media screen and (max-width: 768px) {
  .sp{
    display: block;
  }
}