@charset "UTF-8";
/*---------------------
 common
---------------------*/
html {
  --color--black: #000;
  --color--white: #FFF;
  --color--main: #0B5988;
  --color--sub1: #037722;
  --color--sub2: #5B350E;
  --color--sub3: #D96704;
  --color--sub4:#498ab2;
  --color--bg: #EAF2F7;
  --color--bgg: #EEF9F1;
  --color--bgb: #C4E1F3;
  --color--lgray: #f4f4f4;
  --color--gray: #DDD;
  --color--dgray: #AAA;
  --color--line: #CCC;
  --color--yellow: #FAFF11;
  --color--red: #B4090F;
  scroll-behavior: smooth;
  scroll-padding-top: 140px; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  letter-spacing: 0; }

img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast; }

a img {
  transition: all ease-in-out 0.3s; }
  a img:hover {
    transform: scale(1.03); }

main {
  overflow-x: clip; }

section {
  position: relative; }

.section_inner {
  max-width: 1220px;
  padding: 0 15px;
  margin: 0 auto; }

.section_inner_s {
  max-width: 1000px;
  padding: 0 15px;
  margin: 0 auto; }

a {
  color: var(--color--black);
  text-decoration: none; }
  a.boxlink {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  a.noline {
    text-decoration: none; }
    a.noline:hover {
      text-decoration: underline; }
  a:hover {
    text-decoration: underline; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.f-large {
  font-size: 1.25em; }

.f-small {
  font-size: 0.9em; }

.f-xsmall {
  font-size: 0.8em; }

.f-xxsmall {
  font-size: 0.6em; }

.f-red {
  color: var(--color--red); }

.f-main {
  color: var(--color--main); }

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9; }

.youtube iframe {
  width: 100%;
  height: 100%; }

.boxshadow {
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.4); }

@media (max-width: 1220px) {
  .mw250 {
    max-width: 360px;
    margin: 0 auto; } }
@media (max-width: 767px) {
  .hide-sp {
    display: none; }

  .sp-small {
    font-size: 0.8em; }

  .mw250 {
    max-width: 250px;
    margin: 0 auto; }

  figure {
    margin: 0 10px; } }
@media (min-width: 768px) {
  .show-sp {
    display: none; } }
@media (max-width: 767px) {
  .show-pc {
    display: none; } }
h1,
h2,
h3 {
  font-family: 'Noto Serif JP', serif;
  font-weight: 600 !important; }

.mb10 {
  margin-bottom: 10px; }

.mb20 {
  margin-bottom: 20px; }

/*---------------------
 svg
---------------------*/
.svg-sprite {
  position: relative;
  z-index: -1;
  width: 0;
  height: 0;
  display: none; }

/*---------------------
 video
---------------------*/
.video_wrapper {
  width: 100%;
  aspect-ratio: 16 / 9; }

.video_wrapper iframe {
  width: 100%;
  height: 100%; }

/*---------------------
 header
---------------------*/
.exLink ul {
  padding: 0;
  margin: 0;
  display: flex; }
  .exLink ul li {
    flex: 1;
    text-align: center;
    list-style: none;
    font-size: clamp(0.8em, 0.9vw, 0.9em); }
    .exLink ul li a {
      display: block;
      padding: 5px 2px;
      background: var(--color--gray);
      border-right: 2px solid var(--color--white); }
      .exLink ul li a.current {
        background-color: var(--color--main);
        color: var(--color--white); }
    .exLink ul li:last-child a {
      border-right: none; }

@media (max-width: 767px) {
  .exLink ul {
    display: flex; }
    .exLink ul li {
      flex: auto; }
      .exLink ul li a {
        padding: 5px 1px; } }
/*---------------------
 header
---------------------*/
#gHeader {
  position: sticky;
  top: 0;
  z-index: 100;
  transition: all linear 0.3s;
  background: var(--color--white);
  height: auto !important;
  font-size: 15px; }
  #gHeader .section_inner {
    margin: 0 auto; }
    #gHeader .section_inner .gHeader_logo {
      display: flex;
      align-items: center; }
      #gHeader .section_inner .gHeader_logo .logo {
        width: 400px;
        height: 45px;
        margin: 0;
        text-indent: -9999px; }
        #gHeader .section_inner .gHeader_logo .logo a {
          display: block;
          width: 450px;
          height: 47px;
          background: url(../img/logo.webp) no-repeat;
          background-size: contain; }
      #gHeader .section_inner .gHeader_logo .menus {
        width: 100%; }
        #gHeader .section_inner .gHeader_logo .menus ul {
          display: flex;
          list-style: none;
          justify-content: flex-end;
          margin: 0 0 0 10px;
          padding: 0; }
          #gHeader .section_inner .gHeader_logo .menus ul li {
            position: relative; }
            #gHeader .section_inner .gHeader_logo .menus ul li.tel {
              width: 60%;
              padding: 5px 0; }
              #gHeader .section_inner .gHeader_logo .menus ul li.tel .time {
                padding-bottom: 2px;
                display: flex;
                align-items: center;
                justify-content: center; }
                #gHeader .section_inner .gHeader_logo .menus ul li.tel .time strong {
                  font-weight: 600;
                  font-size: 2.3em;
                  line-height: 1;
                  background: url("../img/icon_tel.svg") no-repeat;
                  background-size: 20px;
                  background-position: center left;
                  padding-left: 25px; }
                #gHeader .section_inner .gHeader_logo .menus ul li.tel .time span {
                  padding-left: 7px;
                  line-height: 1.3; }
                #gHeader .section_inner .gHeader_logo .menus ul li.tel .time .icon {
                  padding-left: 10px;
                  width: 80px; }
              #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button {
                background: var(--color--sub1);
                color: var(--color--white);
                padding: 2px 6px;
                text-align: center;
                border: 2px solid var(--color--sub1);
                transition: all ease-in-out 0.2s; }
                #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button:hover {
                  background: #024514; }
                #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__green {
                  background: var(--color--white);
                  border: 2px solid var(--color--sub1);
                  color: var(--color--sub1); }
                  #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__green:hover {
                    background: var(--color--sub1);
                    color: var(--color--white); }
                #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__white {
                  background: var(--color--white);
                  color: var(--color--main);
                  border: 2px solid var(--color--main); }
                  #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__white:hover {
                    background: var(--color--main);
                    color: var(--color--white); }
            #gHeader .section_inner .gHeader_logo .menus ul li .submenu {
              display: none;
              left: -10px;
              width: 220px;
              z-index: 101;
              /*メインのsubmenuよりも上に*/ }
              #gHeader .section_inner .gHeader_logo .menus ul li .submenu li a {
                display: block;
                padding: 15px;
                color: var(--coloe--black);
                font-weight: 600;
                font-size: 1em;
                transition: all ease-in-out 0.3s; }
                #gHeader .section_inner .gHeader_logo .menus ul li .submenu li a:hover {
                  background: var(--color--main);
                  color: var(--color--white); }
            #gHeader .section_inner .gHeader_logo .menus ul li:hover .submenu {
              display: block; }
            #gHeader .section_inner .gHeader_logo .menus ul li.icon {
              align-items: center;
              display: flex; }
            #gHeader .section_inner .gHeader_logo .menus ul li.contact {
              background: var(--color--sub1);
              margin-left: 10px;
              font-weight: 600;
              display: block; }
              #gHeader .section_inner .gHeader_logo .menus ul li.contact a {
                padding: 5px 15px;
                color: var(--color--white);
                height: 100%; }
                #gHeader .section_inner .gHeader_logo .menus ul li.contact a picture {
                  display: block;
                  padding: 5px;
                  text-align: center;
                  margin: 4px auto; }
            #gHeader .section_inner .gHeader_logo .menus ul li.login {
              background: var(--color--sub2);
              font-weight: 600;
              display: block; }
              #gHeader .section_inner .gHeader_logo .menus ul li.login a {
                padding: 5px 15px;
                color: var(--color--white);
                height: 100%; }
                #gHeader .section_inner .gHeader_logo .menus ul li.login a picture {
                  display: block;
                  padding: 5px;
                  text-align: center; }
            #gHeader .section_inner .gHeader_logo .menus ul li a {
              display: block;
              font-size: 0.8em; }
    #gHeader .section_inner .toggler {
      display: none;
      z-index: 10; }

@media (min-width: 1000px) and (max-width: 1200px) {
  #gHeader .section_inner .gHeader_logo .logo {
    width: 300px;
    height: 31px; }
    #gHeader .section_inner .gHeader_logo .logo a {
      width: 300px;
      height: 31px;
      background: url(../img/logo.webp) no-repeat;
      background-size: contain; }
  #gHeader .section_inner .gHeader_logo .menus {
    width: 100%; }
    #gHeader .section_inner .gHeader_logo .menus ul li.tel {
      width: 60%; }
      #gHeader .section_inner .gHeader_logo .menus ul li.tel .time strong {
        font-size: 1.8em;
        line-height: 1; }
      #gHeader .section_inner .gHeader_logo .menus ul li.tel .time span {
        font-size: 0.8em; }
      #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button {
        font-size: 0.8em; }
        #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button:hover {
          background: #2f1b07; }
        #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__green {
          background: var(--color--main);
          border: 2px solid var(--color--main); }
          #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__green:hover {
            background: #073a59; }
        #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__white {
          background: var(--color--white);
          color: var(--color--main);
          border: 2px solid var(--color--main); }
          #gHeader .section_inner .gHeader_logo .menus ul li.tel .menus__button.menus__button__white:hover {
            background: var(--color--main);
            color: var(--color--white); }
    #gHeader .section_inner .gHeader_logo .menus ul li .submenu li a {
      display: block;
      padding: 5px 15px;
      color: var(--coloe--black);
      font-weight: 600;
      font-size: 1em;
      transition: all ease-in-out 0.3s; }
      #gHeader .section_inner .gHeader_logo .menus ul li .submenu li a:hover {
        background: var(--color--main);
        color: var(--color--white); }
    #gHeader .section_inner .gHeader_logo .menus ul li a {
      padding: 5px 10px;
      display: block;
      font-size: 0.8em; }
  #gHeader .section_inner .toggler {
    display: none;
    z-index: 10; } }
@media (max-width: 999px) {
  #gHeader .section_inner .gHeader_logo {
    width: 100%;
    display: none;
    text-align: center; }
    #gHeader .section_inner .gHeader_logo .logo {
      width: 290px;
      height: 33px;
      text-indent: -9999px;
      margin: 20px 0;
      padding: 0; }
      #gHeader .section_inner .gHeader_logo .logo a {
        display: block;
        width: 290px;
        height: 33px;
        background: url(../img/logo_sp.webp) no-repeat;
        background-size: contain; }
  #gHeader .section_inner .menus {
    display: none; } }
@keyframes navIn {
  0% {
    transform: translate(0, -150px); }
  100% {
    transform: translate(0, 0); } }
.gNav {
  border-top: 1px solid var(--color--line);
  border-bottom: 1px solid var(--color--line);
  background: var(--color--white); }
  .gNav.fixed .menu li.home {
    display: block; }
  .gNav .menu {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: space-around;
    border-left: 1px solid var(--color--line); }
    .gNav .menu li {
      position: relative;
      text-align: center;
      border-right: 1px solid var(--color--line);
      flex-grow: 1; }
      .gNav .menu li.home {
        display: none; }
      .gNav .menu li br {
        display: none; }
      .gNav .menu li a {
        display: block;
        background: var(--color--white);
        padding: 15px 10px;
        font-weight: 600;
        transition: all ease-in-out 0.3s; }
        .gNav .menu li a:hover, .gNav .menu li a.current {
          background: var(--color--main);
          color: var(--color--white); }

/* 子メニューのスタイル */
ul.submenu {
  display: none;
  position: absolute;
  /* 親メニューの下に絶対位置で表示 */
  top: 100%;
  left: 0;
  width: 360px;
  /* サブメニューの幅を固定 */
  list-style-type: none;
  padding: 0;
  margin: 0;
  background-color: var(--color--white);
  box-shadow: 0 0 5px rgba(3, 3, 0, 0.2);
  z-index: 100;
  /* サブメニューが前面に来るように */ }
  ul.submenu li a {
    font-weight: 400;
    display: block;
    background-color: #fff;
    text-align: left;
    color: #555;
    font-size: 0.8em; }
    ul.submenu li a span {
      padding-left: 1.5em; }
    ul.submenu li a i {
      display: inline-block;
      position: relative;
      width: 20px;
      height: 100%; }
      ul.submenu li a i:before {
        position: absolute;
        top: -8px;
        left: 0;
        display: block;
        content: '';
        width: 13px;
        height: 3px;
        transform: rotate(30deg);
        transform-origin: center right;
        background: #e9c000; }
      ul.submenu li a i:after {
        position: absolute;
        top: -8px;
        left: 0;
        display: block;
        content: '';
        width: 13px;
        height: 3px;
        transform: rotate(-30deg);
        transform-origin: center right;
        background: #e9c000; }
    ul.submenu li a:hover strong {
      color: var(--color--white); }
      ul.submenu li a:hover strong i {
        color: var(--color--white); }
  ul.submenu li strong {
    display: block;
    font-weight: 600;
    font-style: normal;
    font-size: 1.1em;
    color: var(--color--black);
    transition: all ease-in-out 0.3s; }

/* PCマウスオーバーでサブメニュー表示 */
ul.menu li:hover > ul.submenu {
  display: block; }

/* タブレット用スタイル */
@media (max-width: 999px) {
  .gNav .menu > li {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.9em; }
    .gNav .menu > li br {
      display: block; }

  ul.submenu {
    width: 270px;
    /* サブメニューの幅を固定 */ } }
/* スマホ用スタイル */
@media (max-width: 999px) {
  #gHeader .section_inner .menus {
    display: none; }
  #gHeader .section_inner .logo {
    padding: 20px 0; }
    #gHeader .section_inner .logo img {
      width: 270px; }

  .gNav {
    border: none; }

  .pc-nav {
    display: none; }

  .sp-nav ul.menu {
    display: block;
    /* 親メニューを縦並びに */ }

  .sp-nav ul.menu li {
    display: block;
    margin-right: 0;
    text-align: left;
    border-bottom: 1px solid #CCC; }

  .sp-nav ul.submenu {
    position: relative;
    /* スマホでも絶対位置で表示 */
    display: none;
    width: 100%;
    box-shadow: none; }
    .sp-nav ul.submenu li {
      border-bottom: none;
      border-top: 1px solid #CCC; }
      .sp-nav ul.submenu li a {
        padding: 10px 10px 10px 2em; }
      .sp-nav ul.submenu li:last-child a {
        border: none; } }
/*---------------------------
 * button
 * -------------------------*/
a.button {
  background: var(--color--main);
  position: relative;
  color: var(--color--white);
  text-align: center;
  cursor: pointer;
  padding: 10px 20px;
  display: block;
  font-size: clamp(1.1em, 1.4vw, 1.4em);
  font-weight: 600;
  transition: all linear 0.2s; }
  a.button i {
    position: absolute;
    right: 10px;
    top: 35%; }
    a.button i img {
      width: 25px; }
  a.button:hover {
    background: #073a59;
    text-decoration: underline; }
  a.button.dark {
    background-color: var(--color--sub3);
    max-width: 360px;
    border-radius: 50px; }
    a.button.dark:hover {
      background: #0a514c;
      text-decoration: underline; }
  a.button.reverse {
    background-color: var(--color--white);
    border: 1px solid var(--color--main);
    color: var(--color--main);
    font-size: clamp(1.1em, 1.2vw, 1.2em);
    max-width: 360px; }
    a.button.reverse.triangle span {
      font-size: 1em;
      display: inline-block;
      padding-right: 25px;
      background: url("../img/icon_triangle.svg") no-repeat center right;
      background-size: 10px; }
    a.button.reverse.triangle:hover {
      background: var(--color--main);
      color: var(--color--white); }
      a.button.reverse.triangle:hover span {
        font-size: 1em;
        display: inline-block;
        padding-right: 25px;
        background: url("../img/icon_triangle_w.svg") no-repeat center right;
        background-size: 10px; }
  a.button.orange {
    background: var(--color--sub3); }
    a.button.orange:hover {
      background: #a8441d;
      text-decoration: underline; }
  a.button.green {
    background: var(--color--sub1); }
    a.button.green:hover {
      background: #024514;
      text-decoration: underline; }
  a.button.reverse.button_orange {
    background-color: var(--color--white);
    border: 1px solid var(--color--sub3);
    color: var(--color--sub3);
    font-size: clamp(1.1em, 1.1vw, 1.1em);
    max-width: 360px; }
    a.button.reverse.button_orange.arrow {
      background: var(--color--white) url("../img/icon_rightarrow_orange.svg") no-repeat center right 15px;
      background-size: 20px; }
    a.button.reverse.button_orange:hover {
      background: var(--color--white) url("../img/icon_rightarrow_w.svg") no-repeat center right 15px;
      background-color: var(--color--sub3);
      color: var(--color--white); }
  a.button.w_green {
    background-color: var(--color--white);
    border: 1px solid var(--color--sub1);
    color: var(--color--sub1);
    font-size: clamp(1.1em, 1.1vw, 1.1em);
    background: var(--color--white) url("../img/arrow_btn_g.svg") no-repeat center right 15px;
    background-size: 25px; }
    a.button.w_green:hover {
      background: var(--color--sub1) url("../img/arrow_btn.svg") no-repeat center right 15px;
      background-size: 25px;
      color: var(--color--white); }
  a.button.map {
    background: var(--color--white) url("../img/icon_map.svg") no-repeat center right 15px;
    background-size: 22px;
    border: 1px solid var(--color--main);
    color: var(--color--main);
    font-size: clamp(1.1em, 1.2vw, 1.2em);
    max-width: 400px; }
    a.button.map:hover {
      background: var(--color--white) url("../img/icon_map_w.svg") no-repeat center right 15px;
      background-size: 22px;
      background-color: var(--color--main);
      color: var(--color--white); }
  a.button.arrow {
    background: var(--color--white) url("../img/icon_rightarrow.svg") no-repeat center right 15px;
    border: 1px solid var(--color--main);
    color: var(--color--main);
    font-size: clamp(1.1em, 1.2vw, 1.2em);
    text-align: left;
    max-width: 360px; }
    a.button.arrow:hover {
      background: var(--color--white) url("../img/icon_rightarrow_w.svg") no-repeat center right 15px;
      background-color: var(--color--main);
      color: var(--color--white); }
  a.button.plus {
    position: relative;
    text-align: left; }
    a.button.plus:before {
      display: block;
      content: '';
      position: absolute;
      top: 50%;
      right: 20px;
      width: 20px;
      height: 2px;
      background: var(--color--main); }
    a.button.plus:after {
      display: block;
      content: '';
      position: absolute;
      top: 50%;
      right: 20px;
      width: 20px;
      height: 2px;
      background: var(--color--main);
      transform: rotate(-90deg); }
    a.button.plus.open:after {
      transform: rotate(0deg); }
  a.button span {
    font-size: 0.7em;
    display: block; }

.hide_block {
  display: none; }

.text-center .button {
  margin: 0 auto; }

input.button span,
button.button span {
  font-size: 0.7em;
  display: block; }
input.button.triangle,
button.button.triangle {
  background: var(--color--main) url("../img/icon_triangle_w.svg") no-repeat center right 18%;
  background-size: 10px;
  border: 2px solid var(--color--main); }
  input.button.triangle:hover,
  button.button.triangle:hover {
    color: var(--color--main);
    border: 2px solid var(--color--main);
    background: var(--color--white) url("../img/icon_triangle.svg") no-repeat center right 18%;
    background-size: 10px; }
input.button:hover,
button.button:hover {
  opacity: 0.7; }
input.button.pink,
button.button.pink {
  background-color: var(--color--sub1); }
input.button.dark,
button.button.dark {
  background-color: var(--color--sub3); }
input.button.button_back,
button.button.button_back {
  background: var(--color--white);
  color: var(--color--black);
  border: 1px solid var(--color--black);
  font-size: 0.9em;
  width: 240px; }

.title-flex {
  display: flex;
  align-items: center; }
  .title-flex img {
    margin-right: 10px; }
  .title-flex.center {
    justify-content: center; }

/*---------------------------
 * flex-wrapper
 * -------------------------*/
.flex-wrapper.half,
.flex-wrapper.one-third,
.flex-wrapper.quarter {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.flex-wrapper.reverse {
  flex-direction: row-reverse; }

.flex-wrapper.alignCenter {
  align-items: center; }

.flex-wrapper.four:after {
  display: block;
  content: '';
  width: 24%; }

.flex-wrapper .flex-one {
  width: 100%; }

.flex-wrapper.half .flex-one {
  width: 48%; }

.flex-wrapper.one-third .flex-one {
  width: 32%; }

.flex-wrapper.quarter .flex-one {
  width: 48%; }

.flex-wrapper.quarter .flex-three {
  width: 48%; }

@media (min-width: 768px) {
  .flex-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }

  .flex-wrapper.four > .flex-one {
    width: 48%; } }
@media (min-width: 960px) {
  .flex-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }

  .flex-wrapper.two > .flex-one {
    width: 48%; }

  .flex-wrapper.three > .flex-one {
    width: 31%; }

  .flex-wrapper.three > .flex-two {
    width: 64%; }

  .flex-wrapper.four > .flex-two {
    width: 48%; }

  .flex-wrapper.four > .flex-one {
    width: 23%; }

  .flex-wrapper.four > .flex-three {
    width: 72%; }

  .flex-wrapper.five > .flex-one {
    width: 18%; }

  .flex-wrapper.six > .flex-one {
    width: 15%; }

  .flex-wrapper.quarter > .flex-one {
    width: 24%; }

  .flex-wrapper.quarter > .flex-three {
    width: 72%; } }
.grid-wrapper {
  display: grid; }
  .grid-wrapper.four {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2em; }

@media (max-width: 767px) {
  .grid-wrapper.four {
    grid-template-columns: 1fr; } }
/*---------------------
 animate-title
---------------------*/
.animate-title,
.tween-animate-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  opacity: 0;
  font-size: 2em; }
  .animate-title.inview,
  .tween-animate-title.inview {
    opacity: 1; }
    .animate-title.inview .char,
    .tween-animate-title.inview .char {
      display: inline-block; }
  .animate-title .char,
  .tween-animate-title .char {
    opacity: 0; }

