/* CSS Document */
@charset "utf-8";
/*====================================================================

common.css

=====================================================================*/


/*  loader
======================================= */
.loader__bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 998;
  display: block;
}
.loader {
  position: fixed;
  top: calc(50% - 62.5px);
  left: calc(50% - 62.5px);
  display: block;
}
.circles__wrap{
  position:relative;
  width:125px;
  height:125px;
  margin:auto;
  transform:scale(0.6);
  -o-transform:scale(0.6);
  -ms-transform:scale(0.6);
  -webkit-transform:scale(0.6);
  -moz-transform:scale(0.6);
}

.circles__item{
  position:absolute;
  background-color:rgb(255,255,255);
  height:22px;
  width:22px;
  border-radius:12px;
  -o-border-radius:12px;
  -ms-border-radius:12px;
  -webkit-border-radius:12px;
  -moz-border-radius:12px;
  animation-name:f_fadeG;
  -o-animation-name:f_fadeG;
  -ms-animation-name:f_fadeG;
  -webkit-animation-name:f_fadeG;
  -moz-animation-name:f_fadeG;
  animation-duration:0.932s;
  -o-animation-duration:0.932s;
  -ms-animation-duration:0.932s;
  -webkit-animation-duration:0.932s;
  -moz-animation-duration:0.932s;
  animation-iteration-count:infinite;
  -o-animation-iteration-count:infinite;
  -ms-animation-iteration-count:infinite;
  -webkit-animation-iteration-count:infinite;
  -moz-animation-iteration-count:infinite;
  animation-direction:normal;
  -o-animation-direction:normal;
  -ms-animation-direction:normal;
  -webkit-animation-direction:normal;
  -moz-animation-direction:normal;
}

#circles__item--01{
  left:0;
  top:51px;
  animation-delay:0.3495s;
  -o-animation-delay:0.3495s;
  -ms-animation-delay:0.3495s;
  -webkit-animation-delay:0.3495s;
  -moz-animation-delay:0.3495s;
}

#circles__item--02{
  left:15px;
  top:15px;
  animation-delay:0.466s;
  -o-animation-delay:0.466s;
  -ms-animation-delay:0.466s;
  -webkit-animation-delay:0.466s;
  -moz-animation-delay:0.466s;
}

#circles__item--03{
  left:51px;
  top:0;
  animation-delay:0.5825s;
  -o-animation-delay:0.5825s;
  -ms-animation-delay:0.5825s;
  -webkit-animation-delay:0.5825s;
  -moz-animation-delay:0.5825s;
}

#circles__item--04{
  right:15px;
  top:15px;
  animation-delay:0.699s;
  -o-animation-delay:0.699s;
  -ms-animation-delay:0.699s;
  -webkit-animation-delay:0.699s;
  -moz-animation-delay:0.699s;
}

#circles__item--05{
  right:0;
  top:51px;
  animation-delay:0.8155s;
  -o-animation-delay:0.8155s;
  -ms-animation-delay:0.8155s;
  -webkit-animation-delay:0.8155s;
  -moz-animation-delay:0.8155s;
}

#circles__item--06{
  right:15px;
  bottom:15px;
  animation-delay:0.932s;
  -o-animation-delay:0.932s;
  -ms-animation-delay:0.932s;
  -webkit-animation-delay:0.932s;
  -moz-animation-delay:0.932s;
}

#circles__item--07{
  left:51px;
  bottom:0;
  animation-delay:1.0485s;
  -o-animation-delay:1.0485s;
  -ms-animation-delay:1.0485s;
  -webkit-animation-delay:1.0485s;
  -moz-animation-delay:1.0485s;
}

#circles__item--08{
  left:15px;
  bottom:15px;
  animation-delay:1.165s;
  -o-animation-delay:1.165s;
  -ms-animation-delay:1.165s;
  -webkit-animation-delay:1.165s;
  -moz-animation-delay:1.165s;
}



@keyframes f_fadeG{
  0%{
    background-color:rgb(16,102,207);
  }

  100%{
    background-color:rgb(255,255,255);
  }
}

@-o-keyframes f_fadeG{
  0%{
    background-color:rgb(16,102,207);
  }

  100%{
    background-color:rgb(255,255,255);
  }
}

@-ms-keyframes f_fadeG{
  0%{
    background-color:rgb(16,102,207);
  }

  100%{
    background-color:rgb(255,255,255);
  }
}

@-webkit-keyframes f_fadeG{
  0%{
    background-color:rgb(16,102,207);
  }

  100%{
    background-color:rgb(255,255,255);
  }
}

@-moz-keyframes f_fadeG{
  0%{
    background-color:rgb(16,102,207);
  }

  100%{
    background-color:rgb(255,255,255);
  }
}
/*  end loader ======================================= */

