/*
Theme Name:   XWRITE Child
Theme URI:    
Description:  XWRITE の子テーマ
Author:       
Author URI:   
Template:     xwrite
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  xwrite-child
*/

/* ここにカスタムCSSを追加してください */
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block;
}
.wp-block-table td, .wp-block-table th {
    border: 1px solid #ededed;
}

.icon-home:before {
  display: none;
}

.l-footer__nav * a {
	border: none!important;
	text-decoration: underline;
}

.l-footer__widgetArea {
    max-width: 1050px;
    margin: auto;
}
/* --- トップバー全体のスタイル --- */
#sa-top-bar {
  /* 派手すぎない、落ち着いた濃紺のグラデーション */
background:#1A1311;
/*   background: linear-gradient(to right, #1A1311, #001f3f); /* 濃紺グラデーション */ */
  color: #ffffff;
  font-size: 12px;
  line-height: 1.5;
  width: 100%;
}

/* --- コンテンツ幅とレイアウト（変更なし） --- */
.sa-top-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

/* --- 左側：コンセプトテキスト --- */
.sa-concept-text {
  margin: 0;
  font-weight: 500;
  opacity: 0.95; /* 視認性を高めるため少し不透明度を上げる */
  letter-spacing: 0.05em; /* 少し文字間隔を広げて洗練された印象に */
	color: #fff;
}

/* --- 右側：サービスリンクのラッパー（変更なし） --- */
.sa-service-links {
  display: flex;
  gap: 25px; /* 間隔を少し広げて見やすく */
}

/* --- 各リンクのデザイン --- */
.sa-service-link {
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  position: relative; /* 擬似要素の基準点 */
  transition: all 0.3s ease; /* アニメーションを滑らかに */
}

/* --- 擬似要素で作る矢印アイコン --- */
.sa-service-link::before {
  content: "▶"; /* ここで矢印文字を指定 */
  font-size: 8px;
  color: #fff; /* アクセントカラー（明るい青） */
  margin-right: 6px;
  transition: transform 0.3s ease; /* 矢印の動きも滑らかに */
}

/* --- ホバー時の挙動 --- */
.sa-service-link:hover {
  opacity: 1; /* ホバー時ははっきり表示 */
  color: #e6f2ff; /* 文字色を少し明るく */
}

/* ホバー時に矢印を少し右に動かすアニメーション */
.sa-service-link:hover::before {
  transform: translateX(3px); /* 右に3px移動 */
  color: #ffffff; /* 矢印の色も白く光らせる */
}

/* --- スマホ対応（レスポンシブ） --- */
@media screen and (max-width: 768px) {
  .sa-top-bar-inner {
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 12px 15px;
  }
  
  .sa-service-links {
    width: 100%;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap; /* リンクが長くなった場合に備えて折り返し */
  }
  
  .sa-concept-text {
    font-size: 11px;
    text-align: center;
  }
}
/* --- スマホ対応（768px以下で非表示） --- */
@media screen and (max-width: 768px) {
  #sa-top-bar {
    display: none;
  }
}
/* .l-footer__foot {
	padding-top: 0;
}
 */
/* .p-breadcrumb__list {
	display: block;
	max-width: 1050px;
	margin: auto;
} */

/* a.p-breadcrumb__text {
    text-decoration: underline;
}
 */
.post_content td, .post_content th {
    padding: 0.8em;
}

#bg-service {
	background-image:url(https://www.southagency.co.jp/wp-content/uploads/bg-service.png);
}

#bg-info {
	background-image:url(https://www.southagency.co.jp/wp-content/uploads/bg-info.png);
}

.sankaku {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 80px 0 80px;
    border-color: #cdcdcd transparent transparent transparent;
    margin: 0 auto;
    margin-bottom: var(--swl-block-margin,2em);
}

/* .c-pageTitle__subTitle {
	display: none;
}
 */
@media (min-width: 600px) {
.p-authorBox__l {
    margin-bottom: 0;
    width: 500px;
	}
}
/* ヘッダー */
/* .l-header__barInner {
    max-width: 1024px;
}
.l-header__bar .c-catchphrase {
    padding: 12px 0;
}
@media (min-width: 960px) {
	.-series-right .l-header__inner {
    max-width: 1024px;
}
	}
.p-breadcrumb__list {
    max-width: 1020px;
}
.c-pageTitle__inner {
    padding-left: 16px;
} */

a.c-categoryList__link {
    background-color: #fff;
    color: #111;
    text-decoration: underline;
}

.hov-flash-up:hover {
    animation: flash none;
    box-shadow: none;
}

.c-categoryList:before {
/*     content: "\e92f"; */
    display: none;
}

.l-mainContent .c-categoryList__link.-current {
    box-shadow: none;
}

.p-termNavigation {
    margin-top: 3rem;
}

.-type-simple .p-postList__link {
    border-bottom: 1px solid var(--color_border);
    display: block;
    padding: 1.8em 0.5em;
    transition: background-color .5s;
}
.-type-simple .p-postList__link:hover {
    background-color: #f8f8f8;
}

.swell-block-linkList.is-style-button .swell-block-linkList__text {
    margin: 0;
    margin-right: auto;
}

.c-pagination {
	display: none;
}

.p-termHead {
    border: none;
}

.p-termHead__desc {
	   font-size: 15px;
    color: gray;
}
/* 
.p-postList__link:hover .c-postThumb:before {
    opacity: 0;
}
.p-postList__link:hover .c-postThumb__img {
    -webkit-transform: scale(1.06);
    transform: none;
}

.p-postList__link {
  position: relative;
  overflow: hidden;
}
.p-postList__link::before,
.p-postList__link::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  margin: auto;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
  opacity: 0;
}
.p-postList__link::before {
  background: rgba(0,0 ,0 ,.5);
  width: 100%;
  height: 100%;
	z-index: 999;
}

.p-postList__link::after {
    color: #fff;
    content: "Read More";
    font-size: 22px;
    font-weight: bold;
    display: flex;
    text-align: center;
    justify-content: right;
    align-items: center;
    padding-right: 16px;
    bottom: 0;
    right: 0;
    z-index: 1000;
}
 
.p-postList__link:hover::before,
.p-postList__link:hover::after {
  opacity: 1;
}
 */
.p-postList__meta :before {
	display: none;
}

.p-postList__body {
    padding-left: 16px;
}

.p-authorBox {
    border: none;
    align-items: center;
}

.p-authorBox .avatar {
    border: 0;
    border-radius: 0;
}

.c-secTitle {
    display: block;
    border: none;
	text-align: center;
}

.p-authorBox__name {
    font-size: 14px!important;
    color: inherit;
    display: block;
    font-weight: normal;
    line-height: 1.2;
    margin-top: 0;
    text-decoration: none;
}













/*--追加スタイル------------------------------------------------------------------------------*/

/* ---------------------------------------------------------------- */
/* ヘッダー */
/* ---------------------------------------------------------------- */
#header {
  height: 60px; }
  #header #headerCnt {
    width: 100%;
    padding: 0 15px; }
    #header #headerCnt #headerCnt_inr {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto;
      height: 60px; }
      #header #headerCnt #headerCnt_inr #logoArea {
        flex-basis: 129px;
        width: 129px;
        align-self: center; }
        #header #headerCnt #headerCnt_inr #logoArea a {
          display: block;
          width: 100%; }
          #header #headerCnt #headerCnt_inr #logoArea a h1 {
            margin: 0;
            line-height: 1; }
            #header #headerCnt #headerCnt_inr #logoArea a h1 img {
              max-width: 129px;
              height: auto; }
      #header #headerCnt #headerCnt_inr #headerContact {
        flex-basis: auto;
        width: auto;
        margin-left: auto; }
        #header #headerCnt #headerCnt_inr #headerContact ul {
          margin: 0;
          padding: 0;
          display: flex;
          justify-content: flex-end;
          align-items: center; }
          #header #headerCnt #headerCnt_inr #headerContact ul li {
            list-style: none;
            margin-left: 20px; }
            #header #headerCnt #headerCnt_inr #headerContact ul li a {
              color: #1A1311;
              text-decoration: none;
              font-size: 14px; }
              #header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact {
                background-color: #1A1311;
                border: 1px solid #1A1311;
                color: #fff;
                border-radius: 50px;
                height: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 12px 16px 11px;
                line-height: 1; }
              #header #headerCnt #headerCnt_inr #headerContact ul li a.children {
                padding-right: 13px;
                background: url("images/common/arrow_down.svg") no-repeat right top 3px/10px 16px; }
      #header #headerCnt #headerCnt_inr #drawerNaviWrap {
        display: none; }
    #header #headerCnt.fixed {
      width: 100%;
      position: fixed;
      margin: 0 auto;
      z-index: 5;
      height: 70px;
      top: 0;
      transition: ease-in .1s;
      box-shadow: 1px 1px 15px #eee;
      background: #fff;
      height: 60px; }
      #header #headerCnt.fixed + #main {
        margin-top: 70px !important; }
  @media screen and (min-width: 1025px) {
    #header {
      height: 80px; }
      #header #headerCnt #headerCnt_inr {
        max-width: 1170px;
        height: 80px; }
        #header #headerCnt #headerCnt_inr #logoArea {
          flex-basis: 215px;
          width: 215px; }
          #header #headerCnt #headerCnt_inr #logoArea a h1 {
            line-height: 2; }
            #header #headerCnt #headerCnt_inr #logoArea a h1 img {
              max-width: 215px; }
        #header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact:hover {
          background-color: #fff;
          color: #1A1311; }
      #header #headerCnt.fixed {
        height: 80px; }
        #header #headerCnt.fixed #headerCnt_inr #logoArea {
          flex-basis: 160px;
          width: 160px; }
          #header #headerCnt.fixed #headerCnt_inr #logoArea a h1 {
            line-height: 1; }
            #header #headerCnt.fixed #headerCnt_inr #logoArea a h1 img {
              max-width: 160px; } }
  @media screen and (max-width: 767px) {
    #header #headerCnt {
      max-width: 750px;
      justify-content: space-between;
      height: auto;
      padding: 0; }
      #header #headerCnt #headerCnt_inr #logoArea #logo {
        margin: 0 0 0 15px; }
      #header #headerCnt #headerCnt_inr #headerContact {
        margin-right: 72px; }
        #header #headerCnt #headerCnt_inr #headerContact ul li {
          display: none; }
          #header #headerCnt #headerCnt_inr #headerContact ul li.sp_onlink {
            display: block; }
      #header #headerCnt #headerCnt_inr #drawerNaviWrap {
        display: block; } }

