/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.main_page {
  height: 30vh;
  position: relative
}

@media(max-width: 767px) {
  .main_page {
    height: 30vw
  }
}

.main_page .inner {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center
}

.main_page .inner .pagettl {
  width: 40%;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5
}

@media(max-width: 767px) {
  .main_page .inner .pagettl {
    width: 100%;
    font-size: 1.25rem;
    margin-bottom: 1rem
  }
}

.main_page .inner .pagettl span {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5
}

@media(max-width: 767px) {
  .main_page .inner .pagettl span {
    font-size: 0.8125rem
  }
}

.main_page .inner p.txt01 {
  width: 50%
}

@media(max-width: 767px) {
  .main_page .inner p.txt01 {
    width: 100%
  }
}

.main_page.main_reason {
  background: url(/wp-content/uploads/2024/10/reason_bg_main.png) center center/cover no-repeat
}

.main_page.main_works {
  background: url(/wp-content/uploads/2024/10/works_bg_main.png) center center/cover no-repeat
}

.main_page.main_service {
  background: url(/wp-content/uploads/2024/10/service_bg_main.png) center center/cover no-repeat
}

.main_page.main_flow {
  background: url(/wp-content/uploads/2024/10/flow_bg_main.png) center center/cover no-repeat
}

.main_page.main_privacy {
  background: url(/wp-content/uploads/2024/10/flow_bg_main.png) center center/cover no-repeat
}

.main_page.main_recruit {
  background: url(/wp-content/uploads/2024/10/recruit_bg_main.png) center center/cover no-repeat
}

.main_page.main_contact {
  background: url(/wp-content/uploads/2025/04/about_head-1.jpg) center center/cover no-repeat
}

.main_page.main_news {
  background: url(images/news/bg_main.jpg) center center/cover no-repeat
}

.main_page.main_blog {
  background: url(images/blog/bg_main.jpg) center center/cover no-repeat
}

.reason_content.bg_ash {
  background-color: #f4f4f4
}

.reason_content figure {
  position: relative
}

.reason_content figure .num {
  font-size: 6.25rem;
  color: rgba(242, 128, 25, .4);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  bottom: 0;
  translate: 0 50%
}

@media(max-width: 767px) {
  .reason_content figure .num {
    font-size: 2.5rem
  }
}

.reason_content .top_num {
  margin-bottom: 1em
}

.reason_content .top_num em {
  font-size: 2.5rem;
  color: #f28019;
  line-height: 1;
  font-weight: 700;
  margin-left: .2em
}

@media(max-width: 767px) {
  .reason_content .top_num em {
    font-size: 1.25rem
  }
}

.reason_content .side_cmn:not(.reverse) .num {
  left: 0
}

.reason_content .side_cmn.reverse .num {
  right: 0
}

.works_content.bg_ash {
  background-color: #f4f4f4
}

.works_content .side_cmn {
  margin-bottom: 2.5rem
}

@media(max-width: 767px) {
  .works_content .side_cmn {
    margin-bottom: 1.5rem
  }
}

.works_content .side_cmn .cate {
  display: inline-block;
  border-radius: 100vmax;
  border: 1px solid currentColor;
  padding: .2em 2em;
  margin-bottom: 1em
}

.works_content .box {
  border: 1px solid #e6e6e6
}

.works_content .box h4.ttl_cmn2 {
  background-color: #f28019;
  padding: .6rem .8em;
  margin-bottom: 0
}

.works_content .box .content {
  background-color: #fff;
  padding: 2rem 3% 2.4rem
}

@media(max-width: 767px) {
  .works_content .box .content {
    padding: 1.2rem 4% 1.6rem
  }
}

.dl_cmn div {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch
}

.dl_cmn div dt,
.dl_cmn div dd {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  padding: .5em 1em
}

@media(max-width: 767px) {

  .dl_cmn div dt,
  .dl_cmn div dd {
    font-size: 0.75rem
  }
}

.dl_cmn.bg_or div {
  border-bottom: 1px solid #efefef
}

.dl_cmn.bg_or div dt,
.dl_cmn.bg_or div dd {
  padding: .8em 1em
}

.dl_cmn.bg_or div dt {
  width: 35%;
  background-color: #f28019;
  color: #fff
}

