@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Libre+Caslon+Display&display=swap");
/*==================================================

** outline
==================================================*/
* {
  box-sizing: border-box; }

.pc {
  display: inherit; }

.sp {
  display: none; }

body {
  position: relative;
  color: #67543f;
  position: relative;
  -webkit-text-size-adjust: 100%; }

img, svg {
  width: 100%;
  height: 100%;
  object-fit: contain; }

/*==================================================

** common
==================================================*/
.sec-ttl {
  font-size: 6.0rem;
  font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
  text-align: center;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1.6; }
  .sec-ttl + * {
    margin-top: 50px; }
  @media (max-width: 767px) {
    .sec-ttl {
      font-size: 2.0rem;
      letter-spacing: -0.1em; }
      .sec-ttl + * {
        margin-top: 20px; } }

/*==================================================

** header
==================================================*/
.header {
  margin-right: auto;
  margin-left: auto; }
  .header-container {
    max-width: 1235px; }
  .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px; }
  .header-logo {
    width: 240px;
    height: 102px; }
  .header-button a {
    display: block;
    width: 210px;
    height: 46px;
    color: #fff;
    background: #bd603d;
    font-size: 2.0rem;
    text-align: center;
    line-height: 46px;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
    transition: .25s; }
    .header-button a:nth-of-type(2) {
      margin-top: 10px; }
    .header-button a:hover {
      opacity: 0.7; }
  .header-button.mens_link {
    margin-right: 40px; }
    .header-button.mens_link a {
      background-color: #052b58;
      padding: 0 20px;
      width: auto; }
  .header-button-wrap {
    display: flex; }
  @media (max-width: 575px) {
    .header-inner {
      padding-top: 15px;
      padding-bottom: 15px; }
    .header-logo {
      width: 104px;
      height: 45px; }
    .header-button a {
      width: 120px;
      height: 28px;
      line-height: 28px;
      font-size: 12px; }
      .header-button a:nth-of-type(2) {
        margin-top: 6px; }
    .header-button.mens_link {
      margin-right: 0px; }
      .header-button.mens_link a {
        background-color: #052b58;
        padding: 0 2vw;
        margin-top: 2.5vw;
        width: auto;
        font-size: 2.6vw; }
    .header-button-wrap {
      flex-direction: column-reverse;
      display: flex;
      align-items: flex-end; } }

