/* ==================================================
 
   User Setting UTAUDESIGN

================================================== */
body {
  animation: body-fadein 3s ease 0s 1 normal;
}

@keyframes body-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#body-wrapper {
  position: relative;
}

.home #main section {
  padding-top: 5.625rem;
}

/* ---------------------------------------------
   Hearder
--------------------------------------------- */
#header {
  position: relative;
  z-index: 1500;
}

#header .outer {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid #d4dbe1;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  position: fixed; /* fixmenu fixvisual解除する場合削除 */
  top: 0;
}

#header .logo {
  margin: 0 auto 0 0;
  padding: 0 0 0 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#header .homelink {
  margin-right: auto;
  line-height: 1;
  display: block;
}

.icon.icon-gnav-logo {
  width: 215px;
  height: 50px;
  transition: all 0.3s;
}

@media (max-width: 992px) {
  #header .logo {
    padding-left: 1.5rem;
  }
}

@media (max-width: 576px) {
  #header .logo {
    padding-left: 1rem;
  }
  #header .icon-gnav-logo {
    width: 146px;
    height: 32px;
  }
}

.icon.icon-gnav-logo .logoset-ja {
  fill: #3c4549;
}

.icon.icon-gnav-logo .logoset-hiro {
  fill: #b6cf66;
}

.icon.icon-gnav-logo .logoset-miya {
  fill: #1c140e;
}

/* Gloval Navigation Part */
#gnav {
  display: flex;
  flex-direction: row;
}

#gnav .localnav {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

#gnav .localnav li {
  border-left: 1px solid #d4dbe1;
}

#gnav .localnav li a {
  height: 100px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

#gnav .localnav .phone a {
  width: 100px;
}

#gnav .localnav .number a {
  padding: 0 2.375rem;
}

#gnav .localnav .number a:hover {
  color: #fff;
}

@media (max-width: 992px) {
  #gnav .localnav .number {
    display: none;
  }
}

@media (max-width: 768px) {
  #gnav .localnav li a {
    height: 90px;
  }
  #gnav .localnav .phone a {
    width: 90px;
  }
}

@media (max-width: 576px) {
  #gnav .localnav li a {
    height: 60px;
  }
  #gnav .localnav .phone a {
    width: 60px;
  }
}

#gnav .localnav li a:hover {
  background: #b0ad2b;
}

#gnav .localnav li a:hover .icon-phone {
  fill: #fff;
}

#gnav .localnav .icon-gnav-phone {
  width: 17px;
  height: 29px;
  fill: #3c4549;
  transition: all 0.3s;
}

@media (max-width: 576px) {
  #gnav .localnav .icon-gnav-phone {
    width: 14px;
    height: 22px;
  }
}

#gnav .localnav .number a {
  color: #3c4549;
  font-size: 1.375rem;
  font-family: 'Cinzel', serif;
}

/* Global Navigation */
#gnav #menubox {
  width: 100px;
  z-index: 2000;
  position: relative;
}

@media (max-width: 768px) {
  #gnav #menubox {
    width: 90px;
  }
}

@media (max-width: 576px) {
  #gnav #menubox {
    width: 60px;
  }
}

#gnav .nav-toggle {
  width: 100%;
  height: 100%;
  background: #b0ad2b;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

#gnav .nav-toggle:hover {
  background: #1c140d;
}

#gnav .trigger-line {
  width: 25px;
  height: 21px;
  margin-bottom: 0.875rem;
  vertical-align: middle;
  display: block;
  position: relative;
}

@media (max-width: 576px) {
  #gnav .trigger-line {
    margin-bottom: 0;
  }
}

#gnav .trigger-line span,
#gnav .trigger-line span:before,
#gnav .trigger-line span:after {
  width: 100%;
  height: 2px;
  content: '';
  background: #fff;
  border-radius: 2px;
  position: absolute;
  transition: all 0.3s;
}

#gnav .trigger-line span {
  top: 0;
}

#gnav .trigger-line span:before {
  top: 9px;
}

#gnav .trigger-line span:after {
  top: 18px;
}

#gnav .trigger-txt {
  color: #fff;
  font-size: 0.75rem;
  font-family: 'Lora', serif;
  letter-spacing: 0;
  line-height: 1;
  transition: all 0.3s;
}

@media (max-width: 576px) {
  #gnav .trigger-txt {
    display: none;
  }
}

#gnav .nav-toggle.trigger-txt span {
  transition: all 0.3s;
}

#gnav .nav-toggle .trigger-txt span:nth-of-type(2),
#gnav .nav-toggle.active .trigger-txt span:nth-of-type(1) {
  opacity: 0;
  display: none;
}

#gnav .nav-toggle.active .trigger-txt span:nth-of-type(2) {
  opacity: 1;
  display: inline;
}

#gnav .nav-toggle.active .trigger-line span {
  transform: translateY(10px) rotate(-45deg);
}

#gnav .nav-toggle.active .trigger-line span:before {
  opacity: 0;
}

#gnav .nav-toggle.active .trigger-line span:after {
  transform: translateY(-18px) rotate(90deg);
}

#gnav .nav-contents {
  width: 100%;
  height: 100vh;
  background: #b0ad2b;
  display: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transform: scale(2, 2);
  transition: all 0.3s ease;
}

#gnav .nav-contents.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1, 1);
}

#gnav .nav-contents ul {
  height: 100%;
  padding: 0 12%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
}

#gnav .nav-contents ul li {
  width: 20%;
  height: 20%;
  border-right: 1px solid #b0ad2b;
  border-bottom: 1px solid #b0ad2b;
  display: block;
}

@media (max-width: 992px) {
  #gnav .nav-contents ul li {
    width: 25%;
    height: 17%;
  }
}

@media (max-width: 768px) {
  #gnav .nav-contents ul li {
    width: 33.333%;
    height: 15%;
  }
}

@media (max-width: 576px) {
  #gnav .nav-contents ul li {
    width: 50%;
    height: 13%;
  }
}

#gnav .nav-contents ul li a {
  width: 100%;
  height: 100%;
  background: #b0ad2b;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

#gnav .nav-contents ul li a:hover {
  background: #1c140d;
}

#gnav .nav-contents ul li a svg[class*='icon'] {
  width: 30px;
  height: 30px;
  fill: #fff;
}

#gnav .nav-contents ul li a p {
  margin: 0.75rem 0 0;
  color: #fff;
}

#gnav .nav-contents ul li a:hover p {
  color: ;
}

@media (max-width: 768px) {
  #gnav .nav-contents ul li a p {
    margin-top: 0.4375rem;
    font-size: 0.875rem;
  }
}

@media (max-width: 425px) {
  #gnav .nav-contents ul li a svg[class*='icon'] {
    width: 23px;
    height: 23px;
  }
}

/* ---------------------------------------------
   Visual
--------------------------------------------- */
#visual {
  width: 100%;
  height: 100vh;
  margin-bottom: 0;
  position: relative;
}

#visual .outer {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed; /* fixmenu fixvisual解除する場合relative */
}

