@charset "UTF-8";
body {
  font-size: 0.16rem;
  font-family: "Arial", "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 0.14rem;
    min-width: 320px;
  }
}

.wrapper {
  overflow: hidden;
}

.container {
  max-width: 12rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .container {
    width: calc(100% - 0.3rem);
  }
}

.container_min {
  max-width: 10.8rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .container_min {
    width: calc(100% - 0.3rem);
  }
}

a {
  color: #000;
}

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .pconly {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sponly {
    display: none !important;
  }
}

.objectfit {
  width: 100%;
  height: 100%;
}

.objectfit.cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.objectfit.contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.cmn_header {
  width: 100%;
  padding: 0.35rem 0.33rem 0.35rem 0.6rem;
  position: fixed;
  z-index: 100;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.cmn_header .logo img {
  width: 1.6rem;
}

.cmn_header .lists {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.59rem;
}

.cmn_header .lists li a {
  font-size: 0.14rem;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .cmn_header {
    padding: 0.15rem 0.1rem;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
  }
  .cmn_header .logo img {
    width: 1.2rem;
  }
  .cmn_header .global {
    width: 100%;
    height: 100vh;
    padding: 0;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    overflow-y: scroll;
    background-color: #fff;
  }
  .cmn_header nav {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .cmn_header .lists {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.3rem 0;
    text-align: center;
  }
  .cmn_header .lists li {
    width: 100%;
  }
  .cmn_header .lists li a {
    font-size: 0.14rem;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
  .cmn_header .hamburger {
    width: 0.3rem;
    height: 0.3rem;
    position: absolute;
    top: 0.08rem;
    right: 0.1rem;
    z-index: 100;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
    border-radius: 50%;
  }
  .cmn_header .hamburger span {
    width: 0.2rem;
    height: 2px;
    position: absolute;
    left: calc(50% - 0.075rem);
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
    background-color: #000;
  }
  .cmn_header .hamburger span:nth-of-type(1) {
    top: 0.08rem;
  }
  .cmn_header .hamburger span:nth-of-type(2) {
    top: 0.14rem;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .cmn_header .hamburger span:nth-of-type(3) {
    top: 0.2rem;
  }
  .cmn_header .hamburger.active span:nth-child(1) {
    top: 0.14rem;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .cmn_header .hamburger.active span:nth-child(3) {
    top: 0.14rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .cmn_header .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .cmn_header.scrolled {
    background-color: #fff;
    -webkit-box-shadow: 0 0.03rem 0.06rem rgba(0, 0, 0, 0.18);
            box-shadow: 0 0.03rem 0.06rem rgba(0, 0, 0, 0.18);
  }
}

.cmn_footer {
  padding: 1.2rem 0 0.8rem;
}

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

.cmn_footer .logo {
  width: 50%;
}

.cmn_footer .logo img {
  width: 5.6rem;
}

.cmn_footer .txt {
  margin-top: 0.42rem;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.5;
}

.cmn_footer .deco {
  margin-top: -0.2rem;
}

.cmn_footer .deco img {
  width: 5.56rem;
  mix-blend-mode: overlay;
}

.cmn_footer .wrap02 {
  margin-top: 2.8rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.cmn_footer .btn a {
  font-size: 0.12rem;
  font-weight: 700;
  text-decoration: underline;
}

.cmn_footer small {
  font-size: 0.12rem;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .cmn_footer {
    padding: 0.6rem 0 0.4rem;
  }
  .cmn_footer .wrap {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .cmn_footer .logo {
    width: 100%;
  }
  .cmn_footer .logo img {
    width: 3rem;
  }
  .cmn_footer .txt {
    margin-top: 0.2rem;
  }
  .cmn_footer .deco {
    margin-top: 0.4rem;
  }
  .cmn_footer .deco img {
    width: 100%;
  }
  .cmn_footer .wrap02 {
    margin-top: 1rem;
  }
}

.cmn_video {
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: -10;
  background-color: #fff;
}

.cmn_video .video_wrap {
  opacity: 0.6;
}

.cmn_video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}

.cmn_video .deco {
  position: absolute;
  bottom: 0;
  left: 0;
  mix-blend-mode: overlay;
}

.cmn_video .deco img {
  width: 100vw;
}

/* --------------------------------------------------------------
   Module_Element
-------------------------------------------------------------- */
.mod_tit {
  padding-top: 1.56rem;
  text-align: center;
  position: relative;
}

.mod_tit::before {
  content: "";
  width: 1px;
  height: 1.2rem;
  position: absolute;
  top: 0;
  left: 50%;
  background-color: #e60012;
}

.mod_tit .ja {
  font-weight: 700;
}

.mod_tit .en {
  margin-top: 0.14rem;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #e60012;
}

@media screen and (max-width: 767px) {
  .mod_tit {
    padding-top: 0.6rem;
  }
  .mod_tit::before {
    height: 0.4rem;
  }
  .mod_tit .en {
    margin-top: 0.1rem;
    font-size: 0.4rem;
  }
}

.mod_def_lists dt,
.mod_def_lists dd {
  padding-left: 0.38rem;
}

.mod_def_lists dt {
  font-size: 0.26rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  position: relative;
}

.mod_def_lists dt::before {
  content: "";
  width: 0.08rem;
  height: 0.16rem;
  position: absolute;
  top: 0.1rem;
  left: 0;
  background-color: #e60012;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.mod_def_lists dt:not(:first-of-type) {
  margin-top: 1em;
}

.mod_def_lists dd {
  margin-top: 0.14rem;
  font-weight: 500;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .mod_def_lists dt,
  .mod_def_lists dd {
    padding-left: 0.2rem;
  }
  .mod_def_lists dt {
    font-size: 0.18rem;
  }
  .mod_def_lists dt::before {
    width: 0.06rem;
    height: 0.14rem;
    top: 0.05rem;
  }
  .mod_def_lists dd {
    margin-top: 0;
  }
}

.mod_btn a {
  width: 2.8rem;
  line-height: 0.55rem;
  display: block;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-align: center;
  position: relative;
  border-radius: 0.3rem;
  border: 0.02rem solid #e60012;
  color: #fff;
  background-color: #e60012;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.mod_btn a::before, .mod_btn a::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0.2rem;
  width: 0.07rem;
  height: 0.02rem;
  border-radius: 1rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background-color: #fff;
  -webkit-transform-origin: calc(100% - 0.05px) 50%;
          transform-origin: calc(100% - 0.05px) 50%;
}

.mod_btn a::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.mod_btn a::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .mod_btn a:hover {
    opacity: 1;
    border: 0.02rem solid #e60012;
    color: #e60012;
    background-color: #fff;
  }
  .mod_btn a:hover::before, .mod_btn a:hover::after {
    background-color: #e60012;
  }
}

@media screen and (max-width: 767px) {
  .mod_btn a {
    width: 2.4rem;
    line-height: 0.4rem;
  }
}

.mod_news_lists {
  border-top: 1px solid #ddd;
}

.mod_news_lists li {
  border-bottom: 1px solid #ddd;
}

.mod_news_lists li a {
  padding: 0.5rem 1rem 0.5rem 0.4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.4rem;
  position: relative;
}

.mod_news_lists li a::before, .mod_news_lists li a::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0.4rem;
  width: 0.1rem;
  height: 0.02rem;
  border-radius: 1rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background-color: #e60012;
  -webkit-transform-origin: calc(100% - 0.05px) 50%;
          transform-origin: calc(100% - 0.05px) 50%;
}

.mod_news_lists li a::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.mod_news_lists li a::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .mod_news_lists li a:hover::before, .mod_news_lists li a:hover::after {
    right: 0.2rem;
  }
}

.mod_news_lists .wrap {
  width: 2.54rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.mod_news_lists .cate {
  width: 1.2rem;
  min-width: 1.2rem;
  text-align: center;
  line-height: 0.3rem;
  border-radius: 0.15rem;
  font-weight: 700;
  color: #fff;
  background-color: #e60012;
}

.mod_news_lists .txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.4rem;
}

.mod_news_lists .date {
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #999;
}

.mod_news_lists .tit {
  width: calc(100% - 2.54rem);
  font-weight: 500;
  line-height: 1.45;
  color: #2a2a2a;
}

@media screen and (max-width: 767px) {
  .mod_news_lists li a {
    padding: 0.25rem 0.5rem 0.25rem 0.1rem;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.1rem 0;
  }
  .mod_news_lists li a::before, .mod_news_lists li a::after {
    right: 0.2rem;
  }
  .mod_news_lists .wrap {
    width: 100%;
  }
  .mod_news_lists .cate {
    width: 1.2rem;
    min-width: 1.2rem;
    line-height: 0.3rem;
  }
  .mod_news_lists .txt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 0.4rem;
  }
  .mod_news_lists .tit {
    width: 100%;
  }
}

.wp-pagenavi {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 0.5rem;
}

.wp-pagenavi a,
.wp-pagenavi .current,
.wp-pagenavi .extend {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 0.4rem;
  height: 0.4rem;
  margin: 0 0.05rem;
}

.wp-pagenavi a {
  font-size: 0.14rem;
  background-color: #fff;
  border: 1px solid #ddd;
  color: #2a2a2a;
}

@media screen and (min-width: 768px) {
  .wp-pagenavi a {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .wp-pagenavi a:hover {
    opacity: 0.7;
  }
  .wp-pagenavi a:hover {
    background-color: #e60012;
    border: 1px solid #e60012;
    opacity: 1;
    color: #fff;
  }
}

.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
  padding: 0.13rem 0.15rem 0.13rem;
  -webkit-box-pack: normal;
  -webkit-justify-content: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
  width: 0.4rem;
  margin: 0 0.05rem;
  font-size: 0.14rem;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .wp-pagenavi a.previouspostslink:hover, .wp-pagenavi a.nextpostslink:hover {
    background-color: #e60012;
    border: 1px solid #e60012;
    opacity: 1;
    color: #fff;
  }
}

.wp-pagenavi .current {
  font-size: 0.14rem;
  color: #fff;
  background-color: #e60012;
  border: 1px solid #e60012;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-top: 0.15rem;
    height: 0.3rem;
  }
  .wp-pagenavi a,
  .wp-pagenavi .current,
  .wp-pagenavi .extend {
    width: 0.3rem;
    height: 100%;
    margin: 0 0.02rem;
  }
  .wp-pagenavi a {
    font-size: 0.12rem;
  }
  .wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
    padding: 0.09rem 0.12rem 0.1rem;
    margin: 0 0.025rem;
    font-size: 0.1rem;
    width: 0.3rem;
  }
  .wp-pagenavi .extend {
    font-size: 0.12rem;
    font-weight: bold;
    border: 1px solid #d1d1d1;
    margin: 0 0.05rem;
    font-size: 0.18rem;
    font-weight: bold;
  }
  .wp-pagenavi .current {
    font-size: 0.12rem;
    font-weight: bold;
    border: 1px solid #ddd;
  }
}

.post_content h1 {
  font-size: 0.22rem;
  letter-spacing: 0.1em;
  margin: 0 0 1.2em;
  line-height: 1.5;
}

.post_content h2 {
  font-size: 0.2rem;
  letter-spacing: 0.1em;
  margin: 0 0 1.2em;
  line-height: 1.5;
}

.post_content h3 {
  font-size: 0.18rem;
  letter-spacing: 0.1em;
  margin: 0 0 1.2em;
  line-height: 1.5;
}

.post_content h4 {
  font-size: 0.17rem;
  letter-spacing: 0.1em;
  margin: 0 0 1.2em;
  line-height: 1.5;
}

.post_content h5 {
  font-size: 0.16rem;
  letter-spacing: 0.1em;
  margin: 0 0 1.2em;
  line-height: 1.5;
}

.post_content h6 {
  font-size: 0.15rem;
  letter-spacing: 0.1em;
  margin: 0 0 1.2em;
  line-height: 1.5;
}

.post_content p {
  margin: 0 0 3em;
  font-size: 0.14rem;
  line-height: 2;
  letter-spacing: 0.06em;
}

.post_content img {
  max-width: 100%;
  height: auto;
}

.post_content img.alignleft {
  float: left;
  display: block;
  margin: 0 1em 1em 0;
}

.post_content img.alignright {
  float: right;
  display: block;
  margin: 0 0 1em 1em;
}

.post_content img.aligncenter {
  display: block;
  margin: 0 auto 1em;
}

.post_content a {
  color: #e60012;
  text-decoration: underline;
}

.post_content em {
  font-style: italic;
}

.post_content blockquote {
  background: #f1f1f1;
  padding: 1em;
  margin: 1em auto;
}

.post_content blockquote p {
  margin-bottom: 0;
}

.post_content blockquote p ~ p {
  margin-top: 1em;
}

.post_content ul,
.post_content ol {
  margin: 1em 0 1em 1em;
}

.post_content ul li {
  list-style: outside disc;
}

.post_content ol li {
  list-style: outside decimal;
}

/* TOP
--------------------------------------------------------------*/
.top_page .mv {
  width: 100%;
  height: 100vh;
}

.top_page .mv .cat {
  position: absolute;
  top: calc(50% - 1.38rem);
  left: calc(50% - 3.2rem);
}

.top_page .mv .cat img {
  width: 6.4rem;
}

@media screen and (max-width: 767px) {
  .top_page .mv .cat {
    top: calc(50% - 0.775rem);
    left: calc(50% - 1.8rem);
  }
  .top_page .mv .cat img {
    width: 3.6rem;
  }
}

.top_page .bg01 {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(20.82%, white));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 20.82%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 20.82%);
}

