@charset "utf-8";
/* =========================================================================================================================================== */
/*2
/* サイト共通デザイン - tuiki
/*
/* =========================================================================================================================================== */
* {
  box-sizing: border-box;
}

.pc_only   { display: block;  }
.pc_inline { display: inline; }
.sp_only   { display: none;   }
@media screen and (max-width: 767px) {
  .pc_only   { display: none;  }
  .pc_inline { display: none;  }
  .sp_only   { display: block; }
}

html {
  font-size: 62.5%;
  overflow-y:scroll;
}
body{
  position: relative;
  margin: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-size: 1.6rem; 
  line-height: 1.75;
  color: #555555;
}
body.menu_open {
  overflow: hidden;
}
main {
  display: block;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
a:hover,
a:hover img {
  opacity: 0.7;
}
button {
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="text"],
input[type="password"] {
  font-size: 16px;
  padding-left: 10px;
}


.fade {
  opacity: 0;
  transition: .8s;
  transform: translate(0, 100px);
}
/* 方向＆距離系：重複不可 */
.fade.fade-up-50 {
  transform: translate(0, 50px);
}
.fade.fade-right-50 {
  transform: translate(-50px, 0);
}
.fade.fade-left-50 {
  transform: translate(50px, 0);
}
.fade.fade-down-50 {
  transform: translate(0, -50px);
}
/* 遅れ系 */
.fade.fade-delay {
  transition-delay: .1s;
}
.fade.fade-delay-500 {
  transition-delay: .5s;
}
.fade.fade-delay-800 {
  transition-delay: .8s;
}
.fade.fade-delay-1000 {
  transition-delay: 1s;
}


/* 表示用*/
.fade.fade-in {
  opacity: 1;
  transform: translate(0, 0);
}

/* =========================================================================================================================================== */
/* 【共通部品】
/* =========================================================================================================================================== */
/* H2 */
@media all {
  h2 {
    color: #555555;
    font-weight: bold;
    padding-bottom: 17px;
    font-size: 28px;
    line-height: 31px;
  }
  h2.f20 {
    font-size: 20px;
    line-height: 22px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width:767px) {
  h2 {
    font-size: 20px;
    line-height: 24px;
    padding-bottom: 10px;
  }
  h2.f20 {
    font-size: 16px;
    line-height: 18px;
    padding-bottom: 7px;
  }
}
/*-----------------------------*/
/* 装飾系
/*-----------------------------*/
@media all {
  /* font系 */
  .fs18 {
    font-size: 18px;
  }
  .fw-bold {
    font-weight: bold;
  }

  /* margin系 */
  .mt42 {
    margin-top: 42px;
  }
  .mt18 {
    margin-top: 18px;
  }
  .mb8 {
    margin-bottom: 8px;
  }
  .mb15 {
    margin-bottom: 15px;
  }
  .mb23 {
    margin-bottom: 23px;
  }
  .mb26 {
    margin-bottom: 26px;
  }
  .mb32 {
    margin-bottom: 32px;
  }
  .mb36 {
    margin-bottom: 36px;
  }
  .mb50 {
    margin-bottom: 50px;
  }
  .ml-7 {
    margin-left: -7px;
  }

  /* padding系 */
  .pl26 {
    padding-left: 26px;
  }
  .pl30 {
    padding-left: 30px;
  }
}
@media screen and (max-width:767px) {
  /* font系 */
  .fs18 {
    font-size: 16px;
  }

  /* margin系 */
  .mb23 {
    margin-bottom: 16px;
  }
  .mb32 {
    margin-bottom: 20px;
  }
  .mb36 {
    margin-bottom: 28px;
  }
  .mb50 {
    margin-bottom: 40px;
  }

  /* padding系 */
  .pl26 {
    padding-left: 21px;
  }
  .pl30 {
    padding-left: 20px;
  }
}

/* テキスト */
@media all {
  .blk_text {
    font-size: 16px;
    line-height: 24px;
  }
  .blk_text2 {
    font-size: 18px;
    line-height: 26px;
  }
  .blk_text3 {
    font-size: 16px;
    line-height: 26px;
  }
}
@media screen and (max-width:767px) {
  .blk_text {
    font-size: 14px;
    line-height: 22px;
  }
  .blk_text2 {
    font-size: 14px;
    line-height: 20px;
  }
  .blk_text3 {
    font-size: 14px;
    line-height: 22px;
  }
}

/* リスト */
@media all {
  .list_1 {
    counter-reset: count;
    font-size: 16px;
    line-height: 24px;
    color: #555555;
  }
  .list_1 > li {
    counter-increment: count;
    position: relative;
    padding-left: 17px;
  }
  .list_1 > li::before {
    content: counter(count)". ";
    position: absolute;
    left: 0;
  }

  .list_2 {
    font-size: 16px;
    line-height: 24px;
  }
  .list_2 > li {
    padding-left: 14px;
    position: relative;
  }
  .list_2 > li::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background-color: #555555;
    position: absolute;
    top: 8px;
    left: 2px;
  }

  .list_3 {
    font-size: 16px;
    line-height: 24px;
    counter-reset: count;
  }
  .list_3 > li {
    counter-increment: count;
    padding-left: 40px;
    position: relative;
  }
  .list_3 > li::before {
    content: "（"counter(count)"）";
    position: absolute;
    left: 0;
  }

  .list_pdf {
    font-size: 16px;
    line-height: 28px;
    padding-top: 4px;
  }
  .list_pdf li a {
    text-decoration: none;
    color: #006DAC;
    position: relative;
  }

  .li-mb24 > li {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:767px) {
  .list_1 {
    font-size: 14px;
    line-height: 22px;
  }
  .list_1 li {
    padding-left: 15px;
  }

  .list_2 {
    font-size: 14px;
    line-height: 22px;
  }

 .list_3 {
    font-size: 14px;
    line-height: 22px;
  }
  .list_3 > li {
    padding-left: 29px;
  }
  .list_3 > li::before {
    left: -4px;
  }

  .list_pdf {
    font-size: 14px;
    line-height: 24px;
  }

  .li-mb24 > li {
    margin-bottom: 22px;
  }
}

/* グループ会社リスト */
@media all {
  section.list_group {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 20px;
  }
  section.list_group article   {
    width: calc((100% - 30px) / 2);
    border: solid 15px #F1F1F1;
    margin-bottom: 30px;
    text-align: center;
    padding: 0 10px;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  section.list_group article .title {
    font-size: 18px;
    font-weight: bold;
    line-height: 18px;
    padding-bottom: 13px;
  }
  section.list_group article .description {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 24px;
  }
  section.list_group article .brands ul {
  	display: flex;
  	justify-content: center;
  	flex-wrap: wrap;
  }
  section.list_group article .brands ul li {
    margin: 0 23px;
    margin-bottom: 29px;
  }
  section.list_group article .brands ul li.honda    { width:  56px; }
  section.list_group article .brands ul li.bmw      {width:  36px;}
  section.list_group article .brands ul li.mini     { width:  66px; }
  section.list_group article .brands ul li.jeep     { width:  58px; }
  section.list_group article .brands ul li.maserati { width:  74px; }
  section.list_group article .brands ul li.cpo      { width:  57px; }
  section.list_group article .brands ul li.alfa     { width:  36px; }
  section.list_group article .brands ul li.fiat     { width:  37px; }
  section.list_group article .brands ul li.abarth   { width:  32px; }
  section.list_group article .brands ul li.dcc      { width:  46px; }
  section.list_group article .brands ul li.dp       { width: 143px; }
  section.list_group article .button {
    padding-top: 10px;
  }
  section.list_group article .button a {
    display: block;
    width: 100%;
    max-width: 153px;
    text-align: center;
    height: 28px;
    line-height: 28px;
    position: relative;
    font-size: 12px;
    text-decoration: none;
    color: white;
    margin: 0 auto;
    padding-right: 10px;
    background-color: #333333;
  }
  section.list_group article .button a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 14px;
    right: 24px;
    position: absolute;
  }
  section.list_group article a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 14px;
    right: 24px;
  }
}
@media screen and (max-width:767px) {
  section.list_group {
    display: block;
  }
  section.list_group article {
    width: 100%;
  }
  section.list_group article .title {
    font-size: 16px;
  }
  section.list_group article .description {
    font-size: 12px;
    line-height: 18px;
  }
}
/* ニュースリスト */
@media all {
  .list_news {
    border-top: solid 1px #e6e6e6;
  }
  .list_news a {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    text-decoration: none;
    color: #555555;
    border-bottom: solid 1px #e6e6e6;
  }
  .list_news a:hover {
    background-color: #ededed;
  }
  .list_news a > div {
    line-height: 22px;
    padding-top: 22px;
    padding-bottom: 19px;
  }
  .list_news a .th {
    font-size: 14px;
    font-weight: bold;
    width: 134px;
    padding-left: 27px;
  }
  .list_news a .td {
    color: #006dac;
    width: calc(100% - 134px);
    padding-right: 27px;
  }
  .list_news a:hover .td {
    color: #555555;
  }
}
@media screen and (max-width:767px) {
  .list_news a {
    display: block;
  }
  .list_news a .th {
    padding-left: 0;
    padding-top: 16px;
    padding-bottom: 0;
    line-height: 15px;
  }
  .list_news a .td {
    width: 100%;
    padding-top: 7px;
    padding-right: 0;
    font-size: 14px;
    line-height: 20px;
  }
}

/* テーブル */
@media all {
  .tbl_copmany {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-top: 22px;
  }
  .tbl_copmany .th {
    width: 125px;
    font-size: 14px;
    font-weight: bold;
    line-height: 23px;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 25px;
    border-bottom: solid 1px #D3D3D3;
  }
  .tbl_copmany .td {
    width: calc(100% - 125px);
    font-size: 16px;
    line-height: 23px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom: solid 1px #D3D3D3;
  }
  .tbl_copmany > div:nth-last-child(-n+2){
    border-bottom: none;
  }
  .tbl_copmany .td .brands ul li {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .tbl_copmany .td .brands ul li .name {
    width: 82px;
    font-size: 16px;
    line-height: 24px;
  }
  .tbl_copmany .td .brands ul li .link {
    width: calc(100% - 82px);
    padding-left: 10px;
    position: relative;
    font-size: 16px;
    line-height: 24px;
  }
  .tbl_copmany .td .brands ul li .link a {
    text-decoration: none;
    color: #006DAC;
  }
  .tbl_copmany .td .brands ul li .link::before {
    content: ":";
    position: absolute;
    left: 0;
  }
  .tbl_copmany .td .history ul li {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    font-size: 16px;
    line-height: 22px;
    padding: 4px 0;
  }
  .tbl_copmany .td .history ul li .date {
    width: 115px;
  }
  .tbl_copmany .td .history ul li .title {
    width: calc(100% - 115px);
  }
  .tbl_copmany .td .link-more {
    text-align: right;
    padding-top: 15px;
  }
  .tbl_copmany .td .link-more a {
    color: #006DAC;
  }
  .tbl_copmany .td .officer ul li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .tbl_copmany .td .officer ul li .position {
      width: 126px;
  }
  .tbl_copmany .td .officer ul li .name {
    width: calc(100% - 126px);
  }
  .tbl_copmany .td .history-sales ul li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .tbl_copmany .td .history-sales ul li .date {
    width: 80px;
  }
  .tbl_copmany .td .history-sales ul li .title {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width:767px) {
  .tbl_copmany {
    display: block;
  }
  .tbl_copmany .th {
    width: 100%;
    padding-top: 14px;
    padding-left: 0;
    padding-bottom: 7px;
    line-height: 15px;
    border-bottom: none;
  }
  .tbl_copmany .td {
    padding-top: 0;
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 10px;
    width: 100%;
  }
  .tbl_copmany .td .history ul li {
    display: block;
    font-size: 14px;
    line-height: 22px;
  }
  .tbl_copmany .td .history ul li .date {
    width: 100%;
  }
  .tbl_copmany .td .history ul li .title {
    width: 100%;
    padding-left: 1em;
  }
  .tbl_copmany .td .brands ul li .name {
    font-size: 14px;
    line-height: 22px;
  }
  .tbl_copmany .td .brands ul li .link {
    font-size: 14px;
    line-height: 22px;
  }
  .tbl_copmany .td .link-more {
    text-align: center;
  }
  .tbl_copmany .td .link-more a::before {
    content: ">";
    transform: rotate(90deg);
    display: inline-block;
    padding-right: 5px;
    position: absolute;
    left: 0px;
  }
  .tbl_copmany .td .link-more a.open::before {
    transform: rotate(-90deg);
  }
  .tbl_copmany .td .link-more a {
    text-decoration: none;
    position: relative;
    padding-left: 20px;
  }
}

/* =========================================================================================================================================== */
/* 【部品】
/* 名前     : ヘッダー
/* セレクタ : #masthead
/* =========================================================================================================================================== */
@media all {
  #masthead {
    position: fixed;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    height: 90px;
    padding: 0 50px;
    background-color: #222222;
    z-index: 500;
    top: 0;
  }
  #masthead .logo {
    width: 190px;
    padding-top: 24px;
  }
  #masthead #global-nav {
    margin-left: auto
  }
  #masthead #global-nav ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-top: 29px;
  }
  #masthead #global-nav ul li {
    margin-right: 39px;
  }
  #masthead #global-nav ul li a {
    color: white;
    text-decoration: none;
  }
  #masthead #global-nav ul li a .en {
    text-align: center;
    font-size: 18px;
    line-height: 18px;
    padding-bottom: 7px;
  }
  #masthead #global-nav ul li a .jp {
    font-size: 12px;
    text-align: center;
    color: #999999;
  }
  #masthead .sns-nav ul {
    display: flex;
    padding-top: 29px;
  }
  #masthead .sns-nav ul li {
    margin-left: 29px;
  }
  #masthead .sns-nav ul li:first-child {
    margin-left: 14px;
  }
  #masthead .sns-nav ul li.instagram { width: 33px; }
  #masthead .sns-nav ul li.facebook  { width: 34px; }
  #masthead .sns-nav ul li.youtube   { width: 112px; padding-top: 5px; }
  #masthead #global-btn {
    display: none;
  }

  /* サブメニュー（共通）*/
  #global-sub .submenu article {
    width: 100%;
    justify-content: center;
    position: fixed;
    top: 90px;
    background-color: #494949;
    overflow: hidden;
    height: 0;
    z-index: 500;
  }
  #global-sub .submenu article .inner {
    width: 100%;
    max-width: 983px;
    margin: 0 auto;
    padding-top: 48px;
  }
  #global-sub .submenu article .inner .title .en {
    font-size: 22px;
    font-weight: bold;
    line-height: 22px;
    padding-bottom: 7.5px;
    color: #a9a9a9;
  }
  #global-sub .submenu article .inner .title .jp {
    font-size: 12px;
    line-height: 12px;
    color: #a8a8a8;
    padding-bottom: 38px;
  }

  /* サブメニュー（CORPORATE）*/
  #global-sub .submenu .corporate .inner .page-menu ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-bottom: 59px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li {
    width: 227px;
    height: 61px;
    margin-right: 71px;
    border-bottom: solid 1px #737373;
    padding-left: 31px;
    position: relative;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li:nth-child(-n+3) {
    height: 62px;
    border-top: solid 1px #737373;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li a {
    color: white;
    font-size: 18px;
    line-height: 60px;
    text-decoration: none;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 29px;
    left: 4px;
    position: absolute;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 29px;
    left: 9px;
  }

  /* サブメニュー（OTHER）*/
  #global-sub .submenu .other .inner {
    padding-bottom: 63px;
  }
  #global-sub .submenu .other .inner .subtitle {
    width: 100%;
    height: 62px;
    border-top: solid 1px #737373;
    border-bottom: solid 1px #737373;
    position: relative;
    padding-left: 42px;
  }
  #global-sub .submenu .other .inner .subtitle a {
    line-height: 60px;
    text-decoration: none;
    font-size: 18px;
    color: white;
  }
  #global-sub .submenu .other .inner .subtitle a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 29px;
    left: 8px;
    position: absolute;
  }
  #global-sub .submenu .other .inner .subtitle a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 29px;
    left: 13px;
  }
  #global-sub .submenu .other .inner .group-menu {
    padding-top: 35px;
    padding-bottom: 39px;
  }
  #global-sub .submenu .other .inner .group-menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #global-sub .submenu .other .inner .group-menu ul li {
    width: calc((100% - 30px) / 3);
    height: 107px;
    margin-right: 15px;
    margin-bottom: 15px;
    max-width: 317px;
    background-color: #5f5f5f;
    padding-top: 20px;
    text-align: center;
  }
  #global-sub .submenu .other .inner .group-menu ul li:nth-child(3n) {
    margin-right: 0;
  }
  #global-sub .submenu .other .inner .group-menu ul li .name {
    line-height: 14px;
    padding-bottom: 23px;
  }
  #global-sub .submenu .other .inner .group-menu ul li .name a {
    font-size: 14px;
    text-decoration: none;
    line-height: 14px;
    color: white;
    position: relative;
  }
  #global-sub .submenu .other .inner .group-menu ul li .name a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 6px;
    left: -23px;
    position: absolute;
  }
  #global-sub .submenu .other .inner .group-menu ul li .name a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 6px;
    left: -18px;
  }
  #global-sub .submenu .other .inner .group-menu ul li .icons {
    display: flex;
    justify-content: center;
  }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon {
    margin: 0 17px;
  }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.honda    { width: 47px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.bmw      { width: 30px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.mini     { width: 56px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.jeep     { width: 56px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.maserati { width: 74px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.cpo      { width: 56px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.alfa     { width: 30px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.abarth   { width: 27px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.fiat     { width: 32px; }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon.dcc      { width: 37px; }

  #global-sub .submenu .outside,
  #global-sub .submenu .other2,
  #global-sub .submenu .copinfo {
    display: none;
  }
}
@media screen and (max-width:1139px) {
  #masthead {
    height: 60px;
    background-color: #333333;
    padding: 0;
  }
  #masthead .logo {
    margin-left: 18px;
    width: 123px;
    padding-top: 14px;
  }
  #masthead #global-nav {
    display: none;
  }
  #masthead .sns-nav {
    display: none;
  }
  #masthead #global-btn {
    display: block;
    width: 62px;
    height: 100%;
    margin-left: auto;
    position: relative;
    cursor: pointer;
  }
  #masthead #global-btn span {
    display: block;
    width: 22px;
    height: 2px;
    background-color: white;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  #masthead #global-btn span::before,
  #masthead #global-btn span::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: white;
    position: absolute;
  }
  #masthead #global-btn span::before {
    top: -8px;
  }
  #masthead #global-btn span::after {
    top: 8px;
  }

  /* サブメニュー（共通）*/
  #global-sub {
    position: fixed;
    top: 60px;
    width: 100%;
    z-index: 500;
  }
  #global-sub .submenu {
    /*height: calc(100vh - 60px); */
    height: 0;
    overflow-y: scroll;
    transition: height 0.5s ease;
  }
  #global-sub .submenu article {
    height: auto;
    position: static;
  }
  #global-sub .submenu article .inner {
    padding: 0 50px;
    padding-top: 38px;
  }
  #global-sub .submenu article .inner .title .en {
    font-size: 16px;
    line-height: 16px;
    padding-bottom: 8px;
  }
  #global-sub .submenu article .inner .title .jp {
    font-size: 12px;
    line-height: 12px;
    padding-bottom: 17px;
  }

  /* サブメニュー（CORPORATE）*/
  #global-sub .submenu .corporate .inner .page-menu ul {
    display: block;
    padding-bottom: 9px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li {
    width: 100%;
    height: 39px;
    padding-left: 26px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li:nth-child(-n+3) {
    border-top: none;
    height: 39px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li:first-child {
    border-top: solid 1px #737373;
    height: 40px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li a {
    line-height: 38px;
    font-size: 14px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li a::before {
    width: 11px;
    left: 3px;
    top: 20px;
  }
  #global-sub .submenu .corporate .inner .page-menu ul li a::after {
    top: 20px;
    left: 6px;
  }  

  /* サブメニュー（OTHER）*/
  #global-sub .submenu .other .inner {
    padding-bottom: 44px;
  }
  #global-sub .submenu .other .inner .subtitle {
    border-bottom: none;
    padding-left: 26px;
    height: 39px;
  }
  #global-sub .submenu .other .inner .subtitle a {
    line-height: 38px;
    font-size: 14px;
  }
  #global-sub .submenu .other .inner .subtitle a::before {
    width: 11px;
    left: 3px;
    top: 20px;
  }
  #global-sub .submenu .other .inner .subtitle a::after {
    top: 20px;
    left: 6px;
  }  
  #global-sub .submenu .other .inner .subtitle:last-child {
    border-bottom: solid 1px #737373;
    height: 40px;
  }
  #global-sub .submenu .other .inner .group-menu {
    padding: 0;
  }
  #global-sub .submenu .other .inner .group-menu ul {
    display: block;
  }
  #global-sub .submenu .other .inner .group-menu ul li {
    width: 100%;
    max-width: none;
    text-align: left;
    padding-top: 8px;
    padding-left: 45px;
    height: auto;
    background: none;
  }
  #global-sub .submenu .other .inner .group-menu ul li .name {
    padding-bottom: 12px;
  }
  #global-sub .submenu .other .inner .group-menu ul li .icons {
    justify-content: flex-start;
  }
  #global-sub .submenu .other .inner .group-menu ul li .icons .icon {
    margin: 0;
    margin-right: 32px;
  }
  #global-sub .submenu .other .inner .group-menu ul li:last-child {
    margin-bottom: 24px;
  }

  /* サブメニュー（OUTSIDE）*/
  #global-sub .submenu .outside {
    display: block;
  }
  #global-sub .submenu .outside .inner {
    padding-top: 0;
  }
  #global-sub .submenu .outside .inner ul li {
    padding-left: 23px;
    position: relative;
    line-height: 14px;
    padding-bottom: 14px;
  }
  #global-sub .submenu .outside .inner ul li a {
    font-size: 14px;
    line-height: 14px;
    text-decoration: none;
    color: white;
  }
  #global-sub .submenu .outside .inner ul {
    padding-bottom: 20px;
  }

  /* サブメニュー（OTHER2）*/
  #global-sub .submenu .other2 {
    display: block;
  }
  #global-sub .submenu .other2 .inner {
    padding-top: 0;
    padding-bottom: 34px;
  }
  #global-sub .submenu .other2 .inner ul li {
    padding-left: 23px;
    position: relative;
    line-height: 14px;
    padding-bottom: 14px;
  }
  #global-sub .submenu .other2 .inner ul li a {
    font-size: 14px;
    line-height: 14px;
    text-decoration: none;
    color: white;
    position: relative;
  }
  #global-sub .submenu .other2 .inner ul li a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 6px;
    left: -23px;
    position: absolute;
  }
  #global-sub .submenu .other2 .inner ul li a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 6px;
    left: -18px;
  }

  /* サブメニュー（COPINFO）*/
  #global-sub .submenu .copinfo {
    display: block;
  }
  #global-sub .submenu .copinfo .inner {
    padding-top: 0;
    padding-bottom: 44px;
  }
  #global-sub .submenu .copinfo .inner .logo {
    width: 126px;
    padding-bottom: 12px;
  }
  #global-sub .submenu .copinfo .inner .company_name {
    font-size: 14px;
    font-weight: bold;
    color: #c5c5c5;
    line-height: 14px;
    padding-bottom: 14px;
  }
  #global-sub .submenu .copinfo .inner .zip,
  #global-sub .submenu .copinfo .inner .address,
  #global-sub .submenu .copinfo .inner .telephone {
    font-size: 14px;
    line-height: 14px;
    padding-bottom: 10px;
    color: #c5c5c5;
  }
}