#visual .copy {
  width: 80%;
  margin-top: 100px;
  padding: 2.5rem 10.625rem;
  background: rgba(22, 22, 20, 0.8);
  z-index: 3;
  animation: copy-fadein 3s ease-in 0s 1 normal;
}

@keyframes copy-fadein {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  #visual .copy {
    margin-top: 90px;
  }
}

@media (max-width: 576px) {
  #visual .copy {
    margin-top: 60px;
  }
}

#visual .copy h2,
#visual .copy h3 {
  color: #fff;
}

#visual .copy h2 {
  margin: 0 0 1rem;
  padding-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-shadow: 4px 4px 20px rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid #fff;
}

#visual .copy h3 {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
}

@media (max-width: 1324px) {
  #visual .copy h2 .pc {
    display: none;
  }
}

@media (max-width: 992px) {
  #visual .copy {
    padding: 2.5rem 5rem;
  }
}

@media (max-width: 768px) {
  #visual .copy {
    padding: 2.5rem 3.125rem;
  }
}

@media (max-width: 576px) {
  #visual .copy {
    padding: 1.8rem;
  }
  #visual .copy h2 {
    font-size: 1.375rem;
  }
  #visual .copy h3 {
    font-size: 0.8125rem;
  }
  #visual .copy h3 span {
    display: none;
  }
}

#visual .slideouter {
  width: 100%;
  height: 100%;
  position: absolute;
}

#visual .slide {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

#visual .slide .item {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  animation-iteration-count: infinite;
  animation-duration: 24s;
}

#visual .slide .item:nth-child(1) {
  animation-name: slide-zoomin;
  animation-delay: -3s;
}

#visual .slide .item:nth-child(2) {
  animation-name: slide-zoomin;
  animation-delay: 5s;
  opacity: 0;
}

#visual .slide .item:nth-child(3) {
  animation-name: slide-zoomin;
  animation-delay: 13s;
  opacity: 0;
}

@keyframes slide-zoomin {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  12.5% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  45.5% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: scale(1.15);
  }
}

/* ---------------------------------------------
   Index Page
--------------------------------------------- */
#main {
  background: #fff;
  position: relative;
}

/* Section Index Page Concept */

.sec-title {
  margin: 0 0 2.1875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.sec-title span {
  display: block;
}

.sec-title .pict {
  margin-bottom: 1rem;
}

.sec-title .pict .icon {
  width: 50px;
  height: 40px;
  fill: #343c48;
}

.sec-title .txt {
  margin-bottom: 1rem;
  padding-left: 65px;
  padding-right: 65px;
  color: #343c48;
  font-size: 1rem;
  font-family: 'gotham-book';
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
}

.sec-title .txt:before,
.sec-title .txt:after {
  content: '';
  width: 50px;
  height: 1px;
  background: #343c48;
  position: absolute;
  top: 7px;
}

.sec-title .txt:before {
  left: 0;
}

.sec-title .txt:after {
  right: 0;
}

.sec-body {
  margin: 0;
  text-align: center;
}

.sec-title-main {
  margin: 0 0 4rem;
  padding: 0 2rem;
  font-size: 1.875rem;
  color: #343c48;
  display: inline-block;
  position: relative;
}

.sec-title-main:before,
.sec-title-main:after {
  content: '';
  width: 14px;
  height: 26px;
  display: block;
  position: absolute;
}

.sec-title-main:before {
  top: 0;
  left: 0;
  background: url(../svg/symbol-defs.svg#kakko-start) no-repeat center center;
}

.sec-title-main:after {
  bottom: 0;
  right: 0;
  background: url(../svg/symbol-defs.svg#kakko-end) no-repeat center center;
}

#concept .sec-body .sec-txt {
  margin: 0px;
  padding-bottom: 1.5625rem;
  color: #3c4549;
  font-size: 0.9375rem;
  text-align: left;
}

@media (max-width: 425px) {
  .sec-title-main {
    font-size: 1.25rem;
  }
}

/* Index Page Separator */
#separator {
  height: 290px;
  padding: 0 !important;
  background: url(../images/separator-001-1.jpg) no-repeat center center;
  background-size: cover;
}

/* Section Index Page Service */
#service {
  padding-bottom: 0;
}

#service .sec-body {
  margin-bottom: 0;
}

#service .inner {
  padding: 0 5% 10vh 5%;
  background: linear-gradient(
    0deg,
    rgba(249, 245, 241, 1) 0%,
    rgba(249, 245, 241, 0) 70%
  );
}

#service .sec-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

#service .sec-list .list-item {
  width: 28.66%;
  height: 50vh;
  min-height: 200px;
  display: block;
  overflow: hidden;
}

#service .sec-list .list-item a {
  width: 100%;
  height: 100%;
  padding: 0 3.5rem;
  position: relative;
  display: block;
}

#service .sec-list .list-item a:after {
  content: '';
  width: 100%;
  height: 100%;
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  background-size: cover, cover;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  transition: all 0.7s ease-in-out;
}

#service .sec-list .list-item.sculp a:after {
  background-image: radial-gradient(
      rgba(255, 255, 255, 0.8) 20%,
      rgba(255, 255, 255, 0) 100%
    ),
    url(../images/service-thumb-001.jpg);
}

#service .sec-list .list-item.earthquake a:after {
  background-image: radial-gradient(
      rgba(255, 255, 255, 0.8) 20%,
      rgba(255, 255, 255, 0) 100%
    ),
    url(../images/service-thumb-002.jpg);
}

#service .sec-list .list-item.glass a:after {
  background-image: radial-gradient(
      rgba(255, 255, 255, 0.8) 20%,
      rgba(255, 255, 255, 0) 100%
    ),
    url(../images/service-thumb-003.jpg);
}

#service .sec-list .list-item a:hover:after {
  transform: scale(1.2);
}

@media (max-width: 1200px) {
  #service .sec-list .list-item {
    width: 31%;
    height: 45vh;
  }
}

@media (max-width: 992px) {
  #service .sec-list .list-item {
    width: 100%;
    height: 40vh;
    margin-bottom: 3.5rem;
  }
  #service .sec-list .list-item:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  #separator {
    height: 190px;
  }
  #service .sec-list .list-item {
    height: 30vh;
  }
}

@media (max-width: 576px) {
  #service .sec-list .list-item {
    margin-bottom: 4rem;
  }
}

@media (max-width: 425px) {
  #service .sec-list .list-item {
    min-height: 200px;
    margin-bottom: 2rem;
  }
}

#service .sec-list .txtset {
  width: 100%;
  height: 100%;
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#service .sec-list .service-icon {
  width: 139px;
  margin: 0 auto 1.5rem;
  font-size: 1.6875rem;
  font-family: 'gotham-medium';
  text-align: center;
  line-height: 1;
}

#service .sec-list .service-icon:before {
  width: 139px;
  height: 28px;
  margin-bottom: 1rem;
  content: '';
  background: url(../svg/symbol-defs.svg#headline-service) no-repeat center top;
  display: block;
}

@media (max-width: 576px) {
  #service .sec-list .service-icon {
    margin-bottom: 0.9375rem;
    font-size: 1.2rem;
  }
}

