@charset "utf-8";article,aside,details,figcaption,figure,footer,header,hgroup,iframe,menu,nav,section {
  display: block
}

.gothic,body {
  font-family: "游ゴシック Medium","Yu Gothic Medium","YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif
}

.fc-blank,body {
  color: #000
}

*,::after,::before {
  box-sizing: border-box
}

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

ol,ul {
  list-style: none
}

blockquote,q {
  quotes: none
}

blockquote:after,blockquote:before,q:after,q:before {
  content: '';
  content: none
}

#content:after,#header #global-nav .nav-item .item-name:after,#main .node h2.title-home .en:before,.page-title .bg:after,ul:not(.reset)>li:before {
  content: ''
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

del {
  text-decoration: line-through
}

abbr[title],dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

input::-ms-clear {
  visibility: hidden
}

input::-ms-reveal {
  visibility: hidden
}

html {
  font-size: 58.5%;
  overflow-y: scroll;
  word-break: break-all
}

body {
  position: relative;
  left: 0;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  counter-reset: number
}

.clear {
  clear: both
}

p {
  margin-bottom: .95em
}

p.indent {
  text-indent: -1em;
  padding-left: 1em
}

p.indent2em {
  text-indent: -2em;
  padding-left: 2em
}

p.indent3em {
  text-indent: -3em;
  padding-left: 3em
}

p.indent4em {
  text-indent: -4em;
  padding-left: 4em
}

p.indent5em {
  text-indent: -5em;
  padding-left: 5em
}

p.indent6em {
  text-indent: -6em;
  padding-left: 6em
}

p.indent7em {
  text-indent: -7em;
  padding-left: 7em
}

p.indent8em {
  text-indent: -8em;
  padding-left: 8em
}

p.indent9em {
  text-indent: -9em;
  padding-left: 9em
}

p.indent10em {
  text-indent: -10em;
  padding-left: 10em
}

strong {
  font-weight: 700
}

.alignright {
  text-align: right
}

.alignleft {
  text-align: left
}

.aligncenter {
  text-align: center
}

@media screen and (max-width: 736px) {
  .hide-m {
    display:none!important
  }

  .alignright-m {
    text-align: right
  }

  .alignleft-m {
    text-align: left
  }

  .aligncenter-m {
    text-align: center
  }
}

@media screen and (min-width: 737px) {
  .hide-d {
    display:none!important
  }

  html {
    font-size: 62.5%
  }

  .alignright-d {
    text-align: right
  }

  .alignleft-d {
    text-align: left
  }

  .aligncenter-d {
    text-align: center
  }
}

@font-face {
  font-family: "YuGothic M";
  src: local(Yu Gothic Medium)
}

.serif {
  font-family: 'Noto Serif JP',serif
}

@media all and (-ms-high-contrast:none) {
  *,.hack-ie {
    font-family: "メイリオ","游ゴシック Medium","Yu Gothic Medium","YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Meiryo,sans-serif
  }
}

.fs-mini {
  font-size: 70%!important
}

.fs-small {
  font-size: 80%!important
}

.fs-normal {
  font-size: 100%!important
}

.fs-large {
  font-size: 112%!important
}

.fs-big {
  font-size: 125%!important
}

.fs-bigger {
  font-size: 138%!important
}

.error,.fc-red {
  color: red
}

.fc-orange {
  color: #f90
}

.fc-blue {
  color: #00f
}

.fc-green {
  color: #00c300
}

.fc-gray {
  color: #999
}

.fc-yellow {
  color: #fd0
}

a:not(.call-link),body.m .call-link {
  color: #000;
  text-decoration: underline;
  cursor: pointer
}

body.d a:hover {
  text-decoration: none
}

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast
}

div.alignright,img.alignright {
  float: right;
  clear: right;
  max-width: 35%;
  margin: 0 0 10px 10px;
  text-align: center;
  font-size: 80%
}

div.alignleft,img.alignleft {
  float: left;
  clear: left;
  max-width: 35%;
  margin: 0 10px 10px 0;
  text-align: center;
  font-size: 80%
}

div.alignleft img,div.alignright img {
  display: block;
  width: 100%
}

img.aligncenter {
  display: block;
  width: 80%;
  margin: 0 auto
}

@media screen and (min-width: 737px) {
  div.alignright,img.alignright {
    max-width:none;
    margin: 0 0 20px 20px;
    font-size: 100%
  }

  div.alignleft,img.alignleft {
    max-width: none;
    margin: 0 20px 20px 0;
    font-size: 1000%
  }

  img.aligncenter {
    width: 100%
  }
}

ol:not(.reset),ul:not(.reset) {
  margin-bottom: 1.5em
}

ul:not(.reset)>li {
  position: relative;
  padding-left: 1.2em
}

ol:not(.reset)>li:not(:last-child),ul:not(.reset)>li:not(:last-child) {
  margin-bottom: .25em
}

ul:not(.reset)>li:before {
  position: absolute;
  top: .8em;
  left: .4em;
  width: 4px;
  height: 4px;
  margin: -3px 0 0 -1px;
  background: #000;
  border-radius: 100%
}

ol:not(.reset)>li {
  list-style: decimal;
  margin-left: 1.5em
}

ul.list-roman>li {
  list-style: lower-roman;
  margin-left: 1.8em
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin-bottom: 1.5em;
  background: #fff;
  border-top: 1px solid #33180a;
  border-left: 1px solid #33180a
}

table td,table th {
  padding: 8px 10px;
  border-right: 1px solid #33180a;
  border-bottom: 1px solid #33180a
}

table th {
  color: #fff;
  background: #7d5d4d
}

.mt0 {
  margin-top: 0!important
}

.mt5 {
  margin-top: 5px!important
}

.mt10 {
  margin-top: 10px!important
}

.mt15 {
  margin-top: 15px!important
}

.mt20 {
  margin-top: 20px!important
}

.mt25 {
  margin-top: 25px!important
}

.mt30 {
  margin-top: 30px!important
}

.mt35 {
  margin-top: 35px!important
}

.mt40 {
  margin-top: 40px!important
}

.mt45 {
  margin-top: 45px!important
}

.mt50 {
  margin-top: 50px!important
}

.mr0 {
  margin-right: 0!important
}

.mr5 {
  margin-right: 5px!important
}

.mr10 {
  margin-right: 10px!important
}

.mr15 {
  margin-right: 15px!important
}

.mr20 {
  margin-right: 20px!important
}

.mr25 {
  margin-right: 25px!important
}

.mr30 {
  margin-right: 30px!important
}

.mr35 {
  margin-right: 35px!important
}

.mr40 {
  margin-right: 40px!important
}

.mr45 {
  margin-right: 45px!important
}

.mr50 {
  margin-right: 50px!important
}

.mb0 {
  margin-bottom: 0!important
}

.mb5 {
  margin-bottom: 5px!important
}

.mb10 {
  margin-bottom: 10px!important
}

.mb15 {
  margin-bottom: 15px!important
}

.mb20 {
  margin-bottom: 20px!important
}

.mb25 {
  margin-bottom: 25px!important
}

.mb30 {
  margin-bottom: 30px!important
}

.mb35 {
  margin-bottom: 35px!important
}

.mb40 {
  margin-bottom: 40px!important
}

.mb45 {
  margin-bottom: 45px!important
}

.mb50 {
  margin-bottom: 50px!important
}

.ml0 {
  margin-left: 0!important
}

.ml5 {
  margin-left: 5px!important
}

.ml10 {
  margin-left: 10px!important
}

.ml15 {
  margin-left: 15px!important
}

.ml20 {
  margin-left: 20px!important
}

.ml25 {
  margin-left: 25px!important
}

.ml30 {
  margin-left: 30px!important
}

.ml35 {
  margin-left: 35px!important
}

.ml40 {
  margin-left: 40px!important
}

.ml45 {
  margin-left: 45px!important
}

.ml50 {
  margin-left: 50px!important
}

.pt0 {
  padding-top: 0!important
}

.pt5 {
  padding-top: 5px!important
}

.pt10 {
  padding-top: 10px!important
}

.pt15 {
  padding-top: 15px!important
}

.pt20 {
  padding-top: 20px!important
}

.pt25 {
  padding-top: 25px!important
}

.pt30 {
  padding-top: 30px!important
}

.pt35 {
  padding-top: 35px!important
}

.pt40 {
  padding-top: 40px!important
}

.pt45 {
  padding-top: 45px!important
}

.pt50 {
  padding-top: 50px!important
}

.pr0 {
  padding-right: 0!important
}

.pr5 {
  padding-right: 5px!important
}

.pr10 {
  padding-right: 10px!important
}

.pr15 {
  padding-right: 15px!important
}

.pr20 {
  padding-right: 20px!important
}

.pr25 {
  padding-right: 25px!important
}

.pr30 {
  padding-right: 30px!important
}

.pr35 {
  padding-right: 35px!important
}

.pr40 {
  padding-right: 40px!important
}

.pr45 {
  padding-right: 45px!important
}

.pr50 {
  padding-right: 50px!important
}

.pb0 {
  padding-bottom: 0!important
}

.pb5 {
  padding-bottom: 5px!important
}

.pb10 {
  padding-bottom: 10px!important
}

.pb15 {
  padding-bottom: 15px!important
}

.pb20 {
  padding-bottom: 20px!important
}

.pb25 {
  padding-bottom: 25px!important
}

.pb30 {
  padding-bottom: 30px!important
}

.pb35 {
  padding-bottom: 35px!important
}

.pb40 {
  padding-bottom: 40px!important
}

.pb45 {
  padding-bottom: 45px!important
}

.pb50 {
  padding-bottom: 50px!important
}

.pl0 {
  padding-left: 0!important
}

.pl5 {
  padding-left: 5px!important
}

.pl10 {
  padding-left: 10px!important
}

.pl15 {
  padding-left: 15px!important
}

.pl20 {
  padding-left: 20px!important
}

.pl25 {
  padding-left: 25px!important
}

.pl30 {
  padding-left: 30px!important
}

.pl35 {
  padding-left: 35px!important
}

.pl40 {
  padding-left: 40px!important
}

.pl45 {
  padding-left: 45px!important
}

.pl50 {
  padding-left: 50px!important
}

