*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a:focus {
  outline: none;
}

ins {
  text-decoration: none;
}

mark {
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

button,
input,
select,
textarea {
  outline: 0;
  box-sizing: border-box;
  font-size: 100%;
}

input,
textarea {
  background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
  -webkit-appearance: none;
  border-radius: 0;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

iframe {
  max-width: 100%;
}

.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

sup {
  vertical-align: super;
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

body {
  font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  line-height: 1;
  width: 100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
}

a,
a:before,
a:after,
input {
  transition-property: background-color, color;
  transition-duration: .2s;
  transition-timing-function: ease;
}

.clear {
  clear: both;
}

.hide {
  display: none;
}

.common-headline {
  font-size: 36px;
}

@media screen and (max-width:750px) {
  .common-headline {
    font-size: 20px;
  }
}

.main-content {
  display: flex;
  flex-wrap: wrap;
  width: 1150px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width:1201px) {
  .main-content {
    flex-direction: column;
    width: auto;
    padding: 35px 20px 0;
  }
}

@media screen and (max-width:750px) {
  .main-content {
    padding: 20px 20px 0;
  }
}

.col-main {
  width: 810px;
  padding: 40px 40px 150px 0;
  border-right: 1px solid #ddd;
}

@media screen and (max-width:1201px) {
  .col-main {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 70px;
    border-right: none;
  }
}

@media screen and (max-width:750px) {
  .col-main {
    margin: 0;
    padding-bottom: 30px;
  }
}

body.page .col-main {
  padding-top: 50px;
}

@media screen and (max-width:750px) {
  body.page .col-main {
    padding-top: 0;
  }
}

.col-side {
  width: 340px;
  padding-bottom: 150px;
}

@media screen and (max-width:1201px) {
  .col-side {
    width: 100%;
    max-width: 810px;
    margin: 0 auto;
    padding-bottom: 0;
    border-top: 1px solid #ddd;
  }
}

@media screen and (max-width:750px) {
  .col-side {
    width: calc(100% + 40px);
    margin-left: -20px;
  }

}

.side-content {
  padding: 40px 0 40px 40px;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width:1201px) {
  .side-content {
    padding: 40px 20px;
  }

  .side-content:last-child {
    border-bottom: none;
  }
}

.side-head {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 700;
  color: #00729f;
}

.side-inner p {
  font-size: 16px;
  line-height: 1.6;
}

.design-button {
  text-align: center;
  z-index: 10;
  position: relative;
  height: 70px
}

.design-button a {
  display: inline-block;
  min-width: 260px;
  max-width: 100%;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  padding: 0 20px;
  position: relative;
  overflow: hidden;
  z-index: 3;
  transition: all .35s ease;
}

.design-button.shape-type1 a {
  border-radius: 60px;
  font-weight: 600;
}

.design-button.type2 a,
.design-button.type3 a {
  border: 1px solid #fff;
}

.design-button.type2 a:before,
.design-button.type3 a:before {
  content: '';
  display: block;
  width: 100%;
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  left: -100%;
  z-index: -1;
  transition: all .5s cubic-bezier(.22, 1, .36, 1) 0s;
}

.design-button.type3 a:before {
  transform: skewX(45deg);
  width: calc(100% + 70px);
  left: calc(-100% - 70px);
  transform-origin: bottom left;
}

.design-button.type2 a:hover:before,
.design-button.type3 a:hover:before {
  left: 0;
}

.design-button.quick-tag-ver {
  margin: 0 0 40px;
}

.design-headline1 {
  font-size: 28px !important;
  text-align: center;
  line-height: 1.5 !important;
  margin: 0 0 50px !important;
  padding: 0 !important;
}

.design-headline2 {
  font-size: 22px !important;
  font-weight: 600;
  margin: 100px -40px 63px 0 !important;
  padding: 0 40px 0 0 !important;
  border-top: 1px solid #ddd;
  text-align: center;
}

.design-headline2 span.title {
  display: inline-block;
  border-top: 3px solid #0070a4;
  padding-top: 20px;
  margin-top: -1px;
}

body.hide-sidebar .design-headline2 {
  margin-right: 0 !important;
  padding-right: 0 !important
}

.design-line {
  margin: 50px -40px 53px 0;
  border-color: #ddd;
}

body.hide-sidebar .design-line {
  margin-right: 0;
}

.two-column-image {
  margin: 60px 0 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.two-column-image .item {
  flex: 1 1 0%;
}

.two-column-image .item:first-of-type {
  margin-right: 10px;
}

.two-column-image img {
  display: block;
  margin: 0 auto;
}

.front-banner {
  max-width: 888px;
  margin: 100px auto 0;
}

.front-banner img {
  width: 100%;
  height: auto;
}

@media screen and (max-width:750px) {
  .front-banner {
    max-width: auto;
    margin-top: 35px;
    padding: 0 20px;
  }
}

#header-slider-wrap {
  width: 100%;
  position: relative;
  overflow: hidden;
}

#header-slider-wrap img {
  width: 100%;
  height: auto;
}

#header-slider-wrap .slick-dots {
  display: none !important;
}

body.home #header-logo a.animate,
body.home #global-menu.animate,
body.home #header-search.animate {
  animation: opacityAnimation 1s ease forwards 0s;
}

body.stop-index-slider-animation #header-logo a,
body.stop-index-slider-animation #global-menu,
body.stop-index-slider-animation #header-search {
  opacity: 1;
}

body.no-index-header-content #header {
  border-bottom: 1px solid #ddd;
}

body.no-index-header-content.header-fix #header {
  border-bottom: none;
}

body.no-index-header-content #index-content-builder {
  border-top: 1px solid #ddd;
  padding: 80px 0 0;
}

.section--headline {
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}

.section--headline span {
  display: block;
}

.section--headline .headline {
  font-size: 30px;
}

.section--headline .sub-headline {
  font-size: 16px;
  font-weight: 500;
}

.service-list {
  background: #f6f6f6;
  padding: 0 !important;
}

.service-list--top {
  text-align: center;
  width: 1150px;
  margin: 0 auto;
  padding: 90px 70px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.service-list--top .section--desc {
  line-height: 2.4;
  margin: 55px 0 0
}

.pc .service-list--inner {
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden
}

.pc .service-list--inner:before {
  opacity: 1 !important;
  z-index: 1;
  margin: 0 auto;
  content: '';
  display: block;
  width: 1150px;
  height: 600px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.pc .service-list--items {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
}

.pc .service-list--items .item {
  height: 100%;
  border-right: 1px solid rgba(255, 255, 255, .3);
  flex: 1 1 0%;
}

.pc .service-list--items .item:last-of-type {
  border-right: none
}

.pc .service-list--items a {
  color: #fff !important;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.pc .service-list--items .item a:after {
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .5);
  z-index: 1;
  opacity: 0;
  transition: opacity .2s ease
}

.pc .service-list--items .item.active a:after {
  opacity: 1
}

.pc .service-list--items .content {
  position: absolute;
  left: 0;
  bottom: -100%;
  padding: 0 50px 50px;
  z-index: 2;
  transition: bottom .7s cubic-bezier(.22, 1, .36, 1)
}

.pc .service-list--items .title {
  line-height: 1.2;
  font-weight: 600;
  word-break: break-all
}

.pc .service-list--items .title span {
  display: block
}

.pc .service-list--items .title .main-title {
  font-size: 28px
}

.pc .service-list--items .title .sub-title {
  margin-top: 13px
}

.pc .service-list--items .desc {
  opacity: 0;
  top: 15px;
  line-height: 2.4;
  margin: 35px 0 0;
  position: relative
}

.pc .service-list--items .bottom-title {
  opacity: 0;
  top: 15px;
  font-weight: 600;
  margin: 38px 0 0;
  line-height: 1;
  position: relative;
  display: inline-block;
  padding: 0 20px 0 0
}

.service-list--items .bottom-title:after {
  content: "";
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: rotate(225deg);
  position: absolute;
  top: 2px;
  right: 0;
}

.pc .service-list--items .bottom-title span {
  transition: opacity .5s ease 0s
}

.pc .service-list--items .item.active .desc {
  opacity: 1;
  top: 0;
  transition: all .7s ease .2s
}

.pc .service-list--items .item.active .bottom-title {
  opacity: 1;
  top: 0;
  transition: all .7s ease .4s
}

.pc .service-list--items .bottom-title:hover:after {
  opacity: .5
}

.pc .service-list--items .bottom-title:hover span {
  opacity: .5
}

.pc .service-list--images {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1
}

.pc .service-list--images .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: all .5s ease;
  transform: scale(1.1)
}

.pc .service-list--images .image.active {
  opacity: 1;
  transform: scale(1)
}

.pc .service-list--images .image .overlay {
  width: 100%;
  height: 100%
}

.service-list--bottom {
  text-align: center;
  width: 1150px;
  margin: 0 auto;
  padding: 70px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.service-list.section:last-of-type .service-list--bottom {
  padding-bottom: 150px
}

.service-list .inview {
  opacity: 0;
  position: relative;
  top: 40px;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

.service-list .inview.animate {
  opacity: 1;
  top: 0
}

.pc .service-list .service-list--items.inview,
.pc .service-list .service-list--images.inview {
  position: absolute
}

.news-section,
.section-sns,
.section-map {
  width: 1150px;
  margin: 0 auto;
  padding: 90px 130px 100px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  position: relative;
}

.section-sns {
  padding-block: 0 100px;
}

.section-map {
  padding-block: 0 30px;
}

@media screen and (max-width:1201px) {

  .news-section,
  .section-sns,
  .section-map {
    width: auto;
    padding: 35px 20px;
    border: none;
  }

  .section-sns {
    padding-block: 0 40px;
  }
}

.news-list .news-category-list {
  margin: 67px auto 70px
}

.news-list .design-button {
  margin-top: 70px
}

.news-list .news-list.active {
  display: block;
  animation: news_list_animation 1s cubic-bezier(.22, 1, .36, 1) 0s
}

@-webkit-keyframes news_list_animation {
  0% {
    opacity: 0;
    bottom: -20px
  }

  100% {
    opacity: 1;
    bottom: 0
  }
}

@keyframes news_list_animation {
  0% {
    opacity: 0;
    bottom: -20px
  }

  100% {
    opacity: 1;
    bottom: 0
  }
}

.news-list .inview {
  opacity: 0;
  position: relative;
  top: 40px;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

.news-list .inview.animate {
  opacity: 1;
  top: 0
}

.news-list .no-category-list {
  margin-top: 65px
}

.project-list {
  width: 1150px;
  margin: 0 auto;
  padding: 90px 130px 100px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  position: relative;
}

.project-list .section--desc {
  line-height: 2.4;
  margin: 55px 0 0;
  text-align: center
}

.project-list .project-list {
  margin: 60px -131px -70px
}

.project-list .design-button {
  margin-top: 70px
}

.project-list .inview {
  opacity: 0;
  position: relative;
  top: 40px;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

.project-list .inview.animate {
  opacity: 1;
  top: 0
}

.section--freetext.type1 {
  width: 1150px;
  margin: 0 auto;
  padding: 0 130px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.section--freetext.type2 {
  width: auto
}

.section--freetext .inview {
  opacity: 0;
  position: relative;
  top: 40px;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

.section--freetext .inview.animate {
  opacity: 1;
  top: 0
}

.section--freetext .index-free-design-content {
  text-align: center
}

.section--freetext .index-free-design-content .catch {
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 20px
}

.section--freetext .index-free-design-content img {
  display: block;
  margin: 30px auto 0
}

#page-header {
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden;
  background: #000
}

#page-header-inner {
  z-index: 3;
  width: 830px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}

#page-header .catch {
  color: #fff;
  font-weight: 600;
  line-height: 1.5;
  text-align: center
}

#page-header .desc {
  font-size: 18px;
  color: #fff;
  line-height: 2;
  text-align: center;
  margin: 15px 0 0
}

#page-header .overlay {
  width: 100%;
  height: 100%;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .3);
}

#page-header .bg-image {
  width: 100%;
  height: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0
}

#page-header .bg-image.mobile {
  display: none
}

#page-header .catch.animation-type1,
#page-header .desc {
  opacity: 0;
  position: relative
}

#page-header .catch.animation-type1.animate,
#page-header .desc.animate {
  animation: slideUp 1.3s cubic-bezier(.165, .84, .44, 1) forwards .5s
}

#page-header .catch.animation-type2 span {
  opacity: 0;
  position: relative
}

#page-header .catch.animation-type2 span.animate {
  animation: text_animation .5s ease forwards 0s
}

@-webkit-keyframes text_animation {
  0% {
    opacity: 0;
    left: 15px
  }

  100% {
    opacity: 1;
    left: 0
  }
}

@keyframes text_animation {
  0% {
    opacity: 0;
    left: 15px
  }

  100% {
    opacity: 1;
    left: 0
  }
}

#archive-square-headline {
  z-index: 1000;
  width: 200px;
  height: 200px;
  color: #fff;
  position: relative;
  margin: 0 auto;
  top: -100px
}

#archive-square-headline h3 {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

#archive-square-headline .sub-headline {
  margin-top: 10px
}

#archive-square-headline span {
  display: block
}

.archive-desc {
  line-height: 2.4;
  margin: -10px 50px 90px;
  text-align: center
}

#bread-crumb {
  z-index: 3;
  width: 100%;
  border-bottom: 1px solid #ddd
}

#bread-crumb ul {
  width: 1150px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible
}

@media screen and (max-width:1200px) {
  #bread-crumb ul {
    width: 100%;
    padding: 0 20px;
  }
}

#bread-crumb li {
  display: inline;
  line-height: 60px;
  font-size: 12px;
  margin: 0 10px 0 0;
  padding: 0 20px 0 0;
  position: relative
}

@media screen and (max-width:750px) {
  #bread-crumb li {
    line-height: 45px;
  }
}

#bread-crumb li.last {
  color: #5a5bc4;
}

#bread-crumb li:after {
  content: "";
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  transform: rotate(-135deg);
  position: absolute;
  top: 3px;
  right: 5px;
}

#bread-crumb li:last-of-type:after {
  content: none;
}

#bread-crumb li a {
  color: #000;
  display: inline-block;
  transition: opacity .2s ease-in-out
}

#bread-crumb li.home a {
  width: 15px;
  height: 14px;
  background: url(../images/icon/icon-home.png) no-repeat;
  background-size: contain;
  position: relative;
  top: 1px;
}

#project-archive {
  padding: 0 0 150px;
  width: 1150px;
  margin: 0 auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  z-index: 100;
}

body.no-page-nav #project-archive {
  padding-bottom: 80px
}

.project-list {
  margin: 0 -1px;
  display: flex;
  flex-wrap: wrap;
}

.project-list .item {
  width: calc(50% - 12px);
  margin: 0 24px 60px 0;
  position: relative
}

.project-list .item:nth-child(2n) {
  margin-right: 0
}

.project-list .image-wrap {
  display: block;
  width: 100%;
  height: 320px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.project-list .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.project-list .title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  max-height: 3em;
  word-break: break-all;
  overflow: hidden;
  visibility: visible;
  padding: 0 60px;
  position: absolute;
  z-index: 3;
  left: 0;
  bottom: 25px
}

.project-list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

.project-list .desc {
  color: #000;
  line-height: 2.4;
  margin: 20px 60px 0;
  max-height: 4.8em;
  word-break: break-all;
  overflow: hidden;
  visibility: visible
}

.project-list .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

.project-list .category {
  font-weight: 600;
  height: 70px;
  line-height: 70px;
  border-top: 3px solid #0071a2;
  display: inline-block;
  margin-left: 60px
}

body.one-project-category .project-list .category {
  display: none
}

.project-list .image:after {
  content: '';
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 100%)
}

#project-archive .page-navi {
  margin-top: 0
}

#project-archive.inview {
  opacity: 0;
  position: relative;
  top: 40px;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

#project-archive.inview.animate {
  opacity: 1;
  top: 0
}

#project-title-area {
  margin: 0 0 30px
}

#project-title-area .category {
  font-weight: 600;
  height: 70px;
  line-height: 70px;
  border-top: 3px solid #0071a2;
  display: inline-block
}

#project-title-area .image {
  width: 100%;
  height: 440px;
  position: relative;
  margin-bottom: -1px
}

#project-title-area .title {
  font-size: 24px;
  line-height: 1.5;
  border: 1px solid #ddd;
  padding: 30px 40px
}

#related-project {
  margin: 60px 0 -46px;
  position: relative;
}

#related-project .design-headline2 {
  font-size: 20px !important;
  margin: 0 -40px 70px 0 !important
}

#related-project .post-list {
  margin: 0 55px;
  display: flex;
  flex-wrap: wrap;
}

#related-project .item {
  width: calc(50% - 19px);
  margin: 0 38px 40px 0;
  position: relative
}

#related-project .item:nth-of-type(2n) {
  margin-right: 0
}

#related-project .image-wrap {
  margin: 0 0 15px;
  display: block;
  width: 100%;
  height: 176px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

#related-project .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

#related-project .title {
  font-weight: 500 !important;
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
}

#related-project .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

#service-archive {
  padding: 0 0 150px;
  width: 1150px;
  margin: 0 auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

#service-list {
  margin: 0 60px
}

#service-list .item {
  position: relative;
  height: 586px;
  overflow: hidden
}

#service-list .content {
  height: 100%;
  width: 50%;
  position: absolute;
  right: 0;
  top: 0;
  background: rgba(0, 0, 0, .5);
  z-index: 2;
}

#service-list .content-inner {
  padding: 70px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#service-list .item:nth-child(even) .content {
  right: auto;
  left: 0
}

#service-list .title {
  line-height: 1.6;
}

#service-list .title a {
  color: #fff;
  transition: opacity .3s ease-in-out;
}

#service-list .title a:hover {
  opacity: .5;
}

#service-list .title a span {
  display: block;
}

#service-list .main-title {
  font-size: 30px;
  font-weight: 700;
}

@media screen and (max-width:750px) {
  #service-list .main-title {
    font-size: 22px;
  }
}

#service-list .desc {
  line-height: 2.4;
  color: #fff;
  margin-top: 30px;
  max-height: 7.2em;
  overflow: hidden;
  visibility: visible;
}

#service-list .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3
}

#service-list .design-button {
  margin: 34px 0 0;
  text-align: left;
}

#service-list .design-button a {
  text-align: center;
}

#service-list .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

#service-archive.inview {
  opacity: 0;
  position: relative;
  top: 40px;
  z-index: 100;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

#service-archive.inview.animate {
  opacity: 1;
  top: 0
}

#post-title2 {
  font-size: 26px;
  border-bottom: 1px solid #ddd;
  padding-right: 40px;
  margin: -40px -40px 40px 0;
  height: 159px;
  position: relative;
}

#post-title2 .title {
  bottom: -1px;
  font-size: 24px;
  line-height: 1.5;
  height: 156px;
  display: inline-block;
  position: relative;
  color: #0070a4;
  border-bottom: 3px solid #0070a4;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center
}

#post-title2 .title span {
  padding-top: 3px
}

#post-image2 {
  width: 100%;
  height: 440px;
  position: relative;
  margin: 0 0 53px
}

#service-banner {
  margin: 50px 0 0;
  position: relative;
}

#service-banner .design-headline2 {
  font-size: 20px !important;
  margin: 0 -40px 60px 0 !important
}

#service-banner .item a {
  height: 200px;
  display: flex;
  flex-wrap: wrap;
}

#service-banner .image-wrap {
  display: block;
  width: 50%;
  height: 200px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

#service-banner .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

#service-banner .content {
  width: 50%;
  position: relative
}

#service-banner .content-inner {
  padding: 0 60px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#service-banner .title {
  font-weight: 600;
  line-height: 1.5
}

#service-banner .title span {
  display: block
}

#service-banner .main-title {
  font-size: 24px;
  color: #0070a4
}

#service-banner .desc {
  font-size: 14px;
  margin-top: 0;
  line-height: 2.2;
  color: #000;
  max-height: 6.6em;
  overflow: hidden;
  visibility: visible
}

#service-banner .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3
}

#company-archive-top {
  padding: 0 0 1px;
  width: 1150px;
  margin: 0 auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

#company-archive-bottom {
  background: #f6f6f6
}

#company-archive-bottom-inner {
  padding: 70px 0 150px;
  width: 1150px;
  margin: 0 auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

#company-archive-bottom .top-catch {
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  font-size: 28px;
  margin: -5px 0 63px
}

#company-list {
  margin: 0 60px -40px;
  display: flex;
  flex-wrap: wrap;
}

#company-list .item {
  width: calc(50% - 1px);
  margin: 0 2px 0 0;
  position: relative
}

#company-list .item:nth-child(2n) {
  margin-right: 0
}

#company-list a {
  display: block;
  width: 100%;
  height: 100%
}

#company-list .image-wrap {
  display: block;
  width: 100%;
  height: 260px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

#company-list .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

#company-list .title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  padding: 0 60px;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .35s ease
}

#company-list .title span {
  display: block
}

#company-list .title .main-title {
  font-size: 24px
}

#company-list .title .sub-title {
  font-size: 14px;
  font-weight: 500
}

#company-list a:hover .title {
  left: 10px
}

#company-list .catch {
  line-height: 1.8;
  padding: 35px 50px;
  font-size: 18px;
  font-weight: 600
}

#company-list .image:after {
  content: '';
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%)
}

#project-archive .page-navi {
  margin-top: 0
}

#company-archive.inview {
  opacity: 0;
  position: relative;
  top: 40px;
  z-index: 100;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

#company-archive.inview.animate {
  opacity: 1;
  top: 0
}

.single-company-catch {
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  font-size: 28px;
  margin-bottom: 52px
}

.philosophy-image1 {
  margin: 0 auto;
  display: block;
  padding: 22px 0 28px
}

.outline-table {
  margin: 50px 0 0 !important
}

.outline-table th {
  width: 132px !important;
}

.outline-table td {
  width: auto !important
}

.history-table {
  font-size: 14px;
  margin: 60px 0 0 !important
}

.history-table .year {
  width: 130px !important;
  padding: 0;
  color: #006fa6;
  font-size: 16px;
  font-weight: 700;
}

.history-table .month {
  width: 70px !important;
  padding: 0;
}

