/*============================================================*/
/*========================共通パーツ============================*/
/*============================================================*/
/*== ヘッダー・メニュー ==*/
#site-header {
  background:var(--white);
  @media screen and (min-width:1024px){
    .menu-item-contact .menu-item-link{
      background: var(--main-color);
      color:var(--white);
    }
  }
}

/*== 本文 ==*/
#body-wrapper {
  padding-top: calc(var(--header-height-pc) + 3rem);
  padding-bottom: 4.5rem;
  section {
    margin-bottom:2rem;
  }
  section:last-of-type {
    margin-bottom: 8rem;
  }
  hr {
    margin-top: 3rem;
    background-color: var(--black);
  }
  .menu-item-contact .menu-item-link:before{
    background: var(--white);
  }
  .section-header .section-desc {
    margin-bottom: 3rem;
  }
  .section-body {
    margin:.8rem 0 4rem;
    line-height: 2;
    &:last-of-type{
      margin-bottom: 0;
    }
  }
  .section-footer {
    margin-top: 3rem;
  }
  .section-title {
    font-size: 2.15rem;
    font-weight:500;
    letter-spacing: .2rem;
  }
  .section-title_main {
    line-height: 1.8;
    font-family: "Oswald";
    font-weight: 200;
    letter-spacing: .2rem;
    font-size: 7vw;
    padding: 0 0 4vw;
    @media screen and (min-width:500px) {
      font-size: 3.5rem;
      padding-bottom:2rem;
    }
    @media screen and (max-width:1023px) {
      display: inline-block;
    }
    @media screen and (min-width:1024px){
      font-size: 2.24rem;
      padding: 0;
    }
  }
  .section-title_sub {
    padding-left: 1.25vw;
    @media screen and (min-width:500px) {
      padding-left: .6rem;
    }
    @media screen and (max-width:1023px) {
      display: inline-block;
    }
    @media screen and (min-width:1024px){
      font-size: .85rem;
      padding-left: 0;
    }
  }
  .body-title{
    border-bottom: 1px solid var(--text-color);
    font-family: "Oswald";
    font-weight: 200;
    letter-spacing: .2rem;
    font-size: 7vw;
    padding: 0 0 4vw 0;
    margin-bottom: 2.4rem;
    @media screen and (min-width:500px){
      padding-bottom: 2rem;
      font-size: 3.5rem;
    }
    @media screen and (min-width:1024px){
      font-size: 1.86rem;
      padding: 0 0 .6rem .6rem;
      margin-bottom: 1rem;
    }
  }
  .body-title_with_num{
    display: inline-flex;
    width: 100%;
  }
  .body-title_no {
    font-family: "Oswald";
    font-weight: 400;
    letter-spacing: .2rem;
    padding-right: .875rem;
    line-height: 1.6;
    font-size: 6vw;
    @media screen and (min-width:500px) {
      font-size: inherit;
    }
  }
  .body-title_main {
    font-family: "Noto Sans JP";
    font-weight: 500;
    letter-spacing: .1rem;
    padding-top:.15rem ;
    line-height: 1.6;
    font-size: 5.4vw;
    @media screen and (min-width:500px) {
      font-size: 3.5rem;
    }
    @media screen and (min-width:1024px){
      font-size: 1.5rem;
    }
  }
  .table-style {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap:1rem;
    margin-bottom: 2rem;
    @media screen and (min-width:768px) {
      display: grid;
      grid-template-columns: 145px 1fr;
    }
    &:last-child {
      margin-bottom: 0;
    }
  }
  .table-style .td,
  .table-style .th {
    padding-bottom: 1.2rem;
    @media screen and (min-width:768px) {
      padding-bottom: 0;
    }
  }
  .table-style * {
    line-height: 1.6;
  }

  .list_with_num {
    @media screen and (min-width:768px) {
      padding-left: .6rem;
    }
    .item-title {
      margin-bottom: 2.4rem;
      display: inline-flex;
      width: 100%;
      align-items: baseline;
    }
    .title_no {
      font-size: 1.86rem;
      padding-right:2.4vw ;
      font-family: "Oswald";
      font-weight: 400;
      letter-spacing: .2rem;
      border-right: 1px solid var(--text-color);
      line-height: 1.2;
      @media screen and (min-width:768px) {
        padding-right:1.2rem ;
      }
    }
    .title_main {
      padding-left: 2.8vw;
      letter-spacing: .2rem;
      font-size: 2rem;
      line-height: 1.6;
      font-weight: 500;
      @media screen and (min-width:768px) {
        padding-left: 1.4rem;
      }
    }
  }
  ul .item-body p,
  ol .item-body p {
    margin-bottom: 0;
  }

  .list_disc {
    .list-item {
      line-height: 1.6;
      position: relative;
      margin-bottom: .5rem;
      padding: 0 0 0 18px;
      @media screen and (min-width:1024px) {
        padding: 0 0 0 12px;
      }
    }
    .list-item:last-child {
      margin-bottom: 0;
    }
    .list-item:before{
      content: "";
      width: 3px;
      height: 3px;
      background: var(--black);
      border-radius: 3px;
      position: absolute;
      left: 6px;
      top: 1rem;
      @media screen and (min-width:1024px) {
        left: 3px;
        top: calc(1rem - 3px);
      }
    }
  }

  .list_plain {
    .list-item {
      line-height: 1.8;
      margin-bottom: .5rem;
    }
  }
  
  .desc-header {
    font-weight: 700;
    letter-spacing: .1rem;
    padding-bottom: 2.4rem;
    font-size: 1.8rem;
    @media screen and (min-width:1024px) {
      font-size: 1.2rem;
      padding-bottom: 1.4rem;
    }
  }
  
  .body-chatch,.body-chatch p{
    line-height: 1.8;
    letter-spacing: .2rem;
    font-weight: 500;
    font-size: 5vw;
    @media screen and (min-width:500px) {
      font-size: 2.5rem;
    }
    @media screen and (min-width:1024px){
      font-size: 2rem;
    }
  }
  .embet-movie{
    margin-top:5.25rem ;
    aspect-ratio: 16/9;
    width: 100%;
  }
  .embet-movie iframe,
  .embet-movie video{
    width: 100%;
    height: 100%;
  }
  .embet-map {
    width: 100%;
    aspect-ratio: 1/1;
  }
  .embet-map iframe{
    width: 100%;
    height: 100%;
  }

  .grid-box_noheader {
    @media screen and (min-width:768px) {
      grid-column: 2;
    }
  }

  /*= キャッチコピー等エリア =*/
  .page-header{
    .section-title{
      margin-bottom: 3rem;
      @media screen and (max-width:1023px) {
        margin-bottom: 3.8rem;
      }
    }
    .section-title_main {
      line-height: 1.4;
      font-family: 'Oswald';
      font-weight: 200;
      display: block;
      padding: 0;
      font-size: 10vw;
      @media screen and (min-width:500px) {
        letter-spacing: .4rem;
        font-size: 5rem; 
      }
      @media screen and (min-width:1024px) {
        line-height: 1.2;
        letter-spacing: .2rem;
        font-size: 3rem;
        margin-bottom: 1rem;
      }
    }
    .section-title_sub {
      line-height: 2;
      display: block;
      padding: 0;
      font-size: 3.6vw;
      @media screen and (min-width:500px) {
        font-size: 1.8rem; 
      }
      @media screen and (min-width:1024px){
        font-size: 1.2rem;
      }
    }
    .page-chatch,
    .page-chatch > * {
      line-height: 2;
      font-weight: 500;
      font-size: 4.8vw;
      margin-bottom: 2rem;
      @media screen and (min-width:500px){
        font-size: 2.4rem;
      }
      @media screen and (min-width:1024px) {
        font-size: 2rem; 
        margin-bottom: 3rem;
      }
    }
    .page-desc p{
      letter-spacing: .08rem;
      margin-bottom: 2.25rem;
    }
    .page-desc p:last-of-type{
      margin-bottom: 0;
    }
  }
  .section-sep_img {
    display: block;
  }

  /*= 投稿のリスト表示 =*/
  .posts-list {
    .entry {
      margin-bottom:3rem;
      padding-bottom: 3rem;
      border-bottom: 1px solid var(--black);
    }
    .entry:last-of-type {
      border-bottom: none;
    }
    .entry-thumbnail img {
      width: 100%;
      border-radius: 10px;
    }
    .entry-clients {
      margin: 1.4rem 0;
    }
    .entry-terms {
      display: inline-block;
    }
    .entry-terms_category {
      margin-top: .25rem;
      margin-bottom: 0;
    }
    .entry-terms-item{
      display: inline-block;
      margin-right: .25rem;
      margin-bottom: 1px;
      vertical-align: bottom;
    }
    .entry-terms_label{
      font-size: 1.2rem;
      background: var(--light-color);
      color: var(--white);
      border-radius: 3px;
      display: inline-block;
      padding: 4px 12px;
      margin-right: .8rem;
    }
    .entry-title{
      margin: 1.4rem 0;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.6;
    }
    .entry-link {
      text-decoration: underline;
      font-weight: 700;
      font-size: 1.6rem;
      letter-spacing: .2rem;
    }
  }
  @media screen and (min-width:1024px){
    .posts-list {
      .entry-terms {
        vertical-align: text-top;
      }
      .entry-terms_label{
        font-size: .7rem;
        padding-bottom:3px;
      }
      .entry-clients {
        margin:0 0 .5rem;
      }
      .entry-title{
        margin:.5rem 0 1rem;
        font-size: 1.5rem;
        line-height: 2;
      }
      .entry-link {
        font-size: 1rem;
        letter-spacing: .1rem;
      }
    }
  }

  /*= フォーム（Contactform7） =*/
  .form {
    margin-bottom: 24px;
  }
  .form-parts{
    margin-bottom: 14px;
    label {
      padding: 2px 4px;
      border-bottom: none;
      display: inline-block;
    }
    .form-name {
      p{
        line-height: 1;
        padding: 0;
        margin: 0;
      }
      label {
        padding: .8rem 0;
        vertical-align: middle;
        display: inline-block;
      }
      span {
        display: inline-block;
        margin-left: .8rem;
        padding: .4rem;
        vertical-align: text-bottom;
        font-size: 1.2rem;
        @media screen and (min-width:1024px){
          font-size: .75rem;
        }
      }
      .label_required {
        background: var(--main-color);
        color: var(--white);
      }
    }
    input,
    textarea {
      padding: 8px;
      border:1px solid var(--diff-color) ;
      width: 100%;
      vertical-align: bottom;
      box-sizing: inherit;
      font-size: 1.7rem;
      line-height: 1.4;
      @media screen and (min-width:1024px){
        font-size: 1.13333rem;
      }
    }
    .wpcf7-checkbox,
    .wpcf7-radio {
      display: inline-block;
      vertical-align: text-bottom;
    }
    .wpcf7-checkbox .wpcf7-list-item {
      margin:0 16px 8px 0;
    }

    .wpcf7-form-control-wrap label{
      background: none;
      border: none;
    }

    &.postal-code-wrapper .wpcf7-form-control-wrap{
      display: inline-block;
      vertical-align: middle;
      width: calc(100% - 1.5rem);
      margin-left: .5rem;
    }

    input[type="checkbox"] + .wpcf7-list-item-label{
      padding-left: 36px;
      position: relative;
    }

    .wpcf7-radio label {
      padding-left: 28px;
      position: relative;
      top: 4px;
    }

    input[type="checkbox"] + .wpcf7-list-item-label:before,
    .wpcf7-checkbox .wpcf7-list-item-label::before,
    .wpcf7-radio .wpcf7-list-item-label::before{
      width: 24px;
      height: 24px;
      border: 1px solid var(--gray);
      position: absolute;
      left: 0;
      top: 0;
    }

    .wpcf7-radio .wpcf7-list-item-label::before{
      width: 20px;
      height: 20px;
      border-radius: 12px;
      top: 4px;
    }

    input[type="checkbox"]:checked + .wpcf7-list-item-label:after,
    .wpcf7-checkbox input[type="checkbox"]:checked  + .wpcf7-list-item-label::after {
      width: 8px;
      height: 12px;
      border-right:var(--gray) 2px solid;
      border-bottom:var(--gray) 2px solid;
      position: absolute;
      transform: rotate(45deg);
      left: 8px;
      top: 4px;
    }
    .wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label::after {
      width: 14px;
      height: 14px;
      border-radius: 7px;
      background:var(--gray);
      position: absolute;
      left: 4px;
      top: 8px;
    }
    .form-select{
      select {
      }
      position: relative;
      &::before{
        content: "";
        width: 0;
        height: 0;
        border: 8px solid transparent;
        border-top: 8px solid var(--gray);
        position: absolute;
        right: 8px;
        top: 14px;
        margin: auto;
      }
      select{
        padding: 5px 24px 5px 5px;
        width: 100%;
        border: 1px solid var(--gray);
      }
    }
    .form-radio {
      .wpcf7-list-item{
      margin: 0 8px 0 0;
      }
      label {
        color: var(--black);
      }
    }
    .form-date .wpcf7-form-control-wrap{
      display: inline-block;
      width: 100%;
      input::-webkit-calendar-picker-indicator {
      cursor: pointer;
      }
    }
    &.acceptance_btn {
      display:block;
      text-align: center;
    }
  }
  .button-wrapper {
    text-align: center;
    margin-top: 4rem;
    .submit-wrapper{
      display: inline-block;
      position: relative;
    }
    input[type="submit"]{
      width: 100%;
      transition: color .25s ease, opacity .25s ease, background .25s ease;
      padding-right: calc(2rem + 48px);
      padding-left: calc(2rem + 48px);
      &::before,&:after{
        display: none;
      }
    }
    input[type="submit"] + .wpcf7-spinner {
      display: none;
    }
  }
  .spinner-wrapper,
  .spinner-wrapper *{
    margin-top: 1rem;
    text-align: center;
  }

  .wpcf7-list-item-label {
    vertical-align: text-bottom;
  }

  .wpcf7-not-valid-tip {
    padding:4px 0;
  }

  @media screen and (min-width: 768px){
    .form-parts {
      label {
        text-align: right;
        padding-right: 8px;
        height: 100%;
      }
    }
    .form-parts_wide {
      display: block;
    }
  }
}

