@charset "UTF-8";
/*
Theme Name: 公立置賜総合病院
Description: 
* 
* Bootstrap v4.1.3 (https://getbootstrap.com/)
*/
html {font-size: 62.5%;}
/*.wrapper {padding-top: 80px; min-width: 0;}@media only screen and (min-width: 481px) {.wrapper {padding-top:0;min-width: 1240px;}}*/
@media only screen and (max-width: 991px) {.wrapper {padding-top:80px}}
/*@media only screen and (min-width: 768px) and (max-width: 1000px) {.container{width: 100%;}} タブレット用*/
@media all and (-ms-high-contrast: none) {.wrapper {overflow: hidden;}}
body{
  font-feature-settings: "palt";
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  /*font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;*/
  /*font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
  font-size: 1.6rem;
  font-weight:normal;
  line-height: 1.7;
  letter-spacing: .05rem;
  /*word-wrap: break-word;
  overflow-wrap: break-word;*/
  word-break: break-all;
  -webkit-text-size-adjust:100%;
  /*text-align: justify;
  text-justify: inter-ideograph;*/
  animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@media (min-width: 481px){body{padding-top:0}}img{height: auto;max-width:100%;vertical-align:bottom}p{line-height:1.7;/*text-align:justify;text-justify:inter-ideograph*/}@media (min-width: 481px){p{line-height:2}}.fs-1{font-size:.5rem!important}.fs-2{font-size:.75rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:1.25rem!important}.fs-5{font-size:1.5rem!important}ul,ol{margin-left:2.5rem;margin-bottom:1.25rem;padding:0}li{line-height:1.428}li:last-child{margin-bottom:0}.page main p a,.page main li a,.page main dd a{text-decoration:underline}main p a:hover,main li a:hover,main dd a:hover{text-decoration:none}a{color:#333;transition: opacity .3s,background-color .3s,color .3s}a:hover{color:#00adbf}.table td,.table th{border-top:none;border-bottom:1px solid #dee2e6}div>table:last-child,div>ol:last-child,div>ul:last-child,div>ol>li:last-child,div>ul>li:last-child,div>p:last-child,td>ul:last-child{margin-bottom:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:700;line-height:1.5}.anone{display:none}h3{font-weight:700}@media (min-width: 481px){.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{line-height:1.2}}.caution{color:#ea4335;font-size:1.4rem;}.form_inner:last-child{margin-top:2.5rem}.wpcf7 .ajax-loader{margin-bottom:-1.5rem}.wpcf7-form-control.wpcf7-submit.submit-btn{background-color:#fff;border:1px solid #073c75;color:#073c75;height:40px;letter-spacing:.05rem;width:200px;max-width:90%;padding-left:2.5rem;padding-right:2.5rem;transition:.3s}.wpcf7-form-control.wpcf7-submit.submit-btn:hover{background-color:#073c75;color:#fff}@media only screen and (max-width: 480px){.form-inline>.input-group{display:block}}
.wpcf7-form-control.wpcf7-submit.submit-btn:disabled,.wpcf7-form-control.wpcf7-submit.submit-btn:disabled:hover {border: none;background-color: #ccc;color: #333;}
h3.col-flex-1{font-weight: 500;}


body:not(.home) #content,
#content>section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media (min-width: 992px) {
  body:not(.home) #content,
  #content>section {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
main{overflow: hidden;}
/* gutters */
.gutters-8 {
  margin-left: -8px;
  margin-right: -8px;
}
.gutters-8>[class*=col] {
  padding-left: 8px;
  padding-right: 8px;
}
.post.row.gutters-8>[class*=col] {
  margin-bottom: 16px;
}
.gutters-4 {
  margin-left: -4px;
  margin-right: -4px;
}
.gutters-4>[class*=col] {
  padding-left: 4px;
  padding-right: 4px;
}
.post.row.gutters-4>[class*=col] {
  margin-bottom: 8px;
}
@media (min-width: 992px) {
  .gutters-20 {
    margin-left: -20px;
    margin-right: -20px;
  }
  .gutters-20>[class*=col] {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 1024px) {
  .gutters-40 {
    margin-left: -40px;
    margin-right: -40px;
  }
  .gutters-40>[class*=col] {
    padding-left: 40px;
    padding-right: 40px;
  }
  .gutters-30 {
    margin-left: -30px;
    margin-right: -30px;
  }
  .gutters-30>[class*=col] {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* common
--------------------------*/
@media only screen and (max-width: 768px) {
  .container,.container-lg {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (min-width: 750px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: #333;
  }
}
.red {
  color: #ea4335;
  font-size: .8rem;
}

.gmap-wrapper {
  background: #f7f7f7;
  padding: .25rem;
}
.gmap.iframe-wrap,
.movie.iframe-wrap {
  height: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.gmap.iframe-wrap {
  padding-bottom: 75%;
}
.movie.iframe-wrap {
  padding-bottom: 56.25%;
}
.iframe-wrap iframe {
  position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}
@media (min-width: 480px) {
  .gmap.iframe-wrap {
    padding-bottom: 56.25%;
  }
}
.gmap iframe {
  height: calc(100%*2.25);
}

figure {margin: 0;}
.table {
  border-top: 1px solid #dee2e6;
}
a img {transition: .3s;}
a:hover img {/*transform: scale(1.05);*/opacity: .6;}
.button {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 480px) {
  .instructor-desc .movie {
    height: 0;
    overflow: hidden;
    position: relative;
    z-index: 10;
    padding-bottom: 56.25%;
  }
  .movie iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }
}
@media only screen and (max-width: 575.98px) {
  .table-responsive-sm {overflow-x:scroll;}
  .table-responsive-sm::-webkit-scrollbar{height:10px;}/*バーの太さ*/
  .table-responsive-sm::-webkit-scrollbar-track{background:#f0f0f0;}/*バーの背景色*/
  .table-responsive-sm::-webkit-scrollbar-thumb{background:#ddd;}/*バーの色*/
  #w-576.table-responsive-sm .table {
    width: 576px;
  }
  .table-responsive-sm .table {
    width: 750px;
    border: 1px solid #dee2e6;
  }
  .table-responsive-sm .obj {
    width: 576px;
  }
  .table-xs th {
    display: block;
    width: 100%;
  }
  .table-xs td {
    display: block;
    width: 100%;
    margin-bottom: 1.5rem;
  }

  .table-responsive-row th,
  .table-responsive-row td {
    display: block;
    width: 100%!important;
    word-break: break-word;
  }
  .table-responsive-row table,
  .table-responsive-row td {
    border: none;
  }
  .table-responsive-row th {
    border-top: 1px solid #dee2e6;
    padding-left: 1rem;
    text-align: left!important;
  }
  .table-responsive-row td {
    padding-bottom: 1.75rem!important;
  }
}
/* hover action */
article figure {
  overflow: hidden;
}
article a img {
  transition: .76s;
}
article a:hover img {
  transform: scale(1.2);
  opacity: 1;
}

/* link btn */
.link {
  text-align: center;
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .link {
    margin-top: 4rem;
  }
}

.link .btn {
  background-color: #fff;
  border: 2px solid #167f72;
  border-radius: .5rem;
  /*color: #167f72;*/
  font-size: 16px;
  font-weight: 500;
  height: 50px;
  width: 255px;
  margin: .5rem;
  max-width: 90%;
  line-height: 45px;
  padding: 0 1.5rem;
  transition: .3s;
}
.link .btn:hover {
  background-color: #167f72;
  color: #fff;
}
.link  svg {
  transition: color .35s;
}

/* bg-image */
.bg-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-top: 56.25%;
}
.bg-image>span {
  display: none;
}
.page .bg-image {
  margin-top: 1.5rem;
}
@media (min-width: 992px) {
  .bg-image {
    height: 100%;
    padding-top: 0;
  }
  .page .bg-image {
    margin-top: 0;
  }
}
@media only screen and (max-width: 992px) {
  header .brand img {
    max-height: 58px;
  }
}


/* module
--------------------------*/
/* header */
#nav-bar {
  width: 100%;
}
header {
  background-color: #fff;
  padding-top: 1rem;
  padding-bottom: 1.25rem;
  position: fixed;
  top: 0;
  transition: .15s;
  width: 100%;
  z-index: 10;
}
@media (min-width: 992px) {
  header {
    padding-bottom: 1.75rem;
    position: static;
  }
  .home header.sticky {
    animation: moveDown .75s forwards;
    background-color: #fff;
    position: sticky;
    top: 0;
  }
  header.animate {
    animation: none;
  }
  header {
    background-color: transparent;
  }
  #nav-bar {
    margin: 0 auto;
    height: 100%;
    width: 100%;
  }
}
#nav-bar {
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 1280px) {
  #nav-bar {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media only screen and (max-width: 992px) {
  header {
    height: 80px;
    padding-top: 0;
    padding-bottom: 0;
  }
  header.sticky {
    position: fixed;
  }
}
.sticky {
  background: #fff;
  /*transition: transform .75s;
  transform: translateY(0)!important;*/
  box-shadow: 0 8px 8px -3px rgb(0 0 0 / 10%);
}
.sticky a:hover {
  opacity: .75;
}
body:not(.home) header {
  position: fixed;
  background: #fff;
}
body:not(.home) .wrapper {
  padding-top: 80px;
}
@media (min-width: 992px) {
  body:not(.home) .wrapper {
    padding-top: 132px;
  }
}

/* .brand */
header h1 {
  line-height: 1;
  margin: 0;
  position: relative;
  z-index: 2;
}
.brand img {
  max-height: 100%;
  transition: opacity .35s;
  width: 100%;
}
@media (min-width: 480px) {
  header .brand img {
    max-width: 320px;
  }
}
@media (min-width: 992px) {
  .brand a {
    display:-ms-flexbox;
    display:flex;
  }
}
@media only screen and (max-width: 992px) {
  .brand {
    /*position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);*/
    width: 207px; /* iosでの意図しない挙動の対策（バグ？正常？） */
    /*z-index: 2;*/
    -ms-flex-item-align: center;
    align-self: center;
  }
}


/* .nav-area */
nav ul {
  list-style: none;
  margin: 0;
}
nav ul li {
  margin: 0;
  position: relative;
}
nav ul .nav-item .anker {
  font-size: 1.4rem;
  padding: 0 15px;
  display: block;
  position: relative;
  font-weight: 700;
}
.nav-item .anker>span {
  display: block;
  font-size: 1rem;
}
.nav-area {
  -ms-flex-item-align: center;
  align-self: center;
  margin-left: auto;
}
header .nav-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

@media (min-width: 993px) {
  header .nav-area {
    position: static;
    max-width: 750px;
  }

  header nav ul li.law {
    display: none;
  }
  nav ul .nav-item .anker {
    color: #000;
    text-align: center;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
  }
  nav ul .nav-item .anker:hover,
  .sticky nav ul .nav-item .anker:hover {
    color: #000;
    opacity: .7;
  }
  nav .sub-menu a:hover {
    color: #fff!important;
  }

  nav ul .nav-item .anker::before {
    content: "";
    background: transparent;
    position: absolute;
    bottom: -.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 75%;
    height: 4px;
    transition: .5s;
  }
  nav ul .nav-item.current .anker::before {
    background: #004C88;
  }
  nav ul .nav-item:not(.current) .anker:hover::before {
    background: #004C88;
    height: 8px;
  }

  .home header:not(.sticky) nav ul .nav-item .anker {
    color: #fff;
  }

  footer nav ul {
    -ms-flex-pack: center;
    justify-content: center;
  }
  nav label {
    display: none;
  }
  .sub-menu .arrow-left {
    position: relative;
    display: block;
    height: 100%;
    padding-left: 1.5rem;
  }
  .sub-menu .arrow-left::before {
    border-top: 3px solid #ccc;
    border-right: 3px solid #ccc;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 8px;
    width: 8px;
  }
}
@media only screen and (max-width: 480px) {
  header .nav-wrap {
    background-color: #fff;
  }
  .footer-nav ul li {
    margin: 0;
    width: 50%;
    margin-bottom: 1rem;
  }
  footer address {
    padding-top: .5rem;
  }
}

/* drawer @ アクセシビリティ対応 */
@media (min-width: 992.02px) {
  #drawer-check {
    display: none;
  }
}
@media only screen and (max-width: 992px) {
  .wrapper {
    overflow-x: hidden;
    position: relative;
  }
  #nav-bar {
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    height: 100%;
    position: relative;
  }
  .nav-area {
    /*width: 100%;
    left: 0;
    height: 80px;*/
    height: 100%;
    z-index: 1;
  }
  .nav-area nav {
    position: relative;
    height: 100%;
  }
  /*.nav-area nav label*/
  .nav-area nav .navbar-toggler {
    cursor: pointer;
    position: absolute;
    right: 1.75rem;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .nav-area nav .navbar-toggler {
    border-radius: 100%;
    box-shadow: 0 0 2rem transparent;
    outline: none;
    -webkit-transition: all .3s ease-in-out;transition: all .3s ease-in-out;
  }
  .nav-area nav .navbar-toggler:focus {
    box-shadow: 0 0 0.75rem rgb(0 0 0 / 35%);
  }
  .toggler-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
  }
  .navbar-toggler {
    width: 4rem;
    height: 4rem;
    position: relative;
    padding: 0;
    margin: 0;
    border: none;
  }
  .navbar-toggler .navbar-toggler-icon, .navbar-toggler .navbar-toggler-icon:before, .navbar-toggler .navbar-toggler-icon:after {
    position: absolute;
    height: 3px;
    width: 2em;
    background: #000;
    display: block;
    content: '';
    cursor: pointer;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .navbar-toggler-icon {
    top: 0;left: 0;right: 0;bottom: 0;
    margin: auto;
  }
  .navbar-toggler .navbar-toggler-icon:before, .navbar-toggler .navbar-toggler-icon:after {
    width: 100%;
    left: 0;
  }
  .navbar-toggler .navbar-toggler-icon:before {
    top: -8px;
  }
  .navbar-toggler .navbar-toggler-icon:after {
    bottom: -8px;
  }
  .navbar-toggler[type=button]:not(:disabled),
  button.navbar-toggler:not(:disabled),
  .navbar-toggler .navbar-toggler-icon,
  .navbar-toggler .navbar-toggler-icon:before,
  .navbar-toggler .navbar-toggler-icon:after {
    cursor: pointer;
  }
  .navbar-toggler {
    z-index: 200;
  }
  header .nav-wrap {
    /*background-color: #fff;*/
    border-top: 1px solid #ccc;
    /*display: -ms-flexbox!important;
    display: flex!important;
    -ms-flex-direction: column!important;
    flex-direction: column!important;*/
    height: 0;
    margin: 0;
    overflow-y: auto;
    padding: 0 !important;
    position: absolute;
      /*top: 80px;*/
      top: 100%;
      right: 0;
      bottom: 0;
      -webkit-overflow-scrolling: touch;
    text-align: center;
    transition: .5s;
    /*transform: translateX(100%);*/
    visibility: hidden;
    width: 100%;
  }
  header nav .inner>ul {
    margin: 0;
    display: block !important;
  }
  /*nav ul li {
    padding: 0;
    text-align: left;
  }*/
  header .nav-item>a {
    display: block;
    padding: 15px!important;
  }
  .sub-menu>li {
    border-top: 1px solid #ccc;
    border-bottom: none;
    text-align: left;
  }
  header nav ul>.nav-item .anker {
    color: #000;
    padding: 1.5rem 0;
    font-size: 1.4rem;
    position: relative;
  }
  header nav ul>.nav-item .anker::after {
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    content: "";
    position: absolute;
    top: 0;
    right: 2px;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 12px;
    width: 12px;
  }
  .nav-item {
    position: relative;
  }
  .nav-item .slide-btn {
    background-color: #f0f0f0;
    border: 1px solid #eee;
    content: "";
    position: absolute;
    top: 8px;
    right: 8px;
    height: 40px;
    width: 40px;
    z-index: 2;
  }
  .nav-item .arrow {
    position: relative;
    display: block;
    height: 100%;
  }
  .nav-item .arrow::after {
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 12px;
    width: 12px;
  }

  .nav-open .drawer-open span {
    background: rgba(255, 255, 255, 0);
  }
  .nav-open .drawer-open span::before {
    top: 0;
    transform: rotate(45deg);
  }
  .nav-open .drawer-open span::after {
    bottom: 0;
    transform: rotate(-45deg);
  }
  .nav-open .nav-wrap {
    box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);
    /*height: calc(100vh - 80px);*/
    height: 132px;
    /*transform: translateX(0);*/
    visibility: visible;
  }
  .nav-wrap .inner {
    background-color: #fff;
    padding: 1rem 2rem;
  }
} /* end max-width: 992px */
@media only screen and (max-width: 767.98px) {
  .nav-open .nav-wrap {
    height: calc(100vh - 80px);
  }
}
@media only screen and (max-width: 576px) {
  nav ul li {
    border-bottom: 1px solid #ccc;
  }
}

header .nav-wrap>.inner {
  height: 100%;
  width: 100%;
}
@media (min-width: 768px) {
  header .nav-wrap {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  header .nav-wrap>.inner>div {
    padding-left: 15px;
    padding-right: 15px;
  }
  nav ul {
    margin-left: -15px;
    margin-right: -15px;
  }
}
header .nav-wrap>.inner ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  position: relative;
}


/* sub-menu */
.sub-menu > li > a {
  color: #fff;
  display: block;
  font-size: 1.3rem;
  font-weight: normal;
}
.sub-menu a:hover {
  opacity: .5;
}

@media (min-width: 576px) {
  .nav-item>a {
    height: 80px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    transition: background-color .5s, color .5s;
  }
  .nav-item .slide-btn {
    display: none;
  }
  .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    color: #fff;
    z-index: 3;
  }
  .nav-item .anker {
    position: relative;
  }
  .sub-menu > li {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media only screen and (max-width: 992px) {
  .sub-menu {
    opacity: 0;
    visibility: hidden;
    display: none;
  }
  .nav-item.open .sub-menu,
  .nav-item:hover .sub-menu,
  .current .sub-menu {
    opacity: 1;
    visibility: visible;
  }
  .nav-item .anker {
    position: relative;
  }
  .sub-menu > li > a {
    color: #000;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .nav-item .arrow::after {
    transition: .5s;
  }
}

/* #jumbotron
---------------------------------------- */
#jumbotron {
  position: relative;
  overflow: hidden;
}
/*
@media only screen and (min-width: 480px) and (max-width: 768px) {
  #jumbotron {
    padding-top: 80px;
  }
}*/
/*
#loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
}
#loading.disappear {
  display: none;
}*/

/* #video-area */
#video-area {
  background-color: #f7f7f7;
  display: none;
  padding-top: calc(757/1924*100%);
  z-index: 1;
}
#video {
  /*background: url("../images/hero1.jpg") no-repeat center / cover;*/
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#video-area p {
  color: #fff;
  font-size: 6vw;
  font-weight: bold;
  margin: auto;
  position:absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  text-align: center;
  /*text-shadow: 0 0 15px #666;*/
  z-index: 2;
}
@media (min-width: 992px) {
  #video-area p {
    font-size: 6rem;
  }
}
#player {/*
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;*/
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}
#overlay {
  position: absolute;
  z-index: 2;
  top:0;
  width:100%;
  height: 100%;
}
#yt-player {
  position: relative;
  height: 300%;
  top: -100%;
}
.btn-ctrl {
  /*display: block;
  display: none;*/
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.5rem;
  transition: .75s;
  text-align: center;
  visibility: hidden;
  z-index: 20;
}
.btn-ctrl a span {
  /*background-color: #000; */
  color: #fff;
  display: inline-block;
  font-size: 5rem;
  padding: 1rem;
  line-height: 1;
  /* letter-spacing: .1rem; */
  opacity: .15;
  transition: .35s;
  /* text-align: center; */
  /* width: 125px;*/
}
.btn-ctrl a:hover span {
  opacity: .75;
}
#video:hover .btn-ctrl {
  opacity: 1;
  visibility: visible;
}