.history-table td {
  width: auto !important
}

#page-contents-link {
  display: block;
  height: 150px;
  width: 100%;
  text-decoration: none;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 10;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 100%)
}

#page-contents-link:before {
  content: "";
  color: #fff;
  font-size: 22px;
  display: block;
  position: absolute;
  margin-bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  animation: slideUpDown 1.8s ease infinite 0s
}

#page-contents-link {
  opacity: 0
}

#page-contents-link.animate {
  animation: opacityAnimation 1s ease forwards .7s
}

#news-archive {
  padding: 0 0 150px;
  width: 1150px;
  margin: 0 auto;
}

.news-category-list {
  text-align: center;
  font-size: 0;
  margin: 0 0 100px
}

.news-category-list li {
  font-weight: 600;
  display: inline-block;
  font-size: 16px;
  margin: 0 20px
}

.news-category-list li a {
  padding-top: 20px;
  display: block;
  position: relative
}

.news-category-list li a:before {
  content: '';
  height: 3px;
  width: 0;
  background: #0070a4;
  display: block;
  position: absolute;
  top: 0
}

.news-category-list li.active a:before {
  width: 100%;
  transition: all .5s cubic-bezier(.22, 1, .36, 1)
}

.news-list {
  margin: 70px 0;
  border: 1px solid #ddd;
}

@media screen and (max-width:750px) {
  .news-list {
    margin: 30px 0;
  }
}

.news-list .item {
  height: 70px;
  border-bottom: 1px solid #ddd;
  position: relative;
  padding: 0 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.news-list .item:last-child {
  border-bottom: none;
}

.news-list .item.animate {
  animation: slideUp 1s cubic-bezier(.165, .84, .44, 1) forwards 0s
}

.news-list .date {
  width: 90px;
  font-size: 14px;
  color: #999;
}

.news-list .category {
  font-size: 12px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  margin-right: 20px;
  min-width: 90px;
  height: 30px;
  line-height: 30px;
  padding: 0 20px;
  display: inline-block;
}

body.one-news-category .news-list .category {
  display: none
}

.news-list .cat {
  display: inline-block;
  min-width: 90px;
  height: 30px;
  margin-right: 20px;
  padding: 0 20px;
  background: #5a5bc4;
  font-size: 12px;
  color: #fff;
  line-height: 30px;
  border-radius: 30px;
}

.news-list .title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
  flex: 1 1 0%
}

.news-list .title a {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible
}

#news-archive.inview {
  opacity: 0;
  position: relative;
  top: 40px;
  z-index: 100;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

#news-archive.inview.animate {
  opacity: 1;
  top: 0
}

#news-archive .entry-loading {
  text-align: center;
  width: 100%;
  display: none;
  height: 50px;
  line-height: 50px;
  font-size: 14px;
  margin-top: 50px;
  font-weight: 600
}

#news-archive .entry-loading.is-show {
  display: block
}

#news-archive .entry-more {
  cursor: pointer;
  display: block;
  text-align: center;
  margin: 50px auto 0;
  width: 200px;
  height: 50px;
  line-height: 50px;
  border: 1px solid #ddd;
  background: #fff;
  transition-property: background-color, color;
  transition-duration: .2s;
  transition-timing-function: ease
}

#news-archive .entry-more:hover {
  background: #fafafa
}

#news-archive .entry-more span {
  display: block;
  margin: 0;
  font-size: 14px;
  font-weight: 500
}

#news-archive .entry-more.is-hide {
  display: none
}

.news-category-sort-button {
  text-align: center;
  font-size: 0;
  margin: 0 0 100px
}

.news-category-sort-button li {
  font-weight: 600;
  display: inline-block;
  font-size: 16px;
  margin: 0 20px
}

.news-category-sort-button li a {
  padding-top: 20px;
  display: block;
  position: relative
}

.news-category-sort-button li a:before {
  content: '';
  height: 3px;
  width: 0;
  background: #0070a4;
  display: block;
  position: absolute;
  top: 0
}

.news-category-sort-button li.active a:before {
  width: 100%;
  transition: all .5s cubic-bezier(.22, 1, .36, 1)
}

.news-list-wrap {
  position: relative;
  display: none
}

.news-list-wrap.active {
  display: block
}

.news-list-wrap .news-list .item {
  opacity: 0;
  position: relative
}

#single-news {
  background: #f6f6f6
}

#single-news-inner {
  width: 1150px;
  margin: 0 auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 60px 0 150px;
}

#single-news #article {
  width: 890px;
  margin: 0 auto;
  background: #fff;
  padding: 60px;
}

#news-next-prev-post {
  display: flex;
  flex-wrap: wrap;
  width: 810px;
  margin: 60px auto 0;
  border-top: 1px solid #ddd;
}

@media screen and (max-width:750px) {
  #news-next-prev-post {
    border-top: none;
  }
}

#news-next-prev-post .item {
  height: 122px;
  width: 50%;
  position: relative;
}

#news-next-prev-post .item:first-of-type {
  border-right: 1px solid #ddd;
}

#news-next-prev-post .item:only-of-type {
  padding-left: 0
}

#news-next-prev-post a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: 0 0
}

#news-next-prev-post .image-wrap {
  display: none
}

#news-next-prev-post .title-area {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
}

#news-next-prev-post .prev-post .title-area {
  padding: 0 50px 0 60px;
}

#news-next-prev-post .next-post .title-area {
  padding: 0 60px 0 50px;
}

#news-next-prev-post .title {
  position: relative;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
}

@media screen and (max-width:750px) {
  #news-next-prev-post .title-area {
    height: 100%;
  }

  #news-next-prev-post .title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%;
  }

  #news-next-prev-post .prev-post .title::before {
    content: "前の記事";
    display: block;
    font-size: 14px;
    font-weight: normal;
  }

  #news-next-prev-post .next-post .title::before {
    content: "次の記事";
    display: block;
    font-size: 14px;
    font-weight: normal;
  }
}

#news-next-prev-post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width:750px) {
  #news-next-prev-post .title span {
    display: none;
  }
}

#news-next-prev-post .nav {
  display: none;
}

#news-next-prev-post .next-post .title {
  padding: 0 40px 0 0;
}

#news-next-prev-post .prev-post:after,
#news-next-prev-post .next-post:after {
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #333333;
  border-left: 1px solid #333333;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#news-next-prev-post .prev-post:after {
  left: 20px;
  transform: translateY(-50%) rotate(45deg);
}

#news-next-prev-post .next-post:after {
  right: 20px;
  transform: translateY(-50%) rotate(-135deg);
}

#recent-news {
  width: 890px;
  margin: 100px auto 0
}

#recent-news .headline {
  font-size: 22px;
  text-align: center;
  margin-bottom: 70px
}

#recent-news .news-list {
  background: #fff
}

#recent-news .design-button {
  margin-top: 70px
}

#blog-archive {
  padding: 0 0 150px;
  width: 1150px;
  margin: 0 auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  z-index: 100;
}

#blog-list {
  border-top: 1px solid #ddd
}

.no-posts {
  padding: 20px;
  text-align: center;
}

body.search #blog-list {
  border-top: none
}

#blog-list .item {
  height: 410px;
  position: relative;
  border-bottom: 1px solid #ddd;
  padding: 60px;
  display: flex;
  flex-wrap: wrap;
}

#blog-list .image-link {
  display: block;
  width: 516px;
  height: 294px
}

#blog-list .image-wrap {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden
}

#blog-list .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

#blog-list .content {
  height: 294px;
  width: calc(100% - 516px);
  position: relative;
  padding-left: 60px;
}

#blog-list .content-inner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

#blog-list .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 30px;
}

@media screen and (max-width:750px) {
  #blog-list .meta {
    gap: 10px;
  }
}

#blog-list .category a,
#blog-list .pr-label {
  display: inline-block;
  min-width: 90px;
  height: 30px;
  padding: 0 20px;
  background: #5a5bc4;
  font-size: 12px;
  line-height: 30px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
}

#blog-list .date {
  font-size: 14px;
  color: #999;
  position: relative;
}

#blog-list .title {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 3.2em;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  overflow: hidden;
  visibility: visible;
}

@media screen and (max-width:750px) {
  #blog-list .title {
    font-size: 16px;
  }
}

#blog-list .desc {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 2;
  margin: 20px 0 0;
  max-height: 4em;
  overflow: hidden;
  visibility: visible;
}

#blog-list .client {
  padding-left: 0
}

body.author .author-profile {
  margin: 0 0 60px;
  border: none;
  border-top: 1px solid #ddd;
  padding: 60px 60px 0
}

body.author .author-profile .name {
  margin: 0 0 15px
}

body.author .author-profile .avatar-area {
  width: 140px;
  height: 140px
}

body.author .author-profile .info {
  width: calc(100% - 140px)
}

.page-navi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 60px 0 0;
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.page-navi a,
.page-navi a:hover,
.page-navi span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 0 -1px;
  background: #fff;
  font-size: 14px;
  color: #000;
  border: 1px solid #ddd;
}

.page-navi a:hover {
  color: #fff;
}

.page-navi span.dots {
  background: 0 0;
  color: #333;
}

.page-navi span.current {
  color: #fff;
  background: #000;
  border-color: #000;
  position: relative;
}

.page-navi .next span,
.page-navi .prev span {
  display: none;
}

.page-navi .next:before,
.page-navi .prev:before {
  content: "";
  width: 8px;
  height: 8px;
  position: relative;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
}

.page-navi .prev:before {
  left: 2px;
  transform: rotate(45deg);
}

.page-navi .next:before {
  left: -2px;
  transform: rotate(-135deg);
}

.page-navi .prev:hover:before,
.page-navi .next:hover:before {
  border-color: #fff;
}

#no-post {
  text-align: center;
  font-size: 14px;
  padding: 0;
  font-size: 20px;
  font-weight: 600
}

body.search #no-post {
  padding-top: 150px
}

#blog-archive.inview {
  opacity: 0;
  position: relative;
  top: 40px;
  transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}

#blog-archive.inview.animate {
  opacity: 1;
  top: 0
}

#post-title {
  margin-bottom: 40px
}

#post-title .category {
  font-size: 12px;
  color: #fff;
  border-radius: 30px;
  text-align: center;
  margin: 0 0 15px;
  display: inline-block;
  min-width: 100px;
  height: 30px;
  line-height: 30px;
  padding: 0 20px;
}

#post-title .title {
  font-size: 24px;
  line-height: 1.5;

}

#post-title .date {
  font-size: 14px;
  position: relative;
  color: #999
}

#post-title .update {
  font-size: 14px;
  position: relative;
  padding: 0 0 0 32px;
  color: #999;
  margin: 0 0 0 10px;
  border-left: 1px solid #ddd
}

#post-title .update:before {
  content: "";
  font-size: 14px;
  top: 1px;
  left: 10px;
  position: absolute;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

#post-title .meta-top {
  margin: 12px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#post-image {
  width: 100%;
  height: 440px;
  position: relative;
  margin: 0 0 40px
}

.post-content a:hover,
.custom-html-widget a:hover {
  text-decoration: none
}

#single-share-top {
  margin: 0 0 35px;
  padding: 0
}

#single-share-top .share-top {
  margin: 0
}

#single-share-bottom {
  margin: 40px 0 0
}

#single-share-bottom .share-btm {
  margin-bottom: 0 !important;
  padding: 0
}

#single-share-top .mt10,
#single-share-top .mt10 {
  margin: 0 !important
}

#single-share-bottom .mb45,
#single-share-bottom .mb45 {
  margin: 0 !important
}

.share-type1 ul {
  text-align: left
}

.share-type3 ul {
  text-align: left
}

.share-type2 ul.type2 {
  text-align: left
}

.share-type4 ul.type4 {
  text-align: left
}

.sns-default-top {
  text-align: left
}

.single-copy-title-url {
  text-align: center
}

.single-copy-title-url-btn {
  font-size: 14px;
  background: #fff;
  border: 3px solid #ccc;
  cursor: pointer;
  line-height: 54px;
  min-width: 300px;
  padding: 0 15px;
  transition-property: background-color, color;
  transition-duration: .3s;
  transition-timing-function: ease
}

.single-copy-title-url-btn.copied {
  background: #ccc;
  color: #fff;
  pointer-events: none
}

#single-copy-title-url-top {
  margin: 0 0 30px
}

#single-copy-title-url-bottom {
  margin: 35px 0 0
}

#post-pagination {
  margin: 0;
  padding: 20px 0 0;
  clear: both;
  font-size: 0;
  text-align: center
}

#post-pagination a,
#post-pagination p {
  color: #000;
  background: #fff;
  border: 1px solid #ddd;
  font-size: 14px;
  display: inline-block;
  margin: 0 -1px 0 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  text-decoration: none;
}

#post-pagination p {
  position: relative;
  background: #000;
  border-color: #000;
  color: #fff
}

#post-pagination a:hover {
  background: #000;
  border-color: #000;
  color: #fff
}

#post-meta-bottom {
  margin: 60px 0 0;
  padding: 15px 30px;
  border: 1px solid #ddd;
  background: #fff
}

#post-meta-bottom li {
  display: inline;
  margin: 0 10px 0 0;
  padding: 0 15px 0 25px;
  border-right: 1px solid #ddd;
  font-size: 12px;
  line-height: 1.8;
  position: relative
}

#post-meta-bottom li:last-child {
  border: none;
  margin: 0
}

#post-meta-bottom li:before {
  color: #666;
  font-size: 15px;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0
}

#post-meta-bottom li.post-author:before {
  content: '\e90d'
}

#post-meta-bottom li.post-category:before {
  content: '\e92f'
}

#post-meta-bottom li.post-tag:before {
  content: '\e935'
}

#post-meta-bottom li.post-comment:before {
  content: '\e916';
  font-size: 20px;
  top: -3px;
  left: -2px
}

.author-profile {
  background: #fff;
  border: 1px solid #ddd;
  margin: 60px 0 0;
  position: relative;
  padding: 35px 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.author-profile .avatar-area {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  position: relative;
  overflow: hidden;
  z-index: 1
}

.author-profile img.avatar {
  display: block;
  width: 100%;
  height: auto;
  z-index: 2
}

.author-profile .info {
  height: 100%;
  width: calc(100% - 120px);
  position: relative;
}

.author-profile .info-inner {
  padding: 0 0 0 40px
}

.author-profile .name {
  font-size: 22px;
  margin: 5px 0 10px;
  font-weight: 600
}

.author-profile .desc {
  line-height: 2;
  margin: 0;
  font-size: 14px
}

body.single #main-col .author-profile .desc {
  max-height: 4em;
  overflow: hidden;
  visibility: visible
}

body.single #main-col .author-profile .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

#author-sns {
  text-align: left;
  margin: 10px 0 0 2px
}

#author-sns li {
  margin: 0 14px 0 0
}

.author-profile .archive-link {
  float: right;
  padding: 0 20px 0 0;
  margin-top: 4px
}

.author-profile .archive-link span:after {
  font-size: 12px;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 5px;
  height: 14px;
  line-height: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

#related-post {
  margin: 70px 0 -40px;
  position: relative;
}

#related-post .design-headline2 {
  font-size: 22px;
  margin: 0 -40px 70px 0 !important
}

#related-post .post-list {
  display: flex;
  flex-wrap: wrap;
}

#related-post .item {
  width: calc(100%/3 - 10px);
  margin: 0 15px 40px 0;
  position: relative
}

#related-post .item:nth-of-type(3n) {
  margin-right: 0
}

#related-post .image-wrap {
  margin: 0 0 15px;
  display: block;
  width: 100%;
  height: 140px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

#related-post .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

#related-post .title {
  font-weight: 500 !important;
  font-size: 14px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
}

#related-post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

#related-post .category {
  font-size: 12px;
  text-align: center;
  color: #fff;
  position: absolute;
  z-index: 4;
  left: 0;
  top: 0;
  min-width: 130px;
  height: 40px;
  line-height: 40px;
  padding: 0 20px;
  display: inline-block;
}

#single-banner-top {
  margin: 0 auto;
  padding: 10px 0 35px
}

#single-banner-bottom {
  margin: 60px auto -10px
}

#single-banner-shortcode {
  margin: 0 auto;
  padding: 15px 0 45px
}

img.single-banner-image {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto
}

#next-prev-post {
  border-top: 1px solid #ddd;
  margin: 40px -40px 0 0;
  position: relative;
  padding-right: 40px;
  display: flex;
  flex-wrap: wrap
}

#next-prev-post .item {
  height: 122px;
  width: 50%;
  position: relative;
}

#next-prev-post .item:first-of-type {
  border-right: 1px solid #ddd;
  padding-right: 40px
}

#next-prev-post .item:last-of-type {
  padding-left: 40px
}

#next-prev-post .item:only-of-type {
  padding-left: 0
}

#next-prev-post a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: 0 0
}

#next-prev-post .image-wrap {
  display: none
}

#next-prev-post .title-area {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}

#next-prev-post .title {
  position: relative;
  padding-left: 40px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
}

#next-prev-post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

#next-prev-post .nav {
  display: none
}

#next-prev-post .next-post .title {
  padding: 0 40px 0 0
}

#next-prev-post .title:after {
  z-index: 10;
  position: absolute;
  left: -3px;
  top: 50%;
  transform: translateY(-50%);
  color: #000;
  font-size: 14px;
  font-weight: 500;
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .2s ease
}

#next-prev-post .prev-post .title:after {
  content: '\e90f'
}

#next-prev-post .next-post .title:after {
  content: '\e910';
  left: auto;
  right: -4px
}

#header {
  width: 100%;
  height: 80px;
  position: relative;
  border-bottom: 1px solid #ddd;
  z-index: 999;
}

.home #header {
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: none;
}

.pc body.use-header-fix #header:after {
  content: '';
  display: block;
  width: 100%;
  height: 80px;
  background: #fff;
  top: -80px;
  left: 0;
  position: absolute;
  z-index: 1;
  transition: all .6s cubic-bezier(.22, 1, .36, 1) 0s
}

#header.active:after {
  top: 0 !important
}

.pc body.header-fix #header {
  position: fixed;
  top: 0;
  left: 0;
  animation: shadow_animation .7s ease forwards .2s
}

@-webkit-keyframes shadow_animation {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, .15)
  }

  100% {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15)
  }
}

@keyframes shadow_animation {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, .15)
  }

  100% {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15)
  }
}

.pc body.header-fix #header:after {
  top: 0 !important
}


body.single #header.active:after {
  display: none
}

body.single.header-fix #header.active:after {
  display: block
}

.pc body.single.header-fix {
  padding-top: 80px
}

.pc body.single.header-fix #header:before {
  display: none
}

body.hide-global-menu #header:after {
  display: none !important
}

body.hide-global-menu #header {
  position: absolute !important
}

body.hide-header-image #header {
  border-bottom: 1px solid #ddd;
  position: relative
}

body.hide-header-image #header.active:after,
body.no-index-header-content #header.active:after {
  display: none
}

body.hide-header-logo.hide-global-menu.hide-header-image #header {
  display: none
}

.pc body.hide-header-image.header-fix {
  padding-top: 80px
}

.pc body.hide-header-image.header-fix #header {
  border: none
}

.pc body.hide-header-image.header-fix #header.active:after,
.pc body.no-index-header-content.header-fix #header.active:after {
  display: block
}

.pc body.hide-header-logo.hide-global-menu.hide-header-image.hide-header-image.header-fix {
  padding-top: 0
}

body.hide-header-logo #header-logo {
  display: none
}

#header-logo a {
  z-index: 10;
  position: absolute;
  left: 0;
  height: 80px;
  line-height: 80px;
  padding: 0 60px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#header-logo .logo {
  font-weight: 500
}

#header-logo img {
  display: block;
  transition: opacity .3s ease-in-out
}

#header-logo a:hover img {
  opacity: .5
}

#header-logo a .logo-text {
  transition: opacity .3s ease-in-out
}

#header-logo a:hover .logo-text {
  opacity: .5
}

#header-logo .logo-image.mobile {
  display: none
}

body.hide-global-menu #global-menu {
  display: none
}

#global-menu {
  width: 100%;
  height: 80px;
  z-index: 2;
  position: relative
}

#global-menu>ul {
  position: relative;
  text-align: center;
  font-size: 0
}

#global-menu>ul>li {
  display: inline-block;
  n: relative;
  line-height: 1;
  text-align: center;
  font-size: 14px
}

#global-menu>ul>li>a {
  color: #000;
  font-weight: 600;
  text-decoration: none;
  height: 80px;
  line-height: 80px;
  padding: 0 20px;
  display: block;
  position: relative;
  overflow: hidden;
}

.home #global-menu>ul>li>a {
  color: #fff;
}

#global-menu ul ul {
  display: none;
  width: 230px;
  position: absolute;
  top: 80px;
  margin: 0;
  padding: 0;
  z-index: 100
}

#global-menu ul ul ul {
  left: 100%;
  top: 0 !important;
  margin: 0
}

#global-menu ul ul li {
  line-height: 1.5;
  font-size: 14px;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
  display: block
}

#global-menu ul ul a {
  background: #000;
  color: #fff;
  display: block;
  position: relative;
  padding: 14px 20px 12px;
  height: auto;
  line-height: 1.6;
  margin: 0
}

#global-menu ul ul a:hover {
  text-decoration: none;
  background: #444
}

#global-menu>ul>li.current-menu-item>a:before {
  top: 0;
}

#global-menu ul ul li.menu-item-has-children>a:before {
  content: "";
  color: #fff;
  display: block;
  position: absolute;
  right: 9px;
  top: 19px;
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

#header.active #global-menu>ul>li>a,
body.header-fix #global-menu>ul>li>a,
body.single #global-menu>ul>li>a {
  color: #000
}

body.hide-header-image #global-menu>ul>li>a,
body.no-index-header-content #global-menu>ul>li>a {
  color: #000
}

#global-menu-button {
  display: none
}

#drawer-menu {
  display: none
}

#header-message {
  padding: 10px 0;
  position: relative;
  z-index: 2000
}

#header-message.type1 .post-content {
  width: 850px;
  margin: 0 auto
}

#header-message.type2 .post-content {
  width: auto;
  margin: 0 20px
}

#header-message.type2.show-close-button .post-content {
  margin: 0 40px
}