@media (max-width: 425px) {
  #service .sec-list .service-icon {
    width: 110px;
    margin-bottom: 0.3125rem;
    font-size: 1.25rem;
  }
  #service .sec-list .service-icon:before {
    width: 110px;
    margin-bottom: 0.3125rem;
  }
}

#service .sec-list .list-image {
  width: 78%;
  margin: 0 auto 1.4375rem;
}

@media (max-width: 768px) {
  #service .sec-list .list-image {
    width: 100%;
  }
}

#service .sec-list .list-image img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}

#service .sec-list .list-ttl {
  margin: 0 0 2.1875rem;
  font-size: 1.5625rem;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

#service .sec-list .list-txt {
  margin: 0;
  text-align: left;
}

@media (max-width: 576px) {
  #service .sec-list .list-ttl {
    margin-bottom: 1.375rem;
    font-size: 1.1rem;
  }
  #service .sec-list .list-txt {
    font-size: 0.875rem;
  }
}

@media (max-width: 425px) {
  #service .sec-list .list-ttl {
    margin-bottom: 0.625rem;
    font-size: 0.95rem;
  }
  #service .sec-list .list-txt {
    font-size: 0.8125rem;
    line-height: 1.35;
  }
}

@media (max-width: 390px) {
  #service .sec-list .list-ttl {
    font-size: 0.8rem;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 393px) {
  #service .sec-list .list-ttl {
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    line-height: 1.2;
  }
}

/* Section Index Page Works */
#works .sec-list {
  margin-bottom: 5rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#works .list-item {
  width: 25%;
  height: auto;
  display: block;
}

#works .list-item:before {
  content: '';
  display: block;
  padding-top: 100%;
}

@media (max-width: 992px) {
  #works .list-item {
    width: 33.333%;
  }
}

@media (max-width: 576px) {
  #works .sec-list {
    margin-bottom: 3rem;
  }
  #works .list-item {
    width: 50%;
  }
}

#works .list-item .inner {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#works .list-item a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#works .txtset {
  width: 100%;
  height: 100%;
  background: #b0ad2b;
  transition: all 0.3s ease-in;
  opacity: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#works .list-ttl,
#works .list-txt {
  color: #fff;
  font-size: 0.875rem;
}

#works .list-ttl {
  margin: 0;
}

#works .list-txt {
  margin: 0;
}

#works .bg-image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#works .bg-image img {
  width: 103%;
  height: 103%;
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: bottom;
  object-fit: cover;
}

#works .list-item a:hover .txtset {
  opacity: 1;
}

/* Section Index Page Parallax */
#prlx {
  height: 500px;
  padding: 0 !important;
  overflow: hidden;
}

#prlx .inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

#prlx .icon.icon-prlx-logo {
  width: 323px;
  height: 44px;
  z-index: 1;
}

#prlx .logo-miya {
  fill: #1c140e;
}

#prlx .logo-hiro {
  fill: #b0ad2b;
}

#prlx .bg-image {
  width: 100%;
  height: 100vh;
  background: url(../images/prlx-001.jpg) no-repeat center bottom;
  background-size: cover;
  position: absolute;
  opacity: 0;
}

@media (max-width: 768px) {
  #prlx {
    height: 250px;
  }
}

@media (max-width: 576px) {
  #prlx .icon.icon-prlx-logo {
    width: 208px;
    height: 20px;
  }
}

/* Section Index Page Access */
#access .inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

#access .info-block {
  width: 30%;
  display: flex;
  flex-direction: column;
}

#access .info-block .var-box {
  display: flex;
  flex-direction: column;
}

#access .head-part .name {
  margin: 0 0 0.375rem;
  font-size: 0.9375rem;
  font-family: 'gotham-book';
  line-height: 1;
}

#access .head-part .bar {
  width: 30px;
  margin: 0;
  border: none;
  border-top: 1px solid #343c48;
  border-width: 1px 0 0 0;
  display: inline-block;
}

#access .head-part .office {
  margin: 0.5rem 0 2.5rem;
  font-size: 2.6875rem;
  font-family: 'gotham-light';
  line-height: 1.2;
  display: block;
}

#access .bottom-part {
  margin-bottom: 10rem;
}

#access .bottom-part .address,
#access .bottom-part .telfax,
#access .bottom-part .note {
  margin: 0 0 0.5625rem;
  font-size: 0.875rem;
}

#access .bottom-part .address span,
#access .bottom-part .telfax span,
#access .bottom-part .note span {
  display: block;
}

#access .bottom-part .address {
  font-weight: 700;
}

#access #map-block {
  width: 70%;
  height: 600px;
  box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.1);
}

@media (max-width: 992px) {
  #access #map-block {
    width: 60%;
  }
}

@media (max-width: 768px) {
  #access .inner {
    flex-direction: column;
  }
  #access .info-block {
    width: 100%;
  }
  #access .info-block .var-box {
    margin-bottom: 2.5rem;
    flex-direction: row;
  }
  #access .info-block .btn-part {
    display: none;
  }
  #access .head-part {
    width: 40%;
  }
  #access .head-part .office {
    margin-bottom: 0;
    font-size: 1.875rem;
  }
  #access .head-part .name {
    font-size: 0.8125rem;
  }
  #access .bottom-part .address,
  #access .bottom-part .telfax,
  #access .bottom-part .note {
    font-size: 0.8125rem;
  }
  #access .bottom-part {
    width: 60%;
    margin-bottom: 0;
    padding-left: 1rem;
  }
  #access .bottom-part .address .zip {
    margin-bottom: 0.625rem;
    line-height: 1;
  }
  #access #map-block {
    width: 100%;
    height: 450px;
  }
}

@media (max-width: 576px) {
  #access .head-part .name {
    margin: 0;
  }
  #access #map-block {
    height: 300px;
  }
}

/* Section Index Page Information */
#info {
  background-color: #f9f5f1;
}

#info .sec-list {
  margin-bottom: 4rem;
}

@media (max-width: 576px) {
  #info .sec-list {
    margin-bottom: 0;
  }
}

#info .list-item,
#info .list-item .txtset .ttl {
  font-size: 0.9375rem;
}

#info .list-item {
  margin-bottom: 1.875rem;
  text-align: left;
  border-bottom: 1px solid rgba(169, 169, 169, 0.3);
}

#info .list-item .inner .permlink {
  display: block;
}

#info .list-item,
#info .list-item .txtset {
  padding-bottom: 1.875rem;
}

#info .list-item .txtset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

@media (max-width: 992px) {
  #info .list-item .txtset {
    flex-direction: column;
  }
}

#info .list-item .txtset .date,
#info .list-item .txtset .ttl {
  margin: 0;
}

#info .list-item .txtset .date {
  width: 9%;
  margin-right: 1%;
  font-weight: 600;
}

#info .list-item .txtset .ttl {
  width: 90%;
  text-decoration: underline;
}

#info .list-item .txt {
  font-size: 0.875rem;
}

/* wp editor area start */
#secondary.single #info .list-item .txtset {
  margin-bottom: 60px;
  border-bottom: 1px solid rgba(169, 169, 169, 1);
}