/* ========================================
 * foundation
 ======================================= */
 /* html5reset-1.6.1.css */
 html, body, div, span, object, iframe,
 h1, h2, h3, h4, h5, h6, p, blockquote, pre,
 abbr, address, cite, code,
 del, dfn, em, img, ins, kbd, q, samp,
 small, strong, sub, sup, var, address,
 b, i,
 dl, dt, dd, ol, ul, li,
 fieldset, form, label, legend,
 table, caption, tbody, tfoot, thead, tr, th, td,
 article, aside, canvas, details, figcaption, figure,
 footer, header, hgroup, menu, nav, section, summary,
 time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border-collapse: collapse;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

address {
  font-style: normal;
}

nav ul {
  list-style: none;
}

ul li {
  list-style: none;
}

/* added */
ol li {
  list-style: none;
}

/* added */
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: middle;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/*--------------------------------------------------------------------/
	format
  /--------------------------------------------------------------------*/
  *, *:before, *:after {
    box-sizing: border-box;
  }

  img {
    max-width: 100%;
    vertical-align: middle;
  }

/*--------------------------------------------------------------------/
	body
  /--------------------------------------------------------------------*/
  html {
    font-size: 62.5%;
    height: 100%;
    background: #fff;
  }

  body {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: 1px;
    font-weight: normal;
    color: #202020;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-wrap: break-word;
    height: 100%;
    font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",  "游ゴシック","Yu Gothic","游ゴシック体",YuGothicM,YuGothic,"メイリオ", Meiryo, sans-serif;
  }

  section:after,
  article:after {
    content: "";
    clear: both;
    display: block;
  }

/* a
----------------------------------------------------------------*/
:link, :visited {
  text-decoration: underline;
}

:hover, :active {
  text-decoration: none;
}

/* h
----------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.4;
}


/* font icon
----------------------------------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?syuldb');
  src:  url('../fonts/icomoon.eot?syuldb#iefix') format('embedded-opentype'),
  url('../fonts/icomoon.ttf?syuldb') format('truetype'),
  url('../fonts/icomoon.woff?syuldb') format('woff'),
  url('../fonts/icomoon.svg?syuldb#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display:swap;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-down_arrow:before {
  content: "\e313";
}
.icon-left_arrow:before {
  content: "\e314";
}
.icon-right_arrow:before {
  content: "\e315";
}
.icon-top_arrow:before {
  content: "\e316";
}
.icon-arrow:before {
  content: "\e5d8";
}
.icon-phone:before {
  content: "\e900";
}
.icon-left_arrow2:before {
  content: "\e901";
  /* 1px ズレる為　*/
  padding-left: 1px;
}
.icon-right_arrow2:before {
  content: "\e902";
}
.icon-home:before {
  content: "\e907";
}
.icon-mail:before {
  content: "\e90c";
}
.icon-search:before {
  content: "\f002";
}


/* 初期状態のwrapper */
#wrapper {
  visibility: hidden;
}



/* btn */
.btn__wrap {
  margin: 0 auto;
  display: block;
}
*[class^="btn-"] {
  display: block;
  text-align: center;
  text-decoration: none;
  transition: 0.3s ease;
  -webkit-transition: 0.3s ease;
  position: relative;
  padding: 4px 2rem;
  padding: .4rem 2rem;
  border: 1px solid;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
}
*[class^="btn-"]:hover::before {
  right: .5rem;
}


.btn--arrow::after {
  font-family: "icomoon";
  content: "\e315";
  position: absolute;
  right: 1rem;
  top: .5rem;
}

