@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP");
body,
html {
  font-family: "Noto Sans JP", sans-serif;
}

html {
  font-size: 100%;
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: none;
}

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  width: 100%;
  height: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    line-height: 1.75;
    min-width: inherit;
  }
}
body.fixed {
  overflow: hidden;
}

main {
  padding-top: 81px;
}
@media screen and (max-width: 767px) {
  main {
    padding-top: 81px;
  }
}

section {
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  section {
    padding: 30px 20px;
  }
}
section .section__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
  }
}

button {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
button:hover {
  opacity: 0.8;
}

a {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
a img {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
a img:hover {
  opacity: 0.7;
}
a:link {
  color: inherit;
  text-decoration: none;
}
a:visited {
  color: inherit;
}
a:hover {
  opacity: 0.8;
}
strong {
  font-weight: bold !important;
}

/* --------------------------------------------------
 Margin Padding
 -------------------------------------------------- */
.mg0 {
  margin: 0px !important;
}

.mt0 {
  margin-top: 0px !important;
}

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

.mr0 {
  margin-right: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.mg5 {
  margin: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.mg10 {
  margin: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mg15 {
  margin: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.mg20 {
  margin: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mg25 {
  margin: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.mg30 {
  margin: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mg35 {
  margin: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.mg40 {
  margin: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mg45 {
  margin: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.mg50 {
  margin: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mg55 {
  margin: 55px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.mg60 {
  margin: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mg65 {
  margin: 65px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.mg70 {
  margin: 70px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mg75 {
  margin: 75px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.mg80 {
  margin: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.mg85 {
  margin: 85px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.mg90 {
  margin: 90px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.mg95 {
  margin: 95px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.mg100 {
  margin: 100px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.pd0 {
  padding: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pd10 {
  padding: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pd20 {
  padding: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pd30 {
  padding: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pd40 {
  padding: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pd50 {
  padding: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

/* --------------------------------------------------
 Margin Padding (responsive)
 -------------------------------------------------- */
.mt_s {
  margin-top: 20px !important;
}
@media screen and (max-width: 767px) {
  .mt_s {
    margin-top: 10px !important;
  }
}

.mt_sm {
  margin-top: 30px !important;
}
@media screen and (max-width: 767px) {
  .mt_sm {
    margin-top: 15px !important;
  }
}

.mt_m {
  margin-top: 40px !important;
}
@media screen and (max-width: 767px) {
  .mt_m {
    margin-top: 20px !important;
  }
}

.mt_ml {
  margin-top: 50px !important;
}
@media screen and (max-width: 767px) {
  .mt_ml {
    margin-top: 25px !important;
  }
}

.mt_l {
  margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
  .mt_l {
    margin-top: 30px !important;
  }
}

.mt_ll {
  margin-top: 80px !important;
}
@media screen and (max-width: 767px) {
  .mt_ll {
    margin-top: 40px !important;
  }
}

.mt_xl {
  margin-top: 100px !important;
}
@media screen and (max-width: 767px) {
  .mt_xl {
    margin-top: 50px !important;
  }
}

.mb_s {
  margin-bottom: 20px !important;
}
@media screen and (max-width: 767px) {
  .mb_s {
    margin-bottom: 10px !important;
  }
}

.mb_sm {
  margin-bottom: 30px !important;
}
@media screen and (max-width: 767px) {
  .mb_sm {
    margin-bottom: 15px !important;
  }
}

.mb_m {
  margin-bottom: 40px !important;
}
@media screen and (max-width: 767px) {
  .mb_m {
    margin-bottom: 20px !important;
  }
}

.mb_ml {
  margin-bottom: 50px !important;
}
@media screen and (max-width: 767px) {
  .mb_ml {
    margin-bottom: 25px !important;
  }
}

.mb_l {
  margin-bottom: 60px !important;
}
@media screen and (max-width: 767px) {
  .mb_l {
    margin-bottom: 30px !important;
  }
}

.mb_ll {
  margin-bottom: 80px !important;
}
@media screen and (max-width: 767px) {
  .mb_ll {
    margin-bottom: 40px !important;
  }
}

.mb_xl {
  margin-bottom: 100px !important;
}
@media screen and (max-width: 767px) {
  .mb_xl {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb0 {
    margin-bottom: 0 !important;
  }
}

/* --------------------------------------------------
 Set Style
 -------------------------------------------------- */
.clear {
  clear: both;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.tal {
  text-align: left !important;
}

.tar {
  text-align: right !important;
}

.tac {
  text-align: center !important;
}

@media screen and (max-width: 767px) {
  .sp-tac {
    text-align: center !important;
  }
}

.bold {
  font-weight: bold;
}

.underline {
  text-decoration: underline;
}

.hidden {
  display: none;
}

.italic {
  font-style: italic;
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Times New Roman", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.block-center {
  margin-left: auto;
  margin-right: auto;
}

.height_auto {
  height: auto !important;
}

@media screen and (max-width: 767px) {
  .height_auto_sp {
    height: auto !important;
  }
}

.block {
  display: block;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

.nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .pc-nowrap {
    white-space: nowrap;
  }
}

.box_shadow {
  -webkit-box-shadow: 0 0 16px rgba(114, 131, 144, 0.8);
          box-shadow: 0 0 16px rgba(114, 131, 144, 0.8);
}

.m-auto {
  margin: auto !important;
}

.display-table {
  display: table;
}

.fw-100 {
  font-weight: 100 !important;
}
.fw-300 {
  font-weight: 300 !important;
}
.fw-400 {
  font-weight: 400 !important;
}

.txt--xs {
  font-size: 0.65em !important;
}
.txt--s {
  font-size: 0.875em !important;
}
.txt--ss {
  font-size: 0.8125em !important;
}
.txt--l {
  font-size: 1.125em !important;
}
.txt--ll {
  font-size: 1.25em !important;
}
.txt--1em {
  font-size: 1em !important;
}
.txt--lh1_8 {
  line-height: 1.8;
}
.txt--fz60 {
  font-size: 6rem;
}
@media screen and (max-width: 767px) {
  .txt--fz60 {
    font-size: 3.5rem;
  }
}
.txt--fz50 {
  font-size: 5rem;
}
@media screen and (max-width: 767px) {
  .txt--fz50 {
    font-size: 3.5rem;
  }
}
.txt--fz40 {
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  .txt--fz40 {
    font-size: 2.8rem;
  }
}
.txt--fz48 {
  font-size: 4.8rem;
}
@media screen and (max-width: 767px) {
  .txt--fz48 {
    font-size: 3rem;
  }
}
.txt--fz32 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz32 {
    font-size: 2.3rem;
  }
}
.txt--fz30 {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .txt--fz30 {
    font-size: 2.3rem;
  }
}
.txt--fz28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .txt--fz28 {
    font-size: 2.2rem;
  }
}
.txt--fz24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .txt--fz24 {
    font-size: 2.1rem;
  }
}
.txt--fz22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz22 {
    font-size: 2rem;
  }
}
.txt--fz20 {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz20 {
    font-size: 1.9rem;
  }
}
.txt--fz18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .txt--fz18 {
    font-size: 1.7rem;
  }
}
.txt--fz16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .txt--fz16 {
    font-size: 1.5rem;
  }
}
.txt--fz14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .txt--fz14 {
    font-size: 1.3rem;
  }
}
.txt--fz13 {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .txt--fz13 {
    font-size: 1.2rem;
  }
}
.txt--fz12 {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz12 {
    font-size: 1.2rem;
  }
}
.txt--lead {
  text-align: center;
  max-width: 900px;
  margin: auto;
}
.txt--white {
  color: #fff;
}
.txt--red {
  color: #e40000;
}
.txt--blue {
  color: #005bac;
}
.txt--blue2 {
  color: #009fe6;
}
.txt--gray {
  color: #666;
}
.txt--purple {
  color: #c8448e;
}
.txt--lh18 {
  line-height: 1.8;
}
.txt--gray2 {
  color: #728390;
}

/* --------------------------------------------------
 background
 -------------------------------------------------- */
.bg--white {
  background: #fff !important;
}
.bg--black {
  background: #000 !important;
}

/* --------------------------------------------------
 border
-------------------------------------------------- */
.bd--gray {
  border: 1px solid #ccc;
}
.bd--gray02 {
  border: 1px solid #b1b1b1;
}
.bd--none {
  border: none !important;
}
.bd--cl_bl {
  border-color: #3a434a !important;
}

/* --------------------------------------------------
 width
-------------------------------------------------- */
.w-auto {
  width: auto !important;
}

.w23_5 {
  width: 23.5%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w32 {
  width: 32%;
}

.w36 {
  width: 36%;
}

.w40 {
  width: 40%;
}

.w42 {
  width: 42%;
}

.w44 {
  width: 44%;
}

.w47 {
  width: 47%;
}

.w48 {
  width: 48%;
}

.w49 {
  width: 49%;
}

.w50 {
  width: 50%;
}

.w52 {
  width: 52%;
}

.w54 {
  width: 54%;
}

.w60 {
  width: 60%;
}

.w65 {
  width: 65%;
}

.w70 {
  width: 70%;
}

.w72 {
  width: 72%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.maw100 {
  max-width: 100px;
}

.maw300 {
  max-width: 300px;
}

.maw400 {
  max-width: 400px;
}

.maw500 {
  max-width: 500px;
}

.maw600 {
  max-width: 600px;
}

.maw700 {
  max-width: 700px;
}

.maw750 {
  max-width: 750px;
}

.maw800 {
  max-width: 800px;
}

.maw900 {
  max-width: 900px;
}

.maw1000 {
  max-width: 1000px;
}

@media screen and (max-width: 767px) {
  .sp-w50 {
    width: 50%;
  }
  .sp-w75 {
    width: 75%;
  }
  .sp-w100 {
    width: 100%;
  }
}
/* --------------------------------------------------
 Column
-------------------------------------------------- */
.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flex--nowrap {
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
}
.flex--jc_sb {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flex--jc_center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flex--jc_se {
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}
.flex--ai_center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex_col2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 2%;
}
.flex_col2 > .flex_item {
  width: calc((100% - 2% * (2 - 1)) / 2);
}
@media screen and (max-width: 767px) {
  .flex_col2 > .flex_item {
    width: 100%;
  }
}

.flex_col3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 2%;
}
.flex_col3 > .flex_item {
  width: calc((100% - 2% * (3 - 1)) / 3);
}
@media screen and (max-width: 767px) {
  .flex_col3 > .flex_item {
    width: 100%;
  }
}

.flex_col4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 2%;
}
.flex_col4 > .flex_item {
  width: calc((100% - 2% * (4 - 1)) / 4);
}
@media screen and (max-width: 767px) {
  .flex_col4 > .flex_item {
    width: 100%;
  }
}

.col2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.col2__item {
  width: 48.5%;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .col2__item {
    width: 100%;
    margin-bottom: 30px;
  }
}
.col2__item:nth-child(2n+1) {
  margin-right: 3%;
}
@media screen and (max-width: 767px) {
  .col2__item:nth-child(2n+1) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .col2__item:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col2__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col2.spCol2__item {
    width: 48.5%;
  }
  .col2.spCol2__item:nth-child(2n+1) {
    margin-right: 3%;
  }
}

.col3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.col3__item {
  width: 32%;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .col3__item {
    width: 100%;
    margin-bottom: 15px;
  }
}
.col3__item:nth-child(3n+1), .col3__item:nth-child(3n+2) {
  margin-right: 2%;
}
@media screen and (max-width: 767px) {
  .col3__item:nth-child(3n+1), .col3__item:nth-child(3n+2) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .col3__item:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col3__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}

.col4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.col4__item {
  width: 23.5%;
  margin-bottom: 30px;
}
.col4__item:not(:nth-child(4n)) {
  margin-right: 2%;
}
@media screen and (max-width: 767px) {
  .col4__item:not(:nth-child(4n)) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .col4__item {
    width: 48.5%;
    margin-bottom: 15px;
  }
  .col4__item:nth-child(2n+1) {
    margin-right: 3%;
  }
}
@media screen and (min-width: 768px) {
  .col4__item:nth-last-child(-n+4) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col4__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col4.spCol1__item {
    width: 100%;
  }
  .col4.spCol1__item:nth-child(2n+1) {
    margin-right: 0;
  }
}

/* --------------------------------------------------
 Responsive
-------------------------------------------------- */
.pc-show {
  display: inherit !important;
}
.pc-show--flex {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.pc-show--block {
  display: block !important;
}

.tb-show {
  display: none !important;
}

.tb-sp-show {
  display: none !important;
}

.sp-show {
  display: none !important;
}

@media screen and (max-width: 1023px) {
  .pc-show {
    display: inherit !important;
  }
  .pc-show--flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .pc-show--block {
    display: block !important;
  }
  .tb-show {
    display: inherit !important;
  }
  .tb-sp-show {
    display: inherit !important;
  }
  .sp-show {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-show {
    display: none !important;
  }
  .pc-show--flex {
    display: none !important;
  }
  .pc-show--block {
    display: none !important;
  }
  .tb-show {
    display: none !important;
  }
  .tb-sp-show {
    display: inherit !important;
  }
  .sp-show {
    display: inherit !important;
  }
}
/* --------------------------------------------------
 position
-------------------------------------------------- */
.posi_r {
  position: relative !important;
}

.posi_a {
  position: absolute !important;
}

.right_0 {
  right: 0;
}

.right_10 {
  right: 10px;
}

.right_30 {
  right: 30px;
}

.bd_radius10 {
  border-radius: 10px;
}

.bd_radius16 {
  border-radius: 16px;
}

.bd_radius40 {
  border-radius: 140x;
}

.orange_btn,
.cf-submit input[type=submit] {
  position: relative;
  background-color: #ff6d38;
  color: #fff !important;
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  border-radius: 47px;
  -webkit-box-shadow: 0 6px 0 #ce6748;
          box-shadow: 0 6px 0 #ce6748;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 35px 70px;
  margin: 30px auto;
}
@media screen and (max-width: 767px) {
  .orange_btn,
  .cf-submit input[type=submit] {
    font-size: 3.7vw;
    padding: 25px 60px;
  }
}
.orange_btn::after,
.cf-submit input[type=submit]::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_orange.svg");
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}

/* デフォルトは非表示 */
.grecaptcha-badge {
  display: none !important;
}

/* LPと contact ページのみ表示 */
body.contact .grecaptcha-badge,
body.lp .grecaptcha-badge {
  display: block !important;
}

@media screen and (max-width: 767px) {
  body.lp .orange_btn {
    font-size: 4vw;
    padding: 25px 0px;
    width: 100%;
  }
}

.cf-submit {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.cf-submit input[type=submit] {
  padding: 25px 110px;
  font-size: 24px;
  border: none;
}
.cf-submit input[type=submit]:not([disabled]):hover {
  cursor: pointer;
  opacity: 0.8;
}
.cf-submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -100px;
}

form .form-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 40px 0;
}
form .form-item .input_ttl {
  font-weight: bold;
  width: 30%;
}
@media screen and (max-width: 767px) {
  form .form-item .input_ttl {
    width: 100%;
  }
}
form .form-item .input_area {
  width: 70%;
}
@media screen and (max-width: 767px) {
  form .form-item .input_area {
    width: 100%;
  }
}
form input[type=text],
form input[type=tel],
form input[type=email],
form textarea {
  border: 1px solid #b8c4d5;
  border-radius: 8px;
  background-color: #f7f7f8;
  padding: 14px;
}
form textarea {
  width: 100%;
}
form ::-webkit-input-placeholder {
  color: #bbbbbc;
}
form ::-moz-placeholder {
  color: #bbbbbc;
}
form :-ms-input-placeholder {
  color: #bbbbbc;
}
form ::-ms-input-placeholder {
  color: #bbbbbc;
}
form ::placeholder {
  color: #bbbbbc;
}

section#page_mv {
  padding: 86px 40px;
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  position: relative;
}
section#page_mv.company_info {
  background-image: url(/wp-content/themes/resilience/common/img/company_info.jpg);
}
@media screen and (max-width: 767px) {
  section#page_mv {
    height: 180px;
    padding: 0;
  }
}
section#page_mv .mv_ttl {
  font-weight: 600;
  font-size: 32px;
  line-height: 56px;
  text-align: center;
  letter-spacing: 0.04em;
  color: #ffffff;
  background-color: rgba(57, 172, 131, 0.77);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding: 23px 150px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  section#page_mv .mv_ttl {
    position: absolute;
    font-size: 24px;
    padding: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -40px;
    width: 270px;
  }
}

main.archive {
  background-color: #f9fef7;
  padding-bottom: 20px;
}
main.archive .taxonomy_name {
  font-size: 24px;
  margin: 40px auto;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  main.archive .taxonomy_name {
    font-size: 20px;
    margin: 20px auto;
  }
}

main.company_info #page_mv {
  background-image: url(/wp-content/themes/resilience/common/img/company_info.jpg);
}
main.company_report #page_mv {
  background-image: url(/wp-content/themes/resilience/common/img/company_report.jpg);
}
@media screen and (max-width: 767px) {
  main.company_report #page_mv {
    background-image: url(/wp-content/themes/resilience/common/img/company_report_sp.jpg);
  }
}
main.trivia #page_mv {
  background-image: url(/wp-content/themes/resilience/common/img/trivia.jpg);
}
@media screen and (max-width: 767px) {
  main.trivia #page_mv {
    background-image: url(/wp-content/themes/resilience/common/img/trivia_sp.jpg);
  }
}
main.page.default #page_mv {
  background-image: url(/wp-content/themes/resilience/common/img/page_mv.jpg);
}
@media screen and (max-width: 767px) {
  main.page.default #page_mv {
    background-image: url(/wp-content/themes/resilience/common/img/page_mv_sp.jpg);
  }
}
main.aboutus #page_mv {
  background-image: url(/wp-content/themes/resilience/common/img/aboutus.jpg);
}
@media screen and (max-width: 767px) {
  main.aboutus #page_mv {
    background-image: url(/wp-content/themes/resilience/common/img/aboutus_sp.jpg);
  }
}
main.contact #page_mv {
  background-image: url(/wp-content/themes/resilience/common/img/contact.jpg);
}
@media screen and (max-width: 767px) {
  main.contact #page_mv {
    background-image: url(/wp-content/themes/resilience/common/img/contact_sp.jpg);
  }
}

.breadclumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 6px;
  font-size: 14px;
  line-height: 1;
  max-width: 1000px;
  margin: 20px auto;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .breadclumb {
    margin: 60px auto;
    padding: 0 20px;
    font-size: 12px;
  }
}
.breadclumb li {
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #222222;
}

.archive_flex {
  max-width: 1000px;
  margin: 30px auto 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 50px 5%;
}
@media screen and (max-width: 767px) {
  .archive_flex {
    width: 80%;
    gap: 20px;
  }
}
.archive_flex .item {
  width: 30%;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .archive_flex .item {
    width: 100%;
  }
}
.archive_flex .item img {
  width: 100%;
  height: 165px;
  -o-object-fit: cover;
     object-fit: cover;
}
.archive_flex .item .category_name {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 22px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  color: #fff;
  background-color: #39ac83;
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.04em;
}
.archive_flex .item .txt_box {
  background-color: #fff;
  padding: 20px;
  position: relative;
}
.archive_flex .item .txt_box .icon_new {
  position: absolute;
  right: 6px;
  top: -30px;
  width: 52px;
  height: 52px;
}
.archive_flex .item .txt_box .black_ttl {
  font-weight: 600;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #747474;
  margin-bottom: 4px;
}
.archive_flex .item .txt_box .green_ttl {
  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.04em;
  color: #3ba47e;
}
.archive_flex .item .txt_box .lead {
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 10px 0;
}
.archive_flex .item .txt_box .flex_link {
  text-align: right;
  font-weight: 600;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #3ba47e;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
}
.archive_flex .item .txt_box .flex_link .arrow_green {
  width: 25px;
  height: 25px;
}

ul.category_list {
  max-width: 1000px;
  margin: 40px auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 20px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  ul.category_list {
    padding: 0 25px;
  }
}
ul.category_list li {
  width: 210px;
}
@media screen and (max-width: 767px) {
  ul.category_list li {
    width: calc((100% - 20px) / 2);
  }
}
ul.category_list li a {
  width: 100%;
  height: 48px;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  background-color: #a7a7a7;
}
ul.category_list li a.current {
  background-color: #39ac83;
}

.move_btn_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 16px;
  margin: 50px auto;
}
.move_btn_flex .prev .arrow_green {
  rotate: 180deg;
}
.move_btn_flex .back {
  background-color: #39ac83;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  width: 205px;
  height: 42px;
  border-radius: 5px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #ffffff;
}
/* ページネーション全体 */
.c-pagination {
  text-align: center;
  margin: 40px 0;
}
.c-pagination .c-pagination__link--page {
  background-color: #a7a7a7;
  width: 32px;
  height: 32px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  border-radius: 5px;
  color: #fff;
}
.c-pagination .c-pagination__link--page.is-current {
  background-color: #3ba47e;
}

.c-pagination ul {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ページ番号 */
.c-pagination .page-numbers {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 50px;
  border-radius: 6px;
  background: #bfbfbf;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}

.c-pagination .page-numbers:hover {
  background: #8f8f8f;
}

/* 現在のページ */
.c-pagination .page-numbers.current {
  background: #34a080; /* グリーン */
}

/* 前後の矢印 */
.c-pagination .page-numbers.prev,
.c-pagination .page-numbers.next {
  background: none;
  width: 40px;
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-pagination .page-numbers.prev img,
.c-pagination .page-numbers.next img {
  width: 24px; /* ← 画像サイズ調整 */
  height: auto;
}

.c-pagination .c-pagination__link--prev img {
  rotate: 180deg;
}

main.top .icon_ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
}
main.top .icon_ttl .icon {
  width: 30px;
  height: auto;
}
main.top .icon_ttl span {
  font-weight: 600;
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #222222;
}
@media screen and (max-width: 767px) {
  main.top .icon_ttl span {
    font-size: 22px;
  }
}
main.top .ex_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
  position: relative;
  background-color: #39ac83;
  max-width: 450px;
  height: 84px;
  border-radius: 10px;
  margin: 50px auto;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  main.top .ex_btn {
    margin: 20px auto 0;
    height: 72px;
    font-size: 16px;
  }
}
main.top .ex_btn::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_white.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
main.top #mv {
  padding: 0 50px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  main.top #mv {
    padding: 0 25px;
  }
}
main.top #mv .section_inner {
  background-image: url("/wp-content/themes/resilience/common/img/top/mv.webp");
  background-size: cover;
  background-position: center;
  padding: 275px 100px;
  position: relative;
}
@media screen and (max-width: 767px) {
  main.top #mv .section_inner {
    background-image: url("/wp-content/themes/resilience/common/img/top/mv_sp.webp");
    padding: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
}
main.top #mv .filter {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.2117647059);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
main.top #mv .txt_box {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  main.top #mv .txt_box {
    position: absolute;
    left: 4%;
    bottom: 30px;
  }
}
main.top #mv .txt_box .ttl {
  font-weight: 600;
  font-size: 64px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #ffffff;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  main.top #mv .txt_box .ttl {
    font-size: 40px;
  }
}
main.top #mv .txt_box .txt {
  font-weight: 600;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  main.top #mv .txt_box .txt {
    font-size: 16px;
  }
}
main.top #mv_lead {
  padding: 65px 50px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  main.top #mv_lead {
    padding: 32px 25px;
  }
}
main.top #mv_lead h2 {
  text-align: center;
  color: #39ac83;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-align-content: flex-end;
      -ms-flex-line-pack: end;
          align-content: flex-end;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  main.top #mv_lead h2 {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 20px;
  }
}
main.top #mv_lead h2 img {
  display: inline;
  width: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  main.top #mv_lead h2 img {
    width: 60%;
  }
}
main.top #mv_lead .lead {
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  main.top #mv_lead .lead {
    text-align: left;
  }
}
main.top #mv_lead .lead .green {
  color: #39ac83;
}
main.top #search_area {
  background: -webkit-gradient(linear, right top, left top, from(#f9ffea), to(#e9f8ef));
  background: -webkit-linear-gradient(right, #f9ffea, #e9f8ef);
  background: linear-gradient(to left, #f9ffea, #e9f8ef);
  padding: 72px 50px;
}
@media screen and (max-width: 767px) {
  main.top #search_area {
    padding: 35px 25px;
  }
}
main.top #search_area .section_inner {
  max-width: 1100px;
  margin: auto;
}
main.top #search_area .section_inner .search_box {
  border-radius: 10px;
  overflow: hidden;
}
main.top #search_area .section_inner .search_box .ttl_area {
  background-color: #39ac83;
  padding: 20px;
}
main.top #search_area .section_inner .search_box .ttl_area .icon_ttl span {
  color: #fff;
}
main.top #search_area .section_inner .search_box .content_box {
  background-color: #fff;
  padding: 31px;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box {
    padding: 25px;
  }
}
main.top #search_area .section_inner .search_box .content_box .search_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 13px;
}
main.top #search_area .section_inner .search_box .content_box .search_list .item {
  width: calc((100% - 26px) / 3);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box .search_list .item {
    width: calc((100% - 13px) / 2);
  }
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a:hover {
  -webkit-box-shadow: 0 0px 10px 1px #898989;
          box-shadow: 0 0px 10px 1px #898989;
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a .img_box {
  background-color: #f9fef7;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding: 46px 10px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box .search_list .item a .img_box {
    padding: 16px 10px;
  }
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a .img_box img {
  width: auto;
  height: 100px;
  max-width: 100px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box .search_list .item a .img_box img {
    width: 50px;
    height: 50px;
  }
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a .ttl_box {
  background-color: #f1ffeb;
  padding: 10px 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box .search_list .item a .ttl_box {
    padding: 10px;
  }
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a .ttl_box::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_green.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box .search_list .item a .ttl_box::after {
    width: 12px;
    height: 12px;
    right: 12px;
  }
}
main.top #search_area .section_inner .search_box .content_box .search_list .item a .ttl_box p {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.78;
  letter-spacing: 0.04em;
  color: #222222;
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box .content_box .search_list .item a .ttl_box p {
    font-size: 12px;
    padding-right: 17px;
  }
}
main.top #search_area .section_inner .search_box.pref .content_box {
  padding: 29px 71px;
  position: relative;
}
@media screen and (max-width: 1200px) {
  main.top #search_area .section_inner .search_box.pref .content_box {
    padding: 29px 30px;
  }
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box {
    padding: 17px 27px;
  }
}
main.top #search_area .section_inner .search_box.pref .content_box .lead {
  margin-bottom: 20px;
}
main.top #search_area .section_inner .search_box.pref .content_box .map {
  width: 53%;
  margin: auto;
  position: relative;
  top: -30px;
}
@media screen and (max-width: 1200px) {
  main.top #search_area .section_inner .search_box.pref .content_box .map {
    width: 63%;
    margin: calc(100px - 7vw) auto;
  }
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .map {
    display: none;
  }
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box {
  background-color: #70d083;
  border-radius: 3px;
  padding: 4px;
  width: 214px;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box {
    margin-bottom: 20px;
    width: 100%;
  }
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box .ttl_box {
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding: 4px 0 0;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box .ttl_box {
    padding: 2px 0 6px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box .ttl_box::after {
    content: "";
    background-image: url("/wp-content/themes/resilience/common/img/top/icon_triangle.svg");
    display: block;
    width: 17px;
    height: 12px;
    position: absolute;
    right: 2px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box .ttl_box.open::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
    top: 40%;
  }
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box .ttl_box .area {
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.15em;
  color: #ffffff;
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap {
  margin-top: 10px;
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap .pref_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap .pref_list {
    gap: 8px;
  }
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap .pref_list .list {
  width: calc((100% - 4px) / 2);
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap .pref_list .list {
    width: calc((100% - 8px) / 2);
  }
}
main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap .pref_list .list a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding: 6px 0px;
  border-radius: 2px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.15em;
  color: #222222;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box .pref_list_wrap .pref_list .list a {
    padding: 10px 4px;
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kanto .pref_list_wrap .pref_list .list, main.top #search_area .section_inner .search_box.pref .content_box .pref_box.hokkaido .pref_list_wrap .pref_list .list {
    width: calc((100% - 10px) / 3);
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.hokkaido {
    position: absolute;
    right: 70px;
    bottom: 275px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.tokai {
    position: absolute;
    right: 70px;
    bottom: 36px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.shikoku {
    position: absolute;
    right: 290px;
    bottom: 36px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kanto {
    position: absolute;
    right: 70px;
    bottom: 140px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.chugoku {
    position: absolute;
    left: 70px;
    top: 76px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kyushu {
    position: absolute;
    left: 70px;
    top: 211px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.hokuetsu {
    position: absolute;
    left: 290px;
    top: 76px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kansai {
    position: absolute;
    left: 290px;
    top: 211px;
  }
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.hokkaido {
    right: 30px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.tokai {
    right: 30px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.shikoku {
    right: 250px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kanto {
    right: 30px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.chugoku {
    left: 30px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kyushu {
    left: 30px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.hokuetsu {
    left: 250px;
  }
  main.top #search_area .section_inner .search_box.pref .content_box .pref_box.kansai {
    left: 250px;
  }
}
main.top #search_area .section_inner .search_box.resource {
  margin: 42px auto;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.resource {
    margin: 27px auto;
  }
}
main.top #search_area .section_inner .search_box.industry .content_box .search_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 20px;
}
main.top #search_area .section_inner .search_box.industry .content_box .search_list .item {
  width: calc((100% - 60px) / 4);
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.industry .content_box .search_list .item {
    width: calc((100% - 20px) / 2);
  }
}
main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .img_box {
  padding: 31px 10px;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .img_box {
    padding: 16px 10px;
    height: calc(100% - 34px);
  }
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .img_box img {
    width: 80px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .ttl_box {
    padding: 10px;
    height: 34px;
  }
}
main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .ttl_box::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_green.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .ttl_box::after {
    width: 12px;
    height: 12px;
    right: 12px;
  }
}
main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .ttl_box p {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.78;
  letter-spacing: 0.04em;
  color: #222222;
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  main.top #search_area .section_inner .search_box.industry .content_box .search_list .item a .ttl_box p {
    font-size: 12px;
    padding-right: 17px;
  }
}
main.top #article_area {
  background-color: #f9fef7;
  padding: 72px 50px;
}
@media screen and (max-width: 767px) {
  main.top #article_area {
    padding: 35px 25px;
  }
}
main.top #article_area .section_inner {
  max-width: 1100px;
  margin: auto;
}
main.top #article_area .section_inner .report_wrap {
  margin-bottom: 72px;
}
main.top #article_area .section_inner .report_wrap .report_box {
  background-color: #fff;
  padding: 30px;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box {
    padding: 25px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 20px 3%;
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item {
  width: 47%;
  height: 134px;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item {
    width: 100%;
    height: 88px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 20px;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item a {
    gap: 12px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a:hover {
  opacity: 0.8;
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a:hover img {
  opacity: 1;
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .thumb {
  width: 134px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .thumb {
    width: 88px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box {
  width: calc(100% - 134px - 20px);
  height: 100%;
  padding-right: 30px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid #e4e4e4;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box {
    width: calc(100% - 88px - 12px);
    padding-right: 20px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_green.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box::after {
    width: 16px;
    height: 16px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box .ttl {
  font-weight: 600;
  font-size: 17px;
  line-height: 1.33;
  letter-spacing: 0.04em;
  color: #3ba47e;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box .ttl {
    font-size: 14px;
  }
}
main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box .txt {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #222222;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .report_wrap .report_box .list .list_item a .txt_box .txt {
    font-size: 12px;
  }
}
main.top #article_area .section_inner .trivia_wrap .report_box {
  background-color: #fff;
  padding: 30px;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .trivia_wrap .report_box {
    padding: 25px;
  }
}
main.top #article_area .section_inner .trivia_wrap .report_box .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item {
    width: 100%;
  }
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a {
  width: 100%;
  height: 100%;
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a:hover {
  opacity: 0.8;
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a:hover img {
  opacity: 1;
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box {
  width: 100%;
  height: auto;
  padding-right: 30px;
  position: relative;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 28px;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box {
    padding-right: 20px;
  }
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_green.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box::after {
    width: 16px;
    height: 16px;
  }
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box .ttl {
  font-weight: 600;
  font-size: 17px;
  line-height: 1.33;
  letter-spacing: 0.04em;
  color: #3ba47e;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box .ttl {
    font-size: 14px;
  }
}
main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box .txt {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #222222;
}
@media screen and (max-width: 767px) {
  main.top #article_area .section_inner .trivia_wrap .report_box .list .list_item a .txt_box .txt {
    font-size: 12px;
  }
}
main.top #registration_area {
  background: -webkit-gradient(linear, right top, left top, from(#f9ffea), to(#e9f8ef));
  background: -webkit-linear-gradient(right, #f9ffea, #e9f8ef);
  background: linear-gradient(to left, #f9ffea, #e9f8ef);
  padding: 72px 50px;
}
@media screen and (max-width: 767px) {
  main.top #registration_area {
    padding: 35px 25px;
  }
}
main.top #registration_area .section_inner {
  max-width: 1100px;
  margin: auto;
}
main.top #registration_area .section_inner .sub_ttl {
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.04em;
  color: #39ac83;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .sub_ttl {
    font-size: 12px;
  }
}
main.top #registration_area .section_inner .sec_ttl {
  font-weight: 600;
  font-size: 40px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 26px;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .sec_ttl {
    font-size: 28px;
  }
}
main.top #registration_area .section_inner .lead {
  font-weight: 600;
  font-size: 22px;
  line-height: 1.73;
  text-align: center;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .lead {
    font-size: 16px;
  }
}
main.top #registration_area .section_inner .regi_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  max-width: 990px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .regi_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}
main.top #registration_area .section_inner .regi_list .box {
  width: 31%;
  height: auto;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .regi_list .box {
    width: 100%;
    aspect-ratio: unset;
    padding: 25px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .regi_list .box .flex_box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    gap: 10px;
  }
}
main.top #registration_area .section_inner .regi_list .box .flex_box img {
  width: 100px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .regi_list .box .flex_box img {
    width: 52px;
    margin: 0;
  }
}
main.top #registration_area .section_inner .regi_list .box .flex_box .ttl {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.44;
  text-align: center;
  letter-spacing: 0.04em;
  color: #37a57e;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .regi_list .box .flex_box .ttl {
    font-size: 20px;
    text-align: left;
  }
}
main.top #registration_area .section_inner .regi_list .box .lead {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.42;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  main.top #registration_area .section_inner .regi_list .box .lead {
    font-size: 16px;
    margin: 0;
  }
}
body.lp {
  background: -webkit-gradient(linear, right top, left top, from(#f2feea), to(#defafc));
  background: -webkit-linear-gradient(right, #f2feea, #defafc);
  background: linear-gradient(to left, #f2feea, #defafc);
  position: relative;
}
body.lp header {
  background-color: transparent;
  position: absolute;
  top: 0;
}
body.lp header div.header__inner {
  background-color: transparent;
}
body.lp header div.header__inner nav#header_nav {
  display: none;
}
body.lp main {
  padding-top: 0;
  background-color: transparent;
}
body.lp main .float_btn {
  z-index: 10;
}
@media screen and (min-width: 768px) {
  body.lp main .float_btn {
    position: fixed;
    right: 0;
    top: 100px;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    border-radius: 10px 0 0 10px;
    padding: 27px 19px 47px;
    font-size: 16px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  body.lp main .float_btn::after {
    top: unset;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 767px) {
  body.lp main .float_btn {
    position: fixed;
    bottom: 0px;
    right: unset;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  body.lp main .float_btn.active {
    opacity: 1;
    visibility: visible;
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
}
body.lp main .sec_ttl_en {
  text-align: center;
}
body.lp main .sec_ttl_en .ttl_img {
  width: auto;
  display: inline-block;
  margin: auto;
}
body.lp main .sec_ttl_jp {
  font-weight: 900;
  font-size: 34px;
  line-height: 116%;
  text-align: center;
  color: #404040;
  margin: 20px 40px;
}
@media screen and (max-width: 767px) {
  body.lp main .sec_ttl_jp {
    font-size: 23px;
    margin: 20px auto;
  }
}
body.lp main #lp_mv {
  position: relative;
  padding: 140px 0 100px 40px;
  overflow: hidden;
}
@media screen and (min-width: 1600px) {
  body.lp main #lp_mv {
    padding-left: 320px;
  }
}
@media screen and (max-width: 767px) {
  body.lp main #lp_mv {
    padding: 100px 20px 60px;
  }
}
body.lp main #lp_mv .ttl_box {
  max-width: 688px;
  margin: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body.lp main #lp_mv .ttl_box {
    margin: auto;
  }
}
body.lp main #lp_mv .ttl_box .mv_ttl1 {
  display: block;
  margin: auto;
  max-width: 386px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  body.lp main #lp_mv .ttl_box .mv_ttl1 {
    width: 80%;
  }
}
body.lp main #lp_mv .ttl_box .mv_ttl2 {
  display: block;
  margin: 35px auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  body.lp main #lp_mv .ttl_box .mv_ttl2 {
    width: 100%;
  }
}
body.lp main #lp_mv .ttl_box .txt {
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-size: 24px;
  line-height: 35px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #009d95;
}
@media screen and (max-width: 767px) {
  body.lp main #lp_mv .ttl_box .txt {
    text-align: left;
    margin-bottom: 20px;
    padding-left: 15px;
  }
}
body.lp main #lp_mv .mv_main {
  position: absolute;
  right: -24%;
  width: 1258px;
  z-index: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 90%;
}
@media screen and (max-width: 767px) {
  body.lp main #lp_mv .mv_main {
    position: absolute;
    right: -100%;
    width: auto;
    height: 110%;
    z-index: 0;
    top: 10%;
    -webkit-transform: none;
            transform: none;
    max-width: unset;
  }
}
body.lp main #lead {
  padding: 40px 60px;
  background-color: #55c39c;
}
@media screen and (max-width: 767px) {
  body.lp main #lead {
    padding: 40px 25px;
  }
}
body.lp main #lead .ttl {
  font-weight: 900;
  font-size: 42px;
  line-height: 116%;
  text-align: center;
  letter-spacing: 0.04em;
  color: #ffffff;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  body.lp main #lead .ttl {
    font-size: 26px;
  }
}
body.lp main #lead .sub_ttl {
  font-weight: 700;
  font-size: 20px;
  line-height: 116%;
  text-align: center;
  color: #ffffff;
  position: relative;
  z-index: 1;
  padding: 0 20px;
  background-color: #55c39c;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media screen and (max-width: 767px) {
  body.lp main #lead .sub_ttl {
    font-size: 4vw;
  }
}
body.lp main #lead .lead_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 10px;
  max-width: 1300px;
  margin: auto;
  border-top: 2px solid #72d7b3;
  padding-top: 80px;
  margin-top: -10px;
}
@media screen and (max-width: 767px) {
  body.lp main #lead .lead_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 45px;
    margin-top: 10px;
  }
}
body.lp main #lead .lead_flex .flex_box {
  width: 32%;
  position: relative;
  background-color: #fff;
  padding: 33px 10px;
  text-align: center;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  body.lp main #lead .lead_flex .flex_box {
    width: 100%;
  }
}
body.lp main #lead .lead_flex .flex_box .num_img {
  position: absolute;
  width: 90px;
  height: 90px;
  top: -20px;
  left: 10px;
}
body.lp main #lead .lead_flex .flex_box .icon_img {
  display: block;
  width: 82px;
  margin: auto;
}
body.lp main #lead .lead_flex .flex_box .txt1 {
  font-weight: 700;
  font-size: 20px;
  line-height: 29px;
  letter-spacing: 0.04em;
  color: #37a57e;
  margin: 24px auto 10px;
}
@media screen and (max-width: 1230px) {
  body.lp main #lead .lead_flex .flex_box .txt1 {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 767px) {
  body.lp main #lead .lead_flex .flex_box .txt1 {
    font-size: 4.5vw;
  }
}
body.lp main #lead .lead_flex .flex_box .txt2 {
  font-weight: 500;
  font-size: 16px;
  line-height: 23px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1230px) {
  body.lp main #lead .lead_flex .flex_box .txt2 {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 767px) {
  body.lp main #lead .lead_flex .flex_box .txt2 {
    font-size: 3.5vw;
  }
}
body.lp main #about {
  padding: 80px 40px;
}
@media screen and (max-width: 767px) {
  body.lp main #about {
    padding: 40px 25px;
  }
}
@media screen and (max-width: 767px) {
  body.lp main #about .sec_ttl_en .ttl_img {
    max-height: 55px;
  }
}
body.lp main #about .lead {
  max-width: 1000px;
  margin: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.lp main #about .lead {
    text-align: left;
  }
}
body.lp main #about .lead .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
}
body.lp main #about .flex {
  max-width: 1200px;
  margin: 60px auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  body.lp main #about .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body.lp main #about .flex .box {
  width: calc((100% - 30px) / 2);
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  body.lp main #about .flex .box {
    width: 100%;
  }
}
body.lp main #purpose {
  padding: 80px 0;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose {
    padding: 40px 0px;
  }
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .sec_ttl_en .ttl_img {
    max-height: 55px;
  }
}
@media screen and (min-width: 768px) {
  body.lp main #purpose .sec_ttl_float {
    position: absolute;
    top: 80px;
    left: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
    gap: 20px;
  }
  body.lp main #purpose .sec_ttl_float .sec_ttl_jp {
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    margin: 0;
  }
}
body.lp main #purpose .purpose_box.box1 {
  background-color: #55c39c;
  border-radius: 40px 0 0 40px;
  width: calc(100% - 300px);
  margin: 0 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  padding: 30px 67px;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box1 {
    width: calc(100% - 35px);
    padding: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
body.lp main #purpose .purpose_box.box1 .txt_box {
  width: 48%;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box1 .txt_box {
    width: 100%;
  }
}
body.lp main #purpose .purpose_box.box1 .txt_box .ttl {
  font-weight: 700;
  font-size: 34px;
  line-height: 116%;
  color: #ffffff;
  margin: 20px 0 30px;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box1 .txt_box .ttl {
    font-size: 24px;
  }
}
body.lp main #purpose .purpose_box.box1 .txt_box .txt {
  font-weight: 600;
  font-size: 16px;
  line-height: 34px;
  letter-spacing: 0.04em;
  color: #ffffff;
}
body.lp main #purpose .purpose_box.box1 .img {
  width: 48%;
  border-radius: 16px;
  aspect-ratio: 500/400;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box1 .img {
    width: 100%;
  }
}
body.lp main #purpose .purpose_box.box1 .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.lp main #purpose .purpose_box.box2 {
  background-color: #55c39c;
  border-radius: 0 40px 40px 0;
  width: calc(100% - 60px);
  margin: 30px auto 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  padding: 30px 67px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box2 {
    width: calc(100% - 35px);
    padding: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
body.lp main #purpose .purpose_box.box2 .txt_box {
  width: 48%;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box2 .txt_box {
    width: 100%;
  }
}
body.lp main #purpose .purpose_box.box2 .txt_box .ttl {
  font-weight: 700;
  font-size: 34px;
  line-height: 116%;
  color: #ffffff;
  margin: 20px 0 30px;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box2 .txt_box .ttl {
    font-size: 24px;
  }
}
body.lp main #purpose .purpose_box.box2 .txt_box .txt {
  font-weight: 600;
  font-size: 16px;
  line-height: 34px;
  letter-spacing: 0.04em;
  color: #ffffff;
}
body.lp main #purpose .purpose_box.box2 .img {
  width: 900px;
  border-radius: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  body.lp main #purpose .purpose_box.box2 .img {
    width: 100%;
  }
}
body.lp main #purpose .purpose_box.box2 .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.lp main #movie {
  padding: 80px 40px;
}
@media screen and (max-width: 767px) {
  body.lp main #movie {
    padding: 40px 25px;
  }
}
body.lp main #movie .sec_icon {
  width: 100px;
  height: 100px;
  margin: 0 auto 10px;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .sec_icon {
    width: 78px;
    height: 78px;
  }
}
body.lp main #movie .movie {
  max-width: 1014px;
  margin: 50px auto 0;
  border-radius: 24px;
}
body.lp main #movie .movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}
body.lp main #movie .movie_detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 30px;
  max-width: 1014px;
  margin: 94px auto;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .movie_detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    margin: 30px auto 50px;
    gap: 30px;
  }
}
body.lp main #movie .movie_detail img {
  border-radius: 24px;
  width: calc(100% - 30px - 482px);
}
@media screen and (max-width: 767px) {
  body.lp main #movie .movie_detail img {
    width: 80%;
    margin: auto;
    display: block;
  }
}
body.lp main #movie .movie_detail p {
  width: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .movie_detail p {
    width: 100%;
    text-align: left;
  }
}
body.lp main #movie .orange_btn {
  padding: 25px 70px;
  margin: 50px auto 150px;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .orange_btn {
    padding: 25px 20px;
  }
}
body.lp main #movie .orange_btn::after {
  content: none;
}
body.lp main #movie .sec_ttl2 {
  font-weight: 800;
  font-size: 34px;
  line-height: 116%;
  text-align: center;
  letter-spacing: 0.04em;
  color: #21bac3;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .sec_ttl2 {
    font-size: 23px;
  }
}
body.lp main #movie .logo_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 20px 1%;
  max-width: 1235px;
  margin: 20px auto 0;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .logo_list {
    width: 90%;
  }
}
body.lp main #movie .logo_list .box {
  width: 15.6666666667%;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #dbdbdb;
  padding: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
}
@media screen and (max-width: 767px) {
  body.lp main #movie .logo_list .box {
    width: 48%;
  }
}
body.lp main #movie .logo_list .box img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body.lp main #fukuoka {
  position: relative;
  padding: 80px 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka {
    padding: 40px 0;
  }
}
@media screen and (min-width: 768px) {
  body.lp main #fukuoka .sec_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
  }
}
@media screen and (min-width: 768px) {
  body.lp main #fukuoka .sec_wrap .sec_ttl_float {
    position: -webkit-sticky;
    position: sticky;
    top: 80px;
    margin-left: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
    gap: 20px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  body.lp main #fukuoka .sec_wrap .sec_ttl_float .sec_ttl_en .ttl_img {
    max-height: 80vh;
  }
}
@media screen and (min-width: 768px) {
  body.lp main #fukuoka .sec_wrap .sec_ttl_float .sec_ttl_jp {
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    margin: 0;
  }
}
body.lp main #fukuoka .sec_wrap .txt.white {
  color: #fff;
}
body.lp main #fukuoka .sec_wrap .right {
  background-color: #21bac3;
  padding: 123px 68px 77px 148px;
  width: calc(100% - 200px);
  border-radius: 48px 0 0 48px;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right {
    width: 100%;
    padding: 40px 20px;
    border-radius: 48px 48px 0 0;
  }
}
body.lp main #fukuoka .sec_wrap .right .right_wrap {
  max-width: 964px;
  margin: auto;
}
body.lp main #fukuoka .sec_wrap .right .flex1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-align-content: flex-end;
      -ms-flex-line-pack: end;
          align-content: flex-end;
  gap: 10px;
  margin-bottom: 20px;
}
body.lp main #fukuoka .sec_wrap .right .flex1 .left_box {
  width: 50%;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .flex1 .left_box {
    width: 100%;
  }
}
body.lp main #fukuoka .sec_wrap .right .flex1 .left_box .ttl {
  font-weight: 700;
  font-size: 34px;
  line-height: 116%;
  color: #ffffff;
  margin-bottom: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 25px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .flex1 .left_box .ttl {
    font-size: 24px;
    text-align: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 10px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
  }
}
body.lp main #fukuoka .sec_wrap .right .flex1 .left_box .ttl img {
  width: 84px;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .flex1 .left_box .ttl img {
    width: 74px;
  }
}
body.lp main #fukuoka .sec_wrap .right .flex1 .left_box .logo {
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .flex1 .left_box .logo {
    width: 90%;
    margin: 0 auto 20px;
  }
}
body.lp main #fukuoka .sec_wrap .right .flex1 .right_box {
  width: 55%;
  padding: 0 72px;
}
body.lp main #fukuoka .sec_wrap .right .flex1 .right_box .logo {
  border-radius: 16px;
}
body.lp main #fukuoka .sec_wrap .right .white_box {
  background-color: #fff;
  border-radius: 16px;
  padding: 33px 38px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box {
    padding: 35px 20px 28px;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .ttl {
  font-weight: 700;
  font-size: 34px;
  line-height: 116%;
  color: #1ea9b1;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .ttl {
    font-size: 23px;
    text-align: center;
    margin-bottom: 15px;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .flex2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .flex2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .left_box {
  width: 60%;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .left_box {
    width: 100%;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box {
  width: calc(32% - 10px);
}
@media screen and (min-width: 768px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box {
    width: 80%;
    margin: 20px auto;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box img {
  border-radius: 16px;
}
body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box .position {
  font-weight: 500;
  font-size: 12px;
  line-height: 34px;
  letter-spacing: 0.04em;
  color: #000000;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box .position {
    font-size: 12px;
    text-align: center;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box .name {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  body.lp main #fukuoka .sec_wrap .right .white_box .flex2 .right_box .name {
    text-align: center;
  }
}
body.lp main #fukuoka .sec_wrap .right .white_box .txt.al-right {
  text-align: right;
  margin-top: 40px;
}
body.lp main #detail {
  padding: 80px 40px 0;
}
@media screen and (max-width: 767px) {
  body.lp main #detail {
    padding: 40px 35px 0;
  }
}
body.lp main #detail .lead {
  font-weight: bold;
  text-align: center;
  margin: 40px auto;
}
@media screen and (max-width: 767px) {
  body.lp main #detail .lead {
    text-align: left;
  }
}
body.lp main #detail .img_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  max-width: 1230px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  body.lp main #detail .img_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
body.lp main #detail .img_flex img {
  width: 100%;
  max-width: 900px;
}
body.lp main #form {
  background-color: #fff;
  padding: 65px 40px;
  /* ====== Contact Form 7 - カスタムスタイル ====== */
  /* ラベル・左のグリーンドット */
  /* 入力欄 */
  /* プレースホルダー色 */
  /* select カスタム矢印 */
  /* テキストエリア */
  /* ファイル入力：見た目をボタン風に */
  /* CF7がfileに付与するinputにクラスつけた場合の保険 */
  /* チェックボックス/ラベルグリッド */
  /* cf-checkbox を丸いボタンにして、チェックで緑のチェックを表示する */
  /* inputは見えなくするがフォーカス可能に */
  /* label内のテキストを包むspanを左に余白（丸領域分）を取る */
  /* 左側に丸い外枠を描画（spanの疑似要素） */
  /* チェックマーク（初期は非表示） */
  /* チェックされている時の見た目 */
  /* チェック／フォーカス時の枠色変化（アクセシビリティ向上） */
  /* 利用規約ボックス */
  /* 同意チェック（acceptance） */
  /* 送信ボタン（オレンジの丸ボタン） */
  /* フォーカス時の見た目 */
  /* 小さな調整 */
  /* ファイルボタン */
  /* 実際の input[type=file] は大きくして透明化（キーボード操作可能） */
  /* ボタンの見た目（丸長方形：緑枠） */
  /* 選択済み＝ボタン内をファイル名に置き換えたときに色を変えたい場合は下記を調整 */
  /* フォーカス時の視覚効果 */
  /* モバイルで幅調整 */
}
@media screen and (max-width: 767px) {
  body.lp main #form {
    padding: 40px 25px;
  }
}
body.lp main #form form {
  max-width: 875px;
  margin: 67px auto 0;
}
body.lp main #form .wpcf7 .cf-contact {
  max-width: 800px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  color: #222;
}
body.lp main #form .wpcf7 .cf-row {
  margin-bottom: 40px;
}
body.lp main #form .wpcf7 .cf-row .vertical {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 10px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
body.lp main #form .wpcf7 .cf-row .vertical select {
  margin-bottom: 20px;
}
body.lp main #form .wpcf7 .cf-row--two {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
body.lp main #form .wpcf7 .cf-col {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 48%;
      -ms-flex: 1 1 48%;
          flex: 1 1 48%;
  min-width: 200px;
}
body.lp main #form .wpcf7 .cf-label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  font-weight: 600;
  color: #222;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  body.lp main #form .wpcf7 .cf-label {
    font-size: 20px;
  }
}
body.lp main #form .wpcf7 .cf-label:hover {
  cursor: default;
}
body.lp main #form .wpcf7 .cf-label .dot {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #37c498;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  body.lp main #form .wpcf7 .cf-label .dot {
    width: 15px;
    height: 15px;
  }
}
body.lp main #form .wpcf7 .cf-label .req-txt {
  color: #e74c3c;
  font-weight: 700;
  margin-left: 8px;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  body.lp main #form .wpcf7 .cf-label .req-txt {
    font-size: 20px;
  }
}
body.lp main #form .wpcf7 .cf-input,
body.lp main #form .wpcf7 .cf-select,
body.lp main #form .wpcf7 .cf-textarea,
body.lp main #form .wpcf7 input[type=email],
body.lp main #form .wpcf7 input[type=tel],
body.lp main #form .wpcf7 input[type=text],
body.lp main #form .wpcf7 input[type=url] {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 16px 18px;
  border-radius: 10px;
  border: 1px solid #d3d3d3;
  background: #fff;
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
  font-size: 15px;
  color: #666;
}
body.lp main #form .wpcf7 .cf-input::-webkit-input-placeholder, body.lp main #form .wpcf7 input::-webkit-input-placeholder, body.lp main #form .wpcf7 .cf-textarea::-webkit-input-placeholder {
  color: #d6d6d6;
}
body.lp main #form .wpcf7 .cf-input::-moz-placeholder, body.lp main #form .wpcf7 input::-moz-placeholder, body.lp main #form .wpcf7 .cf-textarea::-moz-placeholder {
  color: #d6d6d6;
}
body.lp main #form .wpcf7 .cf-input:-ms-input-placeholder, body.lp main #form .wpcf7 input:-ms-input-placeholder, body.lp main #form .wpcf7 .cf-textarea:-ms-input-placeholder {
  color: #d6d6d6;
}
body.lp main #form .wpcf7 .cf-input::-ms-input-placeholder, body.lp main #form .wpcf7 input::-ms-input-placeholder, body.lp main #form .wpcf7 .cf-textarea::-ms-input-placeholder {
  color: #d6d6d6;
}
body.lp main #form .wpcf7 .cf-input::placeholder,
body.lp main #form .wpcf7 input::placeholder,
body.lp main #form .wpcf7 .cf-textarea::placeholder {
  color: #d6d6d6;
}
body.lp main #form .wpcf7 .cf-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: -webkit-linear-gradient(45deg, transparent 50%, #000 50%), -webkit-linear-gradient(315deg, #000 50%, transparent 50%);
  background-image: linear-gradient(45deg, transparent 50%, #000 50%), linear-gradient(135deg, #000 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 12px) 50%;
  background-size: 10px 10px, 10px 10px;
  background-repeat: no-repeat;
  padding-right: 44px; /* 余白は必要に応じて調整 */
}
body.lp main #form .wpcf7 .cf-textarea {
  min-height: 180px;
  resize: vertical;
}
body.lp main #form .wpcf7 .cf-file {
  display: inline-block;
  margin-bottom: 8px;
  padding: 12px 28px;
  border-radius: 28px;
  border: 2px solid #37c498;
  background: #fff;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.04);
          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.04);
  font-weight: 600;
}
body.lp main #form .wpcf7 input[type=file].cf-file {
  opacity: 1;
}
body.lp main #form .wpcf7 .cf-matrix {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
@media (max-width: 700px) {
  body.lp main #form .wpcf7 .cf-row--two {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body.lp main #form .wpcf7 .cf-checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
}
body.lp main #form .wpcf7 .cf-checkbox input {
  width: 16px;
  height: 16px;
}
body.lp main #form .cf-checkbox {
  position: relative;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  cursor: pointer;
  border: none;
}
body.lp main #form .cf-checkbox input[type=checkbox] {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  opacity: 0; /* 画面上は見えないがフォーカス/クリックは受ける */
  z-index: 2;
  cursor: pointer;
}
body.lp main #form .cf-checkbox span {
  display: inline-block;
  padding-left: 44px; /* 32pxの丸 + 左右の余白 */
  position: relative;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
