body, html {
    height: 100%;
    margin: 0;
    font-size: 62.5%;
}
body {
    font-family: "Custom Yu Gothic","YuGothic","Yu Gothic",Hiragino Sans,Hiragino Kaku Gothic ProN,"Meiryo",sans-serif;
    font-size: 1.4em;
    user-select:none;
    -webkit-user-select:none;
    -ms-user-select: none;
    -moz-user-select:none;
    -khtml-user-select:none;
    -webkit-user-drag:none;
    -khtml-user-drag:none;
}

h1, h2, h3, h4, h5, h6 {

    font-size: 100%;
    font-weight: 400;
    color: #6E6F74;
    font-family: 'Cormorant Upright', serif;

}

p, a, span {
  color: #2f3b43;
}

main p, main a, footer h3, footer p, footer a  {
  font-family: "Custom Yu Gothic","YuGothic","Yu Gothic",Hiragino Sans,Hiragino Kaku Gothic ProN,"Meiryo",sans-serif;
}


/* ローディング画面の背景 */
.loading {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #000;
  z-index: 9999;
}
/* アニメーション */
.animation{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: rgb(217, 249, 247);
  -webkit-animation: loadinganimation 1500ms ease-out forwards infinite;
  animation: loadinganimation 1500ms ease-out forwards infinite;
}
@keyframes loadinganimation {
  from,to {
		opacity: 0;
  }
  50% {
		opacity: .5;
  }
}


#main_wrapper {
  background-color: rgb(232, 238, 232);
  position: relative;
  padding-bottom: 0.01px;
}

/* jumbotron */
header.jumbotron {
    /* height: 570px; */
    height: 480px;
    /* background: url("../static/img/header_v2.jpg") center 0 no-repeat; */
    background-size: cover;
    margin-bottom: 0;
    position: relative;
    padding: 0;
    overflow: hidden;
}
h1.jumbotron-h1{
    text-indent:100%;
    white-space:nowrap;
    overflow:hidden;
}
header.jumbotron > figure { margin:0; }
header.jumbotron > figure > img {
  width: 100%;
  /* animation  : jumbotronAnime 8s ease 0s 1 normal; */
}

.jumbotron_logo {
    /* animation  : FadeIn 8s ease 0s 1 normal; */
    position: absolute;
    top: 86%;
    left: 14%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: 100;
    /* width: 300px; */
}
.jumbotron_logo > img {
  width: 300px;
}

/* top page */
.top_page_subtitle {
  position: relative;
  font-size: 3rem;
  text-align:center;
  margin-bottom: 3rem;
  margin-top: 6rem;
  color: #6E6F74;
}

.top_page_subtitle::after {
  content: '';
  width: 110px;
  height: 2px;
  display: inline-block;
  background-color: #a2a2a2;
  position: absolute;
  bottom: -5px;
  left: calc(50% - 55px)
}

.about_us_cards {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.about_us_cards div p {
  font-size: 3rem;
  font-family: 'Cormorant Upright', serif;
  color: #6E6F74;
}

.about_us_cards div img {
  width: 15rem;
  height: 15rem;
}

.company_info_p {
  text-align: center;
  margin: auto;
  font-size: 1.5rem;
}

#company_info .row {
  margin-bottom: 1rem;
}

/* in article page */
.jumbotron_article_text_block {
  position: absolute;
  top: 45%;
  left: 46%;
  z-index: 10;
}
.jumbotron_article_text_block_inner {
  color: white;
  text-align: center;
}
.jumbotron_article_text_block_inner > h1 {
  max-width: 900px;
  margin: .7rem auto 0;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.7;
  font-weight: 700;
}
.jumbotron_article_text_block_inner > p {
  margin-top: .86rem;
  font-size: 11px;
  font-size: 1.1rem;
  font-family: 'Open Sans',sans-serif;
}
.jumbotron_article_img_block {
  background-color: lightblue;
}
.jumbotron_article_img_block > img {
  opacity: 0.8;
  width: 100%;
  padding:0;
  margin:0;
  object-fit: cover;
}