/*= 一覧系ページ =*/
.archive #body-wrapper {
}
#body-wrapper .nav-links{
  padding-top: 1rem;
  margin-top: 2rem;
  border-top: 1px solid var(--black);
  .nav-links .next,
  .nav-links .prev{
    
  }
  .page-numbers {
    text-align: center;
    display: inline-block;
    font-size: 1.5rem;
    padding: .4rem .8rem;
    color: var(--main-color);
    margin-bottom: .8rem;
    @media screen and (min-width:1024px){
      font-size: 1rem;
      padding: .4rem;
    }
  }
  .current {
    opacity: .5;
  }
}

/*== 記事ページ ==*/
#body-wrapper .section-single-post .section-main {
  .section-header {
    border-bottom: 1px solid var(--black);
    .section-title {
      line-height: 1.4;
    }
    .entry-category {
      margin-top: 1rem;
    }
    .entry-category_link{
      font-size: 1.2rem;
      background: var(--light-color);
      color: var(--white);
      border-radius: 3px;
      display: inline-block;
      padding: 4px 12px;
      margin-right: .8rem;
      line-height: 1;
      @media screen and (min-width:1024px){
        font-size: .7rem;
        padding-bottom:3px;
      }
    }
  }
  .section-body {
    padding-top: 2rem;
    & > * {
      margin-bottom: 1rem;
      text-align: unset;
    }
    .eyecatch {
      text-align: center;
    }
    pre {
      line-height: 1.6;
    }
    h1 {
      font-size: 2.6rem;
      font-weight: 500;
      @media screen and (min-width:1024px){
        font-size: 2.2rem;
      }
    }
    h2 {
      font-size: 2.4rem;
      font-weight: 500;
      @media screen and (min-width:1024px){
        font-size: 2rem;
      }
    }
    h3 {
      font-size: 2.15rem;
      font-weight: 500;
      @media screen and (min-width:1024px){
        font-size: 1.8rem;
      }
    }
    h4 {
      font-size: 2rem;
      font-weight: 500;
      @media screen and (min-width:1024px){
        font-size: 1.6rem;
      }
    }
    h5 {
      font-size: 1.8rem;
      font-weight: 500;
      @media screen and (min-width:1024px){
        font-size: 1.4rem;
      }
    }
    h6 {
      font-size: 1.6rem;
      font-weight: 500;
      @media screen and (min-width:1024px){
        font-size: 1.25rem;
      }
    }
    img {
      padding: .4rem 0;
      vertical-align: middle;
    }
    ul {
      padding-left: 1.5rem;
      list-style-type: disc;
    }
    ul li {
      list-style-type: disc;
      margin-bottom: 1rem;
    }
    ol {
      padding-left: 1.5rem;
      list-style-type: decimal;
    }
    ol li {
      list-style-type: decimal;
      margin-bottom: 1rem;
    }
    code {
      padding: .4rem;
      color: var(--light-color);
      background-color: var(--gray-light);
    }
    blockquote {
      margin:2rem 0;
      padding: 2rem;
      background-color: var(--gray-light);
      position: relative;
      overflow-wrap: anywhere;
      word-break: normal;
      line-break: strict;
      line-height: 1.4;
    }
    blockquote::before {
      content: "“";
      color: var(--main-color);
      position: absolute;
      left: 0;
      top: -1rem;
      font-size: 4rem;
      line-height: 1;
    }
    blockquote::after {
      content: "“";
      color: var(--main-color);
      position: absolute;
      right: 0;
      top: calc(100% - 3rem);
      font-size: 4rem;
      transform: rotate(180deg);
      line-height: 1;
    }
    a{
      text-decoration: underline;
    }
    em {
      font-style: italic;
    }
    table th,
    table td {
      border: 1px solid var(--gray);
      padding: .8rem;
    }
    table th {
      background: var(--gray-light);
    }
  }
  .section-footer {
    a {
      line-height: 1.6;
      text-decoration: underline;
    }
    .nav-links{
      position: relative;
      padding-top: 2rem;
      display: grid;
      grid-template-columns: repeat(2,minmax(0,1fr));
      gap: 2rem;
      align-items: center;
    }
    .nav-previous {
      padding-left: 2rem;
      position: relative;
    }
    .nav-previous:before {
      content: "";
      width: 0;
      height: 0;
      border: transparent 8px solid;
      border-right: 10px solid var(--main-color);
      left: -10px;
      top: 0;
      bottom: 0;
      margin: auto;
      position: absolute;
    }
    .nav-next {
      padding-right: 2rem;
      position: relative;
      text-align: right;
    }
    .nav-next:before {
      content: "";
      width: 0;
      height: 0;
      border: transparent 8px solid;
      border-left: 10px solid var(--main-color);
      right: -10px;
      top: 0;
      bottom: 0;
      margin: auto;
      position: absolute;
    }
    .nav-links:before{
      content: " ";
      height:100%;
      width: 1px;
      background: var(--black);
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      top: 1rem;
    }
  }
}