@media screen and (min-width: 737px) {
  .mt0-d {
    margin-top:0!important
  }

  .mt5-d {
    margin-top: 5px!important
  }

  .mt10-d {
    margin-top: 10px!important
  }

  .mt15-d {
    margin-top: 15px!important
  }

  .mt20-d {
    margin-top: 20px!important
  }

  .mt25-d {
    margin-top: 25px!important
  }

  .mt30-d {
    margin-top: 30px!important
  }

  .mt35-d {
    margin-top: 35px!important
  }

  .mt40-d {
    margin-top: 40px!important
  }

  .mt45-d {
    margin-top: 45px!important
  }

  .mt50-d {
    margin-top: 50px!important
  }

  .mr0-d {
    margin-right: 0!important
  }

  .mr5-d {
    margin-right: 5px!important
  }

  .mr10-d {
    margin-right: 10px!important
  }

  .mr15-d {
    margin-right: 15px!important
  }

  .mr20-d {
    margin-right: 20px!important
  }

  .mr25-d {
    margin-right: 25px!important
  }

  .mr30-d {
    margin-right: 30px!important
  }

  .mr35-d {
    margin-right: 35px!important
  }

  .mr40-d {
    margin-right: 40px!important
  }

  .mr45-d {
    margin-right: 45px!important
  }

  .mr50-d {
    margin-right: 50px!important
  }

  .mb0-d {
    margin-bottom: 0!important
  }

  .mb5-d {
    margin-bottom: 5px!important
  }

  .mb10-d {
    margin-bottom: 10px!important
  }

  .mb15-d {
    margin-bottom: 15px!important
  }

  .mb20-d {
    margin-bottom: 20px!important
  }

  .mb25-d {
    margin-bottom: 25px!important
  }

  .mb30-d {
    margin-bottom: 30px!important
  }

  .mb35-d {
    margin-bottom: 35px!important
  }

  .mb40-d {
    margin-bottom: 40px!important
  }

  .mb45-d {
    margin-bottom: 45px!important
  }

  .mb50-d {
    margin-bottom: 50px!important
  }

  .ml0-d {
    margin-left: 0!important
  }

  .ml5-d {
    margin-left: 5px!important
  }

  .ml10-d {
    margin-left: 10px!important
  }

  .ml15-d {
    margin-left: 15px!important
  }

  .ml20-d {
    margin-left: 20px!important
  }

  .ml25-d {
    margin-left: 25px!important
  }

  .ml30-d {
    margin-left: 30px!important
  }

  .ml35-d {
    margin-left: 35px!important
  }

  .ml40-d {
    margin-left: 40px!important
  }

  .ml45-d {
    margin-left: 45px!important
  }

  .ml50-d {
    margin-left: 50px!important
  }

  .pt0-d {
    padding-top: 0!important
  }

  .pt5-d {
    padding-top: 5px!important
  }

  .pt10-d {
    padding-top: 10px!important
  }

  .pt15-d {
    padding-top: 15px!important
  }

  .pt20-d {
    padding-top: 20px!important
  }

  .pt25-d {
    padding-top: 25px!important
  }

  .pt30-d {
    padding-top: 30px!important
  }

  .pt35-d {
    padding-top: 35px!important
  }

  .pt40-d {
    padding-top: 40px!important
  }

  .pt45-d {
    padding-top: 45px!important
  }

  .pt50-d {
    padding-top: 50px!important
  }

  .pr0-d {
    padding-right: 0!important
  }

  .pr5-d {
    padding-right: 5px!important
  }

  .pr10-d {
    padding-right: 10px!important
  }

  .pr15-d {
    padding-right: 15px!important
  }

  .pr20-d {
    padding-right: 20px!important
  }

  .pr25-d {
    padding-right: 25px!important
  }

  .pr30-d {
    padding-right: 30px!important
  }

  .pr35-d {
    padding-right: 35px!important
  }

  .pr40-d {
    padding-right: 40px!important
  }

  .pr45-d {
    padding-right: 45px!important
  }

  .pr50-d {
    padding-right: 50px!important
  }

  .pb0-d {
    padding-bottom: 0!important
  }

  .pb5-d {
    padding-bottom: 5px!important
  }

  .pb10-d {
    padding-bottom: 10px!important
  }

  .pb15-d {
    padding-bottom: 15px!important
  }

  .pb20-d {
    padding-bottom: 20px!important
  }

  .pb25-d {
    padding-bottom: 25px!important
  }

  .pb30-d {
    padding-bottom: 30px!important
  }

  .pb35-d {
    padding-bottom: 35px!important
  }

  .pb40-d {
    padding-bottom: 40px!important
  }

  .pb45-d {
    padding-bottom: 45px!important
  }

  .pb50-d {
    padding-bottom: 50px!important
  }

  .pl0-d {
    padding-left: 0!important
  }

  .pl5-d {
    padding-left: 5px!important
  }

  .pl10-d {
    padding-left: 10px!important
  }

  .pl15-d {
    padding-left: 15px!important
  }

  .pl20-d {
    padding-left: 20px!important
  }

  .pl25-d {
    padding-left: 25px!important
  }

  .pl30-d {
    padding-left: 30px!important
  }

  .pl35-d {
    padding-left: 35px!important
  }

  .pl40-d {
    padding-left: 40px!important
  }

  .pl45-d {
    padding-left: 45px!important
  }

  .pl50-d {
    padding-left: 50px!important
  }
}

@media screen and (max-width: 736px) {
  .mt0-m {
    margin-top:0!important
  }

  .mt5-m {
    margin-top: 5px!important
  }

  .mt10-m {
    margin-top: 10px!important
  }

  .mt15-m {
    margin-top: 15px!important
  }

  .mt20-m {
    margin-top: 20px!important
  }

  .mt25-m {
    margin-top: 25px!important
  }

  .mt30-m {
    margin-top: 30px!important
  }

  .mt35-m {
    margin-top: 35px!important
  }

  .mt40-m {
    margin-top: 40px!important
  }

  .mt45-m {
    margin-top: 45px!important
  }

  .mt50-m {
    margin-top: 50px!important
  }

  .mr0-m {
    margin-right: 0!important
  }

  .mr5-m {
    margin-right: 5px!important
  }

  .mr10-m {
    margin-right: 10px!important
  }

  .mr15-m {
    margin-right: 15px!important
  }

  .mr20-m {
    margin-right: 20px!important
  }

  .mr25-m {
    margin-right: 25px!important
  }

  .mr30-m {
    margin-right: 30px!important
  }

  .mr35-m {
    margin-right: 35px!important
  }

  .mr40-m {
    margin-right: 40px!important
  }

  .mr45-m {
    margin-right: 45px!important
  }

  .mr50-m {
    margin-right: 50px!important
  }

  .mb0-m {
    margin-bottom: 0!important
  }

  .mb5-m {
    margin-bottom: 5px!important
  }

  .mb10-m {
    margin-bottom: 10px!important
  }

  .mb15-m {
    margin-bottom: 15px!important
  }

  .mb20-m {
    margin-bottom: 20px!important
  }

  .mb25-m {
    margin-bottom: 25px!important
  }

  .mb30-m {
    margin-bottom: 30px!important
  }

  .mb35-m {
    margin-bottom: 35px!important
  }

  .mb40-m {
    margin-bottom: 40px!important
  }

  .mb45-m {
    margin-bottom: 45px!important
  }

  .mb50-m {
    margin-bottom: 50px!important
  }

  .ml0-m {
    margin-left: 0!important
  }

  .ml5-m {
    margin-left: 5px!important
  }

  .ml10-m {
    margin-left: 10px!important
  }

  .ml15-m {
    margin-left: 15px!important
  }

  .ml20-m {
    margin-left: 20px!important
  }

  .ml25-m {
    margin-left: 25px!important
  }

  .ml30-m {
    margin-left: 30px!important
  }

  .ml35-m {
    margin-left: 35px!important
  }

  .ml40-m {
    margin-left: 40px!important
  }

  .ml45-m {
    margin-left: 45px!important
  }

  .ml50-m {
    margin-left: 50px!important
  }

  .pt0-m {
    padding-top: 0!important
  }

  .pt5-m {
    padding-top: 5px!important
  }

  .pt10-m {
    padding-top: 10px!important
  }

  .pt15-m {
    padding-top: 15px!important
  }

  .pt20-m {
    padding-top: 20px!important
  }

  .pt25-m {
    padding-top: 25px!important
  }

  .pt30-m {
    padding-top: 30px!important
  }

  .pt35-m {
    padding-top: 35px!important
  }

  .pt40-m {
    padding-top: 40px!important
  }

  .pt45-m {
    padding-top: 45px!important
  }

  .pt50-m {
    padding-top: 50px!important
  }

  .pr0-m {
    padding-right: 0!important
  }

  .pr5-m {
    padding-right: 5px!important
  }

  .pr10-m {
    padding-right: 10px!important
  }

  .pr15-m {
    padding-right: 15px!important
  }

  .pr20-m {
    padding-right: 20px!important
  }

  .pr25-m {
    padding-right: 25px!important
  }

  .pr30-m {
    padding-right: 30px!important
  }

  .pr35-m {
    padding-right: 35px!important
  }

  .pr40-m {
    padding-right: 40px!important
  }

  .pr45-m {
    padding-right: 45px!important
  }

  .pr50-m {
    padding-right: 50px!important
  }

  .pb0-m {
    padding-bottom: 0!important
  }

  .pb5-m {
    padding-bottom: 5px!important
  }

  .pb10-m {
    padding-bottom: 10px!important
  }

  .pb15-m {
    padding-bottom: 15px!important
  }

  .pb20-m {
    padding-bottom: 20px!important
  }

  .pb25-m {
    padding-bottom: 25px!important
  }

  .pb30-m {
    padding-bottom: 30px!important
  }

  .pb35-m {
    padding-bottom: 35px!important
  }

  .pb40-m {
    padding-bottom: 40px!important
  }

  .pb45-m {
    padding-bottom: 45px!important
  }

  .pb50-m {
    padding-bottom: 50px!important
  }

  .pl0-m {
    padding-left: 0!important
  }

  .pl5-m {
    padding-left: 5px!important
  }

  .pl10-m {
    padding-left: 10px!important
  }

  .pl15-m {
    padding-left: 15px!important
  }

  .pl20-m {
    padding-left: 20px!important
  }

  .pl25-m {
    padding-left: 25px!important
  }

  .pl30-m {
    padding-left: 30px!important
  }

  .pl35-m {
    padding-left: 35px!important
  }

  .pl40-m {
    padding-left: 40px!important
  }

  .pl45-m {
    padding-left: 45px!important
  }

  .pl50-m {
    padding-left: 50px!important
  }
}

#header {
  line-height: 1.2
}

#header .site-title {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10000;
  transition: .5s
}

#header .site-title a {
  display: block;
  width: 128px;
  height: 0;
  padding-top: 28.8%;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22166.077px%22%20height%3D%2246.747px%22%20viewBox%3D%220%200%20166.077%2046.747%22%20enable-background%3D%22new%200%200%20166.077%2046.747%22%20xml%3Aspace%3D%22preserve%22%3E%3Cg%3E%20%3Cg%3E%20%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M34.514%2C3.843c-2.927%2C1.899-4.677%2C4.477-5.251%2C7.731%20c-0.394%2C2.23-0.103%2C4.212%2C0.873%2C5.945c0.975%2C1.733%2C2.695%2C3.218%2C5.16%2C4.453c2.464%2C1.236%2C5.153%2C2.479%2C8.068%2C3.729%20c2.914%2C1.251%2C4.685%2C2.57%2C5.315%2C3.956c0.629%2C1.387%2C0.785%2C2.983%2C0.466%2C4.792c-0.388%2C2.201-1.541%2C3.994-3.458%2C5.38%20c-1.917%2C1.388-5.628%2C3.038-8.521%2C3.038c-6.147%2C0-36.088-0.021-36.088-0.021L0%2C45.642c0%2C0%2C31.457%2C0.066%2C36.491%2C0.066%20c4.46%2C0%2C8.139-1.032%2C11.035-3.098c2.896-2.063%2C4.676-4.979%2C5.34-8.747c0.558-3.165%2C0.096-5.636-1.383-7.415%20c-1.48-1.777-4.234-3.549-8.264-5.313c-4.029-1.763-6.854-3.262-8.475-4.498c-1.621-1.235-2.237-2.953-1.849-5.154%20c0.34-1.928%2C1.494-3.556%2C3.461-4.883c1.967-1.325%2C4.427-1.989%2C7.381-1.989c4.731%2C0%2C8.481%2C0.618%2C11.247%2C1.854l1.709-3.797%20c-3.601-1.114-7.557-1.672-11.867-1.672C40.878%2C0.995%2C37.441%2C1.944%2C34.514%2C3.843z%20M83.32%2C0c-5.968%2C0-11.286%2C2.473-15.955%2C7.415%20c-2.007%2C2.321-3.657%2C4.882-4.95%2C7.686c-1.293%2C2.803-2.229%2C5.848-2.809%2C9.133c-1.089%2C6.179%2C0.007%2C11.37%2C3.29%2C15.574%20c3.282%2C4.205%2C8.917%2C6.307%2C16.904%2C6.307c2.2%2C0%2C4.305-0.143%2C6.315-0.43s3.508-0.58%2C4.496-0.881l1.27-3.617%20c-3.238%2C0.935-7.18%2C1.401-11.82%2C1.401c-6.119%2C0-10.643-1.905-13.572-5.719c-2.93-3.813-3.879-8.642-2.848-14.49l32.57-0.362%20c0.295-0.994%2C0.59-2.32%2C0.883-3.979c0.897-5.093%2C0.167-9.373-2.189-12.84C92.546%2C1.734%2C88.685%2C0%2C83.32%2C0z%20M92.825%2C19.169H64.479%20c1.638-5.183%2C4.057-9.125%2C7.261-11.823c3.203-2.697%2C6.809-4.046%2C10.818-4.046c4.31%2C0%2C7.324%2C1.372%2C9.041%2C4.114%20C93.314%2C10.158%2C93.723%2C14.076%2C92.825%2C19.169z%20M166.077%2C0.642c0%2C0-29.486-0.018-34.326-0.02c-0.385%2C0-1.145%2C0.317-1.332%2C0.783%20c-0.136%2C0.335-0.295%2C0.729-0.443%2C1.096c-0.375%2C0.933%2C0.138%2C1.455%2C0.721%2C1.71c2.173%2C0.952%2C3.936%2C2.537%2C5.27%2C4.787%20c2.322%2C3.918%2C2.967%2C8.816%2C1.93%2C14.693c-0.84%2C4.763-2.963%2C9.283-6.369%2C13.563c-3.408%2C4.279-7.869%2C6.419-13.385%2C6.419%20c-4.883%2C0-8.463-1.913-10.742-5.741c-2.279-3.827-2.887-8.755-1.823-14.784c0.851-4.822%2C2.946-9.366%2C6.292-13.631%20c2.468-3.148%2C5.545-5.116%2C9.216-5.936c0.871-0.194%2C1.353-0.414%2C1.306-1.601c-0.037-0.972-0.408-1.35-1.412-1.07%20c-3.645%2C1.015-7.066%2C2.982-10.264%2C5.917c-4.891%2C4.491-8.02%2C10.609-9.385%2C18.355c-1.18%2C6.69-0.277%2C11.958%2C2.707%2C15.801%20s7.204%2C5.764%2C12.66%2C5.764c5.726%2C0%2C11.04-2.229%2C15.94-6.69s8.023-10.504%2C9.368-18.129c1.297-7.354%2C0.288-12.832-3.025-16.435%20c-0.649-0.705-2.159-1.982-2.861-2.55c10.045%2C0.02%2C25.359%2C0.048%2C28.68%2C0.048L166.077%2C0.642z%22%2F%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E') center no-repeat;
  background-size: contain;
  overflow: hidden;
  transition: opacity .2s,background .5s
}