/*#video:hover .btn-ctrl {
  animation: fadeOut .75s;
  animation-delay: 35s;
}
@keyframes fadeOut {
  0% {opacity: 1;}
  100% {opacity: 0;}
}*/
/*
#play-btn,
#mute-btn {display: none;}
@media (min-width: 992px) {
  #video-area {
    display: block;
  }
  #hero-slider {
    display: none;
    margin-bottom: -2.5rem;
  }
}*/

/* #hero-slider */
#hero-slider {
  position: relative;
}
#hero-slider .slider {
  position: relative;
}
#hero-slider .bg-image {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  /*background-position:top;*/
}
#hero-slider .desc p {
  color: #fff;
  font-size: 6vw;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  max-width: 100%;
  z-index: 1;
}
#hero-slider .desc p {
  text-align: center;
}
.click-here {
  background: rgba(255,255,255,.15);
  border: 1px solid #fff;
  color: #fff;
  display: inline-block;
  margin-top: 1rem;
  padding: 1rem 2.5rem;
  font-size: 1.3rem;
}
.mov-sp {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.mov-sp .toggle {
  display: block;
  width: 100%;
  height: 100%;
}
.mov-sp figure a {
  display: block;
  width: 100%;
  opacity: 1;
  transition: .3s;
}
.mov-sp figure {
  margin: 0;
  display: none;
}
.mov-sp figure:target {
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}
.mov-sp figcaption {
  font-size: 1.5vw;
  font-weight: 300;
  color: #FFF;
  margin: 1.5vw 0;
}
.mov-sp figure:target a.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  text-decoration: none;
  color: inherit;
}
.mov-sp figure:target .iframe-wrap {
  animation: fadein .75s;
  padding-bottom: 56.25%;
  width: 80%;
}
@keyframes fadein {
  0% {
    transform: scale(.8);
    opacity: .2;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@media (min-width: 992px) {
  #hero-slider .bg-image {
    height: auto;
  }
  #hero-slider .desc {
    font-size: 6rem;
  }
}
#hero-slider .bg-image {
  padding-top: 75%;
}
#hero-slider .carousel-cell {
  position: relative;
}
#hero-slider .desc.get_the_content .mov-btn {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/* #page_header
---------------------------------------- */
#page_header {
  height: 150px;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#page_header::before {
  background: #167f72;
  /*background: linear-gradient(90deg,#f7f7f7, #f2f2f2);*/
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