#close-header-message {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  background: rgba(0, 0, 0, .1)
}

#close-header-message:before {
  content: "";
  font-size: 14px;
}

#close-header-message:hover {
  background: rgba(0, 0, 0, .2)
}

html.open-menu #header-message {
  display: none
}

body.hide-global-menu #header-search {
  display: none
}

#header-search {
  position: absolute;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  z-index: 100
}

#header-search-button {
  display: block;
  position: relative;
  width: 80px;
  height: 80px;
  cursor: pointer;
  z-index: 2;
}

#header-search-button:before {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/icon/icon-search.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 32px;
  left: 32px;
}

.home #header-search-button:before {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../images/icon/icon-search-white.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 32px;
  left: 32px;
}

#header.active #header-search-button:before,
body.header-fix #header-search-button:before,
body.single #header-search-button:before {
  background: url(../images/icon/icon-search.svg) no-repeat;
  background-size: contain;
}

#header-search-button:hover:before {
  opacity: .5
}

#header-search form {
  opacity: 0;
  pointer-events: none;
  height: 40px;
  width: 240px;
  position: absolute;
  top: 20px;
  right: 30px;
  z-index: 1;
  transition: all .3s ease
}

#header-search.active form {
  opacity: 1;
  pointer-events: initial
}

#header-search .input-area input {
  position: absolute;
  right: 30px;
  width: 0;
  height: 40px;
  border: 1px solid #ddd;
  background: 0 0;
  background: #f5f5f5;
  z-index: 1;
  padding: 0 15px;
  border-radius: 50px;
  transition: all .3s ease
}

#header-search.active form .input-area input {
  width: 240px
}

#header-search .button {
  display: none
}

body.hide-header-image #header-search-button:before,
body.no-index-header-content #header-search-button:before {
  color: #000
}

.pc .megamenu-button+ul {
  display: none !important
}

.megamenu {
  opacity: 0;
  background: #fff;
  pointer-events: none;
  width: 100%;
  height: auto;
  position: absolute;
  top: 80px;
  z-index: 500;
  left: 0;
  right: 0;
  margin: auto;
  transition: all .3s cubic-bezier(.22, 1, .36, 1) 0s;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .07)
}

.megamenu.active-mega-menu {
  opacity: 1;
  pointer-events: initial;
  top: 80px
}

.megamenu-inner {
  width: 1150px;
  height: auto;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}

.megamenu .headline-area {
  width: 220px;
  position: relative;
}

.megamenu .headline-area h3 {
  line-height: 1.5;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.megamenu .headline-area h3 span {
  display: block
}

.megamenu .headline-area h3 .headline {
  font-size: 28px;
  color: #006ea5;
  margin: 5px 0 0
}

.megamenu .headline-area h3 .sub-headline {
  font-weight: 500;
  color: #000
}

.megamenu .headline-area h3 a {
  display: block;
  padding: 0 50px 0 0;
  position: relative
}

.megamenu .headline-area h3 a:before {
  content: "";
  color: #000;
  font-size: 18px;
  display: block;
  height: 18px;
  line-height: 18px;
  text-align: center;
  font-weight: 500;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .2s ease
}

.megamenu .headline-area h3 a:hover:before {
  color: #ccc
}

.megamenu-a .slider-area {
  width: calc(100% - 220px);
  height: 314px;
  position: relative;
  margin-top: 40px;
  z-index: 1;
}

.megamenu-a .slider-area.no-category {
  height: 263px;
  margin-top: 66px
}

.megamenu-a .slider-area:before {
  content: '';
  width: 1px;
  height: 100%;
  background: #ddd;
  display: block;
  position: absolute;
  top: 0;
  left: 42px;
  z-index: 1
}

.megamenu-a .slider-area:after {
  content: '';
  width: 1px;
  height: 100%;
  background: #ddd;
  display: block;
  position: absolute;
  top: 0;
  right: 42px;
  z-index: 1
}

.megamenu-a .slider {
  width: 846px;
  margin-left: 42px;
  z-index: 2;
  position: relative
}

.megamenu-a .item {
  position: relative;
  border-left: 1px solid #ddd;
  height: 314px
}

.megamenu-a .image-wrap {
  display: block;
  margin: 0 -1px;
  width: calc(100% + 2px);
  height: 160px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.megamenu-a .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.megamenu-a .title-area {
  padding: 20px 30px
}

.megamenu-a .title {
  line-height: 1.5;
  max-height: 4.5em;
  word-break: break-all;
  overflow: hidden
}

.megamenu-a .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3
}

.megamenu-a .category {
  font-size: 12px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  margin: 0 0 20px 30px;
  min-width: 90px;
  height: 30px;
  line-height: 30px;
  padding: 0 20px;
  display: inline-block;
}

.megamenu-b .megamenu-inner {
  justify-content: space-between
}

.megamenu-b .service-list-area {
  width: 920px;
  height: 390px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap
}

.megamenu-b .service-item-list {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap
}

.megamenu-b .service-item-list .item {
  height: 100%;
  border-right: 1px solid rgba(255, 255, 255, .3);
  flex: 1 1 0%;
}

.megamenu-b .service-item-list .item:last-of-type {
  border-right: none
}

.megamenu-b .service-item-list a {
  color: #fff !important;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.megamenu-b .service-item-list .item a:after {
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .5);
  z-index: 1;
  opacity: 0;
  transition: opacity .2s ease
}

.megamenu-b .service-item-list .item.active a:after {
  opacity: 1
}

.megamenu-b .service-item-list .content {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 30px 30px;
  z-index: 2
}

.megamenu-b .service-item-list .title {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
  word-break: break-all;
  transition: all .7s cubic-bezier(.22, 1, .36, 1);
}

.megamenu-b .service-item-list .item.active .title {
  margin-bottom: 20px
}

.megamenu-b .service-item-list .sub-title {
  font-size: 14px;
  font-weight: 600;
  margin: 12px 0 0;
  line-height: 1;
  position: relative;
  display: inline-block;
  padding: 0 20px 0 0
}

.megamenu-b .service-item-list .sub-title:after {
  opacity: 0;
  content: ";"
    font-size: 14px;
  display: block;
  position: absolute;
  top: 2px;
  right: 0;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all .4s ease;
}

.megamenu-b .service-item-list .item.active .sub-title:after {
  opacity: 1
}

.megamenu-b .service-image-list .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: all .5s ease;
  transform: scale(1.1);
}

.megamenu-b .service-image-list .image.active {
  opacity: 1;
  transform: scale(1)
}

.megamenu-b .service-image-list .image .overlay {
  width: 100%;
  height: 100%
}

.megamenu-c .company-list-area {
  width: calc(100% - 220px);
  height: auto;
  position: relative;
  margin: 40px 0 38px;
  z-index: 1;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap
}

.megamenu-c .company-list-area .item {
  width: calc(100%/3 - 2px);
  margin: 0 3px 3px 0;
  height: 153px
}

.megamenu-c .company-list-area .item:nth-child(3n) {
  margin-right: 0
}

.megamenu-c .company-list-area a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative
}

.megamenu-c .company-list-area .image-wrap {
  display: block;
  width: 100%;
  height: 153px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.megamenu-c .company-list-area .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.megamenu-c .company-list-area .title {
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  padding: 0 30px;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .35s ease
}

.megamenu-c .company-list-area a:hover .title {
  left: 15px
}

.megamenu-c .company-list-area .title span {
  display: block
}

.megamenu-c .company-list-area .title .main-title {
  font-size: 20px
}

.megamenu-c .company-list-area .title .sub-title {
  font-size: 14px;
  font-weight: 500
}

.megamenu-c .company-list-area a:after {
  content: '';
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%)
}

#return-top2 a {
  border-top: 1px solid #ddd;
  display: block;
  height: 60px;
  line-height: 60px;
  text-decoration: none;
  position: relative
}

#return-top2 span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block
}

#return-top2 a:before {
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  transform: translateX(-50%) rotate(-225deg);
  position: absolute;
  top: 30px;
  left: 50%;
}

#return-top2 a:hover {
  background: #fafafa
}

#return-top {
  display: none !important
}

#return-top a {
  display: block;
  height: 60px;
  width: 60px;
  position: relative;
  background: #5a5bc4;
}

@media screen and (max-width:750px) {
  #return-top a {
    height: 50px;
    width: 50px;
  }
}

#return-top a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: translateX(-50%) rotate(-225deg);
  position: absolute;
  top: 30px;
  left: 50%;
}

@media screen and (max-width:750px) {
  #return-top a:before {
    top: 25px;
  }
}

#return-top {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 999;
  transform: translate3d(0, 100%, 0);
  transition: all .35s;
}

#return-top.active {
  transform: translate3d(0, 0, 0)
}

#footer-top {
  border-top: 1px solid #ddd;
  position: relative;
  padding: 70px 0
}

#footer-logo .logo {
  line-height: 1;
  margin: 0;
  padding: 0;
  font-weight: 500;
  display: block
}

#footer-logo img {
  height: auto;
  display: block;
  margin: auto;
  transition: opacity .35s ease-in-out
}

#footer-logo img:hover {
  opacity: .5
}

#footer-logo .logo-image.mobile {
  display: none
}

#footer-logo .logo-text {
  transition: color .35s ease;
  text-align: center;
  width: 100%;
  display: block
}

#footer-sns {
  margin-top: 30px;
}

.sns-button-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.sns-button-list li {
  width: 25px;
}

.sns-instagram a {
  display: block;
  width: 25px;
  height: 25px;
  background: url("../images/icon/icon-instagram.svg") no-repeat;
  background-size: contain;
}

.sns-facebook a {
  display: block;
  width: 25px;
  height: 25px;
  background: url("../images/icon/icon-facebook.svg") no-repeat;
  background-size: contain;
}

.sns-youtube a {
  display: block;
  width: 25px;
  height: 17px;
  background: url("../images/icon/icon-youtube.svg") no-repeat;
  background-size: contain;
}

#footer-menu {
  width: 1150px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

#footer-menu .footer-menu {
  border-left: 1px solid #ddd;
  padding: 0 40px 50px;
  flex: 1 1 0%;
}

#footer-menu .footer-menu:last-of-type {
  border-right: 1px solid #ddd
}

#footer-menu .footer-menu li {
  margin: 0 0 13px;
  line-height: 1.5;
  font-size: 14px
}

#footer-menu .footer-menu li:first-of-type {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 20px
}

#footer-menu .footer-menu li:first-of-type a {
  color: #0071a2
}

#footer-menu .footer-menu a {
  display: block
}

#footer-banner {
  margin-bottom: -1px;
  display: flex;
  flex-wrap: wrap;
}

#footer-banner .item {
  flex: 1 1 0%;
  height: 200px
}

#footer-banner a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%
}

#footer-banner .image-wrap {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden
}

#footer-banner .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

#footer-banner .title-area {
  z-index: 5;
  position: absolute;
  left: 0;
  padding: 0 40px;
  top: 50%;
  transform: translateY(-50%);
  transition: all .35s ease
}

#footer-banner .title {
  font-size: 24px;
  font-weight: 600
}

#footer-banner .sub-title {
  font-size: 14px;
  font-weight: 500;
  margin-top: 13px
}

#footer-banner .overlay {
  position: absolute;
  width: 70%;
  height: 100%;
  z-index: 4
}

#footer-banner a:hover .title-area {
  left: 7px
}

#footer-menu-bottom {
  line-height: 70px;
  border-top: 1px solid #ddd;
}

#footer-menu-bottom ul {
  font-size: 0;
  z-index: 20;
  text-align: center
}

#footer-menu-bottom li {
  font-size: 14px;
  display: inline-block;
  margin: 0 20px;
  position: relative
}

#copyright {
  line-height: 60px;
  height: 60px;
  font-size: 12px;
  text-align: center;
  border-top: 1px solid #ddd;
}

#footer-message {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  width: 100%;
  padding: 0 50px;
  z-index: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#dp-footer-bar {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 999;
  width: 100%
}

.open-menu #dp-footer-bar {
  display: none
}

.dp-footer-bar-type1 #dp-footer-bar {
  opacity: 0;
  transition: opacity .35s, transform .35s;
  pointer-events: none;
}

.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity: 1;
  pointer-events: visible;
}

.dp-footer-bar-type2 #dp-footer-bar {
  transform: translate3d(0, 100%, 0);
  transition: transform .35s
}

.dp-footer-bar-type2 #dp-footer-bar.active {
  transform: translate3d(0, 0, 0)
}

#dp-footer-bar {
  height: 50px;
  display: flex;
  flex-wrap: wrap;
}

#dp-footer-bar a {
  height: 50px;
  line-height: 50px;
  display: block;
  text-align: center;
  font-size: 12px;
  padding: 0 20px;
  flex: 1 1 0%;
}

.widget-content {
  border-bottom: 1px solid #ddd;
  padding: 40px 0 40px 40px
}

.widget-content ul {
  margin: 0
}

.widget-content li ul {
  margin: 10px 0 0
}

.widget-content li {
  line-height: 2;
  padding: 2px 0;
  margin: 0 0 10px
}

.widget-content a {
  text-decoration: none
}

.widget-content img {
  height: auto;
  max-width: 100%
}

.widget-headline {
  color: #00729f;
  font-weight: 600;
  font-size: 18px;
  padding: 0;
  margin: 0 0 20px;
  line-height: 1
}

.tcd-ad-widget img {
  height: auto;
  max-width: 100%;
  margin: 0 auto;
  display: block
}

#calendar-wrap {
  padding: 0
}

#wp-calendar {
  margin: 0 auto;
  width: 100%;
  font-size: 11px;
  border-collapse: collapse;
  table-layout: fixed
}

#wp-calendar th,
#wp-calendar td {
  padding: 10px;
  line-height: 2;
  text-align: center;
  border: 1px solid #ddd
}

#wp-calendar td a {
  display: block;
  margin: 0;
  padding: 0;
  text-decoration: none;
  background-color: #eee
}

#wp-calendar td a:hover {
  text-decoration: none;
  color: #fff;
  background: #aaa
}

#wp-calendar caption {
  padding: 7px 0
}

#wp-calendar thead th,
#wp-calendar tfoot td {
  border: none
}

.wp-calendar-nav {
  font-size: 12px;
  padding: 10px
}

.styled-post-list1-widget {
  padding: 0
}

.styled-post-list1-widget .widget-headline {
  background: #00729f;
  color: #fff;
  padding: 0 40px;
  height: 70px;
  line-height: 70px;
  margin: 0
}

.styled-post-list1 li {
  margin: 0;
  padding: 0;
  position: relative;
  border-bottom: 1px solid #ddd
}

.styled-post-list1 li:last-child {
  border-bottom: none
}

.styled-post-list1 a {
  width: 100%;
  position: relative;
  padding: 35px 0 38px 40px;
  display: flex;
  flex-wrap: wrap;
}

.styled-post-list1 .image-wrap {
  display: block;
  width: 110px;
  height: 110px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.styled-post-list1 .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.styled-post-list1 .title-area {
  width: calc(100% - 110px);
  height: 110px;
  position: relative;
}

.styled-post-list1 .title-area-inner {
  position: absolute;
  padding: 0 0 0 18px;
  top: 50%;
  transform: translateY(-50%);
}

.styled-post-list1 .title {
  font-size: 14px;
  line-height: 1.8;
  max-height: 5.4em;
  font-weight: 500;
  word-break: break-all;
  overflow: hidden;
  transition-property: color;
  transition-duration: .2s;
  transition-timing-function: ease;
}

.styled-post-list1 .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.styled-post-list1 .date {
  font-size: 12px;
  color: #999;
  line-height: 1;
  margin-top: 5px;
  transition-property: color;
  transition-duration: .2s;
  transition-timing-function: ease;
}

.styled-post-list1 .no-image .title-area {
  width: 100%;
  height: auto
}

.styled-post-list1 .no-image .title-area-inner {
  position: relative;
  padding: 0;
  top: 0;
  transform: translateY(0%)
}

.styled-post-list1 .no-image .title {
  max-height: 3.6em
}

.styled-post-list1 .no-image .title span {
  -webkit-line-clamp: 2
}

.post-slider-widget {
  position: relative
}

.post-slider-widget .post-slider {
  height: 174px;
  position: relative
}

.post-slider-widget .item {
  width: 100%;
  height: 174px;
  position: relative
}

.post-slider-widget .item .link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: #fff
}

.post-slider-widget .item .link:after {
  content: '';
  display: block;
  width: 100%;
  height: 70%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%)
}

.post-slider-widget .image-wrap {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.post-slider-widget .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.post-slider-widget .title-area {
  padding: 0 30px;
  position: absolute;
  bottom: 20px;
  left: 0;
  z-index: 3
}

.post-slider-widget .title {
  color: #fff;
  line-height: 1.5;
  font-size: 16px;
  overflow: hidden;
  max-height: 3em;
  font-weight: 600;
}

.post-slider-widget .title span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.post-slider-nav {
  position: absolute;
  bottom: 0;
  margin-left: 20px;
  height: 40px;
  left: 50%;
  transform: translateX(-50%);
}

.post-slider-nav .carousel-arrow {
  height: 40px;
  width: 35px;
  line-height: 40px
}

.post-slider-nav .carousel-arrow:before {
  height: 40px;
  line-height: 40px;
  font-size: 14px;
  top: 2px;
  position: relative
}

.post-slider-nav .carousel-arrow.prev-item {
  left: -35px
}

.post-slider-nav .carousel-arrow.next-item {
  right: -35px
}

.tab-post-list-widget {
  position: relative
}

.widget-tab-post-list-button {
  position: relative;
  z-index: 10
}

.widget-tab-post-list-button div {
  height: 60px;
  line-height: 60px;
  width: 50%;
  float: left;
  text-align: center;
  cursor: pointer;
  display: block;
  background: #f5f5f5;
  position: relative;
  border: 1px solid #ddd;
}

.widget-tab-post-list-button div:first-of-type {
  border-right: none
}

.widget-tab-post-list-button div.active {
  background: #fff;
  pointer-events: none;
  border-bottom: 1px solid #fff
}

.widget-tab-post-list {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100px;
  left: 40px;
  width: calc(100% - 40px);
  border: 1px solid #ddd;
  border-top: none;
  transition: opacity .5s ease
}

.widget-tab-post-list.active {
  opacity: 1;
  pointer-events: initial;
  position: relative;
  top: 0;
  left: 0;
  width: auto
}

.widget-tab-post-list li {
  margin: 0;
  padding: 18px;
  border-bottom: 1px solid #ddd
}

.widget-tab-post-list li:last-child {
  margin: 0;
  border: none
}

.widget-tab-post-list a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
}

.widget-tab-post-list .image-wrap {
  display: block;
  width: 110px;
  height: 110px;
  position: relative;
  z-index: 1;
  overflow: hidden
}

.widget-tab-post-list .image {
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.widget-tab-post-list .title-area {
  width: calc(100% - 110px);
  position: relative
}

.widget-tab-post-list .title {
  font-size: 14px;
  line-height: 1.8;
  max-height: 5.4em;
  word-break: break-all;
  overflow: hidden;
  padding: 0 0 0 18px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.widget-tab-post-list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.tcd-banner-widget .headline {
  margin-bottom: 10px
}

.tcd-banner-widget .sub-headline {
  margin-bottom: 15px;
  font-size: 14px
}

.tcd-banner-widget a {
  display: block;
  margin: 0 auto 15px;
  width: 100%;
  height: 120px;
  position: relative;
  background: #fff
}

.tcd-banner-widget a:last-child {
  margin-bottom: 0
}

.tcd-banner-widget .image-wrap {
  display: block;
  width: 100%;
  height: 120px;
  position: absolute;
  z-index: 1;
  overflow: hidden;
  left: 0;
  top: 0
}

.tcd-banner-widget .image {
  width: 100%;
  height: 120px !important;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.tcd-banner-widget .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  z-index: 3
}

.tcd-banner-widget .title-area {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  padding: 0 30px;
  top: 50%;
  transform: translateY(-50%);
  transition: all .35s ease
}

.tcd-banner-widget .title {
  font-size: 20px;
  line-height: 1.5
}

.tcd-banner-widget a:hover .title-area {
  left: 5px
}

.tcdw-archive-list-widget .side-headline {
  display: none
}

.p-widget-dropdown {
  height: 45px;
  line-height: 45px;
  position: relative
}

.p-widget-dropdown:after {
  color: #666;
  content: "";
  position: absolute;
  top: 0;
  right: 17px;
  z-index: 1
}

.p-widget-dropdown select {
  padding-right: 33px;
  position: relative;
  z-index: 2;
  appearance: none;
}

.p-widget-dropdown select::-ms-expand {
  display: none
}

.p-dropdown {
  font-size: 14px
}

.p-dropdown--title {
  position: relative;
  height: 60px;
  line-height: 60px;
  padding: 0 18px;
  border: 1px solid #ddd;
  background: #fff;
  color: #000;
  z-index: 10
}

.p-dropdown--title:after {
  position: absolute;
  right: 17px;
  top: 2px;
  content: "";
  color: #000
}

.p-dropdown--title:hover {
  cursor: pointer
}

.p-dropdown--title.is-active:after {
  content: "\e911"
}

.p-dropdown--list {
  display: none;
  top: -1px;
  position: relative
}

.p-dropdown--list li {
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative
}

.p-dropdown--list li ul {
  margin: 0;
  position: relative;
  display: none
}

.p-dropdown--list li a {
  display: block;
  padding: 0 18px;
  height: 47px;
  line-height: 47px;
  margin: -1px 0 0;
  background: #fff;
  border: 1px solid #ddd
}

.p-dropdown--list li li a {
  padding-left: 32px
}

.p-dropdown--list li li li a {
  padding-left: 46px
}

.p-dropdown--list li li li li a {
  padding-left: 60px
}

.p-dropdown--list .child-menu-button {
  width: 50px;
  height: 50px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  cursor: pointer
}

.p-dropdown--list .child-menu-button:before {
  content: "";
  text-align: center;
  display: block;
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
  position: absolute;
  right: 18px;
  top: 20px
}

.p-dropdown--list li.active>.child-menu-button:before {
  content: '\e911'
}

.p-dropdown--list .child-menu-button:hover {
  color: #ccc
}

.category-list-widget {
  border-bottom: none;
  padding: 0;
  margin-top: -1px
}

.category-list-widget .square-headline {
  height: 160px;
  padding-left: 40px;
  color: #fff;
  position: relative;
  z-index: 1
}

.category-list-widget .square-headline h3 {
  line-height: 1.5;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.category-list-widget .square-headline h3 span {
  display: block
}

.category-list-widget .square-headline h3 .sub-headline {
  font-weight: 500
}

.category-list-widget ul {
  margin: 0;
  padding: 0;
  border: none
}

.category-list-widget ul ul {
  margin: 0;
  padding: 0;
  border: none
}

.category-list-widget li {
  font-size: 16px;
  margin: 0;
  padding: 0;
  position: relative
}

.category-list-widget li a {
  display: block;
  background: #fff;
  border-bottom: 1px solid #ddd;
  padding: 0 40px;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 70px;
  line-height: 70px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  transition: all .35s ease
}

.category-list-widget li li a {
  padding-left: 54px
}

.category-list-widget li li li a {
  padding-left: 68px
}

.category-list-widget li a:hover {
  padding-left: 50px
}

.category-list-widget li li a:hover {
  padding-left: 64px
}

.category-list-widget li li li a:hover {
  padding-left: 78px
}

.category-list-widget li .title {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1 0 auto
}

.category-list-widget li.current-menu-item,
.category-list-widget li.current-menu-parent {
  background: #fff;
  margin-bottom: -1px;
  z-index: 10;
  position: relative
}

.category-list-widget li.current-menu-item a,
.category-list-widget li.current-menu-parent a {
  color: #fff;
  border: none;
  pointer-events: none
}

.widget-search label {
  display: none
}

#searchform {
  border: 1px solid #ddd;
  background: #fff;
  height: 60px;
}

#searchform #s {
  border: none;
  background: 0 0;
  padding: 0 18px;
  margin: 0;
  width: calc(100% - 50px);
  height: 60px;
}

#searchform #searchsubmit {
  border: none;
  background: 0 0;
  width: 50px;
  height: 60px;
  z-index: 200;
  position: relative;
  cursor: pointer;
  display: block;
  text-indent: -300px;
  overflow: hidden
}