/*== 事例の記事ページ ==*/
.case-single #body-wrapper .section-single-post {
  .section-main .section-body {
    h4 {
      margin-bottom:1.5rem;
    }
    h5,h6 {
      padding-top: .5rem;
    }
  }
}

/*= swiper - case study =*/
#body-wrapper .casestudy {
  margin-top: 10rem;
  @media screen and (min-width:1024px){
    margin-top: 6rem;
  }
  .section-header {
    padding: 0 0 1rem;
    margin-bottom: 3rem;
    border-bottom: 1px solid var(--black);
    @media screen and (min-width:1024px){
      padding:0 0 0 .5rem;
      & > *{
        display: inline-flex;
      }
    }
  }
  .swiper {
    padding-bottom:calc(4rem + 44px);
  }
  /* 矢印 */
  .swiper-button-next, .swiper-button-prev {
    top: calc(100% - 22px);
    width: 50%;
  }
  .swiper-button-prev {
    left: 0;
  }
  .swiper-button-next{
    left: 50%;
  }
  .swiper-button-next:before,
  .swiper-button-prev:before {
    content: "";
    width: 44px;
    height: 44px;
    background: var(--main-color);
    border-radius: 22px;
    position: absolute;
  }
  .swiper-button-prev:before {
    right: 1.5rem;
  }
  .swiper-button-next:before {
    left: 1.5rem;
  }
  .swiper-button-next:after,
  .swiper-button-prev:after {
    text-indent: -99999px;
    width: 0;
    height: 0;
    border:transparent 6px solid;
    position: absolute;
    z-index: 2;
  }
  .swiper-button-next:after {
    border-left: 10px solid var(--white);
    left: calc(1.5rem + 18px);
  }
  .swiper-button-prev:after {
    border-right: 10px solid var(--white);
    right: calc(1.5rem + 18px);
  }
}
#body-wrapper .casestudy .posts-list{
  /* 中身 */
  .swiper-slide {
    display: block;
    border: 1px solid var(--black);
    padding-bottom:3rem;
    height: auto !important;
    @media screen and (min-width:1024px){
      padding-bottom: 1.5rem;
    }
  }
  .swiper-slide:nth-child(n+1) {
    margin-bottom: .6rem;
  }
  .entry-header,.entry-body {
    padding: 0 2rem;
    @media screen and (min-width:1024px){
      padding: 0 1rem;
    }
  }
  .entry-title {
    @media screen and (min-width:1024px){
      line-height: 1.6;
      font-size: 1.25rem;
    }
  }
  .entry-desc {
    margin-bottom: 1rem;
  }
  .entry-desc,.entry-desc *{
    line-height: 1.8;
    font-size: 1.5rem;
    @media screen and (min-width:1024px){
      font-size: 1rem;
      line-height: 2;
    }
  }
  .entry-thumbnail {
    width: 100%;
    overflow: hidden;
    margin-bottom: 2.4rem;
    @media screen and (min-width:1024px){
      margin-bottom: 1rem;
    }
  }
  .entry-thumbnail img{
    object-fit: cover;
    object-position: center;
    width: 100%;
    border-radius: 0;
  }
  .entry-thumbnail_noimage {
    background: var(--diff-color);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 194px;
  }
  .noimage_label {
    font-family: "Oswald";
    font-size: 1.5rem;
    color: var(--white);
    font-weight: 200;
  }
}