#secondary.single #info .list-item .txt h1,
#secondary.single #info .list-item .txt h2,
#secondary.single #info .list-item .txt h3 {
  margin: 25px 0;
  font-size: 18px;
  font-weight: bold;
}

#secondary.single #info .list-item .txt h4 {
}

#secondary.single #info .list-item .txt p {
  line-height: 2;
}

#secondary.single #info .list-item .txt strong {
  font-weight: bold;
}

#secondary.single #info .list-item .txt .img-box img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

#secondary.single #info .list-item .txt a {
}

#secondary.single #info .list-item .txt ul {
}

#secondary.single #info .list-item .txt ul li {
  font-weight: bold;
}

#secondary.single #info .list-item .txt ol {
  padding-left: 0;
  counter-reset: item;
  list-style-type: none;
}

#secondary.single #info .list-item .txt ol li {
  padding-left: 1.3rem;
  text-indent: -1.3rem;
  font-weight: bold;
}

#secondary.single #info .list-item .txt ol li:before {
  padding-right: 8px;
  counter-increment: item;
  content: counter(item) '.';
  font-weight: bold;
}
/* wp editor area end */

/* Section Index Page Column */
#column {
  background-color: #fff;
}

#column .sec-list {
  margin-bottom: 4rem;
}

@media (max-width: 576px) {
  #column .sec-list {
    margin-bottom: 0;
  }
}

#column .list-item,
#column .list-item .txtset .ttl {
  font-size: 0.9375rem;
}

#column .list-item {
  margin-bottom: 1.875rem;
  text-align: left;
  border-bottom: 1px solid rgba(169, 169, 169, 0.3);
}

#column .list-item .inner .permlink {
  display: block;
}

#column .list-item,
#column .list-item .txtset {
  padding-bottom: 1.875rem;
}

#column .list-item .txtset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

@media (max-width: 992px) {
  #column .list-item .txtset {
    flex-direction: column;
  }
}

#column .list-item .txtset .date,
#column .list-item .txtset .ttl {
  margin: 0;
}

#column .list-item .txtset .date {
  width: 9%;
  margin-right: 1%;
  font-weight: 600;
}

#column .list-item .txtset .ttl {
  width: 90%;
  text-decoration: underline;
}

#column .list-item .txt {
  font-size: 0.875rem;
}
/* Section Archive Column */
#secondary.archive #column {
  background-color: #f9f5f1;
}

/* Section Single Column */
#secondary.single #column {
  background-color: #f9f5f1;
}

#secondary .column-layout {
  padding-top: 3vw;
  display: flex;
  flex-flow: row wrap;
}

.column-post-box {
  width: 68%;
  margin-right: auto;
}

.column-class-box {
  width: 25%;
}

@media (max-width: 1068px) {
  #secondary .column-layout {
    padding-top: 4vw;
    flex-flow: column wrap;
  }
  .column-post-box {
    width: 100%;
    margin-right: 0;
  }

  .column-class-box {
    width: 100%;
  }
}

@media (max-width: 735px) {
  #secondary .column-layout {
    padding-top: 6vw;
  }
  #secondary .sec-column {
    padding: 1.875rem 0;
  }
}

.column-post-unit {
  margin: 0 0 3.75rem;
  padding: 2.5rem 3.75rem;
  background: #fff;
}

.column-post-subject {
  margin: 0 0 2.5rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #eaeaea;
  display: flex;
  flex-flow: column wrap;
}

.post-subject-data {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.column-post-ttl {
  width: 100%;
  margin: 0;
  font-weight: bold;
}

.column-post-date {
  margin-right: 0.875rem;
  color: #594a2a;
  font-size: 13px;
  font-family: 'Cinzel', serif;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
}

@media (max-width: 735px) {
  .column-post-unit {
    padding: 1.25rem;
    margin-bottom: 1.875rem;
  }
  .column-post-subject {
    flex-flow: column wrap;
    margin-bottom: 1.25rem;
  }
  .column-post-ttl {
    width: 100%;
    margin-right: 0;
    font-size: 1.125rem;
  }
  .column-post-date {
    margin-right: 0.5rem;
    font-size: 0.8125rem;
  }
}

.column-post-content {
  margin: 0;
}

/****** User Input Editor Setting - Start ******/
.column-post-content p {
  margin: 1.25rem 0;
  font-size: 0.875rem;
}

.column-post-content h2,
.column-post-content h3,
.column-post-content h4 {
  margin: 1.25rem 0;
  font-weight: 500;
}

.column-post-content a {
  color: #fb798c;
}

.column-post-content figure {
  width: 100%;
  margin: 1.25rem 0;
}

.column-post-content img {
  width: 100%;
  height: auto;
}

.column-post-content ul {
  margin: 1.25rem 0;
}

.column-post-content ul li {
  padding: 0.5rem 0 0.5rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  position: relative;
}

.column-post-content ul li:before {
  content: '';
  width: 5px;
  height: 5px;
  display: inline-block;
  background-color: #9eb4ce;
  border-radius: 50%;
  top: calc(50% - 2.5px);
  left: 0;
  position: absolute;
}

.column-post-content table {
  width: 100%;
  margin: 1.25rem 0;
  font-size: 0.875rem;
  font-weight: 400;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #dbdbdb;
}

.column-post-content table tr td {
  padding: 1.25rem 1.5625rem;
  border-bottom: 1px solid #dbdbdb;
}

.column-post-content table tr td:first-of-type {
  font-weight: 500;
  background: #fcfcfc;
  border-right: 1px solid #dbdbdb;
}
@media (max-width: 735px) {
  .column-post-content table tbody,
  .column-post-content table tr,
  .column-post-content table tr td {
    width: 100%;
    display: block;
  }
  .column-post-content table tr td:first-of-type {
    padding: 0.875rem 1.5625rem;
    border-right: none;
    text-align: center;
  }
}

.column-post-content blockquote {
  width: 100%;
  margin: 1.25rem 0;
  padding: 2.5rem;
  background: #f5f5f5;
  position: relative;
}

.column-post-content blockquote:before {
  content: '';
  background-color: #eaeaea;
  width: 26px;
  height: 26px;
  top: 10px;
  left: 10px;
  position: absolute;
  -webkit-mask-image: url(../svg/quote-left.svg);
  mask-image: url(../svg/quote-left.svg);
  mask-size: 26px 26px;
}

.column-post-content blockquote p {
  margin: 0 0 1.25rem;
}

.column-post-content blockquote cite {
  font-size: 0.8125rem;
}

@media (max-width: 735px) {
  .column-post-content p {
    font-size: 0.8125rem;
  }
  .column-post-content h2 {
    font-size: 1.0625rem;
    font-weight: 600;
  }
  .column-post-content h3,
  .column-post-content h4 {
    font-size: 1rem;
    font-weight: 600;
  }
}
/****** User Input Editor Setting - End ******/

.column-class-unit {
  padding: 2.5rem;
  background: #fff;
}

.column-class-unit.terms {
  margin-bottom: 40px;
}

@media (max-width: 1068px) {
  .column-class-unit {
    margin-bottom: 3.75rem;
  }
}

@media (max-width: 735px) {
  .column-class-unit {
    margin-bottom: 1.875rem;
  }
}

.column-class-unit .class-ttl {
  margin: 0 0 1.25rem;
  color: #594a2a;
  font-size: 1.5625rem;
  font-family: 'Cinzel', serif;
}

.column-class-unit ul li a {
  padding: 1.25rem 0;
  color: #594a2a;
  font-size: 0.875rem;
  border-bottom: 1px solid #dbdbdb;
  display: block;
  transition: all 0.3s;
}

.column-class-unit.terms ul li a {
  border-bottom: none;
}

#secondary .column-terms {
  margin-bottom: 60px;
  padding: 50px;
  background-color: #fff;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}

@media (max-width: 735px) {
  #secondary .column-terms {
    margin-bottom: 30px;
    padding: 30px;
  }
}