/* =========================================================================================================================================== */
/* 【部品】
/* 名前     : ページヘッダー
/* セレクタ : #header-page
/* =========================================================================================================================================== */
@media all {
  #header-page {
    width: 100%;
    height: 300px;
    display: block;
    padding: 0 25px;
    padding-top: 117px;
    background-image: url('../img/sub_title_back.png'); 
    background-size: cover;
    background-position: top right;
  }
  #header-page.type2 {
    padding-top: 87px;
  }

  #header-page .group-title {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    color: #CCCCCC;
    padding-bottom: 30px;
  }
  #header-page .group-title .jp {
    font-size: 12px;
    padding-bottom: 9px;
    line-height: 12px;
  }  
  #header-page .group-title .en {
    font-size: 18px;
    line-height: 18px;
  }

  #header-page .title {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #header-page .title .en {
    font-size: 18px;
    line-height: 20px;
    color: #CCCCCC;
    padding-bottom: 12px;
  }
  #header-page .title .jp {
    font-size: 34px;
    font-weight: bold;
    color: white;
    line-height: 38px;
  }
}
@media screen and (max-width:767px) {
  #header-page {
    height: 125px;
    padding: 0 25px;
    padding-top: 43px;
  }
  #header-page.type2 {
    padding-top: 26px;
  }

  #header-page .group-title {
    padding-bottom: 9px;
  }
  #header-page .group-title .jp {
    padding-bottom: 6px;
  }
  #header-page .group-title .en {
    font-size: 16px;
    line-height: 16px;
  }

  #header-page .title .en {
    font-size: 14px;
    line-height: 15px;
  }
  #header-page .title .jp {
    font-size: 22px;
    line-height: 24px;
  }
}