/*============================================================*/
/*========================個別ページ============================*/
/*============================================================*/

/*== ミッション ==*/
.mission #body-wrapper {
  section {
    margin-bottom: 8rem;
  }
  .list-item {
    padding-bottom:4.6rem ;
    .item-body {
      margin-bottom:3rem;
    }
    .item-body:last-child {
      margin-bottom: 0;
    }
    .item-title {
      margin-bottom: 2rem;
    }
    .item-title > *{
      font-size: 4.8vw;
      @media screen and (min-width:500px) {
        font-size: 2.3rem;
      }
      @media screen and (min-width:1024px) {
        font-size: 2rem;
      }
    }
    &:last-of-type {
      padding-bottom: 0;
    }
  }
  .body-title {
    @media screen and (min-width:768px) {
      padding-bottom:1rem;
    }
  }
}

/*== サービス ==*/
.service #body-wrapper {
  .page-chatch {
    letter-spacing: .2rem;
  }
  .page-desc {
    margin-bottom: 8rem;
  }
  .section-overview {
    text-align: center;
    display: block;
  }
  .section-service-list {
    margin-top: 10rem;
    .grid-box {
      @media screen and (min-width:768px){
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(2,minmax(0,1fr));
      }
    }
    .grid-item {
      border: 1px solid var(--black);
      margin-bottom: 2rem;
      @media screen and (min-width:768px){
        margin: 0;
        display: flex;
        flex-direction: column;
      }
    }
    .item-title {
      padding:1.8rem 2.4rem;
      border-bottom: 1px solid var(--black);
      font-size: 1.8rem;
      font-weight: 700;
      @media screen and (min-width:1024px){
        font-size: 1.55rem;
        padding:1.2rem 2rem;
        letter-spacing: .2rem;
      }
    }
    .item-body {
      @media screen and (min-width:768px){
        flex-grow: 1;
        display: flex;
        flex-direction: column;
      }
      @media screen and (min-width:1024px){
        display: grid;
        grid-template-columns: 1fr 2fr;
      }
    }
    .item-image {
      text-align: center;
      margin-top: 1.4rem;
      @media screen and (min-width:1024px){
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 0;
      }
    }
    .item-image img{
      max-width: 36%;
      @media screen and (min-width:1024px){
        max-width: calc(100% - 2rem);
      }
    }
    .item-main {
      padding:0 2.4rem 3.2rem;
      @media screen and (min-width:768px){
        flex-grow: 1;
        display: flex;
        flex-direction: column;
      }
      @media screen and (min-width:1024px){
        padding: 2rem 2rem 2rem 1rem;
      }
    }
    .item-main p{
      line-height: 2;
    }
    .button-wrapper {
      padding-top: 2.4rem;
      text-align: center;
      @media screen and (min-width:768px){
        margin-top: auto;
      }
      @media screen and (min-width:1024px){
        padding: 1.4rem 0 1rem;
      }
    }
    .button-wrapper .button::before {
      @media screen and (min-width:1024px){
        width:6px;
        height: 6px;
        right: 18px;
      }
    }
    .button {
      min-width:80%;
      @media screen and (min-width:768px){
        padding-top:.5rem;
        padding-bottom:.5rem;
        width: 100%;
      }
      @media screen and (min-width:1024px){
        font-size: .93333rem;
        letter-spacing: .1rem;
      }
    }
  }
}

