@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1.リセット
 * 2.共通設定
 * 3.レイアウト設定
 * 4.テンプレートスタイル
 * 5.コンテンツスタイル
 * 6.装飾
 * 7.印刷用調整
 * 
 ****************************************************/
/****************************************************
 * 1.リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5;
}

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

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img, svg {
  border: 0;
}

address, caption, cite, dfn, em, strong, th {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type=submit], input[type=button], input[type=reset] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

article, aside, footer, header, nav, section {
  display: block;
}

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

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none;
}

/****************************************************
 * 2.共通
 ****************************************************/
html {
  background-color: transparent;
  background-image: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  color: #222C19;
  scroll-behavior: smooth;
  scroll-padding-top: 11.2rem;
}
@media only screen and (max-width: 1099px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 900px) {
  html {
    scroll-padding-top: 7.2rem;
  }
}
@media only screen and (max-width: 780px) {
  html {
    height: 100%;
    font-size: 10px;
  }
}

body {
  font-size: 1.6rem;
}
@media only screen and (max-width: 780px) {
  body {
    font-size: 1.5rem;
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #222C19;
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

@media only screen and (max-width: 900px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1279px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 780px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 901px) {
  .tb_sp {
    display: none !important;
  }
}

@media only screen and (min-width: 781px) {
  .sp {
    display: none !important;
  }
}

.inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}
@media only screen and (max-width: 780px) {
  .inner {
    width: 88%;
  }
}

/*見出し*/
.midashi01 {
  margin-bottom: 0.8em;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.275;
}
@media only screen and (max-width: 780px) {
  .midashi01 {
    font-size: 2.7rem;
  }
}
.midashi01 span {
  margin-bottom: 0.3em;
  font-family: "Poppins", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: block;
  color: #22A752;
}
@media only screen and (max-width: 780px) {
  .midashi01 span {
    font-size: 2rem;
  }
}
.midashi01.white {
  color: #ffffff;
}
.midashi01.white span {
  color: #ffffff;
}
.midashi01.center {
  text-align: center;
}

/*ボタン*/
.btn01 {
  width: 28rem;
  padding: 0.88em 2.5em;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff !important;
  background-image: url("../img/icon_arrow04.png");
  background-repeat: no-repeat;
  background-size: 1.3em auto;
  background-position: calc(100% - 1.3em) center;
  border: solid 1px #ffffff;
  border-radius: 99px;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn01:hover {
    color: #222C19 !important;
    background-color: #ffffff;
    background-image: url("../img/icon_arrow06.png");
  }
}
@media only screen and (max-width: 780px) {
  .btn01 {
    width: 24.6rem;
    padding: 0.75em 2.5em;
    font-size: 1.6rem;
  }
}
.btn02 {
  width: 28rem;
  padding: 0.88em 2.5em;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff !important;
  background-color: #222222;
  background-image: url("../img/icon_arrow04.png");
  background-repeat: no-repeat;
  background-size: 1.3em auto;
  background-position: calc(100% - 1.3em) center;
  border: solid 1px #222222;
  border-radius: 99px;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn02:hover {
    color: #222C19 !important;
    background-color: #ffffff;
    background-image: url("../img/icon_arrow06.png");
  }
}
@media only screen and (max-width: 780px) {
  .btn02 {
    width: 24.6rem;
    padding: 0.75em 2.5em;
    font-size: 1.6rem;
  }
}
.btn03 {
  width: 34rem;
  padding: 1em 2.5em;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff !important;
  background-color: #222C19;
  border-radius: 99px;
  display: inline-block;
  position: relative;
}
.btn03:after {
  width: 1.5em;
  height: 1.5em;
  margin-top: -0.75em;
  content: "";
  background-color: #ffffff;
  background-image: url("../img/icon_arrow03.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 0.6em auto;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1rem;
}
@media only screen and (min-width: 781px) {
  .btn03:hover {
    background-color: #22A752;
  }
}
@media only screen and (max-width: 780px) {
  .btn03 {
    width: 30.2rem;
    font-size: 1.6rem;
  }
}

/* フェードイン */
.fadein {
  opacity: 0;
  transition: opacity 0.9s ease-out 0.1s;
}
.fadein.is-inview {
  opacity: 1;
}

/*CTA*/
.cta_block .headding {
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 901px) {
  .cta_block .headding {
    padding: 7.2rem 0 6.5rem 0;
    background-image: url("../img/cta_bg.jpg");
  }
}
@media only screen and (max-width: 900px) {
  .cta_block .headding {
    padding: 3.5rem 0;
    background-image: url("../img/cta_bg_sp.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .headding .midashi01 {
    font-size: 3.2rem;
  }
}
.cta_block .headding .midashi01 small {
  font-size: 1em;
}
@media only screen and (max-width: 780px) {
  .cta_block .headding .midashi01 small {
    font-size: 0.67em;
  }
}
.cta_block .headding p {
  font-size: 1.8rem;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .cta_block .headding p {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 901px) {
  .cta_block ul {
    display: flex;
  }
}
.cta_block ul li {
  text-align: center;
  color: #ffffff;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 901px) {
  .cta_block ul li {
    width: 33.333%;
    padding: 7.2rem 0 8rem 0;
  }
}
@media only screen and (max-width: 900px) {
  .cta_block ul li {
    padding: 2.8rem 0;
  }
}
.cta_block ul li:nth-child(1) {
  background-image: url("../img/cta_img01.jpg");
}
.cta_block ul li:nth-child(2) {
  background-image: url("../img/cta_img02.jpg");
}
.cta_block ul li:nth-child(3) {
  background-image: url("../img/cta_img03.jpg");
}
.cta_block ul li p {
  margin-bottom: 1.1em;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 1279px) {
  .cta_block ul li p {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 900px) {
  .cta_block ul li p {
    margin-bottom: 0.78em;
    font-size: 2.1rem;
  }
}
.cta_block ul li p span {
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  display: block;
}
@media only screen and (max-width: 900px) {
  .cta_block ul li p span {
    font-size: 1.7rem;
  }
}
.cta_block ul li .btn {
  text-align: center;
}

/*関連リンク*/
.common__related_links {
  margin: 12rem 0 9rem 0;
}
@media only screen and (max-width: 780px) {
  .common__related_links {
    margin: 6rem 0 5rem 0;
  }
}
.common__related_links .inner {
  max-width: 1200px;
}
.common__related_links h3 {
  margin-bottom: 1.28em;
  font-size: 3.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .common__related_links h3 {
    font-size: 2.4rem;
  }
}
.common__related_links ul {
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .common__related_links ul {
    display: flex;
  }
}
.common__related_links ul li {
  background-size: cover;
  background-position: center center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 781px) {
  .common__related_links ul li {
    width: 33.3333%;
    height: 42.4rem;
  }
}
@media only screen and (max-width: 780px) {
  .common__related_links ul li {
    width: 100%;
    height: 18.6rem;
  }
}
@media only screen and (min-width: 781px) {
  .common__related_links ul li.company {
    background-image: url("../img/related_links_img01.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .common__related_links ul li.company {
    background-image: url("../img/related_links_img01_sp.jpg");
  }
}
@media only screen and (min-width: 781px) {
  .common__related_links ul li.technology {
    background-image: url("../img/related_links_img02.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .common__related_links ul li.technology {
    background-image: url("../img/related_links_img02_sp.jpg");
  }
}
@media only screen and (min-width: 781px) {
  .common__related_links ul li.csr {
    background-image: url("../img/related_links_img03.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .common__related_links ul li.csr {
    background-image: url("../img/related_links_img03_sp.jpg");
  }
}
@media only screen and (min-width: 781px) {
  .common__related_links ul li.products-cosmetic01 {
    background-image: url("../img/related_links_img04.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .common__related_links ul li.products-cosmetic01 {
    background-image: url("../img/related_links_img04_sp.jpg");
  }
}
.common__related_links ul li h4 {
  margin-bottom: 1.17em;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .common__related_links ul li h4 {
    margin-bottom: 0.78em;
    font-size: 2.1rem;
  }
}
.common__related_links ul li h4 span {
  margin-bottom: 0.4em;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  display: block;
  font-size: 1.7rem;
}
.common__related_links ul li .btn {
  text-align: center;
  display: block;
}

/*採用バナー*/
.common__recruit_bnr {
  margin-bottom: 14.4rem;
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr {
    margin-bottom: 7rem;
  }
}
.common__recruit_bnr .inner {
  max-width: 1000px;
}
.common__recruit_bnr .bnr {
  border: solid 1px #E8E8E8;
  border-radius: 1.6rem;
  overflow: hidden;
}
.common__recruit_bnr .bnr a {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 781px) {
  .common__recruit_bnr .bnr a {
    padding: 2.4rem 4.8rem 2.4rem 2.4rem;
  }
  .common__recruit_bnr .bnr a:hover .img img {
    transform: scale(1.1);
  }
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr .bnr a {
    padding: 1.2rem 2.4rem 1.2rem 1.2rem;
  }
}
.common__recruit_bnr .bnr a .img {
  width: 30%;
  margin-right: 6%;
  border-radius: 0.8rem;
  overflow: hidden;
}
.common__recruit_bnr .bnr a .img > img,
.common__recruit_bnr .bnr a .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr .bnr a .img {
    width: 40%;
  }
}
.common__recruit_bnr .bnr a .img img {
  transition: transform 0.3s;
}
.common__recruit_bnr .bnr a .text {
  width: 64%;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr .bnr a .text {
    width: 54%;
  }
}
.common__recruit_bnr .bnr a .text:after {
  width: 3.8rem;
  height: 3.8rem;
  margin-top: -1.9rem;
  content: "";
  background-color: #222222;
  background-image: url("../img/icon_arrow02.png");
  background-size: 0.8em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.8rem 0 0.8rem 0;
  position: absolute;
  top: 50%;
  right: -1.5rem;
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr .bnr a .text:after {
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
    border-radius: 0.4rem 0 0.4rem 0;
  }
}
.common__recruit_bnr .bnr a .text h3 {
  margin-bottom: 0.9em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr .bnr a .text h3 {
    margin-bottom: 0.5em;
    font-size: 1.9rem;
  }
}
.common__recruit_bnr .bnr a .text h3 span {
  margin-bottom: 0.4em;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: #22A752;
  display: block;
}
@media only screen and (max-width: 780px) {
  .common__recruit_bnr .bnr a .text h3 span {
    font-size: 1.6rem;
    line-height: 1.1;
  }
}
/*ページネーションプラグイン*/
.wp-pagenavi {
  text-align: center;
  letter-spacing: -0.4em;
}
.wp-pagenavi > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .wp-pagenavi {
    font-size: 1rem;
  }
}
.wp-pagenavi .pages, .wp-pagenavi .first, .wp-pagenavi .last {
  display: none !important;
}
.wp-pagenavi .page {
  width: 2.2em;
  height: 2.2em;
  margin: 0 0.18em;
  font-family: "Poppins", sans-serif;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  border: solid 1px #E8E8E8;
  border-radius: 50%;
  vertical-align: middle;
}
.wp-pagenavi .page:hover {
  background-color: #E8E8E8;
}
.wp-pagenavi .current {
  width: 2.2em;
  height: 2.2em;
  margin: 0 0.18em;
  font-family: "Poppins", sans-serif;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  background-color: #F0F0F0;
  border: solid 1px #F0F0F0;
  border-radius: 50%;
  vertical-align: middle;
}
.wp-pagenavi .extend {
  width: 2.2em;
  height: 2.2em;
  margin: 0 0.18em;
  font-family: "Poppins", sans-serif;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  border: solid 1px #E8E8E8;
  border-radius: 50%;
  vertical-align: middle;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  width: 1.5em;
  height: 1.5em;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  background-color: #22A752;
  background-image: url("../img/icon_arrow02.png");
  background-size: 1em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.8rem 0 0.8rem 0;
  display: inline-block;
  vertical-align: middle;
}
@media only screen and (min-width: 781px) {
  .wp-pagenavi .previouspostslink:hover, .wp-pagenavi .nextpostslink:hover {
    opacity: 0.6;
  }
}
.wp-pagenavi .previouspostslink {
  margin-right: 1em;
  transform: rotate(180deg);
}
.wp-pagenavi .nextpostslink {
  margin-left: 1em;
}

/*ページャー*/
.post-navigation {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .post-navigation {
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-list {
    width: 100%;
    padding-top: 2rem;
    text-align: center;
    order: 3;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous, .post-navigation .nav-next {
    width: 50%;
  }
}
.post-navigation .nav-previous a, .post-navigation .nav-next a {
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous a, .post-navigation .nav-next a {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 781px) {
  .post-navigation .nav-previous a:hover, .post-navigation .nav-next a:hover {
    opacity: 0.6;
  }
}
.post-navigation .nav-previous a:before, .post-navigation .nav-previous a:after, .post-navigation .nav-next a:before, .post-navigation .nav-next a:after {
  width: 1em;
  height: 1em;
  background-color: #22A752;
  background-image: url("../img/icon_arrow02.png");
  background-size: 0.8em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.6rem 0 0.6rem 0;
  display: inline-block;
  vertical-align: -0.1em;
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous {
    order: 1;
  }
}
.post-navigation .nav-previous a:before {
  margin-right: 1rem;
  content: "";
  transform: scale(-1, 1);
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-next {
    text-align: right;
    order: 2;
  }
}
.post-navigation .nav-next a:after {
  margin-left: 1rem;
  content: "";
}

/* ブロックエディタ用基本CSS */
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area p {
  margin-bottom: 2.5em;
  line-height: 2;
}
.editor-area h4 {
  margin-bottom: 1em;
  padding-left: 0.5em;
  font-size: 1.5em;
  font-weight: 500;
  border-left: solid 0.4rem #22A752;
}
.editor-area h5 {
  margin-bottom: 0.72em;
  padding: 0.27em 0.72em;
  font-size: 1.375em;
  font-weight: 500;
  background-color: #E9F0EB;
  border-radius: 0.8rem;
}
.editor-area h6 {
  margin-bottom: 1em;
  font-size: 1.125em;
  font-weight: 700;
}
.editor-area ul {
  margin-bottom: 2.5em;
}
.editor-area ul > li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
}
.editor-area ul > li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1.4rem 0 -3rem;
  content: "";
  background-image: url("../img/news/check.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.editor-area ol {
  margin-bottom: 2.5em;
  counter-reset: num;
}
.editor-area ol > li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
  counter-increment: num;
}
.editor-area ol > li:before {
  width: 2rem;
  margin: 0 1rem 0 -3rem;
  content: counter(num) ".";
  color: #22A752;
  font-weight: 700;
  display: inline-block;
  vertical-align: 0;
}
.editor-area .wp-block-image {
  margin-bottom: 2.5em;
}
.editor-area .alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2.5em;
}
.editor-area .alignright {
  max-width: 50%;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2.5em;
}
.editor-area .aligncenter {
  margin-bottom: 2.5em;
}
.editor-area .aligncenter img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.editor-area .has-text-align-center {
  text-align: center;
}
.editor-area .has-text-align-right {
  text-align: right;
}
.editor-area blockquote {
  margin-bottom: 2.5em;
  margin-left: 0;
  padding: 1.2em 1.2em 1.2em 6rem;
  background-color: #E9F0EB;
  position: relative;
  display: block;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote {
    padding-left: 4rem;
  }
}
.editor-area blockquote:before {
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: #22A752;
  background-image: url("../img/news/innyou.png");
  background-size: 2.4rem auto;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote:before {
    width: 3rem;
    height: 3rem;
    background-size: 2rem;
  }
}
.editor-area blockquote > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area table {
  width: 100%;
  margin-bottom: 2.5em;
  border-collapse: collapse;
  border: none;
}
.editor-area table td, .editor-area table th {
  border: none;
  border: 1px solid #E8E8E8;
  padding: 0.5em;
}
.editor-area table th {
  background-color: #E9F0EB;
}
.editor-area .wp-block-columns {
  display: flex;
  margin-bottom: 2.5em;
}
.editor-area .wp-block-column {
  flex-grow: 1;
  margin-left: 0.625em;
  margin-right: 0.625em;
}
.editor-area .wp-block-media-text {
  display: grid;
}
.editor-area a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.editor-area strong, .editor-area b {
  font-weight: bold;
}
.editor-area em, .editor-area i {
  font-style: italic;
}
.editor-area .wp-block-spacer {
  clear: both;
}

/*フォームベース*/
.wpcf7-text, .input-text {
  width: 100%;
  padding: 1em;
  font-size: 0.9735em;
  background-color: #ffffff;
  border: solid 1px #E8E8E8;
}
.wpcf7-text::-moz-placeholder, .input-text::-moz-placeholder {
  color: #8E8E8E;
}
.wpcf7-text::placeholder, .input-text::placeholder {
  color: #8E8E8E;
}

.wpcf7-textarea, .input-textarea {
  width: 100%;
  height: 16em;
  padding: 1em;
  font-size: 0.9735em;
  background-color: #ffffff;
  border: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .wpcf7-textarea, .input-textarea {
    height: 12em;
  }
}
.wpcf7-textarea::-moz-placeholder, .input-textarea::-moz-placeholder {
  color: #8E8E8E;
}
.wpcf7-textarea::placeholder, .input-textarea::placeholder {
  color: #8E8E8E;
}

.wpcf7-select, .input-select {
  width: 100%;
  padding: 1em 2em 1em 1em;
  font-size: 0.9735em;
  background-color: #ffffff;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  background-size: 1.1rem auto;
  border: solid 1px #E8E8E8;
}

.wpcf7-radio, .radio_group {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.wpcf7-radio > *, .radio_group > * {
  display: inline-block;
  letter-spacing: normal;
}
.wpcf7-radio > *, .radio_group > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.wpcf7-radio label input, .radio_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-radio label input:checked + span:after, .radio_group label input:checked + span:after {
  content: "";
}
.wpcf7-radio label input + span, .radio_group label input + span {
  padding-left: 4rem;
  font-size: 0.9735em;
  display: inline-block;
  position: relative;
}
.wpcf7-radio label input + span:before, .radio_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #8E8E8E;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-radio label input + span:after, .radio_group label input + span:after {
  width: 1.4rem;
  height: 1.4rem;
  content: none;
  background-color: #22A752;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}

.wpcf7-checkbox, .wpcf7-acceptance, .check_group {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.wpcf7-checkbox > *, .wpcf7-acceptance > *, .check_group > * {
  display: inline-block;
  letter-spacing: normal;
}
.wpcf7-checkbox > *, .wpcf7-acceptance > *, .check_group > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.wpcf7-checkbox label input, .wpcf7-acceptance label input, .check_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-checkbox label input:checked + span:after, .wpcf7-acceptance label input:checked + span:after, .check_group label input:checked + span:after {
  content: "";
}
.wpcf7-checkbox label input + span, .wpcf7-acceptance label input + span, .check_group label input + span {
  padding-left: 4rem;
  font-size: 0.9735em;
  display: inline-block;
  position: relative;
}
.wpcf7-checkbox label input + span:before, .wpcf7-acceptance label input + span:before, .check_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #8E8E8E;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-checkbox label input + span:after, .wpcf7-acceptance label input + span:after, .check_group label input + span:after {
  width: 1.6rem;
  height: 1rem;
  content: none;
  border-left: solid 0.2rem #22A752;
  border-bottom: solid 0.2rem #22A752;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  transform: rotate(-45deg);
}

/****************************************************
 * 3.レイアウト設定
 ****************************************************/
.container {
  width: 100%;
}

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
#header {
  width: 100%;
  height: 11.2rem;
  padding: 0 2em;
  background-color: #ffffff;
  border-bottom: solid 1px #E8E8E8;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 1599px) {
  #header {
    padding: 0 1em;
  }
}
@media only screen and (max-width: 1099px) {
  #header {
    padding: 0 0.5em;
  }
}
@media only screen and (max-width: 900px) {
  #header {
    height: 7.4rem;
  }
  #header:after {
    width: 100%;
    height: calc(100vh - 7.4rem);
    content: "";
    background-color: rgba(0, 0, 0, 0.85);
    opacity: 0;
    position: absolute;
    top: 7.4rem;
    left: 100%;
    z-index: -2;
    transition: opacity 0.3s;
  }
}
#header .logo {
  width: 31.6rem;
}
@media only screen and (max-width: 1599px) {
  #header .logo {
    width: 25rem;
  }
}
@media only screen and (max-width: 1279px) {
  #header .logo {
    width: 20rem;
  }
}
@media only screen and (max-width: 1099px) {
  #header .logo {
    width: 18rem;
  }
}
@media only screen and (max-width: 900px) {
  #header .logo {
    width: 26.85rem;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right .sp_menu_btn {
    width: 4.8rem;
    height: 4.8rem;
    background-image: url("../img/sp_menu_open.png");
    background-size: cover;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right nav {
    width: 34.6rem;
    height: calc(100vh - 7.4rem);
    position: absolute;
    top: 7.4rem;
    right: -100%;
    transition: right 0.3s;
  }
  #header .header_right nav:before {
    width: 100%;
    height: 100%;
    content: "";
    background-color: #22A752;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav ul {
    letter-spacing: -0.4em;
  }
  #header .header_right nav ul > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right nav ul {
    margin-bottom: 2em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav ul li {
    margin: 0 1.5em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1599px) {
  #header .header_right nav ul li {
    margin: 0 1em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav ul li {
    margin: 0 0.5em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1099px) {
  #header .header_right nav ul li {
    margin: 0 0.25em;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right nav ul li {
    border-bottom: solid 1px #ffffff;
  }
}
#header .header_right nav ul li a {
  font-weight: 500;
}
@media only screen and (min-width: 901px) {
  #header .header_right nav ul li a {
    font-size: 1.5rem;
  }
  #header .header_right nav ul li a:hover {
    color: #22A752;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right nav ul li a {
    padding: 1.1em 2.8em 1.1em 1.47em;
    font-size: 1.7rem;
    color: #ffffff;
    display: block;
    position: relative;
  }
  #header .header_right nav ul li a:after {
    width: 1.4em;
    height: 1.4em;
    margin-top: -0.7em;
    content: "";
    background-color: #ffffff;
    background-image: url("../img/icon_arrow03.png");
    background-size: 0.5em auto;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 1.47em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav ul li.recruit a {
    padding: 0.75em 3.625em;
    color: #22A752;
    background-image: url("../img/icon_arrow01.png");
    background-repeat: no-repeat;
    background-size: 1em auto;
    background-color: #ffffff;
    background-position: calc(100% - 1em) center;
    border: solid 1px #22A752;
    display: block;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1599px) {
  #header .header_right nav ul li.recruit a {
    padding: 0.75em 2.5em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav ul li.recruit a {
    padding: 0.75em 2em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav ul li.recruit a:hover {
    color: #ffffff;
    background-color: #22A752;
    background-image: url("../img/icon_arrow02.png");
  }
}
#header .header_right nav .contact a {
  color: #ffffff !important;
  background: linear-gradient(to top right, #FF7600, #FD9C00);
  display: block;
}
@media only screen and (min-width: 901px) {
  #header .header_right nav .contact a {
    padding: 0.75em 3.625em;
    font-weight: 500;
    position: relative;
    z-index: 1;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1599px) {
  #header .header_right nav .contact a {
    padding: 0.75em 2.5em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav .contact a {
    padding: 0.75em 2em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav .contact a:after {
    width: 100%;
    height: 100%;
    content: "";
    background-image: url("../img/icon_arrow02.png");
    background-repeat: no-repeat;
    background-size: 1em auto;
    background-position: calc(100% - 1em) center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #header .header_right nav .contact a:hover {
    background: none;
    background-color: #FF7600;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_right nav .contact a {
    width: 29.8rem;
    margin: 0 auto;
    padding: 1.5em;
    font-weight: 700;
    text-align: center;
  }
  #header .header_right nav .contact a:before {
    width: 2.4em;
    height: 2.4em;
    margin-right: 0.5em;
    content: "";
    background-image: url("../img/footer_mail_icon.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.6em;
  }
  #header .header_right nav .contact a:after {
    width: 1.3em;
    height: 1.3em;
    margin-left: 1em;
    content: "";
    background-image: url("../img/footer_mail_arrow.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.25em;
  }
}
@media only screen and (max-width: 900px) {
  #header.open:after {
    opacity: 1;
    left: 0;
  }
}
@media only screen and (max-width: 900px) {
  #header.open .header_right .sp_menu_btn {
    background-image: url("../img/sp_menu_close.png");
  }
  #header.open .header_right .sp_menu_btn + nav {
    right: 0;
  }
}