/* =========================================================================================================================================== */
/* 【部品】
/* 名前     : フッター
/* セレクタ : #masthead
/* =========================================================================================================================================== */
@media all {
  #mastfoot {
    background-color: #F4F4F4;
  }
  #mastfoot .inner {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 63px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #mastfoot .inner .col {
    padding-bottom: 60px;
  }
  #mastfoot .inner .col .menu .title {
    font-size: 14px;
    line-height: 22px;
    font-weight: bold;
  }
  #mastfoot .inner .col .menu ul li {
    font-size: 14px;
    line-height: 28px;
  }
  #mastfoot .inner .col .menu ul {
    padding-top: 4px;
  }
  #mastfoot .inner .col .menu ul li a {
    color: #555555;
    text-decoration: none;
  }
  #mastfoot .inner .col .menu ul li.sub {
    padding-left: 12px;
  }
  #mastfoot .inner .col .menu.bold ul li {
    font-weight: bold;
  }
  #mastfoot .inner .col .menu-outside ul li {
    font-size: 14px;
    line-height: 28px;
    position: relative;
    padding-left: 24px;
    font-weight: bold;
  }
  #mastfoot .inner .col .menu-outside ul li a {
    color: #555555;
    text-decoration: none;
  }
  #mastfoot .inner .col .menu-outside ul li a::before {
    content: "";
    background-image: url('../img/icon_newwindow_g.png');
    display: block;
    position: absolute;
    width: 16px;
    height: 16px;
    left: 0;
    top: 3px;
  }
  #mastfoot .inner .col_1 { width: calc((428 / 1200) * 100%); }
  #mastfoot .inner .col_2 { width: calc((174 / 1200) * 100%); }
  #mastfoot .inner .col_3 { width: calc((295 / 1200) * 100%); }
  #mastfoot .inner .col_4 { width: calc((303 / 1200) * 100%); }
  #mastfoot .inner .col_1 .logo {
    width: 134px;
    padding-bottom: 18px;
  }
  #mastfoot .inner .col_1 .company_name {
    font-size: 14px;
    font-weight: bold;
    line-height: 14px;
    padding-bottom: 8px;
  }
  #mastfoot .inner .col_1 .zip, 
  #mastfoot .inner .col_1 .address,
  #mastfoot .inner .col_1 .telephone {
    font-size: 14px;
    line-height: 22px;
  }
  #mastfoot .inner .col_4 .menu {
    padding-top: 30px;
  }
  #mastfoot .sns-nav {
    display: none;
  }
  #mastfoot .copyright {
    width: 100%;
    min-height: 42px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    color: #999999;
    background-color: #d2d2d2;
  }

  #goTop a {
    position: fixed;
    width: 48px;
    height: 48px;
    right: 50px;
    bottom: 92px;
    background-color: #717171;
    border-radius: 50%;
    cursor: pointer;
    background-image: url('../img/pagetop_arrow_b.png');
    background-repeat: no-repeat;
    background-position: center;
  }
}
@media screen and (max-width:1139px) {
  #mastfoot .inner {
    display: none;
  }
  #mastfoot .sns-nav {
    display: block;
    padding-top: 16px;
    padding-bottom: 14px;
    background-color: #f4f4f4;
  }
  #mastfoot .sns-nav ul {
    display: flex;
    justify-content: center;
  }
  #mastfoot .sns-nav ul li {
    margin: 0 18px;
  }
  #mastfoot .sns-nav ul li.instagram {
    width: 33px;
  }
  #mastfoot .sns-nav ul li.facebook {
    width: 34px;
  }
  #mastfoot .sns-nav ul li.youtube {
    width: 112px;
  }
  #mastfoot .copyright {
    min-height: 30px;
    word-break: break-all;
  }

  #goTop a {
    width: 32px;
    height: 32px;
    background-image: url('../img/pagetop_arrow_s.png');
    right: 21px;
    bottom: 31px;
  }
}