/*== サービス - 中ページ共通 ==*/
.service-subpage #body-wrapper {
  .page-header .body-title {
    border: none;
    padding: 0;
    font-family: "Noto sans JP";
    font-weight: 500;
    font-size: 2rem;
    @media screen and (min-width: 1024px) {
      font-weight: 400;
      margin-bottom: 1.5rem;
    }
  }
  .issues {
    margin-top: 6rem;
    @media screen and (min-width: 768px) {
      margin-top: 3rem;
    }
  }
  .issues-title {
    text-align: center;
    background: var(--main-color);
    color: var(--white);
    padding: 1rem;
    margin-bottom: 2.4rem;
    font-size: 1.9rem;
    line-height: 1.4;
    @media screen and (min-width: 414px) {
      letter-spacing: .2rem;
    }
    @media screen and (min-width: 768px) {
      display: inline-block;
      text-align: left;
      padding: .75rem 1rem;
    }
    @media screen and (min-width: 1024px) {
      font-size: 1.25rem;
    }
  }
  .issues-list .list-item {
    display:grid;
    grid-template-columns: 2fr 3fr;
    gap: 2rem;
    align-items: center;
    margin-bottom: 2rem;
  }
  .issues-list .issus-img {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-grow: 1;
    margin-bottom: 0;
  }
  .issues-list .issus-img img{
    max-width: 100px;
  }
  .issues-list .issus-caption {
    font-size: 1.5rem;
  }
  .section-solution {
    margin-top: 12rem;
    @media screen and (min-width: 1024px) {
      margin-top: 6rem;
    }
  }
  .section-solution .section-title {
    border-bottom: 1px solid var(--black);
    margin-bottom: 2rem;
    padding-bottom: .75rem;
    @media screen and (min-width: 1024px) {
      padding-left:.5rem;
    }
  }
  .section-solution .section-title > *{
    @media screen and (min-width: 768px) {
      display: inline-flex;
    }
  }
  .solution-desc * {
    @media screen and (min-width: 768px) {
      letter-spacing: .088rem;
    }
  }
  .solution-step {
    margin-top: 5rem;
  }
  .solution-step .step{
    display: grid;
    grid-template-columns: 3fr 5fr;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1rem;
  }
  .solution-step .step-img {
    text-align: center;
    padding: .5rem;
    margin: 0;
  }
  .solution-step .arrow {
    padding-left: calc(3/8 * 50%);
  }
  .solution-step .arrow img{
    transform: translateX(-12px);
    width: 24px;
    @media screen and (min-width: 1024px) {
      width: auto;
    }
  }
  .solution-step .step-desc {
    @media screen and (min-width: 1024px) {
      font-size: 1.15rem;
      letter-spacing: .088rem;
    }
  }
  .section-solution,
  .casestudy {
    .section-title .section-title_main{
      @media screen and (min-width: 1024px) {
        font-size:1.8rem;
        font-weight: 200;
      }
    }
  }
}

/*== サービス - 資金繰りの最適化 ==*/
.financing #body-wrapper {
  .solution-step {
    @media screen and (min-width: 1024px) {
      margin-top: 3rem;
    }
  }
  .solution-step .step-img img {
    max-width: 100px;
    @media screen and (min-width: 768px) {
      max-width: 100%;
    }
  }
  .solution-step .step_2{
    margin: 1rem 0;
    @media screen and (min-width: 1024px) {
      margin-bottom: 0;
    }
  }
  .solution-step .step_3{
    margin-top: 1rem;
    @media screen and (min-width: 1024px) {
      margin-top: .5rem;
    }
  }
}


/*== サービス - 保障の最適化 ==*/
.assurance #body-wrapper {
  .issues-list {
    @media screen and (min-width: 768px) {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: 2rem;
    }
  }
  .issues-list .issus-img img {
    max-width: 90px;
    @media screen and (min-width: 1024px) {
      max-width: 100%;
    }
  }
  .issues-list .list-item {
    @media screen and (min-width: 1024px) {
      gap: 1rem;
    }
  }
  .issues-list .issus-caption {
    @media screen and (min-width: 1024px) {
      font-size: 1.25rem;
    }
  }
  .caption_note {
    display: block;
    font-size: 1.3rem;
    line-height: 1.8;
    text-indent: -.5rem;
    @media screen and (min-width: 1024px) {
      font-size: 1rem;
    }
  }
  .solution-step {
    @media screen and (min-width: 1024px) {
      margin-top: 2.5rem;
    }
  }
}

/*== サービス - 事業継承対策 ==*/
.businesssuccession #body-wrapper {
  @media screen and (min-width: 768px) {
    .solution-grid-box{
      display: grid;
      grid-template-columns: repeat(3,1fr);
    }
    .issues-list {
      display: grid;
      grid-template-columns: repeat(3,1fr);
    }
    .issues-list .list-item {
      display: block;
      text-align: center;
    }
    .issues-list .issus-img {
      display: block;
      text-align: center;
    }
    .issues-list .issus-img img{
      max-width:100%;
    }
    .issues-list .issus-caption {
      text-align: center;
      padding: 1rem 0;
    }
  }
  .issues-list .issus-caption {
    @media screen and (min-width: 1024px) {
      font-size: 1.25rem;
    }
  }
  .solution-grid-box .grid-item{
    display: grid;
    grid-template-columns: minmax(0,45%) minmax(0,65%);
    align-items: center;
    gap: 2rem;
    @media screen and (min-width: 768px) {
      display: block;
    }
  }
  .solution-step {
    @media screen and (min-width: 1024px) {
      margin-top: 1rem;
    }
  }
  .solution-step .step {
    display: block;
  }
  .solution-step .step_1 .step-img {
    padding: 0;
  }
  .solution-step .step_1 .grid-item:nth-child(2) img,
  .solution-step .step_1 .grid-item:nth-child(3) img{
    max-width:80% ;
    @media screen and (min-width: 768px) {
      max-width:100%;
    }
  }
  .solution-step .step_1 .step-desc {
    line-height: 1.8;
    @media screen and (min-width: 768px) {
      text-align: center;
    }
    @media screen and (min-width: 1024px) {
      font-size: 1.125rem;
    }
  }
  .solution-step .arrow {
    padding: 0;
    width: 100%;
    text-align: center;
  }
  .solution-step .arrow img{
    transform: translateX(0);
  }
  .solution-step .step_2 {
    margin-top: 2rem;
    @media screen and (min-width: 768px) {
      display: grid;
      grid-template-columns: 2fr 3fr;
    }
  }
  .solution-step .step_2 .step-img{
    text-align: center;
    @media screen and (min-width: 768px) {
    }
  }
  .solution-step .step_2 .step-desc{
    text-align: center;
    padding: 1rem 0;
    font-size: 1.5rem;
    letter-spacing: .1rem;
    @media screen and (min-width: 768px) {
      text-align: left;
      font-size: 1.8rem;
    }
    @media screen and (min-width: 1024px) {
      font-size: 1.25rem;
    }
  }
}