#searchform .submit-button {
  position: relative;
  width: 50px;
  height: 60px;
  float: right;
  top: 1px
}

#searchform .submit-button:before {
  text-indent: 0;
  display: block;
  width: 50px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  color: #333;
  font-size: 18px;
  content: "";
  right: 0;
  top: 0
}

#searchform .submit-button:hover:before {
  color: #aaa
}

.widget-recent-entries li {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 15px
}

.widget-recent-entries li:last-child {
  border: none;
  padding: 0
}

#page-404-header {
  width: 100%;
  height: 100vh;
  position: relative
}

#page-404-header .content {
  position: absolute;
  z-index: 3;
  text-align: center;
  width: 100%;
  padding: 0 50px;
  color: #fff;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

#page-404-header .catch {
  line-height: 1.4;
  font-weight: 500
}

#page-404-header .desc {
  line-height: 2;
  margin: 15px 0 0
}

#page-404-header .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2
}

#page-404-header .bg-image {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1
}

#page-404-header .catch,
#page-404-header .desc {
  opacity: 0
}

#page-404-header.animate .catch {
  animation: opacityAnimation 1s ease forwards .5s
}

#page-404-header.animate .desc {
  animation: opacityAnimation 1s ease forwards 1s
}

#page-404-button {
  opacity: 0;
  display: block;
  height: 60px;
  width: 60px;
  line-height: 60px;
  text-decoration: none;
  z-index: 3;
  position: absolute;
  bottom: 10px;
  right: 0;
  left: 0;
  margin: auto
}

#page-404-button:before {
  color: #fff;
  content: "";
  font-size: 31px;
  display: block;
  position: absolute;
  left: 14px;
  bottom: 0;
  margin: auto;
  animation: slideUpDown 1.2s ease infinite 0s
}

#page-404-header.animate #page-404-button {
  animation: opacityAnimation 1s ease forwards 1.5s
}

@-webkit-keyframes slideUpDown {
  0% {
    bottom: 10px
  }

  50% {
    bottom: 0
  }

  100% {
    bottom: 10px
  }
}

@keyframes slideUpDown {
  0% {
    bottom: 10px
  }

  50% {
    bottom: 0
  }

  100% {
    bottom: 10px
  }
}

#comments {
  margin: 70px 0 0
}

#comments .design-headline2 {
  font-size: 22px;
  margin: 0 -40px 65px 0 !important
}

#comment-header {
  position: relative;
  margin: 0 0 20px
}

#comment-tab {
  margin: 0
}

#comment-tab li {
  float: left;
  text-align: center;
  margin: 0;
  width: 50%
}

#comment-tab li a,
#comment-tab li p {
  font-size: 12px;
  padding: 15px;
  line-height: 1.6;
  display: block;
  text-decoration: none;
  background: #f2f2f2;
  color: #000
}

#comment-tab li a:hover {
  color: #fff;
  background: #999
}

#comment-tab li.active a {
  background: #000
}

#comment-tab li.active a,
#comment-header #comment-closed p {
  color: #fff;
  position: relative
}

#comment-tab li.active a {
  pointer-events: none
}

.commentlist {
  list-style-type: none;
  margin: 0;
  padding: 0
}

.comment {
  margin: 0 0 15px;
  padding: 15px 20px 0;
  background: #fff;
  border: 1px solid #ddd
}

#comments .post-content {
  margin: 0;
  padding: 0;
  background: 0 0;
  font-size: 14px
}

.comment-meta {
  position: relative;
  margin: 0 0 10px
}

.comment-meta-left {
  float: left;
  width: 100%
}

#comments .avatar {
  float: left;
  margin: 0 10px 0 0;
  width: 40px;
  height: 40px;
  border-radius: 100%
}

.comment-name-date {
  padding: 3px 0 0;
  height: 37px
}

a.admin-url {
  text-decoration: underline
}

a.guest-url {
  text-decoration: underline
}

.comment-name-date {
  margin: 0;
  font-size: 12px
}

.comment-date {
  color: #888;
  margin: 10px 0 0
}

.comment-act {
  font-size: 12px;
  position: absolute;
  right: 0;
  padding: 0;
  margin: 5px 0 0
}

.comment-act li {
  display: inline;
  margin: 0
}

.comment-reply a,
.comment-reply a:visited {
  border-right: 1px solid #aaa;
  padding: 0 10px 0 0;
  margin: 0 6px 0 0
}

.comment-edit a,
.comment-edit a:visited {
  border-left: 1px solid #aaa;
  padding: 0 0 0 10px;
  margin: 0 0 0 6px
}

#comments .post-content p {
  margin: 0 0 15px
}

#comments .post-content blockquote span {
  margin: 0 0 -1em;
  display: block
}

.comment-note {
  display: block;
  font-size: 11px;
  margin: 0 0 1em;
  color: #33a8e5;
  border: 1px solid #94ddd4;
  padding: 10px 15px;
  background: #d6f4f0
}

.comment-closed {
  border: 1px solid #ccc;
  text-align: center;
  margin: 0 35px 15px 0;
  padding: 15px;
  background: #fefefe
}

.no-comment {
  padding-bottom: 15px
}

.comment-message {
  margin: 0 0 25px
}

.commentlist .ping-link {
  margin: 0 0 25px
}

.commentlist .ping-meta {
  margin: 0 0 15px
}

#trackback-url-area {
  margin: 0 0 25px
}

#trackback-url-area label {
  font-size: 11px;
  display: block;
  margin: 0 0 5px
}

#trackback-url-area input {
  border: 1px solid #ddd;
  padding: 5px 10px;
  width: 100%
}

#comment-pager {
  margin: 0 0 10px;
  height: 24px
}

#comment-pager a,
#comment-pager span {
  display: inline;
  float: left;
  margin: 0 10px 0 0
}

#comment-pager .current {
  text-decoration: underline
}

.comment-form-wrapper {
  margin: 0;
  padding: 15px;
  background: #fff;
  border: 1px solid #ddd
}

.comment .comment-form-wrapper {
  margin: 0 0 20px
}

#cancel-comment-reply a {
  background: #eee;
  margin: 0 0 1em;
  padding: 10px;
  text-align: center;
  display: block
}

#cancel-comment-reply a:hover {
  background: #222;
  color: #fff
}

#comment-user-login p {
  padding: 5px 0;
  margin: 0;
  line-height: 1;
  font-size: 12px
}

#comment-user-login span {
  margin: 0 0 0 40px
}

#comment-login {
  margin: 0;
  padding: 3px 30px 10px
}

#comment-login p {
  margin: 0;
  padding: 12px 0 11px 36px;
  line-height: 1
}

#comment-login a {
  margin: 0 0 0 20px;
  padding: 0
}

#guest-info {
  padding: 0;
  width: 100%
}

#guest-info div {
  margin: 0 0 12px;
  text-align: left
}

#guest-info input {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid #ccc;
  width: 100%;
  background: #fff;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, .1) inset
}

#guest-info input:focus {
  border: 1px solid #999
}

#guest-info label {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  font-size: 12px
}

#guest-info span {
  margin: 0 10px 0 0
}

#comment-textarea textarea {
  margin: 15px 0 0;
  width: 100%;
  height: 150px;
  font-size: 12px;
  overflow: auto;
  padding: 10px;
  background: #fff;
  color: #000;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, .1) inset
}

#comment-textarea textarea:focus {
  border: 1px solid #999
}

#submit-comment-wrapper {
  text-align: center
}

#submit-comment {
  color: #000;
  background: #eee;
  border: none;
  cursor: pointer;
  font-size: 14px;
  width: 200px;
  height: 50px;
  margin: 15px auto 0;
  display: block;
  transition: all .2s ease
}

#submit-comment:hover {
  background: #222;
  color: #fff
}

#input-hidden-field {
  display: none
}

.password-protected {
  text-align: center;
  margin: 0 38px 30px;
  padding: 10px 20px;
  color: #fff;
  background: #3db4b2;
  border-radius: 5px
}

.password-protected p {
  font-size: 12px;
  margin: 0;
  line-height: 1.6
}

@-webkit-keyframes slideUp {
  0% {
    bottom: -30px
  }

  100% {
    opacity: 1;
    bottom: 0
  }
}

@keyframes slideUp {
  0% {
    bottom: -30px
  }

  100% {
    opacity: 1;
    bottom: 0
  }
}

@-webkit-keyframes zoomOutTcd {
  0% {
    transform: scale(1)
  }

  100% {
    transform: scale(1.3)
  }
}

@keyframes zoomOutTcd {
  0% {
    transform: scale(1)
  }

  100% {
    transform: scale(1.3)
  }
}

@-webkit-keyframes zoomInTcd {
  0% {
    transform: scale(1.3)
  }

  100% {
    transform: scale(1)
  }
}

@keyframes zoomInTcd {
  0% {
    transform: scale(1.3)
  }

  100% {
    transform: scale(1)
  }
}

@-webkit-keyframes opacityAnimation {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes opacityAnimation {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@-webkit-keyframes opacityAnimation2 {
  0% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

@keyframes opacityAnimation2 {
  0% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

@-webkit-keyframes moveRight {
  0% {
    opacity: 0;
    right: 30px
  }

  100% {
    opacity: 1;
    right: 0
  }
}

@keyframes moveRight {
  0% {
    opacity: 0;
    right: 30px
  }

  100% {
    opacity: 1;
    right: 0
  }
}

@-webkit-keyframes moveLeft {
  0% {
    opacity: 0;
    left: 30px
  }

  100% {
    opacity: 1;
    left: 0
  }
}

@keyframes moveLeft {
  0% {
    opacity: 0;
    left: 30px
  }

  100% {
    opacity: 1;
    left: 0
  }
}

@-webkit-keyframes moveDown {
  0% {
    opacity: 0;
    top: -30px
  }

  100% {
    opacity: 1;
    top: 0
  }
}

@keyframes moveDown {
  0% {
    opacity: 0;
    top: -30px
  }

  100% {
    opacity: 1;
    top: 0
  }
}

@keyframes -webkit-moveUp {
  0% {
    opacity: 0;
    bottom: -30px
  }

  100% {
    opacity: 1;
    bottom: 0
  }
}

@keyframes moveUp {
  0% {
    opacity: 0;
    bottom: -30px
  }

  100% {
    opacity: 1;
    bottom: 0
  }
}

@keyframes popUp {
  0% {
    transform: scale(.1);
    opacity: 0
  }

  100% {
    transform: none;
    opacity: 1
  }
}

@keyframes popUp {
  0% {
    transform: scale(.1);
    opacity: 0
  }

  100% {
    transform: none;
    opacity: 1
  }
}

.entry-header {
  margin-bottom: 40px;
}

@media screen and (max-width:750px) {
  .entry-header {
    margin-bottom: 20px;
  }
}

.entry-header--about {
  border-bottom: 1px solid #ddd;
}

.entry-thumbnail {
  aspect-ratio: 770 / 440;
  margin-bottom: 40px;
}

@media screen and (max-width:750px) {
  .entry-thumbnail {
    width: calc(100% + 40px);
    margin: 0 0 34px -20px;
  }
}

.entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.entry-cat {
  display: inline-block;
  min-width: 100px;
  height: 30px;
  font-size: 12px;
  color: #fff;
  border-radius: 30px;
  text-align: center;
  margin: 0 0 15px;
  line-height: 30px;
  padding: 0 20px;
  background: #5a5bc4;
}

@media screen and (max-width:750px) {
  .entry-cat {
    min-width: 80px;
    height: 25px;
    padding: 0 15px;
    line-height: 25px;
    font-size: 11px;
  }
}

.entry-title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
}

@media screen and (max-width:750px) {
  .entry-title {
    font-size: 18px;
  }
}

.entry-header--about .entry-title {
  display: inline-block;
  padding: 20px 0 24px;
  font-size: 26px;
  color: #5a5bc4;
  border-bottom: 3px solid #5a5bc4;
}

@media screen and (max-width:750px) {
  .entry-header--about .entry-title {
    padding: 10px 0 20px;
    font-size: 22px;
  }
}

.entry-date {
  display: block;
  font-size: 14px;
  position: relative;
  color: #999;
}

.entry-title+.entry-date {
  margin-top: 10px;
}

@media screen and (max-width:750px) {
  .entry-date {
    font-size: 12px;
  }
}

.post-content .alignright {
  float: right
}

.post-content .alignleft {
  float: left
}

.post-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7px
}

.post-content blockquote.alignleft,
.post-content img.alignleft {
  margin: 7px 24px 7px 0
}

.post-content .wp-caption.alignleft {
  margin: 7px 14px 7px 0
}

.post-content blockquote.alignright,
.post-content img.alignright {
  margin: 7px 0 7px 24px
}

.post-content .wp-caption.alignright {
  margin: 7px 0 7px 14px
}

.post-content blockquote.aligncenter,
.post-content img.aligncenter,
.post-content .wp-caption.aligncenter {
  margin-top: 7px;
  margin-bottom: 7px
}

.post-content p {
  line-height: 2.4;
  margin: 0 0 2em
}

.post-content p:last-child {
  margin: 0
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  clear: both;
  line-height: 1.4;
  margin: 0 0 15px;
  padding: 0;
  font-weight: 600
}

.post-content img[class*=align],
.post-content img[class*=wp-image-],
.post-content img[class*=attachment-],
.post-content img.size-full,
.post-content img.size-large,
.post-content .wp-post-image,
.post-content img {
  height: auto;
  max-width: 100%
}

.post-content li,
.post-content dt,
.post-content dd {
  line-height: 2.2
}

.post-content ul,
.post-content ol,
.post-content dl {
  margin-bottom: 24px
}

.post-content ol {
  list-style: decimal outside none;
  margin-left: 1.5em
}

.post-content ul {
  list-style: circle outside none;
  margin-left: 1.3em
}

.post-content li>ul,
.post-content li>ol {
  margin-bottom: 0
}

.post-content dt {
  font-weight: 700
}

.post-content dd {
  margin-bottom: 1em
}

.post-content table {
  margin: 0 0 24px;
  width: 100% !important
}

.post-content td,
.post-content th {
  border: 1px solid #ddd;
  padding: 17px 30px;
  line-height: 2.2;
  background: #fff
}

.post-content th {
  background: #f7f7f7;
  font-weight: 400
}

.post-content table.table-no-border th,
.post-content table.table-no-border td {
  border: none;
  padding-left: 0
}

.post-content table.table-border-horizontal th,
.post-content table.table-border-horizontal td {
  border-left: none;
  border-right: none;
  padding-left: 0
}

.post-content blockquote {
  margin: 0 0 25px;
  padding: 27px 30px;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0px 3px 0px 0px rgba(150, 150, 150, .1);
  position: relative
}

.post-content blockquote:before {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: 400;
  line-height: 40px;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 5px;
  left: 10px;
  color: #5cbcd7
}

.post-content blockquote:after {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: 400;
  text-align: left;
  line-height: 60px;
  width: 30px;
  height: 30px;
  position: absolute;
  bottom: 7px;
  right: -2px;
  color: #5cbcd7
}

.post-content blockquote cite {
  border-top: 1px dotted #aaa;
  display: block;
  padding: 20px 0 0;
  font-style: italic;
  text-align: right;
  font-size: 90%
}

.post-content .wp-caption {
  margin-bottom: 24px;
  background: #f8f8f8;
  border: 1px solid #ccc;
  padding: 5px;
  max-width: 100%;
  border-radius: 5px;
}

.post-content .wp-caption-text {
  text-align: center;
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
  margin: 9px auto
}

.post-content .wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0 auto
}

.gallery {
  margin-bottom: 20px
}

.gallery a img {
  border: 0 !important
}

.gallery-item {
  float: left;
  margin: 0 4px 4px 0;
  overflow: hidden;
  position: relative
}

.gallery-columns-1 .gallery-item {
  max-width: 100%
}

.gallery-columns-2 .gallery-item {
  max-width: 48%;
  max-width: calc(50% - 4px)
}

.gallery-columns-3 .gallery-item {
  max-width: 32%;
  max-width: calc(33.3% - 4px)
}

.gallery-columns-4 .gallery-item {
  max-width: 23%;
  max-width: calc(25% - 4px)
}

.gallery-columns-5 .gallery-item {
  max-width: 19%;
  max-width: calc(20% - 4px)
}

.gallery-columns-6 .gallery-item {
  max-width: 15%;
  max-width: calc(16.7% - 4px)
}

.gallery-columns-7 .gallery-item {
  max-width: 13%;
  max-width: calc(14.28% - 4px)
}

.gallery-columns-8 .gallery-item {
  max-width: 11%;
  max-width: calc(12.5% - 4px)
}

.gallery-columns-9 .gallery-item {
  max-width: 9%;
  max-width: calc(11.1% - 4px)
}

.gallery-columns-10 .gallery-item {
  max-width: 7%;
  max-width: calc(9.4% - 0px)
}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n),
.gallery-columns-10 .gallery-item:nth-of-type(10n) {
  margin-right: 0
}

.gallery-caption {
  background-color: rgba(0, 0, 0, .7);
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  max-height: 50%;
  opacity: 0;
  padding: 6px 8px;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  width: 100%;
}

.gallery-caption:before {
  content: "";
  height: 100%;
  min-height: 49px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%
}

.gallery-item:hover .gallery-caption {
  opacity: 1
}

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
  display: none
}

.post-content .wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0
}

.post-content address {
  margin: 0 0 24px;
  line-height: 2.2
}

.post-content pre {
  border-left: 3px solid #ccc;
  background: #f8f8f8;
  font-size: 12px;
  margin: 0 0 27px;
  line-height: 1.7;
  padding: 20px;
  overflow: auto
}

.post-content .mejs-container {
  margin: 12px 0 25px
}

.c-pw--desc,
.c-pw--desc p {
  line-height: 2.5
}

.c-pw--desc p {
  margin-bottom: 16px !important
}

.c-pw--desc.type2 p {
  text-align: center
}

.c-pw--desc.type3 p {
  text-align: right
}

.c-pw--btn {
  border: none;
  background: #111;
  color: #fff;
  display: inline-block;
  padding: 0 20px;
  font-size: 14px;
  text-align: center;
  line-height: 40px;
  height: 40px
}

.c-pw--btn:hover {
  background: #333;
  color: #fff
}

.c-pw--btn--register {
  min-width: 160px;
  margin-bottom: 32px
}

.c-pw--btn--submit {
  background: #111;
  color: #fff;
  min-width: 100px;
  border: 0;
  cursor: pointer;
  top: -1px;
  position: relative
}

.c-pw .c-pw--btn:hover {
  text-decoration: none
}

.c-pw--btn.type2 {
  display: table;
  margin: 0 auto 32px
}

.c-pw--btn.type3 {
  float: right
}

.c-pw--box {
  width: 100%;
  border: 1px solid #ddd;
  padding: 25px 36px;
  display: inline-block;
  margin-bottom: 40px;
  background: #fff
}

.c-pw--box .c-pw--box-desc {
  line-height: 1.2;
  margin-bottom: 20px
}

.c-pw--box-label {
  margin-right: 14px
}

.c-pw--box-input {
  border: 1px solid #ddd;
  background: #fff;
  height: 40px;
  width: 250px;
  margin-right: 13px;
  flex: 1;
  padding: 0 10px
}

.post-content .c-pw--btn,
.post-content .c-pw--btn:hover {
  color: #fff
}

.cardlink {
  max-width: 100%;
  margin: 45px 0 !important;
  padding: 12px;
  border: 1px solid #ddd;
  background: #fafafa
}

.cardlink-thumbnail {
  margin-right: 20px;
  float: left
}

.cardlink-content {
  line-height: 1.6
}

.cardlink-timestamp {
  display: inline;
  margin: 0;
  padding: 0;
  color: #222;
  font-size: 12px;
  line-height: 1.6;
  vertical-align: top
}

.cardlink-title {
  margin: 0 0 5px;
  font-size: 14px
}

.cardlink-title a {
  color: #000;
  font-weight: 700;
  text-decoration: none
}

.cardlink-title a:hover {
  text-decoration: underline
}