.animate-title.inview .char {
  animation-name: kf-animate-chars;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0.39, 1.57, 0.58, 1);
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: both; }
  .animate-title.inview .char:nth-child(1) {
    animation-delay: 0.04s; }
  .animate-title.inview .char:nth-child(2) {
    animation-delay: 0.08s; }
  .animate-title.inview .char:nth-child(3) {
    animation-delay: 0.12s; }
  .animate-title.inview .char:nth-child(4) {
    animation-delay: 0.16s; }
  .animate-title.inview .char:nth-child(5) {
    animation-delay: 0.2s; }
  .animate-title.inview .char:nth-child(6) {
    animation-delay: 0.24s; }
  .animate-title.inview .char:nth-child(7) {
    animation-delay: 0.28s; }
  .animate-title.inview .char:nth-child(8) {
    animation-delay: 0.32s; }
  .animate-title.inview .char:nth-child(9) {
    animation-delay: 0.36s; }
  .animate-title.inview .char:nth-child(10) {
    animation-delay: 0.4s; }
  .animate-title.inview .char:nth-child(11) {
    animation-delay: 0.44s; }
  .animate-title.inview .char:nth-child(12) {
    animation-delay: 0.48s; }
  .animate-title.inview .char:nth-child(13) {
    animation-delay: 0.52s; }
  .animate-title.inview .char:nth-child(14) {
    animation-delay: 0.56s; }
  .animate-title.inview .char:nth-child(15) {
    animation-delay: 0.6s; }
  .animate-title.inview .char:nth-child(16) {
    animation-delay: 0.64s; }
  .animate-title.inview .char:nth-child(17) {
    animation-delay: 0.68s; }
  .animate-title.inview .char:nth-child(18) {
    animation-delay: 0.72s; }
  .animate-title.inview .char:nth-child(19) {
    animation-delay: 0.76s; }
  .animate-title.inview .char:nth-child(20) {
    animation-delay: 0.8s; }
  .animate-title.inview .char:nth-child(21) {
    animation-delay: 0.84s; }
  .animate-title.inview .char:nth-child(22) {
    animation-delay: 0.88s; }
  .animate-title.inview .char:nth-child(23) {
    animation-delay: 0.92s; }
  .animate-title.inview .char:nth-child(24) {
    animation-delay: 0.96s; }
  .animate-title.inview .char:nth-child(25) {
    animation-delay: 1s; }
  .animate-title.inview .char:nth-child(26) {
    animation-delay: 1.04s; }
  .animate-title.inview .char:nth-child(27) {
    animation-delay: 1.08s; }
  .animate-title.inview .char:nth-child(28) {
    animation-delay: 1.12s; }
  .animate-title.inview .char:nth-child(29) {
    animation-delay: 1.16s; }
  .animate-title.inview .char:nth-child(30) {
    animation-delay: 1.2s; }

@keyframes kf-animate-chars {
  0% {
    opacity: 0;
    transform: translateY(-50%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
/*---------------------
 footer
---------------------*/
#footer {
  background: var(--color--lgray);
  padding: 4vw 0 120px;
  font-size: 15px; }
  #footer .area1 {
    width: 30%; }
  #footer .area2 {
    width: 19%; }
  #footer .area3 {
    width: 19%; }
  #footer .area4 {
    width: 28%; }
  #footer .copyright {
    font-size: 0.7em;
    text-align: center; }
    #footer .copyright .logo {
      margin: 0 0 10px 0; }
    #footer .copyright .logo02 {
      margin: 0 0 25px 0; }
      #footer .copyright .logo02 img {
        width: 100%; }
    #footer .copyright .logo02_inner {
      width: 65%;
      margin: 0 auto;
      padding: 15px; }
    #footer .copyright a {
      text-decoration: underline;
      transition: all ease-in-out 0.2s;
      display: inline-block; }
      #footer .copyright a:hover {
        color: var(--color--dgray); }
  #footer .title {
    font-weight: 600;
    font-size: 0.9em; }
    #footer .title .icon {
      display: none; }
  #footer .title_normal {
    font-weight: 600;
    font-size: 0.9em;
    padding-bottom: 1em; }
  #footer ul {
    padding: 0;
    margin: 0 0 1em 0; }
    #footer ul.fiiterNav {
      list-style: none; }
      #footer ul.fiiterNav li strong {
        font-size: 0.85em; }
      #footer ul.fiiterNav li a {
        font-size: 0.85em;
        transition: all ease-in-out 0.2s; }
        #footer ul.fiiterNav li a:hover {
          color: var(--color--dgray); }

@media screen and (min-width: 801px) {
  .l-footer {
    padding: 60px 0 30px !important; } }
@media (max-width: 1199px) {
  #footer .copyright .logo {
    margin: 0 0 10px 0; }
    #footer .copyright .logo img {
      max-width: 480px; }
  #footer ul {
    padding: 15px 0;
    margin: 0; } }
@media (max-width: 767px) {
  #footer .area1 {
    width: 100%; }
  #footer .area2 {
    width: 100%; }
  #footer .area3 {
    width: 100%; }
  #footer .area4 {
    width: 100%; }
  #footer .copyright .logo {
    margin: 0 0 10px 0; }
    #footer .copyright .logo img {
      max-width: 320px; }
  #footer .copyright .logo02 {
    margin: 0 0 20px 0; }
    #footer .copyright .logo02 img {
      max-width: 160px; }
  #footer .copyright .logo02_inner {
    padding: 11px; }
  #footer .title {
    font-weight: 400;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 7px 0;
    border-bottom: 1px solid #CCC; }
    #footer .title .icon {
      display: block;
      position: relative;
      width: 18px;
      height: 18px;
      margin-right: 5px; }
      #footer .title .icon:before {
        position: absolute;
        display: block;
        content: '';
        width: 18px;
        height: 2px;
        top: 8px;
        left: 0;
        background: var(--color--black);
        transition: all ease-in-out 0.2s; }
      #footer .title .icon:after {
        position: absolute;
        display: block;
        content: '';
        width: 2px;
        height: 18px;
        top: 0;
        left: 8px;
        background: var(--color--black);
        transition: all ease-in-out 0.2s; }
    #footer .title a {
      pointer-events: none;
      /* デフォルトでは無効に */
      flex-grow: 1;
      /* aタグができるだけ幅を占めるようにする */
      text-align: left;
      /* 左寄せにする */ }
    #footer .title.active .icon:after {
      transform: rotate(90deg); }
    #footer .title.active a {
      pointer-events: auto;
      /* 開いた状態なら有効に */ }
  #footer .title_normal {
    font-weight: 400;
    padding: 7px 0;
    border-bottom: 1px solid #CCC; }
  #footer ul li a {
    display: block;
    border-bottom: 1px solid #CCC;
    padding: 7px 0; }
  #footer .sp-hide {
    display: none;
    margin: 0;
    padding: 0; }
  #footer .sp-hide.open {
    display: block; } }
/*---------------------
 fixed_footer
---------------------*/
.fixed_footer {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #888;
  color: var(--color--white);
  padding: 6px 10px 0 10px;
  z-index: 100; }
  .fixed_footer .fixed_footer_inner {
    max-width: 1100px;
    margin: 0;
    position: relative; }
    .fixed_footer .fixed_footer_inner .icon {
      position: absolute;
      top: -30px;
      left: 0; }
    .fixed_footer .fixed_footer_inner .flex-wrapper .area1 {
      width: 30%;
      margin-top: 20px; }
    .fixed_footer .fixed_footer_inner .flex-wrapper .item1 {
      width: 30%;
      background: url("../img/icon_tel_w.svg") no-repeat left center;
      padding-left: 60px; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .item1 .tel {
        font-size: clamp(1.4em, 2.5vw, 2.5em);
        font-weight: 600;
        color: #FAFF11;
        white-space: nowrap;
        line-height: 1; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .item1 .label {
        border: 1px solid var(--color--white);
        display: inline-block;
        border-radius: 4px;
        padding: 0 8px;
        font-size: 0.8em; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .item1 a {
        color: var(--color--white);
        display: block; }
    .fixed_footer .fixed_footer_inner .flex-wrapper .item2 {
      width: 35%; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .item2 .buttonArea {
        display: flex;
        justify-content: space-between; }
        .fixed_footer .fixed_footer_inner .flex-wrapper .item2 .buttonArea .item {
          width: 49%; }
    .fixed_footer .fixed_footer_inner h5 {
      font-size: clamp(1em, 1.15vw, 1.15em);
      margin: 0 0 10px 0; }
    .fixed_footer .fixed_footer_inner .button {
      font-size: 1em;
      margin-bottom: 0.5em;
      font-weight: 500;
      width: 100%; }
      .fixed_footer .fixed_footer_inner .button span {
        display: block;
        font-weight: 400;
        font-size: 0.8em; }

@media (max-width: 1199px) {
  .fixed_footer .fixed_footer_inner {
    max-width: 700px; }
    .fixed_footer .fixed_footer_inner .flex-wrapper .area1 {
      width: 100%;
      margin-bottom: 8px; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .area1 br {
        display: none; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .area1 h5 {
        font-size: 1em; }
    .fixed_footer .fixed_footer_inner .flex-wrapper .item1 {
      width: 50%; }
    .fixed_footer .fixed_footer_inner .flex-wrapper .item2 {
      width: 50%; }
      .fixed_footer .fixed_footer_inner .flex-wrapper .item2 .buttonArea {
        display: flex;
        justify-content: space-between; }
        .fixed_footer .fixed_footer_inner .flex-wrapper .item2 .buttonArea .item {
          width: 49%; }
    .fixed_footer .fixed_footer_inner .button {
      font-size: 1.1em;
      margin-bottom: 0.5em;
      font-weight: 500;
      width: 100%;
      padding: 5px; }
      .fixed_footer .fixed_footer_inner .button span {
        display: none; } }
@media (max-width: 767px) {
  .fixed_footer {
    display: none; } }
/*----------------------------
* スマホメニュー
*----------------------------*/
/* 
hamburger(ハンバーガーアイコン)
=================================== */
#nav-wrapper.fixed .sp-menu {
  display: flex; }
#nav-wrapper .sp-menu {
  position: sticky;
  background: var(--color--bgb);
  height: 64px;
  padding: 7px 7px;
  margin: 0;
  list-style: none;
  justify-content: flex-start;
  display: none; }
  #nav-wrapper .sp-menu li {
    padding: 0 3px; }
    #nav-wrapper .sp-menu li a {
      color: var(--color--main);
      border-radius: 4px; }
    #nav-wrapper .sp-menu li img {
      width: 50px; }
    #nav-wrapper .sp-menu li .button {
      height: 50px;
      line-height: 50px;
      padding: 0 20px;
      color: var(--color--main);
      width: 100% !important; }
      #nav-wrapper .sp-menu li .button.green {
        color: var(--color--white); }
#nav-wrapper .btnArea {
  margin: 0 10px; }
  #nav-wrapper .btnArea .button {
    margin: 10px 0; }
    #nav-wrapper .btnArea .button.green_w {
      background: var(--color--white);
      color: var(--color--sub1);
      border: 1px solid var(--color--sub1); }
    #nav-wrapper .btnArea .button.reverse {
      width: 100%;
      max-width: none;
      margin-right: 0; }
#nav-wrapper .tel {
  padding: 10px;
  background: var(--color--main);
  font-size: 0.9em; }
  #nav-wrapper .tel .number {
    display: inline-block;
    background: url("../img/icon_tel_w.svg") top 5px left 0 no-repeat;
    background-size: 30px;
    font-size: 2em;
    color: #FAFF11;
    padding-left: 40px; }
  #nav-wrapper .tel span {
    display: inline-block;
    border: 1px solid var(--color--white);
    padding: 2px 7px;
    border-radius: 4px; }
#nav-wrapper .top {
  background: var(--color--white);
  color: var(--color--sub1); }

@media (min-width: 1099px) {
  #nav-wrapper {
    display: none; }
    #nav-wrapper.fixed {
      display: none; } }
.hamburger {
  position: fixed;
  right: 7px;
  top: 40px;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  cursor: pointer;
  z-index: 300;
  background: var(--color--white); }

.fixed .hamburger {
  top: 7px; }

.hamburger__line {
  position: absolute;
  width: 35px;
  height: 3px;
  right: 7px;
  background-color: var(--color--main);
  transition: all 0.5s; }

.hamburger__line--1 {
  top: 10px; }

.hamburger__line--2 {
  top: 22px; }

.hamburger__line--3 {
  top: 34px; }

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  transform: rotate(-45deg);
  top: 24px; }

.open .hamburger__line--2 {
  opacity: 0; }

.open .hamburger__line--3 {
  transform: rotate(45deg);
  top: 24px; }

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
  position: fixed;
  top: -100vh;
  /*ハンバーガーがクリックされる前はWindow上部に隠す*/
  left: 0;
  width: 100%;
  /* 出てくるスライドメニューの幅 */
  height: 90vh;
  background-color: #fff;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto; }

/*ハンバーガーがクリックされたら上からスライド*/
.open .sp-nav {
  top: 0; }

/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100; }

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.3;
  visibility: visible; }

/*---------------------
 Hタグ基本
---------------------*/
h1 {
  font-size: clamp(2em, 2.4vw, 2.4em);
  font-weight: 600;
  line-height: 1;
  text-align: center; }

h2 {
  font-size: clamp(1.6em, 2.4vw, 2.4em);
  font-weight: 600;
  text-align: center; }
  h2 span {
    font-size: 0.8em; }

h3 {
  font-size: clamp(1.6em, 2vw, 2em);
  font-weight: 600; }
  h3 span {
    font-size: 0.8em; }

strong {
  font-weight: 600; }

.lead {
  font-size: clamp(0.9em, 1.2vw, 1.2em);
  font-weight: 600; }

.leadl {
  font-size: clamp(1em, 1.2vw, 1.2em);
  font-weight: 400; }

.small {
  font-size: 0.7em; }

.title__en {
  position: relative;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  color: var(--color--main);
  font-size: clamp(1.5em, 1.8vw, 1.8em);
  margin-top: 30px; }

.title__en:before {
  position: absolute;
  display: block;
  content: '';
  left: 50%;
  top: -30px;
  width: 2px;
  height: 25px;
  background: var(--color--main); }

.title_wrapper {
  position: relative;
  text-align: center;
  margin-bottom: 2em;
  z-index: 2; }
  .title_wrapper h3 {
    position: relative;
    display: inline-block; }
  .title_wrapper .script {
    position: absolute;
    top: 2em;
    right: 20%; }

/*---------------------
 section・bg基本
---------------------*/
section {
  padding: 3em 0; }
  section.mt-1 {
    padding-top: 1em; }

.bg {
  background: var(--color--bg); }

.bg_lgray {
  background: var(--color--lgray); }

.bg_main {
  background: var(--color--main);
  color: var(--color--white); }

/*---------------------
 メインビジュアル
---------------------*/
#hero.page {
  background: url(../img/home/kv_bg.jpg) no-repeat center;
  background-size: cover;
  height: 140px;
  padding: 0 0 1em; }
  #hero.page h1 {
    margin-top: 10px; }

@media (max-width: 767px) {
  #hero.page {
    background: url(../img/home/kv_bg_sp.jpg) no-repeat center;
    background-size: cover;
    height: 100px; }
    #hero.page h1 {
      margin-top: 0;
      padding-top: 1em; } }
/*---------------------
 ロゴスライダー
---------------------*/
#scroll {
  opacity: 0; }
  #scroll li img {
    height: 45px;
    margin: 0 30px; }

@media (max-width: 767px) {
  #scroll li img {
    height: 30px;
    margin: 0 20px; } }
/*---------------------
 実績スライダー
---------------------*/
.exampleSlider {
  margin: 0 20px; }
  .exampleSlider .slick-track {
    display: flex; }
  .exampleSlider .slide-arrow {
    position: absolute;
    top: 40%;
    width: 50px;
    height: 50px; }
    .exampleSlider .slide-arrow.prev-arrow {
      background: url("../img/arrow_prev.webp");
      background-size: contain;
      z-index: 11;
      left: -10px; }
    .exampleSlider .slide-arrow.next-arrow {
      background: url("../img/arrow_next.webp");
      background-size: contain;
      z-index: 11;
      right: -10px; }
  .exampleSlider .item {
    position: relative;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    margin: 20px 15px;
    height: auto !important;
    overflow: hidden;
    font-family: 'Noto Sans JP', sans-serif; }
    .exampleSlider .item .icon {
      position: absolute;
      left: 5px;
      top: 5px;
      z-index: 10; }
    .exampleSlider .item figure {
      position: relative;
      padding: 0;
      margin: 0; }
      .exampleSlider .item figure i {
        position: absolute;
        top: 0;
        left: 0;
        background: var(--color--red);
        color: var(--color--white);
        font-style: normal;
        font-weight: 500;
        display: inline-block;
        padding: 2px 7px; }
        .exampleSlider .item figure i.fukushi {
          background: #47b6b3; }
        .exampleSlider .item figure i.hoiku {
          background: #d88d2a; }
        .exampleSlider .item figure i.iryo {
          background: #3a78c6; }
        .exampleSlider .item figure i.chozai {
          background: #e6749a; }
        .exampleSlider .item figure i.kensetsu {
          background: #57a357; }
        .exampleSlider .item figure i.infotech {
          background: #5e62b5; }
      .exampleSlider .item figure img {
        transition: all ease-in-out 0.3s; }
    .exampleSlider .item:hover figure img {
      transform: scale(1.05); }
    .exampleSlider .item .textArea {
      padding: 15px; }
      .exampleSlider .item .textArea .logo {
        text-align: center; }
        .exampleSlider .item .textArea .logo img {
          margin: 0 auto; }
      .exampleSlider .item .textArea h3 {
        font-size: clamp(0.8em, 1vw, 1em);
        background: var(--color--main);
        color: var(--color--white);
        margin-top: 0;
        padding: 2px 10px;
        border-radius: 30px;
        text-align: center; }
      .exampleSlider .item .textArea ul {
        padding: 0;
        margin: 0;
        display: flex; }
        .exampleSlider .item .textArea ul li {
          display: inline-block;
          list-style: none;
          background: var(--color--dgray);
          color: var(--color--white);
          font-size: clamp(0.7em, 0.8vw, 0.8em);
          padding: 1px 10px;
          border-radius: 20px; }
          .exampleSlider .item .textArea ul li.tag2 {
            background: var(--color--sub1); }
          .exampleSlider .item .textArea ul li.tag3 {
            background: var(--color--sub2); }
      .exampleSlider .item .textArea .date {
        position: absolute;
        bottom: 10px;
        right: 10px;
        text-align: right; }

@media (max-width: 767px) {
  .exampleSlider {
    margin: 0; }
    .exampleSlider .slide-arrow {
      position: absolute;
      width: 40px;
      height: 40px; }
      .exampleSlider .slide-arrow.prev-arrow {
        background: url("../img/arrow_prev.webp");
        background-size: contain;
        z-index: 10;
        left: -10px; }
      .exampleSlider .slide-arrow.next-arrow {
        background: url("../img/arrow_next.webp");
        background-size: contain;
        z-index: 10;
        right: -10px; }
    .exampleSlider .item .textArea {
      font-size: 0.8em; } }
/*---------------------
 会社概要フォーム
---------------------*/
.companyTable {
  border-top: 1px solid #999999;
  font-size: 16px;
  width: 100%;
  margin: 0 0 50px; }
  .companyTable tr {
    border-bottom: 1px solid #999999; }
  .companyTable th {
    width: 180px;
    white-space: nowrap;
    background-color: #ececec;
    text-align: center; }
  .companyTable td {
    padding: 23px; }
    .companyTable td a {
      text-decoration: none; }
      .companyTable td a:hover {
        text-decoration: underline; }
    .companyTable td h4.flex_title {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: clamp(1.2em, 1.5vw, 1.5em);
      font-weight: 500;
      border-top: 1px solid var(--color--line);
      padding-top: 15px; }
      .companyTable td h4.flex_title img {
        max-width: 120px; }
    .companyTable td span {
      border: 2px solid var(--color--black);
      display: inline-block;
      font-size: 0.7em;
      padding: 1px 10px;
      margin-right: 5px; }
  .companyTable dl {
    overflow: hidden; }
    .companyTable dl dt {
      width: 153px;
      float: left;
      clear: left; }
    .companyTable dl dd {
      margin: 0 0 10px 153px; }
      .companyTable dl dd::last-child {
        margin-bottom: 0; }
  .companyTable ul li {
    margin: 0 0 10px; }
  .companyTable .name {
    border: 1px solid #CCC;
    padding: 2px; }
  .companyTable .servicelogo {
    height: 25px;
    margin: 5px auto;
    width: auto; }
    .companyTable .servicelogo.large {
      height: 27px; }

@media screen and (max-width: 767px) {
  .companyTable {
    font-size: 14px;
    margin: 0 0 45px; }

  .companyTable tr {
    height: 70px; }

  .companyTable th {
    width: 100px;
    min-height: 70px; }

  .companyTable td {
    padding: 15px; }

  .companyTable dl dt {
    width: 120px; }

  .companyTable dl dd {
    width: calc(100% - 120px);
    margin: 0 0 15px 120px; }

  .companyTable ul li {
    margin: 0 0 15px; }

  .companyTable ul li:last-child {
    margin-bottom: 0; } }
/*---------------------
 問い合わせフォーム
---------------------*/
table.table_form {
  max-width: 840px;
  width: 100%;
  margin: 20px auto;
  font-size: clamp(1.1em, 1.2vw, 1.2em); }
  table.table_form tr {
    vertical-align: text-top; }
    table.table_form tr td {
      padding: 15px; }
      table.table_form tr td.c-table-txt {
        border-top: none; }
      table.table_form tr td .comment {
        margin: 5px 0 0 0;
        font-size: 0.7em; }
    table.table_form tr th {
      text-align: left;
      font-weight: 600;
      width: 220px; }

@media screen and (max-width: 767px) {
  table.table_form tr td {
    display: block;
    width: 100%;
    padding: 5px 0 20px 0; }
  table.table_form tr th {
    display: block;
    width: 100% !important; } }
/*---------------------
 フォーム
---------------------*/
input[type=text],
input[type=email],
input[type=tel],
textarea {
  width: 100%;
  background: var(--color--white);
  border: 1px solid var(--color--gray);
  padding: 15px 10px;
  font-size: 14px; }
  input[type=text]:focus,
  input[type=email]:focus,
  input[type=tel]:focus,
  textarea:focus {
    background: #fffde3; }

select {
  width: 100%;
  background: var(--color--white);
  border: 1px solid var(--color--gray);
  padding: 15px; }

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--color--main);
  transform: scale(1.8);
  margin-right: 10px; }

[type=checkbox],
[type=radio] {
  padding: 0; }

:placeholder-shown {
  color: var(--color--black); }

@media screen and (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  textarea {
    font-size: 3.2vw; } }
/*---------------------
 breadcrumb
---------------------*/
/*20250709追記*/
.l-breadcrumb {
  position: relative;
  z-index: 20;
  border: none; }
  .l-breadcrumb.oldpage {
    max-width: 1200px;
    margin: 0 auto; }

.l-breadcrumb ol {
  margin: 0 auto;
  padding: 0; }

@media screen and (max-width: 767px) {
  .l-breadcrumb {
    display: none; } }
.l-breadcrumb ol li {
  display: inline;
  line-height: 2.5;
  letter-spacing: -0.02em;
  font-weight: 500;
  font-size: 14px;
  color: var(--color--black); }

.l-breadcrumb ol li::before {
  content: "/";
  margin: 0 1em; }

.l-breadcrumb ol li:first-child::before {
  content: none; }

.l-breadcrumb ol li a {
  display: inline;
  padding-bottom: 0.3em;
  color: var(--color--black); }

@media screen and (max-width: 767px) {
  .l-breadcrumb {
    padding: 2vw 4vw; } }
/*---------------------
 home
---------------------*/
body.home #hero {
  position: relative;
  padding: 1em 0 0;
  background: url(../img/home/kv_bg.webp) no-repeat center;
  background-size: cover;
  min-height: 480px; }
  body.home #hero .hero__textArea {
    max-width: 800px;
    margin: 4rem auto 0;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
    align-items: center; }
    body.home #hero .hero__textArea .hero__textArea__image {
      width: 25%; }
      body.home #hero .hero__textArea .hero__textArea__image img {
        width: 100%; }
    body.home #hero .hero__textArea .hero__textArea__title {
      width: 75%;
      color: var(--color--black); }
      body.home #hero .hero__textArea .hero__textArea__title p {
        font-size: clamp(1.4em, 1.8vw, 1.8em);
        font-family: 'Noto Serif JP', serif;
        font-weight: 500;
        margin: 0 0 10px 0;
        line-height: 1; }
      body.home #hero .hero__textArea .hero__textArea__title h1 {
        font-size: clamp(1.7em, 3.8vw, 3.8em);
        line-height: 1;
        margin: 0 0 10px 0;
        text-align: left; }
      body.home #hero .hero__textArea .hero__textArea__title h2 {
        line-height: 1.5;
        margin-bottom: 20px;
        text-align: left;
        font-size: clamp(1em, 1.3vw, 1.3em);
        text-shadow: 0 0 5px rgba(255, 255, 255, 0.8); }
  body.home #hero .hero__footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 15px;
    background: linear-gradient(to right, rgba(1, 105, 29, 0.7) 0, rgba(1, 105, 29, 0.7) 50%, rgba(0, 87, 138, 0.7) 50%); }
    body.home #hero .hero__footer .hero__footer__wrapper {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      text-align: center;
      justify-content: space-between; }
      body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half {
        width: 49%; }
        body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half .hero__footer__subt {
          color: var(--color--white);
          margin-bottom: 1rem; }
        body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul {
          list-style: none;
          margin: 0;
          padding: 0;
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between; }
          body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li {
            width: 49%; }
            body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button {
              position: relative;
              display: block;
              padding: 15px 10px;
              font-family: 'Noto Serif JP', serif;
              font-size: clamp(1.2em, 1.3vw, 1.3em);
              background: var(--color--white);
              color: var(--color--main);
              line-height: 1;
              width: 100%;
              max-width: 300px;
              margin: 0 auto;
              border: 1px solid var(--color--white); }
              body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button.green {
                background: linear-gradient(to right, #35A954, #0F5D24);
                color: var(--color--white); }
              body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button.blue {
                background: rgba(0, 87, 138, 0.7);
                color: var(--color--white); }
              body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button.w_green {
                color: var(--color--sub1); }
              body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button i {
                position: absolute;
                top: 38%;
                right: 15px;
                width: 25px; }

@media screen and (max-width: 767px) {
  body.home #hero {
    position: relative;
    padding: 1em 0 0;
    background: url(../img/home/kv_bg_sp.jpg) no-repeat center bottom;
    background-size: cover;
    min-height: 480px; }
    body.home #hero h1 {
      text-shadow: 0 0 6px rgba(255, 255, 255, 0.8); }
    body.home #hero p {
      text-shadow: 0 0 6px rgba(255, 255, 255, 0.8); }
    body.home #hero .hero__footer {
      background: linear-gradient(to bottom, rgba(1, 105, 29, 0.7) 0, rgba(1, 105, 29, 0.7) 50%, rgba(0, 87, 138, 0.7) 50%); }
      body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half {
        width: 100%; }
        body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half:first-child {
          margin-bottom: 20px; }
        body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half .hero__footer__subt {
          color: var(--color--white); }
        body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button {
          position: relative;
          display: block;
          padding: 15px 10px;
          font-family: 'Noto Serif JP', serif;
          font-size: clamp(1.2em, 1.3vw, 1.3em);
          background: var(--color--white);
          color: var(--color--main);
          line-height: 1;
          width: 100%;
          max-width: 300px;
          margin: 0 auto;
          border: 1px solid var(--color--white); }
          body.home #hero .hero__footer .hero__footer__wrapper .hero__footer__half ul li a.button i {
            display: none; } }