.dl_cmn.bg_or div dd {
  width: 65%;
  font-weight: 700
}

.dl_cmn.bg_ash {
  border-top: 1px solid #c6c6c6;
  border-left: 1px solid #c6c6c6
}

.dl_cmn.bg_ash div {
  border-bottom: 1px solid #c6c6c6
}

.dl_cmn.bg_ash div dt,
.dl_cmn.bg_ash div dd {
  border-right: 1px solid #c6c6c6
}

.dl_cmn.bg_ash div dt {
  width: 28%;
  background-color: #fafafa
}

.dl_cmn.bg_ash div dd {
  width: 72%;
  background-color: #fff;
  font-size: 0.875rem
}

@media(max-width: 767px) {
  .dl_cmn.bg_ash div dd {
    font-size: 0.75rem
  }
}

.dl_cmn.bg_ash2 {
  border-top: 1px solid #c6c6c6;
  border-left: 1px solid #c6c6c6
}

.dl_cmn.bg_ash2 div {
  border-bottom: 1px solid #c6c6c6
}

.dl_cmn.bg_ash2 div dt,
.dl_cmn.bg_ash2 div dd {
  padding: 1.1em 1em;
  border-right: 1px solid #c6c6c6
}

.dl_cmn.bg_ash2 div dt {
  width: 28%;
  background-color: #f5f5f5;
  font-weight: 700;
  text-align: center
}

.dl_cmn.bg_ash2 div dd {
  width: 72%;
  background-color: #fff
}

.page_plink {
  padding: 2.5rem 0;
  border-bottom: 1px solid #cbcbcb
}

@media(max-width: 767px) {
  .page_plink {
    padding: 1.5rem 0
  }
}

.plink_cmn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem 1.2rem
}

.service_catch h3.ttl_cmn2 {
  padding-bottom: .6em;
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 1em
}

.service_detail {
  background-color: #f4f4f4
}

.service_detail .colwrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2.2rem 3.7037037037%
}

.service_detail .colwrap .col figure {
  margin-bottom: 1.5rem
}

@media(max-width: 767px) {
  .service_detail .colwrap .col figure {
    margin-bottom: .7rem
  }
}

.service_detail .colwrap .col figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.service_detail .colwrap .col h3.ttl_cmn2 {
  margin-bottom: .4em
}

.ttl_service {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1em
}

@media(max-width: 767px) {
  .ttl_service {
    font-size: 1.375rem
  }
}

.ttl_service span {
  display: inline-block;
  font-size: 0.75rem;
  color: #868686;
  font-weight: 700;
  line-height: 1;
  margin-left: 2.5em;
  position: relative;
  top: -0.5em
}

@media(max-width: 767px) {
  .ttl_service span {
    font-size: 0.625rem;
    margin-left: 1.5em
  }
}

.ttl_service.bdl_or {
  padding-left: 1em;
  position: relative
}

.ttl_service.bdl_or::before {
  content: "";
  width: .4em;
  height: 100%;
  background-color: #f28019;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%
}

.ttl_service.bdl_w {
  padding-left: 1em;
  position: relative
}

.ttl_service.bdl_w::before {
  content: "";
  width: .4em;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%
}

.ttl_service.color_w {
  color: #fff
}