.cardlink-excerpt {
  overflow: hidden;
  color: #333;
  font-size: 12px;
  line-height: 1.8
}

.cardlink-footer {
  clear: both
}

.clear {
  clear: both
}

@media screen and (max-width:750px) {
  .cardlink-thumbnail {
    float: none
  }

  .cardlink-timestamp {
    line-height: 2.4;
    vertical-align: middle
  }

  .cardlink-excerpt {
    float: none
  }
}

.p-btn {
  display: inline-block;
  min-width: 180px;
  height: 50px;
  padding: 0 15px;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  line-height: 50px;
  text-align: center
}

@media screen and (max-width:750px) {
  .p-btn {
    height: 45px;
    font-size: 12px;
    line-height: 45px
  }
}

.wp-block-social-links a {
  color: #fff !important
}

.has-small-font-size {
  font-size: .8125em !important
}

.has-normal-font-size,
.has-regular-font-size {
  font-size: 1em !important
}

.has-medium-font-size {
  font-size: 1.25em !important
}

.has-large-font-size {
  font-size: 2.25em !important
}

.has-huge-font-size,
.has-larger-font-size {
  font-size: 2.625em !important
}

.wp-block-embed {
  margin: 0 0 2em
}

img.logo-image.pc {
  width: 320px;
  height: auto
}

img.logo-image.mobile {
  width: 220px;
  height: auto
}

.category.news-cat-id18 {
  background-color: #1dbfcf
}

.category.news-cat-id19 {
  background-color: #4854b9
}

.category.news-cat-id20 {
  background-color: #32b373
}

.category.news-cat-id21 {
  background-color: #b8812a
}

.has-regular-font-size {
  font-size: 1em
}

.has-larger-font-size {
  font-size: 2.625em
}

.has-normal-font-size {
  font-size: var(--wp--preset--font-size--normal)
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge)
}

.has-text-align-center {
  text-align: center
}

.has-text-align-left {
  text-align: left
}

.has-text-align-right {
  text-align: right
}

.has-fit-text {
  white-space: nowrap !important
}

#end-resizable-editor-section {
  display: none
}

.aligncenter {
  clear: both
}

.items-justified-left {
  justify-content: flex-start
}

.items-justified-center {
  justify-content: center
}

.items-justified-right {
  justify-content: flex-end
}

.items-justified-space-between {
  justify-content: space-between
}

.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000
}

html :where(.has-border-color) {
  border-style: solid
}

html :where([style*=border-top-color]) {
  border-top-style: solid
}

html :where([style*=border-right-color]) {
  border-right-style: solid
}

html :where([style*=border-bottom-color]) {
  border-bottom-style: solid
}

html :where([style*=border-left-color]) {
  border-left-style: solid
}

html :where([style*=border-width]) {
  border-style: solid
}

html :where([style*=border-top-width]) {
  border-top-style: solid
}

html :where([style*=border-right-width]) {
  border-right-style: solid
}

html :where([style*=border-bottom-width]) {
  border-bottom-style: solid
}

html :where([style*=border-left-width]) {
  border-left-style: solid
}

html :where(img[class*=wp-image-]) {
  height: auto;
  max-width: 100%
}

:where(figure) {
  margin: 0 0 1em
}

html :where(.is-position-sticky) {
  --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px)
}

@media screen and (max-width:600px) {
  html :where(.is-position-sticky) {
    --wp-admin--admin-bar--position-offset: 0px
  }
}

/*! This file is auto-generated */
.wp-block-button--link {
  color: #fff;
  background-color: #32373c;
  border-radius: 9999px;
  box-shadow: none;
  text-decoration: none;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  font-size: 1.125em
}

.wp-block-file--button {
  background: #32373c;
  color: #fff;
  text-decoration: none
}

.post-row {
  line-height: 2.4;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.post-col {
  margin-bottom: 2em;
  flex: 1 1 0%
}

.post-col-2 {
  margin-right: 50px
}

.post-col-3 {
  margin-right: 25px
}

.post-col:last-of-type {
  margin-right: 0
}

@media screen and (max-width:768px) {
  .post-row {
    display: block;
    line-height: 2
  }

  .post-col-2 {
    margin-right: 0
  }

  .post-col-3 {
    margin-right: 0
  }
}

.post-content .style3a,
.post-content .style3b,
.post-content .style4a,
.post-content .style4b,
.post-content .style5a,
.post-content .style5b,
.post-content .style6 {
  font-weight: 500;
  line-height: 1.6
}

.style2a {
  margin: 65px 0 30px !important;
  padding: 0 0 .9em !important;
  border-bottom: 3px solid #000;
  font-size: 26px !important
}

.style2b {
  margin: 65px 0 30px !important;
  padding: .48em 1em .47em !important;
  background: #000;
  color: #fff;
  font-size: 26px !important
}

.style3a {
  margin: 65px 0 30px !important;
  padding: 1.2em .15em !important;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 22px !important
}

.style3b {
  margin: 65px 0 30px !important;
  padding: 1.1em 1.4em 1.15em !important;
  border: 1px solid #ddd;
  border-top: 3px solid #000;
  background: #fafafa;
  font-size: 22px !important
}

.style4a {
  margin: 65px 0 30px !important;
  padding: .4em 0 .4em 1.2em !important;
  border-left: 3px solid #000;
  font-size: 20px !important;
  font-weight: 500
}

.style4b {
  position: relative;
  margin: 65px 0 30px !important;
  padding: .8em 1.5em .8em !important;
  border-left: #000 3px solid;
  font-size: 20px !important
}

.style4b:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 2px);
  border: 1px solid #ddd;
  border-left: none;
  content: ''
}

.style5a {
  margin: 65px 0 30px !important;
  padding: .85em 1.5em .8em !important;
  border: 1px solid #ddd;
  background: #fafafa;
  font-size: 18px !important
}

.style5b {
  margin: 65px 0 30px !important;
  padding: .85em 1.5em .8em !important;
  background: #000;
  color: #fff;
  font-size: 18px !important
}

.style6 {
  position: relative;
  margin: 65px 0 30px !important;
  padding: 0 .8em 0 1.3em !important;
  color: #000;
  font-size: 16px !important;
  font-weight: 700
}

.style6:before {
  position: absolute;
  top: .35em;
  left: 0;
  width: 12px;
  height: 12px;
  background: #000;
  content: ""
}

.balloon {
  display: block;
  z-index: 0;
  position: relative;
  width: auto;
  min-width: 115px;
  margin: 50px 0 22px;
  padding: .5em 18px .5em;
  clear: both;
  border-bottom: 0;
  background: #222;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  text-align: left
}

.balloon:after {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 30px;
  width: 0;
  height: 0;
  margin-left: -10px;
  border-width: 10px 10px 0;
  border-style: solid;
  border-color: #222 transparent transparent;
  content: ""
}

@media screen and (max-width:750px) {
  .style2a {
    margin: 30px 0 20px !important;
    padding: 0 0 .6em !important;
    font-size: 20px !important
  }

  .style2b {
    margin: 30px 0 20px !important;
    padding: .42em .7em .41em !important;
    background: #000;
    color: #fff;
    font-size: 20px !important
  }

  .style3a {
    margin: 30px 0 20px !important;
    padding: .6em .15em !important;
    font-size: 18px !important
  }

  .style3b {
    margin: 30px 0 20px !important;
    padding: .5em .5em .45em .6em !important;
    font-size: 18px !important
  }

  .style4a {
    margin: 30px 0 20px !important;
    padding: .4em 0 .4em .8em !important;
    border-left: 2px solid #000;
    font-size: 16px !important
  }

  .style4b {
    margin: 30px 0 20px !important;
    padding: .8em 1em .75em !important;
    border-left: #000 2px solid;
    font-size: 16px !important
  }

  .style5a {
    margin: 30px 0 20px !important;
    padding: .8em 1em .75em !important;
    font-size: 15px !important
  }

  .style5b {
    margin: 30px 0 20px !important;
    padding: .8em 1em .75em !important;
    font-size: 15px !important
  }
}

@media screen and (min-width:769px) {

  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h2,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h3,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h4,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h5,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h6 {
    margin-top: 40px !important
  }
}

@media screen and (max-width:768px) {

  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h2,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h3,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h4,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h5,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h6 {
    margin-top: 30px !important
  }
}

@media screen and (max-width:600px) {

  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h2,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h3,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h4,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h5,
  .post-content :not(h2):not(h3):not(h4):not(h5):not(h6)+h6 {
    margin-top: 20px !important
  }
}

.post-content h2 {
  font-size: 24px;
}

.post-article--about .post-content h2 {
  margin-bottom: 30px;
  padding: 14px;
  background: #000;
  color: #fff;
}

.post-content h3 {
  font-size: 22px;
}

.post-content h4 {
  font-size: 20px;
}

.post-content h5 {
  font-size: 18px;
}

.post-content h6 {
  font-size: 16px;
}

@media screen and (max-width:750px) {
  .post-content h2 {
    font-size: 20px;
  }

  .post-content h3 {
    font-size: 18px;
  }

  .post-content h4 {
    font-size: 18px;
  }

  .post-content h5 {
    font-size: 16px;
  }

  .post-content h6 {
    font-size: 14px;
  }
}

.p-vertical {
  width: 100%;
  margin: 70px 0;
  font-size: 36px;
  line-height: 1.4;
  text-align: center
}

.p-vertical p {
  display: inline-block;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

@media screen and (max-width:750px) {
  .p-vertical {
    margin: 33px 0;
    font-size: 24px;
    line-height: 1.3
  }
}

.q-underline {
  background-image: linear-gradient(to right, transparent 50%, #fff799 50%);
  background-position: 0 .8em;
  background-repeat: repeat-x;
  background-size: 200% .5em;
  border: none;
  border-bottom-color: transparent;
  transition: background 2s ease
}

.q-underline.is-active {
  background-position: -100% .8em
}

.google-map {
  width: 100%;
  aspect-ratio: 420 / 500;
}

.google-map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width:750px) {
  .google-map {
    height: 320px;
  }
}

.well {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fafafa;
  line-height: 1.8
}

.well2 {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  border: 1px solid #ddd;
  line-height: 1.8
}

.well3 {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  border: 1px dashed #ddd;
  background: #fafafa;
  line-height: 1.8
}

.wl-red {
  border-color: #ebccd1;
  background-color: #f2dede;
  color: #a94442 !important
}

.wl-yellow {
  border-color: #faebcc;
  background-color: #fcf8e3;
  color: #8a6d3b !important
}

.wl-blue {
  border-color: #bce8f1;
  background-color: #d9edf7;
  color: #31708f !important
}

.wl-green {
  border-color: #d6e9c6;
  background-color: #dff0d8;
  color: #3c763d !important
}

@media screen and (max-width:750px) {

  .well,
  .well2,
  .well3 {
    padding: .9em .8em .9em 1em
  }
}

.q-custom-button {
  color: #fff;
  border: 1px solid #000;
  font-size: 100%;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  overflow: hidden;
  position: relative;
  z-index: 2;
  max-width: 100%;
  padding: 0 30px;
  margin: 0;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: all .2s ease
}

.q-custom-button:hover,
.q-custom-button:focus {
  text-decoration: none
}

.q-custom-button:before {
  content: '';
  display: block;
  width: 100%;
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  left: -100%;
  z-index: -1;
  transition: all .5s cubic-bezier(.22, 1, .36, 1) 0s
}

.q-custom-button.animation-type3:before {
  transform: skewX(45deg);
  width: calc(100% + 70px);
  left: calc(-100% - 110px)
}

.q-custom-button.animation-type2:hover:before {
  left: 0
}

.q-custom-button.animation-type3:hover:before {
  left: -35px
}

.q-button-wrap {
  text-align: center;
  margin: 2em auto
}

.rounded {
  border-radius: 6px
}

.pill {
  border-radius: 70px
}

.bt-red {
  background: #c01f0e;
  border-color: #c01f0e;
  color: #fff
}

.bt-red:hover,
.bt-red:focus {
  background-color: #d33929;
  border-color: #d33929;
  color: #fff
}

.bt-yellow {
  background: #f1c40f;
  border-color: #f1c40f;
  color: #fff
}

.bt-yellow:hover,
.bt-yellow:focus {
  background-color: #f9d441;
  border-color: #f9d441;
  color: #fff
}

.bt-blue {
  background: #2980b9;
  border-color: #2980b9;
  color: #fff
}

.bt-blue:hover,
.bt-blue:focus {
  background-color: #3a91c9;
  border-color: #3a91c9;
  color: #fff
}

.bt-green {
  background: #27ae60;
  border-color: #27ae60;
  color: #fff
}

.bt-green:hover,
.bt-green:focus {
  background-color: #39c574;
  border-color: #39c574;
  color: #fff
}

.ytube {
  position: relative;
  height: 0;
  margin-top: 20px;
  margin-bottom: 20px;
  padding-bottom: 56.25%;
  padding-top: 30px;
  overflow: hidden
}

.ytube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important
}

.rps-table {
  line-height: 2.0
}

@media only screen and (max-width:567px) {
  .rps-table tr {
    display: block;
    margin-bottom: 1.5em
  }

  .rps-table th,
  .rps-table td {
    display: list-item;
    list-style-type: none;
    border: none
  }

  .rps-table td {
    border-top: none
  }
}

.cardlink {
  max-width: 100%;
  margin: 15px 0 2em !important;
  padding: 20px;
  border: 1px solid #ddd;
  background: #fafafa
}

.cardlink-thumbnail {
  margin-right: 25px;
  float: left
}

.cardlink-thumbnail img {
  width: 130px;
  height: 130px;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (-ms-high-contrast:active),
screen and (-ms-high-contrast:none) {
  .cardlink-thumbnail img {
    height: auto
  }
}

.cardlink-content {
  line-height: 1.6
}

.cardlink-content p {
  color: #000;
  margin-bottom: .5em;
  line-height: 1
}

.cardlink-timestamp {
  display: inline;
  margin: 0;
  padding: 0;
  color: #222;
  font-size: 12px;
  line-height: 1;
  vertical-align: top
}

.cardlink-title {
  margin: -3px 0 5px;
  font-size: 16px
}

.cardlink-title a {
  color: #000;
  font-weight: 700;
  text-decoration: none
}

.cardlink-title a:hover {
  text-decoration: none
}

.cardlink-excerpt {
  overflow: hidden;
  color: #000;
  font-size: 14px;
  line-height: 1.9;
  max-height: 5.7em
}

.cardlink-excerpt span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.cardlink-footer {
  clear: both
}

.clear {
  clear: both
}

@media screen and (max-width:750px) {
  .cardlink-timestamp {
    display: none
  }
}

@media screen and (max-width:567px) {
  .cardlink {
    padding: 15px 11px 12px 13px
  }

  .cardlink-thumbnail {
    margin-right: 12px;
    margin-bottom: 10px;
    float: left
  }

  .cardlink-thumbnail img {
    width: 100px;
    height: 100px
  }

  .cardlink-title {
    margin-top: -5px;
    font-size: 14px
  }

  .cardlink-excerpt {
    clear: both
  }
}

.text70 {
  font-size: 70%
}

.text80 {
  font-size: 80%
}

.text90 {
  font-size: 90%
}

.text100 {
  font-size: 100%
}

.text110 {
  font-size: 110%
}

.text120 {
  font-size: 120%
}

.text130 {
  font-size: 130%
}

.text140 {
  font-size: 140%
}

.text150 {
  font-size: 150%
}

.text160 {
  font-size: 160%
}

.text170 {
  font-size: 170%
}

.text180 {
  font-size: 180%
}

.text190 {
  font-size: 190%
}

.text200 {
  font-size: 200%
}

.text210 {
  font-size: 210%
}

.text220 {
  font-size: 220%
}

.b {
  font-weight: 700
}

.u {
  text-decoration: underline
}

.del {
  text-decoration: line-throug
}

.red {
  color: red
}

.blue {
  color: #2ca9e1
}

.green {
  color: #82ae46
}

.orange {
  color: #ff7d00
}

.yellow {
  color: #fff000
}

.pink {
  color: #ff0084
}

.gray {
  color: #999
}

.bg-yellow {
  padding: 2px;
  background-color: #ff0
}

.bg-blue {
  padding: 2px;
  background-color: #4ab0f5
}

.bg-red {
  padding: 2px;
  background-color: red
}

.align1 {
  text-align: center !important
}

.align2 {
  text-align: right !important
}

.align3 {
  text-align: left !important
}

.r-flo {
  float: right;
  margin: 10px
}

.l-flo {
  float: left;
  margin: 10px
}

.f-clear {
  clear: both
}

a img.fade {
  background: 0 0 !important;
  outline: none;
  transition: all .3s
}

a:hover img.fade {
  opacity: .7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: 0 0 !important
}

.att {
  padding-left: 1em;
  text-indent: -1em
}

.att-box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2;
  border: 1px dotted #ccc;
  background: #fcfcfc;
  box-shadow: 0px 4px 0px 0px #f7f7f7
}

.m0 {
  margin: 0 !important
}

.mt0 {
  margin-top: 0 !important
}

.mr0 {
  margin-right: 0 !important
}

.mb0 {
  margin-bottom: 0 !important
}

.ml0 {
  margin-left: 0 !important
}

.m5 {
  margin: 5px !important
}

.mt5 {
  margin-top: 5px !important
}

.mr5 {
  margin-right: 5px !important
}

.mb5 {
  margin-bottom: 5px !important
}

.ml5 {
  margin-left: 5px !important
}

.m10 {
  margin: 10px !important
}

.mt10 {
  margin-top: 10px !important
}

.mr10 {
  margin-right: 10px !important
}

.mb10 {
  margin-bottom: 10px !important
}

.ml10 {
  margin-left: 10px !important
}

.m15 {
  margin: 15px !important
}

.mt15 {
  margin-top: 15px !important
}

.mr15 {
  margin-right: 15px !important
}

.mb15 {
  margin-bottom: 15px !important
}

.ml15 {
  margin-left: 15px !important
}

.m20 {
  margin: 20px !important
}

.mt20 {
  margin-top: 20px !important
}

.mr20 {
  margin-right: 20px !important
}

.mb20 {
  margin-bottom: 20px !important
}

.ml20 {
  margin-left: 20px !important
}

.m25 {
  margin: 25px !important
}

.mt25 {
  margin-top: 25px !important
}

.mr25 {
  margin-right: 25px !important
}

.mb25 {
  margin-bottom: 25px !important
}

.ml25 {
  margin-left: 25px !important
}

.m30 {
  margin: 30px !important
}

.mt30 {
  margin-top: 30px !important
}

.mr30 {
  margin-right: 30px !important
}

.mb30 {
  margin-bottom: 30px !important
}

.ml30 {
  margin-left: 30px !important
}

.m35 {
  margin: 35px !important
}

.mt35 {
  margin-top: 35px !important
}

.mr35 {
  margin-right: 35px !important
}

.mb35 {
  margin-bottom: 35px !important
}

.ml35 {
  margin-left: 35px !important
}

.m40 {
  margin: 40px !important
}

.mt40 {
  margin-top: 40px !important
}

.mr40 {
  margin-right: 40px !important
}

.mb40 {
  margin-bottom: 40px !important
}

.ml40 {
  margin-left: 40px !important
}

.m45 {
  margin: 45px !important
}

.mt45 {
  margin-top: 45px !important
}

.mr45 {
  margin-right: 45px !important
}

.mb45 {
  margin-bottom: 45px !important
}

.ml45 {
  margin-left: 45px !important
}

.m50 {
  margin: 50px !important
}

.mt50 {
  margin-top: 50px !important
}

.mr50 {
  margin-right: 50px !important
}

.mb50 {
  margin-bottom: 50px !important
}

.ml50 {
  margin-left: 50px !important
}

.m55 {
  margin: 55px !important
}

.mt55 {
  margin-top: 55px !important
}

.mr55 {
  margin-right: 55px !important
}

.mb55 {
  margin-bottom: 55px !important
}

.ml55 {
  margin-left: 55px !important
}

.m60 {
  margin: 60px !important
}

.mt60 {
  margin-top: 60px !important
}

.mr60 {
  margin-right: 60px !important
}

.mb60 {
  margin-bottom: 60px !important
}

.ml60 {
  margin-left: 60px !important
}

.m65 {
  margin: 65px !important
}

.mt65 {
  margin-top: 65px !important
}

.mr65 {
  margin-right: 65px !important
}

.mb65 {
  margin-bottom: 65px !important
}

.ml65 {
  margin-left: 65px !important
}

.m70 {
  margin: 70px !important
}

.mt70 {
  margin-top: 70px !important
}

.mr70 {
  margin-right: 70px !important
}

.mb70 {
  margin-bottom: 70px !important
}

.ml70 {
  margin-left: 70px !important
}

.m75 {
  margin: 75px !important
}

.mt75 {
  margin-top: 75px !important
}

.mr75 {
  margin-right: 75px !important
}

.mb75 {
  margin-bottom: 75px !important
}

.ml75 {
  margin-left: 75px !important
}

.m80 {
  margin: 80px !important
}

.mt80 {
  margin-top: 80px !important
}

.mr80 {
  margin-right: 80px !important
}

.mb80 {
  margin-bottom: 80px !important
}

.ml80 {
  margin-left: 80px !important
}

.p0 {
  padding: 0 !important
}

.pt0 {
  padding-top: 0 !important
}

.pr0 {
  padding-right: 0 !important
}

.pb0 {
  padding-bottom: 0 !important
}

.pl0 {
  padding-left: 0 !important
}

.p5 {
  padding: 5px !important
}

.pt5 {
  padding-top: 5px !important
}

.pr5 {
  padding-right: 5px !important
}

.pb5 {
  padding-bottom: 5px !important
}

.pl5 {
  padding-left: 5px !important
}

.p10 {
  padding: 10px !important
}

.pt10 {
  padding-top: 10px !important
}

.pr10 {
  padding-right: 10px !important
}

.pb10 {
  padding-bottom: 10px !important
}

.pl10 {
  padding-left: 10px !important
}

.p15 {
  padding: 15px !important
}

.pt15 {
  padding-top: 15px !important
}

.pr15 {
  padding-right: 15px !important
}

.pb15 {
  padding-bottom: 15px !important
}

.pl15 {
  padding-left: 15px !important
}