/*フッターブロック*/
#footer {
  color: #ffffff;
  background-color: #222222;
}
@media only screen and (max-width: 900px) {
  #footer {
    padding-top: 3.6rem;
    padding-bottom: 12rem;
  }
}
#footer .inner {
  max-width: 1200px;
}
@media only screen and (max-width: 900px) {
  #footer .footer_top {
    margin-bottom: 3.5rem;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_top .inner {
    padding: 5.6rem 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_top .footer_navi {
    display: flex;
    justify-content: flex-end;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_top .footer_navi dl {
    width: 16rem;
    margin-left: 5.6rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_navi dl {
    width: 113%;
    margin: 0 -6.5% 3.5rem -6.5%;
  }
}
#footer .footer_top .footer_navi dl dt {
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-bottom: solid 1px #3C3C3C;
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_navi dl dt {
    padding-left: 2rem;
    padding-right: 2rem;
    font-size: 1.7rem;
  }
}
#footer .footer_top .footer_navi dl dd {
  margin-bottom: 1.4em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_navi dl dd {
    margin-bottom: 0.78em;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
#footer .footer_top .footer_navi dl dd a {
  font-size: 1.4rem;
  font-weight: 500;
  color: #ffffff;
}
@media only screen and (min-width: 901px) {
  #footer .footer_top .footer_navi dl dd a:hover {
    color: #22A752;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_navi dl dd a {
    display: block;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_top .footer_text {
    width: 36.6%;
    padding-top: 1.5rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_text {
    text-align: center;
  }
}
#footer .footer_top .footer_text .company_name {
  margin-bottom: 1.07em;
  font-size: 2.7rem;
  font-weight: 700;
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_text .company_name {
    margin-bottom: 0.2em;
    font-size: 2rem;
  }
}
#footer .footer_top .footer_text .text h3 {
  margin-bottom: 1em;
  font-weight: 700;
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_text .text h3 {
    margin-bottom: 0.8em;
    font-size: 1.5rem;
    line-height: 1.3;
  }
}
#footer .footer_top .footer_text .text p {
  font-size: 0.875em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_top .footer_text .text p {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}
#footer .footer_bottom {
  border-top: solid 1px #3C3C3C;
  overflow: hidden;
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom {
    padding-top: 3.5rem;
  }
}
#footer .footer_bottom .inner {
  position: relative;
}
@media only screen and (min-width: 901px) {
  #footer .footer_bottom .footer_address {
    padding: 2.4rem 0;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_address {
    text-align: center;
  }
}
#footer .footer_bottom .footer_address address {
  font-size: 0.875em;
  font-weight: 500;
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_address address {
    margin-bottom: 1em;
    font-size: 0.93em;
  }
}
#footer .footer_bottom .footer_address p {
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_address p {
    font-size: 0.86em;
  }
}
#footer .footer_bottom .footer_address .copyright {
  margin-top: 1em;
  font-size: 0.625em;
  color: #6E6E6E;
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_address .copyright {
    font-size: 0.73em;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_bottom .footer_contact {
    width: 55%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }
  #footer .footer_bottom .footer_contact:after {
    width: 999999px;
    height: 100%;
    content: "";
    background-color: #FF7600;
    position: absolute;
    top: 0;
    left: 100%;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_contact {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
    display: flex;
  }
}
#footer .footer_bottom .footer_contact a {
  color: #ffffff !important;
}
@media only screen and (min-width: 901px) {
  #footer .footer_bottom .footer_contact a {
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #FD9C00, #FF7600);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #footer .footer_bottom .footer_contact a:hover {
    background: none;
    background-color: #FF7600;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_contact a {
    width: 50%;
    height: 6.2rem;
    padding: 1.8rem 0;
    text-align: center;
    position: relative;
  }
  #footer .footer_bottom .footer_contact a:after {
    width: 1em;
    height: 1em;
    margin-top: -0.5em;
    content: "";
    background-image: url("../img/icon_arrow02.png");
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 2rem;
  }
  #footer .footer_bottom .footer_contact a:nth-child(1) {
    background-color: #22A752;
  }
  #footer .footer_bottom .footer_contact a:nth-child(2) {
    background: linear-gradient(to right, #FD9C00, #FF7600);
  }
}
#footer .footer_bottom .footer_contact a > span {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 900px) {
  #footer .footer_bottom .footer_contact a > span {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_bottom .footer_contact a > span:before {
    width: 2.4em;
    height: 2.4em;
    margin-right: 1em;
    content: "";
    background-image: url("../img/footer_mail_icon.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.6em;
  }
  #footer .footer_bottom .footer_contact a > span:after {
    width: 2.1em;
    height: 2.1em;
    margin-left: 4.8em;
    content: "";
    background-image: url("../img/footer_mail_arrow.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.6em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 900px) {
  #footer .footer_bottom .footer_contact a > span:after {
    width: 1.3em;
    height: 1.3em;
    margin-left: 2em;
    vertical-align: -0.25em;
  }
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.home {
  background-repeat: no-repeat;
  background-position: center top;
}
@media only screen and (min-width: 781px) {
  .home {
    background-image: url("../img/top/bg01.jpg");
    background-size: 2341px auto;
  }
}
@media only screen and (max-width: 780px) {
  .home {
    background-image: url("../img/top/bg01_sp.jpg");
    background-size: 100% auto;
  }
}