#secondary .column-terms .term-name-en {
  margin: 0 0 8px;
  font-size: 26px;
  font-family: 'Cinzel', serif;
  position: relative;
}

@media (max-width: 735px) {
  #secondary .column-terms .term-name-en {
    margin-bottom: 5px;
    font-size: 20px;
  }
}

#secondary .column-terms .term-name-en:before {
  content: '';
  width: 20px;
  height: 1px;
  background-color: #594a2a;
  bottom: 0;
  left: calc(50% - 10px);
  position: absolute;
}

#secondary .column-terms .term-name-jp {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
}

@media (max-width: 735px) {
  #secondary .column-terms .term-name-jp {
    font-size: 12px;
  }
}

/* ---------------------------------------------
   Footer
--------------------------------------------- */
footer {
  width: 100%;
  background: #fff;
  position: relative;
}

footer .footer-contents {
  background: #eef0f1;
}

footer .footer-contents .wrap {
  padding: 3.75rem 0;
}

footer .sitename {
  margin: 0 0 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

footer .icon-logoset {
  width: 222px;
  height: 50px;
  transition: all 0.3s;
}

footer .icon-logoEn {
  fill: #c90000;
}

footer .copyright {
  margin: 0;
  font-size: 0.6875rem;
  color: #343c48;
  font-family: 'Lato', sans-serif;
  letter-spacing: 0;
  text-align: center;
}

footer .backtop {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

footer .backtop a {
  width: 100%;
  padding: 1.5rem 0;
  background: #3c4549;
  text-align: center;
  display: block;
}

footer .backtop a:hover {
  background: #b0ad2b;
}

footer .backtop .icon-footer-backtop {
  width: 50px;
  height: 27px;
  fill: #fff;
}

@media (max-width: 576px) {
  footer .backtop a {
    padding: 1.2rem 0;
  }
  footer .backtop .icon-footer-backtop {
    width: 29px;
    height: 16px;
  }
}

#footer-nav {
  border-top: 1px solid #eef0f1;
  border-bottom: 1px solid #eef0f1;
  background: #fff;
}

#footer-nav ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}

#footer-nav .firstline {
  border-bottom: 1px solid #eef0f1;
}

#footer-nav ul li {
  width: 16.66%;
}

#footer-nav ul li a {
  padding: 2.5rem 0;
  color: #343c48;
  text-align: center;
  display: block;
  transition: all 0.3s;
}

#footer-nav ul li a:hover {
  color: #ffffff;
  background: #b0ad2b;
}

#footer-nav ul li a span {
  border-left: 1px solid #eef0f1;
  display: block;
}

#footer-nav ul li:last-child a span {
  border-right: 1px solid #eef0f1;
}

@media (max-width: 992px) {
  #footer-nav .wrap {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #footer-nav .firstline {
    border: none;
  }
  #footer-nav .firstline ul li {
    border-bottom: 1px solid #eef0f1;
  }
  #footer-nav ul li {
    width: 33.333%;
  }
  #footer-nav ul li a {
    padding: 0;
  }
  #footer-nav ul li a span {
    padding: 1rem 0;
  }
  #footer-nav ul li:nth-child(3) a span {
    border-right: 1px solid #eef0f1;
  }
}

@media (max-width: 576px) {
  #footer-nav ul li {
    width: 50%;
  }
  #footer-nav ul li a {
    font-size: 0.8125rem;
  }
  #footer-nav .secondline ul li {
    border-bottom: 1px solid #eef0f1;
  }
  #footer-nav .secondline ul li:last-child {
    border-bottom: none;
  }
  #footer-nav ul li:nth-child(3) a span {
    border-right: none;
  }
}

/* /////////////////////////////////////////////

   Secondary Layer

///////////////////////////////////////////// */
/* ---------------------------------------------
   Common Parts
--------------------------------------------- */
#secondary #main {
  margin-top: 100px;
}

#secondary #page-head {
  padding: 2.5rem 0;
}

@media (max-width: 768px) {
  #secondary #main {
    margin-top: 91px;
  }
}

@media (max-width: 576px) {
  #secondary #main {
    margin-top: 61px;
  }
  #secondary #page-head {
    padding: 1.5rem 0;
  }
  #secondary .sec-title .pict .icon {
    width: 40px;
    height: 30px;
  }
  #secondary .sec-title .txt {
    margin-bottom: 0.625rem;
  }
  #secondary .sec-title .txt-ja {
    font-size: 1.25rem;
    font-weight: 500;
  }
}

#secondary #page-head .ttl h2 {
  margin: 0;
}

#secondary #page-head .ttl h3 {
  margin: 0;
}

#page-head .sec-title ttl .txt-ja {
  letter-spacing: 0.2em;
}

/* Pathlist */
#pathlist {
  padding: 0.875rem 0;
  background: #f9f5f1;
  border-top: solid 1px #eef0f1;
  border-bottom: solid 1px #eef0f1;
}

#pathlist .wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

#pathlist li {
  margin-right: 1rem;
  color: #3c4549;
  font-size: 0.75rem;
  line-height: 1;
}

#pathlist li:last-child {
  margin-right: 0;
}

#pathlist li a {
  color: #b0ad2b;
  border-bottom: 1px solid #b0ad2b;
  transition: all 0.3s;
}

#pathlist li a:hover {
  color: #3c4549;
  border-bottom: 1px solid #3c4549;
}

/* ---------------------------------------------
   Contact Form
--------------------------------------------- */
#secondary.contact #formpart .note p {
  margin: 5rem 0;
  font-size: 0.9375rem;
  text-align: center;
}

#secondary.contact #formpart .note p span {
  color: #e1393d;
}

#secondary.contact .wpcf7-form {
  font-size: 0.875rem;
}

#secondary.contact .wpcf7-form .req {
  color: #e1393d;
}

#secondary.contact .wpcf7-form dl {
  margin: 0 0 4.375rem;
  border-bottom: 1px solid #d4dbe1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

#secondary.contact .wpcf7-form dt,
#secondary.contact .wpcf7-form dd {
  border-top: 1px solid #d4dbe1;
}