/* animate css
----------------------------------------------------------------*/
@keyframes vertical {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
/*--------------------------------------------------------------------/
	header
  /--------------------------------------------------------------------*/
  header {
    position: fixed;
    width: 100%;
    z-index: 10;
    left: 0;
    top: 0;
    padding-top:1.2rem;
    padding-bottom:1.5rem;
    transition: all 0.6s;
    -webkit-transition: all 0.6s;
    margin: 0 auto;
  }
  header::after {
    display: block;
    content: "";
    clear: both;
  }
  header.fixed {
    background: rgba(255, 255, 255, 0.8);
  }

  .header__inner {
    display: flex;
    justify-content: space-between;
    transition: all 0.6s;
    -webkit-transition: all 0.6s;
    padding: 0 2%;
  }


  h1 {
    font-weight: normal;
    letter-spacing: 0;
  }


/*--------------------------------------------------------------------/
	main
  /--------------------------------------------------------------------*/
  .main:after {
    content: "";
    clear: both;
    display: block;
  }
  .main img {
    display: block;
  }

  /* contents */
  .l-box {
    z-index: 1;
    position: relative;
  }
  .cont__wrap {
    padding-top: 9rem;
    padding-bottom: 6rem;
  }
  .not-found .cont__wrap {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
  .cont__inner {
    background: rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    padding: 3rem;
    color: #fff;
  }
  .cont__tit {
    font-size: calc(1.8rem + 18 * (100vw - 320px) / 680);
    font-weight: 400;
    letter-spacing: 3px;
    margin-bottom: 3rem;
    text-align: center;
  }
  .cont__tit span {
    display: block;
    font-size: .5em;
    font-weight: 100;
    letter-spacing: 1px;
  }

  .c-box {
    text-align: left;
    margin-left:auto;
    margin-right:auto;
    margin-bottom: 2rem;
  }
  .c-box__tit {
    font-size: calc(1.6rem + 2 * (100vw - 320px) / 680);
    font-weight: 400;
    margin-bottom: 1rem;
  }
  .c-box figure {
    position: relative;
    margin-bottom: 1rem;
  }
  .c-box figure img {
    margin-left:auto;
    margin-right: auto;
    height: auto;
    display: block;
  }
  .frame {
    background: rgba(255, 255, 255, 0.7);
    padding: 1.5rem;
    height: 100%;
    color: #202020;
    border-radius: 3px;
    -webkit-border-radius: 3px;
  }

/* blog-category */
   [class^="feed__icon"] {
    display: inline-block;
    margin-left: 1.5rem;
    padding: .3rem .6rem;
    line-height: 1.2;
    border-radius: 3px;
  }
/* works-category */
[class^="tax__icon"] {
    display: inline-block;
    padding: .5rem 1.25rem;
    line-height: 1.2;
    color: #fff;
}

/*--------------------------------------------------------------------/
	footer
  /--------------------------------------------------------------------*/
  footer {
    background: #fff;
    padding: 3rem 0 0;
    width: 100%;
    text-align: center;
    position: relative;
  }

  .footer__inner {
    max-width: 1240px;
    padding: 0 4% 3rem;
  }

  .footer__logo {
    margin: 0 auto 1.5rem;
  }

  .footer__copy {
    margin-top: .5rem;
    padding: 1.2rem 1.5rem 1.5rem;
    color: #fff;
    background: #1066cf;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 1px;
    font-size: 1.1rem;
    text-align: center;
  }

/*--------------------------------------------------------------------/
	common__table
  /--------------------------------------------------------------------*/
  .common__table {
    margin: 0 auto;
    width: 100%;
    max-width: 800px;
    margin-bottom: 4%;
  }
  .common__table td {
    width: 100%;
    padding: .8rem;
    text-align: left;
    vertical-align: top;
    font-weight: normal;
    display: block;
    word-break: break-all;
    width: auto;
    padding-top: 0;
    padding-bottom: 1.5rem;
  }
  .common__table td.column-1 {
    font-weight: 600;
    padding-top: 1.5rem;
    padding-bottom: 0;
  }
  .common__table tr:not(:last-child) td.column-2 {
    border-bottom: solid 1px #ddd;
  }

  .tablepress td, .tablepress th {
    border-top: none !important;
  }


/* pagetop
--------------------------------------------------------------------*/
#pagetop {
  display: block;
  position: fixed;
  z-index: 10;
  left: 50%;
  margin-left: -20px;
}
#pagetop a {
  display: block;
  color: #fff;
  width: 40px;
  height: 20px;
  border: 20px solid transparent;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}
#pagetop a:hover {
  border: 20px solid transparent;
  border-bottom: 20px solid;
}
#pagetop .icon-top_arrow {
  font-size: 24px;
  margin-left: -12px;
}

/*--------------------------------------------------------------------/
	others
  /--------------------------------------------------------------------*/
  .works__read {
    text-align: left;
    margin-bottom: 2rem;
    font-size: calc(1.4rem + 2 * (100vw - 320px) / 680);
  }
  .works-list {
    height: 100%;
    position: relative;
  }
  .works-list a {
    position: relative;
    color: #202020;
    width: 100%;
    height: 100%;
    display: block;
    transition: .3s all;
    padding-bottom: 5rem;
  }
  .works-list a:hover {
    color: #fff;
  }
  .works-list .list {
    margin-top:1rem;
  }
  .works-list .btn--arrow {
    position: absolute;
    bottom:1.5rem;
    width: calc(100% - 3rem);
  }

/* lightbox
----------------------------------------------------------------*/
figure a[rel*="lightbox"] {
  position: relative;
  display: block;
}

figure a[rel*="lightbox"]::after {
  font-family: "icomoon" !important;
  content: "\f002";
  position: absolute;
  color: #ddd;
  font-size: 2rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
}

figure a[rel*="lightbox"] img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

figure a[rel*="lightbox"]:hover img {
  -webkit-filter: grayscale(100);
  filter: grayscale(100);
}

figure a[rel*="lightbox"]:hover::after {
  opacity: 100;
  font-size: 5rem;
}

/* helper css
----------------------------------------------------------------*/
.clear {
  clear: both;
}

.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

.txt:not(:last-of-type) {
  margin-bottom: 20px;
  margin-bottom: 2rem;
}