/* article-content-block */
#main_wrapper {
  padding-bottom: 240px;
}
.article_content_block_top{
  max-width: 640px;
  margin: 0 auto;
}
.article_content_block_top._top {
    padding: 6rem 0 5rem;
    border-bottom: 1px solid #a2a2a2;
}
.article_content_block {
  max-width: 640px;
  margin: 7rem auto 0;
  color: #171717;
  font-size: 15px;
  font-size: 1.5rem;
}

.article_content_block > p{
  clear: both;
  margin-bottom: 0;
  line-height: 2;
  padding-bottom: 2em
}

.article_content_block > hr {
  margin: 4em 0;
  border: none;
    border-top-color: currentcolor;
    border-top-style: none;
    border-top-width: medium;
  border-top: 1px dotted #c7c7c7;
}

.article_content_block_bottom {
  max-width: 640px;
  margin: 60px auto;
}
.article_content_block_bottom > p{
  font-size: 2rem;
}

.article_content_block_midashi {
  text-align: left;
  font-size: 24px;
  margin-top: 30px;
}

.article_content_block_jobtitle {
  font-size: 18px
}

.to_top_a {
  margin-top: 0;
  padding-top: 0;
}

.article_title {
  color: white;
}
.article_date {
  color: white;
}

@keyframes jumbotronAnime {
  0% { opacity: 0; transform: scale(1.1, 1.1); }
  10% { opacity: 0.05; transform: scale(1.1, 1.1); }
  15% { opacity: 0.1; transform: scale(1.1, 1.1); }
  20% { opacity: 0.15; transform: scale(1.1, 1.1); }
  22.5% { opacity: 0.2; transform: scale(1.1, 1.1); }
  25% { opacity: 0.25; transform: scale(1.1, 1.1); }
  27.5% { opacity: 0.3; transform: scale(1.1, 1.1); }
  30% { opacity: 0.5; transform: scale(1.1, 1.1); }
  100% { opacity: 1; transform: scale(1.0, 1.0); }
}

@keyframes FadeIn {
  0% { opacity: 0; }
  50% { opacity: 0; }
  100% { opacity: 1;}
}

/* navbar */
.navbar {
  background-color: rgb(232, 238, 232) ;
  height: 72px;
  padding-left: 2rem;
  padding-right: 2rem;
}

.navbar > ul > li {
  margin-right: 35px;
}

.navbar > ul > li > a{
  color: #6E6F74 !important;
  font-family: 'Cormorant Upright', serif;
  font-size: 1.6rem;
}

.navbar-brand {
  margin-left: 15px;
}

#navbar-logo {
  opacity: 0;
}

.g-search_input {
display: block;
border: none;
width: 154px;
float: right;
margin-right: 24px;
padding-bottom: 2px;
border-bottom: 1px solid #bbc1c2;
line-height: 1.5;
color:#8a8a8a;
cursor: pointer;
outline: none;
font-size: 1.35rem;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0;
-webkit-transition: width .3s cubic-bezier(.215,.61,.355,1) 0s,color .3s ease 0s,border-color .3s ease 0s;
transition: width .3s cubic-bezier(.215,.61,.355,1) 0s,color .3s ease 0s,border-color .3s ease 0s;
background: 0 0;
user-select:auto;
    -webkit-user-select:auto;
    -ms-user-select: auto;
    -moz-user-select:auto;
    -khtml-user-select:auto;
    -webkit-user-drag:auto;
    -khtml-user-drag:auto;
}
input[type="text"]:focus {
  cursor: text;
  opacity: 1;
  width: 180px;
}

.g-search_input:placeholder-shown {
    font-family: 'Cormorant Upright',serif;
    font-size: 1.6rem;
    letter-spacing: .03em;
    line-height: 1.2;
}

.g-search_btn {
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    margin-top: -15px;
    background: url(../static/img/search-24px.svg) 50% 50%/cover no-repeat;
    text-indent: -999em;
}