.p20 {
  padding: 20px !important
}

.pt20 {
  padding-top: 20px !important
}

.pr20 {
  padding-right: 20px !important
}

.pb20 {
  padding-bottom: 20px !important
}

.pl20 {
  padding-left: 20px !important
}

.p25 {
  padding: 25px !important
}

.pt25 {
  padding-top: 25px !important
}

.pr25 {
  padding-right: 25px !important
}

.pb25 {
  padding-bottom: 25px !important
}

.pl25 {
  padding-left: 25px !important
}

.p30 {
  padding: 30px !important
}

.pt30 {
  padding-top: 30px !important
}

.pr30 {
  padding-right: 30px !important
}

.pb30 {
  padding-bottom: 30px !important
}

.pl30 {
  padding-left: 30px !important
}

.p35 {
  padding: 35px !important
}

.pt35 {
  padding-top: 35px !important
}

.pr35 {
  padding-right: 35px !important
}

.pb35 {
  padding-bottom: 35px !important
}

.pl35 {
  padding-left: 35px !important
}

.p40 {
  padding: 40px !important
}

.pt40 {
  padding-top: 40px !important
}

.pr40 {
  padding-right: 40px !important
}

.pb40 {
  padding-bottom: 40px !important
}

.pl40 {
  padding-left: 40px !important
}

.p45 {
  padding: 45px !important
}

.pt45 {
  padding-top: 45px !important
}

.pr45 {
  padding-right: 45px !important
}

.pb45 {
  padding-bottom: 45px !important
}

.pl45 {
  padding-left: 45px !important
}

.p50 {
  padding: 50px !important
}

.pt50 {
  padding-top: 50px !important
}

.pr50 {
  padding-right: 50px !important
}

.pb50 {
  padding-bottom: 50px !important
}

.pl50 {
  padding-left: 50px !important
}

.p55 {
  padding: 55px !important
}

.pt55 {
  padding-top: 55px !important
}

.pr55 {
  padding-right: 55px !important
}

.pb55 {
  padding-bottom: 55px !important
}

.pl55 {
  padding-left: 55px !important
}

.p60 {
  padding: 60px !important
}

.pt60 {
  padding-top: 60px !important
}

.pr60 {
  padding-right: 60px !important
}

.pb60 {
  padding-bottom: 60px !important
}

.pl60 {
  padding-left: 60px !important
}

.p65 {
  padding: 65px !important
}

.pt65 {
  padding-top: 65px !important
}

.pr65 {
  padding-right: 65px !important
}

.pb65 {
  padding-bottom: 65px !important
}

.pl65 {
  padding-left: 65px !important
}

.p70 {
  padding: 70px !important
}

.pt70 {
  padding-top: 70px !important
}

.pr70 {
  padding-right: 70px !important
}

.pb70 {
  padding-bottom: 70px !important
}

.pl70 {
  padding-left: 70px !important
}

.p75 {
  padding: 75px !important
}

.pt75 {
  padding-top: 75px !important
}

.pr75 {
  padding-right: 75px !important
}

.pb75 {
  padding-bottom: 75px !important
}

.pl75 {
  padding-left: 75px !important
}

.p80 {
  padding: 80px !important
}

.pt80 {
  padding-top: 80px !important
}

.pr80 {
  padding-right: 80px !important
}

.pb80 {
  padding-bottom: 80px !important
}

.pl80 {
  padding-left: 80px !important
}

.post-content .a-break {
  display: inline-block
}

@media (max-width:767px) {
  .post-content .is-pc {
    display: none !important
  }
}

@media not all and (max-width:767px) {
  .post-content .is-sp {
    display: none !important
  }
}

.post-content .e-link {
  display: inline-block;
  position: relative;
  padding-right: 1em
}

.post-content .e-link:after {
  content: "";
  font-size: 100%;
  display: block;
  position: absolute;
  transition: none;
  margin-top: -.1em;
  right: 0;
  top: 50%;
  transform: translateY(-50%)
}

.post-content img.frame {
  border: 1px solid #d2d2d2;
  box-shadow: 0 6px 6px -6px #ccc
}

.single-share ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.single-share li {
  flex: 1 1 0%;
  max-width: 100px
}

.single-share li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 30px;
  position: relative;
  font-size: 12px;
  color: #fff;
  border-radius: 3px;
  cursor: pointer;
}

.single-share li.x a {
  background: #000;
}

.single-share li.facebook a {
  background: #35629a;
}

.single-share li.x a::before {
  content: "";
  width: 12px;
  height: 12px;
  background: url(../images/icon/icon-x-white.svg) no-repeat;
  background-size: contain;
}

.single-share li.facebook a::before {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../images/icon/icon-facebook-white.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width:800px) {
  .single-share .ttl {
    display: none
  }
}