.service_trouble {
  background: linear-gradient(to right, #F28019 0%, #F28019 70%, #E3730F 70%, #E3730F 100%)
}

.service_trouble .area {
  background-color: #fff;
  border-radius: 10px;
  padding: 3rem 6%
}

@media(max-width: 767px) {
  .service_trouble .area {
    padding: 1.8rem 4%
  }
}

.service_trouble .area ul li {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5
}

@media(max-width: 767px) {
  .service_trouble .area ul li {
    font-size: 0.8125rem
  }
}

.service_trouble .area ul li:not(:last-child) {
  margin-bottom: 1em
}

.service_trouble .area ul li i {
  display: inline-flex;
  font-size: 1.125rem;
  color: #f28019;
  margin-right: .8em
}

@media(max-width: 767px) {
  .service_trouble .area ul li i {
    margin-right: .4em
  }
}

.service_price .side_cmn:not(:last-child) {
  margin-bottom: 5rem
}

@media(max-width: 767px) {
  .service_price .side_cmn:not(:last-child) {
    margin-bottom: 2.5rem
  }
}

.service_price .side_cmn h3.ttl_cmn2 {
  margin-bottom: .4em
}

.service_price .side_cmn .dl_cmn {
  margin-bottom: 1.5rem
}

@media(max-width: 767px) {
  .service_price .side_cmn .dl_cmn {
    margin-bottom: 1rem
  }
}

.service_price p.price {
  padding-bottom: .3em;
  border-bottom: 1px solid #c9c9c9
}

.service_price p.price em {
  font-size: 3.125rem;
  color: #f28019;
  font-weight: 700;
  line-height: 1;
  margin-right: .1em
}

@media(max-width: 767px) {
  .service_price p.price em {
    font-size: 1.875rem
  }
}

.service_faq {
  background-color: #f4f4f4
}

.service_faq ul {
  max-width: 1038px;
  margin-inline: auto
}

.service_faq ul li {
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden
}

.service_faq ul li:not(:last-child) {
  margin-bottom: 1.8rem
}

.service_faq ul li .q,
.service_faq ul li .a {
  padding: 1.3rem 4%
}

@media(max-width: 767px) {

  .service_faq ul li .q,
  .service_faq ul li .a {
    padding: .8rem 3%
  }
}

.service_faq ul li .q p,
.service_faq ul li .a p {
  padding-left: 44px;
  position: relative
}

@media(max-width: 767px) {

  .service_faq ul li .q p,
  .service_faq ul li .a p {
    padding-left: 8vw
  }
}

.service_faq ul li .q p b,
.service_faq ul li .a p b {
  font-size: 2.75rem;
  line-height: 1;
  text-align: center;
  margin-right: .6em;
  position: absolute;
  top: 0;
  left: 0
}

@media(max-width: 767px) {

  .service_faq ul li .q p b,
  .service_faq ul li .a p b {
    font-size: 1.5rem
  }
}

.service_faq ul li .q {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  background-color: #f28019;
  position: relative
}

.service_faq ul li .q p {
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.8
}

@media(max-width: 767px) {
  .service_faq ul li .q p {
    font-size: 1rem
  }
}

.service_faq ul li .q i {
  font-size: 1.25rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 4%;
  translate: 0 -50%
}

@media(max-width: 767px) {
  .service_faq ul li .q i {
    font-size: 1rem
  }
}

.service_faq ul li .q.open i {
  rotate: 180deg;
  transition: all .7s
}

.service_faq ul li .a {
  display: none;
  position: relative
}

.service_faq ul li .a p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  padding-top: .6em
}

@media(max-width: 767px) {
  .service_faq ul li .a p {
    font-size: 0.8125rem
  }
}

.service_support {
  border-bottom: 1px solid #cbcbcb
}

.service_detail2 {
  background-color: #f4f4f4
}

.flow_content {
  background-color: #f4f4f4
}

.flow_content ul li {
  background-color: #fff;
  padding: 4rem 5%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .07)
}

@media(max-width: 767px) {
  .flow_content ul li {
    padding: 2rem 4%
  }
}

.flow_content ul li:not(:last-child) {
  margin-bottom: 3rem;
  position: relative
}

@media(max-width: 767px) {
  .flow_content ul li:not(:last-child) {
    margin-bottom: 2rem
  }
}

.flow_content ul li:not(:last-child)::after {
  content: "";
  width: 90px;
  height: 90px;
  display: grid;
  place-content: center;
  background-color: #fff;
  border: 2px solid #707070;
  border-radius: 100vmax;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: calc(100% + 1.5rem);
  left: 50%;
  translate: -50% -50%;
  z-index: 1
}

@media(max-width: 767px) {
  .flow_content ul li:not(:last-child)::after {
    width: 12vw;
    height: 12vw;
    font-size: 1.25rem;
    top: calc(100% + 1rem)
  }
}

.flow_content ul li figure {
  position: relative
}

.flow_content ul li figure .num {
  font-size: 6.25rem;
  color: rgba(242, 128, 25, .4);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
  translate: 0 -50%
}

@media(max-width: 767px) {
  .flow_content ul li figure .num {
    font-size: 2.5rem
  }
}

.flow_content ul li h3.ttl_cmn2 {
  padding-bottom: .4em;
  border-bottom: 3px solid #dedede;
  margin-bottom: .8em
}