button, legend {
    border: 0;
    padding: 0;
}

.nav-column > a > span {
  position: relative;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}
.nav-column > a > span::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.nav-column > a > span:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.nav-column > a > span:hover {
  color: #333 !important;
}

.nav-column > a {
  padding: 0;
}



/* content */
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:2.5s;
 -ms-animation-duration:2.5s;
 animation-duration:2.5s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

a {
  margin: 0;
  border: 0;
  background: 0 0;
  -webkit-tap-highlight-color: rgba(189,185,185,0);
  -webkit-transition: opacity .1s ease-in-out 0s;
  transition: opacity .1s ease-in-out 0s;
  /* color:#171717; */
  text-decoration: underline;
}

section {
    padding-bottom: 5rem;
}

.article-img {
  position: relative;
}
.article-img > figure > img {
  height: 250px;
  width: 100%;
  object-fit: cover;
}

.article_category {
  position: absolute;
  top: -40px;
  left: 13px;
  font-family: 'Cormorant Upright',serif;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.1;
  color: #808085;
  /* z-index: 10; */
}

.m-article {
  padding: 15px;
  cursor: pointer;
}
.m-article_link, a.m-article2_link {
  text-decoration: none;
}
.m-article_link:hover {
  text-decoration: none;
}
.m-article_link.js-article-link:hover {
  color: black;
}


.m-article_title {

    margin-top: -.4rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 3px;

}

.m-article_summary {
  margin-top: 1.3rem;
  color:#808085;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5;
}

.article_text-block-top {
  margin-top: 0.5rem;
  padding: 0 3%;
}

/* .article_text-block-top > a{
  pointer-events: none;
} */

.article_hover_amimation {
  -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

.article_hover_amimation:hover{
  background-color: rgba(255, 255, 255, 0.294);
}





/* footer */
footer {
  padding-top: 120px;
}
footer a {
  color: #6d5c5a;
}
footer p {
  color: #808085;
  letter-spacing: 3px;
}
footer h2, footer h3 {
  color: #808085;
}
.footer_title {
  margin-bottom: 30px;
  top: -40px;
  left: 13px;
  font-family: 'Cormorant Upright',serif;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.1;
  color: #808085;
}
.footer_content_left {
  /* border-right: #666 solid 0.1rem; */
  padding-right: 45px;
}
.footer_content_right {
  border-left: #a2a2a2 solid 0.1rem;
  padding-left: 45px;
}
.footer_text {
  margin-top: 1.3rem;
  color:#808085;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5;
}
.footer_content_left h3 {
  font-size: 20px;
  font-size: 2rem;
  /* font-family: 'Cormorant Upright',serif; */
}
#footer_logo {
  margin: 0 auto;
  width: 130px;
  height: 40px;
}
#copyright {
  text-align: center;
  font-size: 10px;
  letter-spacing: 0;
  margin: 0 auto;
}

#cb-cookie-banner { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 999; border-radius: 0; display: none; }



/* レスポンシブデザイン用 */
   
@media only screen and (min-width:640px) and (max-width:1023px) {
/*tablet用のcssを記述*/

  .container {
    width: 90%;
  }

  section {
    padding-bottom: 5rem;
    padding-top: 5rem;
  }

  /* jumbotron */
  header.jumbotron {
    height: 300px;
    /* background: url("../static/img/header_v2.jpg") center no-repeat; */
    background-size: cover;
    position: relative;
  }
  
  .jumbotron_logo {
    /* animation  : FadeIn 8s ease 0s 1 normal; */
    position: absolute;
    top: 84%;
    left: 17%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: 100;
    /* width: 300px; */
  }

  .jumbotron_logo > img {
    width: 240px;
  }

  /* .jumbotron > figure > img {
    width: 100%;
    height: 200px;
  } */

  .mobile-menu-icon-toggle{
    display: none;
  }

  .gnav {
    display: none;
  }

  .first_section {
    padding-top: 5rem;
  }

  .article-img > figure > img {
    height: 190px;
  }

  .article_category {
    top: -29px;
    left: 15px;
    font-size: 4rem;
  }

  .footer_title {
    font-size: 4rem;
  }

  .footer_sns_img{
    width: 18px;
    height: 18px;
    margin-right: 15px;
  }
  
  .svg_brown{
    fill: #6D5C5A;
  }

}