*[class*="l-cont"] {
  max-width: 1240px;
  padding: 0 4%;
}

*[class*="l-cont"]:after {
  display: block;
  content: "";
  clear: both;
}


.c-box__txt-02 {
  height: 150px;
  overflow-y: auto;
}

/* dot-bg */
.dot-bg {
  position: absolute;
  background: #555;
  background-image: radial-gradient(#333 20%, transparent 0), radial-gradient(#333 20%, transparent 0);
  background-position: 0 0, 3px 3px;
  background-size: 6px 6px;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .dot-bg {
    position: absolute;
    background: #999;
    background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
    width: 100%;
    height: 100%;
    opacity: 0.5;
  }
}
.black-bg {
  position: absolute;
  background: #333;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}

/* otherwise */
.p-ab {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 92%;
}

.line--gray {
  content: "";
  width: 100%;
  height: 1px;
  background: #ddd;
}

.m-a {
  margin-left: auto;
  margin-right: auto;
}
.mr-s {
  margin-right: .5rem;
}
.mb-s {
  margin-bottom: .5rem;
}
.mb-m {
  margin-bottom: 1rem;
}
.mb-l {
  margin-bottom: 2rem;
}
.mb-ll {
  margin-bottom: 4rem !important;
}

.txt-c {
  text-align: center !important;
}
.txt-r {
  text-align: right;
}

.fs-l {
  font-size: 1.4em;
}

.in-block {
  display: inline-block;
}

.sp-block {
  display: none;
}

/* irame */
.map iframe {
  height: 200px;
  vertical-align: bottom;
}

/* ofi */
img.ofi-img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.works-list img.ofi-img{
  object-fit: cover;
}
@media print, screen and (min-width: 481px) {
  /*====================================================================/
  	/*------------------タブレットスタイル----------------
    /====================================================================*/
    html {
      width: 100%;
    }

    .w30 {
      width: 65%;
    }

    .w50 {
      width: 65%;
    }

    .cont__wrap {
      padding-top: calc(9rem + 50 * (100vw - 480px) / 620);
      padding-bottom: calc(6rem + 50 * (100vw - 480px) / 620);
    }

    /* common__table */
    .common__table table {
      display: table;
      margin: 0 auto;
      width: 100%;
    }
    .common__table td {
      display: table-cell;
      width: auto;
      vertical-align: top;
      text-align: left;
      padding:  1.5rem 1rem;
      border-bottom: none;
    }
    .common__table td.column-1 {
      width: 30%;
      padding-bottom:1.5rem;
    }
    .common__table tr:not(:last-child) {
      border-bottom: 1px solid #ddd;
    }

    .l-col2, .l-col3, .l-col4 {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: flex-start;
      -webkit-box-pack: start;
    }
    .l-col2 .c-box,.l-col3 .c-box, .l-col4 .c-box{
      margin-left: 0;
    }

    .l-col2 > *,.l-col3 > *, .l-col4 > *, .slider-col3 > *, .slider-col4 > * {
      height: auto;
      width: 48.96%;
      vertical-align: top;
    }
    .l-col2 > * .c-box__tit,.l-col3 > * .c-box__tit, .l-col4 > * .c-box__tit, .slider-col3 > * .c-box__tit, .slider-col4 > * .c-box__tit {
      font-size: calc(1.4rem + 2 * (100vw - 480px) / 317);
    }

    .l-col2 > *:not(:nth-child(2n)),.l-col3 > *:not(:nth-child(2n)), .l-col4 > *:not(:nth-child(2n)) {
      margin-right: 2.08%;
    }

    .l-col2 > *:not(:nth-last-child(-n+2)), .l-col3 > *:not(:nth-last-child(-n+2)), .l-col4 > *:not(:nth-last-child(-n+2)) {
      margin-bottom: 2rem;
    }
    .l-col2 .c-box__img a,.l-col3 .c-box__img a,.l-col4 .c-box__img a {
      position: relative;
      height: 29.93vw;
      overflow: hidden;
    }
    .l-col2 .c-box__img img,.l-col3 .c-box__img img,.l-col4 .c-box__img img {
      max-height: 29.93vw;
    }
    .slider-col3 .c-box__img a,.slider-col4 .c-box__img a {
     position: relative;
     height: 25.9vw;
     overflow: hidden;
   }
   .slider-col3 .c-box__img img,.slider-col4 .c-box__img img {
    max-height: 25.9vw;
  }


}
@media print, screen and (min-width: 798px) {
  /*====================================================================/
  	/*-------------------小さいPCスタイル----------------
    /====================================================================*/
    html {
      width: 100%;
    }


    header.fixed {
      padding-top:.7rem;
      padding-bottom:1rem;
  }

    .footer__logo {
      width: 30%;
      max-width: 300px;
    }

    .w30 {
      width: 30%;
    }

    .w50 {
      width: 50%;
    }

    .w80 {
      width: 80%;
    }
    .common__table tr td.column-1 {
      width: 25%;
    }
    .common__table tr td.column-2 {
      width: auto;
    }
    .cont__inner {
      padding: 5rem;
    }

    .works__read {
      text-align: center;
      margin-bottom: 2rem;
    }
  /* l-col
  ----------------------------------------------------------------*/
  .l-col2,.l-col3,.l-col4 {
    width: 88.89%;
    margin-right: auto;
    margin-left: auto;
  }
  .l-col2 > *,.l-col3 > *,.l-col4 > * {
    height: auto;
    width: 45%;
    vertical-align: top;
  }

  .l-col2 > *:not(:nth-child(2n)),.l-col3 > *:not(:nth-child(2n)),.l-col4 > *:not(:nth-child(2n)) {
    margin-right: 10%;
  }
  .l-col2 > *:not(:nth-last-child(-n+2)) {
    margin-bottom: 2rem;
  }
  .l-col2 .c-box__img a,.l-col3 .c-box__img a,.l-col4 .c-box__img a {
    height: 24.57vw;
    max-height: 320px;
  }
  .l-col2 .c-box__img img,.l-col3 .c-box__img img,.l-col4 .c-box__img img {
    max-height: 24.57vw;
  }
  /*--------------------------------------------------------------------/
  	nav global
    /--------------------------------------------------------------------*/
    #global {
      z-index: 1;
      position: relative;
      font-family: "Noto Sans JP", sans-serif;
    }

    #global:after {
      display: block;
      content: "";
      clear: both;
    }

    #global .global__items {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-end;
      justify-content: flex-end;
    }
    #global .global__items > li:not(:first-child) {
      margin-left: .5rem;
    }
    #global .global__items > li a {
      display: inline-block;
      transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      text-decoration: none;
      padding: .3rem 1rem;
      line-height: 1.3;
      font-size: 1.4rem;
      font-weight: 500;
      position: relative;
      color: #202020;
    }
    #global .global__items > li a::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 100%;
      transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      background: #1066cf;
      z-index: -1;
    }
    #global .global__items > li a:hover {
      color: #fff;
    }
    #global .global__items > li a:hover::before {
      width: 100%;
    }

    #global {
      float: right;
      margin-top: 1rem;
    }
    #global .global__items {
      width: 100%;
      position: relative;
    }

    .arrow-down {
      font-size: 5rem;
      height: 5rem;
      left: 50%;
      margin-left: -2.5rem;
    }



    .map iframe {
      height: 400px;
    }

    .footer__inner {
      padding-bottom: 5rem;
    }

    .l-col3 > * .c-box__tit, .slider-col3 > * .c-box__tit {
      font-size: calc(1.6rem + 4 * (100vw - 798px) / 213);
    }
    .l-col4 > * .c-box__tit, .slider-col4 > * .c-box__tit {
      font-size: 1.6rem;
    }

  /* pagetop
  --------------------------------------------------------------------*/
  #pagetop {
    margin-left: -30px;
  }
  #pagetop a {
    height: 30px;
    border: 30px solid transparent;
    border-bottom: 30px solid #fff;
  }
  #pagetop a:hover {
    border: 30px solid transparent;
    border-bottom: 30px solid #fff;
  }
  #pagetop .icon-top_arrow {
    font-size: 36px;
    margin-left: -18px;
  }

  /* margin */
  .mb-s {
    margin-bottom: 1rem;
  }
  .mb-l {
    margin-bottom: 4rem;
  }
  .mb-ll {
    margin-bottom: 8rem !important;
  }

}
@media print, screen and (min-width: 1017px) {
  /*====================================================================/
  	/*-------------------PCスタイル-------------------
    /====================================================================*/
    html {
      width: 100%;
    }
    .cont__tit {
      font-size: 3.6rem;
      margin-bottom: 5rem;
    }
    .footer__inner {
      margin: 0 auto;
      position: relative;
      padding-bottom:5rem;
    }
    .feed-box__wrap {
      width: 960px;
      padding: 0;
      margin: 0 auto;
    }
    .cont__wrap {
      padding-top: 12rem;
      padding-bottom: 12rem;
    }
    .not-found .cont__wrap {
      padding-top: 16rem;
      padding-bottom: 16rem;
    }

    .c-box__tit {
      font-size: 1.8rem;
    }

    #global .global__items > li:not(:first-child) {
      margin-left: 1.5rem;
    }

  /* works-list
  --------------------------------------------------------------------*/
  .works__read {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
  }



  .l-col3,.l-col4 {
    width: 100%;
  }
  /* l-col3 */
  .l-col3 > *, .slider-col3 > * {
    height: auto;
    width: 31.94667%;
  }
  .l-col3 > * .c-box__tit, .slider-col3 > * .c-box__tit {
    font-size: 2rem;
  }

  .l-col3 > *:not(:nth-child(2n)){
    margin-right: 0;
  }
  .l-col3 > *:not(:nth-last-child(-n+2)){
    margin-bottom: 0;
  }
  .l-col3 > *:not(:nth-child(3n)) {
    margin-right: 2.08%;
  }
  .l-col3 > *:not(:nth-last-child(-n+3)) {
    margin-bottom: 2rem;
  }
  .l-col3 .c-box__img a {
    height: 19.56vw;
    max-height: 256px;
  }
  .l-col3 .c-box__img img {
    max-height: 256px;
  }
  .slider-col3 .c-box__img a {
    height: 17.6vw;
    max-height: 239px;
  }
  .slider-col3 .c-box__img img {
    max-height: 239px;
  }

  /* l-col4 */
  .l-col4 > *, .slider-col4 > * {
    height: auto;
    width: 23.44%;
  }
  .l-col4 > * .c-box__tit, .slider-col4 > * .c-box__tit {
    font-size: 1.6rem;
  }
  .l-col4 > *:not(:nth-child(2n)) {
    margin-right: 0;
  }
  .l-col4 > *:not(:nth-last-child(-n+2)){
    margin-bottom: 0;
  }
  .l-col4 > *:not(:nth-child(4n)) {
    margin-right: 2.08%;
  }
  .l-col4 > *:nth-last-child(-n+4) {
    margin-bottom: 2rem;
  }
  .l-col4 .c-box__img a{
    height: 14.36vw;
    max-height: 188px;
  }
  .l-col4 .c-box__img img {
    max-height: 188px;
  }
  .slider-col4 .c-box__img a{
    height: 12.39vw;
    max-height: 170px;
  }
  .slider-col4 .c-box__img img {
    height: 12.39vw;
    max-height: 170px;
  }
}
@media print, screen and (min-width: 1257px) {
  /*====================================================================/
  	/*-------------------large PCスタイル-------------------
    /====================================================================*/
    .l-cont {
      margin: 0 auto;
      padding-left: 20px;
      padding-right: 20px;
      position: relative;
    }
    .footer__inner {
      padding-left: 20px;
      padding-right: 20px;
    }
    .l-col2 .c-box__img img {
      max-height: 320px;
    }
  }
  @media print, screen and (min-width: 1600px) {
  /*====================================================================/
  	/*-------------------full pcスタイル-------------------
    /====================================================================*/
  }
  @media screen and (max-width: 797px) {
  /*====================================================================/
  	/*------------------スマホタブレット共通スタイル---------
    /====================================================================*/
    html {
      width: 100%;
    }

    header {
      position: fixed;
      width: 100%;
      min-height: 60px;
    }

    #global {
      display: none;
    }
    .footer__logo {
      width: 40%;
    }
  }
  @media screen and (max-width: 480px) {
  /*====================================================================/
  	/*------------------スマホのみスタイル----------------
    /====================================================================*/
    html {
      width: 100%;
    }

    .footer__logo {
      width: 50%;
    }

    .sp-block {
      display: block;
    }

    .txt p {
      font-size: 1.3rem;
    }

    .cont__inner {
      padding: 3rem 1.5rem;
    }

    .l-col2 > *,.l-col3 > *,.l-col4 > * {
      margin-bottom: 2rem;
    }
  }
  @media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, #global .global__items > li a {
      height: 100%;
    }
  }
  @media print {
    header {
      display: none;
    }

    nav#global {
      display: none;
    }

    footer {
      display: none;
    }
  }