#secondary.contact .wpcf7-form dt {
  width: 26%;
  margin: 0;
  padding-top: 3.75rem;
  padding-right: 4%;
  padding-bottom: 3.75rem;
}

#secondary.contact .wpcf7-form dd {
  width: 70%;
  margin: 0;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

#secondary.contact .wpcf7-form input,
#secondary.contact .wpcf7-form textarea,
#secondary.contact .wpcf7-form select {
  padding: 0.75rem 0;
  font-family: 'Times New Roman', '游明朝体', 'YuMincho', '游明朝', 'Yu Mincho',
    'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN W3', HiraMinProN-W3,
    'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro',
    'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.75;
  color: #979c9e;
  letter-spacing: 0.1em;
  border: none;
}

#secondary.contact .wpcf7-form input::placeholder,
#secondary.contact .wpcf7-form textarea::placeholder,
#secondary.contact .wpcf7-form select::placeholder {
  color: #b8bec1;
}

#secondary.contact .wpcf7-form .address {
  margin-bottom: 0;
  border-bottom: 0;
}

#secondary.contact .wpcf7-form .address dt,
#secondary.contact .wpcf7-form .address dd {
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0.625rem;
  border: 0;
}

#secondary.contact .wpcf7-form .address dt:last-child,
#secondary.contact .wpcf7-form .address dd:last-child {
  margin-bottom: 0;
}

#secondary.contact .wpcf7-form .address dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#secondary.contact .wpcf7-form .address input,
#secondary.contact .wpcf7-form .address select {
  padding: 0.75rem;
}

#secondary.contact .wpcf7-form .address input {
  background-color: #eef0f1;
  border: 1px solid #d4dbe1;
}

#secondary.contact .wpcf7-form .address select {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0 !important;
  background: transparent;
  z-index: 1;
  position: relative;
}

#secondary.contact .wpcf7-form .address .addline-first {
  padding: 0.75rem;
  background-color: #eef0f1;
  border: 1px solid #d4dbe1;
  display: inline-block;
  position: relative;
}

#secondary.contact .wpcf7-form .phone input {
  width: 100%;
}

#secondary.contact .wpcf7-form .question textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #d4dbe1;
}

#secondary.contact .ctrl {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}

#secondary.contact .ctrl .submit,
#secondary.contact .ctrl .confirm,
#secondary.contact .ctrl .back {
  width: 30%;
  margin: 0;
  padding: 1rem;
  border-radius: 100px;
  background: rgba(77, 169, 207, 1);
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
  font-size: 0.9375rem;
  font-weight: 400;
  text-align: center;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s;
  display: inline-block;
}

#secondary.contact .ctrl .back {
  background-color: rgba(60, 69, 75, 1);
}

#secondary.contact .ctrl .submit:hover,
#secondary.contact .ctrl .confirm:hover,
#secondary.contact .ctrl .back:hover {
  color: #fff;
  text-decoration: none;
  background-image: linear-gradient(45deg, #85a000 0%, #cae76b);
  box-shadow: 0 9px 10px 0 rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
}

#secondary.contact .ctrl input:last-child {
  margin-right: 0;
}

.wpcf7c-conf {
  background-color: #f9f9f9 !important;
}

/* ajax loaderと送信完了メッセージを不可視化 */
div.wpcf7 .ajax-loader,
div.wpcf7-mail-sent-ok {
  display: none !important;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
  color: #b0ad2b;
  background-color: #ebf2d4;
  border: 1px solid #b0ad2b !important;
  border-radius: 2px;
}

div.wpcf7-response-output {
  padding: 2rem !important;
}

#secondary.contact .pptxt {
  margin: 3rem 0 0;
  font-size: 0.9375rem;
  text-align: center;
}

@media (max-width: 992px) {
  #secondary.contact .ctrl .submit,
  #secondary.contact .ctrl .confirm,
  #secondary.contact .ctrl .back {
    width: 250px;
  }
}

@media (max-width: 768px) {
  #secondary.contact #formpart .note p {
    margin: 2rem 0;
  }
  #secondary.contact .wpcf7-form dl {
    margin-bottom: 1rem;
    flex-direction: column;
    border-bottom: 0;
  }
  #secondary.contact .wpcf7-form dt,
  #secondary.contact .wpcf7-form dd {
    width: 100%;
  }
  #secondary.contact .wpcf7-form dt {
    padding: 1.75rem 0 0.75rem;
  }
  #secondary.contact .wpcf7-form dd {
    padding: 0 0 1rem;
    border: 0;
  }
  #secondary.contact .wpcf7-form .address {
    padding-bottom: 2rem;
  }
  #secondary.contact .ctrl .submit,
  #secondary.contact .ctrl .confirm,
  #secondary.contact .ctrl .back {
    width: 47%;
  }
  #secondary.contact .pptxt {
    margin-top: 2rem;
  }
}

@media (max-width: 576px) {
  #secondary.contact #formpart .note p {
    font-size: 0.75rem;
  }
  #secondary.contact .ctrl .submit,
  #secondary.contact .ctrl .confirm,
  #secondary.contact .ctrl .back {
    width: 100%;
    margin-bottom: 1rem;
  }
  #secondary.contact .pptxt {
    margin-top: 1rem;
    font-size: 0.75rem;
    text-align: left;
  }
}

/* contact form thanks page */
#secondary.thanks #thankspart {
  padding-top: 5.625rem;
}

#secondary.thanks .note {
  text-align: center;
}

#secondary.thanks .note h2 {
  margin: 0 0 2rem;
  font-weight: 500;
  line-height: 1.6;
}

#secondary.thanks .note p {
  margin: 0 0 2rem;
}

#secondary.thanks .note p.notice {
  padding-top: 2rem;
  border-top: 1px solid #d4dbe1;
  font-size: 0.8125rem;
  text-align: left;
}

#secondary.thanks .note p.notice .highlight {
  color: #b0ad2b;
  border-bottom: 1px solid #b0ad2b;
}

/* ---------------------------------------------
   Works
--------------------------------------------- */
/* Single Page */
#secondary #works .cnt1 {
  margin: 0 0 6.25rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
}

#secondary #works .spec-txt-box {
  width: 30%;
  margin: 0 4% 0 0;
  text-align: left;
}

#secondary #works .spec-txt-box .ttl {
  margin: 0 0 5.625rem;
  font-size: 2.6875rem;
  font-family: 'gotham-light';
  line-height: 1;
}

@media (max-width: 992px) {
  #secondary #works .cnt1 {
    flex-flow: column nowrap;
  }
  #secondary #works .spec-txt-box {
    width: 100%;
    margin: 0 0 2.5rem 0;
    display: flex;
    flex-flow: row wrap;
  }
  #secondary #works .spec-txt-box .ttl {
    width: 35%;
    margin: 0 3% 0 0;
  }
  #secondary #works .sub-txt-box {
    width: 62%;
  }
}