body.lp main #form .cf-checkbox span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #d3d3d3; /* 枠線色 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color 0.18s ease, background 0.18s ease, -webkit-box-shadow 0.18s ease;
  transition: border-color 0.18s ease, background 0.18s ease, -webkit-box-shadow 0.18s ease;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, -webkit-box-shadow 0.18s ease;
  z-index: 1;
}
body.lp main #form .cf-checkbox span::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  /* チェックの大きさ */
  width: 10px;
  height: 18px;
  -webkit-transform: translate(-50%, -60%) rotate(45deg) scale(0.8);
          transform: translate(-50%, -60%) rotate(45deg) scale(0.8);
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  opacity: 0;
  -webkit-transition: opacity 0.18s ease, -webkit-transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.18s ease, -webkit-transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.18s ease, transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.18s ease, transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 3;
  pointer-events: none;
}
body.lp main #form .cf-checkbox input[type=checkbox]:checked + span::after {
  border-right-color: #5ca98e; /* 緑のチェック色 */
  border-bottom-color: #5ca98e;
  opacity: 1;
  -webkit-transform: translate(-50%, -60%) rotate(45deg) scale(1);
          transform: translate(-50%, -60%) rotate(45deg) scale(1);
}
body.lp main #form .wpcf7 .cf-terms {
  border: 1px solid #e8e8e8;
  background: #fafafa;
  padding: 50px;
  border-radius: 8px;
  color: #666;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  body.lp main #form .wpcf7 .cf-terms {
    padding: 20px;
  }
}
body.lp main #form .wpcf7 .cf-accept {
  text-align: center;
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 10px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-weight: bold;
  position: relative;
  /* span 内に擬似要素でチェックボックス本体を描画する準備 */
  /* 見えないがクリック・フォーカス可能な実際の input を box に重ねる */
  /* □ 本体（span の ::before で描画） */
  /* チェックマーク（初期は非表示） -- span::after で描画 */
  /* チェック時の色と表示 */
  /* フォーカス表示（キーボード操作の可視化） */
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label > .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 44px; /* 31px 本体 + 左右の余白を確保 */
  line-height: 1.2;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label > input[type=checkbox] {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 31px;
  height: 31px;
  margin: 0;
  padding: 0;
  opacity: 0; /* 見えなくする（しかしフォーカス/クリックは生きる） */
  cursor: pointer;
  z-index: 4;
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label > .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 31px;
  height: 31px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 3px solid #d3d3d3; /* 指定の枠線 */
  background: #fff; /* 背景白 */
  border-radius: 0; /* 角丸にしたければここで調整 */
  z-index: 2;
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label > .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  /* チェックのサイズ調整（見た目を微調整したい場合は width/height と border の太さを変える） */
  width: 10px;
  height: 18px;
  -webkit-transform: translate(0, -60%) rotate(45deg) scale(0.9);
          transform: translate(0, -60%) rotate(45deg) scale(0.9);
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  opacity: 0;
  -webkit-transition: opacity 0.12s ease, -webkit-transform 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.12s ease, -webkit-transform 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.12s ease, transform 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.12s ease, transform 0.12s cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 0.12s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 3;
  pointer-events: none;
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label > input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  border-right-color: #5ca98e; /* チェック色 */
  border-bottom-color: #5ca98e;
  opacity: 1;
  -webkit-transform: translate(0, -60%) rotate(45deg) scale(1);
          transform: translate(0, -60%) rotate(45deg) scale(1);
}
body.lp main #form .wpcf7 .wpcf7-form-control.wpcf7-acceptance label > input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  border-color: #5ca98e;
}
@media screen and (max-width: 767px) {
  body.lp main #form .wpcf7 .cf-submit input[type=submit],
  body.lp main #form .wpcf7 input.wpcf7-submit.cf-submit {
    font-size: 20px;
    padding: 15px 0px;
    width: 260px;
  }
}
body.lp main #form .wpcf7 .cf-input:focus,
body.lp main #form .wpcf7 .cf-select:focus,
body.lp main #form .wpcf7 .cf-textarea:focus {
  outline: none;
  border-color: #55c39c;
}
body.lp main #form .wpcf7 .cf-row label {
  display: block;
  margin-bottom: 6px;
}
body.lp main #form .cf-file-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  body.lp main #form .cf-file-buttons {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 20px;
  }
}
body.lp main #form .file-btn {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
body.lp main #form .file-btn input[type=file].cf-file {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 5;
}
body.lp main #form .file-btn .btn-txt {
  display: inline-block;
  padding: 32px 108px;
  border-radius: 48px;
  border: 2px solid #37c498;
  background: #fff;
  color: #37c498;
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.04);
          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.04);
  min-width: 140px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: unset;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 20px;
}
body.lp main #form .file-btn.selected .btn-txt {
  color: #333; /* ファイル名はダーク寄りにする（好みで変更） */
}
body.lp main #form .file-btn input[type=file].cf-file:focus + .btn-txt,
body.lp main #form .file-btn input[type=file].cf-file:active + .btn-txt {
  -webkit-box-shadow: 0 6px 18px rgba(55, 196, 152, 0.12);
          box-shadow: 0 6px 18px rgba(55, 196, 152, 0.12);
  border-color: #37c498;
}
@media (max-width: 600px) {
  body.lp main #form .file-btn .btn-txt {
    min-width: 110px;
    padding: 10px 18px;
  }
}