#page_header h1 {
  color: #fff;
  font-size: 8vw;
  font-weight: 700;
  line-height: 1.3;
  margin: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  position: absolute;
    top: 50%;
    left: 0;
    right: 0;
  transform: translateY(-50%);
  text-align: center;
}
#page_header #page-title .subtitle {
  font-size: 1.25rem;
}
@media (min-width: 576px) {
  #page_header {
    height: 250px;
  }
  #page_header h1 {
    font-size: 4rem;
    letter-spacing: .25rem;
  }
}/*
#page-title .jp-title {
  display: block;
  font-size: 70%;
  font-weight: normal;
}*/

/* bread_crumb
---------------------------------------- */
#bread_crumb {
  padding: 1rem 0;
  font-size: 1.3rem;
  /*font-family: 'Noto Sans JP', sans-serif;*/
}
#bread_crumb span+.fas {
  margin: 0 .5rem;
}
#bread_crumb .row>div {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 100%;
}

/* slick slider
---------------------------------------- */
.slick-arrow:before,.carousel_arrow:before{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;width:15px;height:15px;border:3px solid}.slick-arrow.slick-next:before,.carousel_arrow.next_item:before{content:'';left:0;right:0;border-color:#666 #666 transparent transparent;transform:rotate(45deg)}.slick-arrow.slick-prev:before,.carousel_arrow.prev_item:before{content:'';border-color:transparent transparent #555 #555;transform:rotate(45deg)}.slick-prev,.slick-next{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:none;background:transparent}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:transparent;outline:none;background:transparent}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:'slick';font-size:20px;line-height:1;opacity:.75;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir='rtl'] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←'}[dir='rtl'] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir='rtl'] .slick-next{right:auto;left:-25px}.slick-next:before{content:'→'}[dir='rtl'] .slick-next:before{content:'←'}@media only screen and (max-width: 481px){.slick-prev{left:25px}.slick-next{right:25px}.slick-arrow{z-index:7}}.slick-dotted.slick-slider{margin-bottom:0}.slick-dots{position:absolute;bottom:2.5rem;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{font-family:'slick';font-size:2.5rem;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#232a51;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#232a51}

/* pagetop */
.pagetop {
  position: relative;
  z-index: 1;
}
.pagetop span {
  display: none;
}
.pagetop a {
  display: block;
  background-color: #167f72;
  border-radius: 100%;
  height: 40px;
  width: 40px;
  text-align: center;
  position: fixed;
  right: 4rem;
  bottom: -1.2rem;
}
.pagetop a.static {
  position: absolute;
  top: -2rem;
  bottom: unset;
}
.pagetop a:hover {
  background-color: #3A9388;
  opacity: 1;
}
.pagetop a::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border: 4px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 576px) {
  .pagetop a {
    right: .8rem;
  }
}