/* =========================================================================================================================================== */
/* 【部品】
/* 名前     : メイン
/* セレクタ : #main
/* =========================================================================================================================================== */
@media all {
  #main {
    min-height: calc(100vh - 415px - 90px);
/*    margin-top: 90px; */
  }
  #main .dummy-header {
    height: 90px;
  }

  /* コンテンツ */
  #content {
    padding: 0 25px;
    padding-top: 100px;
    padding-bottom: 120px;
  }
  #content .inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media screen and (max-width:1139px) {
  #main {
    min-height: calc(100vh - 88px - 60px);
/*    margin-top: 60px; */
  }
  #main .dummy-header {
    height: 60px;
  }

  /* コンテンツ */
  #content {
    padding-top: 34px;
    padding-bottom: 40px;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : トップページ
/* セレクタ : .top-page 
/* =========================================================================================================================================== */
/**/
@media all {
  .top-page #masthead {
    background-color: transparent;
    transition: background-color 0.3s ease;
  }
  .top-page #masthead:hover {
    background-color: #333333;
  }
  .top-page #masthead.scroll {
    background-color: #333333;
  }
  .top-page #main {
    margin-top: 0;
  }
}

/* キービジュアル */
@media all {
  .top-page .keyvisual {
    width: 100%;
    min-width: 768px;
    min-height: 500px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    box-sizing: border-box;
  }
  .top-page .keyvisual .inner {
    max-width: 2000px;
    min-width: 768px;
    margin: 0 auto;
    overflow: hidden;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }
  .top-page .keyvisual .inner:before{
    content: "";
    display: block;
    width:100%;
    height:100%;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left:0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.3);
    /* background-image: url("../images/pattern.png"); */
    background-position: center center;
    /* background-repeat: repeat; */
  }
  .top-page .keyvisual .inner .video-wrapper {
    width: 100%;
    height: 100%;
    height: 100vh;
    position: relative;
  }
  .top-page .keyvisual .inner .video-wrapper video {
    width: auto;
    height: auto;
    min-height: 100vh;
    min-width: 100vw;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -1;
  }
  .top-page .keyvisual .inner .image-wrapper {
    display: none;
    width: 100%;
  }
  .top-page .keyvisual .inner .scroll-btn {
    position: absolute;
    left: 50%;
    bottom: 2%;
    z-index: 10;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .top-page .keyvisual .inner .scroll-btn a {
    text-decoration: none;
    color: white;
    font-weight: 700;
    font-size: 12px;
  }
  .top-page .keyvisual .inner .scroll-btn a .text {
    margin-bottom: -4px;
  }
  .top-page .keyvisual .inner .scroll-btn a .arrow {
    position: relative;
    animation: scroll_animation .5s ease 0s infinite alternate;
  }
  .top-page .keyvisual .inner .scroll-btn a .arrow span {
    display: block;
    width: 25px;
    height: 25px;
    border-bottom: solid 1px white;
    border-left: solid 1px white;
    margin: 0 auto;
    transform: rotate(-45deg);
    /* transform-origin: top center; */
  }
  @keyframes scroll_animation {
    0%   { top: 5px; }
    100% { top: 0px; }
    0%   { top: 5px; }
    100% { top: 0px; }
  }
}
@media screen and (max-width:1139px) {
  .top-page .keyvisual .inner .video-wrapper {
    height: calc(100vh - 60px);
  }
}
@media screen and (max-width:767px) {
  .top-page .keyvisual {
    min-height: auto;
    min-width: auto;
  }
  .top-page .keyvisual .inner .video-wrapper {
    display: none;
  }
  .top-page .keyvisual .inner .image-wrapper {
    display: block;
  }
  .top-page .keyvisual .inner .scroll-btn {
    display: none;
  }
}

/* ブランドリスト */
@media all {
  .top-page .brand-list {
    padding-top: 28px;
    background-color: #f8f8f8;
    padding-bottom: 8px;
  }
  .top-page .brand-list ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
  }
  .top-page .brand-list ul li {
    margin: 0 20px;
    margin-bottom: 20px;
  }
  .top-page .brand-list ul li.honda    { width:  66px; }
  .top-page .brand-list ul li.bmw      { width:  42px; }
  .top-page .brand-list ul li.mini     { width:  79px; }
  .top-page .brand-list ul li.jeep     { width:  79px; }
  .top-page .brand-list ul li.maserati { width:  91px; }
  .top-page .brand-list ul li.alfa     { width:  43px; }
  .top-page .brand-list ul li.abarth   { width:  40px; }
  .top-page .brand-list ul li.fiat     { width:  45px; }
  .top-page .brand-list ul li.cpo      { width:  62px; }
  .top-page .brand-list ul li.dp       { width: 152px; }
  .top-page .brand-list ul li.dcc      { width:  45px; }
}
@media screen and (max-width:767px) {
  .top-page .brand-list ul {
    width: calc(100% - 40px);
    margin: 0 auto;
    max-width: 388px;
    justify-content: flex-start;
  }
  .top-page .brand-list ul li {
    width: calc(100% / 4) !important;
    margin: 0;
    margin-bottom: 26px;
  }
  .top-page .brand-list ul li img {
    width: auto;
    display: block;
    margin: 0 auto;
  }
  .top-page .brand-list ul li.dp {
    width: calc(100% / 2) !important;
  }
  .top-page .brand-list ul li.honda    img { width: 56px; }
  .top-page .brand-list ul li.bmw      img { width: 36px; }
  .top-page .brand-list ul li.mini     img { width: 67px; }
  .top-page .brand-list ul li.jeep     img { width: 67px; }
  .top-page .brand-list ul li.maserati img { width: 77px; }
  .top-page .brand-list ul li.alfa     img { width: 37px; }
  .top-page .brand-list ul li.abarth   img { width: 34px; }
  .top-page .brand-list ul li.fiat     img { width: 38px; }
  .top-page .brand-list ul li.cpo      img { width: 68px; }
  .top-page .brand-list ul li.dp       img { width: 152px; }
  .top-page .brand-list ul li.dcc      img { width: 37px; }
}

/* ニュース一覧 */
@media all {
  .top-page .news-list .inner {
    width: 100%;
    max-width: 1236px;
    margin: 0 auto;
    overflow: hidden;
    padding: 0 18px;
    padding-top: 90px;
    padding-bottom: 95px;
  }
  .top-page .news-list .inner .title {
    width: 100%;
    max-width: 250px;
    float: left;
  }
  .top-page .news-list .inner .title .en {
    font-size: 30px;
    line-height: 30px;
    font-weight: bold;
    padding-bottom: 4px;
  }
  .top-page .news-list .inner .title .jp {
    font-size: 14px;
    line-height: 14px;
    padding-bottom: 28px;
  }
  .top-page .news-list .inner ul {
    width: calc(100% - 250px);
    float: right;
    padding-top: 3px;
  }
  .top-page .news-list .inner ul li {
    border-bottom: solid 1px #DFE1E1;
    height: 97px;
    padding-left: 6px;
  }
  .top-page .news-list .inner ul li:first-child {
    border-top: solid 1px #DFE1E1;
    height: 98px;
  }
  .top-page .news-list .inner ul li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    font-size: 14px;
    text-decoration: none;
    color: #555555;
  }
  .top-page .news-list .inner ul li a .date {
    width: 115px;
    font-weight: bold;
  }
  .top-page .news-list .inner ul li a .name {
    width: calc(100% - 115px);
    line-height: 18px;
  }
  .top-page .news-list .inner .list-btn {
    width: 100%;
    max-width: 250px;
    float: left;
  }
  .top-page .news-list .inner .list-btn a {
    display: block;
    width: 100%;
    max-width: 153px;
    text-align: center;
    height: 28px;
    line-height: 28px;
    position: relative;
    font-size: 12px;
    text-decoration: none;
    color: white;
    background-color: #333333;
  }
  .top-page .news-list .inner .list-btn a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 15px;
    right: 12px;
    position: absolute;
  }
  .top-page .news-list .inner .list-btn a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 15px;
    right: 12px;
  }
}
@media screen and (max-width:767px) {
  .top-page .news-list .inner {
    padding-top: 27px;
    padding-bottom: 44px;
  }
  .top-page .news-list .inner .title {
    float: none;
    max-width: none;
  }
  .top-page .news-list .inner ul {
    float: none;
    width: 100%;
    padding-top: 0;
  }
  .top-page .news-list .inner .title .en {
    font-size: 24px;
    text-align: center;
    line-height: 24px;
    padding-bottom: 3px;
  }
  .top-page .news-list .inner .title .jp {
    font-size: 12px;
    line-height: 12px;
    text-align: center;
    padding-bottom: 14px;
  }
  .top-page .news-list .inner ul li {
    height: auto;
    padding-left: 2px;
    padding-right: 9px;
  }
  .top-page .news-list .inner ul li:first-child {
    height: auto;
  }
  .top-page .news-list .inner ul li a {
    display: block;
    padding-top: 11px;
    padding-bottom: 8px;
    line-height: 20px;
  }
  .top-page .news-list .inner ul li a .date {
    width: 100%;
  }
  .top-page .news-list .inner ul li a .name {
    width: 100%;
    line-height: 20px;
  }
  .top-page .news-list .inner .list-btn {
    float: none;
    max-width: none;
    padding-top: 10px;
  }
  .top-page .news-list .inner .list-btn a {
    margin: 0 auto;
  }
  .top-page .news-list .inner .list-btn a::before {
    width: 11px;
  }
}