/*!
 * jquery-drawer v3.2.1
 * Flexible drawer menu using jQuery, iScroll and CSS.
 * http://git.blivesta.com/drawer
 * License : MIT
 * Author : blivesta <design@blivesta.com> (http://blivesta.com/)
 */

/*!------------------------------------*\
    Base
    \*!------------------------------------*/
    .drawer-nav {
      display: block;
      position: fixed;
      z-index: 101;
      top: 0;
      overflow: hidden;
      width: 20rem;
      height: 100%;
      color: #222;
      background-color: #fff;
      border-left: 1px solid #ccc;
    }
    .global__phone {
      margin:4rem auto 2rem;
      width: 80px;
      background: #fff;
      border-radius: 80px;
      -moz-border-radius: 80px;
      -webkit-border-radius: 80px;
      padding: 15px 25px 13px;
      font-size: 30px;
    }
    .global__phone a {
      display: block;
    }

    .drawer-brand {
      font-size: 2rem;
      font-weight: bold;
      line-height: 3.75rem;
      display: block;
      padding-right: 1rem;
      padding-left: 1rem;
      text-decoration: none;
      color: #222;
    }
    .drawer-menu {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .drawer-menu li a {
      font-size: 1.4rem;
      display: block;
      padding: 1.4rem 1rem;
      margin: 0 1.4rem;
      text-decoration: none;
      text-align: left;
      color: #202020;
      border-bottom: 1px solid #ddd;
      transition: 0.3s ease;
      -webkit-transition: 0.3s ease;
    }

    /*! overlay */
    .drawer-overlay {
      position: fixed;
      z-index: 99;
      top: 0;
      left: 0;
      display: none;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, .2);
    }
    .drawer-open .drawer-overlay {
      display: block;
    }