/* footer */
footer {
  background-color: #efefe4;
  border-top: 3px solid #167f72;
  color: #333;
}
footer section {
  padding: 4rem 0;
}
footer .fut-brand {
  text-align: center;
  margin-bottom: 4rem;
}
footer .fut-brand img {
  max-width: 90%;
}
@media (min-width: 992px) {
  footer .container {
    max-width: 1600px;
  }
}
@media only screen and (max-width: 992px) {
  footer .container>.row {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

footer a {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: normal;
}
footer a:hover {
  text-decoration: underline;
}
footer .dt a:hover {
  text-decoration: none!important;
}

/* footer-brand */
.footer-brand {
  margin-bottom: 1.5rem;
}

/* footer address */
footer address {
  border-bottom: 1px solid #d0d0d0;
  display: block;
  font-size: 1.4rem;
  line-height: 1.428;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}
footer address a span {
  font-size: .8rem;
  margin-right: .5rem;
}
footer address a:hover {
  color: #c2aa99;
  opacity: .8;
}
footer span.mail {
  display: inline-block;
  margin-left: 1rem;
}
footer address>span:nth-of-type(1) {
  display: block;
}
footer address>span {
  padding: .25rem;
}
footer address dl {
  overflow: hidden;
  margin-bottom: 0;
}
footer address dt {
  float: left;
  font-weight: normal;
  margin-bottom: 2rem;
  line-height: 1.428;
  width: 5em;
}
footer address dd {
  margin-left: 7em;
  margin-bottom: 2rem;
  line-height: 1.428;
}

@media only screen and (max-width: 480px) {
  footer address .headOffice {
    margin: .25rem 0;
  }
  footer span.mail {
    margin-left: 0;
  }
}

/* footer nav */
footer .nav {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: 0;
  margin-bottom: 4rem!important;
}
@media only screen and (max-width: 480px) {
  footer .nav {
    display: none!important;
  }
}
footer .nav li {
  height: auto;
}
footer .nav a {
  color: #333;
  font-size: 1.4rem;
}
footer .nav li:hover a,
footer .nav a:hover {
  color: #fff;
  text-decoration: none;
  opacity: 1;
}
footer .nav li:hover {
  background-color: #d82135;
  color: #fff;
  transition: background-color .3s;
}

/* copyright */
footer .copyright {
  background-color: #167f72;
  padding: 1.15rem 2rem;
}
footer .copyright p {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  position: relative;
  text-align: center;
}

/* contents */
@media (min-width: 768px) {
  .home #the_content {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
  }/*
  body:not(.home) #the_content {
    padding-top: 5rem;
  }*/
}
.page #the_content {
  padding-bottom: 5rem;
}
@media only screen and (max-width: 480px) {
  .home .thumb {
    margin-bottom: 1rem;
  }
}

