/* =====================================
   共通
===================================== */
img
{
    max-width: 100%;
}
main
{
   padding: 0 5%;
   box-sizing: border-box;
}
section
{
   /* width: 100%; */
   width: 1280px;
   max-width: 100%;
   margin: 80px auto;
}
section h2
{
   font-size: 2.5em;
    margin: 0;
    text-align: center;
}
section h2.h2left
{
    text-align: left;
}
.h2After
{
   font-size: 1.2em;
    margin: 0;
    color: #B9A38E;
    text-align: center;
}
.layerCotents
{
   /* margin: 90px auto 0; */
   margin: 60px auto 0;
}
.scrollInfinity
{
   left: -7vw;
}

/*挨拶*/
.greetingTextWrap
{
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
}
.greetingLeft
{
   width: 60%;
}
.greetingLeft > p
{
   font-size: 1.1em;
   font-weight: 600;
   line-height: 2.5;
   margin: 0 auto 1em 0;
}
.greetingRight
{
   width: 35%;
}
.greetingRight img
{
   border-radius: 10px;
}
.ceoNameWrap
{
   width: 100%;
   display: flex;
}
.ceoNameWrap>img
{
   width: 50px;
   margin-right: 10px;
}
.ceoNameWrap>p
{
   white-space: nowrap;
   display: flex;
   width: 100%;
   align-items: center;
}
.ceoName
{
   display: flex;
   white-space: nowrap;
   margin: 0 10px;
   font-size: 2em;
   font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

/*会社の方針*/
.policy
{
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: #fff;
   padding: 30px 5%;
   box-sizing: border-box;
   border-radius: 10px;
}
.policyLeft
{
   width: 35%;
   padding: 5% 2.5%;
   box-sizing: border-box;
}
.policyRight
{
   width: 60%;
}
.policyRight>p
{
   font-size: 1.1em;
   font-weight: 500;
   line-height: 2;
}

/*企業概要*/
.outlineWrap
{
   width: 100%;
   display: flex;
   justify-content: space-between;
}
.outlineLeft
{
   width: 47.5%;
}
.outlineRight
{
   width: 47.5%;
}
.outline dl
{
    display: flex;
    border-bottom: 1px solid #CBCBCB;
    margin-bottom: 50px;
    align-items: center;
    padding: 20px 0;
    margin: 0;
}
.outline dl dt
{
    font-size: 1em;
    color: #8D8986;
    width: 40%;
}
.outline dl dd
{
    font-size: 1em;
    width: 60%;
    margin: 0;
    padding-left: 20px;
}
.markWrap
{
   width: 50%;
   display: flex;
   justify-content: center;
   margin: 60px auto 0;
}
.markWrap figure
{
   margin: 0 30px;
}
.markWrap figcaption
{
   text-align: center;
   font-size: 1em;
   margin-top: 10px;
}

.history
{
   width: 100%;
   
}
.timeline {
   position: relative;
   border-left: none; 
   /* width: 100%; */
   width: 1280px;
   max-width: 100%;
   padding: 50px 5%;
   background-color: #fff;
   border-radius: 10px;
 }
 .timeline ul
 {
   list-style: none;
   max-width: 900px;
   margin: 0 auto;
   
 }
 .timeline li {
   position: relative;
   display: flex;
   padding: 20px 0 20px 20px;
   justify-content: space-between;
   align-items: center;
 }
 .timeline li .date
 {
   width: 18%;
   font-size: 1.5em;
   color: #0E8460;
 }
 .timeline li .text
 {
   width: 85%;
   font-size: 1em;
   font-weight: 500;
 }
 
 .timeline li::before {
   content: "";
   position: absolute;
   left: -10px;
   top: 50%;
   transform: translateY(-50%);
   width: 12px;
   height: 12px;
   background-color: #0E8460;
   border-radius: 50%;
   z-index: 1;
 }
 
 .timeline li::after {
   content: "";
   position: absolute;
   left: -4px;
   top: 0;
   bottom: 0;
   width: 2px;
   background: #888;
   z-index: 0;
 }
 
 .timeline li:first-child::after {
   top: 50%;  /* 丸の中央からスタート */
 }
 
 /*アクセス*/
 .accessWrap
{
    display: flex;
    justify-content: space-between;
    align-items: stretch;

    margin: 90px auto;
}
.accessLeft
{
    width: 50%;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
.accessLeft>h3
{
    font-size: 2em;
    margin: 0;
    padding-bottom: 0.5em;
}
.accessLeft dl
{
    display: flex;
    border-bottom: 1px solid #CBCBCB;
    padding: 10px 0;
    margin: 0;
}
.accessLeft dl:last-child {
   margin-bottom: 40px;
}
.accessLeft dl dt
{
    font-size: 1em;
    color: #8D8986;
    white-space: nowrap;
}
.accessLeft dl dd
{
    font-size: 1em;
    line-height: 1.5;
}
.accessLeft dl dd a
{
   color: #2B2B2B;
}
.accessLeft>img
{
    border-radius: 10px;
}
.accessRight
{
    width: 45%;
}
.accessRight iframe
{
    width: 100%;
    height: 100%;
    border-radius: 10px;
    /* border: 2px solid rgb(185, 163, 142); */
}



/* =====================================
   PCのみ
===================================== */
@media screen and (min-width: 1325px) {
   .accessLeft dl dd a:hover
   {
      color: #8D8986;
   }
}

/* =====================================
   タブレット
===================================== */
@media screen and (max-width: 1324px) {
   section
   {
      margin: 60px auto;
   }
   .greetingTextWrap
   {
      gap: 40px;
   }
   .greetingRight
   {
      width: 50%;
   }


/* 
   .accessWrap
   {
      flex-flow: column;
   }
   .accessLeft
   {
      width: 100%;
   }
   .accessLeft dl
    {
        flex-flow: column;
        border: none;
        margin: 20px 0;
    }
    .accessLeft dl dt
    {
        background-color: #fff;
        border-radius: 5px;
        padding-left: 5%;
    }
    .accessLeft dl dd
    {
        margin: 0;
        padding-left: 5%;
        font-weight: 500;
        margin-top: 10px;
    }
   .accessRight
   {
      width: 100%;
      aspect-ratio: 345/266;
      border-radius: 10px;
      margin-top: 30px;
   } */

   .layerCotents
   {
      margin: 40px auto;
   }
   .markWrap
   {
      width: 70%;
   }
   .accessLeft
   {
      width: 45%;
   }
   .accessRight
   {
      width: 50%;
   }
   .accessWrap
   {
      margin: 60px auto;
   }

}

@media screen and (max-width: 800px) {
      .timeline ul
      {
         padding-left: 20px;
      }
      .timeline li .text
      {
         padding-left: 20px;
      }
}


/* =====================================
    SP
===================================== */
@media screen and (max-width: 767px) {
   main
    {
        padding: 0;
    }
   section
   {
      margin: 50px auto;
      width: 95%;
   }
   section h2.h2left
   {
      font-size: 2em;
   }
   .layerCotents
   {
      margin: 30px auto 0;
   }
   .greetingRight
   {
      width: 100%;
   }
   .greetingLeft
   {
      width: 100%;
      margin-top: 30px;
   }
   .policy
   {
      flex-flow: column;
   }
   .policyLeft
   {
      width: 100%;
      padding: 0;
   }
   .policyRight
   {
      width: 100%;
   }
   .policyRight>p
   {
      font-size: 1.2em;
   }
   .outlineLeft dl,
   .outlineRight dl
    {
        flex-flow: column;
        border: none;
        /* margin: 20px 0; */
        padding-bottom: 0;
    }
    .outlineLeft dl dt,
    .outlineRight dl dt
    {
        background-color: #fff;
        border-radius: 5px;
        /* padding-left: 5%; */
        padding: 10px 15px;
        width: 100%;
        font-size: 1.2em;
    }
    .outlineLeft dl dd,
    .outlineRight dl dd
    {
        margin: 0;
        /* padding-left: 5%; */
        padding-left: 15px;
        font-weight: 500;
        margin-top: 10px;
        width: 100%;
        font-size: 1.2em;
    }

   .timeline
   {
      padding: 20px 5% 30px 5%;
   }
   .timeline ul
   {
      padding-left: 20px;
   }
   .timeline li
   {
      flex-flow: column;
      padding: 10px 0 10px 20px;
   }
   .timeline li::before
   {
      top: 40%;
   }
   .timeline li::after 
   {
      left: -5px;
   }
   .timeline li:first-child::after 
   {
      top: 40%;
   }
   .timeline li .date
   {
      width: 100%;
      font-size: 1.8em;
   }
   .timeline li .text
   {
      width: 100%;
      font-size: 1em;
   }
   .accessWrap
   {
      flex-flow: column;
      margin-bottom: 60px;
   }
   .accessWrap h3
   {
      font-size: 1.8em;
   }
   .accessLeft
   {
      width: 100%;
   }
   .accessLeft dl
    {
        flex-flow: column;
        border: none;
        /* margin: 20px 0; */
        margin: 0;
    }
    .accessLeft dl:last-child
    {
      margin-bottom: 15px;
    }
    .accessLeft dl dt
    {
        background-color: #fff;
        border-radius: 5px;
        /* padding-left: 5%; */
        padding: 10px 15px;
        font-size: 1.2em;
    }
    .accessLeft dl dd
    {
        margin: 0;
        /* padding-left: 5%; */
        padding-left: 15px;
        font-weight: 500;
        margin-top: 10px;
        font-size: 1.2em;
    }
   .accessRight
   {
      width: 100%;
      aspect-ratio: 345/266;
      border-radius: 10px;
      margin-top: 30px;
   }


   .greetingTextWrap
   {
      flex-flow: column;
      flex-direction: column-reverse;
   }
   .greetingLeft
   {
      width: 100%;
      margin-top: 30px;
   }
   .outlineWrap
   {
      flex-flow: column;
   }
   .outlineLeft
   {
      width: 100%;
   }
   .outlineRight
   {
      width: 100%;
   }
   
   .markWrap
   {
      width: 100%;
   }
   .markWrap figure
   {
      margin: 0 10px;
   }
   .markWrap figure figcaption
   {
      font-size: 0.9em;
      /* text-align: justify; */
   }

   
   .accessWrap
   {
      flex-flow: column;
   }
   .accessLeft
   {
      width: 100%;
   }
   .accessLeft dl
    {
        flex-flow: column;
        border: none;
        /* margin: 20px 0; */
    }
    .accessLeft dl dt
    {
        background-color: #fff;
        border-radius: 5px;
        padding-left: 5%;
    }
    .accessLeft dl dd
    {
        margin: 0;
        padding-left: 5%;
        font-weight: 500;
        margin-top: 10px;
    }
   .accessRight
   {
      width: 100%;
      aspect-ratio: 345/266;
      border-radius: 10px;
      margin-top: 30px;
   }
   .timeline
   {
      width: 95%;
   }
   .timeline li .text
   {
      padding-left: 0px;
   }
   .greetingTextWrap
   {
      gap: 0px;
   }
   section h2
   {
      line-height: 1.3;
   }
   
}