@media screen and (max-width:1201px) {
  #container {
    position: relative;
    height: 100%
  }

  #main-contents {
    width: auto;
    padding: 40px 0 60px;
    margin: 0 auto;
    display: block
  }

  #main-contents:after {
    display: none
  }

  #main-col {
    width: auto;
    max-width: 770px;
    margin: 0 auto;
    padding: 0
  }

  body.page #main-contents {
    padding-top: 60px
  }

  body.page #main-col {
    padding-top: 0
  }

  body.hide-sidebar #main-col {
    width: auto;
    padding-top: 0
  }

  #side-col {
    width: auto;
    max-width: 770px;
    margin: 70px auto 0;
    display: flex;
    flex-wrap: wrap;
  }

  @media screen and (max-width:900px) {
    #main-contents {
      padding: 20px 20px 40px;
      display: block
    }

    #main-col {
      width: auto !important;
      margin-bottom: 40px;
      padding: 0
    }

    #side-col {
      width: auto;
      margin: 40px auto 0;
      display: block;
      max-width: 365px
    }
  }

  @media screen and (max-width:750px) {
    body.page #main-contents {
      padding-top: 35px
    }
  }

  @media screen and (max-width:550px) {
    #main-contents {
      padding: 20px 20px 0
    }

    #side-col {
      max-width: inherit
    }
  }

  #drawer-menu {
    display: block;
    position: fixed;
    top: 0;
    right: -400px;
    width: 400px;
    height: 100%;
    background: #333;
    overflow: auto;
    z-index: 9999;
    transition: right .3s cubic-bezier(.19, 1.000, .22, 1.000);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-overflow-scrolling: touch
  }

  .open-menu #drawer-menu {
    right: 0;
    box-shadow: -5px 0 20px 0 rgba(0, 0, 0, .4)
  }

  @media screen and (max-width:500px) {
    #drawer-menu {
      right: -80%;
      width: 80%
    }
  }

  .open-menu #container:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .6);
    z-index: 9999
  }

  #drawer-menu .simplebar-scrollbar:before {
    background: #fff !important
  }

  body.admin-bar {
    padding-top: 32px
  }

  body.admin-bar.header-fix-mobile #header {
    margin-top: 32px
  }

  body.admin-bar #drawer-menu {
    padding-top: 32px
  }

  .mobile body.admin-bar.header-fix-mobile {
    padding-top: 102px
  }

  @media screen and (max-width:781px) {
    body.admin-bar {
      padding-top: 46px
    }

    body.admin-bar.header-fix-mobile #header {
      margin-top: 46px
    }

    body.admin-bar #drawer-menu {
      padding-top: 46px
    }

    body.admin-bar.fixed-find-menu #find-menu-wrap {
      top: 46px
    }

    body.admin-bar.fixed-find-menu {
      padding-top: 106px
    }

    .mobile body.admin-bar.header-fix-mobile {
      padding-top: 126px
    }
  }

  @media screen and (max-width:750px) {
    .design-button {
      height: 50px
    }

    .design-button a {
      min-width: 240px;
      height: 50px;
      line-height: 50px;
      font-size: 14px;
      padding: 0 15px
    }
  }

  .design-headline2 {
    margin: 100px 0 63px !important;
    padding: 0 !important
  }

  @media screen and (max-width:750px) {
    .design-headline1 {
      font-size: 20px !important;
      margin: 0 0 30px !important;
      padding: 0 !important
    }

    .design-headline2 {
      font-size: 18px !important;
      margin: 33px -20px 35px !important
    }

    .design-headline2 span {
      padding-top: 15px
    }

    body.hide-sidebar .design-headline2 {
      margin-right: -20px !important;
      padding-right: -20px !important
    }

    .two-column-image+.design-headline2 {
      margin-top: 40px !important
    }
  }

  .design-line {
    margin: 50px 0 53px
  }

  @media screen and (max-width:750px) {
    .design-line {
      margin: 32px -20px 35px;
      width: calc(100% + 40px)
    }
  }

  @media screen and (max-width:750px) {
    .two-column-image {
      margin: 35px 0 35px
    }

    .design-headline2+.two-column-image {
      margin-top: 0
    }

    .two-column-image .item:first-of-type {
      margin-right: 1px
    }
  }

  @media screen and (max-width:750px) {
    body.use-loading-screen.load-screen-animation-type2 #container {
      transform: translate3d(0px, 30px, 0px)
    }

    body.use-loading-screen.load-screen-animation-type3 #container {
      transform: translate3d(0px, -30px, 0px)
    }
  }



  @media screen and (max-width:950px) {

    #header-slider .slick-dots {
      display: block !important;
      position: absolute;
      bottom: 23px;
      left: 0;
      width: 100%;
      z-index: 10;
      text-align: center
    }

    #header-slider .slick-dots li {
      display: inline-block;
      width: 10px;
      height: 10px;
      margin: 0 7px;
      font-size: 10px
    }

    #header-slider .slick-dots button {
      cursor: pointer;
      border: none;
      color: transparent;
      width: 14px;
      height: 10px;
      display: block;
      font-size: 0;
      background: 0 0;
      position: relative
    }

    #header-slider .slick-dots button:before {
      content: '';
      display: block;
      width: 10px;
      height: 10px;
      line-height: 10px;
      background: 0 0;
      border: 1px solid #fff;
      border-radius: 12px;
      position: absolute;
      top: 0;
      left: 0
    }

    #header-slider .slick-dots button:hover:before,
    #header-slider .slick-dots .slick-active button:before {
      background: #ccc;
      border-color: #ccc
    }
  }

  body.no-index-header-content #header {
    border-bottom: 1px solid #ddd
  }

  body.no-index-header-content.header-fix-mobile #header {
    border-bottom: none
  }

  body.no-index-header-content #index-content-builder {
    border-top: 1px solid #ddd;
    padding: 60px 0 0
  }

  @media screen and (max-width:750px) {
    .section--headline .sub-headline {
      font-size: 14px
    }
  }

  @media screen and (max-width:950px) {
    #index-news-ticker {
      width: 100%;
      height: 70px
    }
  }

  @media screen and (max-width:750px) {
    #index-news-ticker {
      width: 100%;
      height: 115px
    }

    #index-news-ticker .item {
      height: auto;
      padding: 20px 20px 15px;
      display: block
    }

    #index-news-ticker .date {
      width: auto;
      margin: 0 10px 0 0;
      height: 25px;
      line-height: 26px;
      font-size: 12px;
      float: left
    }

    #index-news-ticker .category {
      font-size: 11px;
      margin-right: 0;
      min-width: 80px;
      height: 25px;
      line-height: 26px;
      padding: 0 15px
    }

    #index-news-ticker .title {
      font-size: 14px;
      text-overflow: clip;
      white-space: normal;
      max-height: 3.6em;
      margin-top: 10px;
      clear: both
    }

    #index-news-ticker .title a {
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
      display: -webkit-inline-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2
    }
  }

  .tab-content-top .tab {
    width: 100%
  }

  .tab-content-bottom {
    width: auto;
    border: none;
    padding: 100px 60px
  }

  .tab-content-bottom .item {
    left: 60px;
    right: 60px
  }

  .tab-content-bottom .image-area {
    width: 50%
  }

  .tab-content-bottom .content {
    width: calc(50% - 60px)
  }

  @media screen and (max-width:950px) {
    .tab-content-top {
      height: 500px
    }

    .tab-content-top-inner {
      width: 100%;
      padding: 0 40px
    }

    .tab-content-bottom {
      padding: 100px 40px
    }

    .tab-content-bottom .image-area {
      margin-right: 40px
    }

    .tab-content-bottom .content {
      width: calc(50% - 40px)
    }

    .tab-content-top .tab {
      height: 50px
    }

    .tab-content-top .tab .item {
      font-size: 14px;
      height: 50px;
      line-height: 50px;
      min-width: 150px;
      margin: 0 4px;
      padding: 0 15px;
      border-radius: 5px 5px 0 0
    }
  }

  @media screen and (max-width:750px) {
    .tab-content-top {
      height: 360px
    }

    .tab-content-top-inner {
      padding: 0 20px
    }

    .tab-content-top .desc {
      line-height: 2;
      margin: 6px 0 0
    }

    .tab-content-top .design-button {
      margin-top: 20px
    }

    .tab-content-top .tab {
      height: 40px
    }

    .tab-content-top .tab .item {
      font-size: 12px;
      height: 40px;
      line-height: 40px;
      min-width: 70px
    }

    .tab-content-bottom {
      padding: 40px 20px
    }

    .tab-content-bottom .item {
      left: 20px;
      right: 20px;
      top: 40px
    }

    .tab-content-bottom .item-inner {
      display: block
    }

    .tab-content-bottom .image-area {
      width: 100%;
      margin: 0 auto;
      max-width: 500px
    }

    .tab-content-bottom .content {
      width: 100%;
      margin: 37px 0 0
    }

    .tab-content-bottom .title {
      margin-bottom: 11px
    }

    .tab-content-bottom .catch {
      margin-bottom: 6px
    }

    .tab-content-bottom .desc {
      line-height: 2
    }

    .tab-content-bottom .design-button {
      margin-top: 33px
    }

    .tab-content-bottom .slick-dots {
      bottom: 20px
    }
  }

  .service-list {
    background: #f6f6f6
  }

  .service-list--top {
    width: auto;
    padding: 90px 60px;
    border: none
  }

  .service-list--bottom {
    width: auto;
    padding: 70px 60px;
    border: none
  }

  .service-list.section:last-of-type .service-list--bottom {
    padding-bottom: 100px
  }

  .service-list--items .item {
    position: relative;
    height: 500px;
    overflow: hidden
  }

  .service-list--items .item a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    color: #fff
  }

  .service-list--items .item a:after {
    content: '';
    display: block;
    width: 50%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
  }

  .service-list--items .content {
    width: 50%;
    position: absolute;
    right: 0;
    bottom: auto !important;
    z-index: 3;
    padding: 60px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .service-list--items .item:nth-child(even) a:after {
    right: auto;
    left: 0
  }

  .service-list--items .item:nth-child(even) .content {
    right: auto;
    left: 0
  }

  .service-list--items .title {
    font-weight: 600;
    line-height: 1.5;
    margin-top: 8px
  }

  .service-list--items .title span {
    display: block
  }

  .service-list--items .sub-title {
    font-weight: 500
  }

  .service-list--items .title br {
    display: none
  }

  .service-list--items .desc {
    line-height: 2.4;
    color: #fff;
    margin-top: 30px
  }

  .service-list--items .image-wrap {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden
  }

  .service-list--items .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
  }

  .service-list--items .bottom-title {
    font-weight: 600;
    margin: 38px 0 0;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding: 0 20px 0 0
  }

  @media screen and (max-width:950px) {
    .service-list--top {
      padding: 90px 40px
    }

    .service-list--bottom {
      padding: 70px 40px
    }
  }

  @media screen and (max-width:750px) {
    .service-list {
      z-index: 2;
      position: relative
    }

    .service-list--top {
      padding: 35px 20px
    }

    .service-list--top .section--desc {
      line-height: 2;
      margin: 30px 0 0
    }

    .service-list--items .item {
      height: 100%
    }

    .service-list--items .content {
      position: relative;
      width: 100%;
      padding: 35px 50px 50px;
      top: 0;
      transform: translateY(0%)
    }

    .service-list--items .image-wrap {
      position: absolute;
      top: 0;
      left: 0
    }

    .service-list--items .item a:after {
      width: 100%
    }

    .service-list--items .desc {
      line-height: 2;
      margin-top: 20px
    }

    .service-list--items .bottom-title {
      margin: 23px 0 0
    }

    .service-list--bottom {
      padding: 40px
    }

    .service-list.section:last-of-type .service-list--bottom {
      padding-bottom: 40px
    }
  }


  .project-list {
    width: auto;
    padding: 90px 0 100px;
    border: none
  }

  .project-list .project-list {
    margin: 60px 0 -70px
  }

  .project-list .section--desc {
    margin: 55px 60px 0
  }

  @media screen and (max-width:950px) {
    .project-list .section--desc {
      margin: 55px 40px 0
    }
  }

  @media screen and (max-width:750px) {
    .project-list {
      padding: 40px 0 40px
    }

    .project-list .project-list {
      margin: 30px 0 -10px
    }

    .project-list .section--desc {
      margin: 25px 20px 0
    }

    .project-list .design-button {
      margin-top: 40px
    }
  }

  .section--freetext.type1 {
    width: auto;
    padding: 0 60px;
    border: none
  }

  .section--freetext.type2 {
    width: auto
  }

  @media screen and (max-width:950px) {
    .section--freetext.type1 {
      padding: 0 40px
    }
  }

  @media screen and (max-width:750px) {
    .section--freetext.type1 {
      padding: 0 20px
    }
  }

  @media screen and (max-width:750px) {
    .section--freetext .index-free-design-content .catch {
      font-size: 20px;
      margin: 0 0 17px
    }

    .section--freetext .index-free-design-content img {
      display: block;
      margin: 25px auto 0;
      max-width: 250px
    }
  }

  #company-archive-top {
    padding: 0 0 1px;
    width: auto;
    border: none
  }

  #company-archive-bottom-inner {
    padding: 70px 0 100px;
    width: auto;
    border: none
  }

  @media screen and (max-width:950px) {
    #company-list {
      margin: 0 40px -40px
    }

    #company-list .image-wrap {
      height: 200px
    }

    #company-list .title {
      padding: 0 40px
    }

    #company-list .catch {
      padding: 35px 40px
    }
  }

  @media screen and (max-width:750px) {
    #company-archive-top .square-headline.inview {
      top: -20px
    }

    #company-archive-top .square-headline.inview.animate {
      top: -60px
    }

    #company-archive-bottom-inner {
      padding: 40px 0
    }

    #company-archive-bottom .top-catch {
      margin: -5px 0 33px
    }

    #company-list {
      display: block;
      margin: 0 20px -40px
    }

    #company-list .item {
      width: 100%;
      margin: 0
    }

    #company-list .title {
      padding: 0 30px
    }

    #company-list .catch {
      padding: 15px 30px 32px
    }
  }

  @media screen and (max-width:550px) {
    #company-list .image-wrap {
      height: 160px
    }
  }

  @media screen and (max-width:750px) {
    .single-company-catch {
      font-size: 20px;
      margin: -5px 0 35px
    }
  }

  @media screen and (max-width:750px) {
    .philosophy-image1 {
      margin: 0 auto;
      display: block;
      padding: 14px 0 7px;
      max-width: 240px !important
    }
  }

  @media screen and (max-width:750px) {
    .outline-table {
      margin: 33px 0 0 !important;
      font-size: 14px
    }

    .outline-table th {
      width: 90px !important;
      padding: 0 !important
    }
  }

  @media screen and (max-width:750px) {
    .history-table {
      font-size: 14px;
      margin: 33px 0 0 !important
    }

    .history-table .year {
      width: 78px !important;
      font-size: 14px
    }

    .history-table .month {
      width: 50px !important
    }
  }

  @media screen and (max-width:750px) {
    #access-map {
      margin: 33px -20px 0
    }

    .qt-google-map {
      height: 320px !important
    }

    .qt-google-map .qt-googlemap-embed {
      height: 320px !important
    }

    #access-map .qt-google-map .pb-googlemap-custom-overlay-inner {
      top: -84px;
      left: -50px;
      width: 90px !important;
      height: 90px !important
    }

    #access-info {
      margin: 35px 0 -7px;
      text-align: center
    }

    #access-info .headline {
      font-size: 16px;
      margin: 0 0 6px
    }

    #access-info .link a {
      padding: 6px 0
    }
  }

  @media screen and (max-width:750px) {
    #partner-list {
      display: block;
      border: none;
      margin: 33px -20px -40px
    }

    #partner-list .item {
      width: 100%;
      height: auto;
      border: none;
      border-top: 1px solid #ddd;
      padding: 50px 40px 35px
    }

    #partner-list .item img {
      margin: 0 auto
    }

    #partner-list .item:nth-child(1) img {
      margin-top: auto
    }

    #partner-list .item .image {
      margin-bottom: 50px
    }

    #partner-list .item p {
      position: relative;
      bottom: auto;
      padding: 0
    }
  }

  #project-archive {
    padding: 0 0 100px;
    width: auto;
    border: none
  }

  .project-list {
    margin: 0
  }

  @media screen and (max-width:950px) {
    .project-list .image-wrap {
      height: 250px
    }

    .project-list .category {
      margin-left: 40px
    }

    .project-list .title {
      padding: 0 40px
    }

    .project-list .desc {
      margin: 20px 40px 0
    }
  }

  @media screen and (max-width:750px) {
    #project-archive {
      padding-bottom: 40px
    }

    body.no-page-nav #project-archive {
      padding-bottom: 0
    }

    #project-archive .square-headline.inview {
      top: -20px
    }

    #project-archive .square-headline.inview.animate {
      top: -60px
    }

    .project-list {
      margin: 0;
      display: block
    }

    .project-list .item {
      width: 100%;
      margin: 0 0 33px
    }

    .project-list .category {
      font-size: 14px;
      height: 50px;
      line-height: 50px;
      margin-left: 20px
    }

    .project-list .title {
      padding: 0 20px;
      bottom: 15px
    }

    .project-list .desc {
      line-height: 2;
      max-height: 4em;
      margin: 13px 20px 0
    }
  }

  @media screen and (max-width:550px) {
    .project-list .image-wrap {
      height: 205px
    }
  }

  #related-project .design-headline2 {
    margin: 0 0 70px !important
  }

  @media screen and (max-width:950px) {
    #project-title-area .image {
      height: 350px
    }
  }

  @media screen and (max-width:750px) {
    #project-title-area {
      margin: 0 -20px 30px
    }

    #project-title-area .category {
      height: 50px;
      line-height: 50px;
      margin: 0 0 0 20px
    }

    #project-title-area .image-wrap {
      width: 100%;
      position: relative;
      margin: 0 0 5px;
      padding-top: 57%
    }

    #project-title-area .image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      margin: 0
    }

    #project-title-area .title {
      border: none;
      border-bottom: 1px solid #ddd;
      padding: 20px
    }

    #related-project {
      margin: 35px 0 -18px
    }

    #related-project .design-headline2 {
      font-size: 16px !important;
      margin: 0 0 40px !important
    }

    #related-project .post-list {
      margin: 0 30px
    }

    #related-project .item {
      width: calc(50% - 9px);
      margin: 0 18px 18px 0
    }

    #related-project .image-wrap {
      margin: 0 0 12px;
      height: 120px
    }

    #related-project .title {
      font-size: 14px;
      max-height: 4.8em
    }

    #related-project .title span {
      -webkit-line-clamp: 3
    }
  }

  @media screen and (max-width:550px) {
    #related-project .post-list {
      margin: 0
    }

    #related-project .image-wrap {
      height: 85px
    }
  }

  #service-archive {
    padding: 0 0 100px;
    width: auto;
    border: none
  }

  #service-list {
    margin: 0
  }

  #service-list .content-inner {
    padding: 50px
  }

  @media screen and (max-width:950px) {
    #service-list .item {
      height: 500px
    }

    #service-list .content {
      height: 100%;
      width: 100%
    }
  }

  @media screen and (max-width:750px) {
    #service-archive {
      padding: 0;
      margin-bottom: -1px
    }

    #service-list {
      margin: 0
    }

    #service-archive .square-headline.inview {
      top: -20px
    }

    #service-archive .square-headline.inview.animate {
      top: -60px
    }

    #service-list .content {
      position: relative
    }

    #service-list .content-inner {
      padding: 35px 50px 50px;
      position: relative;
      top: auto;
      -ms-transform: translateY(0%);
      -webkit-transform: translateY(0%);
      transform: translateY(0%)
    }

    #service-list .item {
      height: auto
    }

    #service-list .catch {
      margin-top: 20px
    }

    #service-list .desc {
      line-height: 2;
      margin-top: 18px;
      max-height: 6em
    }

    #service-list .design-button {
      margin: 23px 0 0
    }
  }

  @media screen and (max-width:550px) {
    #service-list .design-button a {
      width: 100%
    }
  }

  #post-title2 {
    padding-right: 0;
    margin: -40px 0 60px
  }

  #service-banner .design-headline2 {
    margin: 0 0 60px !important
  }

  #service-banner {
    margin: 50px 0 0
  }

  @media screen and (max-width:950px) {
    #service-banner .content-inner {
      padding: 0 40px
    }
  }

  @media screen and (max-width:750px) {
    #post-title2 {
      padding-right: 20px;
      margin: -20px -20px 40px 0;
      height: auto
    }

    #post-title2 .title {
      height: auto;
      padding: 12px 0
    }

    #post-image2-wrap {
      width: calc(100% + 40px);
      position: relative;
      margin: 0 -20px 33px;
      padding-top: 64%
    }

    #post-image2 {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      margin: 0
    }

    #service-banner {
      margin: 33px 0 0
    }

    #service-banner .design-headline2 {
      font-size: 16px !important;
      margin: 0 -20px 40px !important
    }

    #service-banner .item a {
      height: auto;
      display: block
    }

    #service-banner .image-wrap {
      width: 100%;
      height: 170px
    }

    #service-banner .content {
      width: 100%
    }

    #service-banner .content-inner {
      padding: 20px 30px;
      position: relative;
      top: auto;
      transform: translateY(0%)
    }

    #service-banner .desc {
      line-height: 2;
      max-height: 6em;
      margin: 3px 0 0
    }
  }

  @media screen and (max-width:750px) {
    #tcd-lp-page-table {
      font-size: 14px;
      margin: 0 0 40px
    }

    #tcd-lp-page-table th {
      width: 90px !important;
      padding: 0
    }
  }

  @media screen and (max-width:750px) {
    .faq-list {
      margin: 0 0 40px
    }

    .faq-list .question {
      font-size: 14px !important;
      padding: 15px 45px 11px 20px !important
    }

    .faq-list .question:before {
      right: 17px;
      top: 0;
      bottom: 0;
      width: 9px;
      height: 1px;
      margin: auto
    }

    .faq-list .question:after {
      right: 21px;
      top: 0;
      bottom: 0;
      width: 1px;
      height: 9px;
      margin: auto
    }

    .faq-list .answer {
      padding: 15px 20px 15px
    }

    .faq-list .answer p {
      line-height: 2
    }
  }

  #news-archive {
    padding: 0 0 100px;
    width: auto
  }

  .news-category-list {
    margin: 0 60px 100px
  }


  @media screen and (max-width:750px) {
    #news-archive {
      padding: 0 0 40px
    }

    body.no-page-nav #news-archive {
      padding-bottom: 0
    }

    #news-archive .square-headline.inview {
      top: -20px
    }

    #news-archive .square-headline.inview.animate {
      top: -60px
    }

    .news-category-list,
    .news-category-sort-button {
      margin: 0 20px 30px
    }

    .news-category-list li,
    .news-category-sort-button li {
      font-size: 14px;
      margin: 0 10px 10px
    }

    .news-category-list li a,
    .news-category-sort-button li a {
      padding-top: 15px
    }


    .news-list .item {
      height: auto;
      border-left: none;
      border-right: none;
      margin: 0 0 -1px;
      padding: 20px 20px 15px;
      display: block
    }

    .news-list .date {
      width: auto;
      margin: 0 10px 0 0;
      height: 25px;
      line-height: 26px;
      font-size: 12px;
      float: left
    }

    .news-list .category {
      font-size: 11px;
      margin-right: 0;
      min-width: 80px;
      height: 25px;
      line-height: 27px;
      padding: 0 15px
    }

    .news-list .title {
      text-overflow: clip;
      white-space: normal;
      max-height: 3.6em;
      margin-top: 10px;
      clear: both
    }

    .news-list .title a {
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
      display: -webkit-inline-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2
    }
  }

  #single-news-inner {
    width: auto;
    margin: 0 auto;
    border: none;
    padding: 60px 0 100px
  }

  #single-news #article {
    width: 770px;
    padding: 40px
  }

  #news-next-prev-post {
    margin: 40px auto 0;
    width: 770px
  }

  #recent-news {
    width: 770px;
    margin: 70px auto 0
  }

  #recent-news .news-list {
    margin: 0
  }

  #recent-news .headline {
    margin-bottom: 40px
  }

  #recent-news .design-button {
    margin-top: 40px
  }

  @media screen and (max-width:900px) {
    #single-news-inner {
      padding: 40px 0
    }

    #single-news #article {
      width: auto;
      margin: 0 40px
    }

    #news-next-prev-post {
      margin: 40px 40px 0;
      width: auto
    }

    #recent-news {
      width: auto;
      margin: 70px 40px 0
    }

    #recent-news .design-button {
      margin-bottom: 40px
    }
  }

  @media screen and (max-width:750px) {
    #single-news {
      background: #fff
    }

    #single-news-inner {
      padding: 0
    }

    #single-news #article {
      margin: 0;
      padding: 20px
    }

    #news-next-prev-post {
      margin: 40px 0 0;
    }

    #news-next-prev-post .item {
      height: 50px
    }

    #news-next-prev-post .item:first-of-type {
      border: none;
      margin-right: -1px
    }

    #news-next-prev-post a {
      border: 1px solid #ddd;
      text-align: center;
      display: block;
      width: 100%;
      height: 50px;
      line-height: 50px;
    }

    #news-next-prev-post .title-area {
      display: block;
      position: relative;
      left: auto;
      top: auto;
      transform: translateY(0%)
    }

    #news-next-prev-post .prev-post .title-area {
      padding: 0
    }

    #news-next-prev-post .next-post .title-area {
      padding: 0
    }

    #news-next-prev-post .nav {
      display: block;
      font-size: 14px
    }

    #recent-news {
      width: auto;
      margin: 40px 0 0
    }

    #recent-news .headline {
      margin-bottom: 38px
    }
  }

  #blog-archive {
    padding: 0 0 100px;
    width: auto;
    border: none
  }

  #blog-list .image-link {
    width: 50%;
    padding-right: 30px;
  }

  #blog-list .content {
    width: 50%;
    padding-left: 30px
  }

  @media screen and (max-width:950px) {
    #blog-list .item {
      height: 300px;
      padding: 40px
    }

    #blog-list .image-link {
      padding-right: 20px;
      height: 220px
    }

    #blog-list .content {
      padding-left: 20px;
      height: 220px
    }
  }

  @media screen and (max-width:750px) {
    #blog-archive {
      padding: 0 0 40px
    }

    body.no-page-nav #blog-archive {
      padding-bottom: 0;
      margin-bottom: -1px
    }

    #blog-archive .square-headline.inview {
      top: -20px
    }

    #blog-archive .square-headline.inview.animate {
      top: -60px
    }

    #blog-list {
      display: block
    }

    #blog-list .item {
      height: auto;
      padding: 20px 20px 12px
    }

    #blog-list .image-link {
      width: 100%;
      padding: 0;
      margin: 0 0 20px
    }

    #blog-list .content {
      width: 100%;
      padding: 0;
      height: auto
    }

    #blog-list .content-inner {
      position: relative;
      top: auto;
      transform: translateY(0%)
    }

    #blog-list .meta {
      margin-bottom: 12px
    }

    #blog-list .category a,
    #blog-list .pr-label {
      font-size: 11px;
      min-width: 80px;
      height: 25px;
      line-height: 26px;
      padding: 0 15px
    }

    #blog-list .date {
      font-size: 12px;
      height: 25px;
      line-height: 26px
    }

    #blog-list .desc {
      display: none;
      margin: 7px 0 0
    }
  }

  @media screen and (max-width:550px) {
    #blog-list .image-link {
      height: 180px
    }
  }

  body.author .author-profile {
    width: auto;
    margin: 0 0 60px;
    padding: 60px 60px 0
  }

  @media screen and (max-width:950px) {
    body.author .author-profile {
      margin: 0 0 40px;
      padding: 40px 40px 0
    }
  }

  @media screen and (max-width:750px) {
    body.author .author-profile {
      padding: 40px 20px 0
    }

    body.author .author-profile .avatar-area {
      width: 90px;
      height: 90px
    }

    body.author .author-profile .info {
      width: calc(100% - 90px)
    }
  }

  @media screen and (max-width:750px) {
    .page-navi {
      margin: 40px 20px 1px
    }

    .page-navi li {
      margin-bottom: -1px
    }

    .page-navi .next,
    .page-navi .prev {
      display: none
    }

    .page-navi a,
    .page-navi a:hover,
    .page-navi span {
      width: 45px;
      height: 45px;
      line-height: 45px
    }
  }

  #page-header {
    height: 500px
  }

  #page-header-inner {
    width: 100% !important;
    padding: 0 60px;
  }

  @media screen and (max-width:750px) {
    #page-header {
      height: 350px
    }

    #page-header-inner {
      padding: 0 30px
    }

    #page-header .desc {
      font-size: 15px;
      margin: 10px 0 -5px
    }

    #page-header .bg-image.pc {
      display: none
    }

    #page-header .bg-image.mobile {
      display: block
    }
  }

  @media screen and (max-width:550px) {
    #page-header {
      height: 250px
    }
  }

  @media screen and (max-width:750px) {
    #archive-square-headline {
      width: 120px;
      height: 120px;
      top: -60px;
      margin-bottom: -20px
    }
  }

  @media screen and (max-width:750px) {
    .archive-desc {
      line-height: 2;
      margin: -25px 0 34px;
      text-align: center;
      padding: 0 20px
    }
  }

  #header {
    height: 60px;
    transition: opacity .35s ease
  }

  .use-mobile-header-fix #header:after {
    content: '';
    display: block;
    width: 100%;
    height: 60px;
    background: #000;
    top: -60px;
    left: 0;
    position: absolute;
    z-index: 1;
    transition: all .6s cubic-bezier(.22, 1, .36, 1) 0s
  }

  #header.active:after {
    top: 0
  }

  .open-menu #header {
    opacity: 0
  }

  .mobile body.header-fix-mobile #header {
    position: fixed;
    top: 0;
    left: 0;
    animation: shadow_animation .7s ease forwards .2s
  }

  .mobile body.header-fix-mobile #header:after {
    top: 0 !important
  }

  .mobile body.hide-global-menu.header-fix-mobile #header {
    position: absolute
  }

  .mobile body.hide-global-menu.header-fix-mobile #header:after {
    display: none
  }

  .mobile body.single.header-fix-mobile {
    padding-top: 60px
  }

  .mobile body.single.header-fix-mobile #header:before {
    display: none
  }

  .mobile body.single.header-fix-mobile #header.active:after {
    display: block
  }

  .mobile body.hide-header-image.header-fix-mobile {
    padding-top: 60px
  }

  .mobile body.hide-header-image.header-fix-mobile #header.active:after {
    display: block
  }

  .mobile body.hide-header-logo.hide-global-menu.hide-header-image.header-fix-mobile {
    padding-top: 0
  }

  #header-logo a {
    height: 60px;
    line-height: 60px;
    padding: 0 20px !important
  }

  #header-logo .logo-image.pc {
    display: none
  }

  #header-logo .logo-image.mobile {
    display: block
  }

  #index-header-logo {
    left: 20px;
    top: 20px
  }

  @media screen and (max-width:750px) {
    #index-header-logo .logo-image.mobile {
      display: block
    }

    #index-header-logo .logo-image.pc {
      display: none
    }
  }

  #global-menu-button {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    display: inline-block;
    font-size: 11px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-decoration: none;
    text-align: center
  }

  #global-menu-button span {
    width: 22px;
    height: 2px;
    background: #000;
    display: block;
    position: absolute;
    transition-property: background-color;
    transition-duration: .2s;
    transition-timing-function: ease;
    transition: all .3s ease
  }

  .home #global-menu-button span {
    background: #fff;
  }

  #global-menu-button span:nth-child(1) {
    top: 24px;
    left: 20px
  }

  #global-menu-button span:nth-child(2) {
    top: 30px;
    left: 20px
  }

  #global-menu-button span:nth-child(3) {
    top: 36px;
    left: 20px
  }

  #global-menu-button:hover span {
    opacity: .5
  }

  body.home #global-menu-button {
    opacity: 0
  }

  body.home #global-menu-button.animate {
    animation: opacityAnimation 1s ease forwards 0s
  }

  body.stop-index-slider-animation #global-menu-button {
    opacity: 1
  }

  body.hide-global-menu #global-menu-button {
    display: none !important
  }

  #header.active #global-menu-button span {
    background: #000 !important
  }

  body.single #global-menu-button span {
    background: #000 !important
  }

  body.hide-header-image #global-menu-button span,
  body.no-index-header-content #global-menu-button span {
    background: #000
  }

  .megamenu {
    display: none
  }

  #header #global-menu {
    display: none
  }

  #mobile_menu {
    width: 100%;
    margin: 0
  }

  #mobile_menu ul {
    margin: 0
  }

  #mobile_menu li ul {
    display: none
  }

  #mobile_menu a {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 60px 0 20px;
    height: 60px;
    line-height: 60px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    font-size: 13px;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible
  }

  #mobile_menu a:hover {
    color: #fff
  }

  #mobile_menu ul ul a {
    padding-left: 32px
  }

  #mobile_menu ul ul ul a {
    padding-left: 47px
  }

  #mobile_menu ul ul ul ul a {
    padding-left: 60px
  }

  #mobile_menu li {
    position: relative
  }

  #mobile_menu .child-menu-button {
    display: block;
    position: absolute;
    text-align: center;
    width: 60px;
    height: 60px;
    right: 0;
    top: -1px;
    z-index: 9;
    cursor: pointer
  }

  #mobile_menu .child-menu-button .icon:before {
    content: "";
    width: 8px;
    height: 8px;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: translateX(-50%) rotate(-45deg);
    position: absolute;
    top: 25px;
    left: 50%;
  }

  #mobile_menu .child-menu-button:hover {
    background: rgba(0, 0, 0, .2)
  }

  #header-search {
    display: none
  }

  #footer-search {
    max-width: 300px;
    height: 45px;
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, .2);
    margin: 30px auto
  }

  #footer-search .input-area input {
    width: calc(100% - 45px);
    color: #fff;
    height: 45px;
    padding: 0 10px;
    border: none;
    background: 0 0;
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
  }

  #footer-search:hover .input-area input,
  #footer-search.active .input-area input {
    left: 0
  }

  #footer-search .button input {
    background: 0 0;
    width: 45px;
    height: 45px;
    border: none;
    position: absolute;
    right: 0;
    pointer-events: none;
    z-index: 2
  }

  #footer-search .button label {
    background: 0 0;
    display: block;
    width: 45px;
    height: 45px;
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/icon/icon-search-white.svg) no-repeat;
    background-size: 15px;
    background-position: center;
    cursor: pointer;
    z-index: 2
  }

  @media screen and (max-width:450px) {
    #footer-search {
      margin: 30px 20px
    }
  }

  #mobile-banner img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto
  }

  #mobile-banner .banner {
    margin: 20px
  }

  #header-message {
    padding: 10px 0;
    z-index: 2000
  }

  #header-message .post-content {
    width: auto !important;
    margin: 0 20px !important
  }

  #header-message.show-close-button .post-content {
    margin: 0 40px !important
  }

  @media screen and (max-width:750px) {
    #header-message .post-content {
      line-height: 1.8
    }

    #header-message.show-close-button .post-content {
      margin: 0 35px !important
    }
  }

  @media screen and (max-width:950px) {
    #post-image {
      height: 350px
    }
  }

  @media screen and (max-width:750px) {
    #post-title {
      margin-bottom: 20px
    }

    #post-title .category {
      font-size: 11px;
      margin: 0 0 10px;
      min-width: 80px;
      height: 25px;
      line-height: 25px;
      padding: 0 15px
    }

    #post-title .date {
      font-size: 12px
    }

    #post-title .update {
      font-size: 12px;
      position: relative;
      padding: 0 0 0 29px;
      color: #999;
      margin: 0 0 0 10px
    }

    #post-title .update:before {
      font-size: 14px;
      top: 0;
      left: 10px
    }

    #post-title .meta-top {
      margin: 10px 0 0
    }

    #post-image {
      width: calc(100% + 40px);
      height: 300px;
      margin: 0 -20px 40px
    }

    #post-image-wrap {
      width: calc(100% + 40px);
      position: relative;
      margin: 0 -20px 33px;
      padding-top: 64%
    }

    #post-image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      margin: 0
    }
  }

  @media screen and (max-width:750px) {
    #single-share-top {
      margin: 0 0 40px
    }

    #single-share-bottom {
      margin: 40px 0 0
    }

    #single-share-bottom .share-btm {
      margin-bottom: 0 !important;
      padding: 0
    }

    #single-share-top .mt10,
    #single-share-top .mt10 {
      margin: 0 !important
    }

    #single-share-bottom .mb45,
    #single-share-bottom .mb45 {
      margin: 0 !important
    }

    .share-type1 ul {
      text-align: center;
      margin-bottom: -5px !important
    }

    .share-type3 ul {
      text-align: center;
      margin-bottom: -5px !important
    }

    .share-type2 ul.type2 {
      text-align: center;
      margin-bottom: -5px !important
    }

    .share-type4 ul.type4 {
      text-align: center;
      margin-bottom: -5px !important
    }

    .sns-default-top {
      text-align: center;
      margin-bottom: -5px !important
    }
  }

  @media screen and (max-width:750px) {
    #single-copy-title-url-top {
      margin: 0 0 30px
    }

    #single-copy-title-url-bottom {
      margin: 40px 0 0
    }

    .single-copy-title-url-btn {
      border-width: 2px;
      font-size: 12px;
      line-height: 46px;
      min-width: 250px
    }
  }

  #post-meta-bottom {
    padding: 15px 20px 13px
  }

  #post-meta-bottom li {
    display: block;
    margin: 0 0 5px;
    padding: 0 0 0 25px;
    border-right: none
  }

  #post-meta-bottom li:last-child {
    border: none;
    margin: 0
  }

  #post-meta-bottom li:before {
    line-height: 1.5
  }

  @media screen and (max-width:750px) {
    #post-meta-bottom {
      margin: 40px 0 0
    }
  }

  @media screen and (max-width:750px) {
    #post-pagination {
      padding: 5px 0 0
    }

    #post-pagination a,
    #post-pagination p {
      font-size: 12px;
      width: 45px;
      height: 45px;
      line-height: 45px
    }

    #p-readmore {
      padding: 5px 0 0;
      margin: 0
    }
  }

  @media screen and (max-width:750px) {
    .author-profile {
      padding: 20px 20px 15px
    }

    body.single .author-profile {
      margin: 40px 0 0
    }

    .author-profile .avatar-area {
      width: 90px;
      height: 90px
    }

    .author-profile .info {
      width: calc(100% - 90px)
    }

    .author-profile .info-inner {
      padding: 0 0 0 20px
    }

    .author-profile .name {
      font-size: 18px;
      margin: 0 0 7px
    }

    .author-profile .author-link {
      margin-top: 5px
    }

    .author-profile .desc {
      font-size: 12px !important
    }

    body.single .author-profile .desc {
      line-height: 2
    }
  }

  @media screen and (max-width:750px) {
    #single-banner-top {
      width: auto
    }

    #single-banner-bottom {
      width: auto;
      margin: 40px 0 -5px
    }

    #single-banner-shortcode {
      padding: 0 0 20px
    }
  }

  #next-prev-post {
    margin: 40px 0 0;
    padding-right: 0
  }

  @media screen and (max-width:750px) {
    #next-prev-post {
      border: none;
      margin: 40px 0 0
    }

    #next-prev-post .item {
      height: 52px;
      margin: 0;
      padding: 0 !important
    }

    #next-prev-post .item:first-of-type {
      border-right: none
    }

    #next-prev-post .item:last-of-type {
      margin-left: -1px
    }

    #next-prev-post a {
      height: 50px;
      line-height: 50px;
      border: 1px solid #ddd;
      position: relative;
      background: #fff;
    }

    #next-prev-post .image-wrap {
      display: none
    }

    #next-prev-post .title-area {
      position: relative;
      bottom: auto;
      left: auto;
      color: #000;
      padding: 0
    }

    #next-prev-post .title {
      display: none
    }

    #next-prev-post .nav {
      display: block;
      text-align: center
    }

    #next-prev-post a:before {
      content: "";
      font-size: 11px;
      top: 1px;
      left: 15px;
      position: absolute;
      background: 0 0;
      width: auto;
      height: auto;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale
    }

    #next-prev-post .next-post a:before {
      content: '\e910';
      left: auto;
      right: 15px
    }
  }

  #related-post {
    margin: 70px 0 -20px;
    padding: 0
  }

  #related-post .design-headline2 {
    margin: 0 0 70px !important
  }

  @media screen and (max-width:750px) {
    #related-post {
      margin: 40px 0 -20px
    }

    #related-post .design-headline2 {
      font-size: 18px;
      margin: 0 -20px 40px !important
    }

    #related-post .item {
      width: calc(50% - 4px);
      margin: 0 8px 17px 0
    }

    #related-post .item:nth-of-type(3n) {
      margin-right: 8px
    }

    #related-post .item:nth-of-type(2n) {
      margin-right: 0
    }

    #related-post .image-wrap {
      margin: 0 0 13px;
      height: 120px
    }

    #related-post .title {
      max-height: 4.8em
    }

    #related-post .title span {
      -webkit-line-clamp: 3
    }
  }

  @media screen and (max-width:550px) {
    #related-post .image-wrap {
      height: 90px
    }
  }

  #page-404-header .content {
    padding: 0 30px
  }

  @media screen and (max-width:750px) {
    #footer-top {
      padding: 40px 0 35px
    }

    #footer-logo .logo-image.pc {
      display: none
    }

    #footer-logo .logo-image.mobile {
      display: block
    }
  }

  #footer-sns {
    margin: 30px 0 0;
    position: relative;
    right: auto;
    top: auto
  }

  @media screen and (max-width:750px) {
    #footer-sns {
      margin: 30px 0 0
    }
  }

  #footer-menu {
    width: auto
  }

  #footer-menu .footer-menu {
    padding: 0 60px 40px;
    flex: 1 0 auto;
    width: 50%;
    border: none;
    border-right: 1px solid #ddd
  }

  #footer-menu .footer-menu:nth-child(2n) {
    border-right: none
  }

  @media screen and (max-width:950px) {
    #footer-menu .footer-menu {
      padding: 0 40px 23px
    }
  }

  @media screen and (max-width:750px) {
    #footer-menu .footer-menu {
      padding: 0 20px 20px;
      border: none
    }

    #footer-menu .footer-menu li:first-of-type {
      font-size: 14px;
      margin: 0 0 13px
    }
  }

  #footer-menu-bottom {
    height: auto;
    line-height: inherit
  }

  #footer-menu-bottom ul {
    padding: 14px 0
  }

  #footer-menu-bottom li {
    line-height: 1;
    font-size: 14px;
    display: inline-block;
    margin: 0 20px
  }

  #footer-menu-bottom li a {
    display: block;
    padding: 10px 0
  }

  @media screen and (max-width:950px) {
    #footer-menu-bottom li {
      font-size: 12px;
      margin: 0 10px
    }
  }

  #footer-banner .item {
    height: 140px
  }

  #footer-banner .title-area {
    padding: 0 30px
  }

  @media screen and (max-width:950px) {
    #footer-banner .item {
      height: 140px;
      width: 50%;
      flex: 1 0 auto
    }

    #footer-banner .title-area {
      padding: 0 40px
    }
  }

  @media screen and (max-width:750px) {
    #footer-banner .item {
      height: 100px
    }

    #footer-banner .title-area {
      padding: 0 20px
    }

    #footer-banner .sub-title {
      margin-top: 10px
    }
  }

  @media screen and (max-width:750px) {
    #copyright {
      line-height: 50px;
      height: 50px
    }
  }

  #return-top2 {
    display: none
  }

  #return-top {
    display: block !important
  }


  body.show-footer-bar {
    padding-bottom: 0
  }

  body.show-footer-bar #return-top.active {
    transform: translate3d(0, -50px, 0)
  }

  body.home.show-footer-bar #container {
    padding-bottom: 0
  }

  @media screen and (max-width:950px) {
    body.show-footer-bar #footer-button.active {
      transform: translate3d(0, -50px, 0)
    }
  }

  .widget-content {
    width: calc(50% - 20px);
    margin: 0 40px 40px 0;
    padding: 0;
    border: none
  }

  .widget-content:nth-child(2n) {
    margin-right: 0
  }

  .widget-headline {
    background: #00729f;
    color: #fff;
    height: 60px;
    line-height: 60px;
    padding: 0 20px
  }

  @media screen and (max-width:900px) {

    .widget-content,
    .widget-content:nth-child(2n) {
      width: auto;
      margin: 0 0 40px
    }

    .widget-content:last-of-type {
      margin: 0
    }
  }

  @media screen and (max-width:550px) {
    .widget-content {
      border-top: 1px solid #ddd;
      padding: 40px 20px 0;
      margin: 0 -20px 40px !important
    }

    .widget-headline {
      background: 0 0;
      color: #00729f;
      height: inherit;
      line-height: 1;
      padding: 0
    }
  }

  .category-list-widget {
    margin-top: 0
  }

  .category-list-widget .square-headline {
    height: auto;
    line-height: 1;
    padding: 0 20px;
    position: relative;
    z-index: 2
  }

  .category-list-widget .square-headline h3 {
    height: 60px;
    line-height: 60px;
    position: relative;
    top: auto;
    transform: translateY(0%);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .category-list-widget .square-headline .headline {
    font-size: 18px
  }

  .category-list-widget .square-headline .sub-headline {
    font-size: 12px
  }

  .category-list-widget ul {
    z-index: 1;
    position: relative
  }

  .category-list-widget li a {
    border: 1px solid #ddd;
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    margin-top: -1px
  }

  .category-list-widget li li a {
    padding-left: 34px
  }

  .category-list-widget li li li a {
    padding-left: 48px
  }

  .category-list-widget li a:hover {
    padding-left: 30px
  }

  .category-list-widget li li a:hover {
    padding-left: 44px
  }

  .category-list-widget li li li a:hover {
    padding-left: 58px
  }

  @media screen and (max-width:550px) {
    .category-list-widget .square-headline h3 {
      height: 50px;
      line-height: 50px
    }
  }

  .widget-tab-post-list-button div {
    height: 50px;
    line-height: 50px;
    font-size: 14px
  }

  .widget-tab-post-list {
    top: 50px;
    left: 0;
    width: 100%
  }

  .widget-tab-post-list .image-wrap {
    width: 100px;
    height: 100px
  }

  .widget-tab-post-list .title-area {
    width: calc(100% - 100px)
  }

  @media screen and (max-width:550px) {
    .widget-tab-post-list {
      top: 90px;
      left: 20px;
      width: calc(100% - 40px)
    }
  }

  .styled-post-list1-widget {
    padding: 0
  }

  .styled-post-list1-widget .widget-headline {
    height: 60px;
    line-height: 60px;
    font-size: 18px;
    background: #00729f;
    color: #fff;
    padding: 0 20px;
    border: none;
    margin: 0
  }

  .styled-post-list1 li {
    margin: 0;
    border: 1px solid #ddd;
    border-bottom: none
  }

  .styled-post-list1 li:last-child {
    border-bottom: 1px solid #ddd
  }

  .styled-post-list1 a {
    padding: 20px
  }

  .styled-post-list1 .image-wrap {
    width: 100px;
    height: 100px
  }

  .styled-post-list1 .title-area {
    width: calc(100% - 100px);
    height: 100px
  }

  @media screen and (max-width:550px) {
    .styled-post-list1-widget {
      margin: 0 -20px -1px !important
    }

    .styled-post-list1 li {
      border: none;
      border-bottom: 1px solid #ddd
    }
  }

  .post-slider-widget {
    border: 1px solid #ddd;
    padding: 20px;
    height: 235px;
  }

  .post-slider-nav {
    margin-left: 0
  }

  @media screen and (max-width:550px) {
    .post-slider-widget {
      height: inherit;
      border: none;
      border-top: 1px solid #ddd;
      padding: 40px 20px;
      margin: 0 -20px 0 !important
    }
  }

  .tcd-banner-widget .banner-inner {
    border: 1px solid #ddd;
    padding: 20px;
  }

  .tcd-banner-widget .headline {
    font-size: 20px
  }

  .tcd-banner-widget .sub-headline {
    font-size: 12px
  }

  @media screen and (max-width:550px) {
    .tcd-banner-widget {
      padding: 20px;
      margin: 0 -20px !important
    }

    .tcd-banner-widget .banner-inner {
      border: none;
      padding: 0
    }
  }

  @media screen and (max-width:750px) {
    .p-dropdown--title {
      height: 50px;
      line-height: 50px
    }
  }

  @media screen and (max-width:750px) {
    #searchform {
      height: 50px
    }

    #searchform #s {
      height: 50px
    }

    #searchform #searchsubmit {
      height: 50px
    }

    #searchform .submit-button {
      height: 50px
    }

    #searchform .submit-button:before {
      height: 50px;
      line-height: 50px
    }
  }

  #comments {
    margin: 70px 0 0;
    padding: 0
  }

  #comments .design-headline2 {
    margin: 0 0 70px !important
  }

  @media screen and (max-width:750px) {
    #comments {
      margin: 40px 0 0
    }

    #comments .design-headline2 {
      font-size: 18px;
      margin: 0 -20px 35px !important
    }
  }

  #comment-tab li a,
  #comment-tab li p {
    padding: 14px 15px;
    font-size: 12px
  }

  @media screen and (max-width:750px) {

    #comment-tab li a,
    #comment-tab li p {
      background: #eee
    }
  }

  @media screen and (max-width:750px) {

    .post-content h1,
    .post-content h2,
    .post-content h3,
    .post-content h4,
    .post-content h5,
    .post-content h6 {
      margin: 0 0 5px
    }

    .post-content p {
      line-height: 2
    }

    .post-content li,
    .post-content dt,
    .post-content dd {
      line-height: 1.8
    }

    .post-content td,
    .post-content th {
      line-height: 1.8;
      padding: 14px 20px
    }
  }

  .c-pw--box {
    padding: 20px;
    margin: 0 0 20px
  }

  .c-pw--box-label {
    display: block;
    margin: 0 0 15px;
    text-align: center
  }

  .c-pw--box-input {
    width: calc(100% - 160px);
    margin: 0 10px 0 0;
  }

  .c-pw--btn--submit {
    width: 150px;
    min-width: inherit;
  }

  @media screen and (max-width:750px) {
    .c-pw--box {
      padding: 15px
    }

    .c-pw--box-input {
      width: calc(100% - 105px);
      margin-right: 5px
    }

    .c-pw--btn--submit {
      width: 100px
    }
  }

  .cardlink {
    margin: 30px 0 35px !important;
    padding: 15px
  }
}