/* Animation */
.is-animation {opacity:0;transition: 1s .15s ease-in-out}
/*.moveUp {transform: translateY(120px)}
.moveDown {transform: translateY(-120px)}*/
@keyframes moveUp {
  from {transform: translateY(0);}
  to {transform: translateY(-100px);}
}
@keyframes moveDown {
  from {transform: translateY(-100px);}
  to {transform: translateY(0);}
}

.fadeIn {transition: .65s .35s}
.animated {opacity:1;transform: translateY(0)}

/* Layout */
.x-large {
  font-size: 2.8rem;
  /*font-family: 'Noto Serif JP', serif;*/
  font-weight: 700;
}
.large {
  font-size: 2.6rem;
  /*font-family: 'Noto Serif JP', serif;*/
  font-weight: 700;
}
.middle {
  font-size: 2rem;
  /*font-family: 'Noto Serif JP', serif;*/
  font-weight: 700;
}
.small {
  font-size: 1.4rem;
  /*font-family: 'Noto Serif JP', serif;*/
  font-weight: 500;
  line-height: 1.5;
}
.x-small {
  font-size: 1.2rem;
  /*font-family: 'Noto Serif JP', serif;*/
  font-weight: 500;
  line-height: 1.5;
}

.large p,.middle p {
  line-height: 1.5;
}
@media (min-width: 768px) {
  .x-large {
    font-size: 4.5rem;
    line-height: 1.3;
  }
  .large {
    font-size: 3.2rem;
    line-height: 1.3;
  }
  .middle {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
@media only screen and (max-width: 480px) {
  .x-large,.large,.middle {
    line-height: 1.5;
  }
}

figure.circle {
  overflow: hidden;
  border-radius: 100%;
  width: 220px;
  height: 220px;
}
figure.circle a {
  display: block;
  border-radius: 100%;
  background: #fff;
}

/* arrow */
[class*=arrow-] {
  display: inline-block;
  position: relative;
}
[class*=arrow-left-] {padding-left: 1.15em}
[class*=arrow-right-] {padding-right: 1.15em}
[class*=arrow-]::before, [class*=arrow-]::after {
  content: "";
  border-radius: 100%;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  margin-top: 0.8rem;
}
[class*=arrow-left-]::after, [class*=arrow-right-]::before {
  border: 3px solid;
  border-color: #fff #fff transparent transparent;
  border-radius: 0;
  width: .5em;
  height: .5em;
  transform: rotate(45deg);
}
[class*=arrow-left-]::before {left: 0;}[class*=arrow-left-]::after {top: .45rem;left: .125em;}
[class*=arrow-right-]::before {right: 0.45em;z-index: 1;}[class*=arrow-right-]::after {right: 0;}
[class*=left-red]::before {background-color: #e60012;}[class*=right-red]::after {background-color: #e60012;}
[class*=left-blue]::before {background-color: #003c93;}[class*=right-blue]::after {background-color: #003c93;}

/* btn- */
.btn-02 {max-width: 200px;}

/* border-left for title */
[class*=b-left-] {
  background-color: #f2f2f2;
  border-left: 30px solid transparent;
  font-size: 2rem;
  margin-bottom: 2.25rem;
  padding: 1rem;
}
[class*=-red] {
  border-left-color: #d60011;
}

/* contents
-------------------------------*/
#content #the_content > section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (min-width: 922px) {
  #content #the_content > section {
    padding-top: 7rem;
    padding-bottom: 8rem;
  }
}
body:not(.home) #the_content {
  padding-top: 2.5rem;
}

.page #content .bold{font-weight: bold;}
.page #content p:not(:last-child){margin-bottom: 2rem;}
.page #content p.desc{margin-bottom: 2.5rem;}
.page #content .list-unstyled:not(.row) {margin-left: 0;}
.page #content section>.container>.row:not(:last-child) {margin-bottom: 2.5rem;}
@media (min-width: 922px) {.page #content section>.container>.row:not(:last-child) {margin-bottom: 4rem;}}
.page:not(.page-template-page-fixed) main>#content {
  padding-top: 0;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .page:not(.page-template-page-fixed) main>#content {
    padding-bottom: 5rem;
  }
}
@media (min-width: 768px) {
  /*
  .home #content {
    padding-top: 0;
    padding-bottom: 5rem;
  }
  */
  body:not(.home) #the_content {
    padding-top: 5rem;
  }
}
@media only screen and (max-width: 480px) {
  .home .thumb {
    margin-bottom: 1rem;
  }
}
.page .section-title {
  margin-bottom: 2.5rem;
}
.c-black {color: #333!important;}
@media (min-width: 768px) {
  .page .section-title {
    margin-bottom: 4rem;
  }
}

/* .outline table{
	border-left: 1px solid #dee2e6;
	border-right: 1px solid #dee2e6;
}
.outline th{
  border-right: 1px solid #dee2e6;
  min-width: 10em;
  text-align: center;
  padding: 10px;
}
.outline td{
  width: 80%;
  padding: 10px;
}

.outline table{
	background: #e2edf2;
}
.outline table tr:nth-child(odd) td,
.outline table tr:nth-child(odd) th{
	background: #fff;
} */

.arrow-before,
.arrow-after {
  position: relative;
  display: block;
  height: 100%;
}
.arrow-before {
  padding-left: 2.5rem;
}
.arrow-after {
  padding-right: 2.5rem;
}
.arrow-before::before,
.arrow-after::after {
  border-top: 2px solid #444;
  border-right: 2px solid #444;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  height: 8px;
  width: 8px;
}
.arrow-before::before {
  left: 0;
  right: auto;
}
.arrow-after::after {
  left: auto;
  right: 0;
}

/* category
---------------------------------------- */
.category .article-thumb {
  margin-bottom: .75rem;
}
.category article h3 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 481px) {
  .category article:not(:nth-last-child(-n+3)) {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .category article {
    margin-bottom: 1.5rem;
  }
  .category article:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

/* pagination */
#jquery-tab-pager-navi {
  list-style: none;
  margin: 0;
}
#jquery-tab-pager-navi,
.pagenation {
  margin-top: 2.5rem;
  padding: 1.5rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#jquery-tab-pager-navi a,
.pagenation span,
.pagenation a {
  border: 1px solid #008278;
  border-radius: 0.25rem;
  color: #008278!important;
  display: block;
  margin: 1px;
  height: 30px;
  width: 30px;
  line-height: 30px;
  text-align: center;
  text-decoration: none!important;
}
#jquery-tab-pager-navi a {
  line-height: 28px;
}
#jquery-tab-pager-navi .current, #jquery-tab-pager-navi a:hover,
.pagenation .current,
.pagenation a:hover {
  color: #fff!important;
  background: #008278;
}
.pagenation a.prev,
.pagenation a.next {
  border: none!important;
}
.pagenation .dots {
  border: none;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
	-ms-flex-item-align: end;
	align-self: flex-end;
}

/* .category.link>.btn */
.category.link>.btn {
  background-color: #006699;
  color: #fff;
}
.category.link>.btn:hover {
  background-color: rgba(0,102,153,.75);
}

/* archive
---------------------------------------- */
/*.post-type-archive h1 .jp-title {display: none;}*/
.post-type-archive h1 .en-title {display: none;}
.archive .tax-title {
  /*
  color: #333;
  display: block;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4.5rem; */
  background-color: #167f72;
  color: #fff;
  display: block;
  font-size: 2.6rem;
  line-height: 1.4;
  margin-bottom: 2rem;
  padding: 1rem 2rem;
}
@media only screen and (max-width: 992px) {
  .archive #content {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
}

.archive .post h3 {
  margin-bottom: 0;
}

/* single
---------------------------------------- */
/*.single h1 .jp-title {display: none;}*/
.single h1 .en-title {display: none;}
.single figure {
  padding: 1rem 0;
}
.single .link {
  margin-top: 5rem;
}
.single .link.mb- {
  margin-bottom: -3.5rem;
  position: relative;
  z-index: 1;
}
.widget_archive ul {
  margin: 0;
  list-style: none;
}
.widget_archive ul li a {
  text-decoration: none;
  color: #333;
}
.widget_archive ul li a:hover {
  color: #E3D0C3;
  text-decoration: underline;
}

@media only screen and (max-width: 480px) {
  .widget_archive {
    text-align: center;
    
  }
  .single .link {
    margin-top: 2.5rem;
  }
  .single .link.mb- {
    margin-bottom: -1rem;
  }
}
.single .meta {
  list-style: none;
  margin: 0 0 1.25rem;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.single .date {
  font-weight: bold;
  font-size: 12px;
  margin-bottom: 0!important;
  padding: 0;
}
.single .category {
  padding-left: 0;
  padding-right: 0;
  margin-right: 12px;
}
.single .category a {
  display: inline-block;
  /*height: 35px;
  line-height: 35px;*/
  color: #fff;
  font-size: 1.3rem;
  min-width: 100px;
  text-align: center;
  padding: 0 1.25rem;
  border-radius: 30px;
  text-decoration: none;
}
.single #content {
  padding: 0!important;
}

/* .single #pager */
.single #pager {
  margin-top: 5rem;
}
.single #pager a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 480px) {
  .single #pager {
    margin-top: 3rem;
  }
}
.single #pager .next,
.single #pager .prev {
  padding: 4px;
}
.single #pager .next a,
.single #pager .prev a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #167f72;
  height: 76px;
  position: relative;
  padding: 1rem 2rem;
}
.single #pager .next a {
  padding-left: 4.5rem;
}
.single #pager .prev a {
  -webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
  padding-right: 4.5rem;
}
.single #pager .next svg,
.single #pager .prev svg {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.single #pager .next svg {
  left: 1.5rem;
}
.single #pager .prev svg {
  right: 1.5rem;
}