/*==================================================

** mainvsl
==================================================*/
.mainvsl {
  width: 100%;
  height: 49.5vw;
  background-image: url("../images/mainvsl_pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  box-shadow: 3px 3px 18px rgba(0, 0, 0, 0.2); }
  @media (max-width: 767px) {
    .mainvsl {
      height: 69vw;
      background-image: url("../images/mainvsl_sp.jpg");
      box-shadow: 1px 1px 9% rgba(0, 0, 0, 0.2); } }

/*==================================================

** recommend
==================================================*/
.recommend {
  padding-top: 80px;
  padding-bottom: 80px; }
  .recommend__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 940px;
    margin-right: auto;
    margin-left: auto; }
  .recommend__card {
    width: 46%;
    height: auto; }
    .recommend__card figure {
      width: 100%;
      height: 100%; }
    .recommend__card:nth-of-type(3), .recommend__card:nth-of-type(4) {
      margin-top: 72px; }
  @media (max-width: 991px) {
    .recommend__inner {
      width: auto; }
    .recommend__card:nth-of-type(3), .recommend__card:nth-of-type(4) {
      margin-top: 50px; } }
  @media (max-width: 767px) {
    .recommend {
      padding-top: 20px;
      padding-bottom: 20px; }
      .recommend__card {
        width: 48%; }
        .recommend__card:nth-of-type(3), .recommend__card:nth-of-type(4) {
          margin-top: 20px; } }

/*==================================================

** solution
==================================================*/
.solution {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #f6f6e7; }
  .solution .container {
    max-width: 1228px; }
  @media (max-width: 767px) {
    .solution {
      padding-top: 20px;
      padding-bottom: 20px; } }

/*==================================================

** features
==================================================*/
.features {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #e9ecf1; }
  .features .container {
    max-width: 1234px; }
  .features__card {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background: #fff;
    padding: 40px;
    box-shadow: 0 0 13px rgba(0, 0, 0, 0.08); }
    .features__card .left {
      width: 50%; }
    .features__card .right {
      width: 47%; }
    .features__card .card-number {
      position: relative;
      left: -40px;
      width: 235px;
      padding: 12px 30px 12px 37px;
      font-family: 'Libre Caslon Display', serif;
      text-align: center;
      font-size: 3.6rem;
      color: #fff;
      background: #bd603d; }
      .features__card .card-number::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -6px;
        display: block;
        width: 235px;
        height: 2px;
        background: #bd603d; }
    .features__card .card-ttl {
      margin-top: 40px;
      font-size: 4.0rem;
      font-weight: bold;
      line-height: 1.2;
      font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif; }
    .features__card .card-txt {
      margin-top: 28px;
      line-height: 1.4; }
    .features__card:not(:first-of-type) {
      margin-top: 80px; }
  @media (max-width: 1199px) {
    .features__card {
      align-items: flex-end; } }
  @media (max-width: 991px) {
    .features__card .left {
      width: 100%; }
    .features__card .right {
      width: 100%;
      margin-top: 20px; } }
  @media (max-width: 767px) {
    .features {
      padding-top: 20px;
      padding-bottom: 20px; }
      .features .sec-ttl {
        letter-spacing: -0.15em; }
      .features__card {
        padding: 18px; }
        .features__card .card-number {
          left: -18px;
          width: 117px;
          padding: 10px 15px 10px 19px;
          font-size: 1.8rem; }
          .features__card .card-number::after {
            bottom: -4px;
            width: 117px;
            height: 1px; }
        .features__card .card-ttl {
          margin-top: 23px;
          font-size: 1.8rem; }
        .features__card .card-txt {
          margin-top: 16px;
          font-size: 1.4rem; }
        .features__card:not(:first-of-type) {
          margin-top: 20px; } }

/*==================================================

** career
==================================================*/
.career {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #f8f8e9; }
  .career .container {
    max-width: 1234px; }
  .career__card {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: 95px 30px 40px;
    background: #fff;
    box-shadow: 0 0 13px rgba(0, 0, 0, 0.08); }
    .career__card .left {
      width: 66%; }
    .career__card .right {
      width: 29%; }
    .career__card .career-libon {
      position: absolute;
      top: 0;
      left: 0;
      width: 381px;
      height: auto; }
    .career__card .career-ttl {
      font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
      font-size: 3.8rem;
      font-weight: bold;
      color: #b7a25f;
      line-height: 1.2; }
      .career__card .career-ttl .kome {
        font-size: 2.0rem; }
    .career__card .career-txt {
      margin-top: 28px; }
      .career__card .career-txt p {
        line-height: 1.4;
        letter-spacing: -0.05em; }
        .career__card .career-txt p:not(:first-of-type) {
          margin-top: 35px; }
      .career__card .career-txt__bottom {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        flex-wrap: wrap; }
        .career__card .career-txt__bottom .cap {
          font-size: 1.4rem;
          color: #b7a25f; }
        .career__card .career-txt__bottom .name {
          position: relative;
          right: 10px;
          display: inline-block;
          font-size: 3.6rem;
          text-align: right;
          font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif; }
  @media (max-width: 1199px) {
    .career__card .career-ttl {
      font-size: 3.4rem; } }
  @media (max-width: 991px) {
    .career__card .left {
      width: 100%; }
    .career__card .right {
      width: 100%;
      margin-top: 20px; }
      .career__card .right figure {
        width: 80%;
        margin-right: auto;
        margin-left: auto; }
    .career__card .career-txt__bottom {
      margin-top: 15px; } }
  @media (max-width: 767px) {
    .career {
      padding-top: 20px;
      padding-bottom: 20px; }
      .career__card {
        padding: 72px 18px 20px; }
        .career__card .right {
          margin-top: 14px; }
        .career__card .career-libon {
          top: 20px;
          width: 190px; }
        .career__card .career-ttl {
          font-size: 1.8rem;
          line-height: 1.4; }
        .career__card .career-txt {
          margin-top: 20px;
          font-size: 1.4rem; }
          .career__card .career-txt p:not(:first-of-type) {
            margin-top: 20px; }
          .career__card .career-txt__bottom .cap {
            display: block;
            width: 100%;
            font-size: 1.2rem; }
          .career__card .career-txt__bottom .name {
            position: static;
            display: block;
            width: 100%;
            margin-top: 14px;
            font-size: 1.4rem;
            text-align: right; } }

/*==================================================

** cases
==================================================*/
.cases {
  background: #f2f2f2;
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center; }
  .cases .container {
    max-width: 1234px; }
  .cases__card {
    width: 100%;
    max-width: 933px;
    margin-right: auto;
    margin-left: auto;
    padding: 10px;
    background: #fff; }
    .cases__card .inner {
      width: 100%;
      height: 100%;
      border: solid 2px #bd603d;
      padding: 48px; }
    .cases__card:not(:first-of-type) {
      margin-top: 80px; }
  .cases .cases-ttl {
    position: relative;
    display: inline-block;
    padding-left: 36px;
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif; }
    .cases .cases-ttl::before {
      content: '';
      position: absolute;
      top: -6px;
      left: -20px;
      display: block;
      width: 46px;
      height: 49px;
      background-image: url("../images/case-ttl_before.png");
      background-repeat: no-repeat;
      background-size: contain; }
  .cases .cases-txt {
    width: 100%;
    max-width: 675px;
    margin: 52px auto 0;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
    border-left: double 6px #bd603d;
    border-right: double 6px #bd603d;
    padding: 0 20px; }
    .cases .cases-txt dl {
      display: flex;
      flex-wrap: wrap;
      text-align: left;
      width: 100%;
      margin-right: auto;
      margin-left: auto; }
      .cases .cases-txt dl dt {
        display: flex;
        justify-content: space-between;
        width: 27%;
        font-weight: 400; }
        .cases .cases-txt dl dt span {
          display: inline-block; }
      .cases .cases-txt dl dd {
        width: 73%; }
        .cases .cases-txt dl dd .yen {
          color: #bd603d; }
  .cases__caption {
    font-size: 3.0rem;
    line-height: 1.8;
    margin-top: 90px;
    text-align: left;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif; }
    .cases__caption .under-line {
      background: #bd603d;
      color: #fff;
      padding: 8px 2px; }
  @media (max-width: 991px) {
    .cases .cases-txt dl dt {
      width: 30%; }
    .cases .cases-txt dl dd {
      width: 70%; } }
  @media (max-width: 767px) {
    .cases {
      padding-top: 20px;
      padding-bottom: 20px; }
      .cases__card {
        padding: 4px; }
        .cases__card .inner {
          padding: 24px 16px 16px; }
        .cases__card:not(:first-of-type) {
          margin-top: 20px; }
      .cases .cases-ttl {
        font-size: 1.6rem;
        padding-left: 10px; }
        .cases .cases-ttl::before {
          width: 20px;
          height: 21px;
          left: -14px; }
      .cases .cases-txt {
        padding: 0 10px;
        font-size: 1.2rem;
        max-width: 425px; }
        .cases .cases-txt dl dt {
          width: 30%; }
        .cases .cases-txt dl dd {
          width: 70%; }
      .cases__caption {
        margin-top: 23px;
        font-size: 1.4rem; }
        .cases__caption .under-line {
          padding: 4px 2px; } }
  @media (max-width: 575px) {
    .cases .cases-txt dl dt {
      width: 34%; }
    .cases .cases-txt dl dd {
      width: 66%; } }

/*==================================================

** plan
==================================================*/
.plan {
  padding-top: 80px;
  padding-bottom: 80px; }
  .plan .container {
    max-width: 1206px; }
  .plan__card {
    width: 100%;
    max-width: 1206px;
    padding: 14px 20px 20px;
    background: #f8f8e9;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
    box-shadow: 0 0 18px rgba(102, 102, 102, 0.18); }
    .plan__card:not(:first-of-type) {
      margin-top: 80px; }
  .plan__flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .plan__flex .plan__card.half {
      width: 47%;
      margin-top: 80px;
      padding-top: 20px; }
      .plan__flex .plan__card.half .plan-ttl {
        display: block;
        width: 100%;
        text-align: center; }
      .plan__flex .plan__card.half .inner {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 18px;
        padding: 28px 10px; }
        .plan__flex .plan__card.half .inner figure {
          width: auto;
          height: 100px; }
        .plan__flex .plan__card.half .inner .plan-yen {
          margin-top: 20px;
          font-size: 3.6rem;
          font-weight: bold;
          color: #bd603d; }
  .plan .plan-ttl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 850px;
    margin-right: auto;
    margin-left: auto;
    font-size: 3.6rem;
    font-weight: bold; }
    .plan .plan-ttl span {
      display: block;
      color: #bd603d; }
  .plan .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 6px;
    padding: 10px 28px 10px 14px;
    background: #fff;
    border-radius: 15px; }
  .plan .left {
    width: 19%; }
  .plan .right {
    width: 79%;
    line-height: 1.4;
    padding: 18px 0; }
  @media (max-width: 991px) {
    .plan .plan-ttl {
      width: 100%;
      font-size: 2.6rem; }
    .plan .left {
      width: 23%; }
    .plan .right {
      width: 75%; }
    .plan__flex .plan__card.half .inner .plan-yen {
      font-size: 2.0rem; } }
  @media (max-width: 767px) {
    .plan {
      padding-top: 20px;
      padding-bottom: 20px; }
      .plan__card {
        padding: 10px; }
        .plan__card:not(:first-of-type) {
          margin-top: 20px; }
      .plan .plan-ttl {
        font-size: 1.6rem; }
      .plan .inner {
        padding: 10px;
        border-radius: 8px; }
      .plan .left {
        width: 50%;
        max-width: 200px;
        margin: 0 auto; }
      .plan .right {
        width: 100%;
        margin-top: 10px;
        padding: 0; }
      .plan__flex .plan__card.half {
        width: 49%;
        margin-top: 20px;
        padding: 15px 10px 10px; }
        .plan__flex .plan__card.half .inner {
          padding: 10px 2px;
          margin-top: 15px; }
          .plan__flex .plan__card.half .inner figure {
            width: 140px;
            height: 50px; }
          .plan__flex .plan__card.half .inner .plan-yen {
            margin-top: 10px;
            font-size: 1.6rem; } }
  @media (max-width: 575px) {
    .plan .plan-ttl {
      font-size: 1.5rem;
      flex-wrap: wrap; }
      .plan .plan-ttl span {
        width: 100%;
        margin-top: 4px;
        text-align: right; }
    .plan__flex .plan__card.half .inner {
      margin-top: 10px; }
      .plan__flex .plan__card.half .inner figure {
        width: 100%; }
      .plan__flex .plan__card.half .inner .plan-yen {
        font-size: 1.2rem; } }

/*==================================================

** price
==================================================*/
.price {
  text-align: center;
  padding-bottom: 80px; }
  .price .container {
    max-width: 1206px; }
  .price__card {
    padding: 12px 20px 20px;
    background: #f8f8e9;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
    box-shadow: 0 0 18px rgba(102, 102, 102, 0.18); }
    .price__card:not(:first-of-type) {
      margin-top: 80px; }
    .price__card .inner {
      margin-top: 12px;
      padding: 20px 26px;
      border-radius: 15px;
      background: #fff;
      line-height: 1.4;
      text-align: left; }
    .price__card ul {
      margin-top: 16px;
      margin-left: 14px;
      font-size: 2.0rem;
      letter-spacing: -0.05em; }
      .price__card ul li {
        position: relative;
        padding-left: 22px; }
        .price__card ul li::before {
          position: absolute;
          top: 0;
          left: 0;
          width: 10px;
          height: 10px;
          content: '・'; }
    .price__card .cap {
      display: block;
      color: #bd603d;
      font-size: 2.0rem;
      margin-top: 6px;
      margin-left: 14px; }
      .price__card .cap:first-of-type {
        margin-bottom: 20px; }
  .price .price-ttl {
    display: inline-block;
    font-size: 3.6rem;
    font-weight: bold; }
    .price .price-ttl .ja {
      display: inline-block;
      margin-right: 40px; }
    .price .price-ttl .en {
      color: #bd603d; }
      .price .price-ttl .en.en01 {
        margin-right: 80px; }
  @media (max-width: 767px) {
    .price {
      padding-bottom: 20px; }
      .price__card {
        padding: 10px;
        font-size: 1.4rem;
        line-height: 1.6; }
        .price__card p {
          line-height: 1.6; }
        .price__card:not(:first-of-type) {
          margin-top: 20px; }
        .price__card .inner {
          padding: 10px;
          border-radius: 8px; }
        .price__card ul {
          margin-top: 6px;
          margin-left: 4px;
          font-size: 1.2rem; }
          .price__card ul li {
            padding-left: 14px; }
        .price__card .cap {
          margin-top: 2px;
          margin-left: 4px;
          font-size: 1.2rem; }
      .price .price-ttl {
        font-size: 1.6rem; }
        .price .price-ttl .ja {
          margin-right: 10px; }
        .price .price-ttl .en.en01 {
          margin-right: 14px; } }
  @media (max-width: 1199px) {
    .price .price-ttl {
      text-align: right; }
      .price .price-ttl .en.en01 {
        margin-right: 0; } }
  @media (max-width: 575px) {
    .price .price-ttl {
      font-size: 1.4rem; }
      .price .price-ttl .ja {
        margin-right: 10px;
        text-align: right; }
      .price .price-ttl .en.en01 {
        margin-right: 0; } }

/*==================================================

** faq
==================================================*/
.faq {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #f2f2f2; }
  .faq .container {
    max-width: 1072px; }
  .faq__list {
    padding: 16px 43px 0;
    background: #fff;
    border: solid 1px #d9e0e8; }
    .faq__list:not(:first-of-type) {
      margin-top: 40px; }
    .faq__list dt::before,
    .faq__list dd .inner::before {
      flex: none;
      display: block;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      margin-right: 18px;
      font-size: 2.8rem;
      line-height: 44px;
      text-align: center;
      color: #fff; }
    .faq__list dt {
      display: flex;
      align-items: center;
      position: relative;
      padding-bottom: 15px;
      font-size: 2.0rem;
      font-weight: 500;
      cursor: pointer; }
      .faq__list dt::before {
        content: 'Q';
        background: #bd603d; }
      .faq__list dt::after {
        content: '';
        position: absolute;
        top: 34%;
        right: 0;
        transform: translateY(-34%);
        display: inline-block;
        background-image: url("../images/arrow-down-gray.png");
        background-size: contain;
        background-repeat: no-repeat;
        width: 22px;
        height: 14px; }
      .faq__list dt.closed::after {
        background-image: url("../images/arrow-up-gray.png"); }
    .faq__list dd {
      display: none;
      width: auto;
      padding-top: 15px;
      padding-bottom: 16px;
      border-top: solid 1px #ddd6d1; }
      .faq__list dd .inner {
        display: flex;
        font-size: 2.0rem;
        line-height: 1.8; }
        .faq__list dd .inner::before {
          content: 'A';
          background: #ffdd8e; }
      .faq__list dd .meyasu {
        font-size: 2.0rem;
        line-height: 2;
        margin-left: 100px; }
  @media (max-width: 767px) {
    .faq {
      padding-top: 20px;
      padding-bottom: 20px; }
      .faq__list {
        padding: 10px 14px 0; }
        .faq__list:not(:first-of-type) {
          margin-top: 20px; }
        .faq__list dt::before,
        .faq__list dd .inner::before {
          font-size: 1.4rem;
          width: 20px;
          height: 20px;
          margin-right: 10px;
          line-height: 20px; }
        .faq__list dt {
          padding-bottom: 10px;
          padding-right: 20px;
          font-size: 1.4rem; }
          .faq__list dt::after {
            width: 10px;
            height: 10px; }
        .faq__list dd {
          padding-top: 10px;
          padding-bottom: 10px; }
          .faq__list dd .inner {
            font-size: 1.4rem; }
          .faq__list dd .meyasu {
            font-size: 1.4rem;
            margin-left: 40px; } }

/*==================================================

** media
==================================================*/
.media {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #f8f8e9; }
  .media .container {
    max-width: 1315px; }
  .media .inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 40px;
    background: #bd603d; }
    .media .inner::before, .media .inner::after {
      content: '';
      position: absolute;
      display: block;
      background-repeat: no-repeat;
      background-size: contain; }
    .media .inner::before {
      top: -10px;
      left: -10px;
      width: 78px;
      height: 81px;
      background-image: url("../images/media_line01.png"); }
    .media .inner::after {
      bottom: -10px;
      right: -10px;
      width: 72px;
      height: 72px;
      background-image: url("../images/media_line02.png"); }
  .media__box {
    display: flex;
    flex-direction: column;
    width: 23%;
    padding: 30px 20px;
    background: #fff;
    font-size: 2.0rem;
    font-weight: 500; }
    .media__box .date {
      margin-top: 14px;
      color: #bd603d; }
    .media__box .txt {
      margin-top: 14px;
      line-height: 1.5; }
  @media (max-width: 1199px) {
    .media__box {
      font-size: 1.6rem;
      padding: 30px 16px; } }
  @media (max-width: 991px) {
    .media__box {
      width: 48%; }
      .media__box:nth-child(3), .media__box:nth-child(4) {
        margin-top: 20px; } }
  @media (max-width: 767px) {
    .media {
      padding-top: 20px;
      padding-bottom: 20px; }
      .media .inner {
        padding: 20px 10px; }
        .media .inner::before {
          top: -4px;
          left: -4px;
          width: 18px;
          height: 18px;
          background-image: url("../images/media_line01_sp.png"); }
        .media .inner::after {
          bottom: -4px;
          right: -4px;
          width: 18px;
          height: 18px;
          background-image: url("../images/media_line02_sp.png"); }
      .media__box {
        padding: 15px 8px;
        font-size: 1.2rem; }
        .media__box:nth-child(3), .media__box:nth-child(4) {
          margin-top: 10px; }
        .media__box .date {
          margin-top: 6px; }
        .media__box .txt {
          margin-top: 6px; } }

/*==================================================

** access
==================================================*/
.access {
  padding-top: 80px;
  font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
  margin-bottom: 160px; }
  .access .container {
    max-width: 1234px;
    margin-top: 100px; }
  .access h3 {
    font-size: 40px;
    margin-bottom: 20px;
    color: #bd603d;
    font-weight: bold; }
  .access .attention {
    margin-top: 12px;
    font-size: 15px; }
  .access__flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-end; }
    .access__flex .left {
      width: 56%; }
      .access__flex .left p {
        line-height: 1.4; }
        .access__flex .left p:not(:first-of-type) {
          margin-top: 20px; }
    .access__flex .right {
      width: 40%; }
    .access__flex table {
      width: 100%;
      font-size: 1.8rem;
      border: solid 2px #c9c9cb;
      text-align: center; }
      .access__flex table thead {
        color: #fff;
        background: #bd603d; }
        .access__flex table thead th {
          padding: 7px 10px;
          line-height: 1.4; }
          .access__flex table thead th:not(:last-of-type) {
            border-right: solid 2px #c9c9cb; }
      .access__flex table tbody tr td {
        position: relative;
        padding: 10px;
        line-height: 1.4;
        border-right: solid 2px #c9c9cb; }
      .access__flex table tbody tr .td_long {
        padding: 60px 10px; }
      .access__flex table tbody tr .size_small {
        font-size: 11px; }
      .access__flex table tbody tr td.td_sep::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        width: 80%;
        height: 2px;
        background: #c9c9cb; }
      .access__flex table tbody td:not(:last-of-type) {
        border-right: solid 2px #c9c9cb; }
  .access__map {
    width: 1234px;
    margin: 50px auto 0; }
    .access__map .map-wrapper {
      height: 0;
      overflow: hidden;
      padding-bottom: 425px;
      position: relative; }
      .access__map .map-wrapper iframe {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%; }
  @media (max-width: 991px) {
    .access__flex .left {
      width: 100%; }
    .access__flex .right {
      width: 100%;
      margin-top: 20px; } }
  @media (max-width: 767px) {
    .access {
      padding-top: 20px; }
      .access .access {
        padding-top: 6.66vw;
        margin-bottom: 35.33vw; }
      .access .container {
        margin-top: 13.33vw; }
      .access .access_first {
        margin-top: 0;
        margin-top: 6vw; }
      .access .attention {
        margin-top: 2.66vw;
        font-size: 3.2vw; }
      .access h3 {
        font-size: 5.3vw;
        margin-bottom: 2vw;
        color: #bd603d;
        font-weight: bold; }
      .access__flex .left p:not(:first-of-type) {
        margin-top: 15px; }
      .access__flex table {
        font-size: 1.2rem;
        border: solid 1px #c9c9cb; }
        .access__flex table thead th {
          padding: 6px; }
          .access__flex table thead th:not(:last-of-type) {
            border-right: solid 1px #c9c9cb; }
        .access__flex table tbody tr td {
          padding: 5px 10px;
          border-right: solid 1px #c9c9cb; }
          .access__flex table tbody tr td, .access__flex table tbody tr td .td_width {
            padding: 5px 0px; }
        .access__flex table tbody tr .td_long {
          padding: 9.33vw 1.3vw; }
        .access__flex table tbody tr .size_small {
          font-size: 2.4vw;
          white-space: nowrap; }
        .access__flex table tbody tr:first-of-type td.td_sep::after {
          content: '';
          height: 1px;
          width: 65%; }
        .access__flex table tbody td:not(:last-of-type) {
          border-right: solid 1px #c9c9cb; }
      .access__map {
        width: auto;
        margin-top: 20px; }
        .access__map .map-wrapper {
          padding-bottom: 214px;
          padding-right: 0;
          padding-left: 0; }
      .access .col-12.map_cnt {
        padding: 0; } }

/*==================================================

** footer
==================================================*/
.footer {
  padding-top: 55px;
  padding-bottom: 200px;
  color: #67543f;
  background: #f2f2f2; }
  .footer-list ul {
    display: flex;
    justify-content: center; }
    .footer-list ul li {
      padding: 0 7px;
      font-size: 1.5rem;
      line-height: 1; }
      .footer-list ul li:not(:last-of-type) {
        border-right: solid 1px #67543f; }
      .footer-list ul li a {
        transition: .25s; }
        .footer-list ul li a:hover {
          opacity: 0.7;
          color: #67543f; }
  .footer .copy {
    display: block;
    font-size: 1.5rem;
    text-align: center; }
  @media (max-width: 767px) {
    .footer {
      padding-top: 15px;
      padding-bottom: 100px; }
      .footer-list ul {
        flex-wrap: wrap; }
        .footer-list ul li {
          font-size: 1.2rem;
          margin-top: 8px;
          margin-bottom: 8px; }
      .footer .copy {
        margin-top: 2px;
        font-size: 1.0rem; } }

/*==================================================

** contact-button
==================================================*/
.contact-button {
  position: fixed;
  bottom: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%; }
  .contact-button .inner {
    width: 100%;
    max-width: 825px;
    height: 110px;
    margin: auto;
    border-radius: 25px;
    background: #fff; }
  .contact-button a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    border-radius: 25px;
    color: #fff;
    line-height: 110px;
    font-size: 40px;
    font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
    text-align: center;
    transition: 0.25s;
    background: #bd603d; }
    .contact-button a figure {
      display: inline-block;
      width: 43px;
      height: 110px;
      line-height: 110px; }
    .contact-button a::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 30px;
      transform: translateY(-50%);
      display: block;
      width: 14px;
      height: 23px;
      background-image: url("../images/contact-button_icon02.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
    .contact-button a:hover {
      opacity: 0.7; }
  @media (max-width: 767px) {
    .contact-button {
      bottom: 20px; }
      .contact-button .inner {
        max-width: 600px;
        height: 55px;
        border-radius: 12px; }
      .contact-button a {
        border-radius: 12px;
        font-size: 2.0rem;
        line-height: 55px; }
        .contact-button a figure {
          width: 22px;
          height: 55px;
          line-height: 55px; }
        .contact-button a::after {
          width: 10px;
          right: 16px; } }

/*# sourceMappingURL=style.css.map */