/*!------------------------------------*\
    Top
    \*!------------------------------------*/
    .drawer--top .drawer-nav {
      top: -100%;
      left: 0;
      width: 100%;
      height: auto;
      max-height: 100%;
      -webkit-transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
      transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    }
    .drawer--top.drawer-open .drawer-nav {
      top: 0;
    }
    .drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger {
      right: 0;
    }
/*!------------------------------------*\
    Left
    \*!------------------------------------*/
    .drawer--left .drawer-nav {
      left: -20rem;
      -webkit-transition: left .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
      transition: left .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    }
    .drawer--left.drawer-open .drawer-nav, .drawer--left .drawer-hamburger, .drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
      left: 0;
    }
    .drawer--left.drawer-open .drawer-hamburger {
      left: 20rem;
    }
/*!------------------------------------*\
    Right
    \*!------------------------------------*/
    .drawer--right .drawer-nav {
      right: -20rem;
      -webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
      transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    }
    .drawer--right.drawer-open .drawer-nav, .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
      right: 0;
    }
    .drawer--right.drawer-open .drawer-hamburger {
      right: 20rem;
    }
/*!------------------------------------*\
    Hamburger
    \*!------------------------------------*/
    .drawer-hamburger {
      position: fixed;
      z-index: 104;
      top: 0;
      display: block;
      box-sizing: content-box;
      width: 3.2rem;
      padding: 0;
      padding-top: 15px;
      padding-right: 1rem;
      padding-bottom: 30px;
      padding-left: 1rem;
      -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
      transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      border: 0;
      outline: 0;
      background-color: transparent;
    }
    .drawer-hamburger::after {
      content: "MENU";
      font-size: 1.05rem;
      letter-spacing: -.3px;
      display: block;
      padding-top: 1.3rem;
    }
    .drawer-open .drawer-hamburger {
      width: 3.6rem;
    }
    .drawer-open .drawer-hamburger::after {
      content: "CLOSE";
      font-size: 1.05rem;
      letter-spacing: -.3px;
      display: block;
      padding-top: 1.3rem;
      width: 3.6rem;
    }
    .drawer-hamburger:hover {
      cursor: pointer;
      background-color: transparent;
    }
    .drawer-hamburger-icon {
      position: relative;
      display: block;
      margin-top: 10px;
    }
    .drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
      width: 100%;
      height: 2px;
      -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
      transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    }
    .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
      position: absolute;
      top: -8px;
      left: 0;
      content: ' ';
    }
    .drawer-hamburger-icon:after {
      top: 8px;
    }
    .drawer-open .drawer-hamburger-icon {
      background-color: transparent !important;
    }
    .drawer-open .drawer-hamburger-icon:before, .drawer-open .drawer-hamburger-icon:after {
      top: 0;
    }
    .drawer-open .drawer-hamburger-icon:before {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
    }
    .drawer-open .drawer-hamburger-icon:after {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
/*!------------------------------------*\
    accessibility
    \*!------------------------------------*/

/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */
 .sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
/*!
 * Use in conjunction with .sr-only to only display content when it's focused.
 * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
 * Credit: HTML5 Boilerplate
 */
 .sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
}
/*!------------------------------------*\
    Sidebar
    \*!------------------------------------*/
    .drawer--sidebar {
      background-color: #fff;
    }
    .drawer--sidebar .drawer-contents {
      background-color: #fff;
    }
    @media (min-width: 64em) {
     .drawer--sidebar .drawer-hamburger {
       display: none;
       visibility: hidden;
     }
     .drawer--sidebar .drawer-nav {
       display: block;
       -webkit-transform: none;
       -ms-transform: none;
       transform: none;
       position: fixed;
       width: 12.5rem;
       height: 100%;
     }

     /*! Left */
     .drawer--sidebar.drawer--left .drawer-nav {
       left: 0;
       border-right: 1px solid #ddd;
     }
     .drawer--sidebar.drawer--left .drawer-contents {
       margin-left: 12.5rem;
     }

     /*! Right */
     .drawer--sidebar.drawer--right .drawer-nav {
       right: 0;
       border-left: 1px solid #ddd;
     }
     .drawer--sidebar.drawer--right .drawer-contents {
       margin-right: 12.5rem;
     }

     /*! container */
     .drawer--sidebar .drawer-container {
       max-width: 48rem;
     }
   }
   @media (min-width: 75em) {
     .drawer--sidebar .drawer-nav {
       width: 20rem;
     }
     .drawer--sidebar.drawer--left .drawer-contents {
       margin-left: 20rem;
     }
     .drawer--sidebar.drawer--right .drawer-contents {
       margin-right: 20rem;
     }

     /*! container */
     .drawer--sidebar .drawer-container {
       max-width: 60rem;
     }
   }