.single #pager .next span,
.single #pager .prev span {
  display: -webkit-box!important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 3.5em;
  overflow: hidden;
}

/* post-list
---------------------------------------- */
ol.post-list, ul.post-list,ol.post, ul.post {list-style: none;}
.post>li {margin-bottom: 3rem;}

.post-list h3 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0;
}/*
@media (min-width: 576px) {
  .post-list h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}*/
.post-list {
  list-style: none;
  margin-bottom: 0;
}
.post-list ul {
  list-style: none;
  padding: 0;
}
.post-list .meta {
  list-style: none;
  margin: 0;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.post-list .date {
  font-size: 1.4rem;
}
.category {
  background-color: #006699;
  display: inline-block;
  height: 26px;
  line-height: 28px;
  color: #fff;
  font-size: 1.4rem;
  min-width: 160px;
  text-align: center;
  padding: 0 1.25rem;
  border-radius: 0;
  text-decoration: none;
}
.category a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.category a:hover {
  opacity: .7;
}
.category.ai {
  background-color: #957bbf;
}
.category.infrastructure {
  background-color: #4f65c1;
}
.category.system {
  background-color: #06bacc;
}
.category.solution {
  background-color: #0ba08b;
}
.category.ystem-cap {
  background-color: #2abcae;
}
.category.operation {
  background-color: #006699;
}
.category.maintenance {
  background-color: #28b515;
}
.category.environmental {
  background-color: #bfbf06;
}

@media only screen and (max-width: 576px) {
  .post-list li {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* #post-container.post */
#post-container.post {
  margin-left: 0;
}

/* #post.list */
#post.list  {
  margin-left: 0;
  list-style: none;
}
#post.list .date {
  margin-top: 0;
  margin-bottom: 0;
}
#post.list h3 {
  margin-top: 0;
  margin-bottom: 0;
}
#post.list .row {
  -ms-flex-align: center;
	align-items: center;
  transition: color .35s;
}
#post.list a, #post.list a:link, #post.list a:active, #post.list a:visited {
  color: #333;
  text-decoration: none;
}
#post.list a:hover {
  color: #00adbf;
  text-decoration: underline;
}