body.d #header .site-title a:hover {
  opacity: .6
}

body.open #header .site-title a {
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22166.078px%22%20height%3D%2246.747px%22%20viewBox%3D%220%200%20166.078%2046.747%22%20enable-background%3D%22new%200%200%20166.078%2046.747%22%20xml%3Aspace%3D%22preserve%22%3E%3Cg%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M34.514%2C3.843c-2.927%2C1.899-4.677%2C4.477-5.251%2C7.73c-0.394%2C2.23-0.103%2C4.212%2C0.873%2C5.945%20c0.975%2C1.733%2C2.695%2C3.218%2C5.16%2C4.453c2.464%2C1.236%2C5.153%2C2.479%2C8.068%2C3.729c2.914%2C1.25%2C4.685%2C2.569%2C5.315%2C3.955%20c0.629%2C1.387%2C0.785%2C2.983%2C0.466%2C4.792c-0.388%2C2.201-1.541%2C3.994-3.458%2C5.38c-1.917%2C1.389-5.628%2C3.039-8.521%2C3.039%20c-6.147%2C0-36.088-0.021-36.088-0.021L0%2C45.642c0%2C0%2C31.457%2C0.065%2C36.491%2C0.065c4.46%2C0%2C8.139-1.031%2C11.035-3.098%20c2.896-2.063%2C4.676-4.979%2C5.34-8.747c0.558-3.165%2C0.096-5.636-1.383-7.415c-1.48-1.777-4.234-3.549-8.264-5.313%20c-4.029-1.763-6.854-3.262-8.475-4.498c-1.621-1.235-2.237-2.953-1.849-5.154c0.34-1.928%2C1.494-3.556%2C3.461-4.883%20c1.967-1.325%2C4.427-1.989%2C7.381-1.989c4.731%2C0%2C8.481%2C0.618%2C11.247%2C1.854l1.709-3.797c-3.601-1.114-7.557-1.672-11.867-1.672%20C40.878%2C0.995%2C37.441%2C1.944%2C34.514%2C3.843z%20M83.32%2C0c-5.968%2C0-11.286%2C2.473-15.955%2C7.415c-2.007%2C2.321-3.657%2C4.882-4.95%2C7.686%20c-1.293%2C2.803-2.229%2C5.848-2.809%2C9.133c-1.089%2C6.179%2C0.007%2C11.37%2C3.29%2C15.574c3.282%2C4.205%2C8.917%2C6.307%2C16.904%2C6.307%20c2.2%2C0%2C4.305-0.143%2C6.315-0.43s3.508-0.58%2C4.496-0.881l1.27-3.617c-3.237%2C0.935-7.18%2C1.401-11.819%2C1.401%20c-6.119%2C0-10.643-1.905-13.572-5.719c-2.93-3.813-3.879-8.643-2.848-14.491l32.569-0.362c0.295-0.994%2C0.59-2.32%2C0.884-3.979%20c0.897-5.093%2C0.167-9.373-2.189-12.84C92.546%2C1.734%2C88.685%2C0%2C83.32%2C0z%20M92.826%2C19.169H64.479%20c1.638-5.183%2C4.057-9.125%2C7.261-11.823C74.943%2C4.649%2C78.549%2C3.3%2C82.558%2C3.3c4.311%2C0%2C7.324%2C1.372%2C9.041%2C4.114%20C93.314%2C10.158%2C93.723%2C14.076%2C92.826%2C19.169z%20M166.078%2C0.642c0%2C0-29.486-0.018-34.326-0.02c-0.385%2C0-1.146%2C0.317-1.332%2C0.783%20c-0.137%2C0.335-0.295%2C0.729-0.443%2C1.096c-0.375%2C0.933%2C0.138%2C1.455%2C0.721%2C1.71c2.174%2C0.952%2C3.936%2C2.537%2C5.27%2C4.787%20c2.322%2C3.918%2C2.968%2C8.816%2C1.931%2C14.693c-0.84%2C4.763-2.963%2C9.283-6.369%2C13.563c-3.407%2C4.279-7.868%2C6.418-13.385%2C6.418%20c-4.884%2C0-8.463-1.912-10.742-5.74c-2.278-3.827-2.887-8.755-1.823-14.784c0.852-4.822%2C2.946-9.366%2C6.293-13.631%20c2.467-3.148%2C5.545-5.116%2C9.215-5.936c0.871-0.194%2C1.354-0.414%2C1.307-1.601c-0.037-0.972-0.408-1.35-1.412-1.07%20c-3.645%2C1.015-7.066%2C2.982-10.264%2C5.917c-4.891%2C4.491-8.021%2C10.609-9.385%2C18.355c-1.181%2C6.689-0.277%2C11.958%2C2.707%2C15.801%20c2.983%2C3.844%2C7.203%2C5.764%2C12.659%2C5.764c5.726%2C0%2C11.04-2.229%2C15.94-6.689s8.023-10.504%2C9.367-18.129%20c1.297-7.354%2C0.289-12.832-3.024-16.435c-0.649-0.705-2.159-1.982-2.86-2.55c10.045%2C0.02%2C25.358%2C0.048%2C28.68%2C0.048L166.078%2C0.642z%20%22%2F%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E') center no-repeat;
  background-size: 100%;
  opacity: 0
}

#header #global-nav-icon {
  position: fixed;
  top: 5px;
  right: 0;
  width: 52px;
  height: 52px;
  margin-right: 5px;
  background: rgba(255,255,255,.8);
  cursor: pointer;
  z-index: 10000;
  transition: .5s
}

body.open #header #global-nav-icon {
  right: 80%;
  background: rgba(255,255,255,1);
  box-shadow: 0 0 4px rgba(0,0,0,.5)
}

#header #global-nav-icon .line1,#header #global-nav-icon .line2,#header #global-nav-icon .line3 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  color: #000;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
  transform: translate(-50%,-50%);
  height: 4px;
  background: #000;
  border-radius: 4px;
  transition: .2s
}

#header #global-nav-icon .line1 {
  margin-top: -12px
}

#header #global-nav-icon .line2 {
  margin-top: 0
}

#header #global-nav-icon .line3 {
  margin-top: 12px
}

body.open #header #global-nav-icon .line1 {
  margin-top: 0;
  transform: translate(-50%,-50%) rotate(45deg)
}

body.open #header #global-nav-icon .line2 {
  opacity: 0
}

body.open #header #global-nav-icon .line3 {
  margin-top: 0;
  transform: translate(-50%,-50%) rotate(-45deg)
}

#header #global-nav {
  position: fixed;
  top: 0;
  left: 100%;
  width: 80%;
  height: 100%;
  background: #fff;
  overflow: hidden;
  overflow-y: auto;
  z-index: 10000;
  transition: .5s
}

#content,#main .node,.page-title {
  clear: both;
  overflow: hidden
}

#header #global-nav::-webkit-scrollbar {
  width: 4px
}

#header #global-nav::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
  box-shadow: none
}

body.open #header #global-nav {
  left: 20%;
  box-shadow: 0 0 4px rgba(0,0,0,.5)
}

#header #global-nav .global-nav-wrapper {
  padding-bottom: 60px
}

#header #global-nav .nav-item:not(.sub) {
  border-bottom: 1px solid #ddd
}

#header #global-nav .nav-item:not(.sub) .item-name {
  position: relative;
  display: block;
  padding: 15px 30px 13px 15px;
  color: #000;
  text-decoration: none;
  cursor: pointer
}

#header #global-nav .nav-item:not(.sub) .item-name .en {
  display: block;
  margin-bottom: 2px;
  font-family: Quicksand,sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  text-shadow: .3px .3px 0,.3px -.3px 0,-.3px .3px 0,-.3px -.3px 0
}

#header #global-nav .nav-item:not(.sub) .item-name .jp {
  display: block;
  font-size: 1.4rem;
  text-decoration: none
}

#header #global-nav .nav-item:not(.sub) .item-name a:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer
}

#header #global-nav .nav-item:not(.sub) .item-name:after {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 7px;
  height: 7px;
  margin: -4px 0 0 -4px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transition: .2s
}

#header #global-nav .nav-item:not(.sub) .item-name:after {
  transform: rotate(45deg)
}

#header #global-nav .nav-item:not(.sub) .item-name.close:after {
  transform: rotate(135deg)
}

#header #global-nav .nav-item:not(.sub) .item-name.open:after {
  transform: rotate(-45deg)
}

#header #global-nav .nav-item.estimates,#header #global-nav .nav-item.online {
  background: #000
}

#header #global-nav .nav-item.estimates .item-name,#header #global-nav .nav-item.online .item-name {
  padding: 15px 30px 13px 60px;
  color: #fff
}

#header #global-nav .nav-item.estimates .item-name a,#header #global-nav .nav-item.online .item-name a {
  color: #fff
}

#header #global-nav .nav-item.consultation {
  background: linear-gradient(to right,#fffc17 0,#ffe203 100%)
}

#header #global-nav .nav-item.clinic {
  background: linear-gradient(to right,#cbe6f5 0,#bdd8e7 100%)
}

#header #global-nav .nav-item.clinic .item-name,#header #global-nav .nav-item.consultation .item-name {
  padding: 18px 30px 16px 60px;
  font-weight: 700
}

#header #global-nav .nav-item.estimates .item-name {
  background: url(/img/icon/quote_w.gif) no-repeat 15px center;
  background-size: 30px
}

#header #global-nav .nav-item.consultation .item-name {
  background: url(/img/icon/mail_b.gif) no-repeat 15px center;
  background-size: 30px
}