body.home #sec_cancept {
  padding: 20px;
  max-width: 920px;
  margin: 30px auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  body.home #sec_cancept .section_inner h2 {
    font-size: clamp(1.1em, 1.6vw, 1.6em);
    margin-top: 0; }
    body.home #sec_cancept .section_inner h2 em {
      font-style: normal;
      display: inline-block;
      position: relative; }
      body.home #sec_cancept .section_inner h2 em:before {
        display: block;
        content: '';
        width: 100%;
        height: 10px;
        background: yellow;
        position: absolute;
        bottom: 3px;
        left: 0;
        z-index: -1; }
  body.home #sec_cancept .section_inner p {
    text-align: center; }
  body.home #sec_cancept .section_inner .text-right {
    text-align: right;
    margin: -10px 0 20px 0;
    position: relative;
    z-index: 2;
    font-size: 0.9em; }

@media (max-width: 767px) {
  body.home #sec_cancept {
    padding: 10px;
    box-shadow: none; } }
body.home #sec_news {
  padding: 2em 0;
  background: var(--color--bgg); }
  body.home #sec_news h3 {
    color: var(--color--main);
    padding-bottom: 10px; }
    body.home #sec_news h3:first-child {
      margin-bottom: 10px; }
  body.home #sec_news .linkArea {
    text-align: center;
    font-size: 1em;
    margin-bottom: 20px; }
    body.home #sec_news .linkArea a {
      text-decoration: underline; }
      body.home #sec_news .linkArea a:hover {
        background: var(--color--yellow);
        text-decoration: none; }
  body.home #sec_news table {
    width: 100%;
    font-size: 0.85em;
    background: var(--color--white); }
    body.home #sec_news table.matters {
      scrollbar-color: var(--color--main) rgba(11, 89, 136, 0.3);
      scrollbar-width: thin; }
      body.home #sec_news table.matters tbody {
        max-height: 355px; }
        body.home #sec_news table.matters tbody .place {
          width: 1px; }
    body.home #sec_news table.news {
      scrollbar-color: var(--color--main) rgba(11, 89, 136, 0.3);
      scrollbar-width: thin; }
      body.home #sec_news table.news tbody {
        max-height: 450px; }
    body.home #sec_news table thead {
      display: table;
      width: 100%;
      table-layout: fixed; }
      body.home #sec_news table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        /* ヘッダーを前面に */
        padding: 15px 4px;
        border-bottom: 1px solid var(--color--gray);
        text-align: center; }
        body.home #sec_news table thead th.data {
          width: 15%; }
        body.home #sec_news table thead th.price {
          width: 28%; }
    body.home #sec_news table tbody {
      display: block;
      max-height: 650px;
      overflow-y: auto;
      background: var(--color--bgl); }
      body.home #sec_news table tbody tr {
        display: table;
        width: 100%;
        table-layout: fixed;
        display: table;
        width: 100%;
        table-layout: fixed; }
        body.home #sec_news table tbody tr.link_tr:hover {
          text-decoration: underline; }
        body.home #sec_news table tbody tr th {
          padding: 15px 4px;
          border-bottom: 1px solid var(--color--gray); }
          body.home #sec_news table tbody tr th.data {
            width: 20%;
            vertical-align: text-top; }
        body.home #sec_news table tbody tr td {
          padding: 15px 4px;
          border-bottom: 1px solid var(--color--gray); }
          body.home #sec_news table tbody tr td.data {
            width: 15%; }
          body.home #sec_news table tbody tr td.price {
            width: 23%;
            text-align: left;
            font-weight: 600; }

@media screen and (max-width: 767px) {
  body.home #sec_news table.matters {
    margin-bottom: 20px; }
  body.home #sec_news table.news tbody {
    max-height: 320px; }
  body.home #sec_news table tbody {
    max-height: 320px; } }
body.home #sec_problem {
  margin-bottom: 0; }
  body.home #sec_problem .section_inner h2 {
    font-family: 'Noto Sans JP', sans-serif;
    color: var(--color--main);
    font-size: 1.8em; }
    body.home #sec_problem .section_inner h2 strong {
      font-family: 900;
      font-size: 1.5em; }
      body.home #sec_problem .section_inner h2 strong ruby rt {
        font-size: 0.4em; }
  body.home #sec_problem .section_inner article {
    max-width: 940px;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background: var(--color--white); }
    body.home #sec_problem .section_inner article .problem__title {
      padding: 15px 15px 15px 55px;
      background: var(--color--bgb) url("../img/icon_check.svg") no-repeat left 15px center;
      background-size: 30px;
      width: 35%;
      font-size: clamp(1.2em, 1.5vw, 1.5em);
      font-weight: 600;
      color: var(--color--main);
      line-height: 1.2; }
      body.home #sec_problem .section_inner article .problem__title span {
        display: inline-block;
        background: #FFF41B;
        padding: 0 4px; }
    body.home #sec_problem .section_inner article .problem__solution {
      padding: 15px 15px 15px 60px;
      width: 65%;
      font-size: clamp(1em, 1.15vw, 1.15em);
      color: var(--color--main);
      line-height: 1.4;
      font-weight: 600;
      background: url("../img/bg_rectangle_right.svg") no-repeat left center;
      background-size: contain; }

@media screen and (max-width: 859px) {
  body.home #sec_problem .section_inner article .problem__title {
    padding: 10px 10px 10px 50px;
    font-size: clamp(1.2em, 1.3vw, 1.3em); }
  body.home #sec_problem .section_inner article .problem__solution {
    font-size: clamp(0.9em, 0.9vw, 0.9em);
    line-height: 1.4; } }
@media screen and (max-width: 767px) {
  body.home #sec_problem .section_inner h2 {
    font-size: 1.4em; }
    body.home #sec_problem .section_inner h2 strong {
      font-size: 1.4em; }
  body.home #sec_problem .section_inner article {
    margin: 10px auto;
    display: block;
    background: var(--color--white); }
    body.home #sec_problem .section_inner article .problem__title {
      padding: 10px 10px 10px 50px;
      width: 100%;
      background: var(--color--bgb) url("../img/icon_check.svg") no-repeat left 15px center;
      background-size: 25px; }
    body.home #sec_problem .section_inner article .problem__solution {
      padding: 10px;
      width: 100%;
      font-size: clamp(1em, 1.15vw, 1.15em);
      color: var(--color--main);
      line-height: 1.4;
      font-weight: 600;
      background: none;
      background-size: contain; } }
body.home #sec_solution {
  background: var(--color--bg) url("../img/bg_rectangle.svg") no-repeat center bottom;
  background-size: contain;
  margin: 0 auto;
  padding: 0; }
  body.home #sec_solution .section_inner {
    padding: 0 0 6em; }
    body.home #sec_solution .section_inner h3 {
      text-align: center;
      color: var(--color--main);
      margin: 0 auto; }

body.home #sec_reason .section_inner {
  max-width: 1100px; }
  body.home #sec_reason .section_inner h2 {
    color: var(--color--main);
    margin-bottom: 10px; }
  body.home #sec_reason .section_inner .flex-wrapper {
    margin: 3em auto; }
    body.home #sec_reason .section_inner .flex-wrapper h3 {
      font-size: clamp(1.4em, 2.4vw, 2.4em); }
      body.home #sec_reason .section_inner .flex-wrapper h3 strong {
        color: var(--color--red); }
        body.home #sec_reason .section_inner .flex-wrapper h3 strong.number {
          color: var(--color--main);
          font-style: italic;
          display: inline-block;
          margin-right: 10px;
          font-size: 1.5em; }
      body.home #sec_reason .section_inner .flex-wrapper h3 span {
        font-size: 0.6em; }
    body.home #sec_reason .section_inner .flex-wrapper p {
      font-size: clamp(0.9em, 1.1vw, 1.1em);
      line-height: 1.6; }
    body.home #sec_reason .section_inner .flex-wrapper .image {
      position: relative;
      margin-bottom: 10px; }
      body.home #sec_reason .section_inner .flex-wrapper .image .number {
        position: absolute;
        top: -30px;
        left: 20px;
        font-family: 'Noto Serif JP', serif;
        font-style: italic;
        color: var(--color--main);
        line-height: 1;
        font-size: 4em; }
    body.home #sec_reason .section_inner .flex-wrapper .arrow__link {
      position: relative;
      display: inline-block;
      color: var(--color--main);
      padding: 5px 60px 5px 5px;
      border-bottom: 1px solid var(--color--main);
      font-size: clamp(1.3em, 1.6vw, 1.6em);
      font-weight: 600;
      font-family: 'Noto Serif JP', serif;
      transition: all ease-in-out 0.3s; }
      body.home #sec_reason .section_inner .flex-wrapper .arrow__link:after {
        position: absolute;
        bottom: -3px;
        right: 9px;
        display: block;
        content: "";
        width: 1px;
        height: 20px;
        transform: rotate(-45deg);
        background: var(--color--main); }
      body.home #sec_reason .section_inner .flex-wrapper .arrow__link:hover {
        padding-right: 70px; }

.cta {
  background: var(--color--bg);
  padding: 3rem 10px; }
  .cta .section_inner {
    max-width: 1000px;
    padding: 0 2rem 1rem; }
    .cta .section_inner h2 {
      font-size: clamp(1.3em, 2vw, 2em);
      margin-bottom: 20px; }
    .cta .section_inner .flex-wrapper .flex-one {
      width: 32%; }
    .cta .section_inner .flex-wrapper .flex-two {
      width: 66%; }
    .cta .section_inner .tel {
      font-size: clamp(1.7em, 2.3vw, 2.3em);
      font-weight: 700;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 1;
      margin-bottom: 10px; }
    .cta .section_inner .desc {
      display: flex;
      align-items: center;
      justify-content: center; }
      .cta .section_inner .desc span {
        font-size: 0.85em;
        display: inline-block;
        background: var(--color--sub4);
        color: var(--color--white);
        padding: 2px 10px;
        border-radius: 20px;
        margin-left: 10px; }
    .cta .section_inner .button {
      position: relative;
      text-align: left;
      font-family: 'Noto Serif JP', serif;
      padding: 15px;
      font-size: clamp(1.15em, 1.5vw, 1.5em); }
      .cta .section_inner .button i {
        position: absolute;
        top: 37%;
        right: 17px; }
        .cta .section_inner .button i img {
          width: 30px; }

@media (max-width: 767px) {
  .cta {
    padding: 3rem 10px; }
    .cta .section_inner {
      padding: 0 10px 1rem; }
      .cta .section_inner h2 {
        margin-bottom: 20px; }
      .cta .section_inner .flex-wrapper .flex-one {
        width: 100%; }
      .cta .section_inner .flex-wrapper .flex-two {
        width: 100%; }
      .cta .section_inner .tel img {
        width: 40px; }
      .cta .section_inner .desc {
        margin-bottom: 10px; }
      .cta .section_inner .button {
        margin-bottom: 10px; }
        .cta .section_inner .button i {
          top: 40%;
          right: 15px; }
          .cta .section_inner .button i img {
            width: 20px; } }
.cta__form {
  margin-top: 5rem; }
  .cta__form .flex-one {
    position: relative;
    background: var(--color--sub1);
    color: var(--color--white);
    padding: 30px 5px 80px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33%; }
    .cta__form .flex-one .label {
      position: absolute;
      top: -16px;
      left: 50%;
      width: 240px;
      transform: translateX(-50%);
      background: #025e1b;
      font-size: 1.2em;
      padding: 5px 20px;
      border-radius: 30px; }
    .cta__form .flex-one h2 {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: clamp(1.3em, 1.7vw, 1.7em); }
    .cta__form .flex-one h3 {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: clamp(1.2em, 1.3vw, 1.3em);
      margin: 0; }
    .cta__form .flex-one a.button {
      background: var(--color--white);
      border-radius: 40px;
      position: absolute;
      bottom: 15px;
      left: 0;
      margin: 0 5%;
      width: 90%;
      box-sizing: border-box; }
    .cta__form .flex-one:nth-child(1) {
      background: var(--color--sub1);
      text-align: center; }
      .cta__form .flex-one:nth-child(1) .label {
        background: #025e1b; }
      .cta__form .flex-one:nth-child(1) a.button {
        color: var(--color--sub1); }
    .cta__form .flex-one:nth-child(2) {
      background: var(--color--main);
      text-align: center; }
      .cta__form .flex-one:nth-child(2) .label {
        background: #094a70; }
      .cta__form .flex-one:nth-child(2) a.button {
        color: var(--color--main); }
    .cta__form .flex-one:nth-child(3) {
      background: var(--color--sub3);
      text-align: center; }
      .cta__form .flex-one:nth-child(3) .label {
        background: #bd4c21; }
      .cta__form .flex-one:nth-child(3) a.button {
        color: var(--color--sub3); }

@media (max-width: 767px) {
  .cta__form {
    margin-top: 5rem; }
    .cta__form .flex-one {
      display: block;
      margin-bottom: 40px;
      width: 100%; } }
body.home #faq {
  background: var(--color--white); }
  body.home #faq .section_inner h2 {
    color: var(--color--main);
    margin: 0.5em auto 2em;
    line-height: 1; }
  body.home #faq .section_inner article {
    margin-bottom: 4vw; }
  body.home #faq .section_inner .accordion {
    max-width: 1000px;
    margin: 0 auto; }
    body.home #faq .section_inner .accordion dt {
      position: relative;
      cursor: pointer;
      margin: 0 0 20px 0;
      padding: 20px;
      background: var(--color--bg);
      font-size: clamp(1.1em, 1.2vw, 1.2em);
      font-weight: 600;
      color: #444;
      min-height: 70px; }
      body.home #faq .section_inner .accordion dt::after {
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        content: '';
        width: 70px;
        height: 70px;
        background: var(--color--main) url("../img/plus.svg") center no-repeat; }
      body.home #faq .section_inner .accordion dt.active::after {
        background: var(--color--main) url("../img/minus.svg") center no-repeat;
        background-size: 20px; }
    body.home #faq .section_inner .accordion dd {
      margin: 0 0 20px 0;
      padding: 0 20px 20px;
      display: none;
      background: var(--color--white);
      transition: max-height 0.4s ease;
      font-size: clamp(1em, 1.1vw, 1.1em);
      line-height: 1.7; }
      body.home #faq .section_inner .accordion dd.active {
        display: block; }
  body.home #faq .section_inner .button {
    max-width: 340px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 10px;
    padding-bottom: 14px;
    font-family: 'Noto Serif JP', serif;
    text-align: left;
    position: relative; }
    body.home #faq .section_inner .button i {
      position: absolute;
      top: 35%;
      right: 17px; }
      body.home #faq .section_inner .button i img {
        width: 25px; }

@media (max-width: 767px) {
  body.home #faq .section_inner .accordion dt {
    padding-right: 2em; }
    body.home #faq .section_inner .accordion dt::after {
      width: 25px;
      height: 25px; }
  body.home #faq .section_inner .accordion dd {
    margin: 0 0 20px 0;
    padding: 0 20px 20px;
    display: none;
    background: var(--color--white);
    transition: max-height 0.4s ease;
    font-size: clamp(1em, 1.1vw, 1.1em);
    line-height: 1.7; }
    body.home #faq .section_inner .accordion dd.active {
      display: block; }
  body.home #faq .section_inner .button {
    max-width: 100%; }
    body.home #faq .section_inner .button i {
      position: absolute;
      top: 35%; } }
body.home #sec_assessment {
  background: url("../img/home/bg_assessment.svg") no-repeat center right;
  background-size: 40%; }
  body.home #sec_assessment .assessment__titleArea {
    padding: 1rem 30px;
    background: var(--color--sub1);
    color: var(--color--white);
    display: flex;
    flex-direction: row-reverse;
    align-items: center; }
    body.home #sec_assessment .assessment__titleArea .assessment__textArea {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 20px;
      align-items: center;
      width: 760px;
      max-width: 760px;
      font-family: 'Noto Serif JP', serif; }
      body.home #sec_assessment .assessment__titleArea .assessment__textArea .subt {
        font-size: clamp(1.3em, 1.7vw, 1.7em); }
        body.home #sec_assessment .assessment__titleArea .assessment__textArea .subt .balloon {
          position: absolute;
          top: -30px;
          left: 0;
          width: 8em;
          background: #FFDE52;
          padding: 7px;
          line-height: 1;
          color: var(--color--black);
          text-align: center;
          font-size: clamp(0.9em, 1vw, 1em); }
          body.home #sec_assessment .assessment__titleArea .assessment__textArea .subt .balloon strong {
            font-size: 1.5em; }
          body.home #sec_assessment .assessment__titleArea .assessment__textArea .subt .balloon:after {
            position: absolute;
            bottom: -15px;
            left: 40%;
            display: block;
            content: '';
            border-top: 20px solid #FFDE52;
            border-left: 20px solid transparent; }
      body.home #sec_assessment .assessment__titleArea .assessment__textArea h2 {
        text-align: left;
        line-height: 1;
        margin: 0.5em 0;
        font-size: clamp(1.3em, 1.7vw, 1.7em); }
  body.home #sec_assessment .assessment__contentArea {
    margin: 20px 0; }
    body.home #sec_assessment .assessment__contentArea .assessment__textArea {
      background-size: cover;
      margin-left: -180px;
      margin-top: 30px; }
      body.home #sec_assessment .assessment__contentArea .assessment__textArea p {
        margin-top: 0;
        font-size: clamp(1em, 1.2vw, 1.2em); }
      body.home #sec_assessment .assessment__contentArea .assessment__textArea .button {
        font-family: 'Noto Serif JP', serif;
        max-width: 300px;
        text-align: left;
        position: relative;
        padding: 15px; }
        body.home #sec_assessment .assessment__contentArea .assessment__textArea .button i {
          position: absolute;
          top: 20%;
          right: 15px; }

@media (max-width: 767px) {
  body.home #sec_assessment .assessment__titleArea {
    color: var(--color--white);
    padding: 10px;
    background-image: url("../img/home/bg_satei.svg");
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 50%; }
    body.home #sec_assessment .assessment__titleArea .assessment__textArea {
      padding: 15px;
      display: block; }
  body.home #sec_assessment .assessment__contentArea {
    margin: 0; }
    body.home #sec_assessment .assessment__contentArea .assessment__textArea {
      margin-left: 0;
      margin-top: 0;
      padding: 15px; }
      body.home #sec_assessment .assessment__contentArea .assessment__textArea .button {
        margin: 0 auto; } }
body.home #sec_example .section_inner h2 {
  color: var(--color--main);
  margin: 0.5em auto 1em;
  line-height: 1; }
body.home #sec_example .section_inner .lead:hover {
  text-decoration: underline; }