main.single {
  background-color: #f9fef7;
}
main.single .article_wrap {
  padding: 83px 40px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap {
    padding: 40px 25px;
  }
}
main.single .article_wrap article {
  max-width: 1000px;
  margin: auto;
  background-color: #fff;
  padding: 70px 86px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article {
    padding: 32px 20px;
  }
}
main.single .article_wrap article p {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #222222;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article p {
    font-size: 14px;
  }
}
main.single .article_wrap article .black_ttl {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #747474;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .black_ttl {
    font-size: 14px;
  }
}
main.single .article_wrap article .green_ttl {
  font-weight: 600;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #3ba47e;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .green_ttl {
    font-size: 20px;
  }
}
main.single .article_wrap article .article_flex1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-bottom: 10px;
  }
}
main.single .article_wrap article .article_flex1 img {
  width: 47%;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex1 img {
    width: 100%;
  }
}
main.single .article_wrap article .article_flex1 .txt_box {
  width: 100%;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex1 .txt_box {
    width: 100%;
  }
}
main.single .article_wrap article .article_flex1 .txt_box .main_img {
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  main.single .article_wrap article .article_flex1 .txt_box .main_img {
    float: left;
    margin-right: 40px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex1 .txt_box .main_img {
    width: 100%;
    margin-bottom: 20px;
  }
}
main.single .article_wrap article .article_flex1 .txt_box .ttl {
  font-weight: 600;
  font-size: 18px;
  line-height: 2.1;
  letter-spacing: 0.04em;
  color: #3ba47e;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex1 .txt_box .ttl {
    font-size: 16px;
    margin-bottom: 10px;
  }
}
main.single .article_wrap article .article_flex2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 20px;
    margin-top: 10px;
  }
}
main.single .article_wrap article .article_flex2 img {
  width: 47%;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex2 img {
    width: 100%;
  }
}
main.single .article_wrap article .article_flex2 .txt_box {
  width: 47%;
}
@media screen and (max-width: 767px) {
  main.single .article_wrap article .article_flex2 .txt_box {
    width: 100%;
  }
}
main.single .article_wrap .ex_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
  position: relative;
  background-color: #ff6d38;
  max-width: 450px;
  height: 63px;
  border-radius: 10px;
  margin: 50px auto;
  color: #fff;
  font-weight: bold;
}
main.single .article_wrap .ex_btn .icon_pen {
  width: 20px;
  height: 20px;
}
main.single .article_wrap .ex_btn::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_orange.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
main.single.company_info #info_mv {
  background: -webkit-gradient(linear, left top, right top, from(#39ac83), color-stop(50%, #39ac83), to(#65d2ab));
  background: -webkit-linear-gradient(left, #39ac83 0%, #39ac83 50%, #65d2ab 100%);
  background: linear-gradient(to right, #39ac83 0%, #39ac83 50%, #65d2ab 100%);
  padding: 20px 30px 80px;
  border-radius: 0 40px 0 40px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv {
    padding: 20px 20px 40px;
  }
}
main.single.company_info #info_mv .ring {
  position: absolute;
  left: -10px;
  bottom: -10px;
  width: 500px;
  height: 500px;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .ring {
    width: 90%;
    left: -10px;
    top: 40px;
    bottom: unset;
  }
}
main.single.company_info #info_mv .section_inner {
  max-width: 1000px;
  margin: auto;
  position: relative;
  z-index: 1;
}
main.single.company_info #info_mv .section_inner .breadclumb {
  color: #fff;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .section_inner .breadclumb {
    margin: 0;
    font-size: 12px;
  }
}
main.single.company_info #info_mv .section_inner .breadclumb li {
  color: #fff;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .section_inner .breadclumb li {
    font-size: 12px;
  }
}
main.single.company_info #info_mv .section_inner .breadclumb li a {
  color: #fff;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .section_inner .breadclumb li a {
    font-size: 12px;
  }
}
main.single.company_info #info_mv .mv_ttl {
  margin-top: 80px;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.375;
  letter-spacing: 0.04em;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .mv_ttl {
    font-size: 5.3vw;
    margin-top: 40px;
  }
}
main.single.company_info #info_mv .info_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .info_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main.single.company_info #info_mv .info_flex img {
  width: 37%;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .info_flex img {
    width: 100%;
  }
}
main.single.company_info #info_mv .info_flex table {
  width: 57%;
  border-spacing: 0;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .info_flex table {
    width: 100%;
    margin-top: 30px;
  }
}
main.single.company_info #info_mv .info_flex table tbody tr th,
main.single.company_info #info_mv .info_flex table tbody tr td {
  border-bottom: 1px solid #fff;
  width: 40%;
  color: #fff;
  text-align: left;
  vertical-align: top;
  padding: 16px 10px;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .info_flex table tbody tr th,
  main.single.company_info #info_mv .info_flex table tbody tr td {
    padding: 4px 10px;
  }
}
main.single.company_info #info_mv .info_flex table tbody tr th {
  width: 40%;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .info_flex table tbody tr th {
    display: block;
    width: 100%;
    border-bottom: none;
  }
}
main.single.company_info #info_mv .info_flex table tbody tr td {
  width: 60%;
}
@media screen and (max-width: 767px) {
  main.single.company_info #info_mv .info_flex table tbody tr td {
    display: block;
    width: 100%;
  }
}
main.single.company_report .article_wrap {
  padding: 0px 40px 83px;
}
@media screen and (max-width: 767px) {
  main.single.company_report .article_wrap {
    padding: 60px 25px 40px;
  }
}
main.single.company_report .article_wrap .breadclumb {
  margin: 30px auto;
}
main.single.company_report .article_wrap article {
  padding: 50px 100px;
}
@media screen and (max-width: 767px) {
  main.single.company_report .article_wrap article {
    padding: 30px 25px;
  }
}
main.single.trivia .article_wrap {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  main.single.trivia .article_wrap {
    padding-top: 20px;
  }
}
main.single.trivia .article_wrap article .entry-content .thumb_box {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
main.single.trivia .article_wrap article .entry-content .thumb_box .category_name {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 22px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  color: #fff;
  background-color: #39ac83;
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.04em;
}
main.single.trivia .article_wrap article .entry-content p {
  margin-bottom: 1rem;
}
main.single.trivia .article_wrap article .entry-content h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #3ba47e;
  background-color: #f5f5f5;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
main.single.trivia .article_wrap article .entry-content h4 {
  font-weight: 600;
  font-size: 18px;
  line-height: 2.1;
  letter-spacing: 0.04em;
  color: #3ba47e;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
main.single.trivia .article_wrap article .entry-content ul,
main.single.trivia .article_wrap article .entry-content ol {
  margin-left: 1rem;
}

main {
  background-color: #f9fef7;
}
main.page {
  /* ①〜⑳ を使う独自カウンタ */
}
@media screen and (max-width: 767px) {
  main.page ol.wp-block-list {
    padding-left: 10px;
  }
}
main.page ol.wp-block-list.circled {
  list-style: none;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  main.page ol.wp-block-list.circled {
    padding-left: 10px;
  }
}
main.page ol.wp-block-list.circled li {
  list-style: none;
}
main.page.default {
  background-color: #f9fef7;
}
main.page.default .article_wrap {
  max-width: 1000px;
  margin: auto;
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  main.page.default .article_wrap {
    padding-top: 20px;
  }
}
main.page.default .article_wrap article {
  background-color: transparent;
  padding: 70px 0px;
}
@media screen and (max-width: 767px) {
  main.page.default .article_wrap article {
    padding: 32px 0px;
  }
}
main.page.default .article_wrap article .entry-content .thumb_box {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
main.page.default .article_wrap article .entry-content .thumb_box .category_name {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 22px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  color: #fff;
  background-color: #39ac83;
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.04em;
}
main.page.default .article_wrap article .entry-content p {
  margin-bottom: 1rem;
}
main.page.default .article_wrap article .entry-content h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #3ba47e;
  background-color: #f5f5f5;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
main.page.default .article_wrap article .entry-content h4 {
  font-weight: 600;
  font-size: 18px;
  line-height: 2.1;
  letter-spacing: 0.04em;
  color: #3ba47e;
  margin-bottom: 1rem;
  padding-left: 2rem;
}
main.page.default .article_wrap article .entry-content ul,
main.page.default .article_wrap article .entry-content ol {
  margin-left: 1rem;
}
main.page.aboutus .article_wrap {
  padding: 0px 20px 20px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap {
    padding: 50px 25px 20px;
  }
}
main.page.aboutus .article_wrap .breadclumb {
  margin: 20px auto;
}
main.page.aboutus .article_wrap .ring {
  position: absolute;
  width: 440px;
  height: 440px;
  top: -20px;
  left: -20px;
  z-index: 1;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .ring {
    width: 50%;
    height: auto;
    top: 90px;
  }
}
main.page.aboutus .article_wrap .wide_ttl {
  background-color: #39ac83;
  margin: 0 -20px;
  padding: 100px 40px;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .wide_ttl {
    padding: 50px 40px;
  }
}
main.page.aboutus .article_wrap .wide_ttl .ttl {
  max-width: 1000px;
  margin: auto;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .wide_ttl .ttl {
    font-size: 22px;
  }
}
main.page.aboutus .article_wrap .table_wrap {
  padding: 80px 90px;
  background-color: #fff;
  max-width: 1000px;
  margin: auto;
  border-radius: 10px;
  position: relative;
  z-index: 2;
  top: -70px;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .table_wrap {
    top: -40px;
    padding: 40px 30px;
  }
}
main.page.aboutus .article_wrap .table_wrap table {
  width: 100%;
  border-spacing: 0;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .table_wrap table {
    width: 100%;
  }
}
main.page.aboutus .article_wrap .table_wrap table tbody tr th,
main.page.aboutus .article_wrap .table_wrap table tbody tr td {
  border-bottom: 1px solid #a7a7a7;
  width: 40%;
  text-align: left;
  vertical-align: top;
  padding: 30px 10px;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .table_wrap table tbody tr th,
  main.page.aboutus .article_wrap .table_wrap table tbody tr td {
    padding: 4px 10px;
  }
}
main.page.aboutus .article_wrap .table_wrap table tbody tr th {
  width: 30%;
  color: #3ba47e;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .table_wrap table tbody tr th {
    display: block;
    width: 100%;
    border-bottom: none;
    padding-top: 10px;
  }
}
main.page.aboutus .article_wrap .table_wrap table tbody tr td {
  width: 70%;
}
@media screen and (max-width: 767px) {
  main.page.aboutus .article_wrap .table_wrap table tbody tr td {
    display: block;
    width: 100%;
  }
}
main.page.contact .article_wrap {
  padding: 0px 20px 20px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap {
    padding: 50px 25px 20px;
  }
}
main.page.contact .article_wrap .breadclumb {
  margin: 20px auto;
}
main.page.contact .article_wrap .contact_lead {
  max-width: 1000px;
  margin: 40px auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  gap: 10px;
}
main.page.contact .article_wrap .contact_lead img {
  width: 20px;
  display: inline-block;
  margin-top: 7px;
}
main.page.contact .article_wrap .contact_wrap {
  background-color: #fff;
  padding: 70px 130px;
  max-width: 1000px;
  margin: 40px auto;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap .contact_wrap {
    padding: 35px 17px;
  }
}
main.page.contact .article_wrap .contact_wrap form .form_row {
  margin-bottom: 40px;
}
main.page.contact .article_wrap .contact_wrap form .form_row .ttl_area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
  margin-bottom: 6px;
}
main.page.contact .article_wrap .contact_wrap form .form_row .ttl_area p {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #222222;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap .contact_wrap form .form_row .ttl_area p {
    font-size: 16px;
  }
}
main.page.contact .article_wrap .contact_wrap form .form_row .ttl_area .hissu {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #39ac83;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap .contact_wrap form .form_row .ttl_area .hissu {
    font-size: 16px;
  }
}
main.page.contact .article_wrap .contact_wrap form .form_row .input_area input {
  border: 1px solid #222222;
  border-radius: 5px;
  width: 100%;
  background-color: #fff;
}
main.page.contact .article_wrap .contact_wrap form .form_row .input_area textarea {
  border: 1px solid #222222;
  border-radius: 5px;
  width: 100%;
  background-color: #fff;
}
main.page.contact .article_wrap .contact_wrap form .radio_area input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 17px;
  height: 17px;
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  margin-right: 8px;
  vertical-align: middle;
}
main.page.contact .article_wrap .contact_wrap form .radio_area input[type=radio]:checked::after {
  content: "✓";
  position: absolute;
  top: 30%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #39ac83;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}
main.page.contact .article_wrap .contact_wrap form .radio_area input[type=radio]:focus {
  outline: none;
}
main.page.contact .article_wrap .contact_wrap form .radio_area label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  margin-bottom: 8px;
}
main.page.contact .article_wrap .contact_wrap form .radio_area .wpcf7-list-item {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
main.page.contact .article_wrap .contact_wrap form .policy_checkbox_area {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
main.page.contact .article_wrap .contact_wrap form .policy_checkbox_area input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 25px;
  height: 25px;
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  margin-right: 8px;
  vertical-align: middle;
}
main.page.contact .article_wrap .contact_wrap form .policy_checkbox_area input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 11px;
  height: 11px;
  background-color: #39ac83;
  border-radius: 50%;
}
main.page.contact .article_wrap .contact_wrap form .policy_checkbox_area input[type=checkbox]:focus {
  outline: none;
}
main.page.contact .article_wrap .contact_wrap form .policy_checkbox_area label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  margin-top: 8px;
}
main.page.contact .article_wrap .contact_wrap form .policy_checkbox_area p {
  margin: 0;
  cursor: pointer;
}
main.page.contact .article_wrap .contact_wrap form .privacy_box {
  background-color: #f7f7f7;
  padding: 30px;
}
main.page.contact .article_wrap .contact_wrap form .privacy_box ol {
  list-style: auto;
  padding-left: 1rem;
}
main.page.contact .article_wrap .contact_wrap form .privacy_box ol li {
  margin-bottom: 20px;
}
main.page.contact .article_wrap .contact_wrap form .button-contact {
  display: block;
  width: 100%;
  max-width: 450px;
  height: 63px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap .contact_wrap form .button-contact {
    height: 55px;
  }
}
main.page.contact .article_wrap .contact_wrap form .button-contact .btn_wrap {
  margin: auto;
  position: relative;
  width: 100%;
  height: 100%;
}
main.page.contact .article_wrap .contact_wrap form .button-contact .btn_wrap::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_white.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
main.page.contact .article_wrap .contact_wrap form .button-contact .btn_wrap input {
  background-color: #39ac83;
  color: #fff;
  font-weight: bold;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 10px;
}
main.page.contact .article_wrap .contact_wrap form .button-contact .btn_wrap input:hover {
  opacity: 0.8;
  cursor: pointer;
}
main.page.contact .article_wrap .contact_wrap form .button-contact.back .btn_wrap::after {
  background-image: url("/wp-content/themes/resilience/common/img/arrow_gray.svg");
}
main.page.contact .article_wrap .contact_wrap form .button-contact.back .btn_wrap input {
  background-color: #a7a7a7;
}
main.page.contact .article_wrap .contact_wrap form .btn_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap .contact_wrap form .btn_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
main.page.contact .article_wrap .contact_wrap form .btn_flex .button-contact {
  width: 45%;
}
@media screen and (max-width: 767px) {
  main.page.contact .article_wrap .contact_wrap form .btn_flex .button-contact {
    width: 100%;
  }
}
main.page.contact .ex_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 10px;
  position: relative;
  background-color: #39ac83;
  max-width: 450px;
  height: 63px;
  border-radius: 10px;
  margin: 50px auto;
  color: #fff;
  font-weight: bold;
}
main.page.contact .ex_btn .icon_pen {
  width: 20px;
  height: 20px;
}
main.page.contact .ex_btn::after {
  content: "";
  background-image: url("/wp-content/themes/resilience/common/img/arrow_white.svg");
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
main.page.contact.thanks .contact_lead {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

header {
  position: fixed;
  z-index: 100;
  width: 100%;
  background-color: #fff;
}
header div.header__inner {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 14px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 81px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  header div.header__inner {
    max-width: none;
    margin: 0 auto;
    height: 81px;
  }
}
header div.header__inner h1 {
  width: 255px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  header div.header__inner h1 {
    width: 180px;
  }
}
header div.header__inner nav#header_nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 40px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  header div.header__inner nav#header_nav {
    display: none;
  }
}
header div.header__inner nav#header_nav a {
  padding: 10px;
  display: block;
  height: 100%;
  text-align: center;
}
header div.header__inner nav#header_nav a img {
  margin-bottom: 10px;
  width: 20px;
  height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
}
header div.header__inner nav#header_nav a span {
  font-weight: 600;
  font-size: 14px;
  line-height: 19px;
  color: #222222;
}
header div.header__inner nav#header_nav a.contact {
  background-color: #39ac83;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 14px;
  border-radius: 26px;
  padding: 10px 41px;
}
header div.header__inner nav#header_nav a.contact span {
  color: #fff;
}