.arow-ul > li > a {
  font-size: 16px;
  padding: 0 20px 17px 10px;
  border-bottom: 1px solid #1A1311;
  margin-bottom: 17px;
  display: flex;
  background-image: url(images/common/arrow_right_small_black.svg);
  background-size: 14px 12px;
  background-repeat: no-repeat;
  background-position: top 4px right 10px; }

.megaMenu__link.is-active + .megaMenu__content {
  opacity: 1;
  visibility: visible; }

.megaMenu__content {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  background-color: #fff;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 7;
  height: 100vh;
  overflow: auto; }
  .megaMenu__content .container {
    position: relative;
    margin: 60px auto 160px; }
  @media screen and (min-width: 1025px) {
    .megaMenu__content {
      top: 80px; } }

/* ---------------------------------------------------------------- */
/* ヘッダーメニュー */
/* ---------------------------------------------------------------- */
/* SPメニュー */
/* ----------------------------------- */
.admin-bar #navi_contents.navi_contents-on {
  padding-top: 46px !important; }

.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: hidden !important; }

#drawerNaviWrap {
  font-weight: 400;
  position: absolute;
  top: 0;
  right: 0; }
  #drawerNaviWrap .drawerNaviBtnWrap {
    width: 60px;
    height: 60px;
    position: relative;
    cursor: pointer; }
  #drawerNaviWrap .drawerNaviBtn {
    display: block;
    position: absolute;
    top: 14px;
    left: 50%;
    width: 30px;
    margin-left: -15px;
    height: 18px;
    transition: all .5s;
    z-index: 3; }
    #drawerNaviWrap .drawerNaviBtn:after {
      content: "MENU";
      position: absolute;
      bottom: -20px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 10px;
      font-weight: 400;
      color: #1A1311;
      font-family: p22-underground, sans-serif;
      font-weight: 900; }
    #drawerNaviWrap .drawerNaviBtn span {
      display: block;
      position: absolute;
      left: 0;
      width: 30px;
      height: 1px;
      background-color: #1A1311;
      transition: all .5s; }
      #drawerNaviWrap .drawerNaviBtn span:nth-child(1) {
        top: 0; }
      #drawerNaviWrap .drawerNaviBtn span:nth-child(2) {
        top: 8px; }
      #drawerNaviWrap .drawerNaviBtn span:nth-child(3) {
        bottom: 0; }
  #drawerNaviWrap .drawer-nav {
    display: block;
    position: fixed;
    top: 60px;
    right: -100vw;
    bottom: 0;
    width: 100vw;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 999;
    opacity: 0; }
    #drawerNaviWrap .drawer-nav .drawerInner {
      padding: 0; }
    #drawerNaviWrap .drawer-nav ul.arow-ul {
      margin: 0;
      padding: 35px 15px 100px;
      width: 100%;
      list-style: none; }
      #drawerNaviWrap .drawer-nav ul.arow-ul li {
        margin: 0;
        list-style: none;
        position: relative; }
        #drawerNaviWrap .drawer-nav ul.arow-ul li a {
          width: 100%;
          text-decoration: none;
          display: block;
          color: #1A1311;
          font-size: 16px;
          transition-duration: 0.2s;
          margin: 0 0 25px;
          line-height: 1; }
        #drawerNaviWrap .drawer-nav ul.arow-ul li.children {
          overflow: hidden; }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children > a {
            position: relative;
            background: none;
            margin: 0 0 20px; }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle {
            width: 40px;
            height: 40px;
            position: absolute;
            right: 0;
            top: 0px; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:after, #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:before {
              content: '';
              width: 16px;
              height: 1px;
              display: block;
              background: #1A1311;
              position: absolute;
              right: 8px;
              top: 10px; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:after {
              transform: rotate(-90deg);
              transition: all .5s; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:before {
              transform: rotate(-180deg); }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children.active .childrenToggle:after {
            transform: rotate(-180deg); }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu {
            display: none;
            margin-bottom: 30px; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li {
              margin-left: 10px; }
              #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li a {
                font-size: 14px;
                font-family: "Noto Sans JP", sans-serif;
                display: block;
                padding: 0 0 15px;
                margin: 0;
                display: flex;
                align-items: center; }
                #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li a::before {
                  content: "";
                  width: 10px;
                  height: 1px;
                  display: block;
                  background-color: #1A1311;
                  margin: 0 9px; }
              #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li.arow {
                border-bottom: 1px solid #1A1311;
                margin-bottom: 17px;
                background-image: url(images/common/arrow_right_small_black.svg);
                background-size: 14px 12px;
                background-repeat: no-repeat;
                background-position: top 4px right 10px; }
                #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li.arow a::before {
                  content: none !important; }
        #drawerNaviWrap .drawer-nav ul.arow-ul li .fa-external-link {
          padding-left: 5px; }
  #drawerNaviWrap #overlay {
    display: none;
    transition: all .5s; }
  #drawerNaviWrap.open#drawerNaviWrap {
    position: relative;
    right: 125px; }
  #drawerNaviWrap.open .drawerNaviBtnWrap {
    border: none;
    z-index: 10;
    width: 50px;
    height: 50px;
    display: none; }
  #drawerNaviWrap.open .drawerNaviBtn {
    top: 10px;
    left: 10px;
    margin-left: 0; }
  #drawerNaviWrap.open .drawerNavClose {
    position: fixed;
    width: 30px;
    height: 30px;
    right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 15px; }
    #drawerNaviWrap.open .drawerNavClose span {
      display: block;
      position: absolute;
      width: 37px;
      height: 1px;
      top: 4px;
      right: -3px;
      transition: all .5s;
      background: #1A1311; }
    #drawerNaviWrap.open .drawerNavClose span:nth-child(1) {
      transform: translateY(10px) rotate(137deg); }
    #drawerNaviWrap.open .drawerNavClose span:nth-child(2) {
      transform: translateY(10px) rotate(42deg); }
  #drawerNaviWrap.open .drawer-nav {
    right: 0;
    opacity: 1; }
  #drawerNaviWrap.open #overlay {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }






#fix_header{
	display: none;
}


/* ------------------------------------------ /
/ 自社ブランド紹介 4カラム　parts /
/ ------------------------------------------ */
.brand_link_wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px; }
  .brand_link_wrap a.brand_pagelink {
    text-decoration: none; }
    .brand_link_wrap a.brand_pagelink .brand_img {
      position: relative;
      width: 100%;
      padding-bottom: 31%;
      overflow: hidden; }
      .brand_link_wrap a.brand_pagelink .brand_img img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
        .brand_link_wrap a.brand_pagelink .brand_img img:hover {
          opacity: 1; }
    .brand_link_wrap a.brand_pagelink .brand_pagelink_txt {
      height: 100px;
      padding: 0 20px 20.5px;
      display: flex;
      align-items: flex-end; }
      .brand_link_wrap a.brand_pagelink .brand_pagelink_txt .txt {
        color: #fff;
        background-image: url("images/common/arrow_right_small_white.svg");
        background-size: 30px 25px;
        background-repeat: no-repeat;
        background-position: center right 10px;
        width: 100%; }
        .brand_link_wrap a.brand_pagelink .brand_pagelink_txt .txt p {
          font-size: 16px;
          font-weight: 700;
          line-height: 1.6; }
        .brand_link_wrap a.brand_pagelink .brand_pagelink_txt .txt .fontsub {
          margin: 0;
          line-height: 1; }
    .brand_link_wrap a.brand_pagelink._bk .brand_pagelink_txt {
      background-color: #031D03; }
      .brand_link_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
        width: 153px; }
      .brand_link_wrap a.brand_pagelink._bk .brand_pagelink_txt p {
        margin: 3px 0 0; }
    .brand_link_wrap a.brand_pagelink._sil .brand_pagelink_txt {
      background-color: #02384E; }
      .brand_link_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
        width: 163px; }
      .brand_link_wrap a.brand_pagelink._sil .brand_pagelink_txt p {
        margin: 3px 0 0; }
    .brand_link_wrap a.brand_pagelink._gr .brand_pagelink_txt {
      background-color: #024E34; }
      .brand_link_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
        width: 135px; }
      .brand_link_wrap a.brand_pagelink._gr .brand_pagelink_txt p {
        margin: 2px 0 0; }
    .brand_link_wrap a.brand_pagelink._food .brand_pagelink_txt {
      background-color: #3A170B; }
      .brand_link_wrap a.brand_pagelink._food .brand_pagelink_txt p {
        margin: 0; }
      .brand_link_wrap a.brand_pagelink._food .brand_pagelink_txt .fontsub {
        font-size: 32px; }
  @media screen and (min-width: 1025px) {
    .brand_link_wrap {
      grid-template-columns: 1fr 1fr;
      grid-gap: 30px; }
      .brand_link_wrap a.brand_pagelink .brand_pagelink_txt {
        height: 70px;
        padding: 0 50px 20.5px; }
      .brand_link_wrap a.brand_pagelink:hover .brand_pagelink_txt .txt {
        background-position: center right;
        transition: all ease .3s; } }

.megaMenu__content {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  background-color: #fff;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 7;
  height: 100vh;
  overflow: auto; }
  .megaMenu__content .container {
    position: relative;
    margin: 60px auto 160px; }
  @media screen and (min-width: 1025px) {
    .megaMenu__content {
      top: 80px; } }

/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  @media print, screen and (min-width: 768px) {
    .container {
      max-width: 750px;
      width: 100%;
      transition: ease-in .1s; } }
  @media print, screen and (min-width: 992px) {
    .container {
      max-width: 970px;
      transition: ease-in .1s; } }
  @media print, screen and (min-width: 1200px) {
    .container {
      max-width: 1170px;
      transition: ease-in .1s; } }

@media print, screen and (min-width: 768px) {
  .outsidePadding {
    padding-left: 15px;
    padding-right: 15px; } }
@media print, screen and (min-width: 992px) {
  .outsidePadding {
    padding-left: 45px;
    padding-right: 45px; } }



#main_visual{
	display: none;
}
#post_slider{
	display: none;
}
#sidebar{
	display: none;
}