#header #global-nav .nav-item.clinic .item-name {
  background: url(/img/icon/clinic_b.png) no-repeat 12px center;
  background-size: 35px
}

#header #global-nav .nav-item.online .item-name {
  background: url(/img/icon/online_w.gif) no-repeat 15px center;
  background-size: 30px
}

#header #global-nav .nav-item.estimates .item-name:after,#header #global-nav .nav-item.online .item-name:after {
  border-color: #fff
}

#header #global-nav .nav-item.sub .item-name {
  position: relative;
  display: block;
  padding: 8px 10px 8px 28px;
  color: #000;
  font-size: 1.4rem;
  text-decoration: none;
  cursor: pointer
}

#header #global-nav .nav-item.sub .item-name:after {
  position: absolute;
  top: 11px;
  left: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #000
}

#header #global-nav .sub-nav {
  clear: both;
  height: 0;
  margin: 0 -5px;
  padding: 0 5px;
  background: #eee;
  opacity: 0;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.25);
  overflow: hidden;
  transition: .2s
}

#header #global-nav .nav-item span.item-name.open+.sub-nav {
  height: auto;
  opacity: 1
}

#header #global-nav .sub-nav ul {
  padding: 10px
}

#header #global-nav .sub-nav a {
  display: block;
  padding: 10px;
  font-size: 1.6rem;
  text-decoration: none
}

#header #global-nav .sub-nav a .icon {
  image-rendering: -webkit-optimize-contrast;
  display: inline-block;
  width: 45px;
  height: 30px;
  margin: -4px 10px 0 0;
  object-fit: contain;
  font-family: 'object-fit: contain;';
  vertical-align: middle
}

#header #global-nav .nav-item.banner {
  padding: 25px 15px;
  border-bottom: none
}

#header #global-nav .nav-item.banner a {
  line-height: 0;
  transition: .2s
}

@media screen and (max-width: 736px) {
  #header #supplement-nav {
    display:none
  }

  #fixed-menu {
    position: fixed;
    left: 5px;
    right: 5px;
    bottom: 0;
    clear: both;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    line-height: 1.2;
    z-index: 9999
  }

  #fixed-menu ul {
    display: flex
  }

  #fixed-menu ul li {
    flex: 1
  }

  #fixed-menu ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    min-height: 50px;
    padding: 0 5px;
    font-weight: 700;
    text-decoration: none
  }

  #fixed-menu ul li a:before {
    content: '';
    flex-shrink: 0
  }

  #fixed-menu ul li.tel a {
    gap: 2px;
    background: #000;
    color: #fff;
    font-size: min(4.9vw,20px);
    font-weight: 700
  }

  #fixed-menu ul li.tel a:before {
    width: 15px;
    height: 15px;
    background: url(../img/icon/tel_w.gif) no-repeat center bottom;
    background-size: 100% auto;
    transform: rotate(10deg)
  }

  #fixed-menu ul li.consultation a {
    background: linear-gradient(to right,#fffc17 0,#ffe203 100%)
  }

  #fixed-menu ul li.consultation a:before {
    width: 16px;
    height: 16px;
    background: url(../img/icon/mail_b.gif) no-repeat center;
    background-size: 100% auto
  }
}

@media screen and (min-width: 737px) {
  #header .site-title {
    position:fixed;
    top: 40px;
    left: 40px
  }

  #header .site-title a {
    width: 167px
  }

  #header.transparent .site-title a {
    opacity: .25
  }

  body.open #header .site-title a {
    opacity: 1
  }

  #header #supplement-nav {
    position: fixed;
    top: 40px;
    right: 132px;
    z-index: 10000
  }

  #header #supplement-nav ul {
    display: flex;
    gap: 10px
  }

  #header #supplement-nav ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-weight: 700;
    text-align: center;
    border-radius: 50vh;
    text-decoration: none;
    transition: .2s
  }

  #header #supplement-nav ul li.tel a {
    gap: 3px;
    padding: 8px 20px;
    background: #fff;
    font-size: 22.5px;
    border: 1px solid grey
  }

  #header #supplement-nav ul li.tel a:before {
    content: '';
    width: 20px;
    height: 20px;
    background: url(/img/icon/tel_b.gif) no-repeat center;
    background-size: 100% auto
  }

  #header #supplement-nav ul li.consultation a {
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(to right,#fffc17 0,#ffe203 100%);
    font-size: 17px
  }

  #header #supplement-nav ul li.consultation a:before {
    content: '';
    width: 20px;
    height: 20px;
    background: url(/img/icon/mail_b.gif) no-repeat center;
    background-size: 100% auto
  }

  #header #supplement-nav ul li.consultation a:hover {
    opacity: .7
  }

  #header #global-nav-icon {
    top: 40px;
    margin-right: 40px
  }

  body.open #header #global-nav-icon {
    right: 30%
  }

  #header #global-nav {
    width: 30%
  }

  body.open #header #global-nav {
    left: 70%
  }

  #header #global-nav .nav-item.banner {
    padding: 25px 30px
  }

  #header #global-nav .nav-item.banner a:hover {
    opacity: .7
  }

  #fixed-menu {
    display: none;
    position: fixed;
    top: 50%;
    right: 0;
    width: 48px;
    margin-top: -79px;
    padding: 0 6px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.4);
    white-space: nowrap;
    z-index: 9999;
    transition: .3s
  }

  body.dv #fixed-menu:hover {
    width: 210px
  }

  #fixed-menu li {
    border-top: 1px solid #ccc
  }

  #fixed-menu li:first-child {
    border-top: none
  }

  #fixed-menu ul li a {
    position: relative;
    box-sizing: border-box;
    display: block;
    padding-left: 45px;
    color: #000;
    font-weight: 700;
    text-decoration: none;
    text-align: left;
    line-height: 52px;
    transition: .2s
  }

  #fixed-menu ul li.tel a {
    font-size: 1.8rem;
    background: url(/img/icon/tel_b.gif) 6px center no-repeat;
    background-size: 26px
  }

  #fixed-menu ul li.tel a em {
    font-style: normal
  }

  #fixed-menu ul li.tel a .time {
    display: none
  }

  #fixed-menu ul li.estimates a {
    background: url(/img/icon/quote_b.gif) 6px center no-repeat;
    background-size: 26px
  }

  #fixed-menu ul li.consultation a {
    background: url(/img/icon/mail_b.gif) 6px center no-repeat;
    background-size: 26px
  }

  #fixed-menu ul li.online a {
    background: url(/img/icon/online_b.gif) 5px center no-repeat;
    background-size: 29px
  }

  body.d #fixed-menu ul li:not(.tel) a:hover {
    opacity: .6
  }
}

#content:after {
  position: fixed;
  top: 0;
  left: 0;
  background: #000;
  z-index: 9999;
  opacity: 0;
  transition: opacity .5s
}

body.open #content:after {
  width: 100%;
  height: 100%;
  opacity: .75
}

.page-title {
  position: relative;
  height: 240px;
  margin: -10px -10px 0;
  padding: 0 10px;
  box-shadow: inset 0 -2px 5px rgba(0,0,0,.2)
}

.page-title .bg {
  position: fixed;
  top: -10px;
  right: -10px;
  left: -10px;
  height: 240px
}

.page-title .bg img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  -ms-filter: blur(3px);
  filter: blur(3px);
  opacity: .3
}

#main .node h2.title-home .en,.page-title div.title .en {
  font-family: Quicksand,sans-serif;
  text-shadow: .3px .3px 0,.3px -.3px 0,-.3px .3px 0,-.3px -.3px 0;
  letter-spacing: -2px;
  font-weight: 400
}

.page-title .bg:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: .75;
  mix-blend-mode: overlay
}

.page-title .title {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 6.4rem;
  line-height: 1.2;
  white-space: nowrap;
  transform: translate(-50%,-5%);
  text-align: center
}

.page-title .title .en {
  display: block;
  margin-bottom: .1em;
  font-size: 3.8rem
}

.page-title .title .jp {
  display: block;
  font-size: 2rem;
  font-weight: 400
}

.page-title .title .jp:after,.page-title .title .jp:before {
  content: '';
  display: inline-block;
  height: 1.2em;
  margin: 0 1em;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  vertical-align: top;
  opacity: .4
}

@media screen and (min-width: 839px) {
  .page-title .title {
    font-size:7.5vw
  }
}

@media screen and (min-width: 737px) {
  .page-title,.page-title .bg {
    height:460px
  }

  .page-title .title {
    font-size: 6.4rem;
    transform: translate(-50%,-25%)
  }

  .page-title .title .en {
    font-size: 100%
  }

  .page-title .title .jp {
    font-size: 46.8%
  }
}

#main {
  position: relative;
  clear: both;
  background: #fff
}

#main .node {
  padding: 40px 0
}

#main .node .node-wrapper {
  max-width: 980px;
  margin: 0;
  padding: 0 20px
}

#main .node .node-wrapper.middle {
  max-width: 1180px
}

#main .node .node-wrapper.wide {
  max-width: none;
  margin: 0;
  padding: 0 20px
}

#main .node .node-inner {
  clear: both;
  margin-bottom: 60px
}

#main .node .node-inner:last-child {
  margin-bottom: 0
}

#main .node h2.title,#main .node h2.title-home {
  margin-bottom: 40px!important;
  text-align: center;
  clear: both;
  overflow: hidden
}

#main .node h2.title-home {
  margin-bottom: 25px;
  line-height: 1.2
}

#main .node h2.title-home .en {
  position: relative;
  display: inline-block;
  margin-right: 6px;
  padding-bottom: 13px;
  font-size: 3.6rem;
  vertical-align: top
}

#main .node h2.title-home .en:before {
  position: absolute;
  top: 9px;
  right: -32px;
  width: 60px;
  border-bottom: 1px solid #000;
  transform-origin: 95%;
  transform: rotate(-45deg)
}

#main .node h2.title-home .jp {
  display: inline-block;
  font-size: 1.7rem;
  font-weight: 400;
  vertical-align: bottom
}

#main .node h2.title .en,#main .node h2.title .jp {
  display: block;
  text-shadow: .3px .3px 0,.3px -.3px 0,-.3px .3px 0,-.3px -.3px 0
}

#main .node h2.title {
  margin: 0 15px 20px;
  line-height: 1.4
}

#main .node h2.title .jp {
  margin-bottom: 8px;
  font-size: 2.4rem;
  font-weight: 700
}

#main .node h2.title .en {
  font-family: 'Noto Serif JP',serif;
  font-size: .9rem;
  font-weight: 400
}

#main .node h3.title {
  clear: both;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px
}

#main .node h3.title:after,
#main .node h3.title:before {
  content: '//////';
  font-size: 1rem;
  font-weight: 700;
  transform: scale(.75)
}

#main .node div.inquiry-title,#main .node h3.title>span,#main .node h4.title {
  font-size: 2rem;
  text-align: center;
  font-weight: 700
}

#main .node h3.title>span {
  padding: 0 5px;
  line-height: 1.3
}

#main .node h3:after,
#main .node h3:before {
  content: '//////'
}

#main .node div.inquiry-title,#main .node h4.title {
  margin-bottom: 14px
}

#main .node h4.title.consulting {margin: 0 -20px 15px;padding: 10px 20px;color: #FFF;font-size: 1.8rem;background: #000;line-height: 1.4;}

#main .node h5 {
  margin-bottom: .8em;
  font-size: 1.8rem;
  font-weight: 700
}

@media screen and (min-width: 879px) {
  #main .node h2.title .jp {
    font-size:4.75vw
  }
}