body.home #sec_example .section_inner .exampleSlider .item {
  background: var(--color--white); }
  body.home #sec_example .section_inner .exampleSlider .item h3 {
    font-family: 'Noto Sans JP', sans-serif;
    background: none;
    padding: 0;
    color: var(--color--black);
    text-align: left;
    font-size: 1.1em;
    margin: 0 0 7px 0; }
  body.home #sec_example .section_inner .exampleSlider .item .tag {
    flex-wrap: wrap; }
    body.home #sec_example .section_inner .exampleSlider .item .tag li {
      display: inline-block !important;
      margin: 0 3px 4px 0;
      border-radius: 0; }
  body.home #sec_example .section_inner .exampleSlider .item img {
    margin: 0 auto; }
body.home #sec_example .section_inner .flex-wrapper {
  max-width: 1000px;
  margin: 0 auto; }
  body.home #sec_example .section_inner .flex-wrapper .flex-one {
    position: relative; }
    body.home #sec_example .section_inner .flex-wrapper .flex-one .icon {
      position: absolute;
      top: 5px;
      right: 25px; }
    body.home #sec_example .section_inner .flex-wrapper .flex-one .button {
      margin: 0 auto; }

@media (max-width: 767px) {
  body.home #sec_example .section_inner .title_wrapper {
    margin-bottom: 2em; }
    body.home #sec_example .section_inner .title_wrapper h2 {
      margin-bottom: 1em; }
    body.home #sec_example .section_inner .title_wrapper .script {
      top: 8%;
      right: 0; }
      body.home #sec_example .section_inner .title_wrapper .script img {
        width: 240px; } }
body.home #sec_knowledge {
  padding: 2em 0 3em;
  background: var(--color--main); }
  body.home #sec_knowledge .title__en {
    color: var(--color--white); }
  body.home #sec_knowledge h2 {
    color: var(--color--white);
    margin: 0.5em auto 1em;
    line-height: 1; }
  body.home #sec_knowledge .section_inner .exampleSlider {
    margin: 0 20px; }
    body.home #sec_knowledge .section_inner .exampleSlider .slide-arrow {
      position: absolute;
      top: 40%;
      width: 50px;
      height: 50px; }
      body.home #sec_knowledge .section_inner .exampleSlider .slide-arrow.prev-arrow {
        background: url("../img/arrow_w_prev.webp");
        background-size: contain;
        z-index: 100;
        left: -10px; }
      body.home #sec_knowledge .section_inner .exampleSlider .slide-arrow.next-arrow {
        background: url("../img/arrow_w_next.webp");
        background-size: contain;
        z-index: 100;
        right: -10px; }
    body.home #sec_knowledge .section_inner .exampleSlider .item {
      box-shadow: none;
      text-align: center;
      margin: 10px 10px; }
      body.home #sec_knowledge .section_inner .exampleSlider .item img {
        margin: 0 auto; }

@media (max-width: 767px) {
  body.home #sec_knowledge .section_inner .title_wrapper {
    margin-bottom: 2em; }
    body.home #sec_knowledge .section_inner .title_wrapper h2 {
      margin-bottom: 1em; }
  body.home #sec_knowledge .section_inner .exampleSlider {
    margin: 0; }
    body.home #sec_knowledge .section_inner .exampleSlider .slide-arrow {
      top: 40%;
      width: 40px;
      height: 40px; }
    body.home #sec_knowledge .section_inner .exampleSlider .item {
      box-shadow: none;
      text-align: center;
      margin: 10px 10px; }
      body.home #sec_knowledge .section_inner .exampleSlider .item img {
        margin: 0 auto; } }
#sec_meeting {
  padding: 5rem 0; }
  #sec_meeting .meeting__titleArea {
    background: var(--color--bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Serif JP', serif; }
    #sec_meeting .meeting__titleArea .meeting_textArea {
      width: 360px;
      max-width: 360px; }
    #sec_meeting .meeting__titleArea h2 {
      text-align: left;
      line-height: 1;
      margin: 0.5em 0 1em;
      display: flex;
      align-items: center; }
      #sec_meeting .meeting__titleArea h2 span {
        display: inline-block;
        background: var(--color--red);
        color: var(--color--white);
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 0.6em;
        padding: 5px;
        margin-right: 7px; }
    #sec_meeting .meeting__titleArea p {
      font-size: clamp(1.1em, 1.5vw, 1.5em);
      font-family: 'Noto Sans JP', sans-serif; }
  #sec_meeting .meeting__contentArea {
    padding: 20px; }
    #sec_meeting .meeting__contentArea figure {
      max-width: 640px;
      position: relative;
      margin-bottom: 30px; }
      #sec_meeting .meeting__contentArea figure img {
        max-width: 400px; }
      #sec_meeting .meeting__contentArea figure .button {
        position: absolute;
        display: block;
        padding: 15px 60px 15px 15px;
        background: var(--color--main);
        color: var(--color--white);
        top: 30%;
        right: 15%;
        font-family: 'Noto Serif JP', serif;
        font-weight: 600;
        font-size: clamp(1.1em, 1.5vw, 1.5em); }
        #sec_meeting .meeting__contentArea figure .button i {
          position: absolute;
          top: 38%;
          right: 15px;
          width: 25px; }

@media (max-width: 1200px) {
  #sec_meeting .meeting__contentArea {
    padding: 20px 20px 10px 20px; }
    #sec_meeting .meeting__contentArea figure {
      margin-bottom: 40px; }
      #sec_meeting .meeting__contentArea figure .button {
        top: auto;
        bottom: -25%;
        right: 0; } }
@media (max-width: 767px) {
  #sec_meeting .meeting__titleArea {
    background: var(--color--white); }
    #sec_meeting .meeting__titleArea .meeting_textArea {
      width: 100%; }
    #sec_meeting .meeting__titleArea h2 {
      text-align: center;
      justify-content: center; }
      #sec_meeting .meeting__titleArea h2 span {
        font-size: 0.6em;
        padding: 5px;
        margin-right: 7px; }
    #sec_meeting .meeting__titleArea p {
      text-align: center; }
  #sec_meeting .meeting__contentArea {
    background: var(--color--bg);
    padding: 20px 20px 10px 20px; }
    #sec_meeting .meeting__contentArea figure {
      margin-bottom: 40px; }
      #sec_meeting .meeting__contentArea figure:first-child {
        margin-bottom: 70px; }
      #sec_meeting .meeting__contentArea figure img {
        max-width: 400px; }
      #sec_meeting .meeting__contentArea figure .button {
        top: auto;
        bottom: -35%;
        right: -10%; }
        #sec_meeting .meeting__contentArea figure .button i {
          top: 40%;
          right: 20px; } }
body.home #sec_media {
  padding: 1rem 0 5rem; }
  body.home #sec_media .media__titleArea {
    background: var(--color--bg);
    display: flex;
    align-items: center;
    font-family: 'Noto Serif JP', serif;
    justify-content: center; }
    body.home #sec_media .media__titleArea .media_textArea {
      width: 360px;
      max-width: 360px; }
    body.home #sec_media .media__titleArea h2 {
      text-align: left;
      color: var(--color--main); }
    body.home #sec_media .media__titleArea p {
      font-size: clamp(1.1em, 1.5vw, 1.5em);
      font-family: 'Noto Sans JP', sans-serif;
      text-align: left;
      font-weight: 400; }
  body.home #sec_media .media__contentArea {
    padding: 20px; }
    body.home #sec_media .media__contentArea .media__logo {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      padding: 0;
      margin: 0; }
      body.home #sec_media .media__contentArea .media__logo li {
        list-style: none;
        width: 19%;
        text-align: center;
        padding: 20px 10px; }
        body.home #sec_media .media__contentArea .media__logo li img {
          vertical-align: middle;
          margin: 0 auto; }

@media (max-width: 767px) {
  body.home #sec_media {
    padding: 1rem 0 5rem; }
    body.home #sec_media .media__titleArea {
      padding: 15px; }
      body.home #sec_media .media__titleArea h2 {
        text-align: center; }
      body.home #sec_media .media__titleArea p {
        text-align: center; }
    body.home #sec_media .media__contentArea {
      padding: 15px; }
      body.home #sec_media .media__contentArea .media__logo li {
        width: 33%;
        padding: 20px 10px; } }
body.home #sec_intro {
  margin-bottom: 4rem; }
  body.home #sec_intro .section_inner {
    /* 基本 */
    /* 2列目：4つを均等割 */
    /* ラベル帯 */
    /* “折れ（三角）”のちょい見せ */
    /* カテゴリ別カラー */
    /* レスポンシブ */ }
    body.home #sec_intro .section_inner h2 {
      color: var(--color--main);
      line-height: 1;
      margin: 0.5em 0 2em; }
    body.home #sec_intro .section_inner .subt {
      text-align: center;
      font-size: clamp(0.9em, 1.2vw, 1.2em); }
    body.home #sec_intro .section_inner .intro__list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 24px; }
    body.home #sec_intro .section_inner .intro__item {
      flex: 0 0 calc((100% - 60px) / 4);
      /* 4つ分の1つのサイズ */
      overflow: hidden; }
    body.home #sec_intro .section_inner .intro__wrapper {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin: 0 auto; }
    body.home #sec_intro .section_inner .intro__list--pc-row1 {
      display: flex;
      gap: 20px;
      justify-content: center; }
    body.home #sec_intro .section_inner .intro__list--pc-row2 {
      display: flex;
      gap: 20px; }
    body.home #sec_intro .section_inner .intro__item a {
      display: block;
      position: relative;
      overflow: hidden; }
    body.home #sec_intro .section_inner .intro__item figure {
      margin: 0 15px 0 0;
      overflow: hidden; }
    body.home #sec_intro .section_inner .intro__item a:hover img {
      transform: scale(1.1, 1.1); }
    body.home #sec_intro .section_inner .heading {
      position: absolute;
      right: -15px;
      /* ← カードからはみ出す */
      bottom: 25px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 27px 10px 18px;
      font-weight: 700;
      font-size: 18px;
      color: #fff;
      line-height: 1;
      z-index: 1;
      /* 黒帯より上に */ }
    body.home #sec_intro .section_inner .heading i {
      display: inline-flex;
      width: 22px;
      height: 22px; }
    body.home #sec_intro .section_inner .heading i img {
      width: 100%;
      height: 100%; }
    body.home #sec_intro .section_inner .heading::after {
      content: "";
      position: absolute;
      right: 14px;
      bottom: -14px;
      width: 17px;
      aspect-ratio: 1/cos(30deg);
      clip-path: polygon(0 0, 100% 0, 0 100%);
      background: #999; }
    body.home #sec_intro .section_inner .heading--care {
      background: #d74a4a;
      color: #fff; }
    body.home #sec_intro .section_inner .heading--welfare {
      background: #47b6b3;
      color: #fff; }
    body.home #sec_intro .section_inner .heading--nursery {
      background: #d88d2a;
      color: #fff; }
    body.home #sec_intro .section_inner .heading--medical {
      background: #3a78c6;
      color: #fff; }
    body.home #sec_intro .section_inner .heading--pharmacy {
      background: #e6749a;
      color: #fff; }
    body.home #sec_intro .section_inner .heading--construction {
      background: #57a357;
      color: #fff; }
    body.home #sec_intro .section_inner .heading--it {
      background: #5e62b5;
      color: #fff; }
    @media (max-width: 1024px) {
      body.home #sec_intro .section_inner .intro__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px; }
      body.home #sec_intro .section_inner .heading {
        font-size: 16px;
        padding: 9px 14px 9px 16px; }
      body.home #sec_intro .section_inner .heading::before {
        bottom: -7px;
        border-top-width: 7px;
        right: 40px; } }
    @media (max-width: 767px) {
      body.home #sec_intro .section_inner {
        /* 黒帯は少し細めに */ }
        body.home #sec_intro .section_inner .intro__list {
          grid-template-columns: repeat(2, 1fr);
          gap: 12px; }
        body.home #sec_intro .section_inner .heading {
          right: -12px;
          /* SP でも右はみ出しを維持 */
          bottom: 10px;
          font-size: 15px;
          padding: 8px 12px 8px 14px; }
        body.home #sec_intro .section_inner .heading i {
          width: 18px;
          height: 18px; }
        body.home #sec_intro .section_inner .heading::before {
          bottom: -6px;
          right: 34px;
          border-top-width: 6px; }
        body.home #sec_intro .section_inner .intro__item a::after {
          width: 8px; } }

/* スマホ対応 */
@media (max-width: 768px) {
  body.home #sec_intro .section_inner {
    overflow-x: hidden;
    /* orderで並び順を設定：2 2 2 1 */
    /* 介護 */
    /* 障害福祉 */
    /* 保育 */
    /* 医療 */
    /* 調剤 */
    /* 建設 */
    /* IT（中央寄せ） */ }
    body.home #sec_intro .section_inner h2 {
      font-size: 1.3em; }
    body.home #sec_intro .section_inner .intro__wrapper {
      flex-direction: row;
      /* スマホでは横並びで折り返し */
      flex-wrap: wrap; }
    body.home #sec_intro .section_inner .intro__list--pc-row1,
    body.home #sec_intro .section_inner .intro__list--pc-row2 {
      display: contents;
      /* リスト要素を解除してアイテムを直接並べる */ }
    body.home #sec_intro .section_inner .intro__item {
      flex: 0 0 calc((100% - 20px) / 2);
      /* 2つ分の1つのサイズ */ }
    body.home #sec_intro .section_inner .intro__item--1 {
      order: 1; }
    body.home #sec_intro .section_inner .intro__item--2 {
      order: 2; }
    body.home #sec_intro .section_inner .intro__item--3 {
      order: 3; }
    body.home #sec_intro .section_inner .intro__item--4 {
      order: 4; }
    body.home #sec_intro .section_inner .intro__item--5 {
      order: 5; }
    body.home #sec_intro .section_inner .intro__item--6 {
      order: 6; }
    body.home #sec_intro .section_inner .intro__item--7 {
      order: 7;
      margin: 0 auto; } }
/* さらに小さい画面用（オプション） */
@media (max-width: 480px) {
  .container {
    gap: 15px; }

  .row-1,
  .row-2 {
    gap: 15px; }

  .box {
    flex: 0 0 calc((100% - 15px) / 2); } }
body.home #sec_contact {
  background: var(--color--bg); }
  body.home #sec_contact .section_inner {
    max-width: 1000px;
    padding: 20px 20px;
    background: var(--color--white); }
    body.home #sec_contact .section_inner h2 {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: clamp(1.3em, 1.7vw, 1.7em); }
    body.home #sec_contact .section_inner .c-table-ttl {
      background: var(--color--white);
      font-size: clamp(1em, 1vw, 1em);
      border: none; }
    body.home #sec_contact .section_inner .c-table-ttl::before {
      display: none; }
    body.home #sec_contact .section_inner figure {
      margin: 0 0 2em 0;
      padding: 0; }
      body.home #sec_contact .section_inner figure figcaption {
        padding: 10px 0;
        text-align: center; }

@media screen and (max-width: 767px) {
  body.home #sec_contact .section_inner {
    margin: 0 15px; } }
body.faq .section_inner article {
  margin-bottom: 4vw; }
body.faq .section_inner .lead {
  margin: 2rem 0;
  font-family: 'Noto Serif JP', serif; }
body.faq .section_inner .accordion {
  max-width: 1000px;
  margin: 0 auto; }
  body.faq .section_inner .accordion dt {
    position: relative;
    cursor: pointer;
    margin: 0 0 20px 0;
    padding: 20px;
    background: var(--color--bg);
    font-size: clamp(1.1em, 1.2vw, 1.2em);
    font-weight: 600;
    color: #444;
    min-height: 70px; }
  body.faq .section_inner .accordion dd {
    margin: 0 0 20px 0;
    padding: 0 20px 20px;
    background: var(--color--white);
    transition: max-height 0.4s ease;
    font-size: clamp(1em, 1.1vw, 1.1em);
    line-height: 1.7; }
    body.faq .section_inner .accordion dd.active {
      display: block; }

/*---------------------
 sell_flow
---------------------*/
body.sell_flow {
  /* 次のセクションの背景色で作られた三角SVGを背景に設定 */ }
  body.sell_flow main {
    font-size: 16px; }
    body.sell_flow main p {
      margin: 1em 0; }
    body.sell_flow main h3 {
      text-align: left; }
  body.sell_flow #index {
    padding: 1vh 0; }
  body.sell_flow .flows_wrapper {
    max-width: 840px;
    justify-content: center;
    margin: 10px auto;
    display: flex; }
    body.sell_flow .flows_wrapper .flows {
      position: relative;
      background: var(--color--bg);
      border-radius: 20px;
      padding: 15px;
      margin: 15px; }
      body.sell_flow .flows_wrapper .flows.arrow:after {
        position: absolute;
        top: 0;
        left: 100%;
        display: block;
        content: '';
        width: 24px;
        height: 100%;
        background: url("../img/arrow_mini.svg") no-repeat center; }
      body.sell_flow .flows_wrapper .flows.flows02 {
        background: #C4DBE9; }
      body.sell_flow .flows_wrapper .flows.flows03 {
        background: #9CBBCE; }
      body.sell_flow .flows_wrapper .flows .title {
        font-weight: 600;
        text-align: center; }
      body.sell_flow .flows_wrapper .flows ul {
        display: flex;
        align-items: flex-start;
        padding: 0; }
        body.sell_flow .flows_wrapper .flows ul li {
          list-style: none;
          position: relative;
          min-width: 38px;
          margin: 0 14px; }
          body.sell_flow .flows_wrapper .flows ul li a {
            display: block;
            writing-mode: vertical-rl;
            text-orientation: upright;
            background: var(--color--white);
            border-radius: 30px;
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
            height: 18em;
            transition: all ease-in-out 0.2s; }
            body.sell_flow .flows_wrapper .flows ul li a:hover {
              transform: scale(1.08); }
          body.sell_flow .flows_wrapper .flows ul li.arrow:after {
            position: absolute;
            top: -10px;
            left: 100%;
            display: block;
            content: '';
            width: 24px;
            height: 100%;
            background: url("../img/arrow_mini.svg") no-repeat center; }
          body.sell_flow .flows_wrapper .flows ul li .text {
            padding: 10px 15px 20px;
            font-weight: 600; }
          body.sell_flow .flows_wrapper .flows ul li .num {
            display: inline-block;
            font-weight: bold;
            background: var(--color--sub3);
            color: var(--color--white);
            padding: 10px 15px;
            border-radius: 30px 30px 0 0;
            writing-mode: horizontal-tb; }
  body.sell_flow #flow_first, body.sell_flow #flow_second, body.sell_flow #flow_third {
    padding-bottom: 80px; }
    body.sell_flow #flow_first .section_inner, body.sell_flow #flow_second .section_inner, body.sell_flow #flow_third .section_inner {
      max-width: 840px;
      margin: 0 auto; }
      body.sell_flow #flow_first .section_inner article, body.sell_flow #flow_second .section_inner article, body.sell_flow #flow_third .section_inner article {
        margin-bottom: 4vw; }
    body.sell_flow #flow_first h2, body.sell_flow #flow_second h2, body.sell_flow #flow_third h2 {
      display: flex;
      align-items: center;
      text-align: left;
      font-size: clamp(1.3em, 1.4vw, 1.4em); }
      body.sell_flow #flow_first h2 .num, body.sell_flow #flow_second h2 .num, body.sell_flow #flow_third h2 .num {
        width: 40px;
        height: 40px;
        background: var(--color--main);
        border-radius: 50%;
        color: var(--color--white);
        text-align: center;
        line-height: 38px;
        margin-right: 7px;
        font-size: clamp(1.3em, 1.5vw, 1.5em); }
  body.sell_flow .box {
    background: var(--color--white);
    border-radius: 30px;
    max-width: 840px;
    margin: 20px auto;
    padding: 20px; }
    body.sell_flow .box .point {
      display: inline-block;
      padding: 9px 30px;
      border-radius: 10px;
      background: var(--color--sub3);
      color: var(--color--white);
      font-size: clamp(1.3em, 1.4vw, 1.4em);
      font-weight: 600; }
    body.sell_flow .box .titleArea {
      display: flex;
      width: 100%;
      align-items: center; }
      body.sell_flow .box .titleArea .flex-item {
        margin-right: 10px; }
    body.sell_flow .box figure {
      margin: 20px; }
    body.sell_flow .box h3 {
      font-size: clamp(1.1em, 1.3vw, 1.3em); }
      body.sell_flow .box h3 strong {
        color: var(--color--red); }
    body.sell_flow .box p {
      line-height: 1.8; }
    body.sell_flow .box ul {
      padding-left: 1em; }
      body.sell_flow .box ul.disc {
        margin-top: 2rem; }
        body.sell_flow .box ul.disc li {
          list-style: none;
          background: url("../img/icon_disc_orange.svg") no-repeat left top 0.5em;
          background-size: 12px;
          padding-left: 20px;
          line-height: 1.8; }
  body.sell_flow #flow_first {
    padding-top: 4rem;
    background: var(--color--bg); }
  body.sell_flow #flow_second {
    padding-top: 4rem;
    background: #C4DBE9; }
  body.sell_flow #flow_third {
    padding-top: 4rem;
    background: #9CBBCE; }
  body.sell_flow #flow_forth {
    background: var(--color--white);
    padding: 4rem 0 0 0;
    margin-bottom: 0; }
    body.sell_flow #flow_forth .title_wrapper h2 {
      color: var(--color--main);
      margin-bottom: 1rem; }
    body.sell_flow #flow_forth figure {
      max-width: 640px;
      margin: 0 auto; }
  body.sell_flow .triangle {
    height: 100px;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 10; }
  body.sell_flow .next-FFEBEB {
    position: relative;
    margin-top: -150px;
    z-index: 10;
    background: #C4DBE9 url("data:image/svg+xml;utf8,<svg viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'><polygon points='0,0 50,100 100,0' fill='%23EAF2F7'/></svg>") no-repeat;
    background-size: 100% 80px; }
  body.sell_flow .next-FFD3D3 {
    position: relative;
    margin-top: -150px;
    background: #9CBBCE url("data:image/svg+xml;utf8,<svg viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'><polygon points='0,0 50,100 100,0' fill='%23C4DBE9'/></svg>") no-repeat;
    background-size: 100% 80px; }
  body.sell_flow .next-FFF {
    position: relative;
    margin-top: -150px;
    background: #FFF url("data:image/svg+xml;utf8,<svg viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'><polygon points='0,0 50,100 100,0' fill='%239CBBCE'/></svg>") no-repeat;
    background-size: 100% 80px; }
  body.sell_flow .w480 {
    max-width: 480px;
    margin: 0 auto; }
    body.sell_flow .w480 ul {
      padding-left: 1em; }
      body.sell_flow .w480 ul.disc li {
        list-style: none;
        background: url("../img/icon_disc_orange.svg") no-repeat left top 0.5em;
        background-size: 12px;
        padding-left: 20px;
        line-height: 1.8; }