/*== お客様の声 ==*/
.voice-archive #body-wrapper,
.voice-single  #body-wrapper{
  @media screen and (min-width:768px){
    .section-related .entry-grid,
    .archive-section .entry-grid {
      display: grid;
      grid-template-columns: repeat(2,minmax(0,1fr));
      gap:2rem;
    }
    .section-related .entry-grid .entry-clients,
    .archive-section .entry-grid .entry-clients {
      margin-top: 0;
    }
  }
}

/*== お客様の声 - 記事ページのみ ==*/
.voice-single #body-wrapper {
  .section-interview .section-main {
    .eyecatch {
      text-align: center;
    }
    .eyecatch img{
      height: auto;
      border-radius: 10px;
    }
    .section-title_label {
      font-family:"Oswald";
      font-weight: 200;
      font-size: 2rem;
      letter-spacing: .2rem;
      line-height: 1.6;
      padding-bottom: 1rem;
      margin-bottom: 2.2rem;
      border-bottom: 1px solid var(--black);
      @media screen and (min-width:1024px){
        font-size: 1.6rem;
      }
    }
    .section-title_main{
      font-family:"Noto Sans JP";
      font-size:2.2rem;
      font-weight: 700;
      line-height: 1.5;
      @media screen and (min-width:1024px){
        margin-bottom: 2rem;
      }
    }
    .person {
      margin-top: 2rem;
      @media screen and (min-width:1024px){
        margin-top: 3rem;
      }
    }
    .person-item {
      display: grid;
      gap: 2rem;
      grid-template-columns: 1fr 3fr;
      @media screen and (max-width:1023px){
        max-width: 670px;
        margin:0 auto
      }
      @media screen and (min-width:1024px){
        grid-template-columns: 1fr 4fr;
      }
    }
    .person-photo {
      text-align: center;
      @media screen and (min-width:1024px){
        padding-top: 1.4rem;
      }
    }
    .person-name *{
      display: inline-block;
    }
    .person-name_label {
      font-size: 1.1rem;
      color: var(--main-color);
      vertical-align: middle;
      padding-right: .4rem;
      @media screen and (min-width:1024px){
        font-size: .875rem;
      }
    }
    .person-name_main {
      font-weight: 500;
      font-size: 1.5rem;
      vertical-align: middle;
    }
    .person-bio {
      font-size: 1.3rem;
      @media screen and (min-width:1024px){
        font-size: 1rem;
      }
    }
    .overview {
      margin-top: 4rem;
      padding: 2rem 0;
      border-width:2px 0;
      border-color: var(--black);
      border-style: solid;
    }
    .overview *{
      font-size: 1.75rem;
      font-weight: 500;
      margin: 0;
      letter-spacing: 0;
      @media screen and (min-width:1024px){
        font-size: 1.22rem;
      }
    }
    .interview {
      margin: 5rem 0 8rem;
    }
    .interview-title {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.8;
      letter-spacing: .2rem;
      margin-bottom: 3rem;
      @media screen and (min-width:1024px){
        font-size: 1.6rem;
        margin-bottom: 2rem;
      }
    }
    .interview-title *{
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
      letter-spacing: inherit;
    }
    .interview-topic {
      color: var(--main-color);
      line-height: 1.8;
      margin-bottom: 3rem;
      font-weight: 500;
      font-size: 1.5rem;
      @media screen and (min-width:1024px){
        font-size: 1.125rem;
        margin-bottom: 1.5rem;
      }
    }
    .interview-res {
      margin-bottom: 2.4rem;
      @media screen and (min-width:1024px){
        margin-bottom: 3rem;
      }
    }
    .interview-res * {
      margin-bottom: 0;
      font-size: 1.4rem;
      @media screen and (min-width:1024px){
        font-size: 1rem;
      }
    }
    .interview-img {
      margin-top: 4rem;
      text-align: center;
      @media screen and (min-width:1024px){
        margin-top: 6rem;
      }
    }
    .interview-img img{
      max-width: 90%;
      @media screen and (min-width:1024px){
        border-radius: 8px;
        max-width: 75%;
      }
    }
    .interview-res_main p{
      margin-bottom: 2rem;
    }
  }
  .section-related {
    margin-top: 15rem;
    .section-header {
      padding: 0 0 1rem;
      margin-bottom: 3rem;
      border-bottom: 1px solid var(--black);
      @media screen and (min-width:1024px){
        padding:0 0 0 .5rem;
        & > *{
          display: inline-flex;
        }
      }
    }
  }
}

