@charset "utf-8";
/* ========================================================
	module.css => モジュール用CSS
======================================================== */
/*.topic_path 
---------------------------------------------------------------------------------------------------*/
.topic_path_area {
      position: absolute;
      left: 0;
      top: 70px;
      width: 100%;
      z-index: 1;
}
.topic_path li {
      color: #fff;
      display: inline-block;
}
.topic_path li + li {
      margin-left: 5px;
}
.topic_path li:after {
      content: "/";
      margin-left: 5px;
}
.topic_path li:last-child:after {
      content: normal;
}
.topic_path, .topic_path a {
      color: #fff;
}
.topic_w {
      padding: 0 2vw;
}
@media screen and (min-width: 961px), print {
      .topic_path {
            font-size: 1.2rem;
            padding: 1em 0;
            margin-bottom: 0px;
            position: relative;
            z-index: 1;
      }
      .topic_path a:hover {
            text-decoration: underline;
      }
}
/*topic_path sp */
@media screen and (max-width: 960px) {
      .topic_path_w {
            max-width: 90%;
            margin: auto;
            padding: 0;
      }
      /*追従あり*/
      .topic_path {
            padding: 7px 15px;
            margin-top: 0em;
            margin-bottom: 0;
            position: relative;
            z-index: 1;
            white-space: nowrap;
            height: 20px;
            overflow: hidden;
            font-size: 1.2rem;
            -webkit-overflow-scrolling: touch;
      }
      .topic_path .topic_w {
            white-space: nowrap;
            overflow-x: auto;
            overflow-y: hidden;
            height: 50px;
            transform: translateZ(0);
      }
      .topic_path .topic_w li:last-child {
            margin-right: 20px;
      }
}
/*.page_title_aera 
---------------------------------------------------------------------------------------------------*/
.page_title_aera {
      padding: 5em 0;
      position: relative;
}
.page_title_aera:before, .page_title_aera:after {
      content: "";
      top: 0;
      left: 0;
      position: absolute;
      /* height: 200%;*/
      height: 30em;
      width: 100%;
}
.page_title_aera:before {
      background: url("../images/page_title/page_title.jpg") no-repeat;
      background-size: cover;
}
.page_title_aera:after {
      background: rgba(51, 51, 51, 0.7);
}
/*旅カフェ*/
.tabicafe .page_title_aera {
      padding: 3em 0 4em 0;
}
.tabicafe .page_title_aera:before {
      background: url("../images/page_title/page_title_tabicafe.jpg") no-repeat;
      background-size: cover;
      height: 100%;
}
.tabicafe .page_title_aera:after {
      background: none !important;
}
.page_title_img {
      position: relative;
}
.page_title_img span {
      width: 4em;
      position: absolute;
      top: 0em;
      right: 0;
}
.page_title_img span img {
      width: 100%;
}
/*旅カフェ end*/
.page_title_aera_inner {
      position: relative;
}
.page_title_aera_inner:before {
      content: "";
      position: absolute;
      width: 100%;
      height: calc(200% + 22em);
      left: 0;
      bottom: -22em;
      transform: rotate(-180deg);
      background: #fff;
      animation-duration: 1s;
      animation-name: page_title_bg;
      animation-direction: alternate;
      animation-fill-mode: forwards;
      animation-delay: 0;
      z-index: 1;
}
.page_title_aera_w {
      width: 1400px;
      margin: auto;
      position: relative;
}
.page_title {
      color: #fff;
      text-align: center;
      font-size: 4.2rem;
      font-weight: 700;
      letter-spacing: 1px;
      position: relative;
      max-width: 100%;
      margin: auto;
      opacity: 0;
      animation-duration: 2s;
      animation-name: page_title;
      animation-direction: alternate;
      animation-fill-mode: forwards;
      animation-delay: 0.5s;
      z-index: 1;
}
.page_title span {
      display: block;
      font-size: 0.9em;
}
@media screen and (max-width: 1650px) {
      .page_title_aera_w {
            width: 90%;
      }
}
@media screen and (max-width: 960px) {
      .page_title {
            font-size: 3.0rem;
            max-width: 95%;
      }
}
@media screen and (max-width: 680px) {
      .page_title_aera {
            padding: 5em 0 4em 0;
      }
      .page_title_aera:before, .page_title_aera:after {
            height: 19em;
      }
      .page_title {
            font-size: 2.6rem;
      }
}
/*contents_ff
---------------------------------------------------------------------------------------------------*/
.contents_ff {
      position: relative;
      width: 1600px;
      margin: auto;
      padding: 5em 0 3em 0;
}
.contents_ff:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 300%;
      height: 100%;
      background: #fff;
}
@media screen and (max-width: 1650px) {
      .contents_ff {
            width: 95%;
      }
}
@media screen and (max-width: 680px) {
      .contents_ff {
            padding: 3em 0;
      }
}
.cont_bottom {
      animation-duration: 0.7s;
      animation-name: cont_bottom;
      animation-direction: alternate;
      animation-fill-mode: forwards;
      animation-delay: 1.0s;
      opacity: 0;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
}
/*.お知らせ
---------------------------------------------------------------------------------------------------*/
/*news_list
------------------------------------------------*/
.news_list > li {
      font-size: 1.6rem;
      border-bottom: 1px solid var(--col_main);
      padding: 1.5em 1em 1.5em 3em;
}
.news_list > li:first-child {
      border-top: 1px solid var(--col_main);
}
.news_list > li a {
      display: block;
}
.news_list_inner {
      display: flex;
      justify-content: space-between;
}
.news_list_inner .date {
      width: 10em;
}
.news_list_inner .text_box {
      width: calc(100% - 10em);
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .news_list > li a:hover .news_list_inner .text_box {
            text-decoration: underline;
      }
}
@media screen and (max-width: 680px) {
      .news_list > li {
            font-size: 1.4rem;
            padding: 1.5em 1em 1.5em 1em;
      }
      .news_list_inner {
            display: block;
      }
      .news_list_inner .date {
            width: auto;
      }
      .news_list_inner .text_box {
            width: auto;
      }
}
@media screen and (max-width: 480px) {
      .news_list > li {
            font-size: 1.6rem;
      }
}
/*news cms
---------------------------------------------------------------------------------------------------*/
.cms_title h1 {
      color: var(--col_blog);
      font-weight: bold;
      font-size: 3.0rem;
      line-height: 1.3;
      margin-bottom: 1em;
}
.cms_area .news_cate span {
      margin-bottom: 2em;
      background: var(--col_blog_cate);
      /*border-radius: 1em;	*/
      color: #fff;
      padding: 0 1em;
}
.cms_area .date {
      text-align: right;
      font-size: 1.4rem;
      margin-bottom: 3em;
}
/*.cms_box */
.cms_box h2 {
      color: var(--col_blog);
      font-weight: bold;
      font-size: 2.4rem;
      margin-top: 3em;
      margin-bottom: 1.5em;
      line-height: 1.2;
      position: relative;
      padding-bottom: 1em;
}
.cms_box h2:before, .cms_box h2:after {
      content: "";
      background: var(--col_gray_l);
      position: absolute;
      bottom: 0;
      left: 0;
      height: 1px;
      width: 100%;
}
.cms_box h2:after {
      width: 3em;
      background: var(--col_d_blue);
}
.cms_box h3 {
      margin-top: 2em;
      margin-bottom: 1em;
      font-size: 1.8rem;
      background: #e7e7e7;
      padding: 1rem 1rem 1rem 2.5rem;
      position: relative;
      letter-spacing: 2px;
}
.cms_box h3:before {
      content: "";
      position: absolute;
      top: 20%;
      left: 10px;
      width: 3px;
      height: 60%;
      background: #c50713;
}
.cms_box figure {
      display: block;
      margin-block-start: 0;
      margin-block-end: 0;
      margin-inline-start: 0;
      margin-inline-end: 0;
}
.cms_box figure.alignright {
      text-align: right;
}
.cms_box figure.aligncenter {
      text-align: center;
}
.cms_box img {
      margin-top: 1em !important;
      margin-bottom: 1em !important;
      max-width: 100%;
}
.cms_box img.alignright {
      margin: 1em 0 1em auto !important;
      display: inherit;
}
.cms_box img.aligncenter {
      display: inherit;
}
.cms_box a {
      color: var(--col_red);
      text-decoration: underline;
}
@media screen and (min-width: 961px) and (hover: hover) {
      .cms_box a:hover {
            color: var(--col_main);
            text-decoration: none;
      }
}
@media screen and (max-width: 680px) {
      .cms_area h1 {
            font-size: 2.0rem;
      }
      .cms_box h2 {
            font-size: 1.8rem;
      }
}
/*ul*/
.cms_box ul {
      margin: 1em auto;
      padding-left: 1em;
}
.cms_box ul > li {
      position: relative;
      padding-left: 1.2em;
      margin-bottom: 0.2em;
}
.cms_box ul > li:before {
      content: "●";
      position: absolute;
      left: 0;
      color: var(--col_red);
      font-size: 0.8em;
      top: 0.1em;
}
/*ol*/
.cms_box ol {
      list-style-type: decimal;
      margin-top: 1em;
      margin-bottom: 1em;
}
.cms_box ol > li {
      margin-left: 1.2em;
      margin-bottom: 0.2em;
}
.wp-block-file__button {
      color: #fff !important;
      margin-top: 1em;
      margin-bottom: 1em;
      text-decoration: none !important;
}
/* pagination 　wp-pagenav ver
=============================== */
.pagination {
      margin: 5em 0 0 0;
}
.pagination .wp-pagenavi {
      display: flex;
      justify-content: center;
      font-family: "Spinnaker", sans-serif;
}
.pagination .wp-pagenavi span, .pagination .wp-pagenavi a {
      display: block;
      font-size: 1em;
      line-height: 1;
      text-align: center;
      text-decoration: none;
      padding: 12px 0;
      margin: 0 5px;
      aspect-ratio: 1/1;
      position: relative;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      /*   border-radius: 3rem;*/
      width: 40px;
      color: var(--col_main);
      /*background: var(--col_pnav);*/
}
/*next prev*/
.pagination .wp-pagenavi a.next, .pagination .wp-pagenavi a.prev {
      position: relative;
      font-size: 0;
      background: none;
}
/*.pagination .wp-pagenavi a.next:before,.pagination .wp-pagenavi a.prev:before {
    content: "";
    position: absolute;
    background: url("../images/arrow_basic_green.svg") no-repeat;
    background-size: contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 10px;
    aspect-ratio: 1/1.4;
}*/
.pagination .wp-pagenavi a.prev:before {
      transform: translate(-50%, -50%) rotate(-90deg);
}
/*current hover*/
.pagination .wp-pagenavi span.current, .pagination .wp-pagenavi a.current {
      display: block;
      color: #fff;
      background: var(--col_main);
}
.pagination .wp-pagenavi .previouspostslink, .pagination .wp-pagenavi .nextpostslink {
      background: none;
      color: var(--col_main);
}
@media screen and (min-width: 1025px), print {
      .pagination .wp-pagenavi a:hover {
            color: #fff;
            background: var(--col_main);
      }
      .pagination .wp-pagenavi a.next:hover:before, .pagination .wp-pagenavi a.prev:hover:before {
            filter: brightness(0) invert(1);
      }
}
@media screen and (max-width: 768px) {
      .pagination {
            margin: 10% 0 10%;
      }
}
/*他パーツ*/
/*extend　…*/
.extend {
      background: #fff !important;
      color: var(--col_main) !important;
}
/*.previouspostslink, .nextpostslink {
    color: transparent !important;
    background: url("../images/arrow_basic_green.svg") no-repeat !important;
    background-size: 0.8em !important;
    background-position: top 50% left 50% !important;
}*/
/*.nextpostslink {
    transform: rotate(90deg) !important;
}
.previouspostslink {
    transform: rotate(-90deg) !important;
}*/
/* pagination default
=============================== */
.pagination ul.page-numbers {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1em;
}
.pagination ul.page-numbers li {
      display: flex;
      justify-content: center;
      align-items: center;
      aspect-ratio: 1 / 1;
      height: 40px;
}
.pagination ul.page-numbers li + li {
      margin-left: 0.5em;
}
.pagination ul.page-numbers li > * {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1em;
      line-height: 1;
      text-align: center;
      text-decoration: none;
      width: 100%;
      aspect-ratio: 1 / 1;
      height: 40px;
      position: relative;
      background: var(--col_l_blue);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border-radius: 3rem;
      font-family: "Montserrat", serif;
}
/*current hover*/
.pagination span.page-numbers.current, .pagination a.page-numbers:hover {
      color: #fff !important;
      background: var(--col_main) !important;
}
/*next pre デザインリセット*/
.pagination .page-numbers.next, .pagination .page-numbers.prev, .pagination .page-numbers.dots, .pagination .page-numbers.next:hover, .pagination .page-numbers.prev:hover, .pagination .page-numbers.dots:before {
      background: transparent !important;
}
/*next pre */
.pagination .page-numbers.next:before, .pagination .page-numbers.prev:before {
      content: "";
      background: url("../images/arrow_blue.svg") no-repeat;
      background-size: 0.8em;
      background-position: center;
      width: 100%;
      aspect-ratio: 1 / 1;
}
.pagination .page-numbers.prev:before {
      transform: rotate(180deg);
}
/*dots*/
.pagination .page-numbers.dots {
      color: var(--col_main);
}
/* pager
=============================== */
.pager {
      display: flex;
      justify-content: space-between;
}
.pager > * {
      width: 48%;
}
.pager.pager > * {
      display: flex;
      align-items: center;
      line-height: 1.3;
}
.pager .prev a, .pager .next a {
      width: 100%;
      padding: 0.5em 0;
      color: var(--col_main);
      word-break: break-all;
      display: flex;
      align-items: center;
}
/*矢印*/
.pager .pager_arrow {
      position: relative;
      background: var(--col_main);
      height: 2.5em;
      /*  border-radius: 3em;*/
      aspect-ratio: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      border: solid 1px var(--col_main);
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
}
.pager .pager_arrow:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      filter: brightness(0) invert(1);
      background-size: contain;
      aspect-ratio: 14 /3.8182;
      height: 0.25em;
      position: absolute;
      top: 50%;
      right: 0.9em;
      transform: translate(-0%, -50%);
}
.pager .next a .pager_arrow {
      margin-left: 1em;
}
.pager .prev a .pager_arrow {
      margin-right: 1em;
      position: relative;
      transform: scale(-1, 1);
      transform-origin: center;
      text-align: center;
      display: flex;
}
@media screen and (min-width: 961px) and (hover: hover) {
      .pager a:hover .pager_arrow {
            background: #fff;
      }
      .pager a:hover .pager_arrow:before {
            filter: none;
      }
}
/*a*/
.pager .prev, .pager .prev a {
      text-align: left;
}
.pager .next, .pager .next a {
      text-align: right;
      justify-content: flex-end;
}
/*about
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.about_index_area {
      padding: 5em 0;
}
/*a_index_list*/
.a_index_list {
      display: flex;
      gap: 6.5em 8%;
      flex-wrap: wrap;
}
.a_index_list > li {
      width: 46%;
}
@media screen and (max-width: 1450px) {
      .a_index_list {
            gap: 3em 5%;
      }
      .a_index_list > li {
            width: 47%;
      }
}
@media screen and (max-width: 960px) {
      .about_index_area {
            padding: 0em 0;
      }
}
@media screen and (max-width: 680px) {
      .a_index_list {
            display: block;
      }
      .a_index_list > li {
            width: auto;
      }
      .a_index_list > li + li {
            margin-top: 3em;
      }
}
@media screen and (min-width: 961px), print {
      .a_index_list_inner .img_box {
            position: relative;
      }
      /*第二階層*/
      .a_index_list_inner .img_box .a_index_list_under_box {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 0;
            opacity: 0;
            /*  z-index: -2;*/
            overflow: hidden;
            background: var(--bg_nav);
            font-size: 1.6rem;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            transition: all 0.3s ease;
            /*開発*/
            /*  opacity: 1;
    overflow:visible;
    height: 100%;  */
      }
      .a_index_list > li:hover .a_index_list_inner .img_box .a_index_list_under_box {
            opacity: 1;
            overflow: visible;
            height: 100%;
      }
      .a_index_list_inner .img_box .a_index_list_under {
            padding: 2em 1em;
      }
      .a_index_list_inner .img_box .a_index_list_under > li + li {
            margin-top: 1em;
      }
      .a_index_list_inner .img_box .a_index_list_under, .a_index_list_inner .img_box .a_index_list_under a {
            color: #fff;
            display: block;
      }
      .a_index_list_inner .img_box .a_index_list_under a:hover {
            text-decoration: underline;
      }
}
@media screen and (max-width: 960px) {
      .a_index_list_inner {
            display: flex;
            flex-direction: column;
      }
      .a_index_list_inner .img_box {
            display: contents;
      }
      .a_index_list_inner .a_index_list_under_box {
            order: 3;
      }
      .a_index_list_inner .a_index_list_title {
            order: 2;
      }
      .a_index_list_inner .a_index_list_under_box {
            position: relative;
            padding-left: 0.5em;
            margin-top: 0.5em;
      }
      .a_index_list_under_box:before {
            position: absolute;
            content: "";
            background: var(--col_sub);
            height: 100%;
            width: 3px;
            left: 0;
            top: 0;
      }
      .a_index_list_under > li a {
            padding-left: 1em;
            padding-top: 0.9em;
            display: block;
      }
}
/*画像*/
.a_index_list_inner .img_box .img {
      overflow: hidden;
}
.a_index_list_inner .img_box .img img {
      width: 100%;
      aspect-ratio: 500/313;
      object-fit: cover;
      object-position: center;
      transition: 0.4s;
}
.a_index_list_title a {
      position: relative;
      display: block;
      padding: 1em 0;
      font-size: 1.8rem;
      font-weight: 500;
}
.a_index_list_title a:before {
      content: "";
      background: var(--col_btn_back);
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.a_index_list_title a:after {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 14 /3.8182;
      height: 0.25em;
      position: absolute;
      top: 50%;
      right: 0.9em;
      transform: translate(-0%, -50%);
      transition: all 0.3s ease;
}
@media screen and (min-width: 961px), print {
      .a_index_list_inner:hover .img_box .img img {
            transform: scale(1.1);
      }
      .a_index_list_inner:hover .a_index_list_title > * {
            color: var(--bg_black);
            background: #fff;
      }
}
/*message
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.topmesse_mv .img {
      position: relative;
      text-align: left;
}
.topmesse_mv .img img {
      width: 95%;
}
.topmesse_mv_title {
      background: var(--bg_black);
      position: absolute;
      bottom: 2em;
      right: 0;
      padding: 1.3em 1.8em 1.3em 2em;
      overflow: hidden;
      color: #fff;
      font-weight: 500;
      text-align: left;
      font-size: 2.4rem;
      line-height: 1.7;
}
.topmesse_mv_title.t_left {
      right: auto;
      left: -1em;
}
.topmesse_mv_title span {
      position: relative;
      display: inline-block;
      padding-bottom: 0.7em;
}
.topmesse_mv_title span:before {
      content: "";
      background: var(--col_sub);
      position: absolute;
      bottom: 0;
      right: -2em;
      width: calc(100% + 3em);
      height: 1px;
}
.topmesse_mv_title.t_left span:before {
      right: auto;
      left: -2em;
}
@media screen and (max-width: 960px) {
      .topmesse_mv_title {
            font-size: 1.8rem;
      }
}
@media screen and (max-width: 680px) {
      .topmesse_mv .img {
            padding-bottom: 2em;
      }
      .topmesse_mv_title {
            padding: 0.9em 1.2em;
            display: inline-block;
            font-size: 1.35rem;
            bottom: 0em;
      }
      .topmesse_mv_title span:before {
            right: -3em;
      }
      .topmesse_mv_title.t_left_sp {
            right: auto;
            left: -3em;
      }
      .topmesse_mv_title.t_left span:before {
            right: auto;
            left: -3em;
      }
      .topmesse_mv_title.t_left_sp span:before {
            right: auto;
            left: -3em;
      }
}
/*company
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*table_01
---------------------------------------------*/
.table_01 table {
      width: 100%;
      font-size: 1.6rem;
      line-height: 1.6;
      table-layout: fixed;
      word-break: break-all;
}
.table_01 tr:first-child {
      border-top: 1px solid #B2B2B2;
}
.table_01 table th, .table_01 table td {
      padding: 1em;
      border-bottom: 1px solid #B2B2B2;
}
.table_01 table th {
      text-align: center;
      background: var(--bg_nav_fix);
      color: #fff;
}
.table_01 table td {
      padding: 1em 2em;
}
.table_01 table tr:nth-child(even) td {
      background: var(--bg_gray);
}
@media screen and (max-width: 680px) {
      .table_01 table th, .table_01 table td {
            display: block;
            width: auto;
            padding: 0.2em 1em;
      }
      .table_01 table tr:nth-child(even) td {
            background: #fff;
      }
      .table_01 table th {
            text-align: left;
      }
      .table_01 table td {
            padding: 0.2em 1em 0.8em 1em;
      }
}
/*table_02
---------------------------------------------*/
.table_02 table {
      width: 100%;
      font-size: 1.6rem;
      line-height: 1.6;
      table-layout: fixed;
      word-break: break-all;
}
.table_02 tr:first-child {
      border-top: 1px solid #B2B2B2;
}
.table_02 table th, .table_02 table td {
      padding: 0.8em 0.5em;
      border-bottom: 1px solid #B2B2B2;
}
.table_02 table th {
      background: var(--bg_gray);
}
@media screen and (max-width: 680px) {
      .table_02 table th, .table_02 table td {
            display: block;
            width: auto;
            padding: 0.2em 1em;
      }
      .table_02 table td {
            padding: 0.5em 1em 0.9em 1em;
      }
}
/*table_03 sp折り返さない
---------------------------------------------*/
.table_03 table {
      width: 100%;
      font-size: 1.6rem;
      line-height: 1.6;
      table-layout: fixed;
      word-break: break-all;
}
.table_03 tr:first-child {
      border-top: 1px solid #B2B2B2;
}
.table_03 table th, .table_03 table td {
      padding: 0.8em 0.5em;
      border-bottom: 1px solid #B2B2B2;
}
.table_03 table th {
      background: var(--bg_gray);
}
@media screen and (max-width: 680px) {
      .table_03 table th, .table_03 table td {
            padding: 0.2em 1em;
      }
      .table_03 table td {
            padding: 0.5em 1em 0.9em 1em;
      }
}
/*table_fzs　フォントサイズ
-----------------------------------------------*/
.table_fzs > * {
      font-size: 0.7em !important;
}
.table_fzs th, .table_fzs td {
      padding: 0.3em 0.5em !important;
}
/*history
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.history_dl {
      padding: 3em 0;
      position: relative;
}
.history_dl:before {
      position: absolute;
      top: 0;
      left: 0.4em;
      content: "";
      background: var(--bg_gray);
      width: 3px;
      height: 100%;
}
.history_dl dl {
      position: relative;
      display: flex;
      justify-content: space-between;
      gap: 0.5em;
}
.history_dl dl + dl {
      margin-top: 3em;
}
.history_dl dl:before {
      content: "";
      position: absolute;
      top: 0.5em;
      left: 0;
      background: var(--col_sub);
      height: 1em;
      border-radius: 6em;
      aspect-ratio: 1/1;
}
.history_dl dl dt {
      font-weight: 600;
      width: 5em;
      padding-left: 4em;
}
.history_dl dl dd {
      width: calc(100% - 9em);
}
@media screen and (max-width: 680px) {
      .history_dl {
            padding: 2em 0;
      }
      .history_dl dl {
            display: block;
      }
      .history_dl dl dt {
            width: auto;
            padding-left: 2em;
      }
      .history_dl dl dd {
            width: auto;
            padding-left: 2em;
      }
}
/*access_list
-----------------------------------------------------------*/
.access_list > li + li {
      margin-top: 5em;
}
.access_list > li:nth-child(even) .access_bg::before {
      background: #fff;
}
.access_bg {
      padding: 2em 1em;
      position: relative;
}
.access_bg::before {
      position: absolute;
      content: "";
      background: #f2f2f2;
      top: 0px;
      left: 50%;
      transform: translate(-50%, 0);
      width: 105%;
      height: 100%;
      z-index: -1;
}
.access_cont_flex {
      display: flex;
      justify-content: space-between;
}
.access_cont_flex .text_box {
      width: 40%;
}
.access_cont_flex .img {
      width: 60%;
}
.text_box > div + div {
      margin-top: 1.5em;
}
/*.gmap {
  width: 95%;
}*/
.gmap iframe {
      width: 100%;
      height: auto;
      aspect-ratio: 16/9;
}
@media screen and (max-width: 680px) {
      .midahsi_03 {
            font-size: 1.6rem;
      }
      .access_list > li + li {
            margin-top: 3em;
      }
      .access_cont_flex {
            flex-flow: column;
      }
      .access_cont_flex .text_box {
            order: 2;
            width: auto;
            margin-top: 1em;
      }
      .access_cont_flex .img {
            order: 1;
            width: auto;
      }
      .gmap iframe {
            aspect-ratio: 1/1;
      }
}
/*生産開発拠点
------------------------------------------------------------------------*/
.iso_flex {
      display: flex;
}
.iso_flex img {
      object-fit: cover;
      width: 98%;
}
.iso_inner_flex {
      display: flex;
}
.iso_inner_flex img {
      width: 97%;
}
.iso_text {
      font-size: 1.4rem;
}
@media screen and (max-width: 680px) {
      .iso_flex {
            display: block;
      }
      .iso_flex img {
            width: auto;
      }
      .iso_flex div {
            margin-top: 1em;
      }
      .iso_inner_flex div {
            margin-top: 0;
      }
      .iso_inner_flex div + div {
            margin-left: 1em;
      }
      .iso_inner_flex img {
            width: auto;
      }
      .iso_text {
            font-size: 1.3rem;
      }
}
/*sitemap
----------------------------------------------------*/
.sitemap_list {
      flex-wrap: wrap;
      display: flex;
      gap: 5%;
}
.sitemap_list.no_flex {
      display: block;
}
.sitemap_list.no_flex > li {
      width: auto;
}
/*.sitemap_list li*/
.sitemap_list li {
      margin-bottom: 1.5em;
      position: relative;
}
.sitemap_list li a {
      display: block;
      position: relative;
}
.sitemap_list > li {
      width: 30%;
}
.sitemap_list > li > a {
      padding-left: 1.5em;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .sitemap_list > li a:hover {
            text-decoration: underline;
      }
}
.sitemap_list > li > a:before, .sitemap_list > li > a:after {
      position: absolute;
      content: "";
      left: 0;
      top: 0;
      width: 5px;
}
.sitemap_list > li > a:before {
      background: var(--col_sub);
      height: 100%;
}
.sitemap_list > li > a:after {
      background: var(--col_red);
      height: 50%;
}
@media screen and (max-width: 680px) {
      .sitemap_list {
            display: block;
      }
      .sitemap_list > li {
            width: auto;
      }
}
/*第2
----------------------------------------------------*/
.sitemap_list .mg_menu {
      padding: 1em 0 1em 1em;
}
.sitemap_list > li .mg_menu a {
      position: relative;
      padding-left: 1.2em;
}
.sitemap_list > li .mg_menu a:before {
      content: "";
      width: 0.8em;
      background: var(--col_sub);
      height: 2px;
      position: absolute;
      top: 0.8em;
      left: 0;
}
/*打消し
----------------------------------------------------*/
.sitemap_list .mg_menu_title, .sitemap_list .mg_menu_imgbox .img, .sitemap_list .nav_down {
      display: none;
}
/*製品一覧
--------------------------------------------------------------------------------------------------------*/
.product_link_list_area {
      padding: 5rem 0;
}
.product_link_list {
      display: flex;
      gap: 2%;
      flex-wrap: wrap;
}
.product_link_list > li {
      position: relative;
      border-top: solid 1px var(--col_main);
      border-right: solid 1px var(--col_main);
      border-bottom: solid 1px var(--col_main);
      box-shadow: 3px 3px 0px 0px transparent;
      transition: all 0.3s ease;
      box-sizing: border-box;
}
/*product_list_3_4*/
.product_link_list.product_list_3_4 {
      gap: 1em 0;
}
.product_link_list.product_list_3_4 > li:nth-child(-n+3) {
      width: 32%;
}
.product_link_list.product_list_3_4 > li:nth-child(-n+2) {
      margin-right: 2%;
}
.product_link_list.product_list_3_4 > li:nth-child(n+4) {
      width: 23.5%;
      margin-right: 2%;
}
.product_link_list.product_list_3_4 > li:nth-child(7) {
      margin-right: 0%;
}
.product_link_list > li:before, .product_link_list > li:after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translate(-0%, -50%);
}
.product_link_list > li:before {
      left: 0;
      height: 90%;
      width: 3px;
      background: var(--col_sub);
}
/*.product_link_list > li:after {
      right: -0.2em;
      background: url("../images/btn_arrow.svg") no-repeat;
      aspect-ratio: 14 /3.8182;
      height: 0.5em;
      background-size: contain;
      transform: translate(-0%, -50%) rotate(90deg);
}*/
.product_link_list > li, .product_link_list > li a {
      display: flex;
      flex-direction: column;
      justify-content: center;
}
.product_link_list > li a {
      position: relative;
      padding: 1em 1.5em 1em 1em;
}
.product_link_list_title {
      font-size: 1.2rem;
      line-height: 1.3;
}
.product_link_list_title span {
      font-size: 1.8em;
      display: block;
      margin-bottom: 0.2em;
}
@media screen and (max-width: 960px) {
      .product_link_list_title span {
            font-size: 1.4em;
      }
}
@media screen and (max-width: 680px) {
      .product_link_list.product_list_3_4 {
            gap: 0.5em 4%;
      }
      .product_link_list > li:nth-child(-n+3) {
            width: 48% !important;
      }
      .product_link_list > li:nth-child(-n+2) {
            margin-right: auto !important;
      }
      .product_link_list > li:nth-child(n+4) {
            width: 48% !important;
            margin-right: auto !important;
      }
      .product_link_list > li:nth-child(7) {
            margin-right: auto !important;
      }
      .product_link_list_area {
            padding: 0rem 0;
      }
      .product_link_list_title {
            font-size: 0.8rem;
      }
      .product_link_list > li a {
            padding: 0.5em 0.5em 0.5em 0.5em;
      }
      .product_link_list > li:after {
            height: 0.2em;
            top: auto;
            right: 0;
            transform: translate(-0%, -00%) rotate(90deg);
            bottom: 0.6em;
      }
      .product_link_list_title span {
            font-size: 1.8em;
      }
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .product_link_list > li:hover {
            background: var(--bg_gray_l);
            box-shadow: 3px 3px 0px 0px var(--col_main);
      }
}
/*product_list
--------------------------------------------------------------------------*/
.product_section {
      padding: 5em 0 7em;
}
/*#container .product_section:first-child {
    padding: 2em 0 7em 0;
}
#container .product_section:last-child {
    padding: 2em 0 5em 0;
}*/
@media screen and (max-width: 680px) {
      .product_section {
            padding: 4em 0;
      }
}
.product_list {
      display: flex;
      gap: 3em 5%;
      flex-wrap: wrap;
}
.product_list > li {
      width: 30%;
      font-size: 1.6rem;
      /*    border-bottom: 1px solid var(--col_main);*/
      position: relative;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
}
.product_list.list_4 > li {
      width: calc((100% / 4) - (5% / 1.3));
}
/*product_list_3_4*/
.product_list.product_list_3_4 {
      gap: 5em 0;
}
.product_list_3_4 > li:nth-child(-n+3) {
      width: 30%;
}
.product_list_3_4 > li:nth-child(-n+2) {
      margin-right: 5%;
}
.product_list_3_4 > li:nth-child(n+4) {
      width: 22.7%;
      margin-right: 3%;
}
.product_list_3_4 > li:nth-child(7) {
      margin-right: 0%;
}
.list_line_none > li {
      border-bottom: none;
}
.product_list > li a {
      display: block;
}
.product_list > li > a {
      height: 100%;
}
@media screen and (max-width: 960px) {
      .product_list {
            gap: 3em 2%;
      }
      .product_list.list_4 > li {
            width: calc((100% / 4) - (2% / 1.3));
      }
}
@media screen and (max-width: 680px) {
      .product_list {
            display: block;
      }
      .product_list > li {
            width: auto;
      }
      .product_list.list_4 > li {
            width: auto;
      }
      .product_list > li + li {
            margin-top: 3em;
      }
      .list_sp_2col {
            gap: 2em 4%;
            display: flex;
      }
      .list_sp_2col > li + li {
            margin-top: auto;
      }
      .list_sp_2col > li, .product_list.list_4.list_sp_2col > li {
            width: 48%;
      }
      .product_list_3_4.list_sp_2col {
            gap: 2em 4%;
      }
      .product_list_3_4.list_sp_2col > li:nth-child(-n+3) {
            width: 48%;
      }
      .product_list_3_4.list_sp_2col > li:nth-child(-n+2) {
            margin-right: auto;
      }
      .product_list_3_4.list_sp_2col > li:nth-child(n+4) {
            width: 48%;
            margin-right: auto;
      }
      .product_list_3_4.list_sp_2col > li:nth-child(7) {
            margin-right: auto;
      }
}
.product_list > li .text_box {
      padding-bottom: 6em;
      width: 90%;
      margin: auto;
}
.product_list > li .img, .product_list > li .img img {
      aspect-ratio: 420 / 256;
      transition: 0.4s;
}
.product_list > li .img {
      overflow: hidden;
}
.product_list > li .img img {
      transition: 0.3s;
      width: 100%;
      object-fit: cover;
      object-position: center;
}
.product_list_inner_title {
      font-size: 1.2em;
      position: relative;
      padding: 1em 0;
      letter-spacing: 1px;
}
.product_list_inner_title:before, .product_list_inner_title:after {
      content: "";
      position: absolute;
      left: 0;
      height: 1px;
      width: 100%;
      background: var(--col_main);
      bottom: 0;
}
.product_list_inner_title:after {
      background: var(--col_sub);
      width: 3em;
}
.ptoduct_cate {
      font-size: 0.9em;
      font-weight: bold;
      margin: 1.5em auto 0.5em auto;
      position: relative;
      padding: 0.5em 0.5em 0.5em 5em;
      border: solid 1px var(--ico_gray);
      box-sizing: border-box;
      letter-spacing: 1px;
}
.ptoduct_cate_noico {
      font-size: 0.9em;
      font-weight: bold;
      margin: 1.5em auto 0.5em auto;
      position: relative;
      padding: 0.5em;
      border: solid 1px var(--ico_gray);
      box-sizing: border-box;
      letter-spacing: 1px;
      text-align: center;
}
.ptoduct_cate:before {
      content: "";
      background: url("../images/car/product/ico_car_01.svg")no-repeat;
      aspect-ratio: 45/23;
      background-size: contain;
      width: 3.6em;
      position: absolute;
      top: 50%;
      left: 1em;
      transform: translate(-0%, -50%);
}
.ico_naro:before {
      background: url("../images/car/product/ico_car_02.svg")no-repeat;
      aspect-ratio: 45/21;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .product_list > li a:hover {
            background: var(--bg_gray_l);
      }
      .bg_gray_l .product_list > li a:hover {
            background: #fff;
      }
      .product_list > li a:hover .img img {
            transform: scale(1.1) !important;
      }
}
@media screen and (max-width: 680px) {
      .list_sp_2col .product_list_inner_title {
            font-size: 1.0em;
      }
      .product_list > li .text_box {
            padding-bottom: 0;
      }
}
/*ptoduct_btn*/
.ptoduct_btn {
      position: absolute;
      left: 50%;
      transform: translate(-50%, -0%);
      text-align: center;
      bottom: 1.2em;
      width: 100%;
}
.ptoduct_btn .ptoduct_btn_inner {
      display: inline-flex;
      border: solid 1px var(--col_main);
      color: var(--col_main);
      transition: 0.3s;
      box-sizing: border-box;
      font-size: 1em;
      background: #fff;
      position: relative;
      padding: 0.4em 2.5em;
}
.ptoduct_btn .ptoduct_btn_inner:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 14 /3;
      height: 0.4em;
      position: absolute;
      top: 50%;
      right: -1.2em;
      transform: translate(-0%, -50%);
      transition: 0.3s;
}
@media screen and (max-width: 680px) {
      .ptoduct_btn {
            margin-top: 1em;
            position: static;
            left: auto;
            transform: translate(0, -0%);
      }
}
/*ptoduct_btn_blank
-------------------------------------*/
.ptoduct_btn .ptoduct_btn_inner.ptoduct_btn_blank {
      position: relative;
      padding: 0.4em 3em 0.4em 2.5em;
}
.ptoduct_btn .ptoduct_btn_inner.ptoduct_btn_blank:before {
      content: "";
      background: url("../images/ico_blank.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 1 /1;
      height: 1em;
      position: absolute;
      top: 50%;
      right: 0.8em;
      transform: translate(-0%, -50%);
      transition: 0.3s;
}
/*aco_more もっとみる
-------------------------------------*/
.product_list_aco {
      display: none;
}
.aco_more > * {
      display: inline-block;
}
.aco_more span {
      cursor: pointer;
      position: relative;
      display: inline-flex;
      padding: 1em 3.5em 1em 2.5em;
}
.aco_more span:before, .aco_more span:after {
      content: "";
      position: absolute;
      background: #fff;
      transform: translate(-0%, -50%);
}
.aco_more span:before {
      width: 1.2em;
      height: 2px;
      right: 0.5em;
      top: 50%;
}
.aco_more span:after {
      height: 2px;
      width: 1.2em;
      right: -0.1em;
      top: calc(50% + (-0.1em));
      transition: all 0.15s ease;
      transform: translate(-50%, -0%) rotate(-90deg);
}
.aco_more .active span:after {
      transform: translate(-50%, -0%) rotate(-90deg) rotate(-90deg);
      opacity: 0 !important;
}
/*product_img_list
--------------------------------------------------------------------------*/
.product_img_list > li + li {
      margin-top: 6em;
}
.product_img_list > li .img {
      margin: 3em auto auto auto;
      text-align: center;
      width: 80%;
}
.product_img_list > li .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .product_img_list > li + li {
            margin-top: 4em;
      }
      .product_img_list > li .img {
            margin: 1.5em auto auto auto;
            width: 100%;
      }
}
/*cate_tab　タブ切り替え
---------------------------------------------------------------------------------------*/
.tab_2 {
      width: 50%;
      margin: auto;
}
.tab_3 {
      width: 80%;
      margin: auto;
}
.cate_tab_area .cate_tab {
      padding: 3em 0;
}
.cate_tab_inner {
      border-top: 1px solid var(--col_main);
      display: flex;
      justify-content: center;
      font-size: 1.9rem;
}
.tab_4 .cate_tab_inner {
      font-size: 1.9rem;
}
.cate_tab_inner > * {
      border-left: 1px solid var(--col_main);
      border-bottom: 1px solid var(--col_main);
      box-sizing: border-box;
      width: 100%;
      text-align: center;
      padding: 0.5em;
      cursor: pointer;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
      background: #fff;
}
.cate_tab_inner > *:last-child {
      border-right: 1px solid var(--col_main);
}
/*矢印*/
.cate_tab_inner > * {
      position: relative;
}
.cate_tab_inner > *:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 14 /3;
      height: 0.3em;
      position: absolute;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%) rotate(90deg);
      transition: 0.3s;
}
.cate_tab_inner > *:hover, .cate_tab_inner > *.is-active {
      background: var(--col_main);
      color: #fff;
}
.cate_tab_inner > *:hover:before, .cate_tab_inner > *.is-active:before {
      filter: brightness(0) invert(1);
}
@media screen and (max-width: 680px) {
      .product_foot_link li a:before {
            height: 0.2em;
      }
}
.cate_tab_inner > * + * {
      border-left: 1px solid var(--col_main);
}
.cate_tab_inner > *.is-active {
      background: var(--col_main);
      color: #fff;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .cate_tab_inner > li a:hover {
            background: var(--col_main);
            color: #fff;
      }
}
@media screen and (max-width: 680px) {
      .cate_tab_area .cate_tab {
            padding: 3em 0 0em 0;
      }
      .cate_tab_inner {
            flex-wrap: wrap;
            justify-content: flex-start;
            font-size: 1.4rem;
      }
      .tab_2 {
            width: 100%;
      }
      .tab_3 {
            width: auto;
      }
      .tab_3 .cate_tab_inner {
            font-size: 1.2rem;
      }
      .tab_4 .cate_tab_inner {
            font-size: 1.2rem;
      }
      .cate_tab_inner > * {
            width: 50%;
            border-left: 1px solid var(--col_main);
            border-right: 1px solid var(--col_main);
      }
}
/*}
/*cate_tab_list_fbox　タブ切り替え中身
---------------------------------------------------------------------------------------*/
.cate_tab_list_fbox {
      padding: 3em 0 0 0;
      max-width: 90%;
      margin: auto;
      display: flex;
      justify-content: space-between;
      gap: 0 5%;
      align-items: center;
      flex-direction: row-reverse;
}
.cate_tab_list_fbox .text_box {
      width: 50%;
}
.cate_tab_list_fbox .img {
      width: 50%;
}
@media screen and (max-width: 680px) {
      .cate_tab_list_fbox {
            display: block;
      }
      .cate_tab_list_fbox .text_box {
            width: auto;
      }
      .cate_tab_list_fbox .img {
            width: auto;
            margin-bottom: 1em;
      }
      .cate_tab_list_fbox .text_box .btn {
            text-align: center;
      }
}
/*cate_link_list アンカーリンク
---------------------------------------------------------------------------------------*/
.cate_link {
      position: relative;
}
.cate_link_list {
      width: 100%;
      position: absolute;
      top: 0;
      display: flex;
      justify-content: center;
      border: 1px solid var(--col_main);
      font-size: 1.9rem;
}
.cate_link_list > li {
      width: 100%;
}
.cate_link_list > li a {
      display: block;
      box-sizing: border-box;
      text-align: center;
      padding: 0.5em 0;
      cursor: pointer;
      transition: all 0.1s ease;
      background: #fff;
}
/*矢印*/
.cate_link_list > li a {
      position: relative;
}
.cate_link_list > li a:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 14 /3;
      height: 0.3em;
      position: absolute;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%) rotate(90deg);
      transition: 0.1s;
}
.cate_link_list > li a:hover, .cate_link_list > li a.current {
      background: var(--col_main);
      color: #fff;
}
.cate_link_list > li a:hover:before, .cate_link_list > li a.current:before {
      filter: brightness(0) invert(1);
}
.cate_link_list > li + li {
      border-left: 1px solid var(--col_main);
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .cate_link_list > li a:hover {
            background: var(--col_main);
            color: #fff;
      }
}
@media screen and (max-width: 680px) {
      .cate_link_list > li a {
            font-size: 1.2rem;
      }
      .cate_link_list > li a:before {
            content: none;
      }
}
/*アンカーリンク固定*/
.cate_link_list.is-fixed {
      position: fixed !important;
      top: 105px !important;
      z-index: 100 !important;
      background: inherit;
}
.cate_linkcont_list > li:first-child {
      padding-top: 6em;
}
.cate_linkcont_list > li + li {
      padding-top: 9em;
}
@media screen and (max-width: 960px) {
      .cate_link_list.is-fixed {
            top: 90px !important;
      }
}
@media screen and (max-width: 680px) {
      .cate_linkcont_list > li + li {
            padding-top: 4em;
      }
}
/*product_foot_link*/
@media screen and (max-width: 680px) {
      .product_foot_link li a:before {
            height: 0.2em;
      }
}
/*cara_mv
----------------------------------------------------------------------------------------------*/
.cara_mv {
      position: relative;
      padding: 0em 0 3em 0;
      z-index: 0;
}
/*.cara_mv:before {
    z-index: -1;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-0%, -50%);
    width: 70%;
    height: 100%;
    background: #fff;
}*/
.cara_mv:before {
      z-index: -1;
      content: "";
      position: absolute;
      bottom: 0;
      right: -50%;
      width: 130%;
      height: 50%;
      background: var(--bg_gray);
}
.cara_mv .img {
      position: absolute;
      top: 63%;
      right: 0;
      transform: translate(-0%, -50%);
      width: 60%;
}
.cara_mv .img img {
      width: 100%;
}
.cara_mv .midashi_01 {
      margin-bottom: 1em;
}
@media screen and (max-width: 1360px) {
      .cara_mv .img {
            width: 56%;
      }
}
@media screen and (max-width: 680px) {
      .cara_mv {
            padding: 2em 1em 1em 1em;
      }
      /*    .cara_mv:before {
        top: 0;
        transform: translate(-0%, -0%);
        width: 100%;
        height: 80%;
    }*/
      .cara_mv .midashi_01 > * .en {
            font-size: 1.6em !important;
      }
      .cara_mv .img {
            margin-top: 1em;
            position: static;
            top: auto;
            right: auto;
            transform: none;
            width: auto;
      }
}
/*sanrio_area
----------------------------------------------------------------------------------------------*/
.sanrio_area {
      /*background: #fff;*/
      /*padding: 5em 3em 3em 3em;*/
      /* border: solid 1px var(--ico_glay);
    box-sizing: border-box;*/
      padding: 5em 0 5em 0;
}
.sanrio_inner {
      margin-top: 3em;
      background: #fff;
      padding: 1em 3em 2em 3em;
      border: solid 1px var(--ico_gray);
      box-sizing: border-box;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .sanrio_area .product_list > li a:hover {
            background: var(--bg_gray_l);
      }
}
@media screen and (max-width: 680px) {
      .sanrio_inner {
            padding: 1em 0.8em 2em 0.8em;
      }
}
/*detail_mv
----------------------------------------------------------------------------------------------*/
.detail_mv {
      position: relative;
      display: flex;
      justify-content: space-between;
      gap: 0.5em;
      z-index: 0;
      align-items: center;
}
.detail_mv:before {
      content: "";
      background: var(--bg_gray_l);
      width: 130%;
      height: 90%;
      position: absolute;
      right: -50%;
      bottom: -1em;
      z-index: -1;
}
.detail_mv .text_box {
      width: 45%;
}
.detail_mv .img {
      width: 55%;
}
.detail_mv .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .detail_mv {
            display: block;
      }
      .detail_mv:before {
            width: calc(110% - 1em);
            height: 30%;
            right: calc(-2.5% - 1em);
            bottom: -1em;
      }
      .detail_mv .text_box {
            width: auto;
      }
      .detail_mv .img {
            margin: auto;
            margin-top: 2em;
            width: 90%;
            text-align: center;
      }
}
/*mv_dl
----------------------------------------*/
.mv_dl {
      margin: auto;
      padding: 2em 0;
      max-width: 1050px;
      border-top: solid 1px var(--col_main);
      border-bottom: solid 1px var(--col_main);
      display: flex;
      justify-content: center;
      gap: 8%;
      text-align: center;
      font-size: 2.0rem;
      letter-spacing: 1px;
}
.mv_dl dt {
      position: relative;
      padding-bottom: 2em;
}
.mv_dl dt:before {
      content: "";
      background: var(--col_sub);
      width: 3em;
      height: 1px;
      position: absolute;
      left: 50%;
      transform: translate(-50%, -0%);
      bottom: 1em;
}
.mv_dl dd {
      font-size: 0.9em;
}
@media screen and (max-width: 960px) {
      .mv_dl {
            font-size: 1.8rem;
      }
}
@media screen and (max-width: 680px) {
      .mv_dl {
            margin: 2em auto auto auto;
            padding: 0em 0;
            display: block;
            border-bottom: none;
      }
      .mv_dl dl {
            border-bottom: solid 1px var(--col_main);
            display: flex;
            font-size: 1.4rem;
            text-align: left;
            gap: 5%;
            align-items: center;
      }
      .mv_dl dt, .mv_dl dd {
            padding: 10px 0;
      }
      .mv_dl dt {
            padding: 1em 0;
            width: 30%;
      }
      .mv_dl dt:before {
            width: 1px;
            height: 90%;
            top: 50%;
            left: auto;
            right: 0;
            transform: translate(-0%, -50%);
            bottom: auto;
      }
      .mv_dl dd {
            width: 65%;
      }
}
/*product_reco_area
------------------------------------------------------------------------*/
.product_reco_area {
      padding: 4em 0;
}
.product_reco_section + .product_reco_section {
      padding-top: 10em;
}
@media screen and (max-width: 680px) {
      .product_reco_area {
            padding: 2em 0;
      }
      .product_reco_section + .product_reco_section {
            padding-top: 5em;
      }
}
/*seen_list
----------------------------------------------------*/
.seen_list {
      display: flex;
      gap: 3%;
}
.seen_list > li {
      width: calc(100% / 2);
}
.seen_list_title {
      background: var(--col_main);
      color: #fff;
      font-weight: bold;
      padding: 0.5em 1em;
      font-size: 1.8rem;
      letter-spacing: 3px;
}
.seen_list_title span {
      margin: auto 0.8em;
}
.seen_list > li .img {
      background: #fff;
      padding: 2em 0.8em;
      border: solid 1px var(--ico_glay);
}
.seen_list > li .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .seen_list {
            display: block;
      }
      .seen_list > li {
            width: 100%;
      }
      .seen_list > li + li {
            margin-top: 0.6em;
      }
}
/*seen_list_02
----------------------------------------------------*/
.seen_list_02 {
      display: flex;
      gap: 2%;
      flex-wrap: wrap;
}
.seen_list_02 > li {
      box-sizing: border-box;
      width: 49%;
      position: relative;
      background: #fff;
      border: solid 1px var(--ico_gray);
      margin-bottom: 1em;
}
.seen_list_02_inner {
      padding: 2em 2em 1em 2em;
}
.seen_list_title_02 {
      background: var(--col_main);
      color: #fff;
      font-weight: bold;
      padding: 0.5em 1em;
      font-size: 1.8rem;
      letter-spacing: 3px;
}
.seen_list_title_02 span {
      margin: auto 0.8em;
}
.seen_list_02 > li .img {
      margin: auto;
      border: solid 1px var(--ico_glay);
}
.seen_list_02 > li .img img {
      width: 100%;
}
.seen_list_02 > li .img.img_s {
      width: 70%;
}
@media screen and (max-width: 680px) {
      .seen_list_02 {
            display: block;
      }
      .seen_list_02 > li {
            width: 100%;
      }
      .seen_list_02 > li + li {
            margin-top: 0.6em;
      }
      .seen_list_02_inner {
            padding: 1.5em 1.5em 1em 1.5em;
      }
}
/*seen_list_02_btn_area*/
.seen_list_02_inner .text_box {
      /*      padding-bottom: 22em;*/
      margin-top: 1em;
      margin-bottom: 3em;
}
.seen_list_02_btn_area {
      /*width: 100%;*/
      /*     width: calc(95% - 2em);*/
      background: var(--bg_gray);
      padding: 0.8em 1em;
      /* position: absolute;
      bottom: 1em;
      left: 50%;
      transform: translate(-50%, -0%);
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10%;*/
}
.seen_list_02_btn_area .btn {
      width: 70%;
      text-align: center;
      margin-left: 2em;
}
.seen_list_02_btn_area .seen_list_02_qr {
      width: 20%;
}
.seen_list_02_btn_area .btn a {
      font-size: 1.8rem;
      width: 100%;
      justify-content: center;
}
/*@media screen and (max-width: 1370px) {
      .seen_list_02_inner .text_box {
            padding-bottom: 17em;
      }
}*/
@media screen and (max-width: 680px) {
      .seen_list_02_inner .text_box {
            padding-bottom: 2em;
      }
      .seen_list_02_btn_area {
            width: auto;
            position: static;
            bottom: 0;
            left: auto;
            transform: translate(-0%, -0%);
            display: block;
      }
}
/*table_line
----------------------------------------------------*/
.table_line_area {
      width: 600px;
      margin-top: 1.5em;
}
.table_line {
      font-size: 1.5rem;
      width: 100%;
      table-layout: fixed;
}
.table_line th, .table_line td {
      padding: 0.3em 1em 0.3em 2em;
}
.table_line th {
      width: 40%;
      border-bottom: 1px solid var(--col_main);
      border-top: 1px solid var(--col_main);
}
.table_line td {
      width: 60%;
      border-bottom: 1px solid var(--ico_gray);
      border-top: 1px solid var(--ico_gray);
}
@media screen and (max-width: 700px) {
      .table_line_area {
            width: auto;
      }
      .table_line {
            font-size: 1.4rem;
      }
      .table_line th, .table_line td {
            padding: 0.3em 0.5em 0.3em 1em;
      }
}
/*sp*/
@media screen and (max-width: 680px) {
      .table_line_sp th, .table_line_sp td {
            display: block;
            width: auto;
      }
      .table_line_sp th {
            border-bottom: none;
      }
      .table_line_sp td {}
}
/*tabi 用*/
.tabi_table_line {
      font-size: 1.1em;
}
.tabi_table_line th, .tabi_table_line td {
      padding: 0.3em 0.5em 0.3em 0.5em;
}
.tabi_table_line th {
      width: 30%;
}
.tabi_table_line td {
      width: 70%;
}
@media screen and (max-width: 680px) {
      .tabi_table_line {
            font-size: 1em;
      }
      .tabi_table_line th {
            width: 100%;
      }
      .tabi_table_line td {
            width: 100%
      }
}
/*safe_list
----------------------------------------------------*/
.safe_list {
      display: flex;
      justify-content: center;
      gap: 1%;
      padding: 2em 0;
}
.safe_list_title {
      letter-spacing: 1px;
      line-height: 1.2;
      height: 3.5em;
      font-size: 1.6rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: var(--col_main);
      color: #fff;
      font-weight: bold;
      text-align: center;
}
.safe_list > li {
      width: 19%;
}
.safe_list li .img img {
      width: 100%;
}
@media screen and (max-width: 1360px) {
      .safe_list {
            flex-wrap: wrap;
            gap: 0.5em 1%;
      }
      .safe_list > li {
            width: 32%;
      }
}
@media screen and (max-width: 960px) {
      .safe_list_title {
            font-size: 1.3rem;
      }
}
@media screen and (max-width: 680px) {
      .safe_list {
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.2em 1%;
      }
      .safe_list_title {
            font-size: 1.1rem;
      }
      .safe_list li {
            width: 48%;
      }
}
/*product_spec_area
-------------------------------------------------------------------------------------------------------------*/
.product_spec_area {
      margin-top: 5em;
}
/*product_spec_section
------------------------------------------------------*/
.product_spec_section {
      padding: 6em 0 3em 0;
}
.product_spec_section:last-child {
      padding: 6em 0 0 0;
}
@media screen and (max-width: 680px) {
      /*      .product_spec_section {
            padding: 3em 0 1em 0;
      }*/
      .product_spec_section {
            padding: 4em 0 1em 0;
      }
      .product_spec_section:last-child {
            padding: 4em 0 0 0;
      }
      .product_spec_section .cate_tab_inner > *:before {
            content: none;
      }
}
/*spec_list
------------------------------------------------------*/
.spec_list {
      border-top: solid 1px var(--col_main);
      border-bottom: solid 1px var(--col_main);
      display: flex;
      justify-content: center;
      gap: 5%;
      font-size: 2.0rem;
}
.spec_list > li a {
      display: inline-block;
      padding: 1em 2em 1em 2em;
      position: relative;
}
.spec_list > li a:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      position: absolute;
      background-size: contain;
      aspect-ratio: 14 /3.8182;
      height: 0.2em;
      top: 50%;
      right: 0;
      transform: translate(-0%, -50%) rotate(90deg);
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .spec_list > li a:after {
            content: "";
            position: absolute;
            background: var(--col_sub);
            width: 0;
            height: 1px;
            left: 0;
            bottom: 0.7em;
      }
      .spec_list > li a:hover:after {
            animation-duration: 0.3s;
            animation-name: page_title_line_100;
            animation-direction: alternate;
            animation-fill-mode: forwards;
      }
}
@media screen and (max-width: 680px) {
      .spec_list {
            font-size: 1.4rem;
      }
      .spec_list > li a {
            padding: 1em 1em 1em 1em;
      }
}
/*spec_slider
----------------------------------------------------------------------------*/
.spec_slider_area {
      overflow: hidden;
      padding-bottom: 5em;
}
.spec_slider {
      width: 528px;
      margin: auto;
}
.spec_slider .slick-list {
      overflow: visible;
}
.spec_slider li {
      opacity: 0.6;
      margin: 0 30px;
      transition: all 0.15s ease;
}
.spec_slider li img {
      width: 100%;
      transition: all 0.15s ease;
}
@media screen and (max-width: 960px) {
      .spec_slider_area {
            padding-bottom: 5em;
      }
      .spec_slider {
            width: 50vw;
      }
      .spec_slider li {
            margin: 0 3vw;
      }
}
@media screen and (max-width: 680px) {
      .spec_slider_area {
            overflow: visible;
            padding-bottom: 0;
      }
      .spec_slider {
            width: 70vw;
      }
      .spec_slider .slick-list {
            overflow: hidden;
      }
}
/*.slick-current*/
.spec_slider li.slick-current {
      opacity: 1;
}
.spec_slider .slick-current img {
      transform: scale(1.1);
}
/*dots*/
.spec_slider .slick-dots {
      bottom: -57px;
}
.spec_slider .slick-dots li {
      width: 10px;
      height: 10px;
      margin: 0 8px !important;
      border-radius: 0;
      opacity: 1;
}
.spec_slider .slick-dots li button:before {
      font-size: 0;
      width: 10px;
      height: 10px;
      background: var(--ico_gray);
      opacity: 1;
}
.spec_slider .slick-dots li.slick-active button:before {
      background: var(--col_sub) !important;
}
/*矢印*/
.spec_slider .slick-prev:before, .spec_slider .slick-next:before {
      color: transparent;
      background: url("../images/btn_arrow.svg")no-repeat;
      filter: brightness(0) invert(1);
      background-size: contain;
      aspect-ratio: 14 /3;
      height: 0.2em !important;
      left: 50%;
      top: 50% !important;
      position: absolute;
      transform: translate(-50%, -50%);
}
.spec_slider .slick-prev:before {
      transform: translate(-50%, -50%) scale(-1, 1);
}
.spec_slider .slick-prev, .spec_slider .slick-next {
      background: #b2000f;
      z-index: 1;
      opacity: 0.7;
      width: 50px;
      height: auto;
      aspect-ratio: 1;
}
.spec_slider .slick-prev:hover, .spec_slider .slick-prev:focus, .spec_slider .slick-next:hover, .spec_slider .slick-next:focus {
      color: inherit;
      outline: inherit;
      background: #b2000f;
}
.spec_slider .slick-prev {
      left: -6rem;
}
.spec_slider .slick-next {
      right: -6rem;
}
@media screen and (max-width: 680px) {
      .spec_slider .slick-prev {
            left: -5rem;
      }
      .spec_slider .slick-next {
            right: -5rem;
      }
}
@media screen and (max-width: 480px) {
      .spec_slider .slick-prev, .spec_slider .slick-next {
            width: 30px;
      }
}
/*product_dtab_list_inner
-------------------------------------------------------------------*/
.product_dtab_list_inner {
      padding: 2em 0 4em 0;
}
@media screen and (max-width: 680px) {
      .product_dtab_list_inner {
            padding: 1em 0 2em 0;
      }
}
/*soubi_section
-------------------------------------------------------------------*/
.soubi_section {
      padding: 1em 0;
}
.soubi_section .img {
      padding: 3em 0 0 0;
}
.soubi_section .img img {
      -webkit-backface-visibility: hidden;
      image-rendering: -webkit-optimize-contrast;
      -webkit-transform: translateZ(0);
}
/*product_d_price_table
-------------------------------------------------------------------*/
.product_d_price_table table {
      background: #fff;
      table-layout: fixed;
      width: 100%;
      font-size: 1.9rem
}
.product_d_price_table th {
      text-align: center;
}
.product_d_price_table th, .product_d_price_table td {
      padding: 1em;
      border-bottom: 1px solid var(--ico_gray);
      border-right: 1px solid var(--ico_gray);
}
.product_d_price_table tr:first-child th {
      border-top: 1px solid var(--ico_gray);
}
.product_d_price_table th:last-child, .product_d_price_table td:last-child {
      border-right: none;
}
.product_d_price_table th {
      background: var(--bg_gray);
      text-align: center !important;
}
.table_txt {
      font-size: 1.8rem;
}
.table_txt span {
      font-size: 1.2em;
      display: block;
}
.product_d_price_table th:nth-child(1) {
      width: 50%;
}
.product_d_price_table th:nth-child(2) {
      width: 25%;
}
.product_d_price_table th:nth-child(3) {
      width: 25%;
      text-align: right;
}
@media screen and (max-width: 960px) {
      .table_txt {
            font-size: 1.6rem;
      }
}
@media screen and (max-width: 680px) {
      .product_d_price_table table {
            font-size: 1.1rem
      }
      .product_d_price_table th, .product_d_price_table td {
            padding: 1em 0.5em;
      }
      .table_txt {
            font-size: 1.0rem;
      }
}
/*specifications_img
-----------------------------------------------------------------*/
.specifications_img {
      width: 1000px;
      margin: auto;
}
.specifications_img img {
      width: 100%;
}
@media screen and (max-width: 1100px) {
      .specifications_img {
            width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .specifications_img {
            width: 100%;
      }
}
/*safe_list
----------------------------------------------------*/
.equipment_list {
      display: flex;
      gap: 1em 1.5%;
      flex-wrap: wrap;
}
.equipment_list > li {
      width: 18.5%;
      font-size: 1.4rem;
}
.equipment_list_title {
      /*   letter-spacing: 1px;
    line-height: 1.3;
    height: 3.5em;
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--col_main);
    color: #fff;
    font-weight: bold;
    text-align: center;*/
      font-size: 1.1em;
      font-weight: bold;
      line-height: 1.3;
      margin: 0.2em auto 0.5em auto;
}
.equipment_list li .img img {
      width: 100%;
}
@media screen and (max-width: 960px) {
      .equipment_list > li {
            width: 32%;
      }
}
@media screen and (max-width: 680px) {
      .equipment_list {
            display: block;
      }
      .equipment_list_title {
            text-align: left;
            height: auto;
            /* padding: 0.5em;*/
            margin-bottom: 0.5em;
      }
      .equipment_list > li {
            font-size: 1.2rem;
      }
      .equipment_list li {
            width: auto;
            margin-bottom: 1em;
      }
}
/*equipment_list_inner*/
/*@media screen and (min-width: 681px), print {
    .equipment_list_inner {
        display: flex;
        flex-direction: column;
    }
    .equipment_list_inner .sp_text_box {
        display: contents;
    }
    .equipment_list_inner .equipment_list_title {
        order: 1;
    }
    .equipment_list_inner .img {
        order: 2;
        margin-bottom: 0.5em;
    }
    .equipment_list_inner .text_box {
        order: 3;
    }
}*/
@media screen and (max-width: 680px) {
      .equipment_list_inner {
            display: flex;
            justify-content: space-between;
            gap: 3%;
      }
      .equipment_list_inner .img {
            width: 30%;
      }
      .equipment_list_inner .sp_text_box {
            width: 70%;
            /*     font-size: 1.0rem;*/
      }
      /*   .equipment_list_inner .text_box .fz_s {
        font-size: 0.9rem;
    }*/
}
/*4カラム*/
.interior_list {
      display: flex;
      flex-wrap: wrap;
      gap: 1em 1%;
}
.interior_list > li {
      width: 24%;
}
.interior_list_title {
      /*    letter-spacing: 1px;
    line-height: 1.3;
    height: 3.5em;
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--col_main);
    color: #fff;
    font-weight: bold;
    text-align: center;*/
      line-height: 1.3;
      font-weight: bold;
      margin-top: 0.5em;
}
.interior_list li .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .interior_list {
            justify-content: flex-start !important;
            gap: 0.5em 2%;
      }
      .interior_list > li {
            width: 49%;
      }
}
/*product_d_price_table_02
-------------------------------------------------------------------*/
.product_d_price_table_02 table {
      background: #fff;
      width: 100%;
      font-size: 1.9rem
}
.product_d_price_table_02 th {
      text-align: center;
      font-size: 1.1em;
}
.product_d_price_table_02 td:last-child {
      font-size: 1.1em;
}
.product_d_price_table_02 th, .product_d_price_table_02 td {
      padding: 1em;
      border-bottom: 1px solid var(--ico_gray);
      border-right: 1px solid var(--ico_gray);
}
.product_d_price_table_02 tr:first-child th {
      border-top: 1px solid var(--ico_gray);
}
.product_d_price_table_02 th:last-child, .product_d_price_table_02 td:last-child {
      border-right: none;
}
.product_d_price_table_02 th {
      background: var(--bg_gray);
      text-align: center !important;
}
.product_d_price_table_02 tr:nth-child(2) td:nth-child(1) {
      width: 57%;
}
.product_d_price_table_02 tr:nth-child(2) td:nth-child(2) {
      width: 23%;
}
.product_d_price_table_02 tr:nth-child(2) td:nth-child(3) {
      width: 20%;
}
@media screen and (max-width: 680px) {
      .product_d_price_table_02 table {
            font-size: 1.1rem
      }
      .product_d_price_table_02 th {
            font-size: 1.0em;
      }
      .product_d_price_table_02 th, .product_d_price_table_02 td {
            padding: 1em 0.4em;
      }
      .product_d_price_table_02 td:last-child {
            font-size: 1.2em;
      }
      .product_d_price_table_02 tr:nth-child(2) td:nth-child(1) {
            width: 55%;
      }
      .product_d_price_table_02 tr:nth-child(2) td:nth-child(2) {
            width: 22%;
      }
      .product_d_price_table_02 tr:nth-child(2) td:nth-child(3) {
            width: 23%;
      }
}
/*product_d_price_flex_box*/
.product_d_price_flex_box {
      display: flex;
      align-items: center;
      gap: 5%;
      /*  font-size: 1.5rem;*/
      font-size: 1.6rem;
}
.product_d_price_flex_box_title {
      font-size: 1.1em;
      margin-bottom: 0.5em;
}
.product_d_price_flex_box .img {
      width: 35%;
}
.product_d_price_flex_box .img img {
      width: 100%;
}
.product_d_price_flex_box .pc_text_box {
      width: 65%;
}
@media screen and (max-width: 680px) {
      .product_d_price_flex_box {
            flex-wrap: wrap;
            font-size: 1.1rem;
      }
      .product_d_price_flex_box .pc_text_box {
            display: contents;
      }
      .product_d_price_flex_box_title {
            display: flex;
            justify-content: center;
            flex-direction: column;
            margin-bottom: inherit;
            width: 55%;
      }
      .product_d_price_flex_box .img {
            width: 40%;
      }
      .product_d_price_flex_box .text_box {
            width: 100%;
            margin-top: 0.5em;
      }
}
/*body_img
-----------------------------------------------------------------------------------------*/
.body_img {
      max-width: 1010px;
      margin: auto;
}
.body_img .img {
      border: solid 1px var(--ico_gray);
      padding: 1.5em;
}
.body_img .img img {
      width: 100%;
}
/*movie_area
-----------------------------------------------------------------------------------------*/
.movie_area {
      max-width: 800px;
      margin: auto;
}
.movie_box a {
      position: relative;
      display: block;
      width: 100%;
      z-index: 0;
}
.movie_box a:before, .movie_box a:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
}
.movie_box a:before {
      background: var(--col_main);
      opacity: 0.7;
      mix-blend-mode: multiply;
      width: 100%;
      height: 100%;
      transition: 0.5s;
      z-index: 1;
}
.movie_box a:after {
      background: url("../images/ico_play.svg") no-repeat;
      aspect-ratio: 1;
      height: 5em;
      z-index: 2;
}
.movie_box img {
      width: 100%;
      aspect-ratio: 16/9;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .movie_box .img:hover:before {
            opacity: 0.3;
      }
}
/*mouvie*/
.youtube-player-container {
      display: none;
}
.html5-player-container {
      display: none;
}
#video-popup {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.8);
      z-index: 9999;
}
#video-popup .popup_w {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 80%;
      max-width: 1000px;
      background-color: #000;
      border-radius: 5px;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}