.top_page .purpose {
  padding: 1.6rem 0 0;
}

.top_page .purpose .cat,
.top_page .purpose .txt {
  font-weight: 700;
  letter-spacing: 0.1em;
}

.top_page .purpose .cat {
  margin-top: 0.92rem;
  text-align: center;
  font-size: 0.4rem;
  line-height: 1.5;
}

.top_page .purpose .txt {
  margin-top: 2em;
  font-size: 0.26rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .top_page .purpose {
    padding: 0.8rem 0 0;
  }
  .top_page .purpose .cat {
    margin-top: 0.45rem;
    font-size: 0.2rem;
  }
  .top_page .purpose .txt {
    font-size: 0.2rem;
  }
}

.top_page .strengths {
  padding: 1.5rem 0 1.55rem;
}

.top_page .strengths .cat,
.top_page .strengths .txt {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.top_page .strengths .cat {
  margin-top: 0.92rem;
  font-size: 0.4rem;
  line-height: 1.5;
}

.top_page .strengths .txt {
  margin-top: 2em;
  font-size: 0.26rem;
  line-height: 2;
}

.top_page .strengths .img {
  margin-top: 0.32rem;
  text-align: center;
}

.top_page .strengths .img img {
  width: 10.8rem;
}

.top_page .strengths .mod_def_lists {
  margin-top: 0.6rem;
}

@media screen and (max-width: 767px) {
  .top_page .strengths {
    padding: 0.8rem 0;
  }
  .top_page .strengths .cat {
    margin-top: 0.45rem;
    font-size: 0.2rem;
  }
  .top_page .strengths .txt {
    font-size: 0.2rem;
    text-align: left;
    padding: 0 0.15rem;
  }
  .top_page .strengths .img {
    margin-top: 0.2rem;
  }
  .top_page .strengths .img img {
    width: 100%;
  }
  .top_page .strengths .mod_def_lists {
    margin-top: 0.4rem;
  }
}

.top_page .news {
  padding: 1.6rem 0;
  background-color: #f9f9fb;
}

.top_page .news .mod_news_lists {
  margin-top: 0.89rem;
}

.top_page .news .mod_btn {
  margin-top: 0.6rem;
}

.top_page .news .mod_btn a {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .top_page .news {
    padding: 0.8rem 0;
  }
  .top_page .news .mod_news_lists {
    margin-top: 0.45rem;
  }
  .top_page .news .mod_btn {
    margin-top: 0.3rem;
  }
  .top_page .news .mod_btn a {
    margin: 0 auto;
  }
}

.top_page .bg02 {
  padding-bottom: 1.6rem;
  background-color: rgba(255, 255, 255, 0.5);
}

@media screen and (max-width: 767px) {
  .top_page .bg02 {
    padding-bottom: 0.8rem;
  }
}

.top_page .service {
  padding: 1.6rem 0 1.55rem;
}

.top_page .service .cat {
  margin-top: 0.9rem;
  text-align: center;
  font-size: 0.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.top_page .service .tit {
  margin-top: 0.97rem;
  text-align: center;
}

.top_page .service .tit .en {
  padding: 0.1rem 0.38rem;
  display: inline-block;
  font-size: 0.4rem;
  font-weight: 700;
  color: #fff;
  background-color: #e60012;
}

.top_page .service .tit .ja {
  margin-top: 0.22rem;
  font-size: 0.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.top_page .service .txt {
  margin-top: 0.63rem;
  font-size: 0.22rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2;
}

.top_page .service .mod_def_lists {
  margin-top: 0.54rem;
}

@media screen and (max-width: 767px) {
  .top_page .service {
    padding: 0.8rem 0;
  }
  .top_page .service .cat {
    margin-top: 0.45rem;
    font-size: 0.2rem;
  }
  .top_page .service .tit {
    margin-top: 0.5rem;
  }
  .top_page .service .tit .en {
    padding: 0.05rem 0.2rem;
    font-size: 0.2rem;
  }
  .top_page .service .tit .ja {
    margin-top: 0.1rem;
    font-size: 0.2rem;
    line-height: 1.5;
  }
  .top_page .service .txt {
    margin-top: 0.3rem;
    font-size: 0.18rem;
  }
  .top_page .service .mod_def_lists {
    margin-top: 0.25rem;
  }
}

.top_page .deployment {
  padding: 0 0 1.6rem;
}

.top_page .deployment .cat {
  margin-top: 0.65rem;
  text-align: center;
  font-size: 0.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.top_page .deployment .mod_def_lists {
  margin-top: 0.57rem;
}

@media screen and (max-width: 767px) {
  .top_page .deployment {
    padding: 0 0 0.8rem;
  }
  .top_page .deployment .cat {
    margin-top: 0.3rem;
    font-size: 0.2rem;
  }
  .top_page .deployment .mod_def_lists {
    margin-top: 0.25rem;
  }
}

.top_page .outline {
  padding: 1.2rem 0 1.55rem;
  margin: 0 0.4rem;
  background-color: #fff;
}

.top_page .outline .lists {
  margin-top: 0.83rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  border-top: 1px solid #ddd;
}

.top_page .outline .lists dt,
.top_page .outline .lists dd {
  padding-top: 0.46rem;
  padding-bottom: 0.49rem;
  font-weight: 500;
  line-height: 2;
  border-bottom: 1px solid #ddd;
}

.top_page .outline .lists dt {
  padding-left: 0.4rem;
  width: 3rem;
}

.top_page .outline .lists dd {
  width: calc(100% - 3rem);
}

@media screen and (max-width: 767px) {
  .top_page .outline {
    padding: 0.6rem 0;
    margin: 0 0.2rem;
  }
  .top_page .outline .lists {
    margin-top: 0.4rem;
  }
  .top_page .outline .lists dt,
  .top_page .outline .lists dd {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .top_page .outline .lists dt {
    width: 100%;
    padding-left: 0;
    padding-bottom: 0;
    border-bottom: none;
    font-weight: 700;
  }
  .top_page .outline .lists dd {
    width: 100%;
    padding-top: 0;
    font-weight: 400;
  }
}

.top_page .access {
  padding: 1.6rem 0;
  background-color: #f9f9fb;
}

.top_page .access .img {
  margin-top: 0.83rem;
}

.top_page .access .img img {
  width: 100%;
}

.top_page .access .map iframe {
  width: 100%;
  height: 4.8rem;
}

.top_page .access .wrap {
  width: 8rem;
  margin: 0.35rem auto 0;
}

.top_page .access .means {
  margin-top: 0.83rem;
}

.top_page .access .txt {
  font-weight: 500;
  line-height: 2;
}

.top_page .access .tit {
  padding-left: 0.4rem;
  font-size: 0.26rem;
  font-weight: 700;
  position: relative;
}

.top_page .access .tit::before {
  content: "";
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.top_page .access .desc {
  margin-top: 1em;
  font-weight: 500;
  line-height: 1.5;
}

.top_page .access .lists {
  margin-top: 0.3rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.25rem 0;
}

.top_page .access .lists li {
  width: 50%;
}

.top_page .access .lists li:nth-of-type(even) {
  padding-left: 0.4rem;
}

.top_page .access .lists .list_tit {
  padding-left: 0.05rem;
  font-weight: 700;
  position: relative;
  line-height: 1.5;
}

.top_page .access .lists .list_tit::before {
  content: "";
  width: 0.05rem;
  height: 0.12rem;
  position: absolute;
  top: 0.05rem;
  left: 0;
  background-color: #e60012;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.top_page .access .lists .list_txt {
  margin-top: 0.1rem;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.5;
}

.top_page .access .train .tit::before {
  width: 0.3rem;
  height: 0.3563rem;
  top: calc(50% - 0.178rem);
  background-image: url(../img/top/access_train_icon.svg);
}

.top_page .access .car .tit::before {
  width: 0.3rem;
  height: 0.2667rem;
  top: calc(50% - 0.13rem);
  background-image: url(../img/top/access_car_icon.svg);
}

.top_page .access .car .lists .list_tit {
  padding-left: 1em;
}

.top_page .access .btn {
  margin-top: 0.85rem;
  text-align: center;
}

.top_page .access .btn a {
  font-weight: 500;
  text-decoration: underline;
  position: relative;
}

.top_page .access .btn a::after {
  content: "";
  width: 0.2rem;
  height: 0.2rem;
  position: absolute;
  top: calc(50% - 0.12rem);
  right: -0.3rem;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url(../img/top/access_link_icon.svg);
}

@media screen and (max-width: 767px) {
  .top_page .access {
    padding: 0.8rem 0;
  }
  .top_page .access .img {
    margin-top: 0.4rem;
  }
  .top_page .access .map iframe {
    height: 2.4rem;
  }
  .top_page .access .wrap {
    width: calc(100% - 0.3rem);
    margin: 0.2rem auto 0;
  }
  .top_page .access .means {
    margin-top: 0.4rem;
  }
  .top_page .access .tit {
    padding-left: 0.4rem;
    font-size: 0.22rem;
  }
  .top_page .access .lists {
    margin-top: 0.2rem;
    gap: 0.25rem 0;
  }
  .top_page .access .lists li {
    width: 100%;
  }
  .top_page .access .lists li:nth-of-type(even) {
    padding-left: 0;
  }
  .top_page .access .lists .list_tit {
    padding-left: 0.05rem;
  }
  .top_page .access .lists .list_tit::before {
    top: 0.025rem;
  }
  .top_page .access .train .tit::before {
    width: 0.25rem;
  }
  .top_page .access .car .tit::before {
    width: 0.25rem;
  }
  .top_page .access .btn {
    margin: 0.4rem 0 0 -0.35rem;
  }
}

.top_page .contact {
  padding: 1.6rem 0;
  background-color: #fff;
}

.top_page .contact .txt {
  margin-top: 0.82rem;
}

.top_page .contact .txt .desc {
  font-weight: 500;
  line-height: 2;
}

.top_page .contact .txt .desc:not(:first-of-type) {
  margin-top: 0.32rem;
}

.top_page .contact .form_wrap {
  width: 8rem;
  margin: 0.74rem auto 0;
}

.top_page .contact .lists {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.top_page .contact .lists dt:not(:first-of-type),
.top_page .contact .lists dd:not(:first-of-type) {
  margin-top: 0.4rem;
}

.top_page .contact .lists dt {
  padding-top: 0.25rem;
  width: 2rem;
}

.top_page .contact .lists dt .req {
  color: #e60012;
}

.top_page .contact .lists dd {
  width: calc(100% - 2rem);
}

.top_page .contact .lists input[type="text"],
.top_page .contact .lists input[type="email"],
.top_page .contact .lists input[type="tel"],
.top_page .contact .lists textarea {
  width: 100%;
  padding: 0.1rem;
  border: 1px solid #ddd;
  font-size: 0.16rem;
}

.top_page .contact .lists input[type="text"],
.top_page .contact .lists input[type="email"],
.top_page .contact .lists input[type="tel"] {
  height: 0.6rem;
}

.top_page .contact .lists textarea {
  min-height: 3rem;
}

.top_page .contact .lists .wpcf7-not-valid-tip {
  font-size: 0.14rem;
  margin-top: 0.05rem;
  font-weight: 700;
  color: #e60012;
}

.top_page .contact .submit_btn {
  margin-top: 0.77rem;
  text-align: center;
}

.top_page .contact .submit_btn input {
  width: 2.8rem;
  height: 0.6rem;
  border: 0.02rem solid #e60012;
  text-align: center;
  font-weight: bold;
  font-size: 0.16rem;
  border-radius: 1rem;
  color: #fff;
  background-color: #e60012;
}

@media screen and (min-width: 768px) {
  .top_page .contact .submit_btn input:hover {
    opacity: 1;
    color: #e60012;
    background-color: #fff;
  }
}

.top_page .contact .submit_btn .wpcf7-spinner {
  display: none;
}

@media screen and (max-width: 767px) {
  .top_page .contact {
    padding: 0.8rem 0;
  }
  .top_page .contact .txt {
    margin-top: 0.4rem;
  }
  .top_page .contact .txt .desc:not(:first-of-type) {
    margin-top: 0.15rem;
  }
  .top_page .contact .form_wrap {
    width: 100%;
    margin: 0.35rem auto 0;
  }
  .top_page .contact .lists dt:not(:first-of-type),
  .top_page .contact .lists dd:not(:first-of-type) {
    margin-top: 0;
  }
  .top_page .contact .lists dt {
    width: 100%;
    padding-top: 0.25rem;
    margin-bottom: 0.1rem;
  }
  .top_page .contact .lists dd {
    width: 100%;
  }
  .top_page .contact .lists input[type="text"],
  .top_page .contact .lists input[type="email"],
  .top_page .contact .lists input[type="tel"] {
    height: 0.4rem;
  }
  .top_page .contact .lists textarea {
    min-height: 2rem;
  }
  .top_page .contact .submit_btn {
    margin-top: 0.35rem;
  }
  .top_page .contact .submit_btn input {
    width: 2.4rem;
    height: 0.4rem;
    font-size: 0.14rem;
  }
}

/* NEWS一覧
--------------------------------------------------------------*/
.news_page .news {
  padding: 1.6rem 0;
  background-color: #fff;
}

.news_page .news .mod_news_lists {
  margin-top: 0.89rem;
}

@media screen and (max-width: 767px) {
  .news_page .news {
    padding: 0.8rem 0;
  }
  .news_page .news .mod_news_lists {
    margin-top: 0.45rem;
  }
}

/* NEWS詳細
--------------------------------------------------------------*/
.news_detail_page .news {
  padding: 1.6rem 0;
  background-color: #fff;
}

.news_detail_page .news .tit {
  margin-top: 1rem;
  font-size: 0.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.news_detail_page .news .wrap {
  width: 2.54rem;
  margin-top: 0.4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.news_detail_page .news .cate {
  width: 1.2rem;
  min-width: 1.2rem;
  text-align: center;
  line-height: 0.3rem;
  border-radius: 0.15rem;
  font-weight: 700;
  color: #fff;
  background-color: #e60012;
}

.news_detail_page .news .date {
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #999;
}

.news_detail_page .news .post_content {
  margin-top: 0.4rem;
}

@media screen and (max-width: 767px) {
  .news_detail_page .news {
    padding: 0.8rem 0;
  }
  .news_detail_page .news .tit {
    margin-top: 0.5rem;
    font-size: 0.2rem;
  }
  .news_detail_page .news .wrap {
    width: 100%;
    margin-top: 0.2rem;
  }
  .news_detail_page .news .post_content {
    margin-top: 0.2rem;
  }
}

/* プライバシーポリシー
--------------------------------------------------------------*/
.privacy_page .privacy {
  padding: 1.6rem 0;
  background-color: #fff;
}

.privacy_page .privacy .mod_def_lists {
  margin-top: 0.9rem;
}

@media screen and (max-width: 767px) {
  .privacy_page .privacy {
    padding: 0.8rem 0;
  }
  .privacy_page .privacy .mod_def_lists {
    margin-top: 0.45rem;
  }
}
/*# sourceMappingURL=style.css.map */