/*== スタッフ紹介 ==*/
.staff #body-wrapper {
  .page-chatch {
    letter-spacing: .2rem;
  }
  .page-message {
    font-weight: 500;
    margin-top: 2.4rem;
    font-size: 1.6rem;
  }
  .section-sep {
    margin-top: 10rem;
    @media screen and (min-width:1024px){
      margin-bottom: 5rem;
    }
  }
  .section-sep .section-title {
    border-width: 1px 0;
    border-style: solid;
    border-color: var(--black);
    padding: 1rem 2rem 0;
    @media screen and (min-width:1024px){
      padding: 1rem 0;
    }
  }
  .section-sep .section-title_main {
    @media screen and (min-width:1024px){
      font-size: 3rem;
      letter-spacing: .3rem;
    }
  }
  .section-sep .section-title_sub {
    @media screen and (min-width:1024px){
      font-size: 1.2rem;
      padding-left: .8rem;
      letter-spacing: .3rem;
    }
  }

  .section-profile,.section-sep {
    .section-title_main,.section-title_sub {
      display: inline-block;
    }
  }
  
  .section-profile {
    margin-bottom: 10rem;
    @media screen and (min-width:768px){
      margin-bottom: 20rem;
    }
    .section-inner {
      max-width: 1024px;
    }
    .show_only_24-10 {
      display: none;
      @media screen and (min-width:1024px) and (max-width:1109px){
        display: inline-block;
      }
    }
    .profile-grid-box {
      @media screen and (min-width:1024px){
        grid-template-areas:"main img";
        grid-template-columns:7fr 4fr;
        gap: 5rem;
      }
    }
    .profile-img {
      text-align: center;
      margin: 4.8rem 0 2.8rem;
      grid-area: img;
      @media screen and (min-width:1024px){
        text-align: right;
        margin-top: 1rem;
      }
    }
    .profile-img img{
      @media screen and (max-width:1023px){
        max-width: 65%;
      }
    }
    .profile-main {
      grid-area: main;
    }
    .profile-main .section-title {
      padding: 0 .8rem;
      @media screen and (min-width:1024px){
        padding-bottom: 1.4rem;
      }
    }
    .profile-main .section-title_main {
      font-weight: 500;
      font-family: "Noto Sans JP";
      font-size: 2.4rem;
      @media screen and (min-width:1024px){
        font-size: 2rem;
      }
    }
    .profile-main .section-title_sub {
      font-family: "Oswald";
      font-weight: 200;
      font-size: 1.6rem;
      letter-spacing: .15rem;
      padding-left: 1.2rem;
      @media screen and (min-width:1024px){
        font-size: 1.2rem;
      }
    }
    .profile-main .section-body {
      border-top: 1px solid var(--black);
      margin: 0;
      padding: 3.4rem 0;
      @media screen and (min-width:1024px){
        padding: 2.4rem 0;
      }
    }
    .profile-main ul li{
      padding-bottom: 2rem;
      @media screen and (min-width:768px){
        padding-bottom: .4rem;
      }
    }
    .profile-main ul li:last-child{
      padding-bottom: 0;
    }
    .profile-main h4 {
      margin-bottom: 2rem;
      @media screen and (min-width:1024px){
        margin-bottom: 1rem;
      }
    }
    .profile-main .career-list li{
      line-height: 2;
      padding-bottom: .4rem;
      letter-spacing: .04rem;
    }
  }
  .section-message {
    @media screen and (min-width:768px){
      display: grid;
      grid-template-columns: 45% 1fr;
      margin-top: 4rem;
    }
    @media screen and (min-width:1024px){
      grid-template-columns: repeat(2,1fr);
    }
    @media screen and (min-width:1280px){
      align-items: center;
    }
    .body-img {
      position: relative;
    }
    .body-heroimg {
      padding-right: 20%;
      @media screen and (min-width:768px){
        padding: 0;
        object-fit: cover;
        width:100%;
        height: auto;
      }
    }
    .body-herotitle {
      position: relative;
      top: -2rem;
      width: 60%;
      left: 96%;
      transform: translateX(-100%);
      @media screen and (min-width:768px){
        width: 84%;
        top: 0;
        left:-6.8rem;
        transform: translateX(0);
      }
      @media screen and (min-width:1024px){
        position: absolute;
        width:auto;
        left: -2.8rem;
      }
    }
    .body-main {
      padding: 1rem 1.4rem;
      position: relative;
      @media screen and (min-width:768px){
        padding: 0 4rem;
      }
      @media screen and (min-width:1024px){
        padding:116px 0 2rem 8%;
        max-width:calc(960px / 2);
      }
      @media screen and (min-width:1280px){
        max-width: calc(1024px / 2);
      }
      @media screen and (min-width:1440px){
        padding-left: 10%;
      }
    }
    .body-main p{
      margin: 0;
    }
  }
  .page-footer {
    margin-bottom: 6rem;
    .button-wrapper{
      text-align: center;
    }
    .button{
      width: 75%;
      padding-top: 1.6rem;
      padding-bottom: 1.6rem;
      @media screen and (min-width:1024px){
        width: 40%;
      }
    }
  }
}


/*== FREE STYLE について ==*/
.aboutus #body-wrapper {
  .page-header {
    .with_bg {
      margin-bottom: 0;
    }
    .bg_img {
      margin-top: 3.8rem;
    }
    .section-herotitle {
      max-width: 54%;
      padding: 5.5rem 0 3rem;
    }
    .section-footer {
      padding-bottom:5.25rem;
    }
    .section-footer p{
      text-align: right;
    }
    .label-position {
      font-size: 3.4vw;
      letter-spacing: .2rem;
    }
    .label-name {
      font-size: 4.2vw;
      letter-spacing: .2rem;
      padding-left: 8vw;
    }
    @media screen and (min-width:500px) {
      .label-position {
        font-size: 1.7rem;
      }
      .label-name {
        font-size: 2rem;
        padding-left: 4rem;
      }
    }
    @media screen and (min-width:768px) {
      .section-title {
        position: relative;
      }
      .bg_img {
        position: absolute;
        right: 0;
        top: 0;
        max-width: 50%;
      }
      .section-body,
      .section-footer {
        position: relative;
        z-index: 2;
        max-width: 560px;
        left: 10%;
      }
      .page-desc p{
        letter-spacing: .15rem;
      }
    }
    @media screen and (min-width:1024px){
      .label-position {
        font-size: 1.2rem;
      }
      .label-name {
        font-size: 1.45rem;
        padding-left: 40px;
      }
      .section-sep_movie {
        aspect-ratio: 3 / 1; 
        overflow: hidden;
      }
      .section-sep_movie video {
        object-fit:cover;
        object-position: center 25% ;
      }
    }
  }
  .embet-map {
    @media screen and (min-width:768px) {
      aspect-ratio: 2 / 1;
    }
  }
}

/*== 沿革 ==*/
.history #body-wrapper {
  @media screen and (max-width: 1023px){
    .bg_img {
      width: 100%;
      margin: 10rem 0 5rem;
    }
  }
  @media screen and (min-width: 1024px){
    .bg_img {
      margin: 3rem 0 0;
    }
  }
}

/*== お知らせ - 一覧 ==*/
.news #body-wrapper {
}

/*== お問い合わせ ・ 採用エントリーフォーム ==*/
.entry #body-wrapper,
.contact #body-wrapper {
  .button-wrapper,
  .button-wrapper *{
    text-align: center;
  }
  .section-body a{
    font-weight: 500;
    text-decoration: underline;
  }
  .cf-turnstile {
    text-align: center;
    margin-top: 2rem;
  }
}