footer .footer_top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; /* ← ここで子要素を縦に引き伸ばす */
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 0;
  background-color: rgba(0, 0, 0, 0.33);
  padding: 10px;
}
@media screen and (min-width: 768px) {
  footer .footer_top {
    display: none;
  }
}
footer .footer_top a {
  /* 横幅は元のままに、縦は親に合わせて揃える */
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 32%;
      -ms-flex: 0 0 32%;
          flex: 0 0 32%; /* 幅を固定的に 32% に（必要なら調整） */
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* padding を含める */
  padding: 10px 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; /* a を縦方向の flex にする */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; /* 中身を縦中央に（必要なら space-between 等に）*/
  text-align: center;
  background-color: #fff;
  gap: 4px;
}
footer .footer_top a img {
  margin: 0 auto;
  width: 20px;
  height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
}
footer .footer_top a span {
  font-weight: 600;
  font-size: 2.5vw;
  line-height: 19px;
  color: #222;
}
footer .footer_top a.contact {
  background-color: #39ac83;
}
footer .footer_top a.contact span {
  color: #fff;
}
footer div.footer__inner {
  padding: 40px;
  background-color: #55c39c;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner {
    padding: 40px 10px;
  }
}
footer div.footer__inner .logo {
  max-width: 340px;
  height: auto;
  display: block;
  margin: 0 auto 30px;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner .logo {
    width: 70%;
  }
}
footer div.footer__inner p {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  color: #ffffff;
}
footer div.footer__inner .link_list {
  margin: 40px auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner .link_list {
    width: 80%;
  }
}
footer div.footer__inner .link_list li a {
  font-weight: 600;
  font-size: 14px;
  line-height: 34px;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-decoration: underline;
}

body,
html {
  width: 100%;
  overflow-x: clip;
}