@media (max-width: 767px) {
  body.sell_flow #hero {
    padding: 1em 0 1em; }
    body.sell_flow #hero .title_wrapper {
      margin: 0; }
      body.sell_flow #hero .title_wrapper .script {
        top: 40%;
        width: 100px;
        right: 10%; }
  body.sell_flow .flows_wrapper {
    margin: 10px auto;
    max-width: 100%; }
    body.sell_flow .flows_wrapper .flows {
      padding: 5px 2px;
      margin: 10px 5px; }
      body.sell_flow .flows_wrapper .flows .title {
        margin-top: 5px;
        font-size: 0.8em;
        height: 2.5em; }
      body.sell_flow .flows_wrapper .flows.arrow:after {
        top: 7px;
        width: 10px; }
      body.sell_flow .flows_wrapper .flows ul {
        margin: 0; }
        body.sell_flow .flows_wrapper .flows ul li {
          min-width: 27px;
          margin: 10px 5px; }
          body.sell_flow .flows_wrapper .flows ul li a {
            height: 16em; }
            body.sell_flow .flows_wrapper .flows ul li a .text {
              padding: 10px 5px; }
            body.sell_flow .flows_wrapper .flows ul li a .num {
              padding: 4px 8px; }
          body.sell_flow .flows_wrapper .flows ul li.arrow:after {
            left: 90%;
            width: 10px; }
  body.sell_flow #flow_first .section_inner article, body.sell_flow #flow_second .section_inner article, body.sell_flow #flow_third .section_inner article {
    margin-bottom: 4vw; }
  body.sell_flow .box {
    position: relative;
    z-index: 11; }
    body.sell_flow .box .titleArea {
      display: block; }
      body.sell_flow .box .titleArea .flex-item h3.subt {
        text-align: center; }
    body.sell_flow .box figure {
      margin: 10px 0; }
    body.sell_flow .box p {
      font-size: 0.9em; }
    body.sell_flow .box h3 {
      margin-bottom: 0; }
    body.sell_flow .box ul {
      padding-left: 0; }
      body.sell_flow .box ul.disc li {
        font-size: 0.9em;
        list-style: none;
        background: url("../img/icon_disc_orange.svg") no-repeat left top 0.5em;
        background-size: 10px;
        padding-left: 20px;
        line-height: 1.8; }
  body.sell_flow #flow_first {
    background: var(--color--bg); }
  body.sell_flow #flow_second {
    background: #C4DBE9; }
  body.sell_flow #flow_third {
    background: #9CBBCE; }
  body.sell_flow #flow_forth .title_wrapper .script {
    top: 1em;
    right: 10%; }
    body.sell_flow #flow_forth .title_wrapper .script img {
      width: 100px; }
  body.sell_flow .next-FFEBEB {
    position: relative;
    margin-top: -100px; }
  body.sell_flow .next-FFD3D3 {
    position: relative;
    margin-top: -100px; }
  body.sell_flow .next-FFF {
    position: relative;
    margin-top: -100px; } }
#floatArea {
  display: none;
  position: fixed;
  top: 150px;
  right: 20px;
  z-index: 1000; }
  #floatArea h4 {
    text-align: center;
    margin: 0; }
  #floatArea ul {
    list-style: none; }
    #floatArea ul li {
      margin-bottom: 5px;
      font-weight: 600; }
      #floatArea ul li .num {
        margin-right: 0.6em; }
      #floatArea ul li a {
        display: block;
        padding: 10px 15px;
        border-radius: 10px;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        color: var(--color--black);
        background: var(--color--white); }
        #floatArea ul li a.active {
          background: var(--color--main);
          color: var(--color--white); }

@media screen and (max-width: 1000px) {
  #floatArea {
    display: none !important; } }
/*---------------------
 sell
---------------------*/
body.sell #hero {
  padding: 1em 0 2em;
  background: url(../img/sell/kv_bg.webp) no-repeat center left 50%;
  background-size: cover;
  background-attachment: fixed; }
  body.sell #hero .section_inner {
    max-width: 1200px; }
    body.sell #hero .section_inner lable {
      font-size: 0.9em; }
  body.sell #hero .l-breadcrumb ol li {
    color: var(--color--black); }
    body.sell #hero .l-breadcrumb ol li a {
      color: var(--color--black); }
  body.sell #hero .flex-wrapper {
    align-items: center; }
    body.sell #hero .flex-wrapper .flex-one .title_wrapper h1 {
      text-align: left;
      line-height: 1.3; }
    body.sell #hero .flex-wrapper .flex-one p {
      font-family: 'Noto Serif JP', serif; }
    body.sell #hero .flex-wrapper .flex-one h2 {
      font-size: clamp(1.3em, 1.6vw, 1.6em);
      margin: 0 0 1em 0;
      font-family: 'Noto Sans JP', sans-serif; }
    body.sell #hero .flex-wrapper .flex-one.formArea {
      background: var(--color--white);
      padding: 15px; }
    body.sell #hero .flex-wrapper .flex-one table.table_form tr th {
      border: none;
      width: 200px; }
      body.sell #hero .flex-wrapper .flex-one table.table_form tr th.c-table-ttl {
        background: var(--color--white);
        font-size: 0.9em; }
        body.sell #hero .flex-wrapper .flex-one table.table_form tr th.c-table-ttl:before {
          display: none; }
    body.sell #hero .flex-wrapper .flex-one table.table_form tr td {
      padding: 5px; }
    body.sell #hero .flex-wrapper .flex-one input.button {
      background: var(--color--sub1) url("../img/arrow_btn.svg") no-repeat right 10px center;
      background-size: 25px;
      border: none; }

@media screen and (max-width: 767px) {
  body.sell #hero {
    background: url(../img/sell/kv_bg.webp) no-repeat top left;
    background-size: cover; }
    body.sell #hero label {
      font-size: 0.9em; }
    body.sell #hero .flex-wrapper .flex-one h1 {
      text-align: left; }
    body.sell #hero .flex-wrapper .flex-one h2 {
      font-size: clamp(1.3em, 1.6vw, 1.6em);
      margin: 0 0 1em 0; }
    body.sell #hero .flex-wrapper .flex-one table.table_form {
      display: flex; }
      body.sell #hero .flex-wrapper .flex-one table.table_form tr th {
        display: block; }
      body.sell #hero .flex-wrapper .flex-one table.table_form tr td {
        display: block; } }
body.sell #flow {
  background: var(--color--bg); }
  body.sell #flow .section_inner h2 {
    color: var(--color--main);
    margin: 0.3em auto 2em;
    line-height: 1.4; }
  body.sell #flow .section_inner .flex-wrapper {
    margin-bottom: 2em; }
    body.sell #flow .section_inner .flex-wrapper .flex-one {
      position: relative;
      background: var(--color--white);
      padding: 12px; }
      body.sell #flow .section_inner .flex-wrapper .flex-one figure img {
        width: 100px; }
      body.sell #flow .section_inner .flex-wrapper .flex-one h3 {
        color: var(--color--main);
        font-family: 'Noto Sans JP', sans-serif;
        font-size: clamp(1.1em, 1.3vw, 1.3em);
        margin: 0.3em auto; }
      body.sell #flow .section_inner .flex-wrapper .flex-one::after {
        position: absolute;
        top: 40%;
        right: -10%;
        display: block;
        width: 11px;
        height: 25px;
        content: '';
        background: url("../img/sell/arrow_right_s.svg") no-repeat center;
        background-size: 11px; }
      body.sell #flow .section_inner .flex-wrapper .flex-one:last-child::after {
        display: none; }
  body.sell #flow .section_inner a {
    text-decoration: underline; }

@media screen and (max-width: 767px) {
  body.sell #flow .section_inner .lead {
    font-size: 0.85em; }
  body.sell #flow .section_inner .flex-wrapper {
    margin-bottom: 2em; }
    body.sell #flow .section_inner .flex-wrapper .flex-one {
      position: relative;
      margin-bottom: 2em; }
      body.sell #flow .section_inner .flex-wrapper .flex-one::after {
        position: absolute;
        top: auto;
        bottom: -20px;
        right: 0;
        display: block;
        width: 100%;
        height: 10px;
        background: url("../img/sell/arrow_down.svg") no-repeat center;
        background-size: 25px; } }
body.sell #assessment .section_inner h2 {
  color: var(--color--main);
  margin: 0.3em auto 1em;
  line-height: 1.4; }
body.sell #assessment .section_inner h3 {
  text-align: center;
  margin: 0 auto 5rem; }
  body.sell #assessment .section_inner h3 strong {
    font-size: 1.2em;
    color: var(--color--main); }
    body.sell #assessment .section_inner h3 strong.orange {
      color: var(--color--sub3); }
body.sell #assessment .section_inner .flex-wrapper.point {
  max-width: 1100px;
  margin: 0 auto; }
  body.sell #assessment .section_inner .flex-wrapper.point .flex-one {
    width: 32%; }
    body.sell #assessment .section_inner .flex-wrapper.point .flex-one h3 {
      margin-bottom: 15px; }
    body.sell #assessment .section_inner .flex-wrapper.point .flex-one p {
      font-size: clamp(1em, 1.1vw, 1.1em); }
body.sell #assessment .section_inner .buttonArea {
  margin: 3rem auto 0; }
  body.sell #assessment .section_inner .buttonArea .button {
    max-width: 360px;
    margin: 0 auto; }

@media (max-width: 767px) {
  body.sell #assessment .section_inner .flex-wrapper.point .flex-one {
    width: 100%;
    margin-bottom: 40px; } }
body.sell #hero .flex-wrapper .flex-one .c-check-confirm {
  font-family: 'Noto Sans JP', sans-serif; }

@media (min-width: 768px) {
  body.sell .c-check-box__txt {
    font-size: 0.9em; }

  body.sell #hero .flex-wrapper .flex-one .c-check-confirm {
    font-size: 0.9em; } }
.flex-wrapper.point .flex-one {
  position: relative;
  background: var(--color--main);
  padding: 25px 15px; }
  .flex-wrapper.point .flex-one .num {
    position: absolute;
    top: -1.15em;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(1.8em, 2.4vw, 2.4em);
    color: var(--color--main); }
  .flex-wrapper.point .flex-one h3 {
    color: var(--color--main);
    background: var(--color--white);
    margin-bottom: 0;
    font-size: clamp(1.4em, 1.8vw, 1.8em); }
  .flex-wrapper.point .flex-one p {
    color: var(--color--white);
    font-size: clamp(1.1em, 1.3vw, 1.3em);
    text-align: center;
    margin-bottom: 0; }
    .flex-wrapper.point .flex-one p strong {
      font-size: 1.4em;
      display: block; }

@media (max-width: 767px) {
  .flex-wrapper.point .flex-one {
    width: 100%;
    margin-bottom: 40px; } }
/*---------------------
 osake
---------------------*/
body.osaka #contactform .section_inner {
  max-width: 1000px;
  margin: 1rem auto; }
  body.osaka #contactform .section_inner .title_wrapper {
    margin-bottom: 3em; }
  body.osaka #contactform .section_inner .leadl {
    font-size: 0.85em; }
  body.osaka #contactform .section_inner .flex-wrapper h3 {
    margin-top: 0;
    font-size: clamp(1.3em, 1.5vw, 1.5em);
    color: var(--color--main);
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color--main); }
  body.osaka #contactform .section_inner .flex-wrapper ul {
    margin: 0;
    padding: 0; }
    body.osaka #contactform .section_inner .flex-wrapper ul li {
      list-style: none;
      background: url(../img/icon_speech.svg) no-repeat top left;
      background-size: 35px;
      min-height: 45px;
      padding-left: 50px; }

@media (max-width: 767px) {
  body.osaka #contactform .section_inner .flex-wrapper h3 {
    margin-top: 10px; } }
/*---------------------
 tokyo
---------------------*/
body.tokyo #contactform .section_inner {
  max-width: 1000px;
  margin: 1rem auto; }
  body.tokyo #contactform .section_inner .leadl {
    font-size: 0.85em; }
  body.tokyo #contactform .section_inner .flex-wrapper h3 {
    margin-top: 0;
    font-size: clamp(1.3em, 1.5vw, 1.5em);
    color: var(--color--main);
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color--main); }
  body.tokyo #contactform .section_inner .flex-wrapper ul {
    margin: 0;
    padding: 0; }
    body.tokyo #contactform .section_inner .flex-wrapper ul li {
      list-style: none;
      background: url(../img/icon_speech.svg) no-repeat top left;
      background-size: 35px;
      min-height: 45px;
      padding-left: 50px; }

@media (max-width: 767px) {
  body.tokyo #contactform .section_inner .flex-wrapper h3 {
    margin-top: 10px; } }
/*---------------------
 reservation
---------------------*/
body.reservation #hero {
  padding: 1em 0 2em; }
  body.reservation #hero .section_inner {
    max-width: 1100px; }
  body.reservation #hero .flex-wrapper .flex-one .title_wrapper h1 {
    text-align: left; }
  body.reservation #hero .flex-wrapper .flex-one .title_wrapper .script {
    right: 10%;
    top: 4em; }
  body.reservation #hero .flex-wrapper .flex-one h2 {
    font-size: clamp(1.3em, 1.6vw, 1.6em);
    margin: 0 0 1em 0; }
  body.reservation #hero .flex-wrapper .flex-one .button {
    background: var(--color--sub1); }

@media screen and (max-width: 767px) {
  body.reservation #hero .flex-wrapper .flex-one h1 {
    text-align: left; }
  body.reservation #hero .flex-wrapper .flex-one h2 {
    font-size: clamp(1.3em, 1.6vw, 1.6em);
    margin: 0 0 1em 0; } }
/*---------------------
 selllists
---------------------*/
body.selllists #contactform .section_inner .title_wrapper {
  margin-bottom: 3em; }
  body.selllists #contactform .section_inner .title_wrapper .script {
    top: 1em;
    right: 30%; }
body.selllists #contactform .section_inner .searchArea {
  max-width: 800px;
  padding: 2em;
  margin: 30px auto;
  border: 1px solid var(--color--gray);
  background: var(--color--bg); }
  body.selllists #contactform .section_inner .searchArea .result__number {
    font-size: clamp(1em, 1.3vw, 1.3em);
    text-align: center;
    font-weight: 600; }
    body.selllists #contactform .section_inner .searchArea .result__number span {
      font-size: 2em;
      color: var(--color--sub1); }
body.selllists #contactform .section_inner .button .telmark {
  width: 30px;
  margin-right: 15px; }

.p-reserve-place {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  border: 1px solid #6d6d6d;
  margin-bottom: 10px;
  max-width: 800px;
  margin: 40px auto; }

@media screen and (max-width: 767px) {
  .p-reserve-place {
    display: block;
    width: 100%;
    margin-bottom: 3vw; } }
.p-reserve-place__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  line-height: 1;
  font-weight: 500;
  background: var(--color--main);
  color: var(--color--white);
  text-align: center;
  margin: 0; }

@media screen and (max-width: 767px) {
  .p-reserve-place__ttl {
    width: 100%;
    font-size: 3.6vw;
    padding: 0.5em 0; } }
.p-reserve-place__txt {
  width: calc(100% - 240px);
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  padding: 14px 0;
  margin: 0; }

@media screen and (max-width: 767px) {
  .p-reserve-place__txt {
    width: 100%;
    font-size: 4.2vw;
    padding: 0.5em 0; } }
.p-reserve-place__txt a {
  transition: none; }

.p-reserve-place__txt a:hover {
  opacity: 1;
  text-decoration: underline; }

.p-reserve-map {
  margin-top: 40px; }

@media screen and (max-width: 767px) {
  .p-reserve-map {
    margin-top: 10vw; } }
.p-reserve-map__iframe iframe {
  width: 100%;
  height: 450px; }

@media screen and (max-width: 767px) {
  .p-reserve-map__iframe iframe {
    height: 80vw; } }
.p-reserve-map__txt {
  line-height: 1;
  font-weight: 400;
  color: #6d6d6d;
  text-align: right;
  margin: 1em 0 0; }

@media screen and (max-width: 767px) {
  .p-reserve-map__txt {
    font-size: 3.6vw; } }
.p-reserve-map__txt img {
  width: auto;
  height: 1.2em;
  margin-right: 0.5em; }

@media screen and (max-width: 767px) {
  .ui-widget.ui-widget-content {
    width: 60vw; } }
/*---------------------
 buy
---------------------*/
body.buy #hero {
  background: url(../img/sell/kv_bg.webp) no-repeat;
  background-size: cover;
  background-attachment: fixed; }
  body.buy #hero .section_inner {
    max-width: 1200px; }
    body.buy #hero .section_inner .flex-wrapper {
      padding: 7rem 0; }
      body.buy #hero .section_inner .flex-wrapper h1 {
        text-align: left;
        line-height: 1.4; }
      body.buy #hero .section_inner .flex-wrapper h3 {
        font-size: clamp(1.2em, 1.3vw, 1.3em);
        text-align: center;
        font-family: 'Noto Sans JP', sans-serif;
        margin-bottom: 7px; }
      body.buy #hero .section_inner .flex-wrapper .lead {
        line-height: 1.6;
        font-family: 'Noto Serif JP', serif; }
      body.buy #hero .section_inner .flex-wrapper .buttonArea {
        padding-bottom: 3rem; }
      body.buy #hero .section_inner .flex-wrapper .button {
        max-width: 360px;
        margin: 0 auto;
        font-family: 'Noto Serif JP', serif;
        background: rgba(11, 89, 136, 0.7);
        font-size: clamp(1.2em, 1.6vw, 1.6em);
        position: relative; }
        body.buy #hero .section_inner .flex-wrapper .button i {
          position: absolute;
          top: 40%;
          right: 15px;
          width: 25px; }
        body.buy #hero .section_inner .flex-wrapper .button.reverse {
          background: var(--color--white);
          border: none; }
    body.buy #hero .section_inner .l-breadcrumb ol li {
      color: var(--color--black); }
      body.buy #hero .section_inner .l-breadcrumb ol li a {
        color: var(--color--black); }

@media screen and (max-width: 767px) {
  body.buy #hero .flex-wrapper .flex-one .title_wrapper {
    margin-bottom: 1em; }
    body.buy #hero .flex-wrapper .flex-one .title_wrapper h1 {
      font-size: 1.7em; }
  body.buy #hero .flex-wrapper .flex-one .buttonArea {
    padding-bottom: 1.5rem; }
  body.buy #hero .flex-wrapper .flex-one .lead {
    font-size: 0.8em;
    margin-bottom: 2.5em; } }
body.buy #usage {
  background: var(--color--bg); }
  body.buy #usage .box {
    padding: 2em;
    border-radius: 12px;
    max-width: 960px;
    margin: 2em auto; }
    body.buy #usage .box h2 {
      text-align: center;
      color: var(--color--main);
      margin-top: 0; }
    body.buy #usage .box .lead {
      font-family: 'Noto Serif JP', serif; }
    body.buy #usage .box h4 {
      margin: 0;
      line-height: 1.4; }
      body.buy #usage .box h4 img {
        width: 240px; }
    body.buy #usage .box .flex-wrapper {
      margin: 3rem auto 5rem; }
      body.buy #usage .box .flex-wrapper .flex-one {
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
        background: var(--color--white); }
        body.buy #usage .box .flex-wrapper .flex-one:first-child {
          position: relative; }
          body.buy #usage .box .flex-wrapper .flex-one:first-child::after {
            position: absolute;
            top: 0;
            left: 100%;
            width: 100%;
            height: 100%;
            display: block;
            content: '';
            background: url("../img/buy/arrow_right.svg") no-repeat center;
            width: 30px; }
        body.buy #usage .box .flex-wrapper .flex-one h3 {
          margin: 20px auto;
          color: var(--color--main);
          font-size: clamp(1.2em, 1.5vw, 1.5em);
          font-family: 'Noto Serif JP', serif; }
        body.buy #usage .box .flex-wrapper .flex-one figure img {
          max-height: 300px; }
    body.buy #usage .box .button {
      max-width: 460px;
      margin: 0 auto;
      position: relative; }
      body.buy #usage .box .button i {
        position: absolute;
        top: 40%;
        right: 15px; }
        body.buy #usage .box .button i img {
          width: 25px; }

@media screen and (max-width: 767px) {
  body.buy #usage {
    padding: 2rem 0; }
    body.buy #usage .box {
      padding: 10px; }
      body.buy #usage .box .lead {
        font-size: 0.9em; }
      body.buy #usage .box h4 img {
        width: 180px; }
      body.buy #usage .box .flex-wrapper {
        margin: 2rem auto; }
        body.buy #usage .box .flex-wrapper .flex-one {
          padding: 15px; }
          body.buy #usage .box .flex-wrapper .flex-one:first-child {
            position: relative;
            margin-bottom: 60px; }
            body.buy #usage .box .flex-wrapper .flex-one:first-child::after {
              position: absolute;
              top: auto;
              bottom: -50px;
              left: 0;
              width: 100%;
              height: 100%;
              display: block;
              content: '';
              background: url("../img/buy/arrow_down.svg") no-repeat center;
              height: 30px; }
            body.buy #usage .box .flex-wrapper .flex-one:first-child figure img {
              max-height: 140px; }
          body.buy #usage .box .flex-wrapper .flex-one:last-child figure img {
            max-height: 180px; }
          body.buy #usage .box .flex-wrapper .flex-one h3 {
            margin: 10px auto; }
          body.buy #usage .box .flex-wrapper .flex-one figure img {
            max-height: 300px; } }
/*---------------------
 buylists
---------------------*/
body.buylists .section_inner article {
  margin: 5rem auto 3rem; }

@media screen and (max-width: 767px) {
  body.buylists #hero .section_inner article {
    margin: 5rem auto 3rem; } }
body.buylists .section_inner .p-list-table {
  padding: 0 0 15px 0; }
  body.buylists .section_inner .p-list-table input[type="checkbox"], body.buylists .section_inner .p-list-table input[type="radio"] {
    margin: 0 10px; }

body.buylists #contactform .section_inner .accordion dt {
  position: relative;
  cursor: pointer;
  margin: 0;
  padding: 10px;
  color: var(--color--white);
  background: var(--color--main);
  font-size: clamp(1.2em, 1.4vw, 1.4em);
  line-height: 1;
  font-weight: 600;
  text-align: center;
  min-height: 50px; }
  body.buylists #contactform .section_inner .accordion dt::after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    content: '';
    width: 50px;
    height: 50px;
    background: var(--color--sub2) url("../img/arrow_down.svg") center no-repeat;
    background-size: 30px; }
  body.buylists #contactform .section_inner .accordion dt.current::after {
    background: var(--color--sub2) url("../img/arrow_up.svg") center no-repeat;
    background-size: 30px; }
body.buylists #contactform .section_inner .accordion dd {
  margin: 0;
  display: none; }
  body.buylists #contactform .section_inner .accordion dd.active {
    display: block; }