@media (min-width: 960px) {
  .-sidebar-on .l-content {
    display: inherit;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

/*banner-btn 周りの英字はくるくる回るやつ*/
a.banner-btn {
  display: block;
  width: 120px;
  height: 120px;
  position: relative;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700; }
  a.banner-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 120px;
    background: url("images/common/circle_whitecab.svg") no-repeat top left/cover;
    animation: rotate-anime 20s linear infinite; }
  a.banner-btn .banner-txt_inr {
    border: 1px solid #1A1311;
    width: 92px;
    height: 92px;
    border-radius: 50px;
    position: absolute;
    top: 14px;
    left: 14px;
    text-align: center;
    display: block;
    background-color: #1A1311;
    background-image: url("images/common/whitecab_white.svg");
    background-position: top 11px center;
    background-repeat: no-repeat;
    background-size: 30px; }
    a.banner-btn .banner-txt_inr .banner-txt {
      margin-top: -18px; }
      a.banner-btn .banner-txt_inr .banner-txt .txt {
        display: inline-block;
        line-height: 1.4;
        background-image: url("images/common/arrow_white.svg");
        background-position: bottom 5px left 34px;
        background-repeat: no-repeat;
        background-size: 10px 6px;
        font-family: "Noto Sans JP", sans-serif;
        padding-bottom: 20px; }
  a.banner-btn.bnr-following {
    position: fixed;
    bottom: -200px;
    right: 15px;
    z-index: 3; }
    a.banner-btn.bnr-following .banner-txt_inr .banner-txt {
      margin-top: 45px; }
  @media screen and (min-width: 1025px) {
    a.banner-btn:hover {
      color: #1A1311; }
      a.banner-btn:hover .banner-txt_inr {
        background-color: #fff;
        background-image: url("images/common/whiteccab_black.svg"); }
        a.banner-btn:hover .banner-txt_inr .banner-txt .txt {
          background-image: url("images/common/arrow_black.svg"); }
    a.banner-btn.bnr-following {
      right: 19px; } }

@keyframes rotate-anime {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }


/* ------------------------------------------ /
/scrolldown/
/ ------------------------------------------ */
.scrolldown {
  transform: translateY(1px);
  animation: arrowmove 1s ease-in-out infinite;
  margin-top: -50px;
  margin-left: 15px;
  height: 100px; }
  .scrolldown img {
    transform: rotate(90deg); }

@keyframes arrowmove {
  0% {
    transform: translateY(1px); }
  50% {
    transform: translateY(10px); }
  100% {
    transform: translateY(1px); } }
/* ------------------------------------------ /
/ topメインコピーアニメーション /
/ ------------------------------------------ */
.active_text,
.active_text::after {
  animation-delay: .8s;
  animation-iteration-count: 1;
  animation-duration: 800ms;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }

.active_text {
  position: relative;
  animation-name: clip-text;
  white-space: nowrap;
  cursor: default; }
  .active_text::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1A1311;
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    animation-name: text-revealer; }

@keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0); }
  to {
    clip-path: inset(0 0 0 0); } }
@keyframes text-revealer {
  0%, 50% {
    transform-origin: 0 50%; }
  60%, 100% {
    transform-origin: 100% 50%; }
  60% {
    transform: scaleX(1); }
  100% {
    transform: scaleX(0); } }
/* ------------------------------------------ /
/scroll_up 下から上へ/
/ ------------------------------------------ */
.home .scroll_up,
.home .scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out; }
.home .scroll_up {
  transform: translateY(30px);
  opacity: 0; }
.home .scroll_up.on {
  transform: translateY(0);
  opacity: 1.0; }
.home .scroll_left {
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0; }
.home .scroll_left.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0); }
.home .timing02 {
  transition-delay: .2s; }
.home .timing03 {
  transition-delay: .4s; }
.home .timing04 {
  transition-delay: .6s; }
.home .timing05 {
  transition-delay: .8s; }
.home .reveal-textup.on {
  animation-name: clip-text;
  animation-delay: .2s;
  animation-iteration-count: 1;
  animation-duration: .8s;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out; }
.home .text_up {
  animation: text-up .8s ease-in-out 0s 1 normal; }
@keyframes text-up {
  0% {
    transform: translateY(30px);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1.0; } }
ul {
  list-style: none;
  padding: 0;
  margin: 0; }

#indexPage p {
  text-align: justify;
  text-justify: inter-ideograph;
  margin-bottom: 35px; }
#indexPage #mainccArea {
  max-width: 1250px;
  padding: 22px 15px 0;
  margin: 0 auto; }
  #indexPage #mainccArea .title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px; }
    #indexPage #mainccArea .title.title-icon::before {
      margin-bottom: 0; }
  #indexPage #mainccArea .cctxt .cc {
    font-size: 45px;
    font-weight: 900;
    line-height: 60px;
    margin-bottom: -10px; }
    #indexPage #mainccArea .cctxt .cc .scrolldown,
    #indexPage #mainccArea .cctxt .cc .banner-btn {
      display: none; }
#indexPage #aboutArea {
  padding: 110px 0 0;
  background: linear-gradient(to bottom, transparent, #F5F5F5 80%); }
  #indexPage #aboutArea .titleh2 {
    margin: 0 0 20px; }
    #indexPage #aboutArea .titleh2 + .text {
      font-size: 24px;
      font-weight: 700;
      margin: 0 0 30px; }
  #indexPage #aboutArea .about_wrap_bk {
    padding-bottom: 90px;
    background-image: url("images/common/whitecab_white.svg");
    background-repeat: no-repeat;
    background-size: 480px;
    background-position: left bottom -38px; }
#indexPage #serviceArea {
  padding: 0 0 90px;
background-color: #1A1311;}
  #indexPage #serviceArea .titleh2 {
    margin: 0 0 21px;
    color: #fff; }
    #indexPage #serviceArea .titleh2 + p {
      font-size: 22px;
      font-weight: 700;
      color: #fff;
      margin: 0; }
  #indexPage #serviceArea ._bc_color {
    position: relative;
    z-index: 0; }
    #indexPage #serviceArea ._bc_color::after {
      content: "";
      background-color: #1A1311;
      margin: 0 calc(50% - 50vw);
      padding: 4px calc(50vw - 50% + 8px);
      width: 100vw;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -5; }
  #indexPage #serviceArea .service_titlebox {
    padding: 95px 0 30px; }
  #indexPage #serviceArea .service_pagelink_wrap {
    counter-reset: number 0;
    margin-bottom: 40px; }
    #indexPage #serviceArea .service_pagelink_wrap .service_pagelink {
      border-bottom: 1px solid #707070; }
      #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-en {
        font-size: 52px;
        line-height: 1; }
      #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-jp {
        font-size: 18px;
        font-weight: bold; }
      #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a {
        background-image: url("images/common/arrow_right_small_black.svg");
        background-repeat: no-repeat;
        background-position: center right;
        background-size: 30px 25.5px;
        color: #1A1311;
        text-decoration: none;
        display: flex;
        flex-direction: column;
        padding: 30px 50px 30px 0; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a::before {
          counter-increment: number 1;
          content: counter(number,decimal-leading-zero) " ";
          font-family: p22-underground, sans-serif;
          font-weight: 400;
          font-size: 22px; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a.bc_color::after {
          content: none; }
#indexPage #brandArea {
  padding: 0 0 0;
  background-color: #F5F5F5; }
  #indexPage #brandArea .titleh2 {
    margin: 0 0 20px; }
    #indexPage #brandArea .titleh2 + p {
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 30px; }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink {
    text-decoration: none; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img {
      position: relative;
      width: 100%;
      padding-bottom: 60%;
      overflow: hidden; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt {
      color: #fff; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt p {
        font-size: 18px;
        font-weight: 700;
        font-family: p22-underground, sans-serif; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt p span {
          display: block;
          font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt .fontsub {
        margin: 0;
        line-height: 1; }
#indexPage #worksArea {
  padding: 95px 0 60px; }
  #indexPage #worksArea .postListWrap {
    margin-bottom: 40px; }
#indexPage #faqArea {
  margin-bottom: -80px; }
  #indexPage #faqArea .faq-btn {
    width: 120px;
    height: 160px;
    border-radius: 70px;
    background: linear-gradient(to bottom, #00BAC9, #8E2986);
    color: #fff;
    text-decoration: none;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    margin: 0 auto;
    transition: all ease .3s;
    font-family: p22-underground, sans-serif;
    font-weight: 600; }
    #indexPage #faqArea .faq-btn::before {
      content: "";
      background-image: url("images/common/arrow_right.svg");
      background-repeat: no-repeat;
      background-size: 30px;
      position: absolute;
      bottom: 10px;
      right: 0;
      display: block;
      width: 30px;
      height: 30px;
      transition: all ease .3s; }
