@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: #2C2C2C;
  scroll-behavior: smooth;
}
@media only screen and (max-width: 1099px) {
  html {
    font-size: 9px;
  }
}
@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: #2C2C2C;
}
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;
}

.midashi01 {
  margin-bottom: 1.5em;
  font-size: 2.2rem;
  font-weight: 700;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .midashi01 {
    padding: 0 1.5rem;
    font-size: 1.7rem;
  }
}
.midashi01:before {
  width: 4rem;
  height: 1px;
  content: "";
  background-color: #E2E2E2;
  position: absolute;
  top: 0.75em;
  left: -6.4rem;
}
@media only screen and (max-width: 780px) {
  .midashi01:before {
    width: 2.8rem;
    left: -2.5rem;
  }
}
.midashi01 span {
  font-family: "Poppins", sans-serif;
  font-size: 9rem;
  font-weight: 600;
  line-height: 1;
  color: #1AA877;
  display: block;
}
@media only screen and (max-width: 1279px) {
  .midashi01 span {
    font-size: 6.75rem;
  }
}
@media only screen and (max-width: 780px) {
  .midashi01 span {
    font-size: 4.5rem;
  }
}
.midashi01.white {
  color: #ffffff;
}
.midashi01.white span {
  color: #ffffff;
}
.midashi01.white:before {
  background-color: #ffffff;
}
.midashi01.center {
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .midashi01.center {
    padding: 0;
  }
}
.midashi01.center:before {
  content: none;
}