@media screen and (min-width: 737px) {
  #main .node {
    padding:80px 0
  }

  #main .node .node-wrapper,#main .node .node-wrapper.wide {
    margin: 0 auto;
    padding: 0 40px
  }

  #main .node h2.title-home {
    margin-bottom: 0
  }

  #main .node h2.title-home .en {
    margin-right: 4px;
    padding-bottom: 20px;
    font-size: 5.2rem
  }

  #main .node h2.title-home .en:before {
    top: 12px;
    right: -50px;
    width: 99px
  }

  #main .node h2.title-home .jp {
    font-size: 2.2rem
  }

  #main .node h2.title {
    margin: 0 0 40px
  }

  #main .node h2.title .jp {
    font-size: 4.2rem
  }

  #main .node h3.title:before,
  #main .node h3.title:after {
    content: '////////////';
  }

  #main .node h3.title>span {
    font-size: 2.8rem
  }

  #main .node div.inquiry-title,#main .node h4.title {
    font-size: 2.2rem
  }

  #main .node h4.title.consulting {margin: 0 0 25px;font-size: 2.2rem;}

  #main .node h5 {
    font-size: 2rem
  }
}

#breadcrumbs {
  clear: both;
  padding: 15px 15px 0;
  font-size: 12px;
  text-align: right;
  letter-spacing: -.4em;
  line-height: 1.2
}

#breadcrumbs li {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top
}

#breadcrumbs li a,#breadcrumbs li>span {
  position: relative;
  display: block;
  padding: 0 0 0 15px
}

#breadcrumbs li a:before,#breadcrumbs li>span:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 5px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: translateY(-50%) rotate(45deg)
}

#breadcrumbs li:first-child a {
  padding: 0
}

#breadcrumbs li:first-child a:before {
  content: normal;
  display: none
}

#breadcrumbs li:last-child a {
  color: #262626;
  text-decoration: none
}

#eyecatch {
  position: relative;
  clear: both;
  height: 340px;
  padding: 15px 0 0;
  overflow: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-size: auto 82%;
  transition: .2s
}

#eyecatch .eyecatch-inner {
  position: absolute;
  display: block;
  left: 50%;
  bottom: 0;
  width: 908px;
  height: 701px;
  margin: 0 auto;
  transform-origin: 50% 100%;
  transform: translateX(-50%) scale(.4);
  z-index: 1
}

#eyecatch.start .dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin: -25px 0 0 -25px;
  background: #000;
  border: 15px solid #fff;
  border-radius: 100%;
  overflow: hidden;
  transform: translateY(50px) scale(0);
  animation: eyecatch01 1.6s ease-in-out 1s forwards
}

@keyframes eyecatch01 {
  0% {
    transform: translateY(50px) scale(0)
  }

  28% {
    transform: translateY(-100px) scale(1)
  }

  100% {
    transform: translateY(1200px) scale(2)
  }
}

#eyecatch.start:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  border-bottom: 1px solid #000;
  transform: translateX(-50%) scaleX(0);
  animation: eyecatch02 .55s ease-out 1.95s forwards
}

@keyframes eyecatch02 {
  0% {
    transform: translateX(-50%) scaleX(0)
  }

  100% {
    transform: translateX(-50%) scaleX(1)
  }
}

#eyecatch svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

#eyecatch .words>* {
  position: absolute;
  opacity: 0
}

#eyecatch.start .words img:nth-child(1) {
  top: 4px;
  left: 345px;
  animation: eyecatchW01 .6s ease-out 3.8s forwards
}

@keyframes eyecatchW01 {
  0% {
    opacity: 0;
    transform: translate(-100px,10px) rotate(-20deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(9) {
  top: 67px;
  left: 313px;
  animation: eyecatchW07 .6s ease-out 4s forwards
}

@keyframes eyecatchW07 {
  0% {
    opacity: 0;
    transform: translate(10px,0) rotate(20deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(2) {
  top: 63px;
  left: 308px;
  animation: eyecatchW02 .6s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(3) {
  top: 48px;
  left: 324px;
  animation: eyecatchW02 .6s ease-out 3.3s forwards
}

#eyecatch.start .words img:nth-child(4) {
  top: 63px;
  left: 356px;
  animation: eyecatchW02 .6s ease-out 3.1s forwards
}

@keyframes eyecatchW02 {
  0% {
    opacity: 0;
    transform: translate(50px,-100px) rotate(20deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(5) {
  top: 361px;
  left: 671px;
  animation: eyecatchW03 .6s ease-out 3.6s forwards
}

@keyframes eyecatchW03 {
  0% {
    opacity: 0;
    transform: translate(-100px,10px) rotate(40deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(7) {
  top: 405px;
  left: 766px;
  animation: eyecatchW04 .6s ease-out 3.7s forwards
}

@keyframes eyecatchW04 {
  0% {
    opacity: 0;
    transform: translate(-100px,50px) rotate(40deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(6) {
  top: 454px;
  left: 66px;
  animation: eyecatchW05 .6s ease-out 3.6s forwards
}

@keyframes eyecatchW05 {
  0% {
    opacity: 0;
    transform: translate(100px,10px) rotate(-30deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(8) {
  top: 455px;
  left: 45px;
  animation: eyecatchW06 .6s ease-out 3.5s forwards
}

@keyframes eyecatchW06 {
  0% {
    opacity: 0;
    transform: translate(50px,50px) rotate(-20deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(12) {
  top: 97px;
  left: 102px;
  animation: eyecatch05 .3s ease-out 3.8s forwards
}

#eyecatch.start .words img:nth-child(15) {
  top: 110px;
  left: 181px;
  animation: eyecatch03 .4s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(18) {
  top: 141px;
  left: 80px;
  animation: eyecatch03 .4s ease-out 3.7s forwards
}

#eyecatch.start .words img:nth-child(10) {
  top: 69px;
  left: 267px;
  animation: eyecatch06 .3s ease-out 3.9s forwards
}

#eyecatch.start .words img:nth-child(26) {
  top: 204px;
  left: 520px;
  animation: eyecatch05 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(20) {
  top: 148px;
  left: 557px;
  animation: eyecatch06 .3s ease-out 3.7s forwards
}

#eyecatch.start .words img:nth-child(16) {
  top: 117px;
  left: 604px;
  animation: eyecatch05 .3s ease-out 3.8s forwards
}

#eyecatch.start .words img:nth-child(31) {
  top: 246px;
  left: 497px;
  animation: eyecatch06 .3s ease-out 4s forwards
}

#eyecatch.start .words img:nth-child(37) {
  top: 308px;
  left: 481px;
  animation: eyecatch05 .3s ease-out 3.4s forwards
}

#eyecatch.start .words img:nth-child(42) {
  top: 355px;
  left: 476px;
  animation: eyecatch04 .3s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(19) {
  top: 141px;
  left: 674px;
  animation: eyecatch04 .3s ease-out 3.2s forwards
}

#eyecatch.start .words img:nth-child(22) {
  top: 183px;
  left: 674px;
  animation: eyecatch03 .3s ease-out 3.3s forwards
}

#eyecatch.start .words img:nth-child(30) {
  top: 236px;
  left: 676px;
  animation: eyecatch04 .3s ease-out 3.4s forwards
}

#eyecatch.start .words img:nth-child(34) {
  top: 285px;
  left: 675px;
  animation: eyecatch03 .3s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(21) {
  top: 162px;
  left: 743px;
  animation: eyecatch05 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(14) {
  top: 105px;
  left: 761px;
  animation: eyecatch06 .3s ease-out 3.7s forwards
}

#eyecatch.start .words .drone {
  top: 190px;
  left: 188px;
  animation: eyecatch04 .3s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(17) {
  top: 117px;
  left: 678px;
  animation: eyecatch06 .3s ease-out 3.1s forwards
}

#eyecatch.start .words img:nth-child(13) {
  top: 101px;
  left: 646px;
  animation: eyecatch05 .3s ease-out 3.1s forwards
}

#eyecatch.start .words img:nth-child(25) {
  top: 194px;
  left: 851px;
  animation: eyecatch03 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(41) {
  top: 363px;
  left: 677px;
  animation: eyecatch03 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(43) {
  top: 379px;
  left: 714px;
  animation: eyecatch03 .3s ease-out 3.7s forwards
}

#eyecatch.start .words img:nth-child(36) {
  top: 300px;
  left: 39px;
  animation: eyecatch04 .3s ease-out 3.1s forwards
}

#eyecatch.start .words img:nth-child(47) {
  top: 454px;
  left: 123px;
  animation: eyecatch03 .3s ease-out 3.2s forwards
}

#eyecatch.start .words img:nth-child(39) {
  top: 332px;
  left: 1px;
  animation: eyecatch04 .3s ease-out 3.3s forwards
}

#eyecatch.start .words img:nth-child(52) {
  top: 483px;
  left: 146px;
  animation: eyecatch03 .3s ease-out 3.4s forwards
}

#eyecatch.start .words img:nth-child(44) {
  top: 386px;
  left: 34px;
  animation: eyecatch04 .3s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(49) {
  top: 455px;
  left: 281px;
  animation: eyecatch03 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(48) {
  top: 454px;
  left: 369px;
  animation: eyecatch05 .3s ease-out 3.7s forwards
}

#eyecatch.start .words img:nth-child(33) {
  top: 271px;
  left: 80px;
  animation: eyecatch03 .3s ease-out 3.8s forwards
}

#eyecatch.start .words img:nth-child(23) {
  top: 189px;
  left: 80px;
  animation: eyecatch04 .3s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(29) {
  top: 221px;
  left: 171px;
  animation: eyecatch05 .3s ease-out 3.6s forwards
}

#eyecatch.start .words .mobile {
  top: 221px;
  left: 82px;
  animation: eyecatch04 .3s ease-out 3.4s forwards
}

#eyecatch.start .words img:nth-child(28) {
  top: 221px;
  left: 116px;
  animation: eyecatch06 .3s ease-out 3.3s forwards
}

#eyecatch.start .words img:nth-child(32) {
  top: 250px;
  left: 193px;
  animation: eyecatch04 .3s ease-out 3.4s forwards
}

#eyecatch.start .words img:nth-child(38) {
  top: 330px;
  left: 413px;
  animation: eyecatch06 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(35) {
  top: 286px;
  left: 274px;
  animation: eyecatchW07 .6s ease-out 3.4s forwards
}

@keyframes eyecatchW07 {
  0% {
    opacity: 0;
    transform: rotate(-90deg)
  }

  100% {
    opacity: 1;
    transform: translate(0,0) rotate(0)
  }
}

#eyecatch.start .words img:nth-child(11) {
  top: 83px;
  left: 547px;
  animation: eyecatch06 .3s ease-out 3.8s forwards
}

#eyecatch.start .words img:nth-child(46) {
  top: 450px;
  left: 552px;
  animation: eyecatch04 .3s ease-out 3.1s forwards
}

#eyecatch.start .words img:nth-child(55) {
  top: 513px;
  left: 558px;
  animation: eyecatch03 .3s ease-out 3.2s forwards
}

#eyecatch.start .words img:nth-child(51) {
  top: 471px;
  left: 504px;
  animation: eyecatch04 .3s ease-out 3.3s forwards
}

#eyecatch.start .words img:nth-child(53) {
  top: 492px;
  left: 726px;
  animation: eyecatch03 .3s ease-out 3.4s forwards
}

#eyecatch.start .words img:nth-child(45) {
  top: 426px;
  left: 817px;
  animation: eyecatch03 .3s ease-out 3.7s forwards
}

#eyecatch.start .words img:nth-child(50) {
  top: 465px;
  left: 772px;
  animation: eyecatch03 .3s ease-out 3.6s forwards
}

#eyecatch.start .words img:nth-child(54) {
  top: 512px;
  left: 782px;
  animation: eyecatch03 .3s ease-out 3.5s forwards
}

#eyecatch.start .words img:nth-child(40) {
  top: 362px;
  left: 865px;
  animation: eyecatch06 .3s ease-out 3.8s forwards
}

@keyframes eyecatch03 {
  0% {
    opacity: 0;
    transform: translateX(-80px)
  }

  100% {
    opacity: 1;
    transform: translateX(0)
  }
}