#indexPage #topicsArea {
  padding: 145px 0 90px;
  background-color: #F5F5F5; }
  #indexPage #topicsArea .titleh2 {
    margin: 0 -10px 15px; }
  #indexPage #topicsArea .topics_pc {
    margin-bottom: 40px; }
@media screen and (min-width: 768px) {
  #indexPage #brandArea {
    padding: 0 0 0; }
    #indexPage #brandArea .titleh2 {
      margin: 0 0 -103px; }
      #indexPage #brandArea .titleh2 + p {
        font-size: 28px;
        text-align: right;
        margin-bottom: 50px; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink {
      text-decoration: none;
      position: relative;
      display: block; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 1; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img {
        padding-bottom: 0;
        height: 300px; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img img {
          transform: scale(1);
          transition: all ease .3s; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt {
        position: absolute;
        z-index: 3;
        left: 0;
        width: 100%;
        top: 85px !important;
        display: block;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-right: 0;
        margin-left: 0;
        font-size: 52px !important; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt {
          max-width: 1170px;
          margin-right: auto;
          margin-left: auto;
          padding-left: 15px;
          padding-right: 15px; }
          #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt p {
            font-size: 52px; }
            #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt p span {
              display: block;
              font-size: 22px; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink:hover .brand_img img {
        transform: scale(1.2);
        transition: all ease .3s; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk::before {
        background-color: rgba(26, 19, 17, 0.8); }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt {
        top: 90px; }
        #_indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
          width: 382px; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt p {
          margin: 1px 0 0; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil::before {
        background-color: rgba(2, 56, 78, 0.8); }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt {
        top: 103px; }
        #_indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
          width: 419px; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt p {
          margin: 6px 0 0; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr::before {
        background-color: rgba(2, 78, 52, 0.8); }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt {
        top: 100px; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
          width: 500px; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt p {
          margin: 2px 0 0; }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food::before {
        background-color: rgba(36, 12, 5, 0.8); }
      #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt {
        top: 95px; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt p {
          margin: 0; }
        #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt .fontsub {
          font-size: 64px; }
  #indexPage #topicsArea {
    padding: 200px 0 180px;
    background-color: #F5F5F5; }
    #indexPage #topicsArea .topics_pc {
      display: grid;
      grid-template-columns: 160px auto;
      grid-gap: 60px;
      margin-bottom: 50px; }
      #indexPage #topicsArea .topics_pc .topics_pc_l {
        grid-column: 1/2; }
      #indexPage #topicsArea .topics_pc .topics_pc_r {
        grid-column: 2/3; }
      #indexPage #topicsArea .topics_pc .tab-area {
        grid-template-columns: 1fr;
        justify-items: start; }
        #indexPage #topicsArea .topics_pc .tab-area .tab {
          width: 100px; } }
@media screen and (min-width: 1025px) {
  #indexPage #mainccArea .title {
    font-size: 42px; }
    #indexPage #mainccArea .title.title-icon::before {
      width: 48px;
      height: 48px; }
  #indexPage #mainccArea .cctxt .cc {
    font-size: 133px;
    line-height: 150px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: -5px; }
    #indexPage #mainccArea .cctxt .cc .scrolldown,
    #indexPage #mainccArea .cctxt .cc .banner-btn {
      display: block; }
    #indexPage #mainccArea .cctxt .cc .banner-btn {
      margin-left: 15px; }
  #indexPage #aboutArea {
    padding: 185px 0 0; }
    #indexPage #aboutArea .titleh2 {
      margin: 0 0 23px; }
      #indexPage #aboutArea .titleh2 + p {
        font-size: 28px;
        margin: 0; }
    #indexPage #aboutArea .about_wrap {
      padding-bottom: 58px;
      display: grid;
      grid-template-columns: 400px auto;
      grid-template-rows: auto auto;
      grid-gap: 0 20px; }
      #indexPage #aboutArea .about_wrap .titleh2 {
        grid-column: 1/3;
        grid-row: 1/2; }
        #indexPage #aboutArea .about_wrap .titleh2 + .text {
          grid-column: 1/2;
          grid-row: 2/3; }
      #indexPage #aboutArea .about_wrap .about_txt {
        grid-column: 2/3;
        grid-row: 2/3;
        font-size: 16px; }
        #indexPage #aboutArea .about_wrap .about_txt + p {
          margin: 0 0 60px; }
  #indexPage #serviceArea {
    padding: 0;
    background-color: #1A1311; }
    #indexPage #serviceArea .titleh2 {
      margin: 0 0 21px; }
      #indexPage #serviceArea .titleh2 + p {
        font-size: 22px;
        font-weight: 700; }
    #indexPage #serviceArea .bc_color::after {
      content: none; }
    #indexPage #serviceArea .serviceArea_wrap {
      display: grid;
      grid-template-columns: auto 240px;
      grid-template-rows: auto auto; }
      #indexPage #serviceArea .serviceArea_wrap .service_titlebox {
        padding: 185px 0 50px;
        grid-column: 1/2;
        grid-row: 1/2; }
      #indexPage #serviceArea .serviceArea_wrap .service_pagelink_wrap {
        grid-column: 1/3;
        grid-row: 2/3; }
      #indexPage #serviceArea .serviceArea_wrap .service_btn {
        grid-column: 2/3;
        grid-row: 1/2;
        display: flex;
        align-items: flex-end;
        padding-bottom: 50px; }
        #indexPage #serviceArea .serviceArea_wrap .service_btn::after {
          content: ""; }
    #indexPage #serviceArea .service_pagelink_wrap {
      margin-bottom: 0; }
      #indexPage #serviceArea .service_pagelink_wrap .service_pagelink {
        border-bottom: 0;
        position: relative;
        z-index: 0; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink::after {
          content: "";
          background-color: #fff;
          margin: 0 calc(50% - 50vw);
          padding: 4px calc(50vw - 50% + 8px);
          width: 100vw;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          z-index: -5;
          transition: all ease .3s; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:hover::after {
          background-color: #1A1311;
          transition: all ease .3s; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:hover > a {
          background-image: url("images/common/arrow_rihgt_large_white.svg");
          background-position: center right;
          background-size: 100px 85px;
          background-position: center right;
          color: #fff; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-en {
          font-size: 100px; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-jp {
          font-size: 28px; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a {
          background-image: url("images/common/arrow_rihgt_large.svg");
          background-position: center right 30px;
          background-size: 100px 85px;
          padding: 60px 120px 60px 0; }
          #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a::before {
            font-size: 32px; }
        #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:not(:last-child) a {
          position: relative; }
          #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:not(:last-child) a::after {
            content: "";
            width: 110%;
            height: 1px;
            background: #707070;
            display: block;
            position: absolute;
            bottom: 0;
            left: 50%;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  #indexPage #worksArea {
    padding: 185px 0 105px; }
    #indexPage #worksArea .postListWrap {
      margin-bottom: 50px; }
  #indexPage #faqArea .faq-btn:hover, #indexPage #faqArea .faq-btn:focus {
    background: linear-gradient(to bottom, #8E2986, #00BAC9);
    transition: all ease .3s; }
    #indexPage #faqArea .faq-btn:hover::before, #indexPage #faqArea .faq-btn:focus::before {
      right: -10px;
      transition: all ease .3s; } }
@media screen and (max-width: 767px) {
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt {
    height: auto;
    padding: 20px 15px 30px !important;
    display: flex;
    align-items: flex-end; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt {
      color: #fff;
      background-image: url("images/common/arrow_right_small_white.svg");
      background-size: 14px 12px;
      background-repeat: no-repeat;
      background-position: center right;
		padding-right: 30px;
      width: 100%; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt.container {
      max-width: initial; }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt {
    background-color: #031D03; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
      width: 212.5px; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt p {
      margin: 3px 0 0; }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt {
    background-color: #02384E; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
      width: 244.5px; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt p {
      margin: 6px 0 0; }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt {
    background-color: #024E34; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
      width: 225px; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt p {
      margin: 2px 0 0; }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt {
    background-color: #3A170B; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt p {
      margin: 4px 0 0; }
    #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt .fontsub {
      font-size: 40px; }
  #indexPage #topicsArea .tab-area {
    margin-bottom: 20px; } }




@media screen and (max-width: 767px) {
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
    width: 212.5px;
  }
}
@media screen and (max-width: 767px) {
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
    width: 147.5px;
  }
}
@media screen and (max-width: 767px) {
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
    width: 270.5px;
  }
}

/* ---------------------------------------------------------------- */
/* メインスライダー  */
/* ---------------------------------------------------------------- */
#slider-Area {
  position: relative;
  overflow: hidden; }
  #slider-Area .toplogo {
    margin-top: 82px; }
  #slider-Area .swiper-container {
    width: 100%;
    max-width: 430px;
    border-radius: 24px 0 0 24px;
    margin: 0 0 0 auto; }