/* お客様第一主義 */
@media all {
  .top-page .forcustomer {
    background: rgb(210,210,210);
    background: linear-gradient(90deg, rgba(210,210,210,1) 0%, rgba(210,210,210,1) 50%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    position: relative;
    margin-bottom: 60px;
  }
  .top-page .forcustomer .inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 100px;
    border-right: solid 100px #d2d2d2;
    border-top: solid 70px #d2d2d2;
    border-bottom: solid 70px #d2d2d2;
    padding-top: 140px;
    padding-bottom: 160px;
    background-color: white;
    /* position: relative; */
  }
  .top-page .forcustomer .inner .title {
    font-size: 26px;
    font-weight: bold;
    line-height: 29px;
    padding-bottom: 25px;
  }
  .top-page .forcustomer .inner .description {
    font-size: 16px;
    line-height: 34px;
    width: calc(50% + 55px);
  }
  .top-page .forcustomer .image {
    width: calc(50vw - 150px);
    position: absolute;
    bottom: -60px;
    right: 0;
  }
}
@media screen and (max-width:767px) {
  .top-page .forcustomer {
    background: #D2D2D2;
    padding: 22px 20px;
    position: relative;
    padding-bottom: 0;
  }
  .top-page .forcustomer .inner {
    border: none;
    padding: 40px 25px;
    border-bottom: solid 20px #D2D2D2;
  }
  .top-page .forcustomer .inner .title {
    font-size: 20px;
    line-height: 22px;
    text-align: center;
    padding-bottom: 17px;
  }
  .top-page .forcustomer .inner .description {
    width: 100%;
    font-size: 14px;
    line-height: 26px;
  }
  .top-page .forcustomer .image {
    margin-left: -20px;
    width: calc(100% + 40px);
    left: 0;
    position: static;
  }
}