.recruit_service {
  background: linear-gradient(to bottom, #F4F4F4 0%, #F4F4F4 70%, #EAEAEA 70%, #EAEAEA 100%)
}

.recruit_service ul li {
  background-color: #fff;
  padding: 1.2rem 2%
}

@media(max-width: 767px) {
  .recruit_service ul li {
    padding: .8rem 4%
  }
}

.recruit_service ul li h3.ttl_cmn2 {
  margin-bottom: .5em
}

.recruit_require .dl_cmn {
  margin-bottom: 3.5rem
}

@media(max-width: 767px) {
  .recruit_require .dl_cmn {
    margin-bottom: 2rem
  }
}

.contact_first {
  position: relative
}

.contact_first::before {
  content: "";
  width: 100%;
  height: 4.5rem;
  background-color: #f4f4f4;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1
}

@media(max-width: 767px) {
  .contact_first::before {
    height: 3rem
  }
}

.contact_first .box {
  max-width: 522px;
  background-color: #fff;
  border: 1px solid #f28019;
  padding: 2rem 4%;
  margin-inline: auto
}

@media(max-width: 767px) {
  .contact_first .box {
    padding: 1rem 4%
  }
}

.contact_first .box a {
  display: grid;
  place-content: center
}

.contact_first .box a p {
  font-weight: 700;
  text-align: center
}

.contact_first .box a p em {
  font-size: 2.625rem;
  color: #f28019;
  line-height: 1
}

@media(max-width: 767px) {
  .contact_first .box a p em {
    font-size: 1.5rem
  }
}

.contact_first .box a p span {
  display: block;
  font-size: 1rem;
  line-height: 1.5
}

@media(max-width: 767px) {
  .contact_first .box a p span {
    font-size: 0.8125rem
  }
}

.contact_form {
  background-color: #f4f4f4
}

.tbl_contact {
  width: 100%;
  max-width: 680px;
  margin: 0 auto 3rem;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 2.6rem
}

@media(max-width: 767px) {
  .tbl_contact {
    border-spacing: 0 1.8rem;
    margin-bottom: 1rem
  }
}

.tbl_contact .col_th {
  width: 35%
}

@media(max-width: 767px) {
  .tbl_contact .col_th {
    display: none
  }
}

.tbl_contact .col_td {
  width: 65%
}

@media(max-width: 767px) {
  .tbl_contact .col_td {
    display: none
  }
}

.tbl_contact th,
.tbl_contact td {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5
}

@media(max-width: 767px) {

  .tbl_contact th,
  .tbl_contact td {
    display: block;
    font-size: 0.875rem
  }
}

.tbl_contact th {
  font-weight: 700;
  text-align: left;
  position: relative
}

@media(max-width: 767px) {
  .tbl_contact th {
    padding-bottom: .5rem
  }
}

.tbl_contact .required::before,
.tbl_contact .any::before {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  padding: .2rem .8rem;
  margin-right: 1rem;
  position: relative;
  top: -0.1rem
}

@media(max-width: 767px) {

  .tbl_contact .required::before,
  .tbl_contact .any::before {
    padding: .1rem .5rem;
    margin-right: .6rem
  }
}

.tbl_contact .required::before {
  content: "必須";
  background-color: #f28019;
  color: #fff
}

.tbl_contact .any::before {
  content: "任意";
  background-color: #ddd
}

.tbl_contact td input[type=text],
.tbl_contact td input[type=tel],
.tbl_contact td input[type=email],
.tbl_contact td input[type=date],
.tbl_contact td select {
  background-color: #fff;
  border: 1px solid #c7c7c7;
  border-radius: 100vmax;
  padding: 6px 8px
}

.tbl_contact td input[type=text],
.tbl_contact td input[type=email] {
  width: 100%
}

.tbl_contact td input[type=tel] {
  width: 100%
}

.tbl_contact td input[type=date] {
  width: 30%
}

.tbl_contact td select {
  width: 40%
}

.tbl_contact td textarea {
  width: 100%;
  height: 200px;
  background-color: #fff;
  border: 1px solid #c7c7c7;
  border-radius: 10px;
  padding: 8px
}

.tbl_contact td span.wpcf7-list-item {
  margin: 0 2em 0 0
}

.th_textarea {
  vertical-align: top
}

.th_textarea.required::before,
.th_textarea.any::before {
  top: .5rem
}

@media(max-width: 767px) {

  .th_textarea.required::before,
  .th_textarea.any::before {
    top: .3rem
  }
}

.btn_submit {
  display: table;
  margin: 0 auto;
  font-size: 0.875rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: relative
}

@media(max-width: 767px) {
  .btn_submit {
    font-size: 0.875rem
  }
}

.btn_submit input[type=submit] {
  width: 310px;
  height: 60px;
  background-color: #101367;
  border-radius: 100vmax;
  text-align: center
}

@media(max-width: 767px) {
  .btn_submit input[type=submit] {
    width: 84vw;
    height: 3rem
  }
}

.btn_submit input[type=submit]:hover {
  background-color: #000;
  transition: .3s ease
}

.btn_submit i {
  font-size: 0.75rem;
  color: #fff;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 20%
}

.btn_submit input[type=submit][disabled] {
  opacity: .3
}

.btn_submit input[type=submit]:not([disabled]):hover {
  cursor: pointer;
  opacity: .8
}

.ajax-loader {
  display: none !important
}

.wpcf7-spinner {
  display: none !important
}

.thanks_first p.txt01 {
  margin-bottom: 3em
}

@media(max-width: 767px) {
  .thanks_first p.txt01 {
    margin-bottom: 1.8em
  }
}

.news_list ul {
  margin-bottom: 3.3rem
}

@media(max-width: 767px) {
  .news_list ul {
    margin-bottom: 1.8rem
  }
}

.news_list ul li {
  padding-bottom: .5rem;
  border-bottom: 1px solid #f28019
}

.news_list ul li:not(:last-child) {
  margin-bottom: 2.5rem
}

@media(max-width: 767px) {
  .news_list ul li:not(:last-child) {
    margin-bottom: 1.2rem
  }
}

.news_list ul li time {
  display: block;
  margin-bottom: .5em
}

.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif
}