/* 404 File not found.
---------------------------------------- */
#file_not_found {
  text-align: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}
#file_not_found p {
  text-align: center;
}
#file_not_found .svg-inline--fa.fa-w-18 {
  width: 2.5em;
  color: sandybrown;
}
#file_not_found .svg-inline--fa {
  height: 2.5em;
}

/* Layout - 追加分
---------------------------------------- */
[class^=slider] .bg-image,
.post-list .bg-image {
  height: 0;
  padding-top: 75%;
}
ul.cat {
  list-style: none;
  margin: 0;
}
ul.cat>li {
  font-size: 1.2rem;
  margin-bottom: 0;
}
.post-thumb {
  background: #fff;
  padding: 1rem;
  overflow: hidden;
}
.post-thumb.unset {
  padding: 0;
}
figure.post-thumb, .post-thumb figure {
  height: 0;
  padding-top: 75%;
  position: relative;
}
.post-thumb img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform .75s;
}
.post-thumb.unset img {
  object-fit: cover;
}
a:hover .post-thumb img {
  transform: scale(1.2);
}
.post h3 {
  line-height: 1.428;
}
@media only screen and (max-width: 576px) {
  /*.post-thumb img {
    object-fit: none;
  }*/
  .post>li {
    margin-bottom: 2.5rem!important;
  }
}