#close-popup {
      position: absolute;
      top: -35px;
      right: -35px;
      width: 30px;
      height: 30px;
      background: none;
      border: none;
      color: white;
      font-size: 24px;
      cursor: pointer;
      z-index: 10000;
}
#youtube-player-container, #html5-player-container {
      position: relative;
      width: 100%;
      padding-top: 56.25%; /* 16:9 アスペクト比 */
}
#youtube-player {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
}
#html5-player {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #000;
}
/*caravan_intro_list
--------------------------------------------------------------------------------------------------------*/
.caravan_intro_list .strengths_about_list_inner {
      padding: 0;
}
.caravan_intro_list > li + li {
      margin-top: 8em;
}
.caravan_intro_list .strengths_about_list_inner img {
      aspect-ratio: 760/554;
      object-fit: cover;
}
@media screen and (max-width: 680px) {
      .caravan_intro_list > li + li {
            margin-top: 3em;
      }
}
/*flow_list
.--------------------------------------------------------------------------------------------------------*/
.flow_list > li + li {
      margin-top: 3em;
}
.flow_list_inner {
      display: flex;
      gap: 0 5%;
}
.flow_list_inner .text_box {
      width: 30%;
}
.flow_list_inner .img {
      width: 70%;
}
@media screen and (max-width: 680px) {
      .flow_list > li + li {
            margin-top: 2em;
      }
      .flow_list_inner {
            display: block;
      }
      .flow_list_inner .text_box {
            width: auto;
            margin-bottom: 0.5em;
      }
      .flow_list_inner .img {
            width: auto;
      }
}
/*モーダルギャラリー
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.gallery {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 4%;
      margin-bottom: 20px;
      max-width: 60%;
      margin: 2em auto;
}
.thumbnail {
      width: 48%;
      object-fit: cover;
      cursor: pointer;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
      border: solid 1px var(--ico_gray);
      box-sizing: border-box;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .thumbnail:hover {
            box-sizing: border-box;
            transform: scale(1.02, 1.02) !important;
      }
}
/* モーダル関連のスタイル */
.modal-overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.85);
      z-index: 9999;
      justify-content: center;
      align-items: center;
      opacity: 0;
      transition: opacity 0.3s ease;
}
.modal-overlay.show {
      opacity: 1;
}
.modal-content {
      position: relative;
      max-width: 90%;
      max-height: 72%;
      transform: scale(0.9);
      opacity: 0;
      transition: all 0.4s ease;
}
.modal-content.show {
      transform: scale(1);
      opacity: 1;
}
.modal-image {
      display: block;
      max-width: 100%;
      max-height: 80vh;
      border-radius: 5px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
.modal-close {
      position: absolute;
      top: -40px;
      right: 0;
      color: white;
      font-size: 30px;
      cursor: pointer;
      background: none;
      border: none;
}
.modal-caption {
      color: white;
      text-align: center;
      margin-top: 10px;
      font-size: 16px;
}
.modal-nav {
      position: absolute;
      top: 60%;
      width: 100%;
      display: flex;
      justify-content: space-between;
      transform: translateY(-50%);
}
.modal-prev, .modal-next {
      background: rgba(255, 255, 255, 0.2);
      color: white;
      border: none;
      border-radius: 50%;
      width: 40px;
      height: 40px;
      font-size: 20px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 20px;
}
.modal-prev:hover, .modal-next:hover {
      background: rgba(255, 255, 255, 0.4);
}
.modal-open #footer {
      position: relative;
      z-index: -1;
}
/*exterior_flex
----------------------------------------------------------------------------------------*/
.exterior_flex .fbox {
      gap: 10px;
      flex-wrap: nowrap;
}
.exterior_flex .fbox > li {
      width: calc(100% - 5px);
}
@media screen and (max-width: 680px) {
      /*    .exterior_flex .fbox > * + * {
        margin-top: 10px;
    }*/
      .exterior_flex .fbox > li {
            width: 100%;
      }
}
/*vr360
----------------------------------------------------------------------------------------*/
#panorama {
      width: 90%;
      aspect-ratio: 1612/806;
      overflow: hidden;
      margin: auto;
      background: #f0f0f0;
      position: relative;
}
#panorama:before {
      content: "";
      background: url("../images/car/product/ico_360.png") no-repeat;
      aspect-ratio: 362/217;
      background-size: contain;
      width: 4em;
      position: absolute;
      top: 1em;
      right: 1em;
      z-index: 100;
}
.vr360_area .controls_list {
      display: flex;
      justify-content: center;
      gap: 3%;
      padding-top: 2em;
}
.vr360_area .controls_list > li * {
      display: inline-block;
      padding: 0.5em 1em;
      background: var(--col_main);
      color: #fff;
      text-align: center;
      border: solid 1px var(--col_main);
      box-sizing: border-box;
      transition: all 0.15s ease;
      cursor: pointer;
}
@media screen and (min-width: 961px) and (hover: hover), print {
      .vr360_area .controls_list > li *:hover {
            background: #fff;
            color: var(--col_main);
      }
}
@media screen and (max-width: 680px) {
      .vr360_area .controls_list > li * {
            font-size: 1.3rem;
      }
}
/*高規格救急車 架装
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.custom_mv_flex {
      position: relative;
      display: flex;
      justify-content: space-between;
      z-index: 0;
      flex-direction: row-reverse;
      gap: 5%;
}
/*.custom_mv_flex:before, .custom_mv_flex:after {
    content: "";
    position: absolute;
    background: var(--bg_gray);
    z-index: -1;
}
.custom_mv_flex:before {
    width: 10em;
    aspect-ratio: 189/122;
    top: 0;
    right: 35%;
}
.custom_mv_flex:after {
    width: 180%;
    height: 7em;
    bottom: 1.5em;
    right: -100%;
}*/
.custom_mv_flex .text_box {
      width: 45%;
}
.text_box_lead {
      font-size: 1.9rem;
      line-height: 2.0;
      letter-spacing: 2px;
}
.custom_mv_flex .img {
      position: relative;
      width: 55%;
}
.custom_mv_flex .img img {
      width: 100%;
}
/*.custom_mv_flex .img:before, .custom_mv_flex .img:after {
    content: "";
    position: absolute;
    height: 6em;
    top: 9em;
    left: -2.6em;
}
.custom_mv_flex .img:before {
    background: #b3000f;
    aspect-ratio: 90 / 105;
}
.custom_mv_flex .img:after {
    background: var(--col_red);
    aspect-ratio: 45 / 105;
}*/
@media screen and (max-width: 960px) {
      .custom_mv_flex .img:before, .custom_mv_flex .img:after {
            height: 4em;
            top: 9em;
            left: -2.6em;
      }
}
@media screen and (max-width: 680px) {
      .custom_mv_flex {
            display: block;
      }
      .custom_mv_flex .text_box {
            width: auto;
      }
      .custom_mv_flex:before {
            right: auto;
            top: 0.5em;
            left: 0;
      }
      .custom_mv_flex:after {
            bottom: -1.5em;
      }
      .text_box_lead {
            font-size: 1.8rem;
            line-height: 2.0;
            letter-spacing: 2px;
      }
      .custom_mv_flex .img {
            /*width: 90%;
        margin: auto 0 2em auto;*/
            width: 100%;
            margin: auto auto 1em auto;
      }
      .custom_mv_flex .img:before, .custom_mv_flex .img:after {
            height: 3em;
            top: auto;
            bottom: 1em;
            left: -2.2em;
      }
      .text_box_lead {
            font-size: 1.7rem;
      }
}
/*strengths_list
------------------------------------------------------------------------------------------------------------*/
.strengths_list {
      display: flex;
      gap: 4%;
      padding-top: 3em;
}
@media screen and (max-width: 680px) {
      .strengths_list {
            display: block;
      }
}
/*strengths_list*/
.strengths_list > li {
      width: 100%;
      border: solid 1px var(--ico_gray);
      padding: 2.5em 1em;
      position: relative;
      background: #fff;
      box-sizing: border-box;
}
.strengths_list > li {
      position: relative;
      list-style-type: none;
      list-style-position: inside;
      counter-increment: cnt;
}
@media screen and (max-width: 680px) {
      .strengths_list > li {
            width: 95%;
            margin: auto 0 auto auto;
            padding: 1.5em 1em;
      }
      .strengths_list > li + li {
            margin-top: 2em;
      }
}
.strengths_list > li:before, .strengths_list > li:after {
      position: absolute;
}
.strengths_list > li:after {
      top: -0.5em;
      left: -0em;
      content: counter(cnt);
      font-size: 3rem;
      font-weight: 100;
      font-family: "Outfit", sans-serif;
}
.strengths_list > li:before {
      top: -0.8em;
      left: -1em;
      content: "";
      background: url("../images/bg_strengths.svg") no-repeat;
      background-size: contain;
      width: 3em;
      aspect-ratio: 1 / 1;
}
@media screen and (max-width: 680px) {
      .strengths_list > li:after {
            top: -0.4em;
            left: 0.2em;
            font-size: 1.7em;
      }
      .strengths_list > li:before {
            top: -0.8em;
            left: -0.8em;
            width: 3.0em;
      }
}
/*strengths_title*/
.strengths_title {
      margin-bottom: 0.8em;
      font-size: 3.0rem;
      text-align: center;
      font-weight: 200;
      letter-spacing: 2px;
}
.strengths_title:first-letter {
      color: var(--col_sub);
}
/*custom_exterior_area
----------------------------------------------------------------------------*/
/*custom_exterior_list
----------------------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .custom_exterior_list {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1em 3%;
      }
      .custom_exterior_list > li, .custom_exterior_list > li .img {
            box-sizing: border-box;
      }
      /*3*/
      .custom_exterior_list > li {
            width: calc((100% / 3) - (3% / 1.5));
      }
      /*2*/
      .custom_exterior_list.list_2 > li {
            width: calc((100% / 2) - (3% / 1.5));
      }
      /*2_3 */
      .custom_exterior_list.list_2_3 {
            gap: 1em 0;
      }
      .custom_exterior_list.list_2_3 > li {
            width: auto;
      }
      .custom_exterior_list.list_2_3 > li:nth-child(1), .custom_exterior_list.list_2_3 > li:nth-child(2) {
            width: 40%;
            margin-bottom: 2em;
      }
      .custom_exterior_list.list_2_3 > li:nth-child(1) {
            margin-right: 1%;
            margin-left: 9%;
      }
      .custom_exterior_list.list_2_3 > li:nth-child(2) {
            margin-left: 1%;
            margin-right: 9%;
      }
      .custom_exterior_list.list_2_3 > li:nth-child(n+3) {
            width: 32%;
            margin-left: 1%;
            margin-right: auto;
      }
      .custom_exterior_list.list_2_3 > li:nth-child(3) {
            margin-left: auto;
      }
}
@media screen and (max-width: 680px) {
      .custom_exterior_list > li + li {
            margin-top: 1em;
      }
}
.custom_exterior_list > li .img {
      background: #fff;
      padding: 0.5em;
      border: solid 1px var(--ico_gray);
}
.custom_exterior_list > li .img img {
      width: 100%;
}
/*custom_exterior_text*/
.custom_exterior_text {
      font-weight: bold;
      margin-top: 0.5em;
      margin-bottom: 0.5em;
}
.custom_exterior_list > li .text_box li {
      font-size: 0.9em;
}
@media screen and (max-width: 680px) {
      .custom_exterior_text {
            margin-top: 0.2em;
      }
}
/*custom_exterior_list_02
----------------------------------------------------------------------------*/
.custom_exterior_list_02 {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 2%;
}
.custom_exterior_list_02 > li, .custom_exterior_list_02 > li .img {
      box-sizing: border-box;
}
.custom_exterior_list_02 > li {
      width: 32%;
}
.custom_exterior_list_02 > li .img {
      background: #fff;
      padding: 0.5em;
      border: solid 1px var(--ico_gray);
}
.custom_exterior_list_02 > li .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .custom_exterior_list_02 {
            display: block;
      }
      .custom_exterior_list_02 > li {
            width: auto;
      }
      .custom_exterior_list_02 > li + li {
            margin-top: 1em;
      }
}
/*camp_cace_rarea
----------------------------------------------------------------------------------*/
.camp_cace_rarea {
      display: flex;
      justify-content: space-between;
      gap: 10%;
}
.camp_cace_rarea .text_box {
      width: 55%;
}
.camp_cace_rarea .img {
      width: 45%;
}
.camp_cace_rarea .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .camp_cace_rarea {
            display: block;
      }
      .camp_cace_rarea .text_box {
            width: auto;
      }
      .camp_cace_rarea .img {
            width: 75%;
            margin: 3em auto auto auto;
      }
}
/*camp_case_img_area
------------------------------------------------------------*/
.camp_case_img_area {
      padding-top: 3em;
}
.camp_case_img_area .img_flex {
      display: flex;
      flex-wrap: wrap;
}
.camp_case_img_area .img_flex > * img {
      width: 100%;
}
.camp_case_img_area .img_flex > *:nth-child(1) {
      width: 100%;
      margin-bottom: 1%;
}
.camp_case_img_area .img_flex > *:nth-child(n+2) {
      width: 49.5%;
      margin-left: 1%;
      margin-right: auto;
}
.camp_case_img_area .img_flex > *:nth-child(2) {
      margin-left: auto;
}
@media screen and (max-width: 960px) {
      .camp_case_img_area {
            padding-top: 2em;
      }
}
@media screen and (max-width: 680px) {
      .camp_case_img_area {
            padding-top: 0em;
      }
      .camp_case_img_area .img_flex {
            display: block;
      }
      .camp_case_img_area .img_flex > *:nth-child(n+2) {
            width: 100%;
            margin-left: auto;
            margin-bottom: 1%;
      }
}
/*product_foot_link
---------------------------------------------------------------------*/
.product_foot_link {
      display: flex;
      justify-content: center;
}
.product_foot_link li {
      width: 25%;
      border-left: 1px solid var(--col_main);
      border-top: 1px solid var(--col_main);
      border-bottom: 1px solid var(--col_main);
      box-sizing: border-box;
      font-size: 1.6rem;
      overflow: hidden;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
}
.product_foot_link li a {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      width: 100%;
      height: 100%;
      text-align: center;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
      background: #fff;
      padding: 0.8em 0;
      line-height: 1.3;
      position: relative;
}
@media screen and (min-width: 961px), print {
      .product_foot_link li a:hover {
            background: var(--col_main);
            color: #fff;
      }
}
.product_foot_link li:last-child {
      border-right: 1px solid var(--col_main);
}
@media screen and (max-width: 680px) {
      .product_foot_link {
            flex-wrap: wrap;
            justify-content: flex-start;
      }
      .product_foot_link li {
            width: 50%;
            border-left: 1px solid var(--col_main);
            border-top: none;
            border-bottom: 1px solid var(--col_main);
      }
      .product_foot_link li:nth-child(1), .product_foot_link li:nth-child(2) {
            border-top: 1px solid var(--col_main);
      }
      .product_foot_link li:nth-child(2n) {
            border-right: 1px solid var(--col_main);
      }
}
/*矢印*/
.product_foot_link li a {
      position: relative;
}
.product_foot_link li a:before {
      content: "";
      background: url("../images/btn_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 14 /3;
      height: 0.4em;
      position: absolute;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%);
      transition: 0.3s;
}
@media screen and (min-width: 961px), print {
      .product_foot_link li a:hover:before {
            filter: brightness(0) invert(1);
      }
}
@media screen and (max-width: 680px) {
      .product_foot_link li a:before {
            height: 0.2em;
      }
}
/*challenge
--------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.challenge_list {
      display: flex;
      gap: 4.5em 5%;
      flex-wrap: wrap;
}
.challenge_list > li {
      width: calc((100% / 3) - 3.4%);
}
.challenge_list > li .img, .challenge_list > li .img img {}
.challenge_list > li .img img {
      width: 100%;
      height: 15em;
      aspect-ratio: 355/249;
      object-fit: cover;
      object-position: center;
}
.challenge_list > li .text_box {
      margin-top: 1em;
}
.challenge_list > li .date {
      font-size: 0.9em;
      margin-bottom: 1em;
      background: var(--bg_gray);
      display: inline-block;
      padding: 0.1em 1em;
}
.challenge_list_inner_title {
      border-left: 1px solid var(--col_sub);
      padding: 0 0 0 0.5em;
      margin-bottom: 0.5em;
      font-size: 1.2em;
      font-weight: 700;
      line-height: 1.5;
}
@media screen and (max-width: 960px) {
      .challenge_list > li .img img {
            width: 100%;
            height: 12em;
      }
}
/*@media screen and (max-width: 680px) {
	
	.challenge_list {
      display: flex;
      gap: 3em 5%;
	}
	.challenge_list > li {
      width: calc((100% / 2) - 2.5%);
}
	.challenge_list > li .img img {
      height: 9em;
	}

}*/
@media screen and (max-width: 680px) {
      .challenge_list {
            display: block;
      }
      .challenge_list > li {
            width: auto;
            margin-bottom: 4em;
      }
      .challenge_list > li .img img {
            height: 16em;
      }
}
/*challenge cms____
--------------------------------------------------------------------------------------------------------*/
.challenge_cms_area .date {
      background: var(--bg_gray);
      display: inline-block;
      padding: 0.1em 1em;
}
.challenge_cms_area h2 {
      position: relative;
      padding-bottom: 0.5em;
      margin-bottom: 1.2em;
      font-size: 1.5em;
      font-weight: normal;
      letter-spacing: 1px;
}
.challenge_cms_area h2:before, .challenge_cms_area h2:after {
      content: "";
      width: 100%;
      background: var(--col_gray_l);
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.challenge_cms_area h2:after {
      width: 30% !important;
      background: var(--col_sub) !important;
}
@media screen and (max-width: 680px) {
      .challenge_cms_area h2 {
            font-size: 1.1em;
      }
}
/*challenge_main
------------------------------------------------------------*/
.challenge_main {
      display: flex;
      gap: 0 5%;
      margin-bottom: 9em;
}
.challenge_main .img {
      width: 30%;
}
.challenge_main .img.no_text {
      width: auto;
      max-width: 100%;
}
.challenge_main .text_box {
      width: 70%;
      font-size: 1.21em;
      line-height: 1.8;
      letter-spacing: 1px;
}
.challenge_main .text_box.no_img {
      width: auto !important;
}
.challenge_main .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .challenge_main {
            display: block;
            margin-bottom: 4em;
      }
      .challenge_main .img {
            width: auto;
      }
      .challenge_main .text_box {
            width: auto;
      }
      .challenge_main .img + .text_box {
            margin-top: 1.0em;
      }
}
/*challenge_cms_cont
------------------------------------------------------------*/
.challenge_cms_cont {
      margin-bottom: 9em;
}
.challenge_cms_cont:last-child {
      margin-bottom: 5em;
}
.challenge_cms_cont .img {
      display: flex;
      gap: 0 2%;
      justify-content: center;
}
.challenge_cms_cont .img p {
      max-width: 30%;
}
.challenge_cms_cont .text_box {
      margin-bottom: 2.5em;
}
.challenge_cms_cont .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .challenge_cms_cont {
            margin-bottom: 4em;
      }
      .challenge_cms_cont:last-child {
            margin-bottom: 2em;
      }
      .challenge_cms_cont .text_box {
            margin-bottom: auto;
      }
      .challenge_cms_cont .text_box + .img {
            margin-top: 1em;
      }
      .challenge_cms_cont .img {
            display: block;
      }
      .challenge_cms_cont .img p {
            max-width: none;
      }
      .challenge_cms_cont .img p + p {
            margin-top: 1em;
      }
}
/*私たちの強み
---------------------------------------------------------------------------------------------------*/
.strength_area {
      max-width: 95%;
      margin: auto;
}
.strength_flex {
      display: flex;
      justify-content: space-between;
      gap: 0 3%;
}
.strength_flex img {
      width: 100%;
}
/*strength_text
---------------------------------------------------------------------------*/
.strength_text {
      padding: 3em 0 2em 0;
      position: relative;
      color: #fff;
      font-weight: 700;
}
.strength_text:before {
      position: absolute;
      content: "";
      background: var(--col_main);
      width: 140%;
      top: -3em;
      left: -50%;
      height: calc(100% + 3em);
      z-index: -1;
}
@media screen and (max-width: 960px) {
      .strength_text {
            padding: 2em 0 2em 0;
      }
      .strength_text:before {
            width: 123%;
            left: -15%;
      }
}
/*strength_img_flex
---------------------------------------------------------------------------*/
.strength_img_flex {
      display: flex;
      justify-content: space-between;
      gap: 0 5%;
      padding-top: 2em;
      align-items: center;
}
.strength_img_flex .text_box {
      width: 55%;
}
.strength_img_flex .img {
      width: 45%;
}
.strength_img_flex .img img {
      width: 100%;
      position: relative;
      transform: translate(8em, -2em) scale(1.6) !important;
}
@media screen and (max-width: 1460px) {
      .strength_img_flex .text_box {
            width: 40%;
      }
      .strength_img_flex .img {
            width: 60%;
      }
      .strength_img_flex .img img {
            transform: translate(3em, 0em) scale(1.2) !important;
      }
}
@media screen and (max-width: 680px) {
      .strength_img_flex {
            display: block;
      }
      .strength_img_flex .text_box {
            width: 100%;
      }
      .strength_img_flex .img {
            width: 100%;
            margin-top: 3em;
      }
      .strength_img_flex .img img {
            transform: translate(0em, 0em) scale(1.2) !important;
      }
}
/*value_ico_list
-------------------------------------------------------------------------------------------------*/
.value_ico_list {
      display: flex;
      justify-content: center;
      gap: 0 3%;
      border-bottom: 1px solid var(--col_sub);
      padding-bottom: 2em;
}
.value_ico_list > li {
      font-size: 1.1em;
      width: 100%;
}
.value_ico_list > li .img {
      padding: 0 0 1em 0;
      text-align: center;
}
.value_ico_list > li .img img {
      width: 100%;
      height: 3.5em;
      object-fit: contain;
      object-position: center;
}
.value_ico_list > li .text_box {
      padding-top: 2em;
      border-top: 1px solid var(--col_sub);
}
@media screen and (max-width: 680px) {
      .value_ico_list {
            flex-wrap: wrap;
            gap: 3em 5%;
      }
      .value_ico_list > li {
            font-size: 1em;
            width: calc((100% / 2) - (5% / 1.6));
      }
      .value_ico_list > li .text_box {
            padding-top: 1em;
      }
}
/*customer_list
-------------------------------------------------------------------------------------------------*/
.customer_list {
      display: flex;
      gap: 4em 5%;
      flex-wrap: wrap;
}
.customer_list > li {
      width: calc((100% / 3) - (5% / 1.5));
}
@media screen and (max-width: 960px) {
      .customer_list {
            gap: 3em 5%;
      }
      .customer_list > li {
            width: calc((100% / 2) - (5% / 1.6));
      }
}
@media screen and (max-width: 680px) {
      .customer_list {
            display: block;
      }
      .customer_list > li {
            width: auto;
            margin-bottom: 2em;
      }
}
.customer_list .customer_list_title.line_2 {
      height: 2.5em;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
}
/*strengths_about_area
-------------------------------------------------------------------------------------------------*/
.strengths_about_area {
      position: relative;
      z-index: 0;
}
.strengths_about_inner {
      position: relative;
      padding: 5em 0;
}
.strengths_about_inner:before {
      content: "";
      position: absolute;
      top: 3em;
      left: -35%;
      height: 90%;
      width: 50%;
      background: var(--bg_gray);
      z-index: -1;
}
.strengths_about_inner:after {
      content: "";
      background: url("../images/strengths.svg") no-repeat;
      aspect-ratio: 627/79;
      right: 0;
      top: 0;
}
@media screen and (max-width: 680px) {
      .strengths_about_inner:before {
            left: -20%;
      }
}
/*strengths_about_list
------------------------------------------------------------------*/
/*数字*/
ol.strengths_about_list {
      counter-reset: count 0;
}
.strengths_about_list > li {
      position: relative;
      list-style-type: none;
      list-style-position: inside;
      counter-increment: cnt;
}
.strengths_about_list > li:before {
      content: "0"counter(cnt) ".";
      position: absolute;
      left: 1.5em;
      top: -0.8em;
      color: var(--col_sub);
      font-size: 3.2em;
      font-family: "Outfit", sans-serif;
}
.strengths_about_list > li {
      background: #fff;
      margin: 3em auto;
}
.strengths_about_list > li + li {
      margin-top: 5em;
}
.strengths_about_list_inner {
      padding: 5em;
}
@media screen and (max-width: 960px) {
      .strengths_about_list_inner {
            padding: 5em 2em;
      }
      .strengths_about_list > li:before {
            left: 0.5em;
      }
}
@media screen and (max-width: 680px) {
      .strengths_about_list_inner {
            padding: 3em 1em;
      }
      .strengths_about_list > li:before {
            left: 0.3em;
            font-size: 2.4em;
      }
}
/*strengths_about_title_box*/
.strengths_about_title_box {
      display: flex;
      align-items: flex-start;
      gap: 0 10%;
}
.strengths_about_title_box .title_box {
      width: 35%;
      font-size: 2.8rem;
      border-bottom: 1px solid var(--col_sub);
      padding-bottom: 2em;
}
.strengths_about_title_box .title_box > * {
      font-weight: 500;
}
.strengths_about_title_box .text_box {
      width: 65%;
}
@media screen and (max-width: 1370px) {
      .strengths_about_title_box .title_box {
            width: 40%;
      }
      .strengths_about_title_box .text_box {
            width: 60%;
      }
}
@media screen and (max-width: 960px) {
      .strengths_about_title_box .title_box {
            font-size: 2.0rem;
      }
      .strengths_about_title_box {
            gap: 0 5%;
      }
}
@media screen and (max-width: 680px) {
      .strengths_about_title_box {
            display: block;
      }
      .strengths_about_title_box .title_box {
            width: auto;
            padding-bottom: 1em;
            margin-bottom: 1em;
      }
      .strengths_about_title_box .text_box {
            width: auto;
      }
}
/*strengths_about_title_box_02*/
.strengths_about_title_box_02 {
      display: flex;
}
.strengths_about_title_box_02 .title_box {
      width: 35%;
      font-size: 2.8rem;
      border-bottom: 1px solid var(--col_sub);
      padding-bottom: 2em;
}
.strengths_about_title_box_02 .title_box > * {
      font-weight: 500;
}
.strengths_about_title_box_02 .text_box {
      width: 65%;
      border-bottom: 1px solid var(--bg_gray);
      padding-left: 5em;
}
@media screen and (max-width: 1370px) {
      .strengths_about_title_box_02 .title_box {
            width: 40%;
      }
      .strengths_about_title_box_02 .text_box {
            width: 60%;
      }
}
@media screen and (max-width: 960px) {
      .strengths_about_title_box_02 .title_box {
            font-size: 2.0rem;
            width: 40%;
      }
      .strengths_about_title_box_02 .text_box {
            width: 60%;
            padding-left: 2em;
      }
}
@media screen and (max-width: 680px) {
      .strengths_about_title_box_02 {
            display: block;
      }
      .strengths_about_title_box_02 .title_box {
            width: auto;
            padding-bottom: 1em;
            margin-bottom: 1em;
      }
      .strengths_about_title_box_02 .text_box {
            width: auto;
            padding-left: 0;
            padding-bottom: 1em;
      }
}
/*order_list_box
------------------------------------------------------------------*/
.order_list_box {
      display: flex;
      gap: 0 5%;
      align-items: flex-start;
}
@media screen and (max-width: 680px) {
      .order_list_box {
            display: block;
      }
}
/*order_list
------------------------------------------------------------------*/
.order_list {
      position: relative;
}
.order_list:before {
      content: "";
      background: var(--bg_gray_l);
      width: 9px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 1.3em;
}
/*数字*/
.order_list_box {
      counter-reset: cnt_order 0;
}
.order_list > li {
      position: relative;
      list-style-type: none;
      list-style-position: inside;
      counter-increment: cnt_order;
}
.order_list > li:before, .order_list > li:after {
      font-size: 2.6rem;
}
.order_list > li:after {
      content: counter(cnt_order);
      position: absolute;
      left: 0.8em;
      top: 0.2em;
      font-weight: 400;
      font-family: "Outfit", sans-serif;
      text-align: center;
}
.order_list > li:before {
      content: "";
      border: solid 1px var(--col_main);
      background: #fff;
      position: absolute;
      left: 0;
      top: 0;
      aspect-ratio: 1;
      width: 2em;
}
.order_list > li {
      margin-bottom: 2em;
      padding-left: 4.5em;
}
.order_list + .order_list {
      margin-top: 3em;
      padding-top: 4em;
}
@media screen and (max-width: 680px) {
      .order_list > li:before, .order_list > li:after {
            font-size: 2.0rem;
      }
      .order_list > li:last-child {
            margin-bottom: 0;
      }
      .order_list + .order_list {
            margin-top: 0;
            padding-top: 0;
      }
}
/*中身*/
.order_list_title {
      margin-bottom: 1em;
}
.order_list_title .ja {
      font-size: 1.5em;
}
.order_list_title .en {
      margin-left: 0.5em;
      font-size: 0.8em;
      color: var(--col_sub);
}
.order_list_title.span_block .en {
      display: block;
      margin-left: 0;
      margin-top: 0.5em;
}
/*strengths_about_fbox
------------------------------------------------------------------------*/
.strengths_about_fbox {
      display: flex;
      gap: 1em 5%;
}
@media screen and (max-width: 680px) {
      .strengths_about_fbox {
            display: block;
      }
}
/*ボックスの幅配分*/
.inhouse_flex .st_fbox_01 {
      width: 35%;
}
.inhouse_flex .st_fbox_02 {
      width: 65%;
}
.ev_flex .st_fbox_01 {
      width: 50%;
}
.ev_flex .st_fbox_02 {
      width: 50%;
}
.strengths_about_fbox.loca_flex {
      gap: 1em 10%;
}
.loca_flex .st_fbox_01 {
      width: 48%;
}
.loca_flex .st_fbox_02 {
      width: 52%;
}
@media screen and (max-width: 680px) {
      .st_fbox_01, .st_fbox_02 {
            width: auto !important;
      }
      .st_fbox_01 + .st_fbox_02 {
            margin-top: 4em;
      }
}
/*partner_list
------------------------------------------------------------------------*/
.partner_list {}
/*数字*/
ol.partner_list {
      counter-reset: count 0;
}
.partner_list > li {
      position: relative;
      list-style-type: none;
      list-style-position: inside;
      counter-increment: cnt_p;
}
.partner_list > li:before {
      content: counter(cnt_p);
      position: absolute;
      /*left: 0.5em;*/
      left: 45%;
      top: 0.1em;
      color: var(--col_sub);
      font-size: 4.0rem;
      font-family: "Outfit", sans-serif;
}
.partner_list > li + li {
      margin-top: 6em;
}
@media screen and (max-width: 680px) {
      .partner_list > li + li {
            margin-top: 4em;
      }
      .partner_list > li:before {
            left: 0.5em;
            font-size: 2.5rem;
      }
}
/*partner_list 中身
------------------------------------------------------------------------*/
.partner_list_inner {
      display: flex;
      justify-content: space-between;
      gap: 0 5%;
      flex-direction: row-reverse;
}
.partner_list_inner .text_box {
      width: 60%;
}
.partner_list_inner .img {
      width: 40%;
}
@media screen and (max-width: 680px) {
      .partner_list_inner {
            display: block;
      }
      .partner_list_inner .text_box {
            width: auto;
      }
      .partner_list_inner .img {
            width: auto;
            margin-top: 2em;
      }
}
/*partner_list_title
------------------------------------------------------*/
.partner_list_title {
      font-size: 2.4rem;
      position: relative;
      margin-bottom: 1em;
}
.partner_list_title span {
      padding: 0.8em 0 0.8em 4em;
      position: relative;
      display: block;
}
.partner_list_title:after, .partner_list_title span:after, .partner_list_title:before, .partner_list_title span:before {
      content: "";
      position: absolute;
}
.partner_list_title:before, .partner_list_title span:before {
      background: var(--col_main);
      width: 100%;
      height: 1px;
      left: 0;
      bottom: 0;
}
.partner_list_title span:before {
      top: 0;
      bottom: auto;
}
.partner_list_title:after, .partner_list_title span:after {
      background: var(--col_sub);
      width: 3em;
      height: 1px;
      left: 0;
      bottom: 0;
}
.partner_list_title span:after {
      top: 0;
      bottom: auto;
}
@media screen and (max-width: 680px) {
      .partner_list_title {
            font-size: 1.8rem;
      }
      .partner_list_title span {
            padding: 0.5em 0 0.5em 3.5em;
      }
      .partner_list_title:after, .partner_list_title span:after {
            width: 2.5em;
      }
}
/*ico_check*/
.ico_check {
      position: relative;
      padding-left: 2.5em;
      line-height: 1.5;
}
.ico_check:before {
      content: "";
      background: url("../images/ico_check.svg") no-repeat;
      background-size: contain;
      width: 1.5em;
      position: absolute;
      aspect-ratio: 1;
      top: 0;
      left: 0;
}
/*consultation_list
----------------------------------------------------------------------------------*/
.consultation_list {
      display: flex;
      gap: 2em 5%;
      flex-wrap: wrap;
}
.consultation_list > li {
      margin-bottom: 2em;
      width: calc((100% / 2) - (5% / 2));
}
.consultation_list_inner .text_box {
      padding-left: 1.5em;
}
@media screen and (max-width: 680px) {
      .consultation_list {
            display: block;
      }
      .consultation_list > li {
            width: auto;
      }
}
/*strength_cv
----------------------------------------------------------------------------------*/
.strength_cv_area {
      background: var(--col_main);
      padding: 5em 0;
}
.strength_cv_area a {
      display: block;
}
.strength_cv_area a, .strength_cv_inner {
      max-width: 1000px;
      margin: auto;
}
.strength_cv_inner {
      padding: 2.5em 0;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      position: relative;
      box-shadow: 0px 0px 15px 3px rgba(000, 000, 000, 0.8);
      transition: 0.4s;
}
@media screen and (min-width: 961px), print {
      .strength_cv_area a:hover .strength_cv_inner {
            transform: scale(1.03);
      }
}
@media screen and (max-width: 1100px) {
	.strength_cv_area a{
			
            max-width: 90%;
	}
.strength_cv_inner {
   max-width: 100%;
      }
}
@media screen and (max-width: 680px) {
      .strength_cv_area {
            padding: 3em 0;
      }
      .strength_cv_inner {
            padding: 2em 0 5em 0;
      }
}
.strength_cv_inner:before {
      content: "";
      background: url("../images/logo_top.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 300/122;
      width: 6em;
      position: absolute;
      bottom: 1em;
      right: 1em;
}
.strength_cv_title_box {
      position: relative;
      padding-left: 6em;
}
.strength_cv_title_box:before {
      content: "";
      background: url("../images/cv_mail.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 96/67;
      width: 5em;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(-0%, -50%);
}
.strength_cv_title {
      letter-spacing: 1px;
      font-weight: bold;
      font-size: 3.4rem;
}
@media screen and (max-width: 680px) {
      .strength_cv_title_box {
            padding-left: 0;
            padding-top: 3.5em;
            text-align: center;
      }
      .strength_cv_title_box:before {
            left: 50%;
            width: 4em;
            top: 0;
            transform: translate(-50%, -0%);
      }
      .strength_cv_title {
            font-feature-settings: "palt";
            line-height: 1.5;
            font-size: 2.4rem;
      }
}
/*旅カフェ
---------------------------------------------------------------------------------------------------------------------------------------*/
/*tabicafe_contents_area
------------------------------------------------------*/
.tabicafe_contents_area {
      color: var(--col_tabi_fncol);
}
.tabicafe .contents_ff {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
}
.tabicafe .contents_ff:before {
      content: none !important;
}
.tabicafe_concept {
      background: var(--bg_tabi_beige);
}
.tabicafe_about_inner {
      background: #fff;
      border-radius: 1em;
      max-width: 760px;
      margin: auto;
}
.box_concept {
      text-align: center;
      padding: 2em 3em 3em 3em;
}
.tabi_green {
      color: var(--col_tabi_main) !important;
}
.tabi_yellow {
      color: var(--col_tabi_yellow) !important;
}
.tit_enjoy {
      padding-bottom: 1em;
      margin: auto;
      max-width: 11em;
}
.tit_line {
      position: relative;
      padding-bottom: 1.5em;
      margin-bottom: 0em;
}
.tit_line:before {
      content: "";
      position: absolute;
      sposition: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, -0%);
      background: url("../images/car/product/custom/tabi_line.svg") repeat-x;
      background-size: contain;
      width: 80%;
      height: 0.5em;
      aspect-ratio: 1;
}
.concept_tit {
      font-size: 2em;
      font-weight: 600;
      letter-spacing: 2px;
      text-align: center;
      margin: 0.3em 0;
      line-height: 1.3;
}
.taib_lead {
      letter-spacing: 2px;
      line-height: 1.8;
}
@media screen and (max-width: 960px) {
      .tabicafe_about_inner {
            max-width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .box_concept {
            padding: 1.5em 1em 1.5em 1em;
      }
      .tit_enjoy {
            max-width: 8em;
      }
      .concept_tit {
            font-size: 1.3em;
      }
      .tit_line:before {
            width: 90%;
      }
      .box_concept .taib_lead {
            font-size: 0.9em;
      }
}
/*tabicafe_feauture_area
------------------------------------------------------*/
.tabicafe_feauture_list > li + li {
      padding-top: 5em;
}
.tabicafe_feauture_list > li:nth-child(odd) .tabicafe_feauture_flex {
      flex-direction: row-reverse;
}
.tabicafe_feauture_flex {
      display: flex;
      justify-content: space-between;
      gap: 0 3em;
}
.tabicafe_feauture_flex > * {
      width: calc(100% / 2);
}
.tabicafe_feauture_flex .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .tabicafe_feauture_flex {
            display: block;
      }
      .tabicafe_feauture_flex > * {
            width: auto;
      }
      .tabicafe_feauture_flex .img {
            margin-top: 1.5em;
      }
}
.tit_feauture {
      font-weight: 300;
      font-family: "Outfit", sans-serif;
      letter-spacing: 5px;
      font-size: 1.5em;
      margin-bottom: 0.5em;
      color: var(--col_tabi_yellow);
}
.tabicafe_feauture_tit {
      font-size: 1.8em;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: 2px;
      margin: 0;
      border-left: 5px solid var(--col_tabi_main);
      padding: 10px 15px 15px;
      margin-bottom: 1em;
}
.tabicafe_feauture_list > li:nth-child(even) .tit_feauture {
      color: var(--col_tabi_main);
}
.tabicafe_feauture_list > li:nth-child(even) .tabicafe_feauture_tit {
      border-left: 5px solid var(--col_tabi_yellow);
}
.komi {
      font-size: 19px;
      font-weight: 400;
}
/*tabi_chapter_list
------------------------------------------------------*/
/*tabi_chapter_list_inner*/
.tabi_chapter_list_inner {
      color: #fff;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0 1.5em;
      padding: 2em;
      background: var(--col_tabi_main);
}
.tabi_chapter_list_inner .img {
      width: 45%;
      line-height: 0;
}
.tabi_chapter_list_inner .text_box {
      width: 55%;
}
@media screen and (max-width: 680px) {
      .tabi_chapter_list_inner {
            display: block;
            padding: 1.5em 1em;
      }
      .tabi_chapter_list_inner .img {
            width: auto;
      }
      .tabi_chapter_list_inner .text_box {
            width: auto;
            margin-top: 1em;
      }
}
.tabi_chapter_num {
      font-size: 0.8em;
      margin-bottom: 0.5em;
      line-height: 1;
      letter-spacing: 1px;
      font-weight: 700;
      font-family: "Outfit", sans-serif;
      color: #fff !important;
}
.tabi_chapter_tit {
      font-size: 1.5em;
      margin-bottom: 0.3em;
}
.tabi_chapter_tit span {
      background: #fff;
      color: var(--col_tabi_yellow);
      font-weight: bold;
      display: inline-block;
      padding: 0.2em 1em;
      line-height: 1;
}
.tabi_chapter_sub_tit {
      line-height: 1.7;
      letter-spacing: 1px;
      font-size: 1.1em;
      margin-bottom: 0.5em;
      font-weight: bold;
}
.tabi_chapter_list_inner .tabi_lead {
      font-size: 0.9em;
}
/*偶数*/
.tabi_chapter_list > li:nth-child(even) .tabi_chapter_list_inner {
      background: var(--col_tabi_yellow);
      color: var(--col_tabi_fncol);
}
.tabi_chapter_list > li:nth-child(even) .tabi_chapter_tit span {
      color: var(--col_tabi_main);
}
@media screen and (max-width: 680px) {
      .tabi_chapter_num {
            text-align: center;
            font-size: 1em;
      }
      .tabi_chapter_tit {
            font-size: 2.0em;
            text-align: center;
      }
      .tabi_chapter_sub_tit {
            line-height: 1.5;
            font-size: 1.6em;
      }
      .tabi_chapter_list_inner .tabi_lead {
            font-size: 1.1em;
      }
}
/*tabi 主要装備
------------------------------------------------------*/
.tabi_main_equip_list > li + li {
      margin-top: 2em;
}
@media screen and (max-width: 680px) {
      .tabi_main_equip_list > li + li {
            margin-top: 3em;
      }
      .tabi_main_equip_list .fbox_3_7.f_pc > * + * {
            margin-top: 0.8em;
      }
}
/*tabi_form_area
------------------------------------------------------*/
.tabi_form_area iframe {
      width: 100%;
      height: 1500px;
      border: none !important;
      outline: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      vertical-align: baseline !important;
      display: inline-block;
}
.container, .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
      width: 90% !important;
}
@media screen and (max-width: 680px) {
      .tabi_form_area iframe {
            height: 300vw;
      }
}

.organization_chart_img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto;
}

@media (max-width: 680px) {
    .organization_chart_img {
        width: 100%;
    }
}