/*!------------------------------------*\
    Navbar
    \*!------------------------------------*/
    .drawer--navbarTopGutter {
      padding-top: 3.75rem;
    }
    .drawer-navbar .drawer-navbar-header {
      border-bottom: 1px solid #ddd;
      background-color: #fff;
    }
    .drawer-navbar {
      z-index: 102;
      top: 0;
      width: 100%;
    }
    /*! .drawer-navbar modifier */
    .drawer-navbar--fixed {
      position: fixed;
    }
    .drawer-navbar-header {
      position: relative;
      z-index: 102;
      box-sizing: border-box;
      width: 100%;
      height: 3.75rem;
      padding: 0 1rem;
      text-align: center;
    }
    .drawer-navbar .drawer-brand {
      line-height: 3.75rem;
      display: inline-block;
      padding-top: 0;
      padding-bottom: 0;
      text-decoration: none;
    }
    .drawer-navbar .drawer-brand:hover {
      background-color: transparent;
    }
    .drawer-navbar .drawer-nav {
      padding-top: 3.75rem;
    }
    .drawer-navbar .drawer-menu {
      padding-bottom: 7.5rem;
    }
    @media (min-width: 64em) {
     .drawer-navbar {
       height: 3.75rem;
       border-bottom: 1px solid #ddd;
       background-color: #fff;
     }
     .drawer-navbar .drawer-navbar-header {
       position: relative;
       display: block;
       float: left;
       width: auto;
       padding: 0;
       border: 0;
     }
     .drawer-navbar .drawer-menu--right {
       float: right;
     }
     .drawer-navbar .drawer-menu li {
       float: left;
     }
     .drawer-navbar .drawer-menu li {
       line-height: 3.75rem;
       padding-top: 0;
       padding-bottom: 0;
     }
     .drawer-navbar .drawer-hamburger {
       display: none;
     }
     .drawer-navbar .drawer-nav {
       position: relative;
       left: 0;
       overflow: visible;
       width: auto;
       height: 3.75rem;
       padding-top: 0;
       -webkit-transform: translate3d(0, 0, 0);
       transform: translate3d(0, 0, 0);
     }
     .drawer-navbar .drawer-menu {
       padding: 0;
     }

     /*! dropdown */
     .drawer-navbar .drawer-dropdown-menu {
       position: absolute;
       width: 20rem;
       border: 1px solid #ddd;
     }
     .drawer-navbar .drawer-dropdown-menu-item {
       padding-left: 1rem;
     }
   }