body.buylists #contactform .section_inner .textArea {
  background: var(--color--bg);
  padding: 1em; }
  body.buylists #contactform .section_inner .textArea button {
    margin-top: 2em; }
body.buylists #contactform .section_inner .resultArea .button {
  min-height: 80px;
  margin: 1em 0;
  width: 100%;
  max-width: none; }

@media screen and (max-width: 960px) {
  body.buylists #contactform .section_inner .resultArea {
    margin: 10px 0; }
    body.buylists #contactform .section_inner .resultArea .button {
      min-height: auto;
      max-width: none;
      margin: 5px 0; } }
@media screen and (max-width: 767px) {
  body.buylists #contactform .section_inner .accordion dt {
    text-align: left;
    min-height: 50px;
    padding: 10px 15px; }
    body.buylists #contactform .section_inner .accordion dt::after {
      width: 50px;
      height: 50px;
      background: var(--color--sub2) url("../img/arrow_down.svg") center no-repeat;
      background-size: 20px; }
    body.buylists #contactform .section_inner .accordion dt.current::after {
      background: var(--color--sub2) url("../img/arrow_up.svg") center no-repeat;
      background-size: 30px; }
  body.buylists #contactform .section_inner .accordion dd {
    margin: 0;
    display: none; }
    body.buylists #contactform .section_inner .accordion dd.active {
      display: block; }
  body.buylists #contactform .section_inner .resultArea .button {
    min-height: auto; } }
/*---------------------
 buydetail
---------------------*/
body.buydetail #hero {
  padding: 1em 0 2em; }
  body.buydetail #hero .flex-wrapper .flex-one .title_wrapper h1 {
    text-align: left; }
  body.buydetail #hero .flex-wrapper .flex-one .button {
    max-width: 360px;
    margin: 0 auto; }

body.buydetail .section_inner_s .p-list-btn__post {
  margin-bottom: 20px;
  padding: 15px; }

@media screen and (max-width: 767px) {
  body.buydetail .section_inner_s .p-list-btn__post {
    margin-bottom: 10px; } }
/*---------------------
 matching
---------------------*/
body.matching #hero .section_inner {
  max-width: 1100px; }
body.matching #hero .flex-wrapper .flex-one .title_wrapper h1 {
  text-align: left; }
body.matching #hero .flex-wrapper .flex-one .title_wrapper .script {
  right: 10%;
  top: 4em; }
body.matching #hero .flex-wrapper .flex-one .button {
  max-width: 360px;
  margin: 0 auto; }

body.matching #contactform {
  padding: 0; }
  body.matching #contactform .section_inner {
    max-width: 1000px;
    margin: 0 auto; }
    body.matching #contactform .section_inner .textArea {
      max-width: 800px;
      margin: 0 auto 3em; }
    body.matching #contactform .section_inner .resultArea .button {
      min-height: 80px; }

/*---------------------
 example
---------------------*/
body.example #hero {
  padding: 1em 0 2em; }

body.example #pickup .section_inner .grid-wrapper .flex-one {
  position: relative;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  overflow: hidden; }
  body.example #pickup .section_inner .grid-wrapper .flex-one .icon {
    position: absolute;
    left: 5px;
    top: 5px;
    z-index: 10; }
  body.example #pickup .section_inner .grid-wrapper .flex-one figure {
    position: relative;
    padding: 0;
    margin: 0; }
    body.example #pickup .section_inner .grid-wrapper .flex-one figure i {
      position: absolute;
      top: 0;
      left: 0;
      background: var(--color--red);
      color: var(--color--white);
      font-style: normal;
      font-weight: 500;
      display: inline-block;
      padding: 2px 7px; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i.fukushi {
        background: #47b6b3; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i.hoiku {
        background: #d88d2a; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i.iryo {
        background: #3a78c6; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i.chozai {
        background: #e6749a; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i.kensetsu {
        background: #57a357; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i.infotech {
        background: #5e62b5; }
    body.example #pickup .section_inner .grid-wrapper .flex-one figure img {
      transition: all ease-in-out 0.3s; }
  body.example #pickup .section_inner .grid-wrapper .flex-one:hover figure img {
    transform: scale(1.05); }
  body.example #pickup .section_inner .grid-wrapper .flex-one .textArea {
    padding: 12px; }
    body.example #pickup .section_inner .grid-wrapper .flex-one .textArea h3 {
      font-size: clamp(0.8em, 1.1vw, 1.1em);
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 600;
      margin-top: 0;
      padding: 5px 0;
      border-radius: 30px;
      text-align: center; }
    body.example #pickup .section_inner .grid-wrapper .flex-one .textArea p {
      font-size: clamp(0.75em, 1vw, 1em); }

@media screen and (max-width: 767px) {
  body.example #pickup .section_inner .grid-wrapper {
    gap: 20px; }
    body.example #pickup .section_inner .grid-wrapper .flex-one a {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
    body.example #pickup .section_inner .grid-wrapper .flex-one figure {
      width: 39%; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure img {
        object-fit: fill; }
      body.example #pickup .section_inner .grid-wrapper .flex-one figure i {
        font-size: 0.8em; }
    body.example #pickup .section_inner .grid-wrapper .flex-one .textArea {
      padding: 7px;
      width: 60%; }
      body.example #pickup .section_inner .grid-wrapper .flex-one .textArea h3 {
        font-size: clamp(0.8em, 1.1vw, 1.1em);
        text-align: left;
        padding: 0; }
      body.example #pickup .section_inner .grid-wrapper .flex-one .textArea p {
        margin: 3px 0 0 0; } }
/*---------------------
 company
---------------------*/
body.company main {
  font-size: 16px; }
  body.company main p {
    margin: 1em 0; }
  body.company main h3 {
    text-align: left; }

body.company .w900 {
  max-width: 900px;
  margin: 0 auto; }
  body.company .w900 .title_wrapper {
    margin-bottom: 3em; }
    body.company .w900 .title_wrapper .script {
      top: 1em; }
  body.company .w900 article {
    margin-bottom: 4vw; }
    body.company .w900 article#message h2 {
      max-width: 300px;
      margin: 0 auto;
      padding-bottom: 7px;
      font-size: clamp(1.3em, 1.4vw, 1.4em);
      text-align: left;
      border-bottom: 5px solid var(--color--main); }
    body.company .w900 article#message figure {
      max-width: 300px;
      margin: 10px auto; }
    body.company .w900 article#message h3 {
      font-size: clamp(1.3em, 1.4vw, 1.4em);
      color: var(--color--main);
      line-height: 1;
      margin: 0 0 10px; }
    body.company .w900 article#message h4 {
      font-size: clamp(1.1em, 1.2vw, 1.2em);
      font-weight: 400;
      margin: 0 0 20px; }
    body.company .w900 article#message .hide_block p {
      line-height: 1.8;
      margin-bottom: 1em; }
    body.company .w900 article.address .flex-wrapper .bg_main {
      display: flex;
      justify-content: center;
      align-items: center; }
      body.company .w900 article.address .flex-wrapper .bg_main h3 {
        font-size: clamp(1.2em, 1.4vw, 1.4vw);
        line-height: 1; }
    body.company .w900 article.address .flex-wrapper .textArea .lead {
      margin: 0 0 5px 0; }
    body.company .w900 article.address .flex-wrapper .textArea .station {
      background: url(); }

body.company #reason .flex-wrapper {
  max-width: 1000px;
  margin: 0 auto; }
  body.company #reason .flex-wrapper .flex-one .num {
    font-weight: 600;
    color: var(--color--main);
    font-size: clamp(1.6em, 2vw, 2em); }
  body.company #reason .flex-wrapper .flex-one .title {
    font-weight: 600;
    font-size: clamp(1.1em, 1.3vw, 1.3em); }
    body.company #reason .flex-wrapper .flex-one .title strong {
      font-size: 1.3em;
      color: var(--color--main); }

body.company #case .title_wrapper .script {
  top: 1em;
  right: 30%; }

@media screen and (max-width: 767px) {
  body.company .w900 .title_wrapper {
    margin-bottom: 3em; }
    body.company .w900 .title_wrapper .script {
      top: 1em; }
  body.company .w900 article#message h2 {
    text-align: center; }
  body.company .w900 article#message h3 {
    text-align: center;
    font-size: 1.1em;
    line-height: 1.4; }
  body.company .w900 article#message h4 {
    text-align: center;
    font-size: 1em;
    line-height: 1.4; }
  body.company .w900 article#message .button {
    font-size: 0.9em; }
  body.company .w900 article#message .hide_block p {
    line-height: 1.8;
    margin-bottom: 1em; }
  body.company .w900 article .companyTable {
    display: block; }
    body.company .w900 article .companyTable th {
      display: block;
      width: 100%;
      min-height: 40px;
      padding: 7px; }
    body.company .w900 article .companyTable td {
      display: block;
      width: 100%; }
  body.company .w900 article.address .flex-wrapper .bg_main {
    margin-bottom: 7px;
    padding: 10px; }
  body.company .w900 article.address .flex-wrapper .textArea .lead {
    margin: 0 0 5px 0;
    font-size: 1em; }
  body.company .w900 article.address .flex-wrapper .textArea .station {
    font-size: 0.75em; }
  body.company #reason .title_wrapper .script {
    top: 3em;
    right: 0; }
    body.company #reason .title_wrapper .script img {
      width: 120px; }
  body.company #reason .flex-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    body.company #reason .flex-wrapper .flex-one {
      width: 48%;
      margin-bottom: 20px; }
  body.company #case .title_wrapper .script {
    top: 1em;
    right: 0; }
    body.company #case .title_wrapper .script img {
      width: 100px; }
  body.company #case .leadl {
    font-size: 1em; } }
/*---------------------
 contact
---------------------*/
body.contact main .section_inner {
  max-width: 1000px;
  margin: 0 auto; }
body.contact main #hero .section_inner {
  max-width: 1220px; }

body.contact .telBox {
  padding: 1em;
  margin: 2em auto;
  border: 4px solid var(--color--main);
  max-width: 1000px; }
  body.contact .telBox .tel-wrapper .tel {
    font-size: clamp(2.2em, 3.6vw, 3.6em);
    line-height: 1;
    margin: 0;
    background: url(../img/icon_tel.svg) no-repeat center left;
    background-size: 36px;
    text-indent: 50px;
    padding-left: 50px; }
  body.contact .telBox .bg {
    background: var(--color--bg);
    padding: 1em; }

body.contact #contactform {
  margin-top: 0; }
  body.contact #contactform .section_inner {
    max-width: 1000px;
    margin: 0 auto; }
    body.contact #contactform .section_inner a.button {
      background-image: url("../img/arrow_btn.svg");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 25px; }
    body.contact #contactform .section_inner .balloon {
      text-align: center;
      color: var(--color--sub1);
      position: relative;
      display: inline-block;
      font-size: clamp(1.1em, 1.4vw, 1.4em);
      font-weight: 600; }
      body.contact #contactform .section_inner .balloon::before {
        position: absolute;
        content: "";
        top: 5px;
        left: -1em;
        height: 30px;
        width: 2px;
        background: var(--color--sub1);
        transform: rotate(-30deg); }
      body.contact #contactform .section_inner .balloon::after {
        position: absolute;
        content: "";
        top: 5px;
        right: -1em;
        height: 30px;
        width: 2px;
        background: var(--color--sub1);
        transform: rotate(30deg); }
    body.contact #contactform .section_inner .textArea {
      max-width: 800px;
      margin: 0 auto; }
      body.contact #contactform .section_inner .textArea article {
        margin-bottom: 3em; }
        body.contact #contactform .section_inner .textArea article .lead strong {
          color: var(--color--main);
          font-size: 1.4em; }

@media screen and (max-width: 767px) {
  body.contact .lead {
    font-size: 1em; }

  body.contact #hero .title_wrapper .script {
    top: 1em;
    right: 0;
    width: 180px; }

  body.contact .telBox .tel-wrapper {
    text-align: center; }
    body.contact .telBox .tel-wrapper .tel {
      text-align: center;
      display: inline-block;
      padding-left: 0;
      line-height: 1.2;
      background: url(../img/icon_tel.svg) no-repeat center left;
      background-size: 32px; }
  body.contact .telBox .lead {
    text-align: center; }
  body.contact .telBox .bg {
    background: var(--color--bg);
    padding: 1em;
    font-size: 0.9em; } }
.p-index-brackets {
  border: 5px solid var(--color--main);
  padding: 5px; }

@media screen and (max-width: 767px) {
  .p-index-brackets {
    border: 1vw solid var(--color--main);
    padding: 1vw; } }
.p-index-numWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 25px;
  padding: 30px 20px 0; }

@media screen and (max-width: 767px) {
  .p-index-numWrap {
    display: block;
    padding: 0;
    margin: 3vw 0 5vw; } }
.p-index-numWrap__ttl {
  font-size: 1.3em;
  line-height: 1.5789473684;
  letter-spacing: 0.001em;
  font-weight: 500;
  color: #6d6d6d;
  padding: 0.5em 0 0; }

@media screen and (max-width: 767px) {
  .p-index-numWrap__ttl {
    font-size: 4.2vw;
    text-align: center;
    padding: 0; } }
@media screen and (max-width: 767px) {
  .p-index-numWrap__num {
    margin-top: 1vw; } }
.p-index-numWrap__tel {
  font-size: 4em;
  line-height: 1;
  letter-spacing: 0.001em;
  font-weight: 500;
  margin: 0; }

@media screen and (max-width: 767px) {
  .p-index-numWrap__tel {
    font-size: 10vw;
    text-align: center; } }
.p-index-numWrap__time {
  font-size: 1.1em;
  line-height: 1;
  letter-spacing: 0.001em;
  font-weight: 500;
  text-align: right; }

@media screen and (max-width: 767px) {
  .p-index-numWrap__time {
    font-size: 3.2vw;
    text-align: center;
    margin-top: 1vw; } }
.p-index-favor {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f2f2f2;
  padding: 10px 20px 10px 40px; }

@media screen and (max-width: 767px) {
  .p-index-favor {
    display: block;
    padding: 3vw; } }
.p-index-favor__ttl {
  font-size: 1.2em;
  line-height: 1.5625;
  letter-spacing: 0.001em;
  font-weight: 500;
  text-align: center; }

@media screen and (max-width: 767px) {
  .p-index-favor__ttl {
    font-size: 4.2vw;
    margin-bottom: 1.5vw; } }
.p-index-favor__txt {
  font-size: 1.2em;
  line-height: 1.4285714286;
  letter-spacing: 0.001em;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .p-index-favor__txt {
    font-size: 3.2vw; } }
.p-index-block {
  margin: 40px 0 0; }

@media screen and (max-width: 767px) {
  .p-index-block {
    margin-top: 7vw; } }
.p-index-block__ttl {
  font-size: 1.6em;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center; }

@media screen and (max-width: 767px) {
  .p-index-block__ttl {
    font-size: 4vw; } }
.p-index-block__ttl span {
  font-size: 2em;
  color: #6d6d6d;
  line-height: 1; }

@media screen and (max-width: 767px) {
  .p-index-block__ttl span {
    font-size: 5vw; } }
.p-index-block + .p-index-block {
  border-top: 1px solid #ccc;
  padding-top: 40px; }

@media screen and (max-width: 767px) {
  .p-index-block + .p-index-block {
    padding-top: 7vw; } }
.c-table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0; }

/*202500709変更*/
.c-table-ttl__required {
  padding: 4px 8px;
  border-radius: 4px; }

.c-table-ttl__any {
  position: absolute;
  top: 50%;
  right: 15px;
  font-size: 0.8em;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: var(--color--white);
  background: var(--color--dgray);
  transform: translateY(-50%);
  padding: 4px 8px;
  border-radius: 4px; }

@media screen and (max-width: 767px) {
  .c-table-ttl__any {
    right: 3vw;
    font-size: 3.2vw; } }
.c-table-ttl--top {
  vertical-align: top;
  padding-top: 1em; }

@media screen and (max-width: 767px) {
  .c-table-ttl--top {
    padding-top: 3vw; } }
.c-table-ttl--top__status {
  top: 1.4em;
  transform: none; }

.c-table-ttl--top__statusHalf {
  top: 2em;
  transform: none; }

.c-table-txt {
  line-height: 1.3333333333;
  font-weight: 600;
  padding: 10px 0 10px 15px; }

.c-table-txt .f-xsmall,
.c-table-txt .assess__notes {
  font-weight: 400; }

@media screen and (max-width: 767px) {
  .c-table-txt {
    display: block;
    width: 100%;
    font-size: 4vw;
    padding: 3vw 0; } }
.c-table-txt__input {
  width: 100%;
  line-height: 1;
  font-weight: 500;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 1em 0.5em;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.c-table-txt__input:focus {
  outline: none; }

@media screen and (max-width: 767px) {
  .c-table-txt__input {
    font-size: 3.2vw;
    padding: 15px 10px; } }
.c-table-txt--check {
  padding-top: 15px;
  padding-bottom: 15px; }

.c-table-topNotes__ttl {
  letter-spacing: 0; }

.c-table-topNotes__status {
  top: calc(50% - 10px); }

@media screen and (max-width: 767px) {
  .c-table-topNotes__status {
    top: 50%; } }
.c-table .c-select__inner {
  padding: 1.07em 0.5em; }

.c-check {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 32px 0 12px; }

body.home .c-check,
body.sell .c-check {
  margin: 0 0 12px;
  font-size: 1.1em; }

@media screen and (max-width: 767px) {
  .c-check {
    display: block;
    margin: 5vw 0 5vw;
    padding: 4vw; } }
.c-check-confirm {
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .c-check-confirm {
    font-size: 4vw;
    text-align: center;
    border-top: 1px solid #45494b;
    margin-top: 0.5em;
    padding-top: 0.5em; } }
.c-check-confirm::before {
  content: "／";
  margin: 0 1em; }

@media screen and (max-width: 767px) {
  .c-check-confirm::before {
    content: none; } }
.c-check-confirm__link {
  transition: none; }

.c-check-confirm__link:hover {
  opacity: 1;
  border-bottom: 1px solid #000; }

.c-checkAll__child {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none; }

.c-checkAll__list {
  margin-top: 20px;
  margin-right: 18px; }

.p-assess__ttl {
  line-height: 1.8888888889;
  font-weight: 700;
  margin: 28px 0 20px; }

@media screen and (max-width: 767px) {
  .p-assess__ttl {
    font-size: 3.8vw;
    margin: 5vw 0; } }
.p-assess__txt {
  line-height: 2;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .p-assess__txt {
    font-size: 3.4vw; } }
.p-assess-form__ttl {
  text-align: center;
  color: #6d6d6d;
  line-height: 1;
  font-weight: 500;
  margin-bottom: 20px; }

@media screen and (max-width: 767px) {
  .p-assess-form__ttl {
    font-size: 6vw;
    margin-bottom: 5vw; } }
.c-accordion {
  margin-top: 20px; }

@media screen and (max-width: 767px) {
  .c-accordion {
    margin-top: 5vw; } }
.c-accordion__ttl {
  position: relative;
  line-height: 1;
  font-weight: 500;
  background: #f8f8f8;
  border: 1px solid #e4e4e4;
  padding: 5px 13px; }

@media screen and (max-width: 767px) {
  .c-accordion__ttl {
    font-size: 4vw;
    padding: 2vw 4vw; } }
.c-accordion__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 18px;
  height: 2px;
  background: #a4a4a4;
  transform: translateY(-50%); }

@media screen and (max-width: 767px) {
  .c-accordion__ttl::before {
    right: 2vw;
    width: 4vw;
    height: 2px; } }
.c-accordion__ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 2px;
  height: 18px;
  background: #a4a4a4;
  transform: translateY(-50%); }

@media screen and (max-width: 767px) {
  .c-accordion__ttl::after {
    right: calc(4vw - 1px);
    width: 2px;
    height: 4vw; } }
.c-accordion__ttl--open::after {
  content: none; }

.c-accordion__block {
  padding: 8px 0 8px 10px; }

@media screen and (max-width: 767px) {
  .c-accordion__block {
    padding: 2vw 0 2vw 3vw; } }
.c-accordion__block .c-accordion__block {
  padding: 12px 0 20px 4px; }

@media screen and (max-width: 767px) {
  .c-accordion__block .c-accordion__block {
    padding: 2vw 0 2vw 3vw; } }
.c-accordion__block .c-checkAll {
  width: calc(100% + 20px);
  margin: 0;
  padding: 0;
  list-style: none; }

.c-checkAll {
  margin: 0;
  padding: 0;
  list-style: none; }

.c-accordion__block--pref {
  padding-top: 18px;
  padding-bottom: 0; }

/*---------------------
 confirm
---------------------*/
body.confirm #contactform .section_inner h2 {
  font-size: clamp(1.2em, 1.8vw, 1.8em);
  margin-top: 0; }

table.c-table.confirm {
  margin: 20px auto; }
  table.c-table.confirm tbody tr {
    border-bottom: 1px solid var(--color--dgray); }
    table.c-table.confirm tbody tr:first-child {
      border-top: 1px solid var(--color--dgray); }
    table.c-table.confirm tbody tr th {
      background: var(--color--lgray); }
      table.c-table.confirm tbody tr th.c-table-ttl {
        padding: 20px 10px;
        color: #777; }
    table.c-table.confirm tbody tr td {
      padding: 20px; }

/*---------------------
 assessments
---------------------*/
body.assessments main {
  overflow: visible !important; }
  body.assessments main .section_inner {
    max-width: 1200px; }
    body.assessments main .section_inner .grid-wrapper {
      position: relative;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: space-between; }
      body.assessments main .section_inner .grid-wrapper .grid-one {
        position: relative;
        width: 49%; }
body.assessments:before {
  display: block;
  content: '';
  position: absolute;
  top: 70vh;
  left: 0;
  background: url(../img/contact/assessments/assessments_bg.png) no-repeat;
  background-size: contain;
  width: 100%;
  height: 100vh;
  z-index: -1; }

@media (max-width: 1080px) {
  body.assessments main {
    overflow: visible !important; }
    body.assessments main .section_inner {
      max-width: 1200px; }
      body.assessments main .section_inner .grid-wrapper {
        display: block; }
        body.assessments main .section_inner .grid-wrapper .grid-one {
          width: 100%; }
  body.assessments:before {
    display: none; }
  body.assessments .sp__form {
    background: var(--color--bg);
    padding: 2rem 10px; } }
#form__sticky-wrapper {
  position: relative; }

@media (max-width: 767px) {
  body.assessments #form__sticky {
    position: relative !important; }
    body.assessments #form__sticky h3 {
      font-size: clamp(1em, 1.5vw, 1.5em); }
    body.assessments #form__sticky .ttl {
      display: none; }
    body.assessments #form__sticky .c-select {
      width: 98% !important; }
    body.assessments #form__sticky .p-assess-content__inner {
      width: 20px !important; }
    body.assessments #form__sticky .p-assess-content__inputtext {
      width: 100%; } }