@media (max-width: 768px) {
  #secondary #works .spec-txt-box {
    display: flex;
    flex-flow: column wrap;
  }
  #secondary #works .spec-txt-box .ttl,
  #secondary #works .sub-txt-box {
    width: 100%;
  }
  #secondary #works .spec-txt-box .ttl {
    font-size: 1.875rem;
    margin: 0 0 1.25rem;
  }
  #secondary #works .spec-txt-box .ttl span {
    margin-right: 1rem;
  }
  #secondary #works .spec-txt-box .ttl br {
    display: none;
  }
}

@media (max-width: 576px) {
  #secondary #works .cnt1 {
    margin-bottom: 1.875rem;
  }
  #secondary #works .spec-txt-box .ttl span {
    margin-right: 0.4375rem;
  }
}

#secondary #works .project-name {
  margin: 0 0 2.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}

#secondary #works .spec-txt-box dl {
  margin: 0;
  color: #5f676a;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
}

#secondary #works .spec-txt-box dl dt,
#secondary #works .spec-txt-box dl dd {
  font-size: 0.875rem;
}

#secondary #works .spec-txt-box dl dt {
  width: 27%;
  margin: 0 3% 0.25rem 0;
}

#secondary #works .spec-txt-box dl dd {
  width: 70%;
  margin: 0;
}

@media (max-width: 768px) {
  #secondary #works .spec-txt-box dl dt {
    width: 20%;
    margin-right: 3%;
  }
  #secondary #works .spec-txt-box dl dd {
    width: 77%;
  }
}

#secondary #works .img-box,
#secondary #works .img-slider {
  width: 66%;
  margin: 0;
}

@media (max-width: 992px) {
  #secondary #works .img-box,
  #secondary #works .img-slider {
    width: 100%;
  }
}

#secondary #works .img-box img {
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
  position: relative;
}

#secondary #works .img-box img:before {
  content: 'Copy';
}

#secondary #works .detail-box .ttl {
  margin-bottom: 3.75rem;
  border-bottom: 1px solid #d4dbe1;
}

@media (max-width: 576px) {
  #secondary #works .detail-box .ttl {
    margin-bottom: 1.875rem;
  }
}

#secondary #works .detail-box .ttl span {
  padding-bottom: 1rem;
  font-size: 1.25rem;
  font-family: 'gotham-light';
  line-height: 1;
  display: inline-block;
  position: relative;
}

#secondary #works .detail-box .ttl span:before {
  width: 100%;
  content: '';
  border-bottom: 3px solid #b0ad2b;
  position: absolute;
  bottom: 0;
}

#secondary #works .detail-box .txt {
  color: #5f676a;
  font-size: 0.9375rem;
  text-align: left;
}

@media (max-width: 576px) {
  #secondary #works .detail-box .txt {
    font-size: 0.875rem;
  }
}

/* Works Single Page Slick Slider */
#secondary #works .img-slider {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#slider {
  width: 100%;
  margin: 0 0 30px;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

.slick-slide:before {
  /* 縦をpadding-bottom75%で高さ調整 */
  content: '';
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  display: block;
}

.slick-slide div {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

.slide-item {
  height: 100%;
  position: relative;
}

.slide-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#thumb-list {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.thumb-item {
  width: 15%;
  margin: 0 2% 1rem 0;
  position: relative;
}

.thumb-item:after {
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  content: '';
  background-color: rgba(0, 0, 0, 0.5);
  display: block;
  opacity: 1;
  transition: 0.3s opacity linear;
}

.thumb-item:nth-child(6n) {
  margin-right: 0;
}

.thumb-item.thumb-current:after {
  opacity: 0;
}

@media (max-width: 576px) {
  .thumb-item {
    width: 32%;
    margin-right: 2%;
  }
  .thumb-item:nth-child(3n) {
    margin-right: 0;
  }
}

.thumb-item .inner {
  width: 100%;
  height: 100%;
  top: 0;
  position: absolute;
}

.thumb-item img {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  opacity: 0.5;
  object-fit: cover;
  transition: all 0.3s linear;
}

.thumb-item.thumb-current img {
  opacity: 1;
}

/* ---------------------------------------------
   Service
--------------------------------------------- */
/* Single Page */
#secondary #service .wrap {
  padding-top: 5rem;
  padding-bottom: 5rem;
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
}

#secondary #service #sidenav {
  width: 14%;
  margin: 0 2% 0 0;
}

#secondary #service #sidenav .item-list {
  position: fixed;
}

#secondary #service #sidenav .list-item {
  margin-bottom: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 500;
}

#secondary #service #sidenav .list-item a {
  color: #979c9e;
  transition: all 0.3s;
}

#secondary #service #sidenav .list-item a:hover {
  color: #3c4549;
}

#secondary #service #sidenav .list-item.current {
  color: #3c4549;
}

#secondary #service .sec-body {
  width: 84%;
  padding: 0;
}

#secondary #service .sec-ttl {
  margin-bottom: 8.125rem;
  display: flex;
  flex-flow: row wrap;
}

#secondary #service .sec-ttl .txt-box {
  width: 32%;
  margin-right: 4%;
}

#secondary #service .sec-ttl .ttl-box {
  padding: 0;
  background: rgba(0, 0, 0, 0);
}

@media (max-width: 992px) {
  #secondary #service .wrap {
    flex-flow: column wrap;
  }
  #secondary #service #sidenav {
    width: 100%;
    margin: 0 0 3.75rem;
  }
  #secondary #service #sidenav .item-list {
    padding: 0.75rem 0;
    background: #f9f9f9;
    border-radius: 3px;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.1));
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
    position: relative;
  }
  #secondary #service #sidenav .list-item {
    margin: 0 1rem 0 0;
  }
  #secondary #service #sidenav .list-item:last-child {
    margin-right: 0;
  }
  #secondary #service .sec-body {
    width: 100%;
  }
  #secondary #service .sec-ttl {
    flex-flow: column wrap;
  }
  #secondary #service .sec-ttl .txt-box {
    width: 100%;
    margin: 0 0 3.125rem;
  }
}

@media (max-width: 768px) {
  #secondary #service .wrap {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

@media (max-width: 576px) {
  #secondary #service .wrap {
    padding-top: 2rem;
  }
  #secondary #service #sidenav {
    margin-bottom: 2.5rem;
  }
}

#secondary #service .service-icon {
  width: 139px;
  margin: 0 auto 1.5rem;
  font-size: 1.6875rem;
  font-family: 'gotham-medium';
  text-align: center;
  line-height: 1;
}

#secondary #service .service-icon:before {
  width: 139px;
  height: 28px;
  margin-bottom: 1rem;
  content: '';
  background: url(../svg/symbol-defs.svg#headline-service) no-repeat center top;
  display: block;
}

#secondary #service .sec-ttl .ttl-box .ttl {
  margin: 0 0 2.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: left;
}

#secondary #service .sec-ttl .txt-box .txt-body {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  text-align: left;
}

#secondary #service .sec-ttl .img-box {
  width: 64%;
}

#secondary #service .sec-ttl .img-box .inner {
  width: 100%;
  padding: 0;
  background: rgba(0, 0, 0, 0);
}

#secondary #service .sec-ttl .img-box .inner img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

#secondary #service .cnt .inner {
  padding: 0;
  background: rgba(0, 0, 0, 0);
}