/*!------------------------------------*\
    Dropdown
    \*!------------------------------------*/
    .drawer-dropdown-menu {
      display: none;
      box-sizing: border-box;
      width: 100%;
      margin: 0;
      padding: 0;
      background-color: #fff;
    }
    .drawer-dropdown-menu > li {
      width: 100%;
      list-style: none;
    }
    .drawer-dropdown-menu-item {
      line-height: 3.75rem;
      display: block;
      padding: 0;
      padding-right: .75rem;
      padding-left: 1.5rem;
      text-decoration: none;
      color: #222;
    }
    .drawer-dropdown-menu-item:hover {
      text-decoration: underline;
      color: #555;
      background-color: transparent;
    }
    /*! open */
    .drawer-dropdown.open > .drawer-dropdown-menu {
      display: block;
    }
    /*! drawer-caret */
    .drawer-dropdown .drawer-caret {
      display: inline-block;
      width: 0;
      height: 0;
      margin-left: 4px;
      -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
      transition: opacity .2s ease, -webkit-transform .2s ease;
      transition: transform .2s ease, opacity .2s ease;
      transition: transform .2s ease, opacity .2s ease, -webkit-transform .2s ease;
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
      vertical-align: middle;
      border-top: 4px solid;
      border-right: 4px solid transparent;
      border-left: 4px solid transparent;
    }
    /*! open */
    .drawer-dropdown.open .drawer-caret {
      -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      transform: rotate(180deg);
    }
/*!------------------------------------*\
    Container
    \*!------------------------------------*/
    .drawer-container {
      margin-right: auto;
      margin-left: auto;
    }

    @media (min-width: 64em) {
     .drawer-container {
       max-width: 60rem;
     }
   }
   @media (min-width: 75em) {
     .drawer-container {
       max-width: 70rem;
     }
   }
   @media screen and (min-width: 798px) {
    .drawer-hamburger,.global__phone {
      display: none;
    }
  }
  /*  end drawer ======================================= */