@media (min-width: 768px) {
  body.assessments #form__sticky {
    position: sticky;
    top: 140px;
    z-index: 10;
    margin: 15px 0;
    padding: 15px;
    background: var(--color--white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
    body.assessments #form__sticky h3 {
      font-size: clamp(1.2em, 1.5vw, 1.5em); }
    body.assessments #form__sticky .c-check {
      margin: 0 auto; }
    body.assessments #form__sticky .c-check-box__txt {
      font-size: 0.9em; }
    body.assessments #form__sticky .c-check-confirm__link {
      font-size: 0.9em; } }
body.assessments #point h3 {
  font-size: clamp(1.3em, 1.6vw, 1.6em);
  text-align: center;
  margin-bottom: 40px; }
  body.assessments #point h3 strong {
    font-size: 1.3em; }
    body.assessments #point h3 strong:first-child {
      color: var(--color--main); }
    body.assessments #point h3 strong.orange {
      color: var(--color--sub3); }
body.assessments #point .flex-wrapper.point .flex-one {
  padding: 7px;
  width: 32.5%;
  padding-bottom: 20px; }
  body.assessments #point .flex-wrapper.point .flex-one .num {
    width: 100%;
    text-align: center;
    font-size: clamp(1.8em, 2vw, 2em);
    padding: 0; }
  body.assessments #point .flex-wrapper.point .flex-one h3 {
    padding: 10px 0;
    font-size: 18px;
    margin-bottom: 20px; }
  body.assessments #point .flex-wrapper.point .flex-one p {
    font-size: 13px; }
  body.assessments #point .flex-wrapper.point .flex-one:last-child p {
    font-size: 12px; }

@media (max-width: 767px) {
  body.assessments #point {
    padding-bottom: 0; }
    body.assessments #point .flex-wrapper.point {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      body.assessments #point .flex-wrapper.point .flex-one {
        width: 32.5%; }
        body.assessments #point .flex-wrapper.point .flex-one h3 {
          font-size: 1em; }
        body.assessments #point .flex-wrapper.point .flex-one p {
          font-size: 0.8em;
          padding-bottom: 10px; }
        body.assessments #point .flex-wrapper.point .flex-one:last-child p {
          font-size: 0.7em; } }
body.assessments #qa h2 {
  margin-bottom: 2rem; }
body.assessments #qa article {
  position: relative;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  background: var(--color--white);
  padding: 25px;
  margin-bottom: 2rem; }
  body.assessments #qa article h3 {
    font-size: clamp(1.2em, 1.6vw, 1.6em);
    color: var(--color--main); }
  body.assessments #qa article .textArea {
    max-width: 75%; }
  body.assessments #qa article figure {
    padding: 0;
    margin: 0;
    position: absolute;
    right: 25px;
    top: -5px; }
  body.assessments #qa article:nth-of-type(2) figure {
    right: 25px;
    top: 55px; }
  body.assessments #qa article:nth-of-type(3) figure {
    right: 20px;
    top: 65px; }

@media (max-width: 767px) {
  body.assessments #qa {
    padding-bottom: 0; }
    body.assessments #qa article {
      padding: 15px; }
      body.assessments #qa article .textArea {
        max-width: 100%; }
        body.assessments #qa article .textArea p {
          font-size: 0.85em; }
      body.assessments #qa article figure {
        right: 5px;
        top: -5px;
        width: 110px; }
      body.assessments #qa article:nth-of-type(2) figure {
        right: 15px;
        top: auto;
        bottom: 0; }
      body.assessments #qa article:nth-of-type(3) figure {
        right: 0;
        top: 25px; } }
body.assessments #case h2 {
  font-size: clamp(1.4em, 1.8vw, 1.8em); }
body.assessments #case .leadl {
  margin-bottom: 1rem;
  font-family: 'Noto Serif JP', serif; }
body.assessments #case article {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin: 2rem auto; }
  body.assessments #case article h3 {
    font-size: clamp(1.2em, 1.4vw, 1.4em);
    background: var(--color--main);
    color: var(--color--white);
    text-align: center;
    font-weight: normal !important;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center; }
    body.assessments #case article h3 strong {
      font-size: 1.7em; }
  body.assessments #case article .textArea {
    padding: 15px; }
    body.assessments #case article .textArea dl {
      width: 70%;
      margin: 10px auto;
      display: flex;
      flex-wrap: wrap;
      font-size: clamp(1.1em, 1.3vw, 1.3em); }
      body.assessments #case article .textArea dl dt {
        width: 35%; }
      body.assessments #case article .textArea dl dd {
        width: 65%; }
    body.assessments #case article .textArea h4 {
      width: 60%;
      margin: 20px auto 10px;
      background: var(--color--sub1);
      text-align: center;
      font-family: 'Noto Serif JP', serif;
      padding: 7px;
      color: var(--color--white);
      font-size: clamp(1.2em, 1.5vw, 1.5em); }
    body.assessments #case article .textArea .price {
      font-size: clamp(1.2em, 1.6vw, 1.6em);
      font-family: 'Noto Sans JP', sans-serif;
      margin: 0 auto 10px;
      font-weight: 500;
      text-align: center; }
  body.assessments #case article .result {
    background: var(--color--bgb);
    padding: 15px; }
    body.assessments #case article .result h5 {
      font-family: 'Noto Serif JP', serif;
      font-size: clamp(1.3em, 1.6vw, 1.6em);
      text-align: center;
      font-weight: 600; }
    body.assessments #case article .result .flex {
      width: 70%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin: 10px auto; }
      body.assessments #case article .result .flex .label {
        width: 35%; }
        body.assessments #case article .result .flex .label span {
          display: block;
          background: var(--color--main);
          border-radius: 30px;
          color: var(--color--white);
          font-size: clamp(1em, 1.4vw, 1.4em);
          padding: 5px 10px;
          text-align: center;
          margin-top: 5px; }
      body.assessments #case article .result .flex p {
        width: 62%;
        margin: 0;
        text-align: left;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.05em;
        font-weight: 500;
        line-height: 1.3; }
        body.assessments #case article .result .flex p strong {
          font-size: 1.8em; }

@media (max-width: 767px) {
  body.assessments #case p {
    text-align: center;
    margin-bottom: 0; }
  body.assessments #case article {
    margin: 1rem auto; }
    body.assessments #case article .textArea {
      padding: 15px; }
      body.assessments #case article .textArea dl {
        width: 100%; }
        body.assessments #case article .textArea dl dt {
          width: 35%; }
        body.assessments #case article .textArea dl dd {
          width: 65%; }
      body.assessments #case article .textArea h4 {
        width: 100%; }
      body.assessments #case article .textArea .pricce {
        font-size: clamp(1.2em, 1.6vw, 1.6em);
        font-family: 'Noto Sans JP', sans-serif;
        margin: 0 auto 10px;
        font-weight: 500; }
    body.assessments #case article .result {
      background: var(--color--bgb);
      padding: 15px; }
      body.assessments #case article .result h5 {
        font-family: 'Noto Serif JP', serif;
        font-size: clamp(1.3em, 1.6vw, 1.6em);
        text-align: center;
        font-weight: 600; }
      body.assessments #case article .result .flex {
        width: 100%; }
        body.assessments #case article .result .flex .label {
          width: 32%; }
        body.assessments #case article .result .flex p {
          width: 65%;
          margin: 0;
          text-align: left;
          font-family: 'Noto Sans JP', sans-serif;
          font-size: 0.9em;
          font-weight: 500;
          line-height: 1.3; }
          body.assessments #case article .result .flex p strong {
            font-size: 1.8em; }
    body.assessments #case article:nth-of-type(1) .result .flex {
      width: 100%; } }
body.assessments #banner {
  background: var(--color--main);
  color: var(--color--white);
  margin-top: 2rem;
  text-align: center; }
  body.assessments #banner .section_inner {
    position: relative;
    display: inline-block; }
    body.assessments #banner .section_inner h3 {
      text-align: center; }
    body.assessments #banner .section_inner i {
      position: absolute;
      top: -8rem;
      left: -11rem; }

@media (max-width: 767px) {
  body.assessments #banner {
    margin-top: 6rem; }
    body.assessments #banner .section_inner h3 {
      text-align: center;
      font-size: 1.4em; }
    body.assessments #banner .section_inner i {
      left: -3rem;
      top: -9rem; }
      body.assessments #banner .section_inner i img {
        width: 100px; } }
/*---------------------
 pickup detail
---------------------*/
.p-case-company {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 38px 0 48px; }

@media screen and (max-width: 767px) {
  .p-case-company {
    display: block;
    margin: 5vw 0; } }
.p-case-company__block {
  width: 395px;
  border-top: 3px solid var(--color--sub3); }

@media screen and (max-width: 767px) {
  .p-case-company__block {
    width: auto;
    border-top: 1vw solid var(--color--sub3); } }
.p-case-company__block--sell {
  border-top: 3px solid var(--color--main); }

@media screen and (max-width: 767px) {
  .p-case-company__block--sell {
    border-top: 1vw solid var(--color--main); } }
@media screen and (max-width: 767px) {
  .p-case-company__block + .p-case-company__block {
    margin-top: 5vw; } }
.p-case-company__ttl {
  font-size: 1.2em;
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 700;
  padding: 0.68em 0;
  color: var(--color--sub3); }

.p-case-company__ttl--sell {
  color: var(--color--main); }

@media screen and (max-width: 767px) {
  .p-case-company__ttl {
    font-size: 5vw; } }
.p-case-define {
  border-bottom: 1px solid #ccc; }

.p-case-define__ttl {
  clear: left;
  float: left;
  width: 100px;
  font-size: 1.1em;
  line-height: 1.2857142857;
  letter-spacing: -0.04em;
  font-weight: 700;
  border-top: 1px solid #ccc;
  padding: 10px 0; }

@media screen and (max-width: 767px) {
  .p-case-define__ttl {
    font-size: 3.4vw;
    width: 20vw;
    padding: 0.5em 0; } }
.p-case-define__txt {
  font-size: 1.1em;
  line-height: 1.2857142857;
  letter-spacing: -0.04em;
  font-weight: 700;
  border-top: 1px solid #ccc;
  padding: 10px 0 10px 100px; }

@media screen and (max-width: 767px) {
  .p-case-define__txt {
    font-size: 3.4vw;
    padding: 0.5em 0 0.5em 20vw; } }
.p-case-content__ttl {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4em;
  line-height: 1.4583333333;
  letter-spacing: -0.04em;
  font-weight: 700;
  height: 112px;
  border: 2px solid var(--color--main);
  color: var(--color--sub3);
  border-radius: 8px;
  margin-bottom: 33px; }

@media screen and (max-width: 767px) {
  .p-case-content__ttl {
    height: auto;
    font-size: 5vw;
    border: 0.5vw solid --color--main;
    padding: 1em;
    margin-bottom: 8vw; } }
.p-case-content__ttl::before {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 12px 0 12px;
  border-color: var(--color--main) transparent transparent transparent;
  transform: translateX(-50%); }

@media screen and (max-width: 767px) {
  .p-case-content__ttl::before {
    bottom: -4vw;
    border-width: 4vw 2vw 0 2vw; } }
.p-case-content__ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 12px 0 12px;
  border-color: #fff transparent transparent transparent;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }

@media screen and (max-width: 767px) {
  .p-case-content__ttl::after {
    bottom: -3vw;
    border-width: 4vw 2vw 0 2vw; } }
.p-case-content__h5 {
  font-size: 24px;
  font-weight: bold;
  margin: 0.5em 0; }

@media screen and (max-width: 767px) {
  .p-case-content__h5 {
    font-size: 4vw; } }
.p-case-content__txt {
  line-height: 1.875;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .p-case-content__txt {
    font-size: 3.4vw; } }
.p-case-content__txt + .p-case-content__txt {
  margin-top: 1.875em; }

.p-case-content__txt a {
  text-decoration: underline; }

.contentsList {
  margin: 0 auto; }

@media screen and (max-width: 960px) {
  .contentsList {
    margin: 40px auto; } }
.content .top {
  display: flex;
  background-size: cover;
  color: #fff;
  padding: 4%;
  position: relative;
  background: var(--color--main);
  margin-bottom: 2em; }

.webp .content .top {
  background: url(../img/seminar/title_bg.webp) no-repeat center center; }

.no-webp .content .top {
  background: url(../img/seminar/title_bg.webp) no-repeat center center; }

@media screen and (max-width: 960px) {
  .content .top {
    display: block;
    padding: 2% 2% 3% 2%; } }
.content .top .state {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 20px;
  font-weight: bold;
  background-color: var(--color--main);
  padding: 0.5% 1%; }

@media screen and (max-width: 960px) {
  .content .top .state {
    font-size: 14px;
    top: 0;
    bottom: initial; } }
.content .top .left {
  width: 24%; }

@media screen and (max-width: 960px) {
  .content .top .left {
    width: 100%; } }
.content .top .left .day {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 10px; }

@media screen and (max-width: 960px) {
  .content .top .left .day {
    font-size: 20px;
    margin-bottom: initial; } }
.content .top .left .time {
  font-size: 24px; }

@media screen and (max-width: 960px) {
  .content .top .left .time {
    font-size: 20px;
    margin-bottom: 5px; } }
.content .top .right {
  width: 76%; }

@media screen and (max-width: 960px) {
  .content .top .right {
    width: 100%; } }
.content .top .right .title {
  font-size: 24px;
  font-weight: bold; }

@media screen and (max-width: 960px) {
  .content .top .right .title {
    font-size: 15px; } }
.content .bottom {
  line-height: 1.75; }

.content .bottom .left {
  width: 47%; }

@media screen and (max-width: 960px) {
  .content .bottom .left {
    width: 100%;
    margin-bottom: 60px; } }
.content .bottom .left .flx {
  margin-bottom: 5px; }

.content .bottom .left .flx .blockNum {
  width: 20%;
  font-weight: bold;
  color: var(--color--sub3); }

.content .bottom .left .flx .blockText {
  width: 100%; }

.content .bottom .left .flx .blockText span {
  font-weight: bold; }

@media screen and (max-width: 960px) {
  .content .bottom .left .flx .blockText {
    width: 100%; } }
.content .bottom .left .blockTextOther {
  width: 70%;
  font-weight: bold;
  margin: 40px auto 0; }

@media screen and (max-width: 960px) {
  .content .bottom .left .blockTextOther {
    width: 100%;
    margin: 20px 0; } }
.content .bottom .right {
  width: 47%;
  border: 1px solid var(--color--sub3);
  padding: 6% 2% 2%;
  position: relative; }

@media screen and (max-width: 960px) {
  .content .bottom .right {
    width: 100%;
    border: none; } }
.content .bottom .right .profText {
  width: 65%; }

@media screen and (max-width: 960px) {
  .content .bottom .right .profText {
    width: 100%; } }
.content .bottom .right .profText .profTitle {
  background-color: var(--color--black);
  color: #fff;
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 1% 2%; }

.content .bottom .right .company {
  font-size: 11px;
  margin-bottom: 5px; }

@media screen and (max-width: 960px) {
  .content .bottom .right .profText .profTitle {
    top: -25px; } }
.content .bottom .right .profText .name {
  font-size: 20px;
  margin-bottom: 5px; }

.content .bottom .right .profText .prof {
  font-size: 13px; }

.content .bottom .right .profText .prof p {
  margin-bottom: 5px; }

.content .bottom .right .profText .prof .year {
  width: 20%; }

.content .bottom .right .profText .prof .history {
  width: 85%; }

.content .bottom .right .profText .prof .history2 {
  width: 100%; }

.content .bottom .right .profText .prof .text {
  margin-bottom: 20px; }

.content .bottom .right .profText .sp_prof {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0; }

.content .bottom .right .profText .sp_prof .states {
  width: 50%; }

.content .bottom .right .profImg {
  width: 35%;
  text-align: right; }

.content .bottom .right .profImg img {
  width: 85%; }

.content1 {
  padding-top: 170px;
  margin-top: -110px; }

.content1 .contentBorder {
  border: 1px solid #000; }

.content1 .top {
  background-size: cover;
  color: #fff;
  padding: 2% 4%;
  position: relative; }

.webp .content1 .top {
  background: url(/images/webp/index/title_bg.webp) no-repeat center center; }

.no-webp .content1 .top {
  background: url(/images/index/title_bg.webp) no-repeat center center; }

@media screen and (max-width: 960px) {
  .content1 .top {
    display: block;
    padding: 2% 2% 3% 2%; } }
.content1 .top .state {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 20px;
  font-weight: bold;
  background-color: #b4090f;
  padding: 0.5% 1%; }

@media screen and (max-width: 960px) {
  .content1 .top .state {
    font-size: 14px;
    top: 0;
    bottom: initial; } }
.content1 .top .left {
  width: 30%; }

@media screen and (max-width: 960px) {
  .content1 .top .left {
    width: 100%; } }
.content1 .top .left .day {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 10px; }

@media screen and (max-width: 960px) {
  .content1 .top .left .day {
    font-size: 20px;
    margin-bottom: initial; } }
.content1 .top .left .time {
  font-size: 24px; }

@media screen and (max-width: 960px) {
  .content1 .top .left .time {
    font-size: 20px;
    margin-bottom: 5px; } }
.content1 .top .right {
  width: 70%; }

@media screen and (max-width: 960px) {
  .content1 .top .right {
    width: 100%; } }
.content1 .top .right .title {
  font-size: 24px;
  font-weight: bold; }

@media screen and (max-width: 960px) {
  .content1 .top .right .title {
    font-size: 15px; } }
.content1 .bottom {
  font-size: 14px;
  padding: 2%;
  line-height: 1.75; }

.bottom .bottomTitle {
  font-size: 16px;
  font-weight: bold;
  border: 2px solid #000;
  padding: 1%;
  margin-bottom: 40px; }

@media screen and (max-width: 960px) {
  .bottom .bottomTitle {
    font-size: 14px; } }
.content1 .bottom .bottomTextFlex {
  display: flex; }

@media screen and (max-width: 960px) {
  .content1 .bottom .bottomTextFlex {
    display: block; } }
.content1 .bottom .bottomTextFlex .blockText {
  width: 48%;
  margin: 0 auto; }

@media screen and (max-width: 960px) {
  .content1 .bottom .bottomTextFlex .blockText {
    width: 100%;
    margin-bottom: 10px; } }
.blockTextNote {
  border: 1px solid #000;
  padding: 8px;
  margin: 15px; }

.offer {
  width: 300px;
  height: 60px;
  line-height: 60px;
  background-color: var(--color--main);
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  border-radius: 15px;
  margin: 30px auto;
  position: relative;
  z-index: 2; }

.flx {
  display: flex; }

.flxSB {
  display: flex;
  justify-content: space-between; }

@media screen and (max-width: 960px) {
  .flxSB {
    display: block; } }
@media screen and (max-width: 768px) {
  .un_tab {
    display: block !important; }

  .name.ov_tab {
    display: none; }

  .position.ov_tab {
    display: none; }

  .profImg.ov_tab {
    display: none; } }
@media screen and (min-width: 769px) {
  .un_tab {
    display: none !important; } }
/*---------------------
 single
---------------------*/
body.single h2 {
  color: var(--color--sub3);
  text-align: left;
  margin-bottom: 0.5em; }
body.single .date {
  text-align: right;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--color--main);
  margin-bottom: 2em; }
body.single figure.thumbnail_image {
  text-align: center;
  margin: 0 0 30px; }
body.single h3 {
  color: var(--color--sub2);
  font-size: clamp(1.3em, 1.4vw, 1.4em);
  text-align: left; }
body.single #primary .index_wrapper {
  border: 1px solid var(--color--gray);
  padding: 1em; }
  body.single #primary .index_wrapper .index_title {
    font-weight: 600; }
  body.single #primary .index_wrapper .single_index {
    list-style: none; }
body.single #primary .writer {
  background: var(--color--white);
  border: 3px solid var(--color--main);
  margin-top: 2em; }
  body.single #primary .writer .writer_ttl {
    background: var(--color--main);
    color: var(--color--white);
    text-align: center;
    font-size: clamp(1.2em, 1.4vw, 1.4em);
    padding: 10px; }
body.single #secondary ul {
  margin: 0;
  padding: 10px;
  border: 1px solid var(--color--gray); }
  body.single #secondary ul.p-side li {
    list-style: none;
    border-bottom: 1px solid var(--color--gray); }
    body.single #secondary ul.p-side li:last-child {
      border-bottom: none; }
    body.single #secondary ul.p-side li a {
      display: block;
      padding: 10px;
      transition: all ease-in-out 0.3s; }
      body.single #secondary ul.p-side li a:hover {
        background: var(--color--bg); }

.borderTitle {
  line-height: 1.3;
  text-align: left;
  padding-bottom: 0.3em;
  border-bottom: 3px solid var(--color--dgray);
  margin-bottom: 1em;
  position: relative; }

.borderTitle:after {
  content: "";
  position: absolute;
  width: 70px;
  height: 3px;
  left: 0;
  bottom: -3px;
  background-color: var(--color--sub3); }

.columnAboutContents .writer .writer_inner {
  padding: 1em; }

@media screen and (max-width: 768px) {
  .columnAboutContents .writer .writer_inner {
    padding: 30px 15px 15px; } }
.columnAboutContents .writer .writer_inner .prof {
  display: flex;
  align-items: center;
  column-gap: 30px;
  margin-bottom: 10px;
  flex-wrap: wrap; }

@media screen and (max-width: 768px) {
  .columnAboutContents .writer .writer_inner .prof {
    flex-direction: column;
    margin-bottom: 20px; } }
.columnAboutContents .writer .writer_inner .prof_left {
  width: 120px; }

.columnAboutContents .writer .writer_inner .prof_left img {
  width: 120px;
  height: 120px; }

@media screen and (max-width: 768px) {
  .columnAboutContents .writer .writer_inner .prof_left {
    width: 100%; }

  .columnAboutContents .writer .writer_inner .prof_left img {
    display: block;
    margin: 0 auto 10px; } }
.columnAboutContents .writer .writer_inner .prof .name {
  font-size: 24px;
  margin-bottom: 10px; }

.columnAboutContents .writer .writer_inner .prof_right {
  width: calc(100% - 150px); }
  .columnAboutContents .writer .writer_inner .prof_right .director {
    display: flex;
    align-items: center; }

@media screen and (max-width: 768px) {
  .columnAboutContents .writer .writer_inner .prof_right {
    width: 100%; }

  .columnAboutContents .writer .writer_inner .prof .name {
    text-align: center; }

  .columnAboutContents .writer .writer_inner .prof_right .director {
    flex-direction: column; }
    .columnAboutContents .writer .writer_inner .prof_right .director figure {
      margin-top: 10px; } }
.columnAboutContents .writer .writer_inner .prof .director {
  font-size: 16px;
  line-height: 1.5; }

.columnAboutContents .writer .writer_inner .note {
  font-size: 14px;
  line-height: 1.75; }