.wp-pagenavi a,
.wp-pagenavi span {
  width: 26px;
  height: 26px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  border-radius: 100vmax;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .1em;
  white-space: nowrap;
  text-align: center;
  margin: 0 10px
}

@media(max-width: 767px) {

  .wp-pagenavi a,
  .wp-pagenavi span {
    font-size: 0.875rem
  }
}

.wp-pagenavi a:hover {
  opacity: .7
}

.wp-pagenavi span.current {
  background: #f28019;
  color: #fff
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  font-size: 0.625rem;
  line-height: 1;
  text-align: center
}

.blog_list {
  background: unset
}

.blog_list ul {
  margin-bottom: 4.5rem
}

@media(max-width: 767px) {
  .blog_list ul {
    margin-bottom: 3rem
  }
}

.blog_single:not(:last-child) {
  margin-bottom: 3.5rem
}

@media(max-width: 767px) {
  .blog_single:not(:last-child) {
    margin-bottom: 2rem
  }
}

.blog_single .top {
  padding-bottom: 2rem;
  border-bottom: 1px solid #f28019;
  margin-bottom: 2rem
}

@media(max-width: 767px) {
  .blog_single .top {
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem
  }
}

.blog_single .top .ttl_post {
  margin-bottom: 0
}

.blog_single article>p:not(:last-child) {
  margin-bottom: 2.5rem
}

@media(max-width: 767px) {
  .blog_single article>p:not(:last-child) {
    margin-bottom: 1.8rem
  }
}

.blog_single h2,
.blog_single h3,
.blog_single h4,
.blog_single p,
.blog_single figcaption {
  font-family: "Noto Sans JP", sans-serif
}

.blog_single article>.movie:not(:last-child) {
  margin-bottom: 3rem
}

@media(max-width: 767px) {
  .blog_single article>.movie:not(:last-child) {
    margin-bottom: 2rem
  }
}

.blog_single h2:not(.ttl_post) {
  background-color: #f28019;
  border-radius: 5px;
  padding: .4em .5em;
  font-size: 1.75rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .8em
}

@media(max-width: 767px) {
  .blog_single h2:not(.ttl_post) {
    font-size: 1.25rem
  }
}

.blog_single h3:not(.ttl01) {
  border-left: .3em solid #f28019;
  padding: .3em .5em;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .8em
}