#slider-Area .swiper-container {
  overflow: hidden !important;
  
}
    #slider-Area .swiper-container .swiper-wrapper {
      transition-timing-function: linear; }
      #slider-Area .swiper-container .swiper-wrapper .swiper-slide .slide-img {
        position: relative;
        width: 100%;
        height: 180px;
        overflow: hidden; }
        #slider-Area .swiper-container .swiper-wrapper .swiper-slide .slide-img img {
          position: absolute;
          width: 100%;
          height: 100%;
          object-fit: cover; }
  @media print, screen and (max-width: 767px) {
    #slider-Area .toplogo {
      margin-top: 76px;
      margin-bottom: 18px; }
      #slider-Area .toplogo img {
        margin: 0 15px 0 auto; }
	
    #slider-Area .swiper-container {
      max-width: 330px; } }


.topbc-coloron {
  animation: bg-color 20s ease 1s infinite forwards;
}

.p-fixBtnWrap{
	display: none;
}


/* ---------------------------------------------------------------- */
/* HOME */
/* ---------------------------------------------------------------- */
.titleh2 {
  font-size: 32px;
  font-family: p22-underground, sans-serif;
  font-weight: 600;
  line-height: 1; }

.title-icon {
  display: flex;
  align-items: center; }
  .title-icon::before {
    content: "";
    width: 32px;
    height: 32px;
    animation: movecolor 20s ease infinite forwards;
    border-radius: 50px;
    margin-right: 8px;
    display: block;
    margin-bottom: 10px;
    background: linear-gradient(-45deg, #8E2986, #00BAC9, #310693, #ADB407, #666666);
    background-size: 400% 400%; }
  .title-icon.color2::before {
    background: linear-gradient(-45deg, #B40735, #06938E, #B407A0, #068E93);
    background-size: 400% 400%; }

@keyframes movecolor {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
/*topbc-coloron ABOUTの下まで（SERVICEの上まで）背景白を中心としたグラデーション変化*/
.topbc-coloron {
  animation: bg-color 20s ease 1s infinite forwards; }

@keyframes bg-color {
  0% {
    background-color: #ffffff; }
  20% {
    background-color: #f5f5f5; }
  40% {
    background-color: #fdf8f8; }
  60% {
    background-color: #fdfdf8; }
  80% {
    background-color: #f8fdfd; }
  90% {
    background-color: #f9f8fd; }
  100% {
    background-color: #f9fdf8; } }
/*banner-btn 周りの英字はくるくる回るやつ*/
a.banner-btn {
  display: block;
  width: 120px;
  height: 120px;
  position: relative;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700; }
  a.banner-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 120px;
    background: url("images/common/circle_whitecab.svg") no-repeat top left/cover;
    animation: rotate-anime 20s linear infinite; }
  a.banner-btn .banner-txt_inr {
    border: 1px solid #1A1311;
    width: 92px;
    height: 92px;
    border-radius: 50px;
    position: absolute;
    top: 14px;
    left: 14px;
    text-align: center;
    display: block;
    background-color: #1A1311;
    background-image: url("images/common/whitecab_white.svg");
    background-position: top 11px center;
    background-repeat: no-repeat;
    background-size: 30px; }
    a.banner-btn .banner-txt_inr .banner-txt {
      margin-top: -18px; }
      a.banner-btn .banner-txt_inr .banner-txt .txt {
        display: inline-block;
        line-height: 1.4;
        background-image: url("images/common/arrow_white.svg");
        background-position: bottom 5px left 34px;
        background-repeat: no-repeat;
        background-size: 10px 6px;
        font-family: "Noto Sans JP", sans-serif;
        padding-bottom: 20px; }
  a.banner-btn.bnr-following {
    position: fixed;
    bottom: -200px;
    right: 15px;
    z-index: 3; }
    a.banner-btn.bnr-following .banner-txt_inr .banner-txt {
      margin-top: 45px; }
  @media screen and (min-width: 1025px) {
    a.banner-btn:hover {
      color: #1A1311; }
      a.banner-btn:hover .banner-txt_inr {
        background-color: #fff;
        background-image: url("images/common/whiteccab_black.svg"); }
        a.banner-btn:hover .banner-txt_inr .banner-txt .txt {
          background-image: url("images/common/arrow_black.svg"); }
    a.banner-btn.bnr-following {
      right: 19px; } }

@keyframes rotate-anime {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }





/* ----------------------------------- */
/* ボタン */
/* ----------------------------------- */
.btnWrap {
  margin: 30px 0; }
  .btnWrap.colomn2 {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    grid-gap: 30px 60px; }

.btn {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  color: #1A1311;
  text-decoration: none; }

.btn.type1 {
  width: 240px;
  height: 60px;
  background-color: #fff;
  font-family: p22-underground, sans-serif;
  font-weight: 600; }

.btn.type1 svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.btn.type1 svg rect {
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  stroke: #1A1311;
  stroke-width: 2;
  stroke-dasharray: 232px, 21px;
  stroke-dashoffset: 58px; }

.btn.type1 span {
  color: #1A1311; }

.btn.arrow:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: .3s ease-in; }
.btn.arrowReverse:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #1A1311;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: .3s ease-in; }
.btn.reverse {
  text-decoration: none;
  color: #1A1311;
  background: #fff;
  border-color: #1A1311; }
.btn.btnLeft {
  margin: 0 auto; }
.btn.btnRight {
  margin: 0 auto; }
.btn.btnCenter {
  margin-left: auto;
  margin-right: auto; }
.btn.btnFull {
  max-width: none; }
.btn.type2 {
  background: #CA1633;
  border-color: #CA1633;
  color: #fff; }
  .btn.type2:after {
    color: #fff; }
  .btn.type2:hover {
    background: #1A1311;
    border-color: #1A1311;
    color: #fff; }
    .btn.type2:hover:after {
      color: #fff; }

@media print, screen and (min-width: 768px) {
  .btnWrap {
    margin: 60px 0; }
    .btnWrap.colomn2 {
      grid-template-columns: repeat(2, 240px); }

  .btn.type1:hover svg rect {
    stroke-dashoffset: 284px; }

  .btn.arrow:hover:after, .btn.arrow:focus:after {
    color: #1A1311; }
  .btn.arrowReverse:hover:after, .btn.arrowReverse:focus:after {
    color: #fff; }
  .btn.reverse:hover, .btn.reverse:focus {
    background: #1A1311;
    color: #fff; }
  .btn.btnLeft {
    margin: 0 auto 0 0; }
  .btn.btnRight {
    margin: 0 0 0 auto; }
  .btn.btnCenter {
    margin-left: auto;
    margin-right: auto; }
  .btn.btnFull {
    max-width: none; } }


/* ------------------------------------------ /
/ タブ切り替え /
/ ------------------------------------------ */
.tab-area {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 8px; }
  .tab-area .tab {
    color: #1A1311;
    background: #fff;
    font-size: 14px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    font-family: p22-underground, sans-serif;
    font-weight: 600;
    line-height: 1; }
  .tab-area .tab.active {
    color: #fff;
    background: #1A1311; }
  @media screen and (min-width: 1025px) {
    .tab-area .tab:hover {
      color: #fff;
      background: #1A1311;
      transition: all ease .3s; } }

.content-area .content {
  display: none; }
.content-area .content.show {
  display: block; }

.fontsub {
  font-family: p22-underground, sans-serif;
  font-weight: 600;
}

/* ---------------------------------------------------------------- */
/* CONTACT  */
/* ---------------------------------------------------------------- */
.contact_area {
  background: #1A1311;
  padding: 95px 0 90px; }
  .contact_area .contact_area_wrap .contact_title {
    color: #fff;
    margin-bottom: 40px; }
    .contact_area .contact_area_wrap .contact_title .titleh2 {
      margin: 0 0 7px; }
    .contact_area .contact_area_wrap .contact_title p {
      font-size: 18px;
      font-weight: 700;
      margin: 0; }
  @media screen and (min-width: 767px) {
    .contact_area {
      padding: 0; }
      .contact_area .contact_area_wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 240px; }
        .contact_area .contact_area_wrap .contact_title {
          margin-bottom: 0; } }

/* ---------------------------------------------------------------- */
/* フッターエリア */
/* ---------------------------------------------------------------- */
#footer {
  clear: both; }
  #footer .container {
    position: relative; }
  #footer #footerCnt {
    margin-bottom: 75px; }
    #footer #footerCnt .company-name {
      font-size: 22px;
      font-weight: 700;
      margin: 0 0 14px; }
    #footer #footerCnt address {
      line-height: 2; }
  #footer #copyright {
    text-align: center;
    margin-top: 25px; }
    #footer #copyright p {
      margin: 0;
      font-weight: 400; }
  @media screen and (min-width: 1025px) {
    #footer {
      padding: 75px 0 158px; }
      #footer #footerCnt {
        margin-bottom: 60px; }
      #footer #copyright {
        text-align: right;
        margin-top: -25px; }
      #footer #footerNaviWrap {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-column-gap: 19.5px;
        margin-bottom: 30px; }
        #footer #footerNaviWrap .naviBox .footerNavi ul {
          margin: 0;
          padding: 0; }
          #footer #footerNaviWrap .naviBox .footerNavi ul li {
            display: block; }
            #footer #footerNaviWrap .naviBox .footerNavi ul li a {
              text-decoration: none;
              font-size: 14px;
              color: #543F33; }
          #footer #footerNaviWrap .naviBox .footerNavi ul li.children .sub-menu li {
            margin-bottom: 15px; }
            #footer #footerNaviWrap .naviBox .footerNavi ul li.children .sub-menu li a {
              font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
              display: flex;
              align-items: center; }
              #footer #footerNaviWrap .naviBox .footerNavi ul li.children .sub-menu li a::before {
                content: "";
                width: 10px;
                height: 1px;
                display: block;
                background-color: #1A1311;
                margin: 0 9px; }
        #footer #footerNaviWrap .naviBox .footerNavi > ul.arow-ul > li {
          margin-bottom: 27px; }
          #footer #footerNaviWrap .naviBox .footerNavi > ul.arow-ul > li > a {
            background-position: top 4px right 10px; }
            #footer #footerNaviWrap .naviBox .footerNavi > ul.arow-ul > li > a:hover {
              background-position: top 4px right 0; } }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    #footer {
      padding: 75px 0 85px; }
      #footer .sns_wrap {
        justify-content: center; }
      #footer #footerNaviWrap {
        display: none; } }
  @media screen and (max-width: 767px) {
    #footer {
      padding: 90px 0 150px; }
      #footer .sns_wrap {
        justify-content: center; }
      #footer #footerNaviWrap {
        display: none; } }