#secondary #service .cnt .inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

#secondary #service .cnt .inner.l-box {
  flex-flow: row wrap;
}

#secondary #service .cnt .inner.r-box {
  flex-flow: row-reverse wrap;
}

#secondary #service .cnt-box {
  margin-bottom: 5rem;
}

#secondary #service .cnt-box .cap {
  margin-bottom: 3.75rem;
  border-bottom: 1px solid #d4dbe1;
}

#secondary #service .cnt-box .cap span {
  padding-bottom: 0.625rem;
  font-size: 1.25rem;
  border-bottom: 3px solid #b0ad2b;
  display: inline-block;
}

#secondary #service .cnt-box .img-box {
  width: 47%;
}

#secondary #service .cnt-box .img-box img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

#secondary #service .cnt-box .txt-box {
  width: 47%;
  font-size: 0.9375rem;
  text-align: left;
}

@media (max-width: 992px) {
  #secondary #service .sec-ttl .ttl-box .ttl {
    text-align: center;
  }
  #secondary #service .sec-ttl .img-box {
    width: 100%;
  }
}

@media (max-width: 576px) {
  #secondary #service .sec-ttl .ttl-box .ttl {
    font-size: 1.125rem;
  }
  #secondary #service .sec-ttl .txt-box .txt-body {
    font-size: 0.875rem;
  }
  #secondary #service .cnt-box .cap {
    margin-bottom: 1.875rem;
  }
  #secondary #service .cnt-box .cap span {
    font-size: 1.0625rem;
  }
  #secondary #service .cnt-box .txt-box {
    font-size: 0.875rem;
  }
  #secondary #service .cnt .inner.l-box {
    flex-flow: column wrap;
  }
  #secondary #service .cnt .inner.r-box {
    flex-flow: column wrap;
  }
  #secondary #service .cnt-box .img-box,
  #secondary #service .cnt-box .txt-box {
    width: 100%;
  }
  #secondary #service .cnt-box .img-box {
    margin-bottom: 1.875rem;
  }
}

/* ---------------------------------------------
   company profile
--------------------------------------------- */
/* Single Page */
#secondary .cnts-ttl h2 {
  margin: 0 0 7px;
  font-size: 2rem;
  font-family: 'gotham-book';
  line-height: 1;
  text-align: center;
}

#secondary .cnts-ttl h3 {
  margin: 0 0 2rem;
  color: #16bcac;
  font-weight: 400;
  letter-spacing: 0.4em;
  text-align: center;
}

#secondary #profile .tableset dl {
  width: 80%;
  margin: 0 auto;
  color: #666;
  font-size: 0.9375rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  text-align: left;
}

#secondary #profile .tableset dl dt,
#secondary #profile .tableset dl dd {
  padding: 1.25rem 0;
}

#secondary #profile .tableset dl dt:first-child {
  border-top: 1px solid #ccc;
}

#secondary #profile .tableset dl dd:last-child {
  border-bottom: 1px solid #ccc;
}

#secondary #profile .tableset dl dt {
  width: 20%;
  border-bottom: 1px solid #ccc;
}

#secondary #profile .tableset dl dd {
  width: 76%;
  margin: 0 0 0 4%;
  border-top: 1px solid #ccc;
}

@media (max-width: 767px) {
  #secondary #profile .tableset dl {
    width: 100%;
  }
}

#secondary #profile .bnrset {
  margin: 3vw 0;
}

#secondary #profile .bnrset .img-box a {
  width: 100%;
  text-align: center;
}

#secondary #profile .bnrset .img-box picture {
  display: inline-block;
}

#secondary #profile .bnrset .img-box img {
  width: 300px;
  height: auto;
  vertical-align: bottom;
}

@media (max-width: 576px) {
  #secondary #profile .bnrset .img-box img {
    width: 250px;
  }
}

#secondary #profile .bnrset .txt-box p {
  margin: 0;
  font-size: 0.9375rem;
}

@media (max-width: 767px) {
  #secondary #profile .bnrset .txt-box p span {
    display: block;
  }
}

#secondary #profile .bnrset .txt-box p span a {
  padding-bottom: 1px;
  color: #b0ad2b;
  position: relative;
}

#secondary #profile .bnrset .txt-box p span a:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #b0ad2b;
  bottom: 0;
  left: 0;
  display: block;
  position: absolute;
}

/* /////////////////////////////////////////////

   Secondary Layer Module

///////////////////////////////////////////// */
/* Archive Page & Single Page  */
#secondary .sec-body {
  padding: 6rem 0 0;
}

#secondary .sec-list {
  margin: 0 0 2rem;
}

@media (max-width: 576px) {
  #secondary .sec-body {
    padding: 3rem 0 0;
  }
}

/* 問い合わせパーツ */
#secondary #main address {
  margin: 5rem 0;
  padding: 2.5rem;
  color: #fff;
  font-style: normal;
  font-weight: 500;
  background: #4da9cf;
}

#secondary #main address .ttl-box {
  margin-bottom: 0.3125rem;
  font-size: 1.25rem;
}

#secondary #main address .phone {
  margin-bottom: 0.75rem;
  color: #fff;
  font-size: 2.5rem;
  font-family: 'Cinzel', serif;
  line-height: 1;
  display: block;
}

#secondary #main address dl,
#secondary #main address .note {
  font-size: 0.8125rem;
}

#secondary #main address dl {
  margin: 0;
  line-height: 1.5;
}

#secondary #main address dl dd {
  margin: 0;
}

#secondary #main address .note {
  margin: 0 0 1rem;
}

#secondary #main address .btn {
  font-family: 'Cinzel', serif;
  font-weight: 700;
}

@media (max-width: 576px) {
  #secondary #main address .phone {
    font-size: 2.1875rem;
  }
}

/* /////////////////////////////////////////////

   Module

///////////////////////////////////////////// */
.icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  stroke-width: 0;
}

/* 縦横比率固定BOX */
.adjust-box {
  overflow: hidden;
  position: relative;
}

.adjust-box:before {
  content: '';
  display: block;
  padding-top: 100%;
}

/* ボタン */
.btn {
  border-radius: 50%;
  display: block;
}

.btn > * {
  height: 44px;
  font-size: 0.9375rem;
  border-radius: 100px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.btn.dropshadow a {
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.3s;
}

.btn.dropshadow a:hover {
  background-image: linear-gradient(45deg, #b0ad2b 0%, #b0ad2b 100%);
  transform: translateY(-3px);
}

.btn.center {
  margin: 0 auto;
}

.btn.w220 {
  width: 220px;
}

.btn.green > * {
  color: #fff !important;
  background: #b0ad2b;
}

.btn.blue > * {
  color: #fff !important;
  background: #4da9cf;
}

.btn.white > * {
  color: #3c4549 !important;
  background: #fff;
}

/* Pagenation */
#pagenation {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
}

#pagenation li a {
  display: block;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
  transition: all 0.3s;
}

#pagenation li a.active:hover {
  color: #b0ad2b;
  transform: translateY(-3px);
}
