/* breakpoint
-------------------------------------------*/
/*------------------------------------------------------------
gm302-7
------------------------------------------------------------*/
.drawer-hamburger1 {
  display: none; }
  @media screen and (max-width: 767px) {
    .drawer-hamburger1 {
      display: block; } }

/*
------------------------------------------------------------*/
.c-mainVisual2 {
  margin-bottom: 55px; }
  @media screen and (max-width: 767px) {
    .c-mainVisual2 {
      margin-bottom: 30px; } }

/*
------------------------------------------------------------*/
.c-list01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -8px 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .c-list01 {
      margin: 0 0 0; } }
  .c-list01__item {
    padding: 0 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .c-list01__item {
        width: 100%;
        padding: 0;
        margin-bottom: 30px; } }
  .c-list01.style1 .c-list01__item {
    width: 100%; }
    @media screen and (max-width: 767px) {
      .c-list01.style1 .c-list01__item {
        margin-bottom: 30px; } }
  .c-list01.style1 .c-list01__wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -8px; }
    @media screen and (max-width: 767px) {
      .c-list01.style1 .c-list01__wrap {
        margin: 0;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .c-list01.style1 .c-list01__img {
    padding: 0 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%; }
    @media screen and (max-width: 767px) {
      .c-list01.style1 .c-list01__img {
        width: 100%;
        padding: 0; }
        .c-list01.style1 .c-list01__img:nth-child(2) {
          margin-top: 17px; } }
  .c-list01.column3 {
    margin: 0 -5px; }
    .c-list01.column3 .c-list01__item {
      width: 33.33333%;
      padding: 0 5px;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .c-list01.column3 .c-list01__item {
          width: 50%; } }
      .c-list01.column3 .c-list01__item .c-des01 {
        letter-spacing: 0.1rem; }
  .c-list01.column4 {
    margin: 0 -10px; }
    @media screen and (max-width: 767px) {
      .c-list01.column4 {
        margin: 0 -8px; } }
    .c-list01.column4.c-list01--line {
      margin: 0 -10px 50px; }
      @media screen and (max-width: 767px) {
        .c-list01.column4.c-list01--line {
          margin: 0 -8px 30px; } }
    .c-list01.column4 .c-list01__item {
      width: 25%;
      padding: 0 10px; }
      @media screen and (max-width: 767px) {
        .c-list01.column4 .c-list01__item {
          width: 50%;
          padding: 0 8px; } }
  .c-list01--line {
    position: relative;
    margin-bottom: 50px;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .c-list01--line {
        margin-bottom: 30px; } }
    .c-list01--line::before {
      position: absolute;
      content: '';
      background-color: #dbdbdb;
      height: 1px;
      width: calc(100% - 16px);
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
      @media screen and (max-width: 767px) {
        .c-list01--line::before {
          width: 100%; } }
  .c-list01.last .c-list01__item {
    margin-bottom: 0; }

/*
------------------------------------------------------------*/
.c-title2 h3 {
  color: #464646;
  margin-bottom: 30px;
  padding-bottom: 5px; }
  @media screen and (max-width: 767px) {
    .c-title2 h3 {
      font-size: 2rem;
      line-height: 18px;
      margin-bottom: 18px;
      padding-bottom: 13px; } }

/*
------------------------------------------------------------*/
.c-text001-1 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.16em;
  line-height: 39px;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .c-text001-1 {
      margin-bottom: 15px;
      font-size: 1.8rem;
      line-height: 24px;
      letter-spacing: 0.05rem; } }

/*
------------------------------------------------------------*/
.c-title4 {
  margin-right: 18px; }
  @media screen and (max-width: 767px) {
    .c-title4 {
      margin-right: 0; } }
  .c-title4 h2 {
    font-size: 1.4rem;
    letter-spacing: -0.05rem;
    margin-top: 12px; }
    @media screen and (max-width: 767px) {
      .c-title4 h2 {
        letter-spacing: 0;
        margin-top: 5px !important; } }

/*
------------------------------------------------------------*/
.c-navi2 a {
  text-align: center;
  padding: 13px 11px; }
  @media screen and (max-width: 767px) {
    .c-navi2 a {
      text-align: left;
      padding: 15px 0 15px 10px; } }

@media screen and (max-width: 767px) {
  .c-navi1 {
    padding: 0 10px; } }

/*
------------------------------------------------------------*/
.c-ttl01 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.5;
  color: #3f3a39;
  margin-top: 17px;
  margin-bottom: 11px; }
  @media screen and (max-width: 767px) {
    .c-ttl01 {
      font-size: 1.6rem;
      margin-top: 10px;
      margin-bottom: 5px;
      letter-spacing: 0; } }
  .c-ttl01.style1 {
    margin-top: 0; }
  @media screen and (max-width: 767px) {
    .c-ttl01.let-spac {
      letter-spacing: -0.05rem; } }
  .c-ttl01 .sm {
    font-size: 1.7rem; }
    @media screen and (max-width: 767px) {
      .c-ttl01 .sm {
        font-size: 1.4rem; } }

/*
------------------------------------------------------------*/
.c-ttl02 {
  font-size: 3.5rem;
  font-weight: 400;
  color: #464646;
  line-height: 1.7;
  letter-spacing: 0.1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px; }
  @media screen and (max-width: 767px) {
    .c-ttl02 {
      font-size: 2rem;
      letter-spacing: 0;
      margin-bottom: 5px; } }
  .c-ttl02 .sm {
    font-size: 2.6rem; }
    @media screen and (max-width: 767px) {
      .c-ttl02 .sm {
        font-size: 1.4rem;
        font-weight: 700; } }
  .c-ttl02__wrap {
    margin-bottom: 30px; }

/*
------------------------------------------------------------*/
.c-des01 {
  font-size: 1.7rem;
  color: #4a4a4a;
  line-height: 26px;
  letter-spacing: 0.18rem; }
  @media screen and (max-width: 767px) {
    .c-des01 {
      font-size: 1.4rem;
      line-height: 21px;
      letter-spacing: 0.15rem; } }
  .c-des01 .sm {
    font-size: 1.4rem; }

/*
------------------------------------------------------------*/
.c-btn01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .c-btn01__txt {
    font-size: 1.7rem;
    line-height: 1;
    padding: 9px 20px 10px 50px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: 300;
    color: #fff;
    background-color: #e10012;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative; }
    .c-btn01__txt::before {
      position: absolute;
      content: '';
      width: 15px;
      height: 18px;
      background: url(../image/product/gm302/icon01.svg) center center;
      background-size: 15px 18px;
      left: 17px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }

/*
------------------------------------------------------------*/
.p-gm302-7__img {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .p-gm302-7__img {
      margin-bottom: 30px; } }

.p-gm302-7__wrap {
  padding-top: 40px;
  margin-top: 50px;
  border-top: 1px solid #dbdbdb; }
  @media screen and (max-width: 767px) {
    .p-gm302-7__wrap {
      padding-top: 20px;
      margin-top: 30px; } }

@media screen and (max-width: 767px) {
  .p-gm302-7 .l-wrapper {
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