.btn01 {
  width: 36rem;
  padding: 1.27em 3.3em;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #1AA877 !important;
  border: solid 0.2rem #1AA877;
  border-radius: 99px;
  background: linear-gradient(to right, #ffffff, #ffffff 50%, #1AA877 50%, #1AA877);
  background-size: 201% 100%;
  position: relative;
  display: inline-block;
  transition: background-position 0.3s;
}
@media only screen and (max-width: 780px) {
  .btn01 {
    width: 27rem;
    padding: 0.73em 3.3em;
    font-size: 1.7rem;
  }
}
.btn01:after {
  width: 2.2em;
  height: 2.2em;
  margin-top: -1.1em;
  content: "";
  background-image: url("../img/icon_arrow01.png");
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0.88em;
}
@media only screen and (max-width: 780px) {
  .btn01:after {
    width: 1.64em;
    height: 1.64em;
    margin-top: -0.82em;
    right: 0.7em;
  }
}
@media only screen and (min-width: 781px) {
  .btn01:hover {
    color: #ffffff !important;
    background-position: -99% 0;
  }
  .btn01:hover:after {
    background-image: url("../img/icon_arrow02.png");
  }
}
.btn02 {
  width: 36rem;
  padding: 1.27em 3.3em;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff !important;
  border: solid 0.2rem #ffffff;
  border-radius: 99px;
  background: linear-gradient(to right, #1AA877, #1AA877 50%, #ffffff 50%, #ffffff);
  background-size: 201% 100%;
  position: relative;
  display: inline-block;
  transition: background-position 0.3s;
}
@media only screen and (max-width: 780px) {
  .btn02 {
    width: 27rem;
    padding: 0.73em 3.3em;
    font-size: 1.7rem;
  }
}
.btn02:after {
  width: 2.2em;
  height: 2.2em;
  margin-top: -1.1em;
  content: "";
  background-image: url("../img/icon_arrow02.png");
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0.88em;
}
@media only screen and (max-width: 780px) {
  .btn02:after {
    width: 1.64em;
    height: 1.64em;
    margin-top: -0.82em;
    right: 0.7em;
  }
}
@media only screen and (min-width: 781px) {
  .btn02:hover {
    color: #1AA877 !important;
    background-position: -99% 0;
  }
  .btn02:hover:after {
    background-image: url("../img/icon_arrow01.png");
  }
}
.btn_contact01 {
  padding: 0.46em;
  font-family: "Poppins", sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff !important;
  background: linear-gradient(to right, #1AA877, #1AA877 50%, #ffffff 50%, #ffffff);
  background-size: 201% 100%;
  background-position: 0 0;
  border: solid 1px #1AA877;
  border-radius: 0.5rem;
  display: inline-block;
  transition: background-position 0.3s;
}
@media only screen and (max-width: 780px) {
  .btn_contact01 {
    padding: 0.8em;
    font-size: 1.8rem;
  }
}
.btn_contact01:before {
  width: 1.416em;
  height: 1.25em;
  margin-right: 0.72em;
  content: "";
  background-image: url("../img/icon_mail01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.2em;
}
@media only screen and (min-width: 781px) {
  .btn_contact01:hover {
    color: #1AA877 !important;
    background-position: -99% 0;
  }
  .btn_contact01:hover:before {
    background-image: url("../img/icon_mail02.png");
  }
}

/*cta_block*/
.cta_block {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .cta_block {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 781px) {
  .cta_block .inner {
    max-width: 1200px;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .inner {
    width: 100%;
  }
}
.cta_block a {
  background-image: url("../img/cta_bg.jpg");
  background-size: cover;
  background-position: center center;
  display: block;
}
@media only screen and (min-width: 781px) {
  .cta_block a {
    padding: 11rem 0;
    transition: opacity 0.3s;
  }
  .cta_block a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block a {
    padding: 6.8rem 0;
  }
}
.cta_block .in {
  margin: 0 auto;
}
@media only screen and (min-width: 781px) {
  .cta_block .in {
    width: 90%;
    max-width: 1000px;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .in {
    width: 80%;
  }
}
@media only screen and (min-width: 781px) {
  .cta_block .midashi01 {
    width: 50%;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .midashi01 {
    text-align: center;
  }
}
.cta_block .midashi01:before {
  content: none;
}
.cta_block p {
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 2.8;
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .cta_block p {
    width: 50%;
    padding-left: 7rem;
    padding-right: 1em;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block p {
    font-size: 1.4rem;
    line-height: 1.64;
  }
}

.fadeIn {
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.6s ease-in, transform 0.6s ease-in;
}
.fadeIn.from-bottom {
  transform: translateY(5%);
}
.fadeIn.from-right {
  transform: translateX(5%);
}
.fadeIn.from-left {
  transform: translateX(-5%);
}
.fadeIn.view {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (min-width: 781px) {
  .fadeIn.delay1 {
    transition-delay: 0.5s;
  }
  .fadeIn.delay2 {
    transition-delay: 1s;
  }
  .fadeIn.delay3 {
    transition-delay: 1.5s;
  }
  .fadeIn.delay4 {
    transition-delay: 2s;
  }
  .fadeIn.delay5 {
    transition-delay: 2.5s;
  }
  .fadeIn.delay6 {
    transition-delay: 3s;
  }
  .fadeIn.delay7 {
    transition-delay: 3.5s;
  }
  .fadeIn.delay8 {
    transition-delay: 4s;
  }
  .fadeIn.delay9 {
    transition-delay: 4.5s;
  }
  .fadeIn.delay10 {
    transition-delay: 5s;
  }
}

.scroll_img {
  width: 100%;
  overflow: hidden;
}
.scroll_img img {
  max-width: none;
  animation: loop_img_left 30s linear infinite;
}

@keyframes loop_img_left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/*フォームベース*/
.wpcf7-text, .input-text {
  width: 100%;
  padding: 1.3em;
  background-color: #F7F7F7;
  border-radius: 0.8rem;
}
.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: 14.4em;
  padding: 1.3em;
  background-color: #F7F7F7;
  border-radius: 0.8rem;
}
.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: 1.3em;
  background-color: #F7F7F7;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  background-size: 2rem auto;
  border-radius: 0.8rem;
}

.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;
  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 #D9D9D9;
  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: #1AA877;
  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;
  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 #D9D9D9;
  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 #1AA877;
  border-bottom: solid 0.2rem #1AA877;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  transform: rotate(-45deg);
}

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

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
.burger_menu_btn {
  width: 8rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 98;
}
@media only screen and (max-width: 780px) {
  .burger_menu_btn {
    width: 5.6rem;
  }
}

.burger_menu {
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: none;
}
.burger_menu .close {
  width: 8rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .burger_menu .close {
    width: 5.6rem;
  }
}
@media only screen and (min-width: 901px) {
  .burger_menu .inner {
    padding-top: 20rem;
    padding-bottom: 5rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 900px) {
  .burger_menu .inner {
    padding-top: 9.5rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (min-width: 901px) {
  .burger_menu dl {
    width: 27.2%;
  }
}
@media only screen and (max-width: 900px) {
  .burger_menu dl {
    display: flex;
    flex-wrap: wrap;
  }
  .burger_menu dl + dl {
    margin-top: 2.5em;
  }
}
.burger_menu dl dt {
  padding-bottom: 0.77em;
  font-size: 2.2rem;
  font-weight: 500;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  background-size: 1.09em auto;
  background-position: right 0.3em;
  border-bottom: solid 1px #E2E2E2;
}
@media only screen and (max-width: 900px) {
  .burger_menu dl dt {
    width: 100%;
    margin-bottom: 0.54em;
    padding-bottom: 0.54em;
  }
}
.burger_menu dl dt + dt {
  margin-top: 3em;
}
@media only screen and (max-width: 900px) {
  .burger_menu dl dt + dt {
    margin-top: 1.84em;
  }
}
@media only screen and (min-width: 901px) {
  .burger_menu dl dt + dd {
    margin-top: 1.77em;
  }
}
.burger_menu dl dt a {
  padding-right: 1.3em;
  display: block;
}
@media only screen and (min-width: 781px) {
  .burger_menu dl dt a {
    transition: color 0.3s;
  }
  .burger_menu dl dt a:hover {
    color: #1AA877;
  }
}
.burger_menu dl dd {
  font-size: 1.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 900px) {
  .burger_menu dl dd {
    width: 50%;
    margin-top: 1.25em;
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 901px) {
  .burger_menu dl dd + dd {
    margin-top: 1.25em;
  }
}
.burger_menu dl dd + dt {
  margin-top: 3em;
}
@media only screen and (max-width: 900px) {
  .burger_menu dl dd + dt {
    margin-top: 1.84em;
  }
}
.burger_menu dl dd a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .burger_menu dl dd a {
    transition: color 0.3s;
  }
  .burger_menu dl dd a:hover {
    color: #1AA877;
  }
}
@media only screen and (min-width: 901px) {
  .burger_menu .btn {
    width: 22.2%;
  }
}
@media only screen and (max-width: 900px) {
  .burger_menu .btn {
    margin-top: 5.5rem;
    text-align: center;
  }
}
.burger_menu .btn .btn_contact01 {
  width: 100%;
}
@media only screen and (max-width: 900px) {
  .burger_menu .btn .btn_contact01 {
    width: 90%;
  }
}

/*追従コンタクトボタン*/
.fix_contact_btn {
  position: fixed;
  z-index: 99;
  right: 0;
}
@media only screen and (min-width: 781px) {
  .fix_contact_btn {
    width: 12rem;
    top: 0;
  }
}
@media only screen and (max-width: 780px) {
  .fix_contact_btn {
    width: 100%;
    bottom: 0;
  }
}
.fix_contact_btn a {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  color: #ffffff !important;
  background: linear-gradient(to right, #1AA877, #1AA877 50%, #ffffff 50%, #ffffff);
  background-size: 201% 100%;
  background-position: 0 0;
  border: solid 1px #1AA877;
  display: block;
}
@media only screen and (min-width: 781px) {
  .fix_contact_btn a {
    padding-top: 1.38em;
    aspect-ratio: 1/1;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 780px) {
  .fix_contact_btn a {
    padding: 0.7em;
    font-size: 2.3rem;
  }
}
.fix_contact_btn a:before {
  content: "";
  background-image: url("../img/icon_mail01.png");
  background-size: cover;
}
@media only screen and (min-width: 781px) {
  .fix_contact_btn a:before {
    width: 1.8em;
    height: 1.6em;
    margin: 0 auto;
    display: block;
  }
}
@media only screen and (max-width: 780px) {
  .fix_contact_btn a:before {
    width: 1.416em;
    height: 1.25em;
    margin-right: 0.72em;
    display: inline-block;
    vertical-align: -0.2em;
  }
}
@media only screen and (min-width: 781px) {
  .fix_contact_btn a:hover {
    color: #1AA877 !important;
    background-position: -99% 0;
  }
  .fix_contact_btn a:hover:before {
    background-image: url("../img/icon_mail02.png");
  }
}

/*フッターブロック*/
#footer {
  position: relative;
}
@media only screen and (min-width: 781px) {
  #footer .pagetop {
    width: 3rem;
    position: absolute;
    bottom: 0;
    right: 4rem;
    z-index: 98;
  }
}
@media only screen and (max-width: 780px) {
  #footer .pagetop {
    padding: 3rem 0 1.6rem 0;
    text-align: center;
  }
  #footer .pagetop a {
    width: 11.6rem;
    display: inline-block;
  }
}
#footer .inner {
  max-width: 1120px;
}
@media only screen and (min-width: 781px) {
  #footer .inner {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi {
    width: 57.2%;
    padding: 7.2rem 0 7.2rem 8rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi {
    width: 111%;
    margin: 0 -5.5%;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_navi dl {
    width: 44.6%;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl {
    display: flex;
    flex-wrap: wrap;
  }
  #footer .footer_navi dl + dl {
    margin-top: -1px;
  }
}
#footer .footer_navi dl dt {
  padding-bottom: 0.77em;
  font-size: 1.8rem;
  font-weight: 500;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  background-size: 1.09em auto;
  background-position: right 0.3em;
  border-bottom: solid 1px #D9D9D9;
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl dt {
    width: 100%;
    padding: 0;
    background-color: #F7F7F7;
    background-position: calc(100% - 1.26em) 1em;
    border-bottom: none;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi dl dt + dt {
    margin-top: 3em;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl dt + dt {
    border-top: solid 1px #D9D9D9;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi dl dt + dd {
    margin-top: 1.77em;
  }
}
#footer .footer_navi dl dt a {
  padding-right: 1.3em;
  display: block;
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi dl dt a {
    transition: color 0.3s;
  }
  #footer .footer_navi dl dt a:hover {
    color: #1AA877;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl dt a {
    padding: 0.84em 2.56em 0.84em 1.26em;
  }
}
#footer .footer_navi dl dd {
  font-size: 1.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl dd {
    width: 50%;
    font-size: 1.5rem;
    text-align: center;
    border-bottom: solid 1px #D9D9D9;
    border-right: solid 1px #D9D9D9;
  }
  #footer .footer_navi dl dd:nth-of-type(2n) {
    border-right: none;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi dl dd + dd {
    margin-top: 1.25em;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi dl dd + dt {
    margin-top: 3em;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl dd + dt {
    margin-top: -1px;
  }
}
#footer .footer_navi dl dd a {
  display: block;
}
@media only screen and (min-width: 781px) {
  #footer .footer_navi dl dd a {
    transition: color 0.3s;
  }
  #footer .footer_navi dl dd a:hover {
    color: #1AA877;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_navi dl dd a {
    padding: 1.06em;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_contet {
    width: 42.8%;
    padding: 7.2rem 0 7.2rem 2rem;
    border-right: solid 1px #D9D9D9;
  }
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet {
    padding: 3.6rem 0 8rem 0;
  }
}
#footer .footer_contet .logo {
  width: 18rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet .logo {
    width: 13.8rem;
    margin: 0 auto 0.9rem auto;
  }
}
#footer .footer_contet address {
  margin-bottom: 0.35em;
  font-size: 1.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet address {
    font-size: 1.2rem;
    text-align: center;
  }
}
#footer .footer_contet .tel {
  margin-bottom: 2.28em;
  font-size: 1.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet .tel {
    margin-bottom: 2em;
    font-size: 1.2rem;
    text-align: center;
  }
}
#footer .footer_contet .btn {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet .btn {
    margin-bottom: 2.75rem;
    text-align: center;
  }
}
#footer .footer_contet .btn .btn_contact01 {
  width: 17.2rem;
  font-size: 1.8rem;
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet .btn .btn_contact01 {
    width: 30.9rem;
    max-width: 100%;
  }
}
#footer .footer_contet .copyright {
  font-size: 1.4rem;
  font-weight: 500;
  color: #D9D9D9;
}
@media only screen and (max-width: 780px) {
  #footer .footer_contet .copyright {
    font-size: 1rem;
    text-align: center;
  }
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.p-top__mv {
  width: 100%;
  background-size: cover;
  background-position: center center;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__mv {
    height: 90rem;
    margin-bottom: 8.8rem;
    background-image: url("../img/top/mv.jpg");
  }
  .p-top__mv:after {
    width: 3rem;
    height: 11.2rem;
    content: "";
    background-image: url("../img/top/scroll.png");
    background-size: cover;
    position: absolute;
    bottom: 0;
    right: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv {
    height: 59.5rem;
    margin-bottom: 4.8rem;
    background-image: url("../img/top/mv_sp.jpg");
  }
}
.p-top__mv .eng {
  width: 8rem;
  height: 100%;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .eng {
    width: 5.6rem;
  }
}
.p-top__mv .eng span {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  white-space: nowrap;
  color: #1AA877;
  transform: rotate(-90deg);
  transform-origin: left bottom;
  position: absolute;
  bottom: 5%;
  left: 60%;
}
.p-top__mv h1 {
  font-weight: 700;
  line-height: 1.45;
  position: absolute;
}
@media only screen and (min-width: 781px) {
  .p-top__mv h1 {
    font-size: 6rem;
    top: 39%;
    left: 13.8%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv h1 {
    font-size: 3rem;
    top: 72%;
    left: 20%;
  }
}
.p-top__concept {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-top__concept {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__concept .inner:after {
    content: "";
    display: block;
    clear: both;
  }
  .p-top__concept .inner .left {
    width: 50%;
    padding-right: 1em;
    float: left;
  }
  .p-top__concept .inner .right {
    width: 50%;
    padding-top: 6rem;
    float: right;
  }
}
.p-top__concept .inner .midashi01 {
  margin-bottom: 1em;
}
.p-top__concept .inner h3 {
  padding-left: 5.6rem;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.68;
}
@media only screen and (max-width: 780px) {
  .p-top__concept .inner h3 {
    margin-bottom: 2rem;
    padding: 0 1.5rem;
    font-size: 2.1rem;
    line-height: 1.5;
  }
}
.p-top__concept .inner p {
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 2.8;
}
@media only screen and (max-width: 780px) {
  .p-top__concept .inner p {
    padding: 0 1.5rem;
    line-height: 1.64;
  }
}
.p-top__concept .scroll_img {
  margin-top: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-top__concept .scroll_img {
    margin-top: 4rem;
  }
}
.p-top__concept .scroll_img img {
  height: 36rem;
}
@media only screen and (max-width: 780px) {
  .p-top__concept .scroll_img img {
    height: 12.4rem;
  }
}
.p-top__brand {
  margin-bottom: 13.4rem;
}
@media only screen and (max-width: 780px) {
  .p-top__brand {
    margin-bottom: 5rem;
  }
}
.p-top__brand .inner {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__brand .text {
    width: 50%;
    padding-top: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__brand .text img {
    width: 81.5%;
    position: absolute;
    top: 0;
    left: 57.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__brand .text img {
    margin-bottom: 2.8rem;
    display: block;
  }
}
.p-top__brand .text p {
  margin-bottom: 3.5em;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 2.8;
}
@media only screen and (max-width: 780px) {
  .p-top__brand .text p {
    margin-bottom: 2.3em;
    padding: 0 1.5rem;
    line-height: 1.64;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__brand .text .btn {
    text-align: center;
  }
}
.p-top__company {
  margin-bottom: 21.4rem;
}
@media only screen and (max-width: 780px) {
  .p-top__company {
    margin-bottom: 5rem;
  }
}
.p-top__company .inner {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__company .text {
    width: 50%;
    margin: 0 0 0 auto;
    padding-top: 7rem;
    padding-left: 7rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__company .text img {
    width: 81.5%;
    position: absolute;
    top: 0;
    right: 57.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__company .text img {
    margin-bottom: 2.8rem;
    display: block;
  }
}
.p-top__company .text p {
  margin-bottom: 3.5em;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 2.8;
}
@media only screen and (max-width: 780px) {
  .p-top__company .text p {
    margin-bottom: 2.3em;
    padding: 0 1.5rem;
    font-size: 1.4rem;
    line-height: 1.64;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__company .text .btn {
    text-align: center;
  }
}
.p-top__consulting {
  margin-bottom: 15.2rem;
}
@media only screen and (max-width: 780px) {
  .p-top__consulting {
    margin-bottom: 6.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__consulting .inner {
    max-width: 1200px;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__consulting .inner {
    width: 100%;
  }
}
.p-top__consulting a {
  background-size: cover;
  background-position: center center;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-top__consulting a {
    padding: 12rem 0;
    background-image: url("../img/top/consulting_bg.jpg");
    transition: opacity 0.3s;
  }
  .p-top__consulting a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__consulting a {
    padding: 6.8rem 0;
    background-image: url("../img/top/consulting_bg_sp.jpg");
  }
}
.p-top__consulting .in {
  margin: 0 auto;
}
@media only screen and (min-width: 781px) {
  .p-top__consulting .in {
    width: 90%;
    max-width: 1000px;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__consulting .in {
    width: 80%;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__consulting .midashi01 {
    width: 50%;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__consulting .midashi01 {
    text-align: center;
  }
}
.p-top__consulting .midashi01:before {
  content: none;
}
.p-top__consulting p {
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 2.8;
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-top__consulting p {
    width: 50%;
    padding-left: 7rem;
    padding-right: 1em;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__consulting p {
    font-size: 1.4rem;
    line-height: 1.64;
  }
}
.p-top__contact {
  padding: 9.2rem 0;
  background-color: #1AA877;
}
@media only screen and (max-width: 780px) {
  .p-top__contact {
    padding: 4.4rem 0;
  }
}
.p-top__contact .midashi01 {
  margin-bottom: 2.2em;
}
.p-top__contact .midashi01 + p {
  margin-bottom: 3.5em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .midashi01 + p {
    margin-bottom: 2em;
    font-size: 1.4rem;
  }
}
.p-top__contact .form_area .input_field_area {
  margin-bottom: 6.4rem;
  padding: 6rem 0;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .input_field_area {
    width: 111%;
    margin: 0 -5.5% 2.4rem -5.5%;
    padding: 4rem 0;
  }
}
.p-top__contact .form_area .input_field_area .input_field {
  width: 90%;
  margin: 0 auto 2.5em auto;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .input_field_area .input_field {
    width: 94%;
  }
}
.p-top__contact .form_area .input_field_area .input_field:last-child {
  margin-bottom: 0;
}
.p-top__contact .form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-size: 1.25em;
  font-weight: 500;
}
.p-top__contact .form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  padding: 0 0.5em;
  font-size: 0.7em;
  font-weight: 400;
  color: #1AA877;
  border: solid 1px #1AA877;
  border-radius: 0.4rem;
  display: inline-block;
  vertical-align: 0;
}
.p-top__contact .form_area .input_field_area .input_field .input_area {
  font-size: 1.125em;
}
.p-top__contact .form_area .input_field_area .input_field .input_area.row {
  display: flex;
  justify-content: space-between;
}
.p-top__contact .form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
}
.p-top__contact .form_area .input_field_area .input_field .input_area.row .col .label {
  display: block;
}
.p-top__contact .form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.p-top__contact .form_area .privacy {
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-top__contact .form_area .privacy {
    margin-bottom: 5.6rem;
    padding: 4rem;
    border-radius: 1rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .privacy {
    width: 111%;
    margin: 0 -5.5% 3.2rem -5.5%;
    padding: 2.8rem 0;
  }
}
.p-top__contact .form_area .privacy .box {
  height: 24rem;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .privacy .box {
    width: 94%;
    margin: 0 auto 3rem auto;
  }
}
.p-top__contact .form_area .privacy .box .scroll {
  width: 100%;
  height: 100%;
  padding-right: 1em;
  overflow: auto;
}
.p-top__contact .form_area .privacy .box h3 {
  margin-bottom: 1.6em;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .privacy .box h3 {
    font-size: 1.7rem;
  }
}
.p-top__contact .form_area .privacy .box h4 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .privacy .box h4 {
    font-size: 1.4rem;
  }
}
.p-top__contact .form_area .privacy .box p {
  margin-bottom: 2em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .privacy .box p {
    font-size: 1.3rem;
  }
}
.p-top__contact .form_area .privacy .check {
  text-align: right;
  font-size: 1.5rem;
}
@media only screen and (max-width: 780px) {
  .p-top__contact .form_area .privacy .check {
    font-size: 1.4rem;
    text-align: center;
  }
}
.p-top__contact .form_area .submit {
  text-align: center;
}
.p-top__contact .form_area .submit input[type=submit] {
  overflow: hidden;
  border-radius: 99px;
}
.p-top__contact .form_area .submit input[type=submit]:disabled {
  opacity: 0.3 !important;
}

/*下層ページ*/
.pagetitle {
  margin-bottom: 11.2rem;
  padding: 14rem 0 7rem 0;
  border-bottom: solid 0.2rem #E2E2E2;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .pagetitle {
    margin-bottom: 5rem;
    padding: 7rem 0 3rem 0;
  }
}
.pagetitle:after {
  width: 24.8%;
  height: 0.2rem;
  content: "";
  background-color: #1AA877;
  position: absolute;
  top: 100%;
  left: 0;
}
.pagetitle .inner {
  max-width: 1225px;
}
.pagetitle h1 {
  font-size: 5.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .pagetitle h1 {
    font-size: 2.8rem;
  }
}
.pagetitle h1 span {
  margin-left: 1em;
  font-family: "Poppins", sans-serif;
  font-size: 0.58em;
  font-weight: 600;
  color: #1AA877;
  display: inline-block;
  vertical-align: 0.25em;
}
@media only screen and (max-width: 780px) {
  .pagetitle h1 span {
    margin: 0;
    display: block;
  }
}
.pagetitle .pankuzu {
  margin-top: 1em;
  font-size: 1.3rem;
  letter-spacing: -0.4em;
}
.pagetitle .pankuzu > * {
  display: inline-block;
  letter-spacing: normal;
}
.pagetitle .pankuzu a:after {
  width: 0.54em;
  height: 0.54em;
  margin: 0 1em;
  content: "";
  background-image: url("../img/icon_sankaku01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: 0.05em;
}
.pagetitle .pankuzu span {
  color: #D9D9D9;
}

.p-company__sub_link {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-company__sub_link {
    margin-bottom: 5rem;
  }
}
.p-company__sub_link .inner {
  max-width: 1225px;
  letter-spacing: -0.4em;
}
.p-company__sub_link .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-company__sub_link .inner {
    text-align: center;
  }
}
.p-company__sub_link a {
  width: 16rem;
  margin-right: 4.4rem;
  padding-bottom: 1em;
  font-size: 1.8rem;
  text-align: center;
  border-bottom: solid 1px #E2E2E2;
}
@media only screen and (max-width: 1279px) {
  .p-company__sub_link a {
    margin-right: 2.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__sub_link a {
    width: auto;
    margin-bottom: 1em;
    padding: 0 1.5em 1em 1.5em;
    font-size: 1.5rem;
  }
}
.p-company__sub_link a:hover {
  border-bottom-color: #1AA877;
}
.p-company__philosophy {
  margin-bottom: 14.4rem;
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-company__philosophy .headding {
    margin-bottom: 10rem;
    position: relative;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .headding {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-company__philosophy .headding .text {
    width: 58.14%;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .headding .text .text_in {
    padding: 0 1.5rem;
  }
}
.p-company__philosophy .headding .text h3 {
  margin-bottom: 1.13em;
  font-size: 2.2rem;
  font-weight: 700;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .headding .text h3 {
    font-size: 1.8rem;
  }
}
.p-company__philosophy .headding .text h3 span {
  padding-right: 1em;
  display: inline-block;
  position: relative;
}
.p-company__philosophy .headding .text h3 span:after {
  width: 99999px;
  height: 1px;
  content: "";
  background-color: #E2E2E2;
  position: absolute;
  top: 50%;
  left: 100%;
}
.p-company__philosophy .headding .text h4 {
  margin-bottom: 0.5em;
  font-size: 3.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .headding .text h4 {
    font-size: 2.2rem;
  }
}
.p-company__philosophy .headding .text p {
  letter-spacing: 0.06em;
}
.p-company__philosophy .headding .text p + h3 {
  margin-top: 2.5em;
}
@media only screen and (min-width: 901px) {
  .p-company__philosophy .headding .img {
    width: 73.333%;
    position: absolute;
    top: 0;
    left: 65.5%;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .headding .img {
    margin-top: 3rem;
    text-align: center;
  }
}
.p-company__philosophy .content dl {
  padding: 3.2rem 3.2rem 3.2rem 29.6rem;
  background-color: #F7F7F7;
  position: relative;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .content dl {
    padding: 0 2rem 2rem 2rem;
  }
}
.p-company__philosophy .content dl + dl {
  margin-top: 2.4rem;
}
.p-company__philosophy .content dl dt {
  font-weight: 700;
  color: #ffffff;
  background-color: #1AA877;
}
@media only screen and (min-width: 781px) {
  .p-company__philosophy .content dl dt {
    width: 20.3rem;
    padding: 0.16em 0 0.16em 0.66em;
    font-size: 2.4rem;
    border-radius: 1.6rem 0;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .content dl dt {
    width: calc(100% + 4rem);
    margin: 0 -2rem 3rem -2rem;
    padding: 0.16em 0.66em;
    font-size: 2rem;
    text-align: center;
    border-radius: 1.6rem 1.6rem 0 0;
  }
}
.p-company__philosophy .content dl dt span {
  font-size: 0.58em;
  display: inline-block;
  vertical-align: 0.15em;
}
.p-company__philosophy .content dl dd h3 {
  margin-bottom: 0.77em;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1AA877;
}
@media only screen and (max-width: 780px) {
  .p-company__philosophy .content dl dd h3 {
    font-size: 1.8rem;
  }
}
.p-company__philosophy .content dl dd p {
  letter-spacing: 0.06em;
  line-height: 1.8;
}
.p-company__philosophy .content dl dd ul li {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: solid 1px #E2E2E2;
}
.p-company__philosophy .content dl dd ul li:last-child {
  margin-bottom: 0;
}
.p-company__philosophy .content dl dd ul li h3:before {
  width: 0.4em;
  height: 0.4em;
  margin-right: 0.4em;
  content: "";
  background-color: #1AA877;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.2em;
}
.p-company__message {
  color: #ffffff;
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-company__message {
    margin-bottom: 5rem;
    background-color: #1AA877;
  }
}
.p-company__message .img {
  width: 100%;
  height: 42rem;
  overflow: hidden;
}
.p-company__message .img > img,
.p-company__message .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-company__message .img {
    height: 21rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__message .inner {
    margin-top: -9rem;
    padding: 8rem 0 9.7rem 0;
    background-color: #1AA877;
    position: relative;
    z-index: 1;
  }
  .p-company__message .inner:before, .p-company__message .inner:after {
    height: 100%;
    content: "";
    background-color: #1AA877;
    position: absolute;
    top: 0;
    z-index: -1;
  }
  .p-company__message .inner:before {
    width: 9999px;
    right: 100%;
  }
  .p-company__message .inner:after {
    width: 18rem;
    left: 100%;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__message .inner {
    padding: 4rem 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__message .headding {
    margin-bottom: 5.6rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__message .headding {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__message .headding .text {
    width: 50%;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__message .headding .text {
    margin-bottom: 3rem;
  }
}
.p-company__message .headding .text h3 {
  margin-bottom: 0.5em;
  font-size: 3.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-company__message .headding .text h3 {
    font-size: 2.2rem;
  }
}
.p-company__message .headding .photo {
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-company__message .headding .photo {
    width: 44.4%;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__message .headding .photo {
    width: 48.6rem;
    max-width: 100%;
    margin: 0 auto;
  }
}
.p-company__message .content p {
  margin-bottom: 2em;
  letter-spacing: 0.06em;
  line-height: 1.8;
}
.p-company__message .content .name {
  letter-spacing: 0.06em;
}
.p-company__message .content .name span {
  margin-left: 1em;
  font-size: 1.375em;
  font-weight: 500;
}
.p-company__profile {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-company__profile {
    margin-bottom: 5rem;
  }
}
.p-company__profile .midashi01 {
  margin-bottom: 3em;
}
@media only screen and (max-width: 780px) {
  .p-company__profile .midashi01 {
    margin-bottom: 2em;
  }
}
.p-company__profile table {
  width: 100%;
  max-width: 96.8rem;
  margin: 0 auto;
  border-top: solid 1px #E2E2E2;
}
.p-company__profile table tbody tr td {
  padding: 2.15em 0;
  font-weight: 500;
  letter-spacing: 0.06em;
  vertical-align: top;
  border-bottom: solid 1px #E2E2E2;
}
.p-company__profile table tbody tr td:first-child {
  width: 23.7%;
  padding: 1.77em 0;
  font-size: 1.125em;
}
@media only screen and (max-width: 780px) {
  .p-company__profile table tbody tr td:first-child {
    width: 30%;
    padding-right: 1em;
  }
}
.p-company__history {
  padding: 10rem 0;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-company__history {
    padding: 5rem 0;
  }
}
.p-company__history ul {
  width: 100%;
  max-width: 97.3rem;
  margin: 0 auto;
  padding-left: 6rem;
  padding-bottom: 5.5rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul {
    padding-left: 2rem;
  }
}
.p-company__history ul:before {
  width: 1px;
  height: 100%;
  content: "";
  background-color: #2C2C2C;
  position: absolute;
  top: 0;
  left: 0;
}
.p-company__history ul:after {
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.06em;
  content: "現在に至る";
  position: absolute;
  left: 19rem;
  bottom: 0;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul:after {
    left: 8rem;
  }
}
.p-company__history ul li {
  display: flex;
  align-items: flex-start;
}
.p-company__history ul li + li {
  margin-top: 6rem;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul li + li {
    margin-top: 3rem;
  }
}
.p-company__history ul li .year {
  width: 13rem;
  font-family: "Poppins", sans-serif;
  font-size: 4rem;
  font-weight: 600;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul li .year {
    font-size: 2rem;
    width: 6rem;
  }
}
.p-company__history ul li .year:before {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: -0.6rem;
  content: "";
  background-color: #1AA877;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: -6.6rem;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul li .year:before {
    left: -2.6rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-company__history ul li .content {
    width: calc(100% - 13rem);
    padding-top: 0.9rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__history ul li .content {
    width: calc(100% - 6rem);
    padding-top: 0.2rem;
  }
}
.p-company__history ul li .content > div {
  padding-bottom: 2em;
  letter-spacing: 0.06em;
  border-bottom: solid 1px #E2E2E2;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul li .content > div {
    padding-bottom: 1em;
  }
}
.p-company__history ul li .content > div + div {
  margin-top: 2em;
}
@media only screen and (max-width: 780px) {
  .p-company__history ul li .content > div + div {
    margin-top: 1em;
  }
}
.p-company__history ul li .content > div .month {
  margin-bottom: 0.7em;
  font-size: 1.125em;
  font-weight: 700;
}
.p-company__history ul li .content > div p {
  font-size: 0.9375em;
}

.p-brand__beginning {
  margin-bottom: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .p-brand__beginning {
    margin-bottom: 5rem;
  }
}
.p-brand__beginning .img {
  width: 90%;
  max-width: 176rem;
  margin: 0 auto 7.2rem auto;
}
@media only screen and (max-width: 780px) {
  .p-brand__beginning .img {
    margin-bottom: 3rem;
  }
}
.p-brand__beginning h2 {
  margin-bottom: 1.38em;
  font-size: 3.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-brand__beginning h2 {
    font-size: 2.2rem;
  }
}
.p-brand__beginning p {
  letter-spacing: 0.06em;
  line-height: 1.8;
}
.p-brand__beginning .scroll_img {
  margin-top: 8.8rem;
}
@media only screen and (max-width: 780px) {
  .p-brand__beginning .scroll_img {
    margin-top: 4rem;
  }
}
.p-brand__beginning .scroll_img img {
  height: 36rem;
}
@media only screen and (max-width: 780px) {
  .p-brand__beginning .scroll_img img {
    height: 12.4rem;
  }
}
.p-brand__intro .sub_link {
  width: 90%;
  max-width: 96.8rem;
  margin: 0 auto 8.8rem auto;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro .sub_link {
    margin-bottom: 5rem;
  }
}
.p-brand__intro .sub_link li {
  width: 48%;
}
.p-brand__intro .sub_link li a {
  padding: 1.1em;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  color: #1AA877;
  border: solid 0.2rem #1AA877;
  border-radius: 0.5rem;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro .sub_link li a {
    font-size: 1.6rem;
  }
}
.p-brand__intro .sub_link li a:hover {
  color: #ffffff;
  background-color: #1AA877;
}
.p-brand__intro section {
  margin-bottom: 8.5rem;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-brand__intro section .midashi01 {
    font-size: 2rem;
  }
  .p-brand__intro section .midashi01 span {
    font-size: 5.6rem;
  }
}
.p-brand__intro section .img {
  width: 100%;
  height: 39rem;
  overflow: hidden;
}
.p-brand__intro section .img > img,
.p-brand__intro section .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section .img {
    height: 19.5rem;
  }
}
.p-brand__intro section .inner {
  margin-top: -19.5rem;
  background-color: #ffffff;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section .inner {
    margin-top: -5rem;
  }
}
.p-brand__intro section .inner .inner_in {
  width: 90%;
  max-width: 96.8rem;
  margin: 0 auto;
  padding: 6.5rem 0;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section .inner .inner_in {
    padding: 3rem 0;
  }
}
.p-brand__intro section p {
  margin-bottom: 4em;
  letter-spacing: 0.06em;
  line-height: 1.8;
}
@media only screen and (min-width: 781px) {
  .p-brand__intro section ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .p-brand__intro section ul li:nth-child(2n) {
    flex-direction: row-reverse;
  }
}
.p-brand__intro section ul li + li {
  margin-top: 5.6rem;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section ul li + li {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-brand__intro section ul li .img {
    width: 50%;
  }
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section ul li .img {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-brand__intro section ul li .text {
    width: 44.2%;
  }
}
.p-brand__intro section ul li .text h3 {
  margin-bottom: 0.65em;
  font-size: 2.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-brand__intro section ul li .text h3 {
    font-size: 2rem;
  }
}
.p-brand__intro section ul li .text p {
  margin-bottom: 0;
  line-height: 2.5;
}
.p-brand__store {
  margin-bottom: 11.2rem;
  padding: 11rem 0 8rem 0;
  background-color: #1AA877;
}
@media only screen and (max-width: 780px) {
  .p-brand__store {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-brand__store ul li {
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-brand__store ul li {
    padding: 4rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-brand__store ul li {
    padding: 2rem;
  }
}
.p-brand__store ul li + li {
  margin-top: 3.2rem;
}
@media only screen and (max-width: 780px) {
  .p-brand__store ul li + li {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-brand__store ul li .img {
    width: 38.6%;
  }
}
@media only screen and (max-width: 780px) {
  .p-brand__store ul li .img {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-brand__store ul li .text {
    width: 56.5%;
  }
}
.p-brand__store ul li .text h3 {
  margin-bottom: 0.65em;
  font-size: 2.6rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-brand__store ul li .text h3 {
    font-size: 2rem;
  }
}
.p-brand__store ul li .text p {
  margin-bottom: 1em;
  letter-spacing: 0.06em;
}
.p-brand__store ul li .text address {
  margin-bottom: 0.5em;
  padding-top: 1em;
  font-weight: 500;
  border-top: solid 1px #E2E2E2;
}
.p-brand__store ul li .text table {
  font-weight: 500;
}
.p-brand__store ul li .text table tr th {
  width: 8rem;
  padding-bottom: 0.8rem;
  vertical-align: top;
}
.p-brand__store ul li .text table tr td {
  padding-bottom: 0.8rem;
  vertical-align: top;
}

.p-consulting__beginning {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 780px) {
  .p-consulting__beginning {
    margin-bottom: 5rem;
  }
}
.p-consulting__beginning .img {
  width: 100%;
  height: 42rem;
  overflow: hidden;
}
.p-consulting__beginning .img > img,
.p-consulting__beginning .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-consulting__beginning .img {
    height: 21rem;
  }
}
.p-consulting__beginning .inner {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-consulting__beginning .inner {
    margin-top: -9rem;
    padding: 8rem 0 0 0;
    background-color: #ffffff;
  }
  .p-consulting__beginning .inner:before, .p-consulting__beginning .inner:after {
    height: 100%;
    content: "";
    background-color: #ffffff;
    position: absolute;
    top: 0;
    z-index: -1;
  }
  .p-consulting__beginning .inner:before {
    width: 9999px;
    right: 100%;
  }
  .p-consulting__beginning .inner:after {
    width: 18rem;
    left: 100%;
  }
}
@media only screen and (max-width: 780px) {
  .p-consulting__beginning .inner {
    padding: 4rem 0 0 0;
  }
}
.p-consulting__beginning .midashi01 {
  position: absolute;
  top: -22rem;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .p-consulting__beginning .midashi01 {
    top: -15rem;
  }
}
.p-consulting__beginning h3 {
  margin-bottom: 1.8em;
  font-size: 3.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-consulting__beginning h3 {
    font-size: 2.2rem;
  }
}
.p-consulting__beginning p {
  margin-bottom: 3em;
  letter-spacing: 0.06em;
  line-height: 1.8;
}
.p-consulting__beginning .name {
  font-size: 1.25em;
  text-align: right;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 780px) {
  .p-consulting__beginning .name {
    font-size: 1em;
  }
}
.p-consulting__beginning .name span {
  font-size: 1.375em;
  font-weight: 500;
  display: block;
}
.p-consulting__service {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .p-consulting__service {
    margin-bottom: 5rem;
  }
}
.p-consulting__service .midashi01 {
  margin-bottom: 3em;
}
@media only screen and (max-width: 780px) {
  .p-consulting__service .midashi01 {
    margin-bottom: 1.5em;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__service ol li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.p-consulting__service ol li + li {
  margin-top: 9rem;
}
@media only screen and (max-width: 780px) {
  .p-consulting__service ol li + li {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__service ol li:nth-child(2n+1) {
    flex-direction: row-reverse;
  }
  .p-consulting__service ol li:nth-child(2n+1) .img {
    margin: 0 -38.8% 0 0;
  }
  .p-consulting__service ol li:nth-child(2n+1) .text {
    padding: 0 7rem 0 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__service ol li .img {
    flex: 0 0 88.8%;
    margin: 0 0 0 -38.8%;
  }
}
@media only screen and (max-width: 780px) {
  .p-consulting__service ol li .img {
    margin-bottom: 2rem;
    display: block;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__service ol li .text {
    flex: 0 0 50%;
    padding: 0 4rem 0 6rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-consulting__service ol li .text {
    padding: 0 1.5rem;
  }
}
.p-consulting__service ol li .text .num {
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  font-weight: 600;
}
@media only screen and (max-width: 780px) {
  .p-consulting__service ol li .text .num {
    font-size: 1.3rem;
  }
}
.p-consulting__service ol li .text .num span {
  margin-left: 0.5em;
  font-size: 4.5em;
  line-height: 1.25;
  color: #1AA877;
  display: inline-block;
  vertical-align: -0.25em;
}
.p-consulting__service ol li .text h3 {
  margin-bottom: 0.65em;
  font-size: 2.5rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-consulting__service ol li .text h3 {
    font-size: 2rem;
  }
}
.p-consulting__service ol li .text p {
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.5;
}
@media only screen and (max-width: 780px) {
  .p-consulting__service ol li .text p {
    line-height: 1.64;
  }
}
.p-consulting__case {
  margin-bottom: 11.2rem;
  padding: 11rem 0 8rem 0;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-consulting__case {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-consulting__case .midashi01 {
  margin-bottom: 2em;
}
@media only screen and (max-width: 780px) {
  .p-consulting__case .midashi01 {
    margin-bottom: 1.5em;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__case ul {
    max-width: 96.8rem;
    margin: 0 auto;
  }
}
.p-consulting__case ul li {
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-consulting__case ul li {
    padding: 4rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-consulting__case ul li {
    padding: 2rem;
  }
}
.p-consulting__case ul li + li {
  margin-top: 3.2rem;
}
@media only screen and (max-width: 780px) {
  .p-consulting__case ul li + li {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__case ul li .img {
    width: 38.6%;
  }
}
@media only screen and (max-width: 780px) {
  .p-consulting__case ul li .img {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-consulting__case ul li .text {
    width: 56.5%;
  }
}
.p-consulting__case ul li .text h3 {
  margin-bottom: 0.65em;
  font-size: 2.6rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-consulting__case ul li .text h3 {
    font-size: 2rem;
  }
}
.p-consulting__case ul li .text p {
  letter-spacing: 0.06em;
  line-height: 2;
}

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

.bold {
  font-weight: 700;
}

/****************************************************
 * 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;
  }
}