/* スマホ横 */
@media only screen and (min-width:640px) and (max-width:896px) {
  
  header.jumbotron {
    height: 260px;
  }

  .jumbotron_logo {
    top: 82%;
    left: 20%;
  }

  .navbar-nav {
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .footer_content_left {
    padding-bottom: 30px;
  }

  .footer_content_right {
    border-left: none;
    border-top: #a2a2a2 solid 0.1rem;
    padding-left: 0;
    padding-top: 45px;
    padding-left: 15px;
  }

}
  
@media screen and (min-width:1024px) {
/*pc用のcssを記述*/
  .container {
    width: 80%;
  }

  section {
    padding-bottom: 5rem;
    padding-top: 5rem;
  }

  .mobile-menu-icon-toggle{
    display: none;
  }

  .gnav {
    display: none;
  }

  header.jumbotron {
    height: 400px;
  }

  .jumbotron_logo {
    top: 85%;
    left: 17%;
  }

  .footer_sns_img{
    width: 18px;
    height: 18px;
    margin-right: 15px;
  }
  
  .svg_brown{
    fill: #6D5C5A;
  }

  
}

@media screen and (max-width:639px) {
  /*スマホ用のcssを記述*/
  
    /* jumbotron */
    header.jumbotron {
      height: 192px;
      /* background: url("../static/img/header_v2.jpg") center no-repeat; */
      background-size: cover;
      position: relative;
    }
    .jumbotron_logo {
      /* animation  : FadeIn 8s ease 0s 1 normal; */
      position: absolute;
      top: 86%;
      left: 20%;
      -webkit-transform: translate(-50%,-50%);
      transform: translate(-50%,-50%);
      z-index: 100;
      /* width: 300px; */
    }
    .jumbotron_logo > img {
      width: 120px;
    }
  
    .jumbotron > figure > img {
      width: 100%;
      height: 200px;
    }
  
    /* navbar */
    .navbar {
      height: 50px;
      background-color: transparent;
      align-items: none;
      display: block;
    }
  
    .navbar-brand {
      margin-left: 0;
      padding-top: 0.313rem;
    }
    #navbar-logo{
      width: 35%;
      height: 25px;
    }
  
    ul.navbar-nav{
      display:none;
    }

    /* top page */
    .top_page_subtitle {
      margin-top: 0;
    }
    .about_us_cards {
      margin-top: 3rem;
      margin-bottom: 3rem;
    }
    .about_us_cards div p {
      font-size: 2rem;
    }
    .about_us_cards div img {
      width: 7rem;
      height: 7rem;
    }
    section {
      padding-bottom: 0;
    }
    .company_info_p {
      font-size: 1rem;
    }
  
    /* content */
    .container {
      width: 100%;
      /* padding-right: 10px;
      padding-left: 10px; */
    }
  
    #first_section { 
      margin-top: 0px;
    }
  
    .article-img > figure > img {
      height: 160px;
      width: 100%;
      object-fit: cover;
    }
  
    .article_category {
      font-size: 3.2rem;
      top: -23px;
      left: 20px;
    }
  
    .m-article_title {
      font-size: 14px;
      font-size: 1.4rem;
    }
  
    .m-article_date {
      font-size: 10px;
      font-size: 1rem;
    }
  
    .m-article_summary {
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 1px;
    }
  
  
  
    /* mobile grobal nemu */
    /*gnav*/
  .gnav{
      background: rgba(0,0,0,0.8);
      display: none;
      height: 100%;
      position: absolute;
      width: 100%;
      z-index: 101;
      bottom: 0;
  }
  .gnav__wrap{
      align-items:center;
      height: 100%;
      justify-content: center;
      position: fixed;
      width: 100%;
  }
  .gnav__menu__item{
      margin: 40px 0;
  }
  .gnav__menu__item a{
      color: #fff;
      color: #6E6F74;
      font-size: 2em;
      font-weight: bold;
      padding: 40px;
      text-decoration: none;
      transition: .5s;
      font-family: 'Cormorant Upright',serif;
  }
  .gnav__menu__item a:hover{
      color: #a2a2a2;
  }
  .gnav__menu {
    list-style: none;
  }
  
  
  .mobile-menu-icon-toggle {
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    z-index: 9;
    margin-left: 200px;
    opacity: 0;
    top: 15px;
  }
  
  .home .mobile-menu-icon-toggle {
    top: 50px;
    position: absolute;
    right: 20px;
    top: 20px;
  }
  
  .mobile-menu-icon-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    background-color: rgb(0, 0, 0);
    transform: translate(0, -50%);
    transition: opacity 0.3s 0.3s;
  }
  
  .home:not(.open) .mobile-menu-icon-toggle span {
    background-color: rgb(0, 0, 0);
  }
  
  .mobile-menu-icon-toggle::before, .mobile-menu-icon-toggle::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    background-color: rgb(0, 0, 0);
    transition: transform 0.3s, top 0.3s 0.3s, bottom 0.3s 0.3s;
  }
  
  .mobile-menu-icon-toggle::before {
    top: 6px;
  }
  
  .mobile-menu-icon-toggle::after {
    bottom: 6px;
  }
  
  .open {
    z-index: 10;
  }
  .open .mobile-menu-icon-toggle span {
    opacity: 0;
    transition: opacity 0.3s;
  }
  
  .open .mobile-menu-icon-toggle::before, .open .mobile-menu-icon-toggle::after {
    background-color: rgb(0, 0, 0);
  }
  
  .open .mobile-menu-icon-toggle::before {
    top: calc(50% - 1px);
    transform: rotate(45deg);
  }
  
  .open .mobile-menu-icon-toggle::after {
    bottom: calc(50% - 1px);
    transform: rotate(-45deg);
  }
  
  .open .mobile-menu-icon-toggle::before, .open .mobile-menu-icon-toggle::after {
    transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s;
  }
  
  
  /* footer */
  footer {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
  }
  .footer_content_left {
    margin-bottom: 30px;
  }
  .footer_content_right {
    border-top: #a2a2a2 solid 0.1rem;
    border-bottom: #a2a2a2 solid 0.1rem;
    border-left: none;
    padding-left: 15px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .footer_title {
      font-size: 30px;
      font-size: 3rem;
  }
  .footer_text {
      font-size: 12px;
      font-size: 1.2rem;
  }
  
  .footer_sns_text{
    font-size: 11px;
    font-family: "Custom Yu Gothic","YuGothic","Yu Gothic",Hiragino Sans,Hiragino Kaku Gothic ProN,"Meiryo",sans-serif;
    letter-spacing: 2px;
  }
  .footer_sns_img{
    width: 15px;
    height: 15px;
    margin-right: 5px;
  }
  
  .svg_brown{
    fill: #6D5C5A;
  }
  
  
  
  /* article */
  article p, a, span {
    font-size: 12px;
  }
  .navbar-brand {
    position: relative;
  }
  .mobile-menu-icon-toggle {
    top: 5px;
  }
  .jumbotron_article_text_block {
    top: 39%;
    left: 33%;
  }
  #main_wrapper {
    padding-bottom: 7rem;
  }
  .article_content_block_top {
    width: 90%;
  }
  .article_content_block_top._top {
    padding: 3rem 0 2rem;
  }
  .article_content_block {
    width: 90%;
  }
  .article_content_block_midashi {
    font-size: 20px;
  }
  .article_content_block_jobtitle {
    font-size: 16px;
  }
  .article_content_block > p {
    padding-bottom: 1em;
  }
  
  
  }