@media screen and (max-width: 960px) {
  .columnAboutTitle {
    font-size: 18px;
    padding: 17px;
    margin: 0 0 12px;
    border-radius: 0;
    -webkit-border-radius: 0; }

  .columnAboutBlock {
    /* padding: 0 20px;*/
    margin-bottom: 20px; }

  .columnAboutBlock p {
    font-size: 14px;
    margin: 0 0 24px; }

  .columnAboutBlock ul {
    margin: 0 0 24px; }

  .columnAboutBlock ul li {
    font-size: 14px;
    padding-left: 13px; }

  .columnAboutBlock ul li::before {
    left: -3px; }

  .columnAboutBlock ol {
    padding: 0;
    margin: 0 0 24px; }

  .columnAboutBlock ol li {
    font-size: 14px; }

  .columnAboutSubTitle {
    font-size: 18px;
    padding-bottom: 12px;
    margin-bottom: 25px; } }
.p-interview-intro {
  margin: 40px 0; }

@media screen and (max-width: 767px) {
  .p-interview-intro {
    margin: 5vw 0; } }
.p-interview-intro__brackets {
  border: 1px solid var(--color--main);
  background: var(--color--bg);
  line-height: 1.6666666667;
  font-weight: 500;
  padding: 25px 24px; }

@media screen and (max-width: 767px) {
  .p-interview-intro__brackets {
    font-size: 3.6vw;
    padding: 4vw; } }
.p-interview-intro-listener {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 16px; }

@media screen and (max-width: 767px) {
  .p-interview-intro-listener {
    margin-top: 2vw; } }
.p-interview-intro-listener__post {
  line-height: 2.1428571429;
  font-weight: 500;
  color: var(--color--main); }

@media screen and (max-width: 767px) {
  .p-interview-intro-listener__post {
    font-size: 3.4vw; } }
.p-interview-intro-listener__post img {
  width: 1.6em;
  height: auto;
  margin-right: 0.6em; }

.p-interview-intro-listener__name {
  font-size: 1.2em;
  line-height: 2.1428571429;
  font-weight: 500;
  margin-left: 1em; }

@media screen and (max-width: 767px) {
  .p-interview-intro-listener__name {
    font-size: 3.2vw; } }
.p-interview-block-column {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 46px; }

@media screen and (max-width: 767px) {
  .p-interview-block-column {
    display: block;
    margin-top: 5vw; } }
.p-interview-block-column__left {
  width: 530px; }

@media screen and (max-width: 767px) {
  .p-interview-block-column__left {
    width: auto; } }
.p-interview-block-column__right {
  width: 530px; }

@media screen and (max-width: 767px) {
  .p-interview-block-column__right {
    width: auto; } }
.p-interview-block-column__img {
  -ms-flex-item-align: start;
  align-self: flex-start;
  -ms-flex-negative: 0;
  flex-shrink: 0; }

@media screen and (max-width: 767px) {
  .p-interview-block-column__img {
    margin-top: 5vw; } }
.p-interview-block-column--reverse {
  flex-flow: row-reverse; }

.p-interview__ttl {
  font-size: 1.1em;
  line-height: 1.6666666667;
  font-weight: 700;
  color: var(--color--sub2);
  margin: 2.6em 0 1em; }

@media screen and (max-width: 767px) {
  .p-interview__ttl {
    font-size: 3.6vw; } }
.p-interview__ttl span {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin-left: 15px; }

.p-interview__ttl span img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1px solid #28231e; }

.p-interview__ttl span p {
  font-size: 10px;
  color: #000; }

.p-interview__ttl:first-child {
  margin-top: 0; }

.p-interview__txt {
  font-size: 1.1em;
  line-height: 1.875;
  font-weight: 500; }

.p-interview__txt + .p-interview__txt {
  margin-top: 2em; }

@media screen and (max-width: 767px) {
  .p-interview__txt {
    font-size: 3.4vw; } }
.p-interview__photo {
  text-align: center;
  margin-top: 3em; }

.columnAboutBtnBlc {
  list-style: none;
  padding: 0;
  width: 100%;
  margin: 20px auto !important;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .columnAboutBtnBlc li {
    width: 48%;
    padding: 0 !important; }
    .columnAboutBtnBlc li a {
      display: block;
      text-align: center;
      background: var(--color--sub1);
      color: var(--color--white);
      padding: 15px;
      border-radius: 12px;
      transition: all ease-in-out 0.3s; }
      .columnAboutBtnBlc li a:hover {
        background: #2f1b07; }
    .columnAboutBtnBlc li:nth-of-type(2n) a {
      background: var(--color--main); }
      .columnAboutBtnBlc li:nth-of-type(2n) a:hover {
        background: #073a59; }

/*---------------------
 service price
---------------------*/
table.commission {
  margin: 0 auto 20px;
  min-width: 1100px; }
  table.commission img.illust {
    height: 500px; }
  table.commission tr th {
    font-weight: 600;
    text-align: center;
    padding: 20px 8px;
    border-bottom: 1px solid var(--color--line);
    font-size: 1.3em;
    font-family: 'Noto Serif JP', serif; }
    table.commission tr th.color {
      color: var(--color--main); }
    table.commission tr th.ex {
      vertical-align: bottom; }
      table.commission tr th.ex img {
        vertical-align: bottom; }
  table.commission tr td {
    padding: 10px 10px;
    text-align: center;
    background: var(--color--white);
    border: 1px solid var(--color--line);
    font-weight: 700;
    font-size: 1.4em;
    line-height: 1.4; }
    table.commission tr td.f-min {
      font-family: 'Noto Serif JP', serif; }
    table.commission tr td.noborder {
      border: none;
      background: transparent;
      padding-bottom: 0; }
    table.commission tr td.name {
      padding: 5px 7px;
      font-weight: 400; }
    table.commission tr td.pickup {
      background: var(--color--bgp);
      border-top-width: 7px;
      border-top-color: var(--color--red);
      border-left-width: 7px;
      border-left-color: var(--color--red);
      border-right-width: 7px;
      border-right-color: var(--color--red); }
    table.commission tr td.pickup-side {
      background: var(--color--bgp);
      border-left-width: 7px;
      border-left-color: var(--color--red);
      border-right-width: 7px;
      border-right-color: var(--color--red); }
    table.commission tr td.pickup-bottom {
      background: var(--color--bgp);
      border-left-width: 7px;
      border-left-color: var(--color--red);
      border-right-width: 7px;
      border-right-color: var(--color--red);
      border-bottom-width: 7px;
      border-bottom-color: var(--color--red); }
    table.commission tr td.circle {
      background: url("../img/service/bg_circle.svg") no-repeat center; }
    table.commission tr td.doublecircle {
      background: url("../img/service/bg_doublecircle.svg") no-repeat center; }
    table.commission tr td.normal {
      font-weight: 400;
      font-size: 1em; }
    table.commission tr td .price {
      font-size: 1.8em; }
    table.commission tr td .large {
      font-size: 1.4em; }
    table.commission tr td .slarge {
      font-size: 1.2em; }
    table.commission tr td .medium {
      font-size: 0.8em;
      display: inline-block; }
    table.commission tr td .mediuml {
      font-size: 0.9em;
      display: inline-block; }
    table.commission tr td .small {
      font-size: 0.6em;
      font-weight: 400;
      display: inline-block; }
    table.commission tr td .en {
      font-size: 0.7em; }

@media (max-width: 767px) {
  table.commission {
    min-width: 760px; }
    table.commission img.illust {
      height: 230px; }
    table.commission tr th {
      padding: 8px;
      font-size: 0.9em; }
    table.commission tr td {
      padding: 8px;
      font-size: 1.1em; }
      table.commission tr td.name {
        padding: 4px 5px;
        font-weight: 400; }
      table.commission tr td.pickup {
        border-top-width: 4px;
        border-top-color: var(--color--red);
        border-left-width: 4px;
        border-left-color: var(--color--red);
        border-right-width: 4px;
        border-right-color: var(--color--red); }
        table.commission tr td.pickup.name img {
          width: 200px; }
      table.commission tr td.pickup-side {
        border-left-width: 4px;
        border-left-color: var(--color--red);
        border-right-width: 4px;
        border-right-color: var(--color--red); }
      table.commission tr td.pickup-bottom {
        border-left-width: 4px;
        border-left-color: var(--color--red);
        border-right-width: 4px;
        border-right-color: var(--color--red);
        border-bottom-width: 4px;
        border-bottom-color: var(--color--red); }
      table.commission tr td.circle {
        background: url("../img/service/bg_circle.svg") no-repeat center;
        background-size: 50px;
        padding: 15px 10px; }
      table.commission tr td.doublecircle {
        background: url("../img/service/bg_doublecircle.svg") no-repeat center;
        background-size: 50px; }
      table.commission tr td.normal {
        font-size: 0.9em; }
      table.commission tr td .price {
        font-size: 1.3em; }
      table.commission tr td .large {
        font-size: 0.9em; }
      table.commission tr td .slarge {
        font-size: 1em; }
      table.commission tr td .medium {
        font-size: 0.7em;
        display: inline-block; }
      table.commission tr td .mediuml {
        font-size: 0.9em;
        display: inline-block; }
      table.commission tr td .small {
        font-size: 0.6em;
        font-weight: 400;
        display: inline-block; }
      table.commission tr td .en {
        font-size: 0.7em; } }
body.service #hero .title_wrapper {
  margin: 0; }
  body.service #hero .title_wrapper h1 {
    margin: 0; }
    body.service #hero .title_wrapper h1 span {
      font-size: 0.7em; }
body.service section#successfee {
  padding-top: 0; }
body.service .title_wrapper {
  padding-bottom: 1em; }
  body.service .title_wrapper h2 {
    line-height: 1.6;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    body.service .title_wrapper h2 strong {
      color: var(--color--main);
      line-height: 1; }
    body.service .title_wrapper h2 span {
      font-size: 0.7em; }
    body.service .title_wrapper h2 .num {
      font-size: 2em;
      font-weight: 500;
      color: var(--color--main);
      padding-right: 15px; }
  body.service .title_wrapper h3 {
    color: var(--color--main); }
body.service sup {
  font-size: 0.7em; }
body.service .w1100 {
  max-width: 1100px;
  margin: 0 auto; }
body.service #successfee .lead {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  margin-bottom: 2rem; }
body.service #adviser .lead {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  margin-bottom: 2rem; }
body.service article {
  margin: 2rem 0; }
body.service .frame-border {
  display: inline-block;
  border: 2px solid #CCC;
  padding: 2px;
  border-radius: 4px; }
  body.service .frame-border.blue {
    border-color: #28C6DB; }
  body.service .frame-border.green {
    border-color: #34BC34; }
body.service .accordions {
  max-width: 1100px;
  margin: 30px auto; }
  body.service .accordions dt {
    position: relative;
    cursor: pointer;
    margin: 0;
    padding: 25px 15px;
    background: var(--color--white);
    font-size: clamp(1.1em, 1.2vw, 1.2em);
    font-weight: 600;
    color: var(--color--main);
    line-height: 1;
    text-align: center;
    border: 1px solid var(--color--main); }
    body.service .accordions dt:before {
      display: block;
      content: '';
      position: absolute;
      top: 50%;
      right: 20px;
      width: 20px;
      height: 2px;
      background: var(--color--main); }
    body.service .accordions dt:after {
      display: block;
      content: '';
      position: absolute;
      top: 50%;
      right: 20px;
      width: 20px;
      height: 2px;
      background: var(--color--main);
      transform: rotate(-90deg); }
    body.service .accordions dt.active:after {
      transform: rotate(0); }
  body.service .accordions dd {
    margin: 0;
    padding: 20px 0;
    display: none;
    transition: max-height 0.4s ease; }
    body.service .accordions dd.active {
      display: block; }
    body.service .accordions dd h3 {
      font-size: 1.3em; }
    body.service .accordions dd .price {
      font-size: 1.8em; }
    body.service .accordions dd .color {
      color: var(--color--main); }
body.service .box {
  background: var(--color--gray);
  padding: 15px;
  font-size: 1.2em; }
body.service .show-sp figure {
  margin-bottom: 30px; }

@media (max-width: 767px) {
  body.service #hero {
    padding: 2em 0 1em; }
    body.service #hero .title_wrapper {
      margin: 0; }
      body.service #hero .title_wrapper h2 {
        fot-size: 1.2em; }
  body.service .title_wrapper {
    margin: 0; }
    body.service .title_wrapper h2 {
      font-size: 1.4em;
      margin-bottom: 1rem; }
    body.service .title_wrapper h3 {
      font-size: 1em !important;
      margin-top: 0; }
  body.service .lead {
    font-size: 0.85em;
    margin-top: 0; }
  body.service .accordions dt {
    text-align: left; } }
body.service #reason {
  padding: 3rem 10px; }
  body.service #reason .title_wrapper h2 {
    line-height: 1; }
  body.service #reason .title_wrapper h3 {
    line-height: 1;
    margin-top: -40px; }
  body.service #reason .flex-wrapper {
    margin: 0; }
    body.service #reason .flex-wrapper .flex-one {
      width: 23.5%;
      margin-bottom: 3rem; }
  body.service #reason .image {
    position: relative;
    margin: 0 0 15px 0; }
  body.service #reason p {
    font-size: clamp(0.8em, 0.95vw, 0.95em);
    line-height: 1.6; }
  body.service #reason h3 {
    font-size: clamp(1.3em, 1.3vw, 1.3em); }
    body.service #reason h3 strong {
      color: var(--color--red); }
    body.service #reason h3 span {
      font-size: 0.6em; }
    body.service #reason h3 .number {
      font-family: 'Noto Serif JP', serif;
      font-style: italic;
      color: var(--color--main);
      line-height: 1;
      font-size: clamp(1.4em, 1.8vw, 1.8em);
      padding-right: 7px; }
  body.service #reason .arrow__link {
    position: relative;
    display: inline-block;
    color: var(--color--main);
    padding: 5px 60px 5px 5px;
    border-bottom: 1px solid var(--color--main);
    font-size: clamp(1em, 1.2vw, 1.2em);
    font-weight: 600;
    font-family: 'Noto Serif JP', serif;
    transition: all ease-in-out 0.3s; }
    body.service #reason .arrow__link:after {
      position: absolute;
      bottom: -3px;
      right: 9px;
      display: block;
      content: "";
      width: 1px;
      height: 20px;
      transform: rotate(-45deg);
      background: var(--color--main); }
    body.service #reason .arrow__link:hover {
      padding-right: 70px; }

@media (max-width: 1200px) {
  body.service #reason .flex-wrapper .flex-one {
    width: 48%;
    margin-bottom: 3rem; } }
@media (max-width: 767px) {
  body.service #reason {
    padding-bottom: 0; }
    body.service #reason .flex-wrapper {
      margin: 0 10px; }
      body.service #reason .flex-wrapper .flex-one {
        width: 100%;
        margin-bottom: 3rem; } }
@media (max-width: 767px) {
  body.service #adviser {
    background: var(--color--bg); } }
.fee {
  border: 1px solid var(--color--black);
  max-width: 1000px;
  padding-top: 10px;
  margin: 60px auto 20px;
  position: relative; }

.fee-txt {
  font-size: clamp(1.5em, 1.6vw, 1.6em);
  line-height: 1;
  text-align: center;
  font-weight: bold;
  color: #000;
  border-right: 2px solid #000;
  padding-right: 40px;
  margin-right: 85px; }

.fee-box {
  display: flex;
  justify-content: center;
  align-items: center; }
  .fee-box i {
    position: absolute;
    top: -40px;
    right: 3%; }

.fee-txt span {
  display: block;
  font-size: 1.6rem;
  margin: 0.3em 0 0; }

.fee-txt02 {
  font-size: clamp(1.3em, 2vw, 2em);
  text-align: center;
  line-height: 1;
  color: #222; }

.fee-txt02 span {
  color: var(--color--red); }

@media screen and (max-width: 767px) {
  .fee-txt02 {
    font-size: 4.5333333333vw; } }
@media screen and (max-width: 767px) {
  .fee-box {
    display: block; }

  .fee-box i {
    top: -40px;
    right: 10px; }
    .fee-box i img {
      width: 100px; }

  .fee-txt {
    border-right: 0;
    padding-right: 0;
    margin: 0 0 3vw; } }
.fee-txt span {
  font-size: 1.6rem; }

@media screen and (max-width: 767px) {
  .fee-txt span {
    font-size: 2.9333333333vw; } }
.fee-plus {
  width: 60px;
  margin: 25px auto; }

@media screen and (max-width: 767px) {
  .fee-plus {
    width: 8vw;
    margin: 2vw auto; } }
.rate {
  width: 1000px;
  border-spacing: 0;
  table-layout: fixed;
  border: 1px solid #888;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin: 0 auto; }

@media screen and (max-width: 767px) {
  .rate {
    width: 100%; } }
.rate thead th {
  text-align: center;
  background: var(--color--main);
  border-right: 1px solid #fff;
  font-weight: 700;
  font-size: clamp(1.3em, 1.5vw, 1.5em);
  color: var(--color--white);
  box-sizing: border-box;
  padding: 10px 0; }

.rate thead th:first-child {
  width: 55%; }

.rate thead th:last-child {
  border-right: 0; }

.rate tbody th {
  font-weight: 400;
  font-size: clamp(1.3em, 1.5vw, 1.5em);
  border-bottom: 1px dotted #888;
  border-right: 1px solid #888;
  background: #f5f5f5;
  padding: 0.5em 2.8em;
  text-align: left; }

.rate tbody tr:nth-child(even) th {
  background: #ebebeb; }

.rate tbody td {
  font-size: 1.7rem;
  text-align: center;
  border-bottom: 1px dotted #888;
  background: #fff; }

.rate tbody tr:nth-child(even) td {
  background: #f5f5f5; }

.rate tbody tr:last-child th,
.rate tbody tr:last-child td {
  border-bottom: 0; }

.calc {
  width: 1000px;
  background: #f6f6f6;
  padding: 40px 40px 45px;
  margin: 50px auto 0; }

.calc .txt {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  font-size: clamp(1.4em, 2vw, 2em);
  font-weight: bold;
  line-height: 1;
  padding-left: 1.4em;
  margin-bottom: 40px; }

.calc .txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.2em;
  width: 0.9em;
  height: 3px;
  background: #888;
  transform: translateY(-50%); }

.calc .txt span {
  font-size: 0.6em;
  font-weight: 500; }

.calc .formula {
  border-bottom: 2px solid #888;
  padding: 0 20px 30px 38px; }

.calc .formula dt {
  clear: left;
  float: left;
  width: 50%;
  font-size: clamp(1.2em, 1.4vw, 1.4em);
  line-height: 1.5;
  font-weight: 500;
  margin-top: 1em; }

.calc .formula dt span {
  position: relative;
  background: #f6f6f6;
  padding: 0 1em 0 0;
  z-index: 2; }

.calc .formula dd {
  position: relative;
  text-align: right;
  font-size: clamp(1.2em, 1.4vw, 1.4em);
  line-height: 1.5;
  font-weight: 500;
  margin-top: 1em;
  padding: 0 0 0 50%; }

.calc .formula dd span {
  position: relative;
  background: #f6f6f6;
  padding: 0 0 0 1em;
  z-index: 2; }

.calc .formula dd::before {
  content: "";
  position: absolute;
  top: calc(50% + 1px);
  left: 0;
  width: 100%;
  height: 0;
  border-top: 1px dotted #222222; }

.calc .formula dt:first-of-type,
.calc .formula dd:first-of-type {
  margin-top: 0; }

.calc .result {
  margin: 30px 0 0;
  padding: 0 20px 0 38px; }

.calc .result dt {
  clear: left;
  float: left;
  width: 50%;
  font-size: clamp(1.2em, 1.4vw, 1.4em);
  line-height: 1.5;
  font-weight: 500; }

.calc .result dd {
  position: relative;
  text-align: right;
  font-size: clamp(1.2em, 1.4vw, 1.4em);
  line-height: 1.5;
  font-weight: 500;
  padding: 0 0 0 50%; }

@media screen and (max-width: 767px) {
  .rate thead th {
    padding: 0.5em 0 0.5em; }

  .rate thead th:first-child {
    width: 68.5333333333vw; }

  .rate tbody th {
    font-size: 3.7333333333vw;
    padding: 0.5em 0.5em;
    text-align: left; }

  .rate tbody td {
    font-size: 3.7333333333vw; }

  .calc {
    width: auto;
    margin: 10vw 0 0;
    padding: 4vw; }

  .calc .txt {
    display: block;
    font-size: 4.5333333333vw;
    margin-bottom: 5vw;
    padding-left: 4.6666666667vw; }

  .calc .txt span {
    margin-top: 0.8em; }

  .calc .txt::before {
    top: 0.5em;
    transform: none;
    width: 3.0666666667vw; }

  .calc .formula {
    padding: 0 0 5vw; }

  .calc .formula dt {
    width: 75%;
    font-size: 3.4666666667vw; }

  .calc .result dt {
    width: 50%;
    font-size: 3.4666666667vw; }

  .calc .formula dd {
    font-size: 3.4666666667vw;
    padding-left: 50%; }

  .calc .formula dd::before {
    width: 100%;
    height: 0;
    border-top: 1px dotted #222222; }

  .calc .result {
    margin: 4vw 0 0;
    padding: 0; }

  .calc .result dd {
    font-size: 3.4666666667vw;
    padding-left: 70%; } }
.adviserList {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  margin: 30px auto; }
  .adviserList .item {
    padding: 1em 1em 0 1em;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    background: var(--color--white);
    border-radius: 12px;
    height: auto !important; }
    .adviserList .item figure {
      margin: 15px; }
      .adviserList .item figure img {
        border-radius: 50%;
        margin: 0 auto; }
    .adviserList .item h3 {
      text-align: center;
      margin-bottom: 0; }
    .adviserList .item .en {
      color: var(--color--main);
      text-align: center;
      font-weight: 600;
      margin-bottom: 10px; }
    .adviserList .item .history {
      font-size: clamp(0.8em, 0.9vw, 0.9em);
      margin-bottom: 1rem; }
    .adviserList .item .comment {
      margin: 15px -1rem 0;
      padding: 1rem;
      border-radius: 0 0 12px 12px; }
    .adviserList .item .depart {
      text-align: center;
      font-weight: 600;
      font-size: clamp(0.8em, 0.9vw, 0.9em);
      margin-bottom: 1.5em; }

@media (max-width: 767px) {
  .adviserList {
    grid-template-columns: 1fr; }
    .adviserList .item {
      padding: 15px;
      line-height: 1.6;
      margin: 0.5em; }
      .adviserList .item .titleArea {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .adviserList .item .titleArea figure {
          width: 34%;
          margin: 0 0 7px 0;
          padding: 0; }
        .adviserList .item .titleArea .titleArea__text {
          width: 60%; }
          .adviserList .item .titleArea .titleArea__text h3 {
            text-align: left; }
          .adviserList .item .titleArea .titleArea__text .en {
            text-align: left; }
          .adviserList .item .titleArea .titleArea__text .depart {
            text-align: left; }
      .adviserList .item p {
        font-size: 0.8em; } }