@media(max-width: 767px) {
  .blog_single h3:not(.ttl01) {
    font-size: 1.125rem
  }
}

.blog_single p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2
}

@media(max-width: 767px) {
  .blog_single p {
    font-size: 0.8125rem
  }
}

.blog_single article>figure:not(:last-child) {
  margin-bottom: 1.2rem
}

@media(max-width: 767px) {
  .blog_single article>figure:not(:last-child) {
    margin-bottom: .7rem
  }
}

.about_message {
  background-color: #f4f4f4
}

.about_philo {
  background: linear-gradient(to right, #FCF1E5, #FDFDE5)
}

.about_philo .wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1.2rem 2%;
  max-width: 944px;
  margin-inline: auto
}

.about_philo .wrap .circle {
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  place-items: center;
  background-color: #fff;
  border-radius: 100vmax;
  padding: 8%
}

.about_philo .wrap .circle .ttl01 span {
  display: block;
  font-size: 0.875rem;
  color: #f28019;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .5em
}

@media(max-width: 767px) {
  .about_philo .wrap .circle .ttl01 span {
    font-size: 0.6875rem
  }
}

.about_history {
  background-color: #f4f4f4
}

.about_history ul {
  max-width: 1000px;
  margin-inline: auto
}

.about_history ul li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: unset
}

.about_history ul li:not(:last-child) .txt {
  border-bottom: 1px solid #cbcbcb
}

.about_history ul li:last-child .rail::before {
  content: none
}

.about_history ul li .rail {
  width: 5%
}

.about_history ul li time {
  width: 15%;
  display: grid;
  place-items: center
}

@media(max-width: 767px) {
  .about_history ul li time {
    width: 30%;
    letter-spacing: -0.03em
  }
}

.about_history ul li .txt {
  width: 80%;
  padding: 2rem 1em
}

@media(max-width: 767px) {
  .about_history ul li .txt {
    width: 65%;
    padding: 1rem 0
  }
}

.about_history .rail {
  position: relative
}

.about_history .rail::before,
.about_history .rail::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%
}

.about_history .rail::before {
  width: 1px;
  height: calc(100% + 0rem);
  background-color: #cbcbcb;
  translate: -50% 0
}

.about_history .rail::after {
  width: 12px;
  height: 12px;
  background-color: #f28019;
  border-radius: 100vmax;
  translate: -50% -50%
}

@media(max-width: 767px) {
  .about_history .rail::after {
    width: 8px;
    height: 8px
  }
}

.about_company .dl_cmn2 {
  margin-bottom: 3rem
}

@media(max-width: 767px) {
  .about_company .dl_cmn2 {
    margin-bottom: 1.8rem
  }
}

.about_company .map {
  position: relative;
  margin-inline: calc(50% - 50vw);
  padding-top: 445px;
  overflow: hidden
}

@media(max-width: 767px) {
  .about_company .map {
    padding-top: 100%
  }
}

.about_company .map iframe {
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: calc(100% + 200px + 200px);
  pointer-events: none
}

@media(max-width: 767px) {
  .about_company .map iframe {
    top: -30vw;
    height: calc(100% + 30vw + 30vw)
  }
}

.dl_cmn2 {
  max-width: 912px;
  margin-inline: auto
}

.dl_cmn2 div {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch
}

.dl_cmn2 div:first-child dt {
  border-top: 1px solid #f28019
}

.dl_cmn2 div:first-child dd {
  border-top: 1px solid #cbcbcb
}

.dl_cmn2 div dt,
.dl_cmn2 div dd {
  padding: 1.8em 1.2em
}

@media(max-width: 767px) {

  .dl_cmn2 div dt,
  .dl_cmn2 div dd {
    padding: 1.2em .4em
  }
}

.dl_cmn2 div dt {
  width: 30%;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  border-bottom: 1px solid #f28019
}

@media(max-width: 767px) {
  .dl_cmn2 div dt {
    font-size: 0.75rem
  }
}

.dl_cmn2 div dd {
  width: 70%;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border-bottom: 1px solid #cbcbcb
}

@media(max-width: 767px) {
  .dl_cmn2 div dd {
    font-size: 0.8125rem
  }
}

/*# sourceMappingURL=lower-style.css.map */