@keyframes eyecatch04 {
  0% {
    opacity: 0;
    transform: translateX(80px)
  }

  100% {
    opacity: 1;
    transform: translateX(0)
  }
}

@keyframes eyecatch05 {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes eyecatch06 {
  0% {
    opacity: 0;
    transform: translateY(-30px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

#eyecatch.start .words .drone img {
  display: block;
  animation: eyecatch07 3s ease 0s infinite
}

@keyframes eyecatch07 {
  0,100% {
    transform: translateY(3px)
  }

  60% {
    transform: translateY(-3px)
  }
}

#eyecatch.start .words .under {
  top: 404px;
  left: 554px;
  width: .5em;
  border-bottom: 2px solid #000;
  animation: eyecatch08 .8s ease 5s infinite
}

@keyframes eyecatch08 {
  0,60% {
    opacity: 0
  }

  100%,61% {
    opacity: 1
  }
}

#eyecatch.start .words .mobile img {
  display: block;
  animation: eyecatch09 8s ease 0s infinite
}

@keyframes eyecatch09 {
  0,90% {
    transform: rotate3d(0,1,0,0deg)
  }

  100% {
    transform: rotate3d(0,1,0,360deg)
  }
}

#eyecatch.start .line {
  position: absolute;
  top: 650px;
  left: 473px;
  opacity: 0;
  animation: eyecatch10 .2s ease 3.8s forwards
}

@keyframes eyecatch10 {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@media screen and (min-width: 737px) {
  #breadcrumbs {
    padding:20px 40px 0
  }

  #eyecatch {
    height: auto;
    background-size: auto
  }

  #eyecatch .eyecatch-inner {
    position: relative;
    display: block;
    left: auto;
    bottom: auto;
    transform-origin: 100% 100%;
    transform: translateX(0) scale(1)
  }
}

.lead,a.btn,a.link-icon {
  display: inline-block;
  vertical-align: top
}

.big-photo-points-block .title .jp,.lead,.service-block .service-block-inner dl dt {
  font-family: 'Noto Serif JP',serif;
  font-weight: 700
}