/*== 採用 ==*/
.recruit #body-wrapper {
  .page-header {
    margin-bottom: 5rem;
  }
  .section-internal {
    margin-bottom: 10rem;
  }
  .internal-list {
    border-top: 1px solid var(--black);
    .list-item{
      display: grid;
      grid-template-columns: minmax(0,1fr) minmax(0,2fr);
      column-gap: 1rem;
      align-items: center;
      padding: 3rem 0;
      border-bottom: 1px solid var(--black);
      @media screen and (min-width:768px) {
        padding: 2.5rem 0;
        grid-template-columns: minmax(0,1fr) minmax(0,3fr);
      }
    }
    .section-header{
      text-align: center;
      padding: 0;
    }
    .section-body {
      margin: 0;
      @media screen and (min-width:768px) and (max-height:1023px) {
        padding-right: 2rem;
      }
    }
    .body-title {
      border: none;
      font-family: "Noto Sans JP";
      padding:0;
      margin-bottom: 1.5rem;
      font-size: 1.6rem;
      font-weight: 500;
      @media screen and (min-width:500px) {
        font-size: 1.8rem;
      }
      @media screen and (min-width:1024px) {
        font-size: 1.4rem;
        font-weight: 700;
        margin-bottom: 1rem;
      }
    }
    .body-subtitle {
      margin-bottom: 0;
    }
  }
  .body-footer {
    margin-top: 6rem;
    @media screen and (min-width:1024px) {
      margin-top: 4rem;
    }
    .body-footer-chatch {
      font-weight: 500;
      font-size:1.8rem;
      @media screen and (min-width:1024px) {
        font-size: 1.4rem;
      }
    }
    .button-wrapper {
      text-align: center;
      margin-top: 4rem;
      @media screen and (min-width:1024px) {
        text-align: left;
      }
    }
    .button {
      width: 75%;
      @media screen and (min-width:1024px) {
        width: 50%;
        text-align: center;
      }
    }
  }
}


/*== プライバシーポリシー / 業務運営方針 ==*/
.privacy-policy #body-wrapper ,
.fiduciary-duty #body-wrapper{
  section {
    margin-bottom: 8rem;
  }
  .page-header,
  .page-header > * {
    margin-bottom: 3rem;
    line-height: 1.8;
  }
  .page-header .section-title-sub {
    font-weight: 500;
  }
  .with_margin {
    margin-bottom: 3rem;
    @media screen and (min-width:1024px){
      margin-bottom: 2rem;
    }
  }

  .section-body > .list-item {
    padding-bottom:6rem ;
    .item-body {
      margin-bottom:2.8rem;
    }
    .item-body:last-child {
      margin-bottom: 0;
    }
    .item-title {
      margin-bottom: 3rem;
    }
    .item-title > *{
      font-size: 2rem;
    }
    &:last-of-type {
      padding-bottom: 0;
    }
    .body-title {
      padding-bottom: .2rem;
    }
    .body-title_no {
      line-height: 1.8;
      padding-right: 1.4rem;
      @media screen and (min-width:500px) {
        font-size: 2.4rem;
      }
      @media screen and (min-width:1024px){
        font-size: 1.8rem;
      }
    }
    .body-title_main {
      line-height: 2;
      font-size: 4.8vw;
      @media screen and (min-width:500px) {
        font-size: 2rem;
      }
      @media screen and (min-width:1024px){
        font-size: 1.4rem;
      }
    }
  }
  .pickup-list {
    margin: 2.5rem 0;
    padding: 2rem;
    background: var(--gray-light);
    @media screen and (min-width:1024px) {
      padding: 2rem 1.4rem;
    }
    .list-item,
    .list-item *{
      line-height: 1.8;
      padding-bottom: 2rem;
      letter-spacing: .2rem;
      @media screen and (min-width:500px) {
        letter-spacing: .1rem;
        padding-bottom: .75rem;
      }
      @media screen and (min-width:1024px) {
        line-height: 1.6;
        font-size: .93rem;
      }
    }
    .list-item:last-of-type {
      padding-bottom: 0;
    }
    b {
      @media screen and (max-width:1023px){
        font-weight: 400;
      }
    }
  }
  .table-style {
    display: block;
    @media screen and (min-width:768px) {
      display: grid;
      grid-template-columns: 55% 45%;
    }
  }
  .table-style .td,
  .table-style .th {
    letter-spacing: .1rem;
    padding: 1rem 0 0;
  }
  .table-style .td:last-child {
    padding-bottom: 1rem;
  }  
  .table-style .th:last-child {
    @media screen and (min-width:768px) {
      padding-bottom: 1rem;
    }
  }
  .partner-list {
    margin-top: 7.2rem;
    .with_braces {
      margin-left: -.75rem;
    }
  }
  .partner-list .table-style {
    @media screen and (min-width:1024px) {
      gap: 0;
      margin-top: .5rem;
    }
  }
  .partner-list .table-style .th,
  .partner-list .table-style .td{
    @media screen and (min-width:1024px) {
      padding-top: .6rem;
    }
  }
  .detail-list {
  }
  .detail-list-item {
    padding-bottom: 4rem;
    @media screen and (min-width:1024px) {
      padding-bottom:2.6rem;
    }
  }
  .detail-title {
    margin-left: -.5rem;
    margin-bottom: .75rem;
  }
  .contact-info {
    grid-template-columns: 1fr 2fr;
    border-top: 1px solid var(--black);
    margin-top: 3rem;
    @media screen and (min-width:768px) {
      gap:0;
    }
    .th,.td {
      padding: .5rem 1.4rem;
      border-bottom: 1px solid var(--black);
      @media screen and (min-width:1024px) {
        padding: .5rem;
      }
    }
    .th {
      background-color: var(--gray-light);
      border-left: 1px solid var(--black);
      border-right: 1px solid var(--black);
      line-height: 1.4;
      display: flex;
      align-items: center;
      @media screen and (min-width:1024px) {
        justify-content: center;
        text-align: center;
      }
    }
    .td {
      border-right: 1px solid var(--black);
      line-height: 1.8;
      display: flex;
      align-items: center;
      @media screen and (max-width:767px) {
        border-left: 1px solid var(--black);
      }
    }
    .td * {
      line-height: inherit;
    }
    .td_inner {
      @media screen and (min-width:768px) {
        padding-left: 1.75rem;
      }
    }
  }
  .policy-list {
    margin-bottom: 2rem;
  }
  .section-privacy .section-footer {
    @media screen and (min-width:1024px) {
      margin-top: 0;
    }
  }
  .section-solicitation .section-title {
    margin-bottom: 2rem;
  }
  .section-solicitation .section-footer {
    margin-top: 10rem;
    @media screen and (min-width:1024px) {
      margin-top: 4rem;
    }
  }
  .section-fd {
    .page-header {
      margin-bottom: 0;
    }
    .section-title_main {
      display: block;
    }
    .policy-above {
      margin-bottom: 4rem;
    }
    .section-footer{
      margin-top: 8rem;
    }
    .section-footer p{
      text-align: right;
    }
    .detail-title {
      margin-top: .4rem;
    }
  }
}

/*== 404 ==*/
.notfound_page #body-wrapper {
  & * {
    text-align: center;
  }
  .section-title,
  .section-title * {
    @media screen and (min-width:1024px){
      text-align: left;
    }
  }
}