/* グループ会社 */
@media all {
  .top-page .groupcompany {
    padding-top: 95px;
  }
  .top-page .groupcompany .inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-right: 100px;
    padding-left: 100px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background-image: url('../img/map.png');
    background-size: 500px;
    background-repeat: no-repeat;
  }
  .top-page .groupcompany .inner .summary {
    width: 404px;
    padding-top: 104px;
  }
  .top-page .groupcompany .inner .summary .title .en {
    font-size: 30px;
    font-weight: bold;
    line-height: 33px;
    padding-bottom: 6px;
  }
  .top-page .groupcompany .inner .summary .title .jp {
    font-size: 14px;
    font-weight: bold;
    line-height: 15px;
    padding-bottom: 38px;
    color: #888888;
  }
  .top-page .groupcompany .inner .summary .subtitle {
    font-size: 16px;
    line-height: 32px;
    font-weight: bold;
    color: #C9151E;
  }
  .top-page .groupcompany .inner .summary .description {
    font-size: 14px;
    line-height: 32px;
  }
  .top-page .groupcompany .inner .summary .description .sp {
    display: none;
  }
  .top-page .groupcompany .inner .summary .button {
    padding-top: 57px;
  }
  .top-page .groupcompany .inner .summary .button a {
    display: block;
    width: 100%;
    max-width: 153px;
    text-align: center;
    height: 28px;
    line-height: 28px;
    position: relative;
    font-size: 12px;
    text-decoration: none;
    color: white;
    background-color: #333333;
  }
  .top-page .groupcompany .inner .summary .button a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 15px;
    right: 12px;
    position: absolute;
  }
  .top-page .groupcompany .inner .summary .button a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 15px;
    right: 12px;
  }
  .top-page .groupcompany .inner .group-list {
    width: 750px;
  }
  .top-page .groupcompany .inner .group-list ul li a {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-bottom: solid 1px #D5D6D6;
    padding-top: 24px;
    padding-bottom: 24px;
    color: #666666;
    text-decoration: none;
  }
  .top-page .groupcompany .inner .group-list ul li:first-child a {
    border-top: solid 1px #D5D6D6;
  }
  .top-page .groupcompany .inner .group-list ul li a .company {
    max-width: calc(100% - 330px);
    width: 100%;
  }
  .top-page .groupcompany .inner .group-list ul li.hondacars        a .company .logo { width: 206px; }
  .top-page .groupcompany .inner .group-list ul li.totobmw          a .company .logo { width: 139px; }
  .top-page .groupcompany .inner .group-list ul li.fivestartoto     a .company .logo { width: 206px; }
  .top-page .groupcompany .inner .group-list ul li.tricoloretoto    a .company .logo { width: 155px; }
  .top-page .groupcompany .inner .group-list ul li.shananbmw        a .company .logo { width: 155px; }
  .top-page .groupcompany .inner .group-list ul li.daiwaautomobiles a .company .logo { width: 203px; }
  .top-page .groupcompany .inner .group-list ul li a .brands {
    width: 100%;
    max-width: 330px;
  }
  .top-page .groupcompany .inner .group-list ul li a .brands ul {
    display: flex;
    justify-content: start;
    align-items: center;
    height: 100%;
  }
  .top-page .groupcompany .inner .group-list ul li a .brands ul li {
    margin-right: 50px;
  }
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.honda    { width:  56px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.bmw      { width:  36px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.mini     { width:  66px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.jeep     { width:  58px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.maserati { width:  74px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.cpo      { width:  57px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.alfa     { width:  36px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.fiat     { width:  37px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.abarth   { width:  32px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.dcc      { width:  46px}
  .top-page .groupcompany .inner .group-list ul li a .brands ul li.dp       { width: 143px}
  .top-page .groupcompany .inner .group-list ul li a .company .name {
    font-size: 12px;
    padding-top: 5px;
  }  
}
@media screen and (max-width:1396px) {
  .top-page .groupcompany .inner .group-list {
    width: calc(100% - 434px);
  }
}
@media screen and (max-width:1200px) {
  .top-page .groupcompany {
    padding: 0;
  }
  .top-page .groupcompany .inner {
    padding: 0 20px;
    padding-bottom: 28px;
    max-width: 480px;
    background-size: contain;
    display: block;
  }
  .top-page .groupcompany .inner .summary {
    padding-top: 22px;
    width: 100%;
    padding-bottom: 27px;
  }
  .top-page .groupcompany .inner .summary .title .en {
    font-size: 20px;
    line-height: 22px;
    text-align: center;
  }
  .top-page .groupcompany .inner .summary .title .jp {
    font-size: 12px;
    text-align: center;
    color: #888888;
    padding-bottom: 16px;
  }
  .top-page .groupcompany .inner .summary .subtitle {
    line-height: 26px;
    text-align: center;
  }
  .top-page .groupcompany .inner .summary .description {
    line-height: 26px;
    text-align: center;
  }
  .top-page .groupcompany .inner .summary .description .sp {
    display: block;
  }
  .top-page .groupcompany .inner .summary .button {
    padding-top: 20px;
  }
  .top-page .groupcompany .inner .summary .button a {
    margin: 0 auto;
  }
  .top-page .groupcompany .inner .group-list {
    width: 100%;
  }
  .top-page .groupcompany .inner .group-list ul li a {
    display: block;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 20px;
  }
  .top-page .groupcompany .inner .group-list ul li a .company {
    max-width: none;
  }
  .top-page .groupcompany .inner .group-list ul li:first-child a {
    border-top: solid 1px #D5D6D6;
  }
  .top-page .groupcompany .inner .group-list ul li a .company .logo {
    margin: 0 auto;
  }
  .top-page .groupcompany .inner .group-list ul li a .company .name {
    line-height: 14px;
    padding-top: 11px;
    padding-bottom: 18px;
  }
  .top-page .groupcompany .inner .group-list ul li a .brands {
    max-width: none;
  }
  .top-page .groupcompany .inner .group-list ul li a .brands ul {
    justify-content: center;
  }
  .top-page .groupcompany .inner .group-list ul li a .brands ul li {
    margin: 0 16px;
  }
}

/* バナー */
@media all {
  .top-page .banners {
    padding-top: 96px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .top-page .banners a {
    display: block;
    width: calc(100% / 2);
  }
  /*
  .top-page .banners .col_size3 ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .top-page .banners .col_size3 ul li {
    width: calc(100% / 3);
  }
  .top-page .banners .col_size3 ul li .box {
    width: 100%;
    padding-top: calc((370 / 634) * 100%);
    position: relative;
  }
  .top-page .banners .col_size3 ul li.vre .box {
    background-image: url('../img/top/bnr_vre.jpg');
  } 
  .top-page .banners .col_size3 ul li.e-dgms .box {
    background-image: url('../img/top/bnr_esports.jpg');
  } 
  .top-page .banners .col_size3 ul li.dgms .box {
    background-image: url('../img/top/bnr_dgms.jpg');
  } 
  .top-page .banners .col_size3 ul li .box a {
    position: absolute;
    display: block;
    width: calc(100% - 40px);
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    background-color: rgba(0,0,0,0.7);
    padding: 15px 51px;
    text-decoration: none;
    color: white;
    border-radius: 5px;
  }
  .top-page .banners .col_size3 ul li .box a .title {
    font-weight: bold;
  }
  .top-page .banners .col_size3 ul li .box a .description {
    font-size: 14px;
    line-height: 18px;
    color: #D3D3D3;
  }
  .top-page .banners .col_size3 ul li .box a::before {
    content: "";
    display: block;
    width: 18px;
    height: 1px;
    background-color: white;
    top: 50px;
    right: 18px;
    position: absolute;
  }
  .top-page .banners .col_size3 ul li .box a::after {
    content: "";
    display: block;
    width: 10px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 50px;
    right: 18px;
  }
  .top-page .banners .col_size1 ul li .box {
    width: 100%;
    padding-top: calc((370 / 1900) * 100%);
    position: relative;
  }
  .top-page .banners .col_size1 ul li .box .left {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-image: url('../img/top/bnr_saiyou_1.jpg');
  }
  .top-page .banners .col_size1 ul li .box .right {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    background-image: url('../img/top/bnr_saiyou_2.jpg');
  }
  .top-page .banners .col_size1 ul li .box .right .inner .title {
    font-size: 28px;
    font-weight: bold;
    line-height: 31px;
    padding-bottom: 21px;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .description {
    font-size: 16px;
    line-height: 28px;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .button {
    padding-top: 28px;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .button a {
    display: block;
    width: 100%;
    max-width: 315px;
    height: 33px;
    background-color: #333333;
    color: white;
    text-decoration: none;
    line-height: 33px;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    padding-left: 14px;
    margin: 0 auto;
    position: relative;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .button a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 15px;
    right: 12px;
    position: absolute;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .button a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 15px;
    right: 12px;
  }  
  */
}
@media screen and (max-width:767px) {
  .top-page .banners {
    padding-top: 0;
  }
  .top-page .banners a {
    width: 100%;
  }
  /*
  .top-page .banners .col_size3 ul {
    display: block;
  }
  .top-page .banners .col_size3 ul li {
    width: 100%;
  }
  .top-page .banners .col_size3 ul li .box {
    padding-top: calc((316 / 428) * 100%);
    background-size: cover;
    background-position: center;
  }
  .top-page .banners .col_size3 ul li .box a {
    width: calc(100% - 28px);
    padding-top: 15px;
    padding-left: 15px;
    padding-right: 48px;
    padding-bottom: 11px;
  }
  .top-page .banners .col_size3 ul li .box a .title {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 3px;
  }
  .top-page .banners .col_size3 ul li .box a .description {
    font-size: 14px;
    line-height: 16px;
  }
  .top-page .banners .col_size1 ul li .box {
    padding: 0;
  }
  .top-page .banners .col_size1 ul li .box .left {
    position: static;
    width: 100%;
    padding-top: calc((162 / 428) * 100%);
    background-size: cover;
    background-position-y: top;
  }
  .top-page .banners .col_size1 ul li .box .right {
    position: static;
    width: 100%;
    display: block;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .title {
    font-size: 20px;
    line-height: 22px;
    padding-bottom: 15px;
    padding-top: 24px;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .description {
    font-size: 14px;
    line-height: 22px;
    text-align: left;
    padding: 0 20px;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .button {
    padding-top: 18px;
    padding-bottom: 28px;
  }
  .top-page .banners .col_size1 ul li .box .right .inner .button a {
    font-size: 12px;
    max-width: 252px;
  }
  */
}

/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : グループについて - 各社紹介
/* セレクタ : .about-group-company
/* =========================================================================================================================================== */
@media all {
  .about-group-company #content .inner {
    max-width: 1060px;
  }
  .about-group-company h1 {
    text-align: center;
    color: #555555;
    font-weight: bold;
    padding-bottom: 31px;
    font-size: 28px;
    line-height: 31px;
  }
  .about-group-company .blk_brands {
  padding-bottom: 46px;
  }
  .about-group-company .blk_brands ul {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .about-group-company .blk_brands ul li {
    margin: 0 17.5px;
  }
  .about-group-company .blk_brands ul li.honda    { width:  67px; }
  .about-group-company .blk_brands ul li.bmw      { width:  43px; }
  .about-group-company .blk_brands ul li.mini     { width:  88px; }
  .about-group-company .blk_brands ul li.jeep     { width:  89px; }
  .about-group-company .blk_brands ul li.maserati { width:  104px; }
  .about-group-company .blk_brands ul li.alfa     { width:  42px; }
  .about-group-company .blk_brands ul li.fiat     { width:  42px; }
  .about-group-company .blk_brands ul li.abarth   { width:  29px; }
  .about-group-company .blk_brands ul li.dcc      { width:  44px; }
  .about-group-company .blk_brands ul li.dp       { width: 156px; }

  .about-group-company .blk_button a {
    display: block;
    width: 100%;
    max-width: 153px;
    text-align: center;
    height: 28px;
    line-height: 28px;
    position: relative;
    font-size: 12px;
    text-decoration: none;
    color: white;
    background-color: #333333;
    margin: 0 auto;
    margin-top: 28px;
  }
  .about-group-company .blk_button a::before {
    content: "";
    display: block;
    width: 13px;
    height: 1px;
    background-color: white;
    top: 15px;
    right: 20px;
    position: absolute;
  }
  .about-group-company .blk_button a::after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background-color: white;
    transform: rotate(30deg);
    transform-origin: right bottom;
    position: absolute;
    top: 15px;
    right: 20px;
  }
  .about-group-company section {
    padding-top: 95px;
  }
  .about-group-company section h2 {
    font-size: 28px;
    line-height: 38px;
    color: #C9151E;
    border-top: solid 1px #C9151E;
    text-align: center;
    padding-top: 28px;
    padding-bottom: 25px;
    font-weight: normal;
  }
  .about-group-company section .text {
    font-size: 16px;
    line-height: 26px;
    width: calc(100% - 30px);
    margin:  0 auto;
    max-width: 800px;
    padding-bottom: 25px;
  }
  .about-group-company section .image {
    width: calc(100% - 30px);
    margin: 0 auto;
    max-width: 517px;
  }
}
@media screen and (max-width:767px) {
  .about-group-company h1 {
    font-size: 20px;
    line-height: 24px;
    padding-bottom: 13px;
  }
  .about-group-company .blk_brands {
    padding-bottom: 25px;
  }
  .about-group-company section h2 {
    font-size: 20px;
    line-height: 26px;
    padding-top: 15px;
    padding-bottom: 22px;
  }
  .about-group-company section .text {
    font-size: 14px;
    line-height: 22px;
    padding-bottom: 14px;
  }
}

/* =========================================================================================================================================== */
/* 【ページフッター】
/* 名前     : グループについて - 各社紹介のフッター
/* セレクタ : #footer-groups
/* =========================================================================================================================================== */
@media all {
  #footer-groups ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #footer-groups ul li {
    width: calc(100% / 6);
    background-size: cover;
    background-position: center;
  }
  #footer-groups ul li.hondacars        { background-image: url('../img/aboutgroup/hondacars/image1.png'); }
  #footer-groups ul li.totobmw          { background-image: url('../img/aboutgroup/totobmw/image1.png'); }
  #footer-groups ul li.fivestartoto     { background-image: url('../img/aboutgroup/fivestartoto/image1.png'); }
  #footer-groups ul li.tricoloretoto    { background-image: url('../img/aboutgroup/tricoloretoto/image1.png'); }
  #footer-groups ul li.shananbmw        { background-image: url('../img/aboutgroup/shananbmw/image1.png'); }
  #footer-groups ul li.daiwaautomobiles { background-image: url('../img/aboutgroup/daiwaautomobiles/image1.png'); }
  #footer-groups ul li a {
    display: block;
    padding-top: 100%;
    position: relative;
    background-color: rgba(0,0,0,0.5);
    color: white;
  }
  #footer-groups ul li a .box {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
    height: 54px;
  }
  #footer-groups ul li a .box .name {
    font-size: 16px;
    line-height: 18px;
    padding-bottom: 17px;
  }
  #footer-groups ul li a .box .button {
    font-size: 12px;
    line-height: 12px;
    width: 97px;
    margin: 0 auto;
    padding-bottom: 6px;
    border-bottom: solid 1px;
    padding-left: 6px;
    text-align: left;
    position: relative;
  }
  #footer-groups ul li a .box .button::before {
    content: "";
    width: 14px;
    height: 1px;
    display: block;
    background-color: wheat;
    position: absolute;
    bottom: -1px;
    right: 0;
    transform: rotate(30deg);
    transform-origin: right bottom;
  }
}
@media screen and (max-width:1024px) {
  #footer-groups ul li {
    width: calc(100% / 3);
  }
}
@media screen and (max-width:767px) {
  #footer-groups ul li {
    width: calc(100% / 2);
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : グループについて - 拠点一覧
/* セレクタ : .footer-groups-list
/* =========================================================================================================================================== */
@media all {
  .about-group-list #header-page.type2 {
    height: 820px;
    background: #555555;
  }
  .about-group-list #content {
    padding: 0;
  }
  .about-group-list #content .inner {
    width: calc(100% - 40px);
  }
  .about-group-list .group-shops article {
    padding-top: 60px;
    padding-bottom: 23px;
  }
  .about-group-list .group-shops article:nth-child(even) {
    background-color: #F4F4F4;
  }
  .about-group-list .group-shops article h2 {
    font-size: 24px;
    line-height: 26px;
    font-weight: bold;
    padding-bottom: 23px;
  }
  .about-group-list .group-shops article .shops ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .about-group-list .group-shops article .shops ul li {
    width: calc((100% - 48px) / 3);
    padding-bottom: 37px;
  }
  .about-group-list .group-shops article .shops ul li .brands {
    float: right;
    display: flex;
    padding-top: 17px;
  }
  .about-group-list .group-shops article .shops ul li .brands .brand {
    margin-left: 21px;
  }
  .about-group-list .group-shops article .shops ul li .name {
    font-size: 16px;
    line-height: 20px;
    font-weight: bold;
    padding-top: 16px;
  }
  .about-group-list .group-shops article .shops ul li .zip {
    font-size: 14px;
    line-height: 20px;
    padding-top: 9px;
  }
  .about-group-list .group-shops article .shops ul li .address {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 10px;
  }
  .about-group-list .group-shops article .shops ul li .telephone {
    font-size: 18px;
    line-height: 20px;
    font-weight: bold;
    padding-bottom: 16px;
  }
  .about-group-list .group-shops article .shops ul li .buttons {
    display: flex;
    justify-content: start;
  }
  .about-group-list .group-shops article .shops ul li .buttons a {
    display: block;
    width: 100px;
    height: 28px;
    text-align: center;
    line-height: 28px;
    font-size: 12px;
    text-decoration: none;
    background-color: #333333;
    color: white;
    margin-right: 5px;
  }
}
@media screen and (max-width:1024px) {
  .about-group-list .group-shops article .shops ul li {
    width: calc((100% - 48px) / 2);
  }
}
@media screen and (max-width:767px) {
  .about-group-list .group-shops article .shops ul li {
    width: 100%;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : 企業情報 - 拠点一覧
/* セレクタ : .corporate-message
/* =========================================================================================================================================== */
@media all {
  .corporate-message .inner {
    overflow: hidden;
  }
  .corporate-message .message1 {
    font-size: 34px;
    font-weight: bold;
    line-height: 38px;
    color: #C9151E;
    padding-bottom: 12px;
    width: calc(100% - 542px);
  }
  .corporate-message .message2 {
    font-size: 24px;
    font-weight: bold;
    line-height: 26px;
    padding-bottom: 32px;
    width: calc(100% - 542px);
  }
  .corporate-message .message2 .sp {
    display: none;
  }
  .corporate-message .profile {
    float: right;
    margin-top: -55px;
    width: 480px;
  }
  .corporate-message .blk_text3 {
    float: left;
    width: calc(100% - 542px);
  }
  .corporate-message .position {
    width: calc(100% - 542px);
    padding-left: calc(100% - 722px);
  }
  .corporate-message .sign {
    width: calc(100% - 542px);
    padding-left: calc(100% - 722px);
    padding-top: 18px;
  }
}
@media screen and (max-width:1024px) {
  .corporate-message .message1 {
    width: 100%;
  }
  .corporate-message .message2 {
    width: 100%;
  }
  .corporate-message .blk_text3 {
    float: none;
    width: 100%;
  }
  .corporate-message .profile {
    float: none;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
  .corporate-message .position {
    width: 100%;
    padding-left: calc(100% - 180px);
    padding-top: 22px;
  }
  .corporate-message .sign {
    width: 100%;
    padding-left: calc(100% - 180px);
    padding-top: 10px;
  }
}
@media screen and (max-width:767px) {
  .corporate-message .message1 {
    font-size: 22px;
    line-height: 24px;
    padding-bottom: 8px;
  }
  .corporate-message .message2 {
    font-size: 18px;
    line-height: 22px;
    padding-bottom: 17px;
  }
  .corporate-message .message2 .sp {
    display: block;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : 企業情報 - 会社概要
/* セレクタ : .corporate-profile
/* =========================================================================================================================================== */
@media all {
  .corporate-profile .tbl_copmany {
    border-top: solid 1px #e6e6e6;
    padding-top: 0;
  }
  .corporate-profile .tbl_copmany .th {
    width: 270px;
    padding-top: 16px;
    padding-bottom: 14px;
    line-height: 30px;
    border-bottom: solid 1px #e6e6e6;
  }
  .corporate-profile .tbl_copmany .td {
    width: calc(100% - 270px);
    padding-top: 16px;
    padding-bottom: 14px;
    line-height: 30px;
    border-bottom: solid 1px #e6e6e6;
  }
  .corporate-profile .tbl_copmany > div:nth-last-child(-n+2) {
    border-bottom: solid 1px #e6e6e6;
  }
  .corporate-profile .tbl_copmany .td a {
    color: #006dac;
    text-decoration: none;
  }
}
@media screen and (max-width:767px) {
  .corporate-profile .tbl_copmany .th {
    width: 100%;
    padding-bottom: 7px;
    border-bottom: none;
    line-height: 15px;
  }
  .corporate-profile .tbl_copmany .td {
    width: 100%;
    padding-top: 0;
    padding-bottom: 10px;
    line-height: 20px;
  }
  .corporate-profile .tbl_copmany > div:nth-last-child(2) {
    border-bottom: none;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : 企業情報 - 沿革
/* セレクタ : .corporate-history
/* =========================================================================================================================================== */
@media all {
  .corporate-history .tbl_copmany {
    padding-top: 0;
    border-top: solid 1px #e6e6e6;
  }
  .corporate-history .tbl_copmany .th {
    width: 154px;
    line-height: 30px;
    padding-top: 15px;
    padding-bottom: 14px;
    border-bottom: solid 1px #e6e6e6;
  }
  .corporate-history .tbl_copmany .td {
    width: calc(100% - 154px);
    line-height: 30px;
    padding-top: 15px;
    padding-bottom: 14px;
    border-bottom: solid 1px #e6e6e6;
  }
  .corporate-history .tbl_copmany .td span {
    display: block;
  }
}
@media screen and (max-width:767px) {
  .corporate-history .tbl_copmany .th {
    width: 100%;
    padding-bottom: 7px;
    line-height: 15px;
    border-bottom: none;
    padding-top: 14px;
  }
  .corporate-history .tbl_copmany .td {
    width: 100%;
    padding-top: 0;
    line-height: 20px;
    padding-bottom: 10px;
  }
  .corporate-history .tbl_copmany .td span {
    padding-bottom: 15px;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : 企業情報 - 企業理念
/* セレクタ : .corporate-vision
/* =========================================================================================================================================== */
@media all {
  .corporate-vision .vision {
    padding: 7px;
    position: relative;
    margin-top: 43px;
  }
  .corporate-vision .vision .inner {
    background-color: #F1F1F1;
  }
  .corporate-vision .vision .inner .bg-top,
  .corporate-vision .vision .inner .bg-bottom {
    width: 100%;
  }
  .corporate-vision .vision .inner .bg-top::before,
  .corporate-vision .vision .inner .bg-top::after,
  .corporate-vision .vision .inner .bg-bottom::before,
  .corporate-vision .vision .inner .bg-bottom::after {
    content: "";
    width: 29px;
    height: 29px;
    display: block;
    position: absolute;
    background-color: #AFAFAF;
    z-index: -1;
  }
  .corporate-vision .vision .inner .bg-top::before {
    left: 0;
    top: 0;
  }
  .corporate-vision .vision .inner .bg-top::after {
    right: 0;
    top: 0;
  }
  .corporate-vision .vision .inner .bg-bottom::before {
    left: 0;
    bottom: 0;
  }
  .corporate-vision .vision .inner .bg-bottom::after {
    right: 0;
    bottom: 0;
  }
  .corporate-vision .vision .inner .title {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    line-height: 33px;
    padding-top: 69px;
    color: #C9151E;
  }
  .corporate-vision .vision .inner .text {
    font-size: 28px;
    line-height: 52px;
    display: flex;
    justify-content: center;
    padding-top: 30px;
    padding-bottom: 66px;
  }

  .corporate-vision .charter {
    padding-top: 75px;
    width: 100%;
    max-width: 490px;
    margin: 0 auto;
  }
  .corporate-vision .charter .title {
    font-size: 28px;
    line-height: 29px;
    text-align: center;
    font-weight: bold;
    max-width: 190px;
    margin: 0 auto;
  }
  .corporate-vision .charter .subtitle {
    font-size: 18px;
    text-align: center;
    font-weight: bold;
    line-height: 24px;
    max-width: 190px;
    margin: 0 auto;
    padding-bottom: 27px;
    border-bottom: solid 1px #646464;
  }
  .corporate-vision .charter ul {
    padding-top: 30px;
    padding-bottom: 44px;
    counter-reset: count;
  }
  .corporate-vision .charter ul li {
    counter-increment: count;
    position: relative;
    padding-left: 57px;
    padding-bottom: 25px;
  }
  .corporate-vision .charter ul li::before {
    content: counter(count);
    display: block;
    position: absolute;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: #7D7D7D;
    font-size: 24px;
    color: white;
    text-align: center;
    line-height: 35px;
    left: 0;
  }
  .corporate-vision .charter ul li div {
    font-size: 24px;
    line-height: 35px;
  }
  .corporate-vision .charter ul li div.right {
    text-align: right;
  }
}
@media screen and (max-width:767px) {
  .corporate-vision .blk_text2 {
    line-height: 22px;
  }
  .corporate-vision .vision {
    padding: 3px;
  }
  .corporate-vision .vision .inner .title {
    font-size: 20px;
    line-height: 22px;
    padding-top: 49px;
  }
  .corporate-vision .vision .inner .text {
    font-size: 18px;
    line-height: 32px;
    padding: 0 15px;
    padding-top: 12px;
    padding-bottom: 49px;
  }
  
  .corporate-vision .charter .title {
    font-size: 22px;
    line-height: 24px;
  }
  .corporate-vision .charter .subtitle {
    font-size: 14px;
    line-height: 21px;
    padding-bottom: 11px;
  }
  .corporate-vision .charter ul {
    padding-top: 25px;
  }
  .corporate-vision .charter ul li {
    padding-left: 32px;
    padding-bottom: 17px;
  }
  .corporate-vision .charter ul li div {
    font-size: 16px;
    line-height: 25px;
  }
  .corporate-vision .charter ul li::before {
    font-size: 16px;
    line-height: 25px;
    width: 25px;
    height: 25px;
  }
  .corporate-vision .charter {
    max-width: 330px;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : 企業情報 - 50年あゆみ
/* セレクタ : .corporate-years_history
/* =========================================================================================================================================== */
@media all {
  .years_history article {
    padding-left: 134px;
    position: relative;
    display: flex;
    padding-bottom: 60px;
    justify-content: space-around;
    flex-wrap: wrap;
    padding-top: 25px;
  }
  .years_history article .year {
    width: 77px;
    height: 77px;
    border-radius: 50%;
    background-color: #BF0000;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
  }
  .years_history article .year .box .number {
    font-size: 20px;
    line-height: 20px;
    font-weight: bold;
    color: white;
    text-align: center;
  }
  .years_history article .year .box .unit {
    font-size: 16px;
    font-weight: bold;
    color: white;
    text-align: center;
    line-height: 20px;
  }
  .years_history article .year::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left: solid 16px #BF0000;
    border-top: solid 9px transparent;
    border-bottom: solid 9px transparent;
    position: absolute;
    right: -13px;
    top: 29.5px;
  }
  .years_history article::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 100%;
    background-color: #F1F1F1;
    z-index: -1;
    left: 35px;
  }
  .years_history article .w310 {
    width: 100%;
    max-width: 310px;
    flex-shrink: 0;
  }
  .years_history article > div:not(.year) {
    margin-right: 38px;
  }
  .years_history article > div:last-child {
    margin-right: 0;
  }
  .years_history article .text {
    flex: 1 1 0%;
  }
  .years_history article .text .title {
    font-size: 24px;
    font-weight: bold;
    line-height: 26px;
    padding-bottom: 13px;
  }
  .years_history article .text .body {
    font-size: 16px;
    line-height: 24px;
  }
  .years_history article .wfull {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding-top: 35px;
  }
  .years_history article .wfull .p50 {
    width: calc((100% - 37px) / 2);
  }
}
@media screen and (max-width:767px) {
  .years_history article .order1 { order: 1; }
  .years_history article .order2 { order: 2; }
  .years_history article .order3 { order: 3; }
  .years_history article {
      padding-left: 64px;
      padding-bottom: 45px;
      padding-top: 15px;
  }
  .years_history article::before {
      width: 5px;
      left: 22px;
  }
  .years_history article .year {
      width: 50px;
      height: 50px;
  }
  .years_history article .year::after {
      border-left-width: 10px;
      border-top-width: 6px;
      border-bottom-width: 6px;
      right: -7px;
      top: 19px;
  }
  .years_history article .year .box .number {
      font-size: 14px;
      line-height: 16px;
  }
  .years_history article .year .box .unit {
      font-size: 14px;
      line-height: 16px;
  }
  .years_history article > div:not(.year) {
      margin-right: 0;
  }
  .years_history article .text {
      width: 100%;
      flex: 0 1 auto;
      padding-bottom: 16px;
  }
  .years_history article .w310 {
      max-width: none;
      padding-bottom: 16px;
  }
  .years_history article .w310 img {
      width: 100%;
      max-width: 310px;
      margin: 0 auto;
      display: block;
  }
  .years_history article .text .title {
      font-size: 18px;
      line-height: 22px;
      padding-bottom: 8px;
  }
  .years_history article .text .body {
      font-size: 14px;
      line-height: 20px;
  }
  .years_history article .wfull {
    display: block;
    padding-top: 0;
  }
  .years_history article .wfull .p50 {
    width: 100%;
    display: block;
    max-width: 310px;
    margin: 0 auto;
    padding-bottom: 16px;
  }
}


/* =========================================================================================================================================== */
/* 【ページ】
/* 名前     : ニュース - ニュース詳細
/* セレクタ : .news-template
/* =========================================================================================================================================== */
@media all {
  .news-template #content .inner {
    max-width: 980px;
  }

  .news-template #content .date {
    font-size: 16px;
    line-height: 16px;
    padding-bottom: 10px;
  }
  .news-template #content .title {
    font-size: 26px;
    font-weight: bold;
    line-height: 34px;
    padding-bottom: 12px;
    border-bottom: solid 2px #333333;
    margin-bottom: 25px;
  }

  /* コンテンツ幅 */
  .news-template #content .w700 {
    width: 100%;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }
  .news-template #content .w875 {
    width: 100%;
    max-width: 875px;
    margin-left: auto;
    margin-right: auto;
  }
  .news-template #content .w660-l {
    width: 100%;
    max-width: 660px;
  }

  /* テキスト */
  .news-template #content .text {
    font-size: 16px;
    line-height: 22px;
  }
  .news-template #content .text .red {
    color: #C9151E;
  }
  .news-template #content .text.center {
    text-align: center;
  }
  .news-template #content .text.large {
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
  }
  .news-template #content .small {
    font-size: 14px;
    line-height: 18px;
  }

  /* 画像 */
  .news-template #content .image.col2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .news-template #content .image.col2 img {
    width: calc((100% - 30px) / 2);
  }

  /* リスト */
  .news-template #content .list {
    font-size: 20px;
    font-weight: bold;
    line-height: 32px;
  }
  .news-template #content .list ul li {
    padding-left: 27px;
    position: relative;
  }
  .news-template #content .list ul li.red {
    color: #C9151E;
  }
  .news-template #content .list ul li::before {
    content: "○";
    position: absolute;
    left: 1px;
  }

  /* 注意事項リスト */
  .news-template #content .list-note {
    font-size: 14px;
    line-height: 18px;
  }
  .news-template #content .list-note ul li {
    padding-left: 14px;
    position: relative;
  }
  .news-template #content .list-note ul li::before {
    content: "※";
    position: absolute;
    left: 0;
  }
  .news-template #content .list-note ul li.red {
    color: #C9151E;
  }

  /* ボックス */
  .news-template #content .box {
    background-color: #F1F1F1;
    border: solid 1px #C4C4C4;
    padding: 43px 15px;
  }

  /* テーブル */
  .news-template #content .table {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-top: solid 1px #E6E6E6;
  }
  .news-template #content .table .th {
    width: 210px;
    font-size: 14px;
    font-weight: bold;
    padding-left: 22px;
    padding-right: 20px;
    line-height: 20px;
    padding-top: 17px;
    padding-bottom: 17px;
    border-bottom: solid 1px #E6E6E6;
    background-color: #6F6F6F;
    color: white;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .news-template #content .table .th .small {
    font-size: 12px;
    font-weight: normal;
  }
  .news-template #content .table .td {
    width: calc(100% - 210px);
    border-bottom: solid 1px #E6E6E6;
    font-size: 16px;
    line-height: 22px;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
  }
  .news-template #content .table .td a {
    color: #006DAC;
  }
  .news-template #content .table .td a.tel {
    font-size: 24px;
    font-weight: bold;
    color: #C9151E;
    text-decoration: none;
}
  .news-template #content .table .td .note ul li {
    padding-left: 16px;
    position: relative;
    font-size: 14px;
  }
  .news-template #content .table .td .note ul li::before {
    content: "※";
    position: absolute;
    left: 0;
  }
  .news-template #content .table .td .square ul li {
    padding-left: 16px;
    position: relative;
  }
  .news-template #content .table .td .square ul li::before {
    content: "■";
    position: absolute;
    left: 0;
  }
}
@media screen and (max-width:767px) {
  .news-template #content .date {
    font-size: 14px;
    line-height: 14px;
    padding-bottom: 8px;
  }

  /* テキスト */
  .news-template #content .title {
    font-size: 18px;
    line-height: 22px;
    padding-bottom: 10px;
    border-bottom: solid 2px #333333;
    margin-bottom: 18px;
  }
  .news-template #content .text {
    font-size: 14px;
    line-height: 20px;
  }
  .news-template #content .text.large {
    font-size: 16px;
    line-height: 24px;
  }
  .news-template #content .small {
    font-size: 12px;
    line-height: 18px;
  }

  /* 画像 */
  .news-template #content .image.col2 img {
    width: 100%;
    margin-bottom: 18px;
  }

  /* リスト */
  .news-template #content .list {
    font-size: 16px;
    line-height: 32px;
  }

  /* 注意事項リスト */
  .news-template #content .list-note {
    font-size: 12px;
    line-height: 18px;
  }

  /* ボックス */
  .news-template #content .box {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  /* テーブル */
  .news-template #content .table .th {
    width: 100%;
    line-height: 16px;
    font-size: 12px;
    padding-left: 14px;
    padding-top: 9px;
    padding-bottom: 9px;
  }
  .news-template #content .table .td {
    width: 100%;
    padding-left: 13px;
    padding-right: 13px;
    font-size: 14px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .news-template #content .table .td .note ul li {
    font-size: 12px;
  }
  .news-template #content .table .td a.tel {
      font-size: 20px;
  }
}