.problem-photo-list li img,.service-block .service-block-inner img,.works-slide .works-item .pc,.works-slide .works-item .sp,.works-swiper .swiper-slide .pc,.works-swiper .swiper-slide .sp {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.big-photo-points-block,.lead,.works-slide .works-item,a.btn,a.link-icon {
  vertical-align: top
}

.lead {
  font-size: 2rem
}

img.service-icon.alignright {
  margin-left: 30px
}

a.btn {
  position: relative;
  padding: 10px 35px 9px 58px;
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none;
  background: #000;
  background: -moz-linear-gradient(left,#000 0,#000 50%,#fff 50%,#fff 100%);
  background: -webkit-linear-gradient(left,#000 0,#000 50%,#fff 50%,#fff 100%);
  background: linear-gradient(to right,#000 0,#000 50%,#fff 50%,#fff 100%);
  background-position: 100% 0;
  background-size: 200%;
  border: 2px solid #000;
  line-height: 1.2;
  transition: .2s
}

a.btn:after,a.btn:before {
  content: '';
  position: absolute;
  top: 50%;
  border-bottom: 2px solid #000;
  transition: .2s
}

a.btn:before {
  left: 35px;
  width: 13px
}

a.btn:after {
  left: 39px;
  width: 8px;
  transform-origin: 100%;
  transform: rotate(45deg)
}

body.d a.btn:hover {
  color: #fff;
  background-position: 0 0
}

body.d a.btn:hover:after,body.d a.btn:hover:before {
  border-bottom: 2px solid #fff
}

a.link-icon {
  position: relative;
  padding-left: 30px
}

a.link-icon:after,a.link-icon:before {
  content: '';
  position: absolute;
  top: 50%;
  border-bottom: 2px solid #000
}

a.link-icon:before {
  left: 6px;
  width: 14px
}

a.link-icon:after {
  left: 13px;
  width: 6px;
  margin-top: -3px;
  transform: rotate(45deg)
}

@media screen and (min-width: 737px) {
  .lead {
    margin-left:2px;
    font-size: 3rem;
    letter-spacing: 2px
  }
}

.service-block:first-child {
  margin-bottom: 80px
}

.service-block .service-block-inner dl:after,.service-block .service-block-inner dl:before {
  top: 0;
  left: -100%;
  width: 300%;
  height: 100%;
  background: #fff;
  z-index: 10;
  content: ''
}

.service-block .service-block-wrapper {
  padding-top: 5px;
  border-top: 1px solid #000
}

.service-block .service-block-inner {
  margin-bottom: 5px
}

.service-block .service-block-inner a {
  position: relative;
  display: flex;
  text-decoration: none;
  padding-bottom: 5px;
  background: #fff;
  border-bottom: 1px solid #000;
  overflow: hidden;
  transition: .2s
}

.service-block .service-block-inner:nth-child(2n) a {
  flex-direction: row-reverse
}

.service-block .service-block-inner dl {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px 0;
  text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
  line-height: 1.2
}

.service-block .service-block-inner dl:before {
  position: absolute;
  transition: 1s
}

.service-block .service-block-inner dl:after {
  position: absolute;
  opacity: .5;
  transition: 1.4s
}

.show .service-block .service-block-inner dl:before {
  left: -400%
}

.show .service-block .service-block-inner dl:after {
  left: 300%
}

.show .service-block .service-block-inner:nth-child(1) dl:after,.show .service-block .service-block-inner:nth-child(1) dl:before {
  transition-delay: 0
}

.show .service-block .service-block-inner:nth-child(2) dl:after,.show .service-block .service-block-inner:nth-child(2) dl:before {
  transition-delay: .1s
}

.show .service-block .service-block-inner:nth-child(3) dl:after,.show .service-block .service-block-inner:nth-child(3) dl:before {
  transition-delay: .2s
}

.show .service-block .service-block-inner:nth-child(4) dl:after,.show .service-block .service-block-inner:nth-child(4) dl:before {
  transition-delay: .3s
}

.show .service-block .service-block-inner:nth-child(5) dl:after,.show .service-block .service-block-inner:nth-child(5) dl:before {
  transition-delay: .4s
}

.service-block .service-block-inner dl dt {
  display: block;
  font-size: 2rem
}

.service-block .service-block-inner dl dt .small {
  display: inline-block;
  margin: 0 -1em 0 -.4em;
  font-size: 1.6rem
}

.service-block .service-block-inner dl dt img {
  display: block;
  width: auto;
  height: 30px;
  margin: 0 auto 3px
}

.service-block .service-block-inner dl dd:before {
  content: '';
  display: block;
  width: 70px;
  margin: 8px auto;
  border-bottom: 1px solid #000;
  opacity: .4
}

.service-block .service-block-inner dl dd {
  font-size: 1.4rem;
  text-align: center
}

.service-block .service-block-inner dl dd p {
  margin-bottom: .6em
}

.service-block .service-block-inner dl dd .btn {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 0;
  padding: 3px 6px 2px 18px;
  color: #fff;
  font-size: 1.15rem;
  background: #333;
  border-radius: 1px;
  text-shadow: none;
  letter-spacing: -.05em;
  line-height: 1.3
}

.service-block .service-block-inner dl dd .btn:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 8px;
  border-left: 5px solid #fff;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  transform: translateY(-50%)
}

.service-block .service-block-inner .bg {
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
  -ms-filter: blur(10px);
  filter: blur(10px);
  opacity: .4
}

body.d .service-block .service-block-inner a:hover,body.d .works-slide .works-item a:hover {
  opacity: .6
}

.service-block .service-block-inner .img {
  position: relative;
  display: block;
  width: 40%;
  height: auto;
  overflow: hidden
}

.service-block .service-block-inner .img:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 10;
  transition: .5s
}

.show .service-block .service-block-inner .img:before {
  top: 100%
}

.show .service-block .service-block-inner .img:after {
  top: -100%
}

.show .service-block .service-block-inner:nth-child(1) .img:after,.show .service-block .service-block-inner:nth-child(1) .img:before {
  transition-delay: 0
}

.show .service-block .service-block-inner:nth-child(2) .img:after,.show .service-block .service-block-inner:nth-child(2) .img:before {
  transition-delay: .1s
}

.show .service-block .service-block-inner:nth-child(3) .img:after,.show .service-block .service-block-inner:nth-child(3) .img:before {
  transition-delay: .2s
}

.show .service-block .service-block-inner:nth-child(4) .img:after,.show .service-block .service-block-inner:nth-child(4) .img:before {
  transition-delay: .3s
}

.show .service-block .service-block-inner:nth-child(5) .img:after,.show .service-block .service-block-inner:nth-child(5) .img:before {
  transition-delay: .4s
}

.service-block .service-block-inner img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transition: .2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

body.d .service-block .service-block-inner a:hover .img img {
  transform: scale(1.2)
}

.works-swiper {
  position: relative;
  margin: 0 0 20px
}

.works-swiper:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 156px;
  background: #fff;
  background: -moz-linear-gradient(top,#fff 0,#e5e5e5 100%);
  background: -webkit-linear-gradient(top,#fff 0,#e5e5e5 100%);
  background: linear-gradient(to bottom,#fff 0,#e5e5e5 100%)
}

.works-swiper .swiper-wrapper {
  transition-timing-function: linear
}

.works-swiper .works-swiper-wrapper {
  position: relative
}

.works-swiper .swiper-container {
  overflow: visible
}

.works-swiper .swiper-slide .a {
  display: block;
  font-size: 1.3rem;
  text-align: center;
  text-decoration: none;
  transition: .2s
}

.works-swiper .swiper-slide .a .img {
  position: relative;
  display: block;
  width: 151px;
  height: 171px;
  margin: 0 auto;
  line-height: 1.4
}

.works-swiper .swiper-slide .a .img img {
  display: block;
  width: 100%;
}

.works-swiper .swiper-slide .a .name {
  width: 100%;
  transform: translateX(16px);
}

.works-slide {
  position: relative
}

.works-slide .next-nav,.works-slide .prev-nav {
  cursor: pointer
}

.works-slide .works-slide-list {
  font-size: 0;
  white-space: nowrap;
  transition: .4s;
  transform: translateX(0)
}

.works-slide .works-item {
  display: inline-block;
  width: 20%
}

.works-slide .works-item a {
  display: block;
  font-size: 1.3rem;
  text-align: center;
  text-decoration: none;
  transition: .2s
}

.works-slide .works-item a .img {
  position: relative;
  display: block;
  width: 120px;
  height: 171px;
  margin: 0 auto;
  line-height: 1.4
}

.works-slide .works-item a .img:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 151px;
  height: 171px;
  background: url(/img/home/works_flame.png) no-repeat;
  background-size: 100%
}

.works-slide .works-item .pc {
  position: absolute;
  top: 10px;
  left: 50%;
  display: block;
  width: 103px;
  height: 154px;
  transform: translateX(-50%)
}

.works-slide .works-item .sp {
  position: absolute;
  top: 87px;
  left: 80px;
  display: block;
  width: 37px;
  height: 80px
}

.btn-more:before,ul.seo-industry-list li a:after {
  height: 0;
  content: ''
}

section#seo.node {
  position: relative;
  background: #f5f5f5;
  box-shadow: 1px 0 2px rgba(0,0,0,.1) inset
}

ul.seo-industry-list {
  display: flex;
  flex-wrap: wrap;
  margin: -5px -5px 15px
}

ul.seo-industry-list li {
  width: 50%;
  padding: 5px;
  letter-spacing: normal;
  vertical-align: top
}

ul.seo-industry-list li a {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  padding: 10px 20px 10px 10px;
  background: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  border: 1px solid #000;
  transition: .3s color,.3s background-position
}

body.dv ul.seo-industry-list li a:hover {
  color: #fff;
  background-position: 0 0
}

ul.seo-industry-list li a:after {
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  border-style: solid;
  border-width: 0 0 8px 8px;
  border-color: transparent transparent #000;
  transition: .2s border-color
}

body.dv ul.seo-industry-list li a:hover:after {
  border-color: transparent transparent #fff
}

.btn-more {
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 5px 25px 5px 40px;
  color: #fff;
  background: #000;
  border-radius: 100px;
  text-decoration: none;
  line-height: 1.2
}

.btn-more.open .open,.btn-more:not(.open) .close {
  display: none
}

.btn-more:before {
  position: absolute;
  top: 50%;
  left: 25px;
  width: 0;
  margin-top: -3px;
  border-top: 7px solid #fff;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent
}

.btn-more.open:before {
  border-top: 0;
  border-bottom: 7px solid #fff
}

@media screen and (min-width: 737px) {
  .works-swiper {
    margin:0 0 45px
  }

  .works-swiper:before {
    height: 275px
  }

  .works-swiper .swiper-slide .a .img {
    width: 265px;
    height: 300px
  }

  .works-swiper .swiper-slide .a .name {
    transform: translateX(31px);
  }

  .works-slide .works-item a .img {
    width: 210px;
    height: 300px
  }

  .works-slide .works-item a .img:after {
    width: 265px;
    height: 300px
  }

  .works-slide .works-item .pc {
    width: 180px;
    height: 270px
  }

  .works-slide .works-item .sp {
    top: 152px;
    left: 140px;
    width: 64px;
    height: 140px
  }

  .service-block {
    float: left;
    width: 50%;
    padding: 0 20px 0 0
  }

  .service-block:last-child {
    padding: 0 0 0 20px
  }

  .service-block:first-child {
    margin-bottom: 0
  }

  .service-block .service-block-inner dl {
    padding: 0 15px
  }

  .service-block .service-block-inner dl dt {
    display: flex
  }

  .service-block .service-block-inner dl dt img {
    display: inline-block;
    margin: -2px 5px 0 0
  }

  .service-block .service-block-inner dl dd:before {
    margin: 10px auto
  }

  .service-block .service-block-inner dl dd p {
    margin-bottom: 1.2em
  }

  .service-block .service-block-inner dl dd .btn {
    margin: 0 0 -3px
  }

  .service-block .service-block-inner .img {
    height: 163px
  }

  ul.seo-industry-list {
    margin: -5px
  }

  ul.seo-industry-list li {
    width: 25%
  }

  ul.seo-industry-list li a {
    padding: 15px 25px 15px 15px;
    background: #000;
    background: -moz-linear-gradient(left,#000 0,#000 50%,#fff 50%,#fff 100%);
    background: -webkit-linear-gradient(left,#000 0,#000 50%,#fff 50%,#fff 100%);
    background: linear-gradient(to right,#000 0,#000 50%,#fff 50%,#fff 100%);
    background-position: 100% 0;
    background-size: 210%;
    font-size: 1.6rem
  }
}

@media screen and (max-width: 736px) {
  ul.seo-industry-list li:nth-child(n+11) {
    max-height:0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
    overflow: hidden;
    transition: .2s
  }

  ul.seo-industry-list.open li:nth-child(n+11) {
    max-height: 80px;
    padding-top: 5px;
    padding-bottom: 5px;
    opacity: 1;
    overflow: hidden
  }

  ul.seo-industry-list li:nth-child(odd) a {
    margin-left: 0
  }
}

@media screen and (max-width: 360px) {
  .service-block .service-block-inner dl dt {
    font-size:1.8rem
  }

  .service-block .service-block-inner .img {
    width: 35%
  }
}

body.d #footer .footer-inner .site-title a:hover,body.d div.form-block div.btn label:hover {
  opacity: .8
}

.works-list li.pc-only .img:after {
  display: none
}

.works-list li.pc-only .img .pc {
  margin: 0 auto
}

@media screen and (min-width: 1200px) {
  .works-list li {
    width:25%
  }

  .works-list li .img {
    margin: 0 30px 15px
  }
}

@media screen and (min-width: 960px) {
  .works-list li {
    width:33.3%
  }

  .works-list li .img {
    margin: 0 20px 15px
  }
}

@media screen and (min-width: 737px) {
  .company-profile dl dt {
    float:left;
    clear: left
  }

  .company-profile dl dd {
    margin-left: 6em
  }

  .works-list li {
    width: 20%!important
  }

  .works-list li .img {
    margin: 0 40px 15px
  }
}

.seo-consulting-block {
  clear: both;
  margin-bottom: 40px;
  text-align: center;
  overflow: hidden
}

.seo-consulting-block ol {
  position: relative;
  display: inline-block;
  text-align: left;
  vertical-align: top
}

.seo-consulting-block ol:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -242px;
  width: 106px;
  height: 484px;
  background: url(/img/seo/flow-line.png) no-repeat
}

.seo-consulting-block ol li {
  position: relative;
  display: flex;
  align-items: center
}

.seo-consulting-block ol li:nth-child(1),.seo-consulting-block ol li:nth-child(5) {
  margin-left: 12px;
  padding: 7px 0
}

.seo-consulting-block ol li:nth-child(2),.seo-consulting-block ol li:nth-child(4) {
  margin-left: 51px;
  padding: 15px 0
}

.seo-consulting-block ol li:nth-child(3) {
  margin-left: 64px;
  padding: 15px 0
}

.seo-consulting-block ol li img {
  margin-right: 20px
}

.seo-consulting-block ol li p {
  flex: 1;
  margin: 0;
  padding-bottom: 6px;
  border-bottom: 1px solid #ccc
}

.seo-consulting-block ol li p strong {
  font-size: 1.8rem
}

@media screen and (min-width: 1000px) {
  .seo-consulting-block ol:before {
    top:0;
    left: 20px;
    bottom: 0;
    width: 10px;
    height: auto;
    margin: 0;
    background: #e7e7e7;
    background: -moz-linear-gradient(top,#e7e7e7 0,#a5a5a5 100%);
    background: -webkit-linear-gradient(top,#e7e7e7 0,#a5a5a5 100%);
    background: linear-gradient(to bottom,#e7e7e7 0,#a5a5a5 100%)
  }

  .seo-consulting-block ol li {
    display: block;
    margin-left: 0!important;
    padding: 15px 0!important
  }

  .seo-consulting-block ol li img {
    float: left;
    clear: left;
    width: 48px
  }

  .seo-consulting-block ol li p {
    display: block;
    margin-left: 58px
  }

  .sitemap {
    display: flex;
    justify-content: center
  }

  .sitemap>ul {
    margin: 0;
    padding-left: 50px
  }

  .sitemap>ul:first-child {
    padding-left: 0
  }
}

div.form-block div.form-block-inner>dl>dd,div.form-block div.form-block-inner>dl>dd dl dd {
  display: block
}

div.form-block {
  line-height: 1.2
}

div.form-block div.form-block-inner {
  clear: both;
  margin: 0 auto 25px;
  overflow: hidden
}

div.form-block div.form-block-inner>dl {
  clear: both;
  padding: 15px 0 10px;
  border-top: 1px solid #ddd;
  overflow: hidden
}

div.form-block div.form-block-inner>dl:first-child {
  border-top: none
}

div.form-block div.form-block-inner>dl>dt {
  position: relative;
  margin-bottom: 10px;
  padding: 5px;
  background: #eee;
  line-height: 1.6;
  font-weight: 700
}

div.form-block div.form-block-inner>dl>dt span.required {
  position: absolute;
  top: 8px;
  right: 6px;
  height: 18px;
  padding: 0 5px;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 400;
  background: #000;
  border-radius: 2px;
  line-height: 18px
}

div.form-block div.form-block-inner>dl>dd p {
  margin-bottom: 5px;
  line-height: 1.6
}

div.form-block div.form-block-inner>dl>dd dl {
  padding: 10px 0;
  border-top: 1px solid #ccc
}

div.form-block div.form-block-inner>dl>dd dl:first-child {
  padding-top: 0;
  border-top: none
}

div.form-block div.form-block-inner>dl>dd dl:last-child {
  padding-bottom: 0
}

div.form-block div.form-block-inner>dl>dd dl dt {
  margin-bottom: 5px;
  font-weight: 700;
  line-height: 1.6
}

div.form-block div.form-block-inner p.error {
  color: #a00e15
}

div.form-block label {
  display: block;
  margin: 5px 0
}

div.form-block label+br {
  display: none
}

div.form-block input:not([type=checkbox]),div.form-block select,div.form-block textarea {
  display: inline-block;
  margin: 0 2px;
  font-size: 16px;
  font-family: "游ゴシック Medium","Yu Gothic Medium","YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  border: 1px solid #999;
  vertical-align: top
}

div.form-block input.datepicker {
  width: 8em
}

div.form-block select {
  padding: 2px 0 3px
}

div.form-block input.short {
  width: 4em
}

div.form-block input.long,div.form-block input.middle {
  width: 99.4%
}

div.form-block textarea {
  width: 99%;
  height: 120px
}

div.form-block div.btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 40px;
  text-align: center
}

div.form-block div.btn input {
  display: none
}

div.form-block div.btn label {
  display: inline-block;
  width: 180px;
  height: 40px;
  color: #fff;
  font-size: 1.8rem;
  background: #000;
  background-size: auto 100%;
  text-decoration: none;
  line-height: 41px;
  vertical-align: top;
  cursor: pointer;
  transition: .2s
}

div.form-block div.btn label.back {
  background: grey
}

div.form-block div.btn label:before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: -3px 10px 0 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  vertical-align: middle
}

@media screen and (min-width: 737px) {
  div.form-block div.form-block-inner {
    max-width:740px;
    margin: 0 auto 35px;
    padding: 0 5px 0 10px;
    border: 6px solid #ddd
  }

  div.form-block div.form-block-inner>dl {
    padding: 8px 0
  }

  div.form-block div.form-block-inner>dl>dt {
    float: left;
    clear: left;
    width: 12em;
    margin-bottom: 0;
    padding: 7px 0 0;
    background: 0 0
  }

  div.form-block div.form-block-inner>dl>dt span.required {
    right: 0
  }

  div.form-block div.form-block-inner>dl>dd {
    margin-left: 13em;
    padding-left: 15px;
    border-left: 1px dotted #ccc
  }

  div.form-block div.form-block-inner>dl>dd dl dt {
    float: left;
    margin-bottom: 0;
    line-height: 36px
  }

  div.form-block div.form-block-inner>dl>dd dl dd {
    margin-left: 8.5em
  }

  div.form-block div.form-block-inner>dl>dd p {
    margin: 0;
    line-height: 32px
  }

  div.form-block label {
    margin: 0
  }

  div.form-block input.middle {
    width: 50%
  }

  div.form-block input.long {
    width: 99%
  }

  div.form-block div.btn {
    flex-direction: row;
    justify-content: center;
    min-height: 0
  }

  div.form-block div.btn label {
    margin: 0 10px
  }

  div.form-block div.btn label.back {
    margin-top: 0
  }
}

@media all and(max-width: 736px) {
  div.form-block .select-shop label {
    display:block;
    float: none;
    width: auto
  }

  div.form-block .select-shop label:first-child {
    margin-bottom: 5px;
    width: auto
  }

  div.form-block .date {
    width: 47%
  }

  div.form-block div.btn label.send {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -90px
  }
}

#footer,#pagetop a {
  position: relative;
  overflow: hidden
}

#footer {
  clear: both;
  background: #fff
}

#footer:before {
  content: '';
  display: block;
  width: 100%;
  height: 30px;
  background: url(/img/typography-line.gif) center top repeat-x #000;
  background-size: auto 30px
}

#footer .footer-wrapper {
  clear: both;
  padding: 30px 15px 70px;
  overflow: hidden
}

#footer .footer-inner {
  margin-bottom: 35px
}

#footer .footer-inner address {
  font-style: normal
}

#footer .footer-inner p {
  font-size: 1.4rem
}