/* header - 追加分
---------------------------------------- */
header .contact-us {margin-left: 25px;}
header .contact-us div {padding-right: 0;line-height: 1.428;}
header .contact-us .mail {
  background-color: #167f72;
  color: #fff;
  font-size: 4rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  margin-left: 20px;
  height: 80px;
  width: 80px;
  transition: opacity .3s;
}
header .contact-us .mail:hover {
  opacity: .75;
}
header .nav-item,
header .nav-item a {
  transition: background-color .35s, color .35s;
}
header .nav-item.open,
header .nav-item:hover {
  background-color: #d82135;
}
header .nav-item.open a,
header .nav-item:hover a {
  color: #fff;
  opacity: 1;
}
.nav-item a {
 color: #333;
}
.nav-item>a>svg {
  color: #777;
  font-size: 2rem;
  position: absolute;
  top: 18px;
  right: 20px;
}
.nav-item.open>a>svg,
.nav-item:hover>a>svg {
  color: #fff;
}
@media (min-width: 992px) {
  .nav-item>a {
    padding-left: 15px;
    padding-right: 15px;
  }
  .nav-item>a>svg {
    display: none!important;
  }
}
@media only screen and (max-width: 1350px) {
  header .nav-item>a {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media only screen and (max-width: 992px) {
  .nav-item.ddm-container>a {
    cursor: pointer;
  }
  .nav-item.ddm-container>a>svg {
    transition: transform .5s;
  }
  .nav-item.open>a>svg {
    transform: rotate(90deg);
  }
}
.nav-item .sub-menu {
  background-color: #6c81a6;
  min-width: 120px;
}
.nav-item .sub-menu>li {
  padding: 0;
}
.nav-item .sub-menu a {
  border-bottom: 1px solid rgba(255,255,255,.15);
  color: #fff;
  display: block;
  padding: .5rem 1rem;
  position: relative;
}
.nav-item .sub-menu a:hover {
  background-color: rgba(16, 54, 109, 1);
}
.nav-item .sub-menu a>svg {
  position: absolute;
  top: 9px;
  right: 1rem;
}
@media only screen and (max-width: 992px) {
  header .contact-us {
    margin-top: 2rem;
    margin-left: 0;
  }
  header .contact-us .mail {
    border-radius: .5rem;
    height: 50px;
    width: 60px;
  }
  .nav-item .sub-menu a {
    padding: .75rem 2rem;
  }
  .nav-item .sub-menu a>svg {
    right: 2rem;
  }
}

/* footer - 追加分
---------------------------------------- */
footer dt {margin-bottom: .25rem;}
footer dd {line-height: 1.5;}
footer dd span {display: inline-block;}
footer .nav {
  position: relative;
}
footer .nav-item>a {
  height: auto;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
footer .sub-menu {
  top: auto;
  left: 72px;
  bottom: 100%;
  transform-origin: center bottom;
}
@media (min-width: 480px) {
  footer .addr>div {
    position: relative;
  }
  footer .addr>div:not(:last-child)::after {
    background-color: #ccc;
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 42px;
  }
}
@media only screen and (max-width: 480px) {
  footer .addr>div:not(:last-child) dl {
    border-bottom: 1px solid #ccc;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
  }
  footer .addr>div:last-child dl,
  footer .addr>div:last-child dl dd {
    margin-bottom: 0;
  }
}

/* post-area - 追加分
---------------------------------------- */
.home .post-area.container {
  position: relative;
}
.home .card-group>.card {
  border: none;
  border-radius: 0;
  margin-bottom: 0;
}
@media (min-width: 1230px) {
  .home .post-area.container {
    width: 992px;
  }
}
#foreword .gutters-20 .bg-image {
  margin-top: 2rem;
}
@media (min-width: 992px) {
  #foreword .gutters-20 .bg-image {
    margin-top: 0;
  }
  #foreword .bg-image {
    height: 100%;
  }
}
@media (min-width: 1260px) {
  #foreword .bg-image {
    padding-top: calc(600/1200*100%);
  }
}
@media only screen and (max-width: 768px) {
  #foreword .bg-image {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 576px) {
  #foreword .lead {
    font-size: 7vw;
  }
}

/* sub page - 追加分
---------------------------------------- */
.tablepress caption {display: none;}

.page #the_content .row>div>section:not(:last-child) {
  padding-bottom: 6rem;
}
@media (min-width: 768px) {
  .page #the_content .row>div>section:not(:last-child) {
    padding-bottom: 8rem;
  }
}
.table-responsive-row table {
  border-bottom: 1px solid #ddd;
}
@media (min-width: 575.98px) {
  .table-responsive-row .column-1 {
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 575.98px) {
  .table-responsive-row .column-1,
  .table-responsive-row .column-2 {
    display: block;
    width: 100%!important;
    word-break: break-word;
  }
  .table-responsive-row .column-1 {
    background: rgba(0,0,0,.05);
    border-top: 1px solid #dee2e6;
    padding-left: 1rem;
    padding-bottom: 8px!important;
    text-align: left!important;
  }
  .table-responsive-row .column-2 {
    padding-bottom: 1.75rem!important;
  }
  .table-responsive-row td:only-child {
    padding-top: 8px!important;
    padding-bottom: 8px!important;
  }
}

/* contact - 追加分
---------------------------------------- */
#contact {
  background: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: .5rem;
  margin-top: 4rem;
  padding: 3rem 2rem;
}
@media (min-width: 480px) {
  #contact {
    margin-top: 6rem;
    padding: 6rem 10rem;
  }
}

/* single - 追加分
---------------------------------------- */
.single img {height: auto!important;}

/* single-ordermade */
.single-ordermade #ordermade .post-thumb {
  margin-bottom: 1.5rem;
}
.single-ordermade .post-category table th {
  width: 7em;
}
.single-ordermade .post-category table th,
.single-ordermade .post-category table td {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 480px) {
  .single-ordermade .post-category table th {
    width: 10em;
    padding-left: 2em;
  }
}
.single-ordermade .post-content {
  margin-bottom: 2rem;
}
.single-ordermade .post-category {
  margin-bottom: 2rem;
}
.single-ordermade .post-category table td a {
  background-color: #167f72;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  margin: 2px;
  padding: .5rem 1rem;
}
.single-ordermade .post-category table td a:hover {
  opacity: .6;
}

/* magnific-popup - 動画などをpopupで表示したい場合に使用する
---------------------------------------- */
.mfp-bg{
  opacity: 0;
  transition: opacity 1s;
  min-width: 0;
}
.mfp-bg.mfp-ready{
  opacity: 0.8;
}
.mfp-bg.mfp-removing{
  opacity: 0;
}
.mfp-wrap .mfp-content{
  opacity: 0;
  transition: opacity 1s;
}
.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.mfp-wrap {
  min-width: 0;
}
@media only screen and (min-width: 481px) {
  .mfp-bg,.mfp-wrap {
    min-width: 1240px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .mfp-container {
    height: calc(100vh - -80vh);
  }
}
/* end 追加分 */

/* Print
---------------------------------------- */
@page {margin: 0;}
@media print {
  header {
    position: relative;
    padding: 0 15px;
    z-index: 100;
  }
  .home header {
    margin-bottom: -80px;
  }
  nav a {text-decoration: none!important;}
  /*
  body {
    width: 1230px;
    transform: scale(0.8);
    -moz-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    transform-origin: 0 0;
  }*/
}
/*
その他、[only screen]と[print, screen]で振り分けて適宜編集すること
*/