/* ---------------------------------------------------------------- */
/* ページトップ ボタン */
/* ---------------------------------------------------------------- */
#pagetopArea {
  position: absolute;
  right: 15px;
  top: 46px; }
  @media screen and (min-width: 1025px) {
    #pagetopArea {
      top: 32px; } }


/* ---------------------------- */
/* sns リンク */
/* ---------------------------- */
.sns_wrap {
  list-style: none;
  display: grid;
  grid-column-gap: 19px;
  margin: 0;
  padding-left: 0;
  grid-template-columns: repeat(2, 24px); }
  .sns_wrap li {
    width: 24px; }



#footer address {
  font-style: normal;
}

.top-about{
	margin: 30px 0 20px;
	position: relative;
}
.top-about img{
	width: 100%;
}


.about_swiper_area{
	padding-top: 50px;
}
.about_swiper_area h3{
	text-align: center;
	font-size: 24px;
}

.swiper-button-prev_1{
	background: url("images/common/swiper_prev.svg") no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  left: -17px !important;
	transition: all ease .3s !important;
}

.swiper-button-next_1{
	background: url("images/common/swiper_next.svg") no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  right: -17px !important;
	transition: all ease .3s !important;
}
.swiper-button-prev_1::after,.swiper-button-next_1::after{
	content: none !important;
}

@media screen and (min-width: 768px) {
.swiper-button-prev_1{
  left: -20px !important;
}
.swiper-button-prev_1:hover{
	background: url("images/common/swiper_prev.svg") no-repeat !important;
	background-position: center !important;
	background-size: 40px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  left: -20px !important;
}
.swiper-button-next_1{
  right: -20px !important;
}
.swiper-button-next_1:hover{
	background: url("images/common/swiper_next.svg") no-repeat !important;
	background-position: center !important;
	background-size: 40px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  right: -20px !important;
}
}

#bannerArea{
	background: #F8F8F8;
	padding: 60px;
}

.top-banner{
	margin: 0 0 0;
	position: relative;
}
.top-banner img{
	width: 100%;
}

.swiper-button-prev_2{
	background: url("images/common/swiper_prev.svg") no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  left: -17px !important;
	transition: all ease .3s !important;
}

.swiper-button-next_2{
	background: url("images/common/swiper_next.svg") no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  right: -17px !important;
	transition: all ease .3s !important;
}
.swiper-button-prev_2::after,.swiper-button-next_2::after{
	content: none !important;
}

@media screen and (min-width: 768px) {
.swiper-button-prev_1{
  left: -20px !important;
}
.swiper-button-prev_2:hover{
	background: url("images/common/swiper_prev.svg") no-repeat !important;
	background-position: center !important;
	background-size: 40px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  left: -20px !important;
}
.swiper-button-next_2{
  right: -20px !important;
}
.swiper-button-next_2:hover{
	background: url("images/common/swiper_next.svg") no-repeat !important;
	background-position: center !important;
	background-size: 40px !important;
	width: 40px !important;
	height: 40px !important;
	top: 50% !important;
  margin-top: -4px !important;
  right: -20px !important;
}
}
	
.pd_text{
	padding-top: 10px;
}
.title_c_top{
	text-align: center;
	font-size: 24px;
}