.square-headline .headline {
  font-size: 24px
}

.square-headline .sub-headline {
  font-size: 14px
}

@media screen and (max-width:750px) {
  .square-headline .headline {
    font-size: 18px
  }

  .square-headline .sub-headline {
    font-size: 12px
  }
}

#global-menu>ul>li>a:hover,
body.single #global-menu>ul>li.current-menu-item>a,
body.single #global-menu>ul>li.active>a,
#header.active #global-menu>ul>li.current-menu-item>a,
#header.active #global-menu>ul>li.active>a,
body.hide-header-image #global-menu>ul>li.current-menu-item>a,
body.no-index-header-content #global-menu>ul>li.current-menu-item>a {
  color: #5a5bc4 !important
}

#global-menu ul ul a {
  color: #fff;
  background: #5a5bc4
}

#global-menu ul ul a:hover {
  color: #fff;
  background: #bf1542
}

#global-menu ul ul li.menu-item-has-children>a:before {
  color: #fff
}

.mobile #header:after {
  background: rgba(255, 255, 255, 1)
}

.mobile #header:hover:after {
  background: rgba(255, 255, 255, 1)
}

.mobile body.home.no-index-header-content #header {
  background: rgba(255, 255, 255, 1)
}

#drawer-menu {
  color: #fff;
  background: #000
}

#drawer-menu a {
  color: #fff
}

#drawer-menu a:hover {
  color: #bf1542
}

#mobile_menu a {
  color: #fff;
  border-color: #444
}

#mobile_menu li li a {
  background: #333
}

#mobile_menu a:hover,
#drawer-menu .close-button:hover,
#mobile_menu .child-menu-button:hover {
  color: #fff;
  background: #444
}

#mobile_menu .child-menu-button .icon:before,
#mobile_menu .child-menu-button:hover .icon:before {
  color: #fff
}

.megamenu .headline-area h3 .headline {
  font-size: 24px
}

.megamenu-b .service-item-list .item a:after {
  background: rgba(0, 0, 0, .5)
}

#footer-banner a {
  color: #fff !important
}

#footer-banner .title {
  font-size: 24px
}

#footer-banner .sub-title {
  font-size: 14px
}

@media screen and (max-width:750px) {
  #footer-banner .title {
    font-size: 18px
  }

  #footer-banner .sub-title {
    font-size: 12px
  }
}

.author-profile .avatar-area img,
.animate-image img,
.animate-background .image {
  width: 100%;
  height: auto;
  transition: transform .5s ease
}

.author-profile a.avatar:hover img,
.animate-image:hover img,
.animate-background:hover .image {
  transform: scale(1.2)
}

a {
  color: #000
}

#footer-menu .footer-menu li:first-of-type a,
#return-top2 a:hover:before,
.tcd-banner-widget .headline,
.post-slider-widget .slick-arrow:hover:before,
#post-title2 .title,
#service-banner .main-title,
.megamenu .headline-area h3 .headline,
.news-category-list li.active a,
.news-category-sort-button li.active a,
.sns-button-list.color-type2 li.contact a:before,
.tab-content-top .tab .item.active,
.tab-content .tab-content-bottom .title,
.section--headline .headline,
.faq-list .question.active,
.faq-list .question:hover,
.author-profile .author-link li.contact a:before,
.author-profile .author-link li.user-url a:before {
  color: #5a5bc4
}

.square-headline,
.page-navi span.current,
#post-pagination p,
#comment-tab li.active a,
.news-category-list li.active a:before,
.news-category-sort-button li.active a:before,
.tab-content-bottom .slick-dots button:hover:before,
.tab-content-bottom .slick-dots .slick-active button:before,
.faq-list .question.active:before,
.faq-list .question:hover:before,
.faq-list .question:hover:after,
#return-top a {
  background: #5a5bc4
}

.page-navi span.current,
#post-pagination p,
.design-headline2 span.title,
#post-title2 .title,
.project-list .category,
#project-title-area .category {
  border-color: #5a5bc4
}

.category-list-widget li.current-menu-item a,
.category-list-widget li.current-menu-parent a {
  background: rgba(30, 115, 190, .5);
  border-color: #fff;
  color: #fff
}

a:hover,
#footer-top a:hover,
#footer-social-link li a:hover:before,
#footer-menu .footer-menu li:first-of-type a:hover,
#next-prev-post a:hover,
#bread-crumb li a:hover,
#bread-crumb li.home a:hover:before,
.single-copy-title-url-btn:hover,
.tcdw-search-box-widget .search-area .search-button:hover:before,
.widget-tab-post-list-button div:hover,
#single-author-title-area .author-link li a:hover:before,
.author-profile a:hover,
#post-meta-bottom a:hover,
.cardlink-title a:hover,
.comment a:hover,
.comment-form-wrapper a:hover,
#searchform .submit-button:hover:before,
.p-dropdown--title:hover:after {
  color: #bf1542
}

.page-navi a:hover,
#post-pagination a:hover,
#p-readmore .button:hover,
.c-pw--btn:hover,
#comment-tab li a:hover,
#submit-comment:hover,
#cancel-comment-reply a:hover,
#wp-calendar #prev a:hover,
#wp-calendar #next a:hover,
#wp-calendar td a:hover,
#comment-tab li a:hover,
#return-top a:hover {
  background-color: #bf1542
}

.page-navi a:hover,
#post-pagination a:hover,
#comment-textarea textarea:focus,
.c-pw--box-input:focus {
  border-color: #bf1542
}

.post-content a,
.custom-html-widget a {
  color: #825b18
}

.post-content a:hover,
.custom-html-widget a:hover {
  color: #bf1542
}

.design-button.type2 a,
.design-button.type3 a {
  color: #5a5bc4 !important;
  border-color: #5a5bc4;
}

.design-button.type2 a:hover,
.design-button.type3 a:hover {
  color: #fff !important;
  border-color: #5a5bc4;
}

.design-button.type2 a:before,
.design-button.type3 a:before {
  background: #5a5bc4;
}

.cat-id2 {
  background-color: #5a5bc4
}

.cat-id2:hover {
  background-color: #bf1542
}

.cat-id3 {
  background-color: #5a5bc4
}

.cat-id3:hover {
  background-color: #bf1542
}

#return-top {
  display: block !important
}

#global-menu ul {
  text-align: right;
  margin-right: 50px
}

.responsive-iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1
}

@media (min-width:992px) {
  .responsive-iframe {
    height: 600px
  }
}

.styled-h2 {
  font-size: 26px !important;
  text-align: left;
  color: #fff;
  background: #000;
  border-top: 0 solid #ddd;
  border-bottom: 0 solid #ddd;
  border-left: 0 solid #ddd;
  border-right: 0 solid #ddd;
  padding: 15px !important;
  margin: 0 0 30px !important
}

@media screen and (max-width: 750px) {
  .styled-h2 {
    font-size: 20px !important;
  }
}

.styled-h3 {
  font-size: 22px !important;
  text-align: left;
  color: #000;
  border-top: 0 solid #ddd;
  border-bottom: 0 solid #ddd;
  border-left: 2px solid #000;
  border-right: 0 solid #ddd;
  padding: 6px 0 6px 16px !important;
  margin: 0 0 30px !important
}

.styled-h4 {
  font-size: 18px !important;
  text-align: left;
  color: #000;
  border-top: 0 solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 0 solid #ddd;
  border-right: 0 solid #ddd;
  padding: 3px 0 3px 20px !important;
  margin: 0 0 30px !important
}

.styled-h5 {
  font-size: 14px !important;
  text-align: left;
  color: #000;
  border-top: 0 solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 0 solid #ddd;
  border-right: 0 solid #ddd;
  padding: 3px 0 3px 24px !important;
  margin: 0 0 30px !important
}

.q-custom-button1 {
  color: #fff !important;
  border-color: rgba(83, 83, 83, 1)
}

.q-custom-button1.animation-type1 {
  background: #535353
}

.q-custom-button1:hover,
.q-custom-button1:focus {
  color: #fff !important;
  border-color: rgba(125, 125, 125, 1)
}

.q-custom-button1.animation-type1:hover {
  background: #7d7d7d
}

.q-custom-button1:before {
  background: #7d7d7d
}

.q-custom-button2 {
  color: #fff !important;
  border-color: rgba(83, 83, 83, 1)
}

.q-custom-button2.animation-type1 {
  background: #535353
}

.q-custom-button2:hover,
.q-custom-button2:focus {
  color: #fff !important;
  border-color: rgba(125, 125, 125, 1)
}

.q-custom-button2.animation-type1:hover {
  background: #7d7d7d
}

.q-custom-button2:before {
  background: #7d7d7d
}

.slick-slider {
  position: relative;
  display: block;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: none
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px
}

[dir=rtl] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.movie-section {
  width: 1150px;
  margin: 0 auto;
  padding: 0 130px;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

@media screen and (max-width: 1201px) {
  .movie-section {
    width: auto;
    padding: 0 60px;
    border: none;
  }
}

.wpcf7 {
  width: 100%;
  margin: 0 0 2.5em !important;
  padding: 0;
  border: 1px solid #ddd;
  background: #fafafa;
  font-size: 14px
}

.CF7_table {
  margin-top: 20px !important;
}

.CF7_table th {
  vertical-align: middle;
}

.wpcf7 form {
  margin: 1.5em 1.5em 0
}

.wpcf7 p {
  margin-bottom: 1em;
  font-size: 14px;
}

.wpcf7 input,
.wpcf7 textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  line-height: 1.2
}

.wpcf7 select,
.wpcf7 input[type=checkbox],
.wpcf7 input[type=radio] {
  width: auto;
  max-width: 97%;
  padding: 8px;
  border: 1px solid #ccc
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
  font-size: 14px;
  line-height: 1.2
}

.wpcf7 .wpcf7-list-item {
  display: block
}

.wpcf7 textarea {
  height: 300px
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border: 1px solid #bbb;
  outline: none
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 225px;
  height: 48px;
  margin: 30px auto 0;
  border: none !important;
  outline: none;
  background-color: #333;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all .3s
}

.wpcf7 .wpcf7-submit:before,
.wpcf7 .wpcf7-submit:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-previous:hover {
  background-color: #666
}

.wpcf7 .wpcf7-submit .wpcf7-not-valid {
  background: pink
}

.wpcf7 .wpcf7-submit .wpcf7-response-output {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  border-radius: 4px
}

.wpcf7 .wpcf7-submit .wpcf7-validation-errors {
  border: 1px solid #eed3d7;
  background-color: #f2dede;
  color: #b94a48
}

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok {
  border: 1px solid #bce8f1;
  background-color: #d9edf7;
  color: #3a87ad
}

.wpcf7 .wpcf7-previous+br {
  display: none
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em .5em 2em;
  padding: 0;
  border: none;
  text-align: center
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  color: #dc3232;
  font-size: 1em
}

.wpcf7 {
  color: #000
}

input[type=checkbox] {
  -webkit-appearance: checkbox;
}

.is-type-video .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
}

.is-type-video iframe {
  width: 100%;
  height: 100%;
}

.tablepress .column-1 {
  min-width: 5em;
}