#footer .footer-inner .site-title {
  margin-bottom: 30px;
  text-align: center
}

#footer .footer-inner .site-title a {
  display: inline-block;
  padding: 25px 0 0 145px;
  background: url(/img/site-title.svg) left center no-repeat;
  background-size: auto 100%;
  color: #262626;
  font-size: 2.2rem;
  font-weight: 700;
  text-decoration: none;
  line-height: .8;
  transition: .2s
}

#footer p.copyright {
  clear: both;
  width: 100%;
  margin: 0;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.2
}

@media screen and (min-width: 737px) {
  #footer:before {
    height:40px;
    background-size: auto
  }

  #footer .footer-wrapper {
    padding: 42px 40px 38px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }

  #footer .footer-inner {
    margin-bottom: 0
  }

  #footer .footer-inner .site-title {
    text-align: left
  }

  #footer .footer-inner ul.link {
    margin: 30px 0;
    line-height: 1.2;
    letter-spacing: -.4em
  }

  #footer .footer-inner ul.link li {
    display: inline-block;
    margin: 0 0 10px 20px;
    font-weight: 700;
    letter-spacing: normal;
    vertical-align: middle
  }

  #footer .footer-inner ul.link li:first-child {
    margin-left: 0
  }

  #footer .footer-inner ul.link li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 1px 0 0;
    text-decoration: none
  }

  #footer .footer-inner ul.link li:not(.banner) a:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    margin: -1px 8px 0 0
  }

  #footer .footer-inner ul.link li:not(.tel,.banner) a {
    min-width: 160px;
    padding: 0 20px;
    border: 1px solid #999;
    border-radius: 3px;
    transition: .2s
  }

  body.d #footer .footer-inner ul.link li:not(.tel) a:hover {
    opacity: .6
  }

  #footer .footer-inner ul.link li.tel {
    font-size: 2.5rem
  }

  #footer .footer-inner ul.link li.tel a:before {
    background: url(/img/icon/tel_b.gif) left center no-repeat;
    background-size: 100%
  }

  #footer .footer-inner ul.link li.estimates a:before {
    background: url(/img/icon/quote_b.gif) left center no-repeat;
    background-size: 100%
  }

  #footer .footer-inner ul.link li.consultation a:before {
    background: url(/img/icon/mail_b.gif) left center no-repeat;
    background-size: 100%
  }

  #footer .footer-inner ul.link li.online a:before {
    margin-top: -2px;
    width: 23px;
    background: url(/img/icon/online_b.gif) left center no-repeat;
    background-size: 100%
  }

  #footer .footer-inner ul.link li.banner {
    width: 32%
  }

  #footer .footer-inner ul.link li.banner a {
    height: auto;
    padding: 0
  }

  #footer .sitemap-link {
    text-align: right;
    font-size: 0
  }

  #footer .sitemap-link .sitemap-link-inner {
    display: inline-block;
    margin: 0 0 0 40px;
    text-align: left;
    letter-spacing: normal;
    vertical-align: top
  }

  #footer .sitemap-link .sitemap-link-inner:first-child {
    margin: 0
  }

  #footer .sitemap-link .sitemap-link-inner>ul {
    margin-bottom: 0;
    font-size: 1.4rem
  }

  #footer .sitemap-link .sitemap-link-inner>ul>li {
    margin-bottom: .75em;
    padding-left: 1em
  }

  #footer .sitemap-link .sitemap-link-inner>ul>li:before {
    top: 1em;
    width: 5px;
    height: 1px;
    background: #000
  }

  #footer .sitemap-link .sitemap-link-inner>ul>li a {
    display: block;
    text-decoration: none
  }

  body.d #footer .sitemap-link .sitemap-link-inner>ul>li a:hover {
    text-decoration: underline
  }

  #footer .sitemap-link .sitemap-link-inner>ul ul {
    margin: 0;
    font-size: 1.4rem
  }

  #footer .sitemap-link .sitemap-link-inner>ul ul li {
    padding-left: 1em
  }

  #footer .sitemap-link .sitemap-link-inner>ul ul li:before {
    top: 1em;
    width: 2px;
    height: 2px
  }

  #footer p.copyright {
    text-align: left
  }
}

@media screen and (max-width: 1080px) {
  #footer .footer-wrapper {
    flex-direction:column
  }

  #footer .footer-inner,#footer .footer-inner .site-title,#footer .sitemap-link,#footer p.copyright {
    text-align: center
  }

  #footer .sitemap-link {
    margin-bottom: 20px
  }

  #footer .sitemap-link .sitemap-link-inner {
    margin: 0
  }

  #footer .sitemap-link .sitemap-link-inner>ul {
    display: inline-block;
    margin-left: 40px;
    vertical-align: top
  }

  #footer .sitemap-link .sitemap-link-inner:first-child>ul:first-child {
    margin-left: 0
  }
}

@media screen and (max-width: 736px) {
  #footer .footer-inner ul.link:not(.banner),#footer .sitemap-link {
    display:none
  }

  #footer .footer-inner ul.link.banner {
    display: flex;
    flex-direction: column;
    align-items: center
  }

  #footer .footer-inner ul.link.banner li {
    width: 70%
  }
}

#pagetop {
  position: fixed;
  right: 0;
  bottom: 80px;
  z-index: 9999;
  opacity: 0;
  transition: .5s
}

#pagetop.show {
  opacity: .8
}

#pagetop a {
  display: block;
  width: 40px;
  height: 0;
  padding-top: 50px;
  background: #000
}

#pagetop a:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  margin: -3px 0 0 -5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg)
}

body.d.dv #pickup.node.show .pickup-banner li:after,body.d.dv #pickup.node.show .pickup-banner li:before {
  right: 100%
}

div.search-keyword {
  margin-bottom: .95em;
  padding: 10px;
  background: #eee;
  border: 3px double #000
}

div.search-keyword div.search-keyword-title {
  margin-bottom: 15px;
  padding: 10px;
  background: #000;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center
}

ul.keyword-list {
  margin: 0 -.5%;
  letter-spacing: -.4em
}

ul.keyword-list li {
  width: 99%;
  margin: 0 .5% 5px;
  padding: 8px 5px 7px 25px;
  background: url(/img/icon/search.png) 8px 11px no-repeat #fff;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: normal;
  vertical-align: top;
  box-shadow: 1px 1px 0 0 rgba(0,0,0,.15) inset
}

@media screen and (min-width: 737px) {
  #pagetop {
    bottom:15px
  }

  div.search-keyword {
    padding: 20px
  }

  div.search-keyword div.search-keyword-title {
    font-size: 2.2rem
  }

  ul.keyword-list li {
    display: inline-block;
    width: 32.3%;
    margin: 0 .5% 8px
  }

  a.banner {
    display: block;
    transition: .2s
  }

  a.banner:hover {
    opacity: .6
  }
}

.fixed-bnr {
  position: fixed;
  z-index: 100;
  right: 5px;
  bottom: 80px;
  width: 420px;
  margin-bottom: 0;
  transition: .4s
}

.fixed-bnr:hover {
  filter: brightness(1.05)
}

.fixed-bnr a,.fixed-bnr img {
  display: block
}

.fixed-bnr .close {
  position: absolute;
  top: -10px;
  right: 0;
  width: 20px;
  height: 20px;
  background: #666;
  cursor: pointer;
  transition: .2s
}

body.d .fixed-bnr .close:hover {
  opacity: .6
}

a.link-icon.reverse:after {
  left: 7px;
  transform: rotate(-45deg)
}

@media screen and (min-width: 737px) {
  .fixed-bnr.small {
    width:200px
  }

  .fixed-bnr .close:before,.fixed-bnr.small .close:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    border-bottom: 2px solid #fff
  }

  .fixed-bnr .close:before {
    transform: translate(-50%,-50%)
  }

  .fixed-bnr.small .close:after {
    transform: translate(-50%,-50%) rotate(-90deg)
  }
}

@media screen and (max-width: 736px) {
  .fixed-bnr {
    right:50px;
    left: 10px;
    bottom: 60px;
    width: auto
  }

  .fixed-bnr .close:after,.fixed-bnr .close:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    border-bottom: 2px solid #fff
  }

  .fixed-bnr .close:before {
    transform: translate(-50%,-50%) rotate(45deg)
  }

  .fixed-bnr .close:after {
    transform: translate(-50%,-50%) rotate(-45deg)
  }

  div.search-keyword p.aligncenter {
    margin: 10px 0 5px
  }

  div.search-keyword ul.keyword-list li {
    height: auto!important;
    transition: .2s
  }

  div.search-keyword:not(.open) ul.keyword-list li:nth-child(n+10) {
    height: 0!important;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 0;
    opacity: 0
  }
}

section#company.node {
  background: #f5f5f5;
  box-shadow: 1px 0 2px rgb(0 0 0 / 10%) inset
}

.itnews-list dl {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #ccc;
  line-height: 1.6
}

.itnews-list dl dt {
  color: #666;
  font-size: 1.4rem
}

.about {
  padding: 20px 20px 5px
}

.about p {
  margin-bottom: 0;
  font-size: 3.95vw;
  font-weight: 700;
  line-height: 1.6
}

.reason-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center
}

.reason-wrapper .title {
  position: relative;
  max-width: 90%;
  margin-bottom: -1.5em;
  padding: .3em 1em;
  background: #fff000;
  font-size: min(4vw,2.6rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  border: 2px solid
}

.reason-wrapper .reason-inner {
  width: 100%;
  padding: calc(1.5em + 20px) 15px 15px;
  font-size: 1.5rem;
  border: 2px solid
}

.reason-wrapper .reason-inner>:last-child {
  margin-bottom: 0
}

ul.reason-list {
  display: flex;
  flex-direction: column
}

ul.reason-list li {
  display: flex;
  align-items: center;
  margin-right: -.5em;
  font-size: min(3.63vw,2.2rem);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap
}

ul.reason-list li img {
  width: 18%;
  margin-right: 4%
}

ul.reason-list li:not(:last-child) {
  margin-bottom: 23px
}

ul.reason-list li p {
  flex: 1;
  margin-bottom: 0
}

ul.banner {
  display: flex;
  flex-direction: column
}

ul.banner li:not(:last-child) {
  margin-bottom: 10px
}

ul.banner li a {
  display: block
}

.marker {
  margin: 0 -.2em;
  padding: 0 .2em;
  background: linear-gradient(transparent 60%,#ff6 60%)
}

@media screen and (max-width: 736px) {
  .reason-wrapper {
    margin-top:-10px
  }
}

@media screen and (min-width: 737px) {
  .itnews-list {
    margin-bottom:20px
  }

  .itnews-list dl {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px
  }

  .itnews-list dl dt {
    width: 80px
  }

  a.banner {
    display: block
  }

  .clinic-bnr a,a.banner {
    transition: .2s
  }

  .clinic-bnr a:hover,a.banner:hover {
    opacity: .6
  }

  .about {
    padding: 40px 0 0
  }

  .about p {
    font-size: 26px;
    text-align: center
  }

  .reason-wrapper .title {
    padding: .5em .8em .5em 1em;
    border: 3px solid
  }

  .reason-wrapper .reason-inner {
    padding: calc(1.5em + 35px) 20px 20px;
    border: 3px solid
  }

  ul.reason-list {
    flex-direction: row
  }

  ul.reason-list li {
    flex: 1;
    flex-direction: column;
    font-size: 1.9rem;
    text-align: center;
    line-height: 1.3;
    white-space: normal
  }

  ul.reason-list li:not(:last-child) {
    margin-bottom: 0
  }

  ul.reason-list li:last-child .fs-big {
    font-size: 110%!important
  }

  ul.reason-list li img {
    width: 30%;
    margin: 0 auto 15px;
    transform: translateX(3%)
  }

  ul.banner {
    flex-direction: row;
    justify-content: space-between
  }

  ul.banner li:not(:last-child) {
    margin-bottom: 0
  }
}