/* 資金調達のお役立ち情報リストベース */
/* ---------------------------- */
.works_postListWrap{
	padding: 30px 0 40px;
}
.worksArea_w{
	padding: 0 0 80px;
}
.works_postListWrap .postBox .postBox_txt {
    grid-column: 2/3;
    color: #1A1311;
    text-decoration: none;
    background-image: url(images/common/arrow_right_small_black.svg);
    background-size: 14px 12px;
    background-repeat: no-repeat;
    background-position: center right;
    padding-right: 27px;
padding: 20px 0;}
@media screen and (min-width: 768px) {
  .works_postListWrap .postBox {
    grid-column-gap: 30px;
    margin-bottom: 10px; }
    .works_postListWrap .postBox .postBox_txt {
      background-position: center right 10px;
      display: flex;
      align-items: center;
      border-bottom: 1px solid #707070; }
      .works_postListWrap .postBox .postBox_txt time {
        margin-right: 29px; }
      .works_postListWrap .postBox .postBox_txt:hover, .postListWrap-topics .postBox .postBox_txt:focus {
        background-position: center right; } }
@media screen and (max-width: 767px) {
  .works_postListWrap .postBox {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070; }
    .works_postListWrap .postBox .postBox_txt {
		display: block;
      grid-column: 2/3; }
      .works_postListWrap .postBox .postBox_txt time {
        margin-bottom: 7px; } }

/* トッピクスリストベース */
/* ---------------------------- */
.postListWrap-topics .postBox {
  display: grid;
  grid-template-columns: 120px auto;
  grid-column-gap: 12px; }
  .postListWrap-topics .postBox .thumbnail {
    grid-template: 1/2; }
  .postListWrap-topics .postBox .postBox_txt {
    grid-column: 2/3;
    color: #1A1311;
    text-decoration: none;
    background-image: url(images/common/arrow_right_small_black.svg);
    background-size: 14px 12px;
    background-repeat: no-repeat;
    background-position: center right;
    padding-right: 27px; }
@media screen and (min-width: 768px) {
  .postListWrap-topics .postBox {
    grid-column-gap: 30px;
    margin-bottom: 10px; }
    .postListWrap-topics .postBox .postBox_txt {
      background-position: center right 10px;
      display: flex;
      align-items: center;
      border-bottom: 1px solid #707070; }
      .postListWrap-topics .postBox .postBox_txt time {
        margin-right: 29px; }
      .postListWrap-topics .postBox .postBox_txt:hover, .postListWrap-topics .postBox .postBox_txt:focus {
        background-position: center right; } }
@media screen and (max-width: 767px) {
  .postListWrap-topics .postBox {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070; }
    .postListWrap-topics .postBox .postBox_txt {
      grid-column: 2/3; }
      .postListWrap-topics .postBox .postBox_txt time {
        margin-bottom: 7px; } }

.sp_br{
	display: none;
}
@media screen and (max-width: 767px) {
.sp_br{
	display: block;
}
}


.grecaptcha-badge{
	display: none !important;
}







/* デザインルール追加  */

.page .c-pageTitle{
	position: relative;
}
.page .c-pageTitle__subTitle{
	color: var(--light_gray, #F2F2F2) !important;
	leading-trim: both !important;
	text-edge: cap !important;
	font-family: "P22 Underground" !important;
	font-size: 120px !important;
	font-style: normal !important;
	font-weight: 750 !important;
	line-height: 100% !important; /* 120px */
	position: relative!important;
}
.page .c-pageTitle::before{
	color: var(--light_gray, #F2F2F2) !important;
	leading-trim: both !important;
	text-edge: cap !important;
	font-family: "P22 Underground", sans-serif;
	font-size: 120px !important;
	font-style: normal !important;
	font-weight: 750 !important;
	line-height: 100% !important; /* 120px */
	position: relative!important;
}
.page .c-pageTitle__inner{
	color: var(--text_color, #1A1311)!important;
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
	font-size: 26px!important;
	font-style: normal!important;
	font-weight: 700!important;
	line-height: 100%!important; /* 26px */
	position: relative;
	z-index: 5;
	margin-top: -47px;
}
@media screen and (max-width: 767px) {
.page .c-pageTitle__subTitle{
	font-size: 56px !important;
}
.page .c-pageTitle::before{
	font-size: 56px !important;
}	
.page .c-pageTitle__inner{
	font-size: 20px !important;
	margin-top: -33px;
}
}

.page .post_content{
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
	padding: 0 !important;
}
.page .post_content h2{
	margin: 26px 0 26px !important;
	padding: 0 !important;
	background: none !important;
	color: var(--text_color, #1A1311) !important;
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 32px !important;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 44.8px */
}
.page .post_content h2:first-child{
	margin: 0 0 26px !important;
}
.page .post_content h2::before{
	display: none !important;
}
.page .post_content h2.center{
	text-align: center !important;
}

.page .post_content h3{
	margin: 22px 0 22px !important;
	padding: 0 0 0 48px !important;
	background: none !important;
	color: var(--text_color, #1A1311) !important;
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 26px !important;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 44.8px */
}
.page .post_content h3::before{
	content: "";
  	width: 32px !important;
  	height: 2px !important;
  	background: #1A1311 !important;
	top: 16px;
	left: 0;
}
.page .post_content h3.center{
	text-align: center !important;
}

.page .post_content h4{
	margin: 20px 0 20px !important;
	padding: 0 0 8px 0 !important;
	background: none !important;
	color: var(--text_color, #1A1311) !important;
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 22px !important;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 44.8px */
	border-bottom: 1px solid #D5D5D5;
	position: relative;
	padding-top: 12px !important;
}
.page .post_content h4::before{
	position: absolute;
	content: "";
  	width: 64px !important;
  	height: 2px !important;
  	background: #1A1311;
	bottom: -1px;
	left: 0;
}
.page .post_content h4.center{
	text-align: center !important;
}
.page .post_content h4.center::before{
  	margin-left: -32px;
	left: 50%;
}
.page .post_content h5{
	margin: 16px 0 16px !important;
	padding: 0 0 0 0 !important;
	background: none !important;
	color: var(--text_color, #1A1311) !important;
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 20px !important;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 44.8px */
}

@media screen and (max-width: 767px) {
.page .post_content h2{
	font-size: 28px !important;
	margin: 24px 0 24px !important;
}
.page .post_content h3{
	font-size: 24px !important;
	margin: 20px 0 20px !important;
}
.page .post_content h4{
	font-size: 22px !important;
	margin: 20px 0 20px !important;
}
.page .post_content h5{
	font-size: 22px !important;
	margin: 16px 0 16px !important;
}

}

.page .post_content p{
	color: var(--text_color, #1A1311);
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 180%; /* 28.8px */
}
.page .post_content p.center{
	text-align: center !important;
}
.page .post_content table{
	border: none !important;
	border-bottom: 1px solid #D5D5D5 !important;
	margin-bottom: 60px !important; 
}
.page .post_content table tr{
	border-top: 1px solid #D5D5D5 !important;
}
.page .post_content table th{
	background: none !important;
	border: none !important;
	padding: 32px 40px 32px 24px;
	color: var(--text_color, #333);
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 22.4px */
	width: 285px !important;
	
}
.page .post_content table td{
	border: none !important;
	padding: 32px 24px 32px 0;
	color: var(--text_color, #333);
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 22.4px */
}
@media screen and (max-width: 767px) {

.page .post_content table th{
	display: block;
	padding: 24px 18px 12px 18px;
	width: 100% !important;
	
}
.page .post_content table td{
	display: block;
	padding: 0 18px 24px 18px;
}	
}
.page .post_content table.type2{
}
.page .post_content table.type2 th{
	background: #F2F2F2 !important;
	border: 1px solid #D5D5D5 !important;
	padding: 10px 12px !important;
	text-align: center !important;
}
.page .post_content table.type2 td{
	border: 1px solid #D5D5D5 !important;
	padding: 10px 12px 10px 28px !important;
}
@media screen and (max-width: 767px) {

.page .post_content table.type2 th{
	display: table-cell;
	width: 130px !important;
	text-align: left !important;
	font-size: 14px !important;
	
}
.page .post_content table.type2 td{
	display: table-cell;
	font-size: 14px !important;
	padding: 10px 12px 10px 16px !important;
}	
}

.page .post_content .number{
	padding: 0 0 0 33px;
	margin: 0 0 32px 0;
}
.page .post_content .number li{
	color: var(--text_color, #1A1311);
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 22.4px */
	list-style: decimal-leading-zero;
	margin: 0 0 8px 0;
}
.page .post_content .number li::marker{
	font-family: p22-underground, sans-serif !important;
}
.page .post_content .iconList{
	padding: 0 0 0 18px;
	margin: 0 0 32px 0;
}
.page .post_content .iconList li{
	color: var(--text_color, #1A1311);
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 22.4px */
	list-style: none;
	position: relative;
	margin: 0 0 8px 0;
}
.page .post_content .iconList li::before{
	content: "";
	position: absolute;
	top: 6px;
  	left: -15px;
  	width: 10px;
	height: 10px;
	background: #1A1311;
	border-radius: 10px;
}


.page .post_content .btn{
	display: table;
	min-width: 240px;
	width: auto;
	padding: 17px 24px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: var(--text_color, #1A1311);
	text-align: center;
	leading-trim: both;
	text-edge: cap;
	font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
	font-size: 14px;
	font-style: normal;
	font-weight: 750;
	line-height: 140%; /* 14px */
	border: 2px solid var(--text_color, #1A1311);
	background: #FFF;
	margin: 20px 0 20px;
}
@media print, screen and (min-width: 768px) {
.page .post_content .btn:hover{
	color: #ffffff !important;
	background: #1A1311 !important;
}
}
.page .post_content .btn.center{
	margin: 20px auto 20px;
}
.page .post_content .btn.sub_font{
	font-family: "P22 Underground" !important;
}
.page .post_content .btn.type_over{
	min-width: 300px;
  	width: auto;
  	padding: 17px 50px;
	background: #fff url("images/common/Vector_off.svg") no-repeat;
	background-position: center right 24px;
	background-size: 18px;
}
@media print, screen and (min-width: 768px) {
.page .post_content .btn.type_over:hover{
	color: #ffffff !important;
	background: #1A1311 url("images/common/Vector_on.svg") no-repeat !important;
	background-position: center right 24px !important;
	background-size: 18px !important;
}
}
@media print, screen and (max-width: 767px) {
	.page .post_content .btn{
		min-width: auto;
		width: 100%;
		max-width: 240px;
	}
	.page .post_content .btn.type_over{
		min-width: auto;
		width: 100%;
		max-width: 343px;
	}
	.page .post_content .btn.sp_center{
		margin: 20px auto 20px;
	}
}

.page .text_img_column{
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
	margin-bottom: 56px;
}
.page .text_img_column .text_box{
	width: calc( 100% - 350px );
}
.page .text_img_column .img_box{
	width: 334px;
}
@media print, screen and (max-width: 767px) {
.page .text_img_column .text_box{
	width: 100%;
	order: 2;
}
.page .text_img_column .img_box{
	width: 100%;
	order: 1;
	padding-bottom: 24px;
}	
.page .text_img_column .img_box img{
	display: block;
	max-width: 375px;
	margin: 0 auto;
}	
}
.page .text_img_column2{
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
	margin-bottom: 56px;
}
.page .text_img_column2 .text_box{
	width: calc((100% - 24px) / 2);
}
.page .text_img_column2 .img_box{
	width: calc((100% - 24px) / 2);
}
@media print, screen and (max-width: 767px) {
.page .text_img_column2 .text_box{
	width: 100%;
	order: 2;
}
.page .text_img_column2 .img_box{
	width: 100%;
	order: 1;
	padding-bottom: 24px;
}	
.page .text_img_column2 .img_box img{
	display: block;
	max-width: 375px;
	margin: 0 auto;
}	
}
.page .post_content .pc{
	display: block;
}
.page .post_content .sp{
	display: none;
}
@media print, screen and (max-width: 767px) {
.page .post_content .pc{
	display: none;
}
.page .post_content .sp{
	display: block;
}	
}
.page .img_box_type_a{
	margin-bottom: 64px;
}
.page .img_box_type_a img{
	margin: 0 auto;
}

.page .mb56{
	margin-bottom: 56px !important;
}

.page ul.check{
	padding: 0;
	margin: 0 0 32px;
}
.page ul.check li{
	background: url("images/common/check.svg") no-repeat;
	background-position: top left;
	background-size: 32px;
	list-style: none;
	margin-bottom: 16px;
	min-height: 32px;
	padding: 7px 0 0 40px;
	color: var(--text_color, #1A1311);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 18px */
}

.page .cc_text{
	color: var(--text_color, #1A1311);
	text-align: center !important;
	font-size: 28px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 140% !important; /* 39.2px */
}
@media print, screen and (max-width: 767px) {
.page ul.check li{
	padding: 4px 0 0 40px;
	line-height: 148%; /* 26.64px */
}
.page .cc_text{
	font-size: 26px !important;
}
}

.page .fwb{
	font-weight: bold !important;
}
.page .mb16{
	margin-bottom: 16px;
}
.page .flow_list{
	padding-left: 104px;
	position: relative;
}
.page .flow_list::before{
	content: "";
	width: 80px;
	height: 80px;
	border-radius: 80px;
	background: #1A1311;
	position: absolute;
	top: 0;
	left:  0;
}
.page .flow_list::after{
	content: "";
	width: 1px;
	height: 53px;
	background: #1A1311;
	position: absolute;
	top: 90px;
  	left: 40px;
}
.page .flow_list.last{
	margin-bottom: 63px;
}
.page .flow_list.last::after{
	display: none !important;
}

.page .flow_list.icon01::before{
	background: #1A1311 url("images/common/southagency_bpsp02.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
}
.page .flow_list.icon02::before{
	background: #1A1311 url("images/common/southagency_bpsp03.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
}
.page .flow_list.icon03::before{
	background: #1A1311 url("images/common/southagency_bpsp04.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
}
.page .flow_list.icon04::before{
	background: #1A1311 url("images/common/southagency_bpsp05.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
}
@media print, screen and (max-width: 767px) {
.page .flow_list{
	padding-left: 0;
	position: relative;
}	
.page .flow_list h4{
	width: calc(100% - 80px);
    margin-left: auto !important;
}
.page .flow_list::before {
  width: 64px;
  height: 64px;
}
.page .flow_list::after {
  display: none;
}
}
.page .tel_info_text{
	color: var(--text_color, #1A1311);
	family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 14px */
	text-decoration: none;
	margin-top: 8px !important;
	padding: 0 24px;
}
@media print, screen and (max-width: 767px) {
.page .tel_info_text{
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
	display: table;
}
}
.page .tel_info_text2{
	color: var(--text_color, #1A1311);
	family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%; /* 14px */
	text-decoration: none;
	margin-top: 8px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
	display: table;
}

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

.page .column3_box{
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
.page .column3_box .c_box{
	width: calc((100% - 16px) / 3);
}
.page .columnSwiper{
	position: relative;
}
.page .columnSwiper .swiper-pagination_w{
	position: relative;
	display: block;
  	margin: 16px auto 16px;
	width: 100%;
}
@media print, screen and (min-width: 768px) {
.page .columnSwiper .swiper-pagination_w{
	display: none;
}
}
.page .columnSwiper .swiper-pagination_w .swiper-button-next{
	background: url("images/common/ssc_r.png") no-repeat;
	background-position: center;
	background-size: cover;
	width: 48px;
	height: 48px;
}
.page .columnSwiper .swiper-pagination_w .swiper-button-prev{
	background: url("images/common/ssc_l.png") no-repeat;
	background-position: center;
	background-size: cover;
	width: 48px;
	height: 48px;
}
.page .columnSwiper .swiper-pagination_w .swiper-button-next::after{
	display: none;
}
.page .columnSwiper .swiper-pagination_w .swiper-button-prev::after{
	display: none;
}
.page .columnSwiper .swiper-pagination_w .swiper-pagination{
	position: relative;
	display: table;
  	margin: 0 auto;
}
.page .columnSwiper .swiper-wrapper {
  height: 100%;
}
.page .columnSwiper .swiper-slide{
	height: auto;
}
.page .columnSwiper .swiper-pagination-bullet{
	margin: 0 12px !important;
	width: 12px !important;
	height: 12px !important;
	aspect-ratio: 1/1;
	background: #D5D5D5 !important;
	opacity: 1 !important;
}
.page .columnSwiper .swiper-pagination-bullet-active{
	
background: #1A1311 !important;
}

.page .step_card{
	background: #F8F8F8;
	width: 100%;
	height: 100%;
	padding:  135px 16px 30px;
	position: relative;
}
.page .step_card .step_text{
	position: absolute;
	width: 44px;
	top:16px;
	left: 16px;
	color: var(--text_color, #1A1311);
	font-family: p22-underground, sans-serif !important;
	font-size: 18px;
	font-style: normal;
	font-weight: 500 !important;
	line-height: 100%; /* 18px */
}
.page .step_card .step_text span{
	font-size: 32px;
	display: table;
	margin: 3px auto 0;
	line-height: 1.2;
}
.page .step_card h4{
	margin-top: 0 !important;
}
.page .step_card p{
	text-align: center !important;
}
.page .step_card.icon_1{
	background: #F8F8F8 url("images/common/southagency_bpsp06.svg") no-repeat;
	background-size: 80px;
	background-position: top 32px center;
}
.page .step_card.icon_2{
	background: #F8F8F8 url("images/common/southagency_bpsp07.svg") no-repeat;
	background-size: 80px;
	background-position: top 32px center;
}
.page .step_card.icon_3{
	background: #F8F8F8 url("images/common/southagency_bpsp08.svg") no-repeat;
	background-size: 80px;
	background-position: top 32px center;
}
.page .step_card.icon_4{
	background: #F8F8F8 url("images/common/point_section03.svg") no-repeat;
	background-size: 80px;
	background-position: top 32px center;
}
.page .step_card.icon_5{
	background: #F8F8F8 url("images/common/point_section02.svg") no-repeat;
	background-size: 80px;
	background-position: top 32px center;
}
.page .step_card.icon_6{
	background: #F8F8F8 url("images/common/point_section01.svg") no-repeat;
	background-size: 80px;
	background-position: top 32px center;
}

.page .mb64{
	margin-bottom: 64px !important;
}

.page .bkg{
	background: #F8F8F8;
	padding: 80px 0 80px;
	position: relative;
	margin: 80px 0 -100px;
}
.page .bkg::before{
	content: "";
	position: absolute;
	top:0;
	left: -500px;
	width: 500px;
	height: 100%;
	background: #F8F8F8;
}
.page .bkg::after{
	content: "";
	position: absolute;
	top:0;
	right: -500px;
	width: 500px;
	height: 100%;
	background: #F8F8F8;
}

.page .link_column{
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
  	margin-bottom: 40px;
	max-width: 665px;
	margin: 18px auto 0;
}
.page .link_column .c_box{
	width: calc((100% - 24px) / 2);
}
.page .link_column .c_box .btn{
	width: 100%;
	max-width: 100%;
	
}
@media print, screen and (max-width: 767px) {
.page .link_column{
	display: block;
	margin: 24px auto 0;
}
.page .link_column .c_box{
	width: 100%;
	max-width: 330px;
	margin: 0 auto 16px;
}
}

.page .fs16{
	font-size: 16px !important;
}

.page .flow_text{
	position: absolute;
  width: 42px;
  top: 16px;
  left: 19px;
  color: var(--text_color, #fff);
  font-family: p22-underground, sans-serif !important;
  font-size: 18px;
  font-style: normal;
  font-weight: 500 !important;
  line-height: 100%;
	z-index: 3;
}
.page .flow_text span{
	font-size: 32px;
  display: table;
  margin: 3px auto 0;
  line-height: 1.2;
}
@media print, screen and (max-width: 767px) {
.page .flow_text{
	font-size: 16px;
	top: 14px;
  	left: 12px;
}
.page .flow_text span{
	font-size: 28px;
}
}




/* パンくずスタイル　*/
.p-breadcrumb{
	max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px)*2);
	padding-left: var(--swl-pad_container,0);
  padding-right: var(--swl-pad_container,0);
}
.p-breadcrumb__list {
	padding: 0 0 5px !important;
	max-width: var(--article_size);
}
@media print, screen and (max-width: 767px) {
	.p-breadcrumb{
		padding-left: var(--swl-pad_container,0);
  		padding-right: var(--swl-pad_container,0);
	}
    .p-breadcrumb__list {
		width: 100%;
		max-width: var(--article_size);
    	display: flex;
        flex-wrap: nowrap;
        padding: 0 0 5px !important;
        overflow-x: scroll;
        white-space: nowrap;
    }
}
.p-breadcrumb__item::after {
  background-color: currentcolor;
  -webkit-clip-path: none;
  clip-path: none;
  display: block;
  height: 1px;
  opacity: .8;
  width: 24px;
  content: "";
    padding: 0 ;
	background: #A2A2A2;
	margin: 0 16px;
}

/* ================================================================
   SERVICE セクション リニューアル
   ================================================================ */
/* ================================================================
   SERVICE セクション リニューアル（旧スタイルリセット含む）
   ================================================================ */
#indexPage #serviceArea {
  background-color: #fff !important;
  padding: 120px 0 100px !important;
}
#indexPage #serviceArea .serviceArea_wrap {
  display: block !important;
  grid-template-columns: none !important;
}
#indexPage #serviceArea .service_titlebox {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 !important;
  margin-bottom: 50px;
  grid-column: unset !important;
  grid-row: unset !important;
}
#indexPage #serviceArea .service_titlebox .titleh2 {
  color: #1A1311 !important;
  margin: 0 0 21px !important;
}
#indexPage #serviceArea .service_titlebox .titleh2 + p,
#indexPage #serviceArea .service_titlebox_l p {
  font-size: 22px !important;
  font-weight: 700;
  color: #1A1311 !important;
  margin: 0 !important;
}
#indexPage #serviceArea .service_titlebox_r {
  flex-shrink: 0;
  padding-top: 10px;
}
#indexPage #serviceArea .service_titlebox_r .btn.type1 {
  background-color: #fff;
}
#indexPage #serviceArea {
  background-color: #F5F5F5;
  padding: 120px 0 100px;
}
#indexPage #serviceArea .service_titlebox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0;
  margin-bottom: 50px;
}
#indexPage #serviceArea .service_titlebox .titleh2 {
  color: #1A1311;
  margin: 0 0 21px;
}
#indexPage #serviceArea .service_titlebox .titleh2 + p,
#indexPage #serviceArea .service_titlebox_l p {
  font-size: 22px;
  font-weight: 700;
  color: #1A1311;
  margin: 0;
}
#indexPage #serviceArea .service_titlebox_r {
  flex-shrink: 0;
  padding-top: 10px;
}
#indexPage #serviceArea .service_titlebox_r .btn.type1 {
  background-color: #fff;
}

/* カード3列 */
.service_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service_card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: #1A1311;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease;
}
.service_card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* サムネイル */
.service_card__thumb {
  padding: 24px 24px 0;
  background: #f2f2f2;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}
.service_card__thumb img {
  width: 100%;
  max-width: 320px;
  height: auto;
  display: block;
}

/* ロゴ */
.service_card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 24px 16px;
}
.service_card__logo img {
  height: 32px;
  width: auto;
}

/* テキスト */
.service_card__body {
  padding: 0 24px 24px;
  border-top: 1px solid #E5E5E5;
  margin: 0 24px;
  padding: 16px 0 20px;
}
.service_card__cat {
  font-size: 13px;
  color: #707070;
  margin: 0 0 6px;
  font-weight: 500;
  line-height: 1.4;
}
.service_card__name {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  line-height: 1.4;
  letter-spacing: 0.03em;
}

/* 矢印ボタン */
.service_card__arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 36px;
  height: 36px;
  background: #1A1311;
  border-radius: 6px 0 6px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
}
.service_card__arrow span {
  color: #fff;
  font-size: 16px;
  line-height: 1;
}
.service_card:hover .service_card__arrow {
  background: #333;
}

/* SP */
@media screen and (max-width: 959px) {
  #indexPage #serviceArea {
    padding: 80px 0 70px;
  }
  #indexPage #serviceArea .service_titlebox {
    display: block;
    margin-bottom: 30px;
  }
  #indexPage #serviceArea .service_titlebox_r {
    display: none;
  }
  .service_cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}