.p-top__mv {
  padding-top: 20rem;
}
@media only screen and (max-width: 780px) {
  .p-top__mv {
    padding-top: 8.4rem;
  }
}
.p-top__mv .inner {
  max-width: 1200px;
  height: 70rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .inner {
    width: 90%;
    height: auto;
    padding-top: 71.5vw;
    padding-bottom: 10rem;
  }
}
.p-top__mv .change_img {
  width: 67.5%;
  position: absolute;
  left: -12.16%;
  top: 0;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .change_img {
    width: 100%;
    left: 0;
  }
}
.p-top__mv .change_img > div {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  pointer-events: none;
  transition: opacity 2s ease, visibility 0s linear 2s;
}
.p-top__mv .change_img > div.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  pointer-events: auto;
  transition: opacity 2s ease;
}
.p-top__mv .catchcopy {
  width: 40%;
  margin: 0 0 0 auto;
  padding-top: 8.6rem;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .catchcopy {
    width: 100%;
    padding-top: 0;
  }
}
.p-top__mv .catchcopy h2 {
  margin-bottom: 0.17em;
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 1599px) {
  .p-top__mv .catchcopy h2 {
    font-size: 5.6rem;
  }
}
@media only screen and (max-width: 1099px) {
  .p-top__mv .catchcopy h2 {
    font-size: 4.8rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__mv .catchcopy h2 {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv .catchcopy h2 {
    margin-bottom: 0.3em;
    font-size: 3.8rem;
  }
}
.p-top__mv .catchcopy h3 {
  margin-bottom: 1em;
  font-size: 4rem;
  font-weight: 700;
  color: #22A752;
}
@media only screen and (max-width: 1599px) {
  .p-top__mv .catchcopy h3 {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 1099px) {
  .p-top__mv .catchcopy h3 {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__mv .catchcopy h3 {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv .catchcopy h3 {
    margin-bottom: 0.46em;
    font-size: 2.7rem;
  }
}
.p-top__mv .catchcopy p {
  font-weight: 500;
  line-height: 2.5625;
}
@media only screen and (max-width: 1099px) {
  .p-top__mv .catchcopy p {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__mv .catchcopy p {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv .catchcopy p {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.p-top__mv .scroll {
  width: 100%;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  color: #22A752;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-top__mv .scroll:after {
  width: 1px;
  height: 6.4rem;
  margin: 2.4rem auto 0 auto;
  content: "";
  background-color: #BEBEBE;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .scroll:after {
    height: 3.2rem;
    margin-top: 1.6rem;
  }
}
.p-top__link {
  margin-bottom: 8rem;
  padding: 6.4rem 0;
  background-image: url("../img/top/link_bg.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-top__link {
    margin-bottom: 5rem;
    padding: 3.2rem 0;
  }
}
.p-top__link .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-top__link ul {
    display: flex;
    justify-content: space-between;
  }
}
.p-top__link ul li {
  border-radius: 0.8rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-top__link ul li {
    width: 32%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__link ul li + li {
    margin-top: 3rem;
  }
}
.p-top__link ul li a {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__link ul li a .img img {
    transition: transform 0.5s;
  }
  .p-top__link ul li a:hover .img img {
    transform: scale(1.1);
  }
}
.p-top__link ul li .text {
  padding: 3.2rem 0;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__link ul li .text {
    padding: 2rem 0;
  }
}
.p-top__link ul li .text p {
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-top__link ul li .text p {
    font-size: 1.8rem;
  }
}
.p-top__link ul li .text p span {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #22A752;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__link ul li .text p span {
    font-size: 1.4rem;
  }
}
.p-top__link ul li .img {
  height: 17.7rem;
  overflow: hidden;
}
.p-top__link ul li .img > img,
.p-top__link ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-top__link ul li .img {
    height: 15rem;
  }
}
.p-top__contact_bnr {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__contact_bnr {
    margin-bottom: 5rem;
  }
}
.p-top__contact_bnr .inner {
  max-width: 1000px;
}
.p-top__contact_bnr a {
  color: #ffffff;
  background-size: cover;
  background-position: center center;
  display: block;
}
.p-top__contact_bnr a:after {
  width: 3.8rem;
  height: 3.8rem;
  content: "";
  background-color: #22A752;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.6rem auto;
  border-radius: 0.8rem 0 0.8rem 0;
}
@media only screen and (max-width: 780px) {
  .p-top__contact_bnr a:after {
    width: 1.9rem;
    height: 1.9rem;
    margin-top: -0.95rem;
    background-size: 1.2rem auto;
    border-radius: 0.4rem 0 0.4rem 0;
    position: absolute;
    top: 50%;
    right: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__contact_bnr a {
    padding: 7rem 2rem;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-image: url("../img/top/contact_bnr_bg.jpg");
    transition: opacity 0.3s;
    position: relative;
  }
  .p-top__contact_bnr a:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__contact_bnr a {
    padding: 2.4rem;
    background-image: url("../img/top/contact_bnr_bg_sp.jpg");
    position: relative;
  }
}
.p-top__contact_bnr a h3 {
  font-size: 3.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-top__contact_bnr a h3 {
    font-size: 2.4rem;
  }
}
.p-top__contact_bnr a h3 span {
  font-family: "Poppins", sans-serif;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__contact_bnr a h3 span {
    font-size: 1.8rem;
  }
}
.p-top__contact_bnr a p {
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-top__contact_bnr a p {
    font-size: 1.7rem;
  }
}
.p-top__choose {
  padding: 8rem 0 11.2rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-top__choose {
    padding: 5.6rem 0;
  }
}
.p-top__choose .inner {
  max-width: 1000px;
}
@media only screen and (max-width: 780px) {
  .p-top__choose .inner {
    width: 93.8%;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__choose ol {
    padding-top: 5rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol {
    padding-top: 6rem;
  }
}
.p-top__choose ol li {
  background-color: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0 2rem rgba(110, 164, 168, 0.16);
  position: relative;
}
.p-top__choose ol li:after {
  width: 4rem;
  height: 4rem;
  content: "";
  background-image: url("../img/top/choose_fig.png");
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li:after {
    top: auto;
    bottom: 0;
    transform: scale(1, -1);
  }
}
@media only screen and (min-width: 781px) {
  .p-top__choose ol li {
    display: flex;
    align-items: flex-start;
  }
  .p-top__choose ol li:nth-child(2n) {
    flex-direction: row-reverse;
  }
  .p-top__choose ol li:nth-child(2n):after {
    left: 0;
    right: auto;
    transform: scale(-1, 1);
  }
  .p-top__choose ol li:nth-child(2n) .img {
    transform: translate(5%, -13%);
  }
}
.p-top__choose ol li + li {
  margin-top: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li + li {
    margin-top: 6rem;
  }
}
.p-top__choose ol li .img {
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-top__choose ol li .img > img,
.p-top__choose ol li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-top__choose ol li .img {
    width: 48.4%;
    height: 30rem;
    transform: translate(-5%, -13%);
  }
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li .img {
    width: 86.8%;
    height: 19.7rem;
    margin: 0 auto;
    transform: translate(0, -4rem);
  }
}
@media only screen and (min-width: 781px) {
  .p-top__choose ol li .text {
    width: 51.6%;
    padding: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li .text {
    margin-top: -1rem;
    padding: 0 2.4rem 2.4rem 2.4rem;
    text-align: center;
  }
}
.p-top__choose ol li .text h4 {
  margin-bottom: 0.8em;
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li .text h4 {
    margin-bottom: 0.1em;
    font-weight: 1.7rem;
  }
}
.p-top__choose ol li .text h4 span {
  width: 1.9em;
  height: 1.9em;
  margin-left: 0.5em;
  font-family: "Poppins", sans-serif;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
  color: #ffffff;
  background-color: #22A752;
  border-radius: 50%;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li .text h4 span {
    width: 1.4em;
    height: 1.4em;
    font-size: 1.17em;
    line-height: 1.4;
  }
}
.p-top__choose ol li .text h5 {
  margin-bottom: 0.8em;
  font-size: 3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-top__choose ol li .text h5 {
    font-size: 2.3rem;
    line-height: 1.2;
  }
}
.p-top__choose ol li .text p {
  font-size: 0.9375em;
}
.p-top__business {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-top__business {
    margin-bottom: 5rem;
  }
}
.p-top__business .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-top__business .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__business .img {
    width: 63.4%;
    margin-right: -10%;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__business .text {
    width: 44.5%;
  }
}
.p-top__business .text h4 {
  margin-bottom: 1em;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.43;
}
@media only screen and (max-width: 780px) {
  .p-top__business .text h4 {
    font-size: 2.3rem;
  }
}
.p-top__business .text p {
  margin-bottom: 2.5em;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .p-top__business .text p {
    margin-bottom: 0.7em;
    line-height: 1.66;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__business .text .btn {
    text-align: center;
  }
}
.p-top__technology {
  margin-bottom: 22.2rem;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 780px) {
  .p-top__technology {
    margin-bottom: 5rem;
  }
}
.p-top__technology .inner {
  max-width: 1200px;
}
.p-top__technology .box {
  width: 100%;
  background-size: cover;
  background-position: center center;
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box {
    height: 46.9rem;
    padding: 7.2rem 6rem 0 6rem;
    background-image: url("../img/top/technology_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box {
    padding: 2.4rem;
    background-image: url("../img/top/technology_bg_sp.jpg");
  }
}
.p-top__technology .box .text_area {
  max-width: 1000px;
  margin: 0 auto 5.6rem auto;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .text_area {
    margin-bottom: 1.36em;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box .text_area .in {
    display: flex;
    justify-content: space-between;
  }
}
.p-top__technology .box .text_area .in h4 {
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box .text_area .in h4 {
    width: 40%;
    font-size: 3.2rem;
    line-height: 1.43;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .text_area .in h4 {
    font-size: 2.3rem;
    line-height: 1.26;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box .text_area .in p {
    width: 60%;
    line-height: 2;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .text_area .in p {
    line-height: 1.66;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box .link {
    display: flex;
    justify-content: space-between;
  }
}
.p-top__technology .box .link li {
  background-color: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0 2rem rgba(110, 164, 168, 0.16);
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box .link li {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .link li + li {
    margin-top: 1.2rem;
  }
}
.p-top__technology .box .link li a {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 781px) {
  .p-top__technology .box .link li a {
    padding: 2.4rem;
  }
  .p-top__technology .box .link li a:hover .img img {
    transform: scale(1.1);
  }
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .link li a {
    padding: 1.2rem;
  }
}
.p-top__technology .box .link li a .img {
  width: 30%;
  margin-right: 6%;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-top__technology .box .link li a .img > img,
.p-top__technology .box .link li a .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__technology .box .link li a .img img {
  transition: transform 0.3s;
}
.p-top__technology .box .link li a .text {
  width: 64%;
  position: relative;
}
.p-top__technology .box .link li a .text:after {
  width: 3.8rem;
  height: 3.8rem;
  margin-top: -1.9rem;
  content: "";
  background-color: #222222;
  background-image: url("../img/icon_arrow02.png");
  background-size: 0.8em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.8rem 0 0.8rem 0;
  position: absolute;
  top: 50%;
  right: -1rem;
}
@media only screen and (max-width: 1099px) {
  .p-top__technology .box .link li a .text:after {
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .link li a .text:after {
    border-radius: 0.4rem 0 0.4rem 0;
    right: 0;
  }
}
.p-top__technology .box .link li a .text p {
  font-size: 2.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .link li a .text p {
    font-size: 1.9rem;
  }
}
.p-top__technology .box .link li a .text p span {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #22A752;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__technology .box .link li a .text p span {
    margin-top: 0.28em;
    line-height: 1.1;
  }
}
.p-top__news {
  padding-bottom: 9.6rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-top__news {
    padding-bottom: 5rem;
  }
}
.p-top__news:before {
  width: 100%;
  height: calc(100% + 25rem);
  content: "";
  background: linear-gradient(to top, #F8F8F8, #ffffff);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-top__news:before {
    height: calc(100% + 10rem);
  }
}
.p-top__news .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-top__news .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .text {
    width: 35%;
    padding-right: 1em;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .text {
    margin-bottom: 3rem;
  }
}
.p-top__news .text p {
  line-height: 2;
}
@media only screen and (min-width: 781px) {
  .p-top__news .news_list {
    width: 65%;
  }
}
.p-top__news .news_list ul li {
  background-color: #ffffff;
}
.p-top__news .news_list ul li + li {
  margin-top: 1em;
}
.p-top__news .news_list ul li a {
  padding: 2.4rem 10rem 2.4rem 4rem;
  border: solid 1px #E8E8E8;
  border-radius: 1rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-top__news .news_list ul li a {
    padding: 1.2rem 5rem 1.2rem 2rem;
  }
}
.p-top__news .news_list ul li a:after {
  width: 3.2rem;
  height: 3.2rem;
  margin-top: -1.6rem;
  content: "";
  background-color: #22A752;
  background-image: url("../img/icon_arrow02.png");
  background-size: 0.8em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.8rem 0 0.8rem 0;
  position: absolute;
  top: 50%;
  right: 3.2rem;
}
@media only screen and (max-width: 780px) {
  .p-top__news .news_list ul li a:after {
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
    right: 1rem;
    border-radius: 0.4rem 0 0.4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .news_list ul li a {
    transition: border-color 0.3s;
  }
  .p-top__news .news_list ul li a:hover {
    border-color: #22A752;
  }
}
.p-top__news .news_list ul li a .meta {
  letter-spacing: -0.4em;
}
.p-top__news .news_list ul li a .meta > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-top__news .news_list ul li a .meta .date {
  margin-right: 1em;
  font-family: "Poppins", sans-serif;
  font-size: 0.9375em;
  font-weight: 600;
  color: #D6D6D6;
}
.p-top__news .news_list ul li a .meta .cate {
  font-size: 0.75em;
  color: #22A752;
  letter-spacing: -0.4em;
}
.p-top__news .news_list ul li a .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-top__news .news_list ul li a .meta .cate span {
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  border: solid 1px #22A752;
  border-radius: 99px;
}
.p-top__news .news_list ul li a p {
  margin-top: 0.56em;
  font-weight: 500;
}
.p-top__news .btn {
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-top__news .btn {
    width: 100%;
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .btn {
    margin-top: 3rem;
  }
}

/*下層ページ*/
.pagetitle {
  margin-bottom: 2.4rem;
  padding-top: 20.8rem;
  padding-bottom: 9.7rem;
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .pagetitle {
    margin-bottom: 1.5rem;
    padding-top: 12rem;
    padding-bottom: 5rem;
  }
}
.pagetitle .inner {
  max-width: 1200px;
}
.pagetitle h2 {
  font-size: 4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .pagetitle h2 {
    font-size: 2rem;
  }
}
.pagetitle h2 span {
  margin-bottom: 0.2em;
  font-family: "Poppins", sans-serif;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  color: #22A752;
  display: block;
}
@media only screen and (max-width: 780px) {
  .pagetitle h2 span {
    font-size: 2.2rem;
  }
}

.pankuzu {
  margin-bottom: 5.7rem;
  font-size: 1.2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .pankuzu {
    margin-bottom: 3rem;
  }
}
.pankuzu .inner {
  max-width: 1200px;
  letter-spacing: -0.4em;
}
.pankuzu .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
.pankuzu a:after {
  margin: 0 1em;
  content: "-";
  color: #22A752;
  display: inline-block;
}
.pankuzu span {
  color: #B4B4B4;
}

.p-company__greeting {
  margin-bottom: 4.8rem;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-company__greeting {
    margin-bottom: 3rem;
  }
}
.p-company__greeting .inner {
  padding-top: 8.8rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-company__greeting .inner {
    padding-top: 5rem;
  }
}
.p-company__greeting .inner:after {
  width: 99999px;
  height: 49rem;
  content: "";
  background-color: #22A752;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-company__greeting .inner:after {
    right: -10rem;
  }
}
.p-company__greeting .box {
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (min-width: 781px) {
  .p-company__greeting .box {
    padding: 4rem;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__greeting .box {
    padding: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__greeting .box .img {
    width: 46%;
    margin: -12.5rem -15% 0 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__greeting .box .img {
    width: 80%;
    margin: 0 auto 2rem auto;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__greeting .box .text {
    width: 65.6%;
  }
}
.p-company__greeting .box .text p {
  margin-bottom: 2.2em;
  font-size: 0.9375em;
  line-height: 2.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 780px) {
  .p-company__greeting .box .text p {
    line-height: 1.8;
  }
}
.p-company__greeting .box .text .name {
  font-size: 0.9375em;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.p-company__profile {
  margin-bottom: 9.6rem;
  padding: 10.4rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-company__profile {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__profile .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__profile .midashi01 {
    width: 34.7rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__profile .table {
    width: calc(100% - 34.7rem);
  }
}
.p-company__profile .table table {
  border: none;
  border-top: solid 1px #E8E8E8;
}
.p-company__profile .table table tbody tr td {
  padding: 2em 0;
  font-size: 0.9375em;
  letter-spacing: 0.06em;
  vertical-align: top;
  border: none;
  border-bottom: solid 1px #E8E8E8;
}
.p-company__profile .table table tbody tr td:first-child {
  width: 32%;
  font-weight: 700;
}
.p-company__profile dl {
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (min-width: 781px) {
  .p-company__profile dl {
    width: 100%;
    margin-top: 8rem;
    padding: 4.8rem 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__profile dl {
    margin-top: 5rem;
    padding: 2rem;
  }
}
.p-company__profile dl dt {
  margin-bottom: 0.8em;
  padding-left: 0.5em;
  font-size: 2.4rem;
  font-weight: 700;
  border-left: solid 0.4rem #22A752;
}
@media only screen and (max-width: 780px) {
  .p-company__profile dl dt {
    font-size: 2rem;
  }
}
.p-company__profile dl dd {
  margin-bottom: 2em;
  line-height: 2;
}
.p-company__profile dl dd:last-child {
  margin-bottom: 0;
}
.p-company__office {
  margin-bottom: 5.6rem;
}
@media only screen and (max-width: 780px) {
  .p-company__office {
    margin-bottom: 3rem;
  }
}
.p-company__office .inner {
  max-width: 1000px;
}
@media only screen and (min-width: 781px) {
  .p-company__office ul {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__office ul li {
    width: 48%;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__office ul li {
    margin-bottom: 2rem;
  }
}
.p-company__office ul li .img {
  width: 100%;
  height: 36rem;
  margin-bottom: 2.4rem;
  overflow: hidden;
}
.p-company__office ul li .img > img,
.p-company__office ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-company__office ul li .img {
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .p-company__office ul li .img {
    margin-bottom: 1rem;
  }
}
.p-company__office ul li .text h4 {
  margin-bottom: 0.7em;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-company__office ul li .text h4 {
    font-size: 2rem;
  }
}
.p-company__office ul li .text p {
  font-weight: 500;
}
.p-company__management {
  margin-bottom: 11.2rem;
  padding: 8rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-company__management {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-company__management .inner {
  max-width: 1000px;
}
.p-company__management ol {
  counter-reset: num;
}
@media only screen and (min-width: 781px) {
  .p-company__management ol {
    padding-top: 3rem;
  }
}
.p-company__management ol li {
  counter-increment: num;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 780px) {
  .p-company__management ol li {
    flex-wrap: wrap;
  }
}
.p-company__management ol li + li {
  margin-top: 3.5em;
}
.p-company__management ol li:before {
  width: 5.5rem;
  margin-right: 3rem;
  padding-right: 2rem;
  content: counter(num);
  font-family: "Poppins", sans-serif;
  font-size: 5.2rem;
  font-weight: 700;
  line-height: 0.65;
  text-align: center;
  color: #22A752;
  border-right: solid 1px #22A752;
}
@media only screen and (max-width: 780px) {
  .p-company__management ol li:before {
    width: 4.6rem;
    font-size: 3.6rem;
    margin-right: 2rem;
    padding-right: 1rem;
  }
}
.p-company__management ol li h4 {
  width: 18rem;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-company__management ol li h4 {
    width: calc(100% - 6.6rem);
  }
}
.p-company__management ol li p {
  width: calc(100% - 18rem - 8.5rem);
}
@media only screen and (max-width: 780px) {
  .p-company__management ol li p {
    width: 100%;
    margin-top: 1em;
  }
}
.p-company__quality .inner {
  max-width: 1000px;
}
@media only screen and (min-width: 781px) {
  .p-company__quality .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__quality .text {
    width: 40%;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__quality .text {
    margin-bottom: 3rem;
  }
}
.p-company__quality .text p {
  line-height: 2;
}
.p-company__quality .img {
  border-radius: 0.8rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-company__quality .img {
    width: 62.4%;
    margin-right: -8%;
  }
}

.p-technology__intro {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-technology__intro {
    margin-bottom: 5rem;
  }
}
.p-technology__intro h3 {
  margin-bottom: 0.7em;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-technology__intro h3 {
    font-size: 2.2rem;
  }
}
.p-technology__intro p {
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-technology__intro p {
    text-align: left;
  }
}
.p-technology__intro p b {
  font-weight: 700;
}
.p-technology__feature {
  margin-bottom: 10.4rem;
  padding: 8.8rem 0 9.6rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-technology__feature {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-technology__feature h4 {
  margin-bottom: 0.7em;
  font-size: 3.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-technology__feature h4 {
    font-size: 2.2rem;
  }
}
.p-technology__feature p {
  line-height: 2;
}
.p-technology__feature ul {
  margin-top: 3em;
}
.p-technology__feature ul li {
  background-color: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0 2rem rgba(110, 164, 168, 0.16);
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-technology__feature ul li {
    display: flex;
  }
}
.p-technology__feature ul li + li {
  margin-top: 1.5em;
}
@media only screen and (min-width: 781px) {
  .p-technology__feature ul li .img {
    width: 45%;
    overflow: hidden;
  }
  .p-technology__feature ul li .img > img,
  .p-technology__feature ul li .img > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__feature ul li .text {
    width: 55%;
    padding: 3.5em;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__feature ul li .text {
    padding: 2em;
  }
}
.p-technology__feature ul li .text h5 {
  margin-bottom: 0.9em;
  font-size: 2.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-technology__feature ul li .text h5 {
    font-size: 2.2rem;
  }
}
.p-technology__feature ul li .text h5 span {
  color: #22A752;
}
.p-technology__support {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-technology__support {
    margin-bottom: 5rem;
  }
}
.p-technology__support p {
  margin-bottom: 3em;
}
@media only screen and (max-width: 780px) {
  .p-technology__support p {
    margin-bottom: 1.5em;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__support ul {
    margin-bottom: 3.5rem;
    -moz-column-count: 3;
    column-count: 3;
    -moz-column-gap: 0;
    column-gap: 0;
    -moz-column-rule: 1px solid #E8E8E8;
    column-rule: 1px solid #E8E8E8;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__support ul {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__support ul li {
    margin-bottom: 2rem;
    padding-left: 8rem;
    padding-right: 1rem;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__support ul li {
    margin-bottom: 1rem;
    padding-left: 4rem;
  }
}
.p-technology__support ul li:before {
  width: 3.2rem;
  height: 3.2rem;
  margin: 0 0.8rem 0px -4rem;
  content: "";
  background-image: url("../img/icon_check01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.5em;
}
.p-technology__support .btn {
  text-align: center;
}
.p-technology__process {
  margin-bottom: 10.9rem;
  padding: 8rem 0 7.2rem 0;
  color: #ffffff;
  background-color: #22A752;
}
@media only screen and (max-width: 780px) {
  .p-technology__process {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__process ol {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__process ol li {
    width: 17%;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__process ol li {
    display: flex;
    align-items: center;
  }
  .p-technology__process ol li + li {
    margin-top: 3rem;
  }
}
.p-technology__process ol li .img {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-technology__process ol li .img {
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__process ol li .img {
    width: 35%;
    margin-right: 5%;
  }
}
.p-technology__process ol li .img:after {
  content: "";
  background-color: #CAE695;
  position: absolute;
}
@media only screen and (min-width: 781px) {
  .p-technology__process ol li .img:after {
    width: 21.7%;
    height: 0.3rem;
    top: 50%;
    left: 100%;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__process ol li .img:after {
    width: 1px;
    height: 3rem;
    top: 100%;
    left: 50%;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__process ol li .text {
    text-align: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-technology__process ol li .text {
    width: 60%;
  }
}
.p-technology__process ol li .text p {
  font-size: 1.18em;
  font-weight: 700;
}
.p-technology__process ol li .text p span {
  font-size: 0.72em;
  font-weight: 500;
  display: block;
}
.p-technology__process ol li:last-child .img:after {
  content: none;
}
.p-technology__csr .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-technology__csr .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__csr .img {
    width: 63.4%;
    margin-right: -10%;
  }
}
@media only screen and (min-width: 781px) {
  .p-technology__csr .text {
    width: 51.5%;
    margin-right: -4.9%;
  }
}
.p-technology__csr .text h4 {
  margin-bottom: 1em;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.43;
}
@media only screen and (max-width: 780px) {
  .p-technology__csr .text h4 {
    font-size: 2.3rem;
  }
}
.p-technology__csr .text p {
  margin-bottom: 2.5em;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .p-technology__csr .text p {
    margin-bottom: 0.7em;
    line-height: 1.66;
  }
}
.p-technology__csr .text p b {
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-technology__csr .text .btn {
    text-align: center;
  }
}

.p-csr__intro {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-csr__intro {
    margin-bottom: 5rem;
  }
}
.p-csr__intro h3 {
  margin-bottom: 0.7em;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-csr__intro h3 {
    font-size: 2.2rem;
  }
}
.p-csr__intro p {
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-csr__intro p {
    text-align: left;
  }
}
.p-csr__intro p b {
  font-weight: 700;
}
.p-csr__contents {
  padding: 10.5rem 0 6.5rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-csr__contents {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-csr__contents .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-csr__contents .inner:after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 781px) {
  .p-csr__contents .anchor {
    width: 33.333%;
    padding-top: 3rem;
    position: sticky;
    top: 11.2rem;
    float: left;
  }
}
@media only screen and (max-width: 780px) {
  .p-csr__contents .anchor {
    margin-bottom: 2em;
  }
}
.p-csr__contents .anchor li {
  padding: 1em 0;
  padding-right: 1.5em;
  font-size: 2rem;
  font-weight: 500;
  background-image: url("../img/icon_arrow01.png");
  background-size: 0.8em auto;
  background-repeat: no-repeat;
  background-position: right center;
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .p-csr__contents .anchor li {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-csr__contents .contents {
    width: 62%;
    float: right;
  }
}
.p-csr__contents .contents .box {
  margin-bottom: 1em;
  background-color: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0 2rem rgba(110, 164, 168, 0.16);
}
@media only screen and (min-width: 781px) {
  .p-csr__contents .contents .box {
    width: 100%;
    padding: 4.8rem 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-csr__contents .contents .box {
    padding: 2rem;
  }
}
.p-csr__contents .contents .box h3 {
  margin-bottom: 0.8em;
  padding-left: 0.5em;
  font-size: 2.4rem;
  font-weight: 700;
  border-left: solid 0.4rem #22A752;
}
@media only screen and (max-width: 780px) {
  .p-csr__contents .contents .box h3 {
    font-size: 2rem;
  }
}
.p-csr__contents .contents .box h4 {
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  font-size: 2rem;
  font-weight: 700;
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .p-csr__contents .contents .box h4 {
    font-size: 1.8rem;
  }
}
.p-csr__contents .contents .box p {
  line-height: 2;
}
.p-csr__contents .contents .box .link {
  margin-top: 1em;
  text-align: right;
}
.p-csr__contents .contents .box .link a {
  font-size: 1.125em;
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-csr__contents .contents .box .link a:hover {
    color: #22A752;
  }
}
.p-csr__contents .contents .box .link a:after {
  width: 2.4rem;
  height: 2.4rem;
  margin-left: 0.5em;
  content: "";
  background-image: url("../img/icon_arrow05.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.3em;
}

.p-news__list {
  margin-bottom: 12.8rem;
}
@media only screen and (max-width: 780px) {
  .p-news__list {
    margin-bottom: 5rem;
  }
}
.p-news__list .inner {
  max-width: 1200px;
}
.p-news__list .category-list {
  margin-bottom: 4rem;
  letter-spacing: -0.4em;
}
.p-news__list .category-list > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-news__list .category-list {
    margin-bottom: 2rem;
  }
}
.p-news__list .category-list li {
  margin: 0 1em 0.5em 0;
}
.p-news__list .category-list li a {
  padding: 0.7em 2.5em;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #22A752;
  background-color: #ffffff;
  border: solid 1px #22A752;
  border-radius: 99px;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-news__list .category-list li a {
    padding: 0.5em;
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-news__list .category-list li:not(.current-cat) a:hover {
    color: #ffffff;
    background-color: #22A752;
  }
}
.p-news__list .category-list li.current-cat a {
  color: #ffffff;
  background-color: #22A752;
  pointer-events: none;
}
@media only screen and (min-width: 781px) {
  .p-news__list .news_list {
    display: flex;
    flex-wrap: wrap;
  }
}
.p-news__list .news_list li {
  border: solid 1px #E8E8E8;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-news__list .news_list li {
    width: 32%;
    margin: 0 2% 3em 0;
  }
  .p-news__list .news_list li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li {
    margin-bottom: 3rem;
  }
}
.p-news__list .news_list li a {
  padding: 1.5rem;
  display: block;
}
.p-news__list .news_list li a .img {
  width: 100%;
  height: 18.4rem;
  margin-bottom: 1em;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-news__list .news_list li a .img > img,
.p-news__list .news_list li a .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a .img {
    height: 15rem;
  }
}
.p-news__list .news_list li a .text p {
  margin-bottom: 1.2em;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a .text p {
    font-size: 1.6rem;
  }
}
.p-news__list .news_list li a .text .meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-news__list .news_list li a .text .meta .date {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: #C7C7C7;
}
.p-news__list .news_list li a .text .meta .read {
  font-size: 0.9675em;
  font-weight: 500;
}
.p-news__list .news_list li a .text .meta .read:after {
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  content: "";
  background-color: #22A752;
  background-image: url("../img/icon_arrow02.png");
  background-size: 0.8em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 0.6rem 0 0.6rem 0;
  display: inline-block;
  vertical-align: -0.1em;
}
.p-news__post {
  margin-bottom: 12.8rem;
}
@media only screen and (max-width: 780px) {
  .p-news__post {
    margin-bottom: 5rem;
  }
}
.p-news__post .headding {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 780px) {
  .p-news__post .headding {
    margin-bottom: 2rem;
  }
}
.p-news__post .headding h3 {
  margin-bottom: 0.56em;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 780px) {
  .p-news__post .headding h3 {
    font-size: 2.2rem;
  }
}
.p-news__post .headding .meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-news__post .headding .meta .cate {
  font-size: 0.8125em;
  font-weight: 500;
  color: #22A752;
  letter-spacing: -0.4em;
}
.p-news__post .headding .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-news__post .headding .meta .cate span {
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  color: #ffffff;
  background-color: #22A752;
  border-radius: 99px;
}
.p-news__post .headding .meta .date {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: #C7C7C7;
}
.p-news__post .headding .icatch {
  margin-top: 2em;
  text-align: center;
}
.p-news__post .headding .icatch img {
  border-radius: 1em;
}
.p-news__post .post-navigation {
  margin-top: 6.4rem;
  padding-top: 6.4rem;
  border-top: solid 1px #E9F0EB;
}
@media only screen and (max-width: 780px) {
  .p-news__post .post-navigation {
    margin-top: 3rem;
    padding-top: 3rem;
  }
}

.p-form__intro {
  margin-bottom: 7.2rem;
}
@media only screen and (max-width: 780px) {
  .p-form__intro {
    margin-bottom: 5rem;
  }
}
.p-form__intro .inner {
  max-width: 1200px;
}
.p-form__intro p {
  line-height: 2;
}
.p-form__form {
  margin-bottom: 10.4rem;
  padding: 7.2rem 0 8.8rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-form__form {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-form__form .inner {
  max-width: 1000px;
}
.p-form__form .form_area .input_field_area {
  margin-bottom: 3.2rem;
  padding: 6.4rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .input_field_area {
    margin-bottom: 2rem;
    padding: 2rem;
  }
}
.p-form__form .form_area .input_field_area.table .input_field {
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (min-width: 781px) {
  .p-form__form .form_area .input_field_area.table .input_field {
    width: 100%;
    margin-bottom: 0;
    display: table;
  }
  .p-form__form .form_area .input_field_area.table .input_field > * {
    display: table-cell;
  }
  .p-form__form .form_area .input_field_area.table .input_field .input_label {
    width: 33%;
    margin-bottom: 0;
    padding: 2em 1em 2em 0;
    vertical-align: middle;
  }
  .p-form__form .form_area .input_field_area.table .input_field .input_area {
    padding: 2em 0;
    vertical-align: middle;
  }
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .input_field_area.table .input_field {
    padding-bottom: 2em;
  }
}
.p-form__form .form_area .input_field_area.table .input_field:first-child .input_label, .p-form__form .form_area .input_field_area.table .input_field:first-child .input_area {
  padding-top: 0;
}
.p-form__form .form_area .input_field_area.table .input_field:last-child {
  border-bottom: none;
}
.p-form__form .form_area .input_field_area.table .input_field:last-child .input_label, .p-form__form .form_area .input_field_area.table .input_field:last-child .input_area {
  padding-bottom: 0;
}
.p-form__form .form_area .input_field_area .input_field {
  margin-bottom: 2em;
}
.p-form__form .form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-weight: 500;
}
.p-form__form .form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  font-size: 0.75em;
  color: #22A752;
  display: inline-block;
  vertical-align: 0;
}
.p-form__form .form_area .input_field_area .input_field .input_label span.ninni {
  color: #8E8E8E;
}
.p-form__form .form_area .input_field_area .input_field .input_area.row {
  display: flex;
  justify-content: space-between;
}
.p-form__form .form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
}
.p-form__form .form_area .input_field_area .input_field .input_area.row .col .label {
  margin-bottom: 0.25em;
}
.p-form__form .form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.p-form__form .form_area .privacy {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .privacy {
    margin-bottom: 2.5rem;
  }
}
.p-form__form .form_area .privacy .box {
  margin-bottom: 3.2rem;
  padding: 3.2rem 4rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .privacy .box {
    margin-bottom: 2rem;
    padding: 2rem;
  }
}
.p-form__form .form_area .privacy .box > p {
  font-size: 0.9375em;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
}
.p-form__form .form_area .privacy .box hr {
  width: calc(100% + 8rem);
  height: 1px;
  margin: 2em -4rem;
  border: none;
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .privacy .box hr {
    width: calc(100% + 4rem);
    margin: 1em -2rem;
  }
}
.p-form__form .form_area .privacy .box .content {
  height: 24rem;
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .privacy .box .content {
    height: 14rem;
  }
}
.p-form__form .form_area .privacy .box .content .scroll {
  width: 100%;
  height: 100%;
  padding-right: 1em;
  overflow: auto;
}
.p-form__form .form_area .privacy .box .content h3 {
  margin-bottom: 0.8em;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .privacy .box .content h3 {
    font-size: 1.6rem;
  }
}
.p-form__form .form_area .privacy .box .content h4 {
  margin-bottom: 0.5em;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-form__form .form_area .privacy .box .content * + h4 {
  margin-top: 1.5em;
}
.p-form__form .form_area .privacy .box .content p {
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.p-form__form .form_area .privacy .box .content ul {
  padding-left: 1em;
  list-style: square outside;
}
.p-form__form .form_area .privacy .box .content ul li {
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.p-form__form .form_area .privacy .box .content ul li ul {
  list-style: disc outside;
}
.p-form__form .form_area .privacy .box .content ol {
  padding-left: 1em;
  list-style: decimal outside;
}
.p-form__form .form_area .privacy .box .content ol li {
  margin-bottom: 0.5em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.p-form__form .form_area .privacy .check {
  text-align: center;
}
.p-form__form .form_area .privacy .check label input + span {
  padding-top: 0.25em;
  font-size: 0.875em;
}
.p-form__form .form_area .submit {
  text-align: center;
}
.p-form__form .form_area .submit input[type=submit] {
  width: 28rem;
  padding: 0.88em 2.5em;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff !important;
  background-color: #222222;
  background-image: url("../img/icon_arrow04.png");
  background-repeat: no-repeat;
  background-size: 1.3em auto;
  background-position: calc(100% - 1.3em) center;
  border: solid 1px #222222;
  border-radius: 99px;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .p-form__form .form_area .submit input[type=submit]:hover {
    color: #222C19 !important;
    background-color: #ffffff;
    background-image: url("../img/icon_arrow06.png");
  }
}
@media only screen and (max-width: 780px) {
  .p-form__form .form_area .submit input[type=submit] {
    width: 24.6rem;
    padding: 0.75em 2.5em;
    font-size: 1.6rem;
  }
}
.p-form__form .form_area .submit input[type=submit]:disabled {
  opacity: 0.3 !important;
}

.p-products_list__intro {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-products_list__intro {
    margin-bottom: 5rem;
  }
}
.p-products_list__intro .inner {
  max-width: 1200px;
}
.p-products_list__intro p {
  line-height: 2;
}
.p-products_list__btn_area .major_category .inner {
  max-width: 1200px;
}
@media only screen and (max-width: 780px) {
  .p-products_list__btn_area .major_category .inner {
    width: 100%;
  }
}
.p-products_list__btn_area .major_category ul {
  display: flex;
}
.p-products_list__btn_area .major_category ul li {
  width: 33.3333%;
}
.p-products_list__btn_area .major_category ul li + li {
  border-left: solid 1px #E3E3E3;
}
.p-products_list__btn_area .major_category ul li a {
  padding: 1.45em 0.5em;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  color: #B7B7B7;
  background-color: #FDFDFD;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-products_list__btn_area .major_category ul li a {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
.p-products_list__btn_area .major_category ul li a:hover {
  color: #8E8E8E;
  background-color: #F0F0F0;
}
.p-products_list__btn_area .major_category ul li.current a {
  color: #222C19;
  background-color: #F8F8F8;
  pointer-events: none;
}
.p-products_list__btn_area .minor_category {
  padding-top: 6.4rem;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-products_list__btn_area .minor_category {
    padding-top: 3.2rem;
  }
}
.p-products_list__btn_area .minor_category .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-products_list__btn_area .minor_category ul {
    display: flex;
  }
}
@media only screen and (min-width: 781px) {
  .p-products_list__btn_area .minor_category ul li {
    width: 32%;
    margin-right: 2%;
  }
  .p-products_list__btn_area .minor_category ul li:last-child {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-products_list__btn_area .minor_category ul li + li {
    margin-top: 1rem;
  }
}
.p-products_list__btn_area .minor_category ul li a {
  padding: 1.2em 1.6em;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: #222C19;
  background-color: #ffffff;
  background-image: url("../img/icon_arrow07.png");
  background-repeat: no-repeat;
  background-size: 0.8em auto;
  background-position: calc(100% - 0.8em) center;
  border: solid 1px #E8E8E8;
  border-radius: 0.4rem;
  overflow: hidden;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-products_list__btn_area .minor_category ul li a {
    padding: 0.5em 1.5em;
    font-size: 1.4rem;
    background-size: 0.5em auto;
  }
}
.p-products_list__btn_area .minor_category ul li a:hover {
  background-color: #E9F0EB;
}
.p-products_list__btn_area .minor_category ul li.current a {
  color: #22A752;
  border-color: #22A752;
  pointer-events: none;
}
.p-products_list__list_area {
  margin-bottom: 12rem;
  padding: 7.2rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area {
    margin-bottom: 5rem;
    padding: 3.2rem 0 5rem 0;
  }
}
.p-products_list__list_area .inner {
  max-width: 1200px;
}
.p-products_list__list_area h3 {
  margin-bottom: 1.28em;
  font-size: 3.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area h3 {
    font-size: 2.2rem;
  }
}
.p-products_list__list_area dl {
  padding: 4.8rem 4rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area dl {
    padding: 2.4rem 2rem;
  }
}
.p-products_list__list_area dl + h3 {
  margin-top: 1.28em;
}
.p-products_list__list_area dl dt {
  margin-bottom: 1.1em;
  padding-left: 0.5em;
  font-size: 2.2rem;
  font-weight: 700;
  border-left: solid 0.4rem #22A752;
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area dl dt {
    font-size: 1.8rem;
  }
}
.p-products_list__list_area dl dd + dt {
  margin-top: 2.54em;
}
.p-products_list__list_area dl dd table {
  width: 100%;
  table-layout: fixed;
}
.p-products_list__list_area dl dd table thead tr th {
  padding: 0.88em 0.25em;
  font-size: 1.125em;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  background-color: #E9F0EB;
  border-left: solid 1px #B6C1B9;
}
.p-products_list__list_area dl dd table thead tr th:first-child {
  border-left: none;
}
@media only screen and (min-width: 781px) {
  .p-products_list__list_area dl dd table thead tr th.w12 {
    width: 12%;
  }
}
.p-products_list__list_area dl dd table tbody tr td {
  padding: 1em;
  font-size: 0.875em;
  vertical-align: middle;
  background-color: #FCFCFC;
  border-left: solid 1px #E8E8E8;
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area dl dd table tbody tr td {
    padding: 1em 0;
    border-left: none !important;
  }
}
.p-products_list__list_area dl dd table tbody tr td:first-child {
  border-left: none;
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area dl dd table tbody tr td:first-child {
    margin-top: 1rem;
    border-top: solid 1px #E8E8E8;
  }
}
.p-products_list__list_area dl dd table tbody tr td:first-child a {
  font-size: 1.14em;
  font-weight: 700;
}
.p-products_list__list_area dl dd table tbody tr td:first-child a:hover {
  color: #22A752;
}
.p-products_list__list_area dl dd table tbody tr td:first-child .annotation {
  color: #727272;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-products_list__list_area dl dd table tbody tr td.w12 {
    width: 12%;
  }
}
@media only screen and (max-width: 780px) {
  .p-products_list__list_area dl dd table tbody tr td {
    text-align: left !important;
  }
  .p-products_list__list_area dl dd table tbody tr td:before {
    width: 13rem;
  }
  .p-products_list__list_area dl dd table tbody tr td .bt-content {
    padding-left: 1em;
  }
}

.p-products_post__pagetitle h2 .product_name {
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-products_post__pagetitle h2 .product_name {
    margin-left: 1em;
    padding-left: 1em;
    font-size: 2rem;
    border-left: solid 0.2rem #222C19;
    display: inline-block;
    vertical-align: 0.1em;
  }
}
@media only screen and (max-width: 780px) {
  .p-products_post__pagetitle h2 .product_name {
    margin-top: 0.5em;
    font-size: 1.4rem;
    display: block;
  }
  .p-products_post__pagetitle h2 .product_name:before {
    width: 1em;
    height: 0.2em;
    margin-bottom: 0.5em;
    content: "";
    background-color: #222C19;
    display: block;
  }
}
.p-products_post__detail {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail {
    margin-bottom: 5rem;
  }
}
.p-products_post__detail .inner {
  max-width: 1200px;
}
.p-products_post__detail .headding {
  margin-bottom: 5.6rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .headding {
    margin-bottom: 3rem;
  }
}
.p-products_post__detail .headding h3 {
  margin-bottom: 0.73em;
  padding-left: 0.75em;
  font-size: 4.5rem;
  font-weight: 700;
  border-left: solid 0.4rem #22A752;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .headding h3 {
    font-size: 2.2rem;
  }
}
.p-products_post__detail .headding h3 .ttl_annotaion {
  font-size: 2rem;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .headding h3 .ttl_annotaion {
    font-size: 1.6rem;
  }
}
.p-products_post__detail .headding p {
  line-height: 1.6875;
}
.p-products_post__detail .product_detail {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .product_detail {
    margin-bottom: 5rem;
  }
}
.p-products_post__detail .product_detail h4 {
  margin-bottom: 1.1em;
  padding-bottom: 0.77em;
  font-size: 2.2rem;
  font-weight: 700;
  color: #22A752;
  border-bottom: solid 1px #E8E8E8;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .product_detail h4 {
    font-size: 1.8rem;
  }
}
.p-products_post__detail .product_detail .detail01 {
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .product_detail .detail01 {
    margin-bottom: 3.2rem;
  }
}
.p-products_post__detail .product_detail .detail01 ul li {
  line-height: 1.6875;
}
.p-products_post__detail .product_detail .detail02 {
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .product_detail .detail02 {
    margin-bottom: 3.2rem;
  }
}
.p-products_post__detail .product_detail .detail02 ul li {
  margin-bottom: 0.5em;
  padding-left: 2em;
  position: relative;
}
.p-products_post__detail .product_detail .detail02 ul li:before {
  width: 1em;
  height: 1em;
  content: "";
  background-color: #222C19;
  border-radius: 50%;
  position: absolute;
  top: 0.25em;
  left: 0;
}
.p-products_post__detail .product_detail .detail03 {
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .product_detail .detail03 {
    margin-bottom: 3.2rem;
  }
}
.p-products_post__detail .product_detail .detail03 p {
  line-height: 1.6875;
}
.p-products_post__detail .product_detail .detail04 {
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 780px) {
  .p-products_post__detail .product_detail .detail04 {
    margin-bottom: 3.2rem;
  }
}
.p-products_post__detail .product_detail .detail04 .img img {
  width: auto;
  max-width: 100%;
  height: auto;
}
.p-products_post__detail .btn {
  text-align: center;
}

/*採用LP*/
@media only screen and (max-width: 900px) {
  .page-id-41 #header .header_right nav:before {
    background-color: #FF7F00;
  }
}
@media only screen and (max-width: 900px) {
  .page-id-41 #header .header_right nav ul li a:after {
    background: none;
    background-image: url("../img/footer_mail_arrow.png");
    background-size: cover;
    border-radius: 0;
  }
}
@media only screen and (max-width: 900px) {
  .page-id-41 #header .header_right nav .contact a {
    background: none;
    color: #222C19 !important;
    background-color: #ffffff;
    background-image: url("../img/icon_arrow08.png");
    background-size: 1em auto;
    background-repeat: no-repeat;
    background-position: 95% center;
    border-radius: 0.4rem;
  }
  .page-id-41 #header .header_right nav .contact a:before {
    background-image: url("../img/mail_icon_orange.png");
  }
  .page-id-41 #header .header_right nav .contact a:after {
    content: none;
  }
}
@media only screen and (max-width: 900px) {
  .page-id-41 #footer .footer_bottom .footer_contact a:nth-child(1) {
    display: none !important;
  }
  .page-id-41 #footer .footer_bottom .footer_contact a:nth-child(2) {
    width: 100% !important;
  }
}

.p-adoption__mv {
  margin-bottom: 12.6rem;
  padding-top: 23.2rem;
  padding-bottom: 11.5rem;
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv {
    margin-bottom: 2.8rem;
    padding-top: 25.5rem;
    padding-bottom: 3.5rem;
  }
}
.p-adoption__mv:before {
  width: 76%;
  height: 100%;
  content: "";
  background: linear-gradient(to right, #FD9C00, #FF7600);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv:before {
    width: 93.8%;
    height: calc(100% - 16.5rem);
    top: 16.5rem;
  }
}
.p-adoption__mv .img {
  width: 54.1%;
  height: calc(100% - 15rem);
  border-radius: 2.4rem 0 0 2.4rem;
  overflow: hidden;
}
.p-adoption__mv .img > img,
.p-adoption__mv .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-adoption__mv .img {
  position: absolute;
  top: 19rem;
  right: 0;
  z-index: -1;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv .img {
    width: 93.8%;
    height: 32rem;
    top: 7.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__mv .img {
    height: 21.4rem;
  }
}
.p-adoption__mv .img img {
  -o-object-position: top;
  object-position: top;
}
.p-adoption__mv .scroll_text {
  width: 100%;
  font-family: "Cal Sans", sans-serif;
  font-size: 15.9rem;
  line-height: 1.25;
  color: #ffffff;
  opacity: 0.2;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -2;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv .scroll_text {
    font-size: 7.9rem;
  }
}
.p-adoption__mv .inner {
  max-width: 1200px;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv .inner {
    width: 93.5%;
  }
}
.p-adoption__mv .catchcopy {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv .catchcopy {
    margin-bottom: 2rem;
  }
}
.p-adoption__mv .catchcopy h1 {
  margin-bottom: 0.5em;
}
.p-adoption__mv .catchcopy h1 > span {
  margin-bottom: 0.2em;
  padding: 0 0.25em 0.1em 0.25em;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.25;
  background-color: #ffffff;
  display: inline-block;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv .catchcopy h1 > span {
    font-size: 3.4rem;
  }
}
.p-adoption__mv .catchcopy h1 > span span {
  color: #FF7F00;
}
.p-adoption__mv .catchcopy p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  color: #ffffff;
}
@media only screen and (max-width: 900px) {
  .p-adoption__mv .btn {
    text-align: center;
  }
}
.p-adoption__message {
  margin-bottom: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__message {
    margin-bottom: 5.6rem;
  }
}
.p-adoption__message .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-adoption__message .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__message .img {
    width: 45.5%;
    padding-right: 2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__message .img {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__message .text {
    width: 50%;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__message .text h2 {
    max-width: 50.7rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__message .text h2 {
    width: 23.1rem;
    margin: 0.75em 0;
  }
}
.p-adoption__message .text h3 {
  margin: 1em 0;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.41;
}
@media only screen and (max-width: 780px) {
  .p-adoption__message .text h3 {
    font-size: 2.7rem;
  }
}
.p-adoption__message .text p {
  margin-bottom: 2.5em;
  font-weight: 500;
  line-height: 2.625;
}
@media only screen and (max-width: 780px) {
  .p-adoption__message .text p {
    margin-bottom: 1.3em;
    line-height: 1.8;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__message .text .btn {
    text-align: center;
  }
}
.p-adoption__entry_cta .inner {
  color: #ffffff;
  background-size: cover;
  background-position: center center;
  border-radius: 2.4rem;
}
@media only screen and (min-width: 781px) {
  .p-adoption__entry_cta .inner {
    max-width: 1280px;
    background-image: url("../img/adoption/entry_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .inner {
    background-image: url("../img/adoption/entry_bg_sp.jpg");
  }
}
.p-adoption__entry_cta .inner .content {
  margin: 0 auto;
}
@media only screen and (min-width: 901px) {
  .p-adoption__entry_cta .inner .content {
    width: 90%;
    max-width: 1080px;
    padding: 5.6rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__entry_cta .inner .content {
    width: 83.6%;
    padding: 2.6rem 0;
  }
}
@media only screen and (min-width: 901px) {
  .p-adoption__entry_cta .text {
    width: 41rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__entry_cta .text {
    margin-bottom: 2.8rem;
  }
}
.p-adoption__entry_cta .text h2 .ja {
  margin-bottom: -0.8em;
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .text h2 .ja {
    margin-bottom: 0;
    font-size: 1.9rem;
    line-height: 1.2;
  }
}
.p-adoption__entry_cta .text h2 .en {
  width: 35.3rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .text h2 .en {
    width: 16rem;
  }
}
.p-adoption__entry_cta .text p {
  margin-bottom: 1em;
  font-weight: 500;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .text p {
    line-height: 1.8;
  }
}
.p-adoption__entry_cta .text .link a {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-adoption__entry_cta .text .link a:hover {
    text-decoration: underline;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .text .link a {
    font-size: 1.5rem;
  }
}
.p-adoption__entry_cta .text .link a:after {
  width: 1.2em;
  height: 1.2em;
  margin-left: 0.5em;
  content: "";
  background-color: #ffffff;
  background-image: url("../img/icon_arrow08.png");
  background-size: 0.5em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  display: inline-block;
  vertical-align: -0.2em;
}
@media only screen and (min-width: 901px) {
  .p-adoption__entry_cta .btn_area {
    width: calc(100% - 45rem);
    max-width: 56rem;
  }
}
.p-adoption__entry_cta .btn_area a {
  padding: 2em 4.6em 2em 3em;
  font-size: 2rem;
  font-weight: 700;
  color: #222C19 !important;
  background-color: #ffffff;
  border-radius: 1.6rem;
  display: block;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-adoption__entry_cta .btn_area a {
    transition: background-color 0.3s;
  }
  .p-adoption__entry_cta .btn_area a:hover {
    background-color: #E8E8E8;
  }
}
@media only screen and (max-width: 1099px) {
  .p-adoption__entry_cta .btn_area a {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__entry_cta .btn_area a {
    padding: 1.25em 4.6em 1.25em 1.25em;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .btn_area a {
    padding: 1.25em;
  }
}
.p-adoption__entry_cta .btn_area a:after {
  width: 1.8em;
  height: 1.8em;
  margin-top: -0.9em;
  content: "";
  background-color: #F2EFEA;
  background-image: url("../img/icon_arrow03.png");
  background-size: 0.5em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 2.8em;
}
@media only screen and (max-width: 780px) {
  .p-adoption__entry_cta .btn_area a:after {
    right: 1rem;
  }
}
.p-adoption__entry_cta .btn_area a + a {
  margin-top: 2rem;
}
.p-adoption__numbers {
  margin: 12rem 0;
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers {
    margin: 5.6rem 0;
  }
}
.p-adoption__numbers .inner {
  max-width: 1200px;
}
.p-adoption__numbers h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__numbers h2 .ja {
  margin-bottom: 0.6em;
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers h2 .ja {
    font-size: 1.9rem;
    line-height: 1.2;
  }
}
.p-adoption__numbers h2 .en {
  width: 75.3rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers h2 .en {
    width: 34.2rem;
  }
}
.p-adoption__numbers h3 {
  margin-bottom: 1.5em;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers h3 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__numbers ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.p-adoption__numbers ul li {
  text-align: center;
  background-color: #F8F7F4;
  border-radius: 0.8rem;
}
@media only screen and (min-width: 781px) {
  .p-adoption__numbers ul li {
    width: 32%;
    margin: 0 2% 2% 0;
    padding: 2em 1em;
  }
  .p-adoption__numbers ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers ul li {
    margin-bottom: 1.2rem;
    padding: 2.8rem 1.5rem;
  }
}
.p-adoption__numbers ul li h4 {
  margin-bottom: 1em;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 1279px) {
  .p-adoption__numbers ul li h4 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__numbers ul li h4 {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers ul li h4 {
    font-size: 2.2rem;
  }
}
.p-adoption__numbers ul li h4:after {
  width: 4em;
  height: 0.4rem;
  margin: 0.375em auto 0 auto;
  content: "";
  background-color: #FF7F00;
  border-radius: 0.2rem;
  display: block;
}
.p-adoption__numbers ul li .num {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 1279px) {
  .p-adoption__numbers ul li .num {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__numbers ul li .num {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers ul li .num {
    font-size: 2.1rem;
  }
}
.p-adoption__numbers ul li .num small {
  font-size: 0.66em;
  font-weight: 500;
  line-height: 1.25;
}
.p-adoption__numbers ul li .num > span {
  margin: 0 0.5rem;
  line-height: 3;
}
.p-adoption__numbers ul li .num > span span {
  font-family: "Poppins", sans-serif;
  font-size: 2em;
  line-height: 1;
  display: inline-block;
}
.p-adoption__numbers ul li p {
  margin-top: 0.8em;
  font-weight: 500;
}
@media only screen and (max-width: 1279px) {
  .p-adoption__numbers ul li p {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__numbers ul li p {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__numbers ul li p {
    font-size: 1.5rem;
  }
}
.p-adoption__challenge {
  background-size: cover;
  background-position: center center;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-adoption__challenge {
    padding: 4.8rem 0;
    background-image: url("../img/adoption/challenge_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__challenge {
    padding: 2.4rem 0 5rem 0;
    background-image: url("../img/adoption/challenge_bg_sp.jpg");
  }
}
.p-adoption__challenge .inner {
  max-width: 1000px;
  padding: 4rem 2rem;
  background-color: #ffffff;
  border-radius: 2.4rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-adoption__challenge .inner {
    padding: 2rem;
  }
}
.p-adoption__challenge h2 {
  margin-bottom: 0.35em;
  font-size: 4.8rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-adoption__challenge h2 {
    font-size: 2.4rem;
  }
}
.p-adoption__challenge h2 span {
  color: #FF7F00;
}
.p-adoption__challenge p {
  font-weight: 500;
  line-height: 2.125;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-adoption__challenge p {
    text-align: left;
  }
}
.p-adoption__challenge .scroll_text {
  width: 100%;
  font-family: "Cal Sans", sans-serif;
  font-size: 15.9rem;
  line-height: 1.25;
  color: #ffffff;
  position: absolute;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-adoption__challenge .scroll_text {
    top: 50%;
    transform: translate(0, -50%);
  }
}
@media only screen and (max-width: 900px) {
  .p-adoption__challenge .scroll_text {
    font-size: 7.9rem;
    bottom: 0;
  }
}
.p-adoption__voice {
  padding: 10rem 0;
  background-color: #F8F7F4;
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice {
    padding: 5rem 0;
  }
}
.p-adoption__voice .inner {
  max-width: 1200px;
}
.p-adoption__voice h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__voice h2 .en {
  width: 33.6rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice h2 .en {
    width: 15.3rem;
  }
}
.p-adoption__voice h3 {
  margin-bottom: 1.2em;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice h3 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__voice ul {
    max-width: 1080px;
    margin: 0 auto 5.6rem auto;
    padding-top: 4rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice ul {
    margin-bottom: 2.8rem;
    padding-top: 2.5rem;
  }
}
.p-adoption__voice ul li {
  background-color: #ffffff;
  border-radius: 1.6rem;
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.05);
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-adoption__voice ul li {
    width: 48%;
    padding: 13.5rem 4rem 4rem 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice ul li {
    padding: 9rem 1.6rem 2rem 1.6rem;
  }
  .p-adoption__voice ul li + li {
    margin-top: 5rem;
  }
}
.p-adoption__voice ul li .img {
  width: 16rem;
  height: 16rem;
  border: solid 0.6rem #ffffff;
  border-radius: 50%;
  overflow: hidden;
}
.p-adoption__voice ul li .img > img,
.p-adoption__voice ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-adoption__voice ul li .img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -4rem);
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice ul li .img {
    width: 10.4rem;
    height: 10.4rem;
    transform: translate(-50%, -2.5rem);
  }
}
.p-adoption__voice ul li h4 {
  margin-bottom: 1em;
  text-align: center;
}
.p-adoption__voice ul li h4 span {
  padding: 0.1em 0.5em;
  font-size: 2.2rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #816F5A;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice ul li h4 span {
    font-size: 1.8rem;
  }
}
.p-adoption__voice ul li p {
  margin-bottom: 1.4em;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 780px) {
  .p-adoption__voice ul li p {
    font-size: 1.7rem;
  }
}
.p-adoption__voice ul li .link {
  font-weight: 500;
  text-align: right;
}
.p-adoption__voice ul li .link a {
  color: #2788D0;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .p-adoption__voice ul li .link a:hover {
    text-decoration: underline;
  }
}
.p-adoption__voice ul li .link a:after {
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  content: "";
  background-image: url("../img/icon_arrow09.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.2em;
}
.p-adoption__voice .btn {
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job {
    margin-bottom: 10.4rem;
    padding: 9.6rem 0 11.2rem 0;
    background-image: url("../img/adoption/job_bg.jpg");
    background-size: cover;
    background-position: center center;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job {
    margin-bottom: 3.2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .headding {
    margin-bottom: 3.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .headding {
    padding: 3.6rem 0 1.2rem 0;
    background-image: url("../img/adoption/job_bg_sp01.jpg");
    background-size: cover;
    background-position: center center;
  }
}
.p-adoption__job .headding .inner {
  max-width: 1200px;
}
.p-adoption__job .headding h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .headding h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__job .headding h2 .ja {
  margin-bottom: -0.8em;
  font-size: 2.4rem;
  font-weight: 700;
  color: #ffffff;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .headding h2 .ja {
    margin-bottom: 0;
    font-size: 1.9rem;
    line-height: 1.2;
  }
}
.p-adoption__job .headding h2 .en {
  width: 109.3rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .headding h2 .en {
    width: 33.9rem;
  }
}
.p-adoption__job .headding ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .headding ul {
    max-width: 1160px;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .headding ul li {
    width: 23.4%;
    margin: 0 2.13% 2.4rem 0;
  }
  .p-adoption__job .headding ul li:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .headding ul li {
    width: 48.8%;
    margin: 0 2.4% 2.4% 0;
  }
  .p-adoption__job .headding ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-adoption__job .headding ul li a {
  padding: 1.3em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  border: solid 1px #ffffff;
  border-radius: 0.8rem;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .headding ul li a:hover {
    background-color: #FD9C00;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .headding ul li a {
    padding: 0.75em;
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail {
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail {
    padding: 3rem 0;
    background-color: #FAF4E8;
  }
}
.p-adoption__job .job_detail .inner {
  max-width: 1000px;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail .job_box {
    margin-bottom: 2.4rem;
    padding: 4rem;
    background-color: #FAF4E8;
    border-radius: 1.6rem;
    box-shadow: 0 0 3rem rgba(0, 0, 0, 0.1);
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box {
    margin-bottom: 5rem;
    padding-bottom: 3rem;
    position: relative;
  }
  .p-adoption__job .job_detail .job_box:after {
    width: 113.6%;
    height: 1rem;
    content: "";
    background-color: #FF7F00;
    position: absolute;
    top: 100%;
    left: -6.8%;
  }
  .p-adoption__job .job_detail .job_box:last-child {
    padding-bottom: 0;
  }
  .p-adoption__job .job_detail .job_box:last-child:after {
    content: none;
  }
}
.p-adoption__job .job_detail .job_box:last-child {
  margin-bottom: 0;
}
.p-adoption__job .job_detail .job_box .detail {
  border-bottom: dashed 1px #CCCBC3;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail .job_box .detail {
    margin-bottom: 3.2rem;
    padding-bottom: 4rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail .job_box .detail .job_info {
    width: 53.5%;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_info {
    margin-bottom: 2rem;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_info h3 {
  margin-bottom: 0.4em;
  padding-left: 0.4em;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.1;
  border-left: solid 0.5rem #FF7F00;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_info h3 {
    font-size: 2.3rem;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_info h4 {
  margin-bottom: 0.7em;
  font-size: 2.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_info h4 {
    font-size: 1.9rem;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_info .img {
  width: 100%;
  height: 16rem;
  margin-bottom: 1.5em;
  overflow: hidden;
}
.p-adoption__job .job_detail .job_box .detail .job_info .img > img,
.p-adoption__job .job_detail .job_box .detail .job_info .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-adoption__job .job_detail .job_box .detail .job_info .img {
  border-radius: 0.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_info .img {
    height: 11rem;
    margin-bottom: 1em;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_info p {
  font-weight: 500;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_info p {
    line-height: 1.8;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_point {
  background-color: #ffffff;
  border: solid 0.2rem #E9E7DE;
  border-radius: 0.8rem;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail .job_box .detail .job_point {
    width: 41.7%;
    min-height: 43.8rem;
    padding: 7rem 2em 2em 2em;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_point {
    padding: 6.5rem 1.5em 1.5em 1.5em;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_point dt {
  padding: 0.4em 0.8em;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #816F5A;
  border-radius: 0.8rem 0 0.8rem 0;
  position: absolute;
  top: -0.2rem;
  left: -0.2rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_point dt {
    font-size: 1.7rem;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_point dd ul li {
  margin-bottom: 1em;
  padding-bottom: 1em;
  padding-left: 2em;
  font-size: 1.8rem;
  font-weight: 700;
  background-image: url("../img/icon_check02.png");
  background-size: 1.3em auto;
  background-repeat: no-repeat;
  background-position: 0 0.1em;
  border-bottom: dashed 1px #E9E7DE;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .detail .job_point dd ul li {
    margin-bottom: 0.6em;
    padding-bottom: 0.6em;
    padding-left: 1.5em;
    font-size: 1.7rem;
    background-size: 1em auto;
    background-position: 0 0.25em;
  }
}
.p-adoption__job .job_detail .job_box .detail .job_point dd ul li:last-child {
  margin-bottom: 0 !important;
}
.p-adoption__job .job_detail .job_box .day_flow h5 {
  margin-bottom: 0.375em;
  padding-left: 1.25em;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .day_flow h5 {
    font-size: 1.9rem;
  }
}
.p-adoption__job .job_detail .job_box .day_flow h5:before {
  width: 0.66em;
  height: 0.66em;
  content: "";
  background-color: #816F5A;
  border-radius: 50%;
  position: absolute;
  top: 0.3em;
  left: 0;
}
.p-adoption__job .job_detail .job_box .day_flow h5 + p {
  margin-bottom: 2em;
  font-weight: 500;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .day_flow h5 + p {
    margin-bottom: 1em;
    line-height: 1.8;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail .job_box .day_flow ol {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.p-adoption__job .job_detail .job_box .day_flow ol li {
  margin-left: 1rem;
  border-left: solid 1px #B4B2A7;
  display: flex;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .job_detail .job_box .day_flow ol li {
    width: calc(50% - 1rem);
    padding: 0.5rem 0 0.5rem 3rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .job_detail .job_box .day_flow ol li {
    width: calc(100% - 1rem);
    padding: 0.3rem 0 0.3rem 1.5rem;
  }
}
.p-adoption__job .job_detail .job_box .day_flow ol li:before {
  width: 0.5em;
  height: 0.5em;
  margin: -0.25em 0 0 -0.25em;
  content: "";
  background-color: #FF7F00;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
}
.p-adoption__job .job_detail .job_box .day_flow ol li .hour {
  width: 24%;
  font-family: "Poppins", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
}
.p-adoption__job .job_detail .job_box .day_flow ol li p {
  width: 76%;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .youtube_link {
    padding: 3.6rem 0 5.3rem 0;
    background-image: url("../img/adoption/job_bg_sp02.jpg");
    background-size: cover;
    background-position: center center;
  }
}
.p-adoption__job .youtube_link .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .youtube_link ul {
    display: flex;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__job .youtube_link ul li {
    width: 32%;
    margin-right: 2%;
  }
  .p-adoption__job .youtube_link ul li:last-child {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .youtube_link ul li + li {
    margin-top: 3rem;
  }
}
.p-adoption__job .youtube_link ul li a {
  color: #ffffff;
  display: block;
}
.p-adoption__job .youtube_link ul li .img {
  margin-bottom: 1em;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-adoption__job .youtube_link ul li .img img {
  width: 100%;
}
.p-adoption__job .youtube_link ul li p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.35;
}
@media only screen and (max-width: 780px) {
  .p-adoption__job .youtube_link ul li p {
    font-size: 1.8rem;
  }
}
.p-adoption__training {
  margin-bottom: 15.2rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training {
    margin-bottom: 10.9rem;
  }
}
.p-adoption__training .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-adoption__training .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__training .text {
    width: 46%;
  }
}
.p-adoption__training .text h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .text h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__training .text h2 .ja {
  margin-bottom: 0.6em;
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .text h2 .ja {
    font-size: 1.9rem;
    line-height: 1.2;
  }
}
.p-adoption__training .text h2 .en {
  width: 52.5rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .text h2 .en {
    width: 23.9rem;
  }
}
.p-adoption__training .text h3 {
  margin-bottom: 0.7em;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .text h3 {
    font-size: 2.4rem;
  }
}
.p-adoption__training .text p {
  font-weight: 500;
  line-height: 2.5625;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .text p {
    line-height: 1.8;
  }
}
.p-adoption__training .img {
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-adoption__training .img {
    width: 50%;
    overflow: hidden;
  }
  .p-adoption__training .img > img,
  .p-adoption__training .img > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .img {
    margin-bottom: 2rem;
    overflow: hidden;
  }
}
.p-adoption__training .scroll_text {
  width: 100%;
  font-family: "Cal Sans", sans-serif;
  font-size: 15.9rem;
  line-height: 1.25;
  color: #F5F5F5;
  position: absolute;
  top: 75%;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-adoption__training .scroll_text {
    font-size: 7.9rem;
    top: 95%;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__culture {
    margin-bottom: 12rem;
    padding: 7.2rem 0;
    position: relative;
    z-index: 1;
  }
  .p-adoption__culture:before {
    width: 80%;
    height: 100%;
    content: "";
    background-color: #F8F7F4;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture {
    margin-bottom: 5rem;
  }
}
.p-adoption__culture .inner {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-adoption__culture .inner {
    max-width: 1200px;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .inner:before {
    width: 113.6%;
    height: 83%;
    content: "";
    background-color: #F8F7F4;
    position: absolute;
    bottom: 0;
    left: -6.8%;
    z-index: -1;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__culture .text {
    width: 52%;
    margin: 0 0 0 auto;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .text {
    padding-bottom: 3.2rem;
  }
}
.p-adoption__culture .text h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .text h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__culture .text h2 .ja {
  margin-bottom: 0.6em;
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .text h2 .ja {
    font-size: 1.9rem;
    line-height: 1.2;
  }
}
.p-adoption__culture .text h2 .en {
  width: 57.3rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .text h2 .en {
    width: 26rem;
  }
}
.p-adoption__culture .text h3 {
  margin-bottom: 0.7em;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .text h3 {
    font-size: 2.4rem;
  }
}
.p-adoption__culture .text p {
  font-weight: 500;
  line-height: 2.5625;
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .text p {
    line-height: 1.8;
  }
}
.p-adoption__culture .img {
  border-radius: 0 1.6rem 1.6rem 0;
}
@media only screen and (min-width: 781px) {
  .p-adoption__culture .img {
    width: 64.75%;
    height: 100%;
    overflow: hidden;
  }
  .p-adoption__culture .img > img,
  .p-adoption__culture .img > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-adoption__culture .img {
    position: absolute;
    top: 0;
    right: 65.25%;
  }
}
@media only screen and (min-width: 781px) and (min-width: 1921px) {
  .p-adoption__culture .img {
    border-radius: 1.6rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__culture .img {
    width: 107%;
    margin: 0 0 2.5rem -7%;
    overflow: hidden;
    position: relative;
    z-index: 2;
  }
}
.p-adoption__benefits {
  margin-bottom: 4.4rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits {
    margin-bottom: 2rem;
  }
}
.p-adoption__benefits .inner {
  max-width: 1200px;
}
.p-adoption__benefits h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__benefits h2 .ja {
  margin-bottom: -0.8em;
  font-size: 2.4rem;
  font-weight: 700;
  color: #ffffff;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits h2 .ja {
    margin-bottom: 0;
    font-size: 1.9rem;
    line-height: 1.2;
  }
}
.p-adoption__benefits h2 .en {
  width: 107.2rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits h2 .en {
    width: 24.9rem;
  }
}
.p-adoption__benefits h3 {
  margin-bottom: 2.14em;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits h3 {
    margin-bottom: 1.5em;
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__benefits .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__benefits .list dl {
    width: 46.6%;
    margin-bottom: 6.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits .list dl {
    margin-bottom: 3.6rem;
  }
}
.p-adoption__benefits .list dl dt {
  margin-bottom: 0.7em;
  padding-left: 0.4em;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.1;
  border-left: solid 0.5rem #FF7F00;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits .list dl dt {
    font-size: 2.3rem;
  }
}
.p-adoption__benefits .list dl dd ul li {
  margin-bottom: 1em;
  padding-bottom: 1em;
  padding-left: 2.66em;
  font-size: 1.8rem;
  font-weight: 700;
  background-image: url("../img/icon_check02.png");
  background-size: 1.3em auto;
  background-repeat: no-repeat;
  background-position: 0 0.1em;
  border-bottom: dashed 1px #E9E7DE;
}
@media only screen and (max-width: 780px) {
  .p-adoption__benefits .list dl dd ul li {
    margin-bottom: 0.6em;
    padding-bottom: 0.6em;
    padding-left: 1.5em;
    font-size: 1.7rem;
    background-size: 1em auto;
    background-position: 0 0.25em;
  }
}
.p-adoption__benefits .list dl dd ul li:last-child {
  margin-bottom: 0 !important;
}
.p-adoption__foryou {
  margin-top: 10rem;
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou {
    margin-top: 5rem;
    margin-bottom: 3.2rem;
  }
}
.p-adoption__foryou .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-adoption__foryou .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-adoption__foryou .text {
    width: 46%;
  }
}
.p-adoption__foryou .text h2 {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou .text h2 {
    margin-bottom: 2rem;
  }
}
.p-adoption__foryou .text h2 .en {
  width: 50.8rem;
  max-width: 100%;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou .text h2 .en {
    width: 23rem;
  }
}
.p-adoption__foryou .text h3 {
  margin-bottom: 0.7em;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou .text h3 {
    font-size: 2.4rem;
  }
}
.p-adoption__foryou .text p {
  font-weight: 500;
  line-height: 2.5625;
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou .text p {
    line-height: 1.8;
  }
}
.p-adoption__foryou .img {
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-adoption__foryou .img {
    width: 43.8%;
    overflow: hidden;
  }
  .p-adoption__foryou .img > img,
  .p-adoption__foryou .img > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou .img {
    margin-bottom: 2rem;
    overflow: hidden;
  }
}
.p-adoption__foryou .loop_img_left {
  width: 100%;
  height: 29.5rem;
  margin-top: 12.8rem;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-adoption__foryou .loop_img_left {
    height: 15rem;
    margin-top: 6rem;
  }
}
.p-adoption__foryou .loop_img_left img {
  width: auto;
  max-width: none;
  height: 100%;
  animation: loop_img_left 30s linear infinite;
}
@keyframes loop_img_left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/****************************************************
 * 6.装飾
 ****************************************************/
.underline {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.colorRed {
  color: #ff0000;
}

.ta-l {
  text-align: left;
}

.ta-r {
  text-align: right;
}

.ta-c {
  text-align: center;
}

/****************************************************
 * 7.印刷用調整
 ****************************************************/
@media print {
  @page {
    /* A4縦サイズ */
    size: 210mm 297mm;
  }
  html {
    font-size: 10pt !important;
  }
  body {
    margin: 0 !important;
    padding: 0 !important;
  }
  * {
    -webkit-print-color-adjust: exact;
  }
  .container {
    padding: 0 !important;
  }
  #header {
    position: static !important;
  }
  img {
    display: block !important;
  }
}