/************************************
** 共通
************************************/
html {
  font-size: 62.5%; /* 16pxの62.5%で10pxを基準にする */
}
body {
  color: #000;
  background-color: #fafaf6;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 L", sans-serif;
  font-feature-settings: "palt";
}

::selection {
  color: #fafaf6;
  background-color: #333;
}


.c-entry__header {
  padding-top: 5vw !important;
  margin-left: 5vw !important;
  margin-right: 5vw !important;
  margin-bottom: 0 !important;
}
.c-entry__header h1 {
  font-size: 5.5rem;
  font-weight: 500;
  padding: 0;
  text-align: right;
}
.c-entry__header h1::before {
  position: relative;
  top: 10rem;
  right: -13.5rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
h2 {
  background-color: transparent;
  border-left: none;
  font-size: 5.5rem;
  font-weight: 500;
  padding: 0;
}
h3 {
  border-bottom: none;
  padding: 0;
}
.area_contents {
  margin-left: 5vw !important;
  margin-right: 5vw !important;
}


/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .c-entry__header {
    padding-top: 8vw !important;
  }
  .c-entry__header h1 {
    font-size: 4.5rem;
  }
  .c-entry__header h1::before {
    top: 6rem;
    height: 120px !important;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .c-entry__header {
    padding-top: 20vw !important;
  }
  .c-entry__header h1 {
    font-size: 4.2rem;
  }
  .c-entry__header h1::before {
    top: 6rem;
    right: -11.5rem;
    height: 110px !important;
  }
  h2 {
    font-size: 4.2rem;
  }
  .area_contents {
    margin-left: 6vw !important;
    margin-right: 6vw !important;
  }
}



/* 区切り線フォーマット *************/
.wp-block-separator {
  margin-top: 0 !important;
  border-top: 1px solid #000;
}

/* reCAPTCHAを非表示 *************/

/* 404ページ *************/



/************************************
** hover
************************************/
.line_hover a {
  position: relative;
  text-decoration: none;
}
.line_hover a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  /*アニメーションの指定*/
  transition: all .45s ease;
  transform: scale(0, 1);/*X方向0、Y方向1*/
  transform-origin: left top;/*左上基点*/
}
.line_hover a:hover::after {
  transform: scale(1, 1);/*X方向にスケール拡大*/
}
.circle_hover a {
  position: relative;
}
.circle_hover a::before {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  left: 50%;
  width: 60px;
  height: 60px;
  border: 1px solid #000;
  background-color: transparent;
  border-radius: 50%;
  transform-origin: center center;
  transform: translate(-50%, -50%) scale(0, 0);
  transition: transform ease .45s;
}
.circle_hover a:hover::before {
  transform: translate(-50%, -50%) scale(1.1, 1.1);
}
/* sp ***********************************/
@media (max-width: 767px) {
  .circle_hover a::before {
    width: 46px;
    height: 46px;
  }
}


/************************************
** 画面推移
************************************/
/*========= ローディング画面のためのCSS =========*/
#surf {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #fafaf6;
	z-index: 9999999;
	text-align: center;
	color:#fff;
}
#surf-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* Loading アイコンの大きさ設定　*/
#surf-logo img {
  width: 120px;
}





/************************************
** ヘッダー
************************************/
.l-header {
  mix-blend-mode: difference;
}
.l-header--sticky-overlay-lg {
  color: #fafaf6;
}


/* サイトロゴのレスポンシブ *************/
.c-site-branding__title .custom-logo-link img {
  width: 140px;
}
@media (max-width: 1440px) {
  .c-site-branding__title .custom-logo-link img {
    width: 120px;
  }
}

@media (min-width: 1024px) {
  .l-header {
    padding-top: 1.6vw;
    padding-left: .8vw;
    padding-right: .8vw;
  }
}

/* sp ***********************************/
@media (max-width: 1023px) {
  .l-header--sticky-overlay-sm .c-fluid-container {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .l-header--sticky-overlay-sm {
    margin-top: 3vh;
  }
  .c-site-branding__title .custom-logo-link img {
    width: 100px;
  }
}



/************************************
** PCメニュー
************************************/
#menu-pc li a {
  font-size: 2.4rem;
  font-weight: 500;
  margin-left: 2.4rem;
  margin-right: 2.4rem;
  padding: 0 !important;
}
.p-global-nav--hover-extend-underline .c-navbar__item>a:after {
  left: 0;
  background-color: #fafaf6;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;/*左上基点*/
  mix-blend-mode: difference;
}
@media (any-hover: hover) {
  .p-global-nav--hover-extend-underline .c-navbar__item:hover>a:after {
    transform: scale(1, 1);
  }
}
.c-navbar__item[data-active-menu]>a:after {
  transform: none;
}

@media (max-width: 1024px) {
  #menu-pc li a {
    font-size: 1.8rem;
    margin-left: 1.8rem;
    margin-right: 1.8rem;
  }
}


/* インスタアイコン ***********************************/
.ig_glyph {
  padding: 0 14px;
}
.ig_glyph img {
  height: 36px;
}

@media (max-width: 767px) {
  .u-invisible-md-down {
    margin-right: 10px;
  }
  .ig_glyph {
  }
  .ig_glyph img {
    height: 28px;
  }
}


/************************************
** ハンバーガー
************************************/
.c-hamburger-btn__label {
  display: none;
}
.c-hamburger-btn__bars {
  width: 60px;
  mix-blend-mode: difference;
}
.c-hamburger-btn__bar {
  height: 2px;
  background-color: #fafaf6 !important;
}
.c-hamburger-btn__bar:first-of-type {
  top: 2px;
}
.c-hamburger-btn__bar:nth-of-type(2) {
  display: none;
}
.c-hamburger-btn__bar:nth-of-type(3) {
  top: 18px;
}
[id=drawer-nav].c-drawer--overall .c-drawer__controls {
  top: 3.6vh;
  right: 6vw;
}
.c-hamburger-btn[aria-expanded=true]>.c-hamburger-btn__bars {
  mix-blend-mode: normal;
}
.c-hamburger-btn[aria-expanded=true]>.c-hamburger-btn__bars>.c-hamburger-btn__bar:first-of-type {
  transform: rotate(24deg);
  background-color: #000 !important;
}
.c-hamburger-btn[aria-expanded=true]>.c-hamburger-btn__bars>.c-hamburger-btn__bar:nth-of-type(3) {
  transform: rotate(-24deg);
  background-color: #000 !important;
}
/************************************
** ドロワーナビゲーション
************************************/
.c-drawer {
  background-color: #fafaf6;
  color: #000;
}
.c-drawer__inner {
  padding-left: 6vw;
  padding-right: 6vw;
  margin-top: 0 !important;
  margin-bottom: 4vh !important;
}

ul#menu-sp li {
  font-size: 3rem;
  line-height: 3rem;
  padding-bottom: 2rem;
  padding-top: 0;
}
li#menu-item-1029 {
  font-size: 2.1rem !important;
  line-height: 2.4rem !important;
  margin-top: 1rem !important;
  padding-top: 2.8rem !important;
  padding-bottom: 0 !important;
}
li#menu-item-1029::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 1px;
  background: #000;
}
#menu-sp {
  padding-top: 4vh;
}
.c-drawer__menu {

}
.c-drawer__menu li {
  position: relative;
}
.top_sp a::before {
  content: 'トップ';
	position: absolute;
	top: .5rem;
	left: 5.2rem;
  font-size: 1.15rem;
  width: 25vw;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
}
.works_sp a::before {
  content: '作品';
	position: absolute;
	top: .5rem;
	left: 8.5rem;
  font-size: 1.15rem;
  width: 25vw;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
}
.about_sp a::before {
  content: 'niasについて';
	position: absolute;
	top: .5rem;
	left: 9rem;
  font-size: 1.15rem;
  width: 33vw;
  font-family: YakuHanJP, "tt-commons-pro", "dnp-shuei-gothic-gin-std", sans-serif !important;
}
.news_sp a::before {
  content: 'お知らせ';
	position: absolute;
	top: .5rem;
	left: 7.8rem;
  font-size: 1.15rem;
  width: 25vw;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
}
.contact_sp a::before {
  content: 'お問い合わせ';
	position: absolute;
	top: .5rem;
	left: 11.4rem;
  font-size: 1.15rem;
  width: 25vw;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
}
.insta_sp {
  display: inline-block;
  margin-top: .4rem !important;
}
.insta_sp::before {
}
/* 最下部コンテンツ ***********************************/
.dnav_box {
  margin-top: 55px;
}
.dnav_logo {
}
.dnav_logo img {
  width: 70px !important;
}
.dnav_name {
  font-size: 1.75rem;
  margin-top: 1.2rem;
}
.dnav_addbox {
  margin-top: 1.5rem;
  line-height: 1.6rem;
}
.dnav_add {
  font-size: 1.25rem;
}
.dnav_gmap {
  font-size: 1.25rem;
}
.dnav_contact {
  margin-top: .75rem;
  line-height: 1.4rem;
}
.dnav_tel {
  font-size: 1.35rem;
}
.dnav_fax {
  font-size: 1.35rem;
}
.dnav_license {
  font-size: 1.1rem;
  margin-top: .9rem;
}



/************************************
** フッター
************************************/
#page-top {
  visibility: hidden;
}
.l-footer {
  border-top: none;
}
.l-footer--footer-1 .l-footer__footer {
  background-color: transparent;
  position: absolute;
  bottom: 30px;
  left: 2vw;
  padding: 0;
}
.c-copyright {
  font-size: 1.2rem;
  font-weight: 400;
}
.c-copyright .c-fluid-container {
  padding: 0 !important;
}
/* main ***********************************/
.l-footer-widget-area__item {
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}
.footer_nias {
  padding-top: 100px;
  padding-bottom: 90px;
}
.nias_bar {
  width: 100vw;
  height: 24px;
  background-image: url(/wp-content/uploads/material/nias_bar2.svg);
  background-size: contain;
  background-repeat: repeat-x;
}
.nias_bar hr {
  visibility: hidden;
}
.footer_column {
  margin-left: 5vw !important;
  margin-right: 5vw !important;
}
.footer_column1 {
}
.footer_in_box {
  align-items: flex-start;
  gap: 5vw;
}
.footer_in_box img {
  width: 150px;
}
.ft_info .office_name {
  font-size: 2.1rem !important;
  line-height: 2.4rem !important;
}
.ft_info .main {
  margin-top: 3.2rem;
}
.ft_info .main p {
  font-size: 1.4rem;
  line-height: 2rem;
  margin-top: 1.2rem;
}
.ft_info .main .tel {
  margin-top: 1.2rem;
}
.footer_column2 {
}
.footer_column2 .navibox {
  justify-content: flex-end;
  gap: 10vw;
}
.ft_info .gmap_link, .ft_satellite .gmap_link {
  margin-top: .5rem !important;
}
.ft_info .pp_link {
  margin-top: 4rem !important;
}
.ft_info .pp_link a {
  text-decoration: none;
}
/* satelite ***********************************/
.ft_satellite {
  padding-top: 55px;
}
.ft_satellite .attribute {
  display: inline-block;
  font-size: 1.25rem !important;
  line-height: 1.4rem;
  border-bottom: 1px solid #000;
}
.ft_satellite .kamologo_ft {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.ft_satellite .kamologo_ft img {
  width: 120px;
}
.ft_satellite p {
  font-size: 1.4rem;
  line-height: 2rem;
  margin-top: 1.2rem;
}
/* ft_navi ***********************************/
.ft_menu {
  position: relative;
}
.ft_menu .tp::before {
  content: 'トップ';
	position: absolute;
  top: .75rem;
  left: 5.6rem;
  font-size: 1.2rem;
  width: 10rem;
}
.ft_menu .wks::before {
  content: '作品';
	position: absolute;
	top: .75rem;
	left: 8.6rem;
  font-size: 1.2rem;
  width: 10rem;
}
.ft_menu .abt::before {
  content: 'niasについて';
	position: absolute;
	top: .75rem;
	left: 9rem;
  font-size: 1.2rem;
  width: 10rem;
}
.ft_menu .nws::before {
  content: 'お知らせ';
	position: absolute;
	top: .75rem;
	left: 7.8rem;
  font-size: 1.2rem;
  width: 10rem;
}
.ft_menu .cnt::before {
  content: 'お問い合わせ';
	position: absolute;
	top: .75rem;
	left: 11rem;
  font-size: 1.2rem;
  width: 10rem;
}
.ft_menu p {
  margin-top: 1.2rem;
}
.ft_menu .ig {
  position: relative;
  margin-top: 2rem !important;
  padding-top: 2rem !important;
}
.ft_menu .ig::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 50px;
  height: 1px;
  background-color: #000;
}
.ft_menu a {
  display: inline-block;
  font-size: 2.8rem;
  line-height: 3.6rem;
  text-decoration: none;
}
.ft_menu .tp a, .ft_menu .wks a, .ft_menu .abt a,
.ft_menu .nws a, .ft_menu .cnt a {
  position: relative;
}
.ft_menu .tp a::after, .ft_menu .wks a::after, .ft_menu .abt a::after,
.ft_menu .nws a::after, .ft_menu .cnt a::after, .ft_menu .ig a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.ft_menu .tp a:hover::after, .ft_menu .wks a:hover::after, .ft_menu .abt a:hover::after,
.ft_menu .nws a:hover::after, .ft_menu .cnt a:hover::after, .ft_menu .ig a:hover::after {
  transform: scale(1, 1);/*X方向にスケール拡大*/
}
.ft_menu .ig a {
  position: relative;
  font-size: 2.1rem;
  line-height: 2.8rem;
  text-decoration: none;
}
.footer_column2 .pagetop a {
  position: absolute;
  bottom: 0;
	right: -2vw;
	font-size: 1.6rem;
	line-height: 2.1rem;
  transform: translateY(-50%);
  -webkit-transform: translate(0,0%);
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-decoration: none;
}
.footer_column2 .pagetop a::after {
  display: inline-block;
  content: url(/wp-content/uploads/material/arrow_long.svg);
  width: 23px;
  height: 215px;
  position: absolute;
  bottom: 75px;
  right: 2px;
  transform: scale(1, 0);
  transition: all .2s ease .1s;
  transform-origin: bottom;/*下基点*/
}
.footer_column2 .pagetop a:hover::after {
  transform: scale(1, 1);
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .footer_in_box {
    gap: 4vw;
  }
  .ft_info .main p {
    font-size: 1.3rem;
    line-height: 1.8rem;
    margin-top: 1rem;
  }
  .ft_satellite p {
    font-size: 1.3rem;
    line-height: 1.8rem;
    margin-top: 1rem;
  }
  .ft_menu a {
    font-size: 2.4rem;
    line-height: 2.8rem;
  }
  .ft_menu .ig {
    margin-top: 1.6rem !important;
    padding-top: 1.6rem !important;
  }
  .ft_menu .tp::before {
    top: .5rem;
    left: 4.4rem;
    font-size: 1rem;
  }
  .ft_menu .wks::before {
    top: .5rem;
    left: 7rem;
    font-size: 1rem;
  }
  .ft_menu .abt::before {
  	top: .3rem;
  	left: 7.3rem;
    font-size: 1rem;
  }
  .ft_menu .nws::before {
  	top: .4rem;
  	left: 6.3rem;
    font-size: 1rem;
  }
  .ft_menu .cnt::before {
  	top: .45rem;
  	left: 9.3rem;
    font-size: 1rem;
  }
}

@media (max-width: 1024px) {
  .ft_info .office_name {
    font-size: 1.8rem !important;
    line-height: 2.1rem !important;
  }
  .ft_info .gmap_link, .ft_satellite .gmap_link {
    margin-top: 0 !important;
  }
}
@media screen and (min-width:768px) and ( max-width:1024px) {
  .footer_in_box {
    gap: 3vw;
  }
  .footer_column {
    margin-left: 3vw !important;
    margin-right: 3vw !important;
  }
  .footer_in_box img {
    width: 100px;
  }
  .ft_info .main .tel {
    gap: .75rem;
  }
  .ft_menu a {
    font-size: 2.1rem;
    line-height: 2.4rem;
  }
  .ft_menu .ig {
    margin-top: 1.4rem !important;
    padding-top: 1.4rem !important;
  }
  .ft_menu .tp::before {
    left: 3.8rem;
    font-size: .9rem;
  }
  .ft_menu .wks::before {
    left: 6.4rem;
    font-size: .9rem;
  }
  .ft_menu .abt::before {
  	left: 6.7rem;
    font-size: .9rem;
  }
  .ft_menu .nws::before {
  	left: 5.7rem;
    font-size: .9rem;
  }
  .ft_menu .cnt::before {
  	left: 8.7rem;
    font-size: .9rem;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  #block-9 .c-widet .c-row {
    --_gap: 0;
  }
  .nias_bar {
    height: 18px;
    background-image: url(/wp-content/uploads/material/nias_bar2.svg);
  }
  .footer_nias {
    margin-top: 0 !important;
    padding-top: 60px;
    padding-bottom: 120px;
    padding-left: 3vw !important;
    padding-right: 3vw !important;
  }
  /* ft_navi ***********************************/
  .footer_column2 {
  }
  .footer_column2 .navibox {
    justify-content: left;
  }
  .ft_menu .ig {
    margin-top: 3rem !important;
  }
  .footer_column2 .pagetop a {
  	right: 0;
  }
  /* main ***********************************/
  .ft_info {
    margin-top: 60px !important;
    padding-top: 60px !important;
    border-top: 1px solid #000;
  }
  .ft_info .office_name {
    font-size: 1.8rem !important;
    line-height: 2.4rem !important;
  }
  .ft_info .main {
    margin-top: 2.6rem;
  }
  .ft_info .main p {
    font-size: 1.35rem;
    line-height: 1.8rem;
    margin-top: .5rem;
  }
  .ft_info .add {
    gap: 1.6rem;
  }
  .ft_info .main .tel {
    margin-top: .7rem;
    margin-bottom: 1.4rem;
  }
  .ft_info .gmap_link, .ft_satellite .gmap_link {
    margin-top: 0;
  }
  .ft_info .gmap_link a, .ft_satellite .gmap_link a {
    font-size: 1.1rem;
  }
  .ft_info .pp_link {
    margin-top: 3rem !important;
  }
  /* satelite ***********************************/
  .ft_satellite {
    position: relative;
    padding-top: 0;
    margin-top: 60px;
  }
  .ft_satellite::before {
    position: absolute;
    top: -60px;
    left: 0;
    content: "";
    width: 120px;
    height: 1px;
    background-color: #000;
  }
  .ft_satellite .kamologo_ft {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
  }
  .ft_satellite .add {
    margin-top: 3rem;
    gap: 1.6rem;
  }
  .ft_satellite p {
    font-size: 1.35rem;
    line-height: 1.8rem;
    margin-top: 0;
  }
  .kamo_url {
    margin-top: 1.2rem !important;
  }
  /* copyright ***********************************/
  .l-footer__footer {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .l-footer--footer-1 .l-footer__footer {
    bottom: 15px;
    left: 2vw;
  }
  .c-copyright {
    font-size: 1.25rem;
  }
}



/************************************
** ウィジェット削除
************************************/
/* sp ***********************************/

/************************************
** hover
************************************/
/* トップページ ***********************************/
/* 下層トップページ ***********************************/
/* 各ページ ***********************************/
/* news記事一覧 ***********************************/
/* contact ***********************************/



/************************************
** トップページ
************************************/
.top_slide {
  padding: 0;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  width: 100vw;
  height: 100vh;
}

.c-section {
  padding: 0;
}
.top_slide {
  padding: 0;
}
.top_slider {
  position: relative;
}
.top_slider .spider__canvas {
  width: 100vw;
  height: 100vh;
}
.top_slider img {
  min-height: 100vh;
  object-fit: cover;
  height: 100vh;
}
.top_cover {
  background: #fafaf6 !important;
}

/*------------ スクロールマウス ------------*/
/*スクロールダウン全体の場所*/
.scrdwn {
  /*描画位置※位置は適宜調整してください*/
	position: absolute;
	bottom: 4vh !important;
	right: 50%;
  z-index: 10;
  /*マウスの動き1.6秒かけて動く永遠にループ*/
	animation: mousemove 1.6s ease-in-out infinite;
}
/*下からの距離が変化して上から下に動く*/
@keyframes mousemove {
  0% {bottom: 10px;}
  50% {bottom: 5px;}
  100% {bottom: 10px;}
}
/*Scrollテキストの描写*/
.scrdwn span {
  /*描画位置*/
	position: absolute;
	left: -14px;
	bottom: 45px;
  /*テキストの形状*/
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
}
/*マウスの中の線描写 */
.scrdwn span::after {
	content: "";
  /*描画位置*/
	position: absolute;
	top: 10px;
	left: 16px;
  /*線の形状*/
	width: 1px;
	height: 15px;
	background: #fcfcfa;
  /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: mousepathmove 1.4s linear infinite;
	opacity: 0;
}
/*上からの距離・不透明度・高さが変化して上から下に流れる*/
@keyframes mousepathmove{
	0% {
    height: 0;
		top: 10px;
		opacity: 0;
	}
	50% {
		height: 15px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 30px;
		opacity: 0;
	}
}
/*マウスの描写 */
.scrdwn::before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: -10px;
  /*マウスの形状*/
	width: 25px;
	height: 37px;
	border-radius: 20px;
	border:1px solid #fcfcfa;
}
/*マウスの中の丸の描写*/
.scrdwn::after {
	content:"";
  /*描画位置*/
	position: absolute;
	bottom: 26px;
	left: 0;
  /*丸の形状*/
	width: 5px;
	height: 5px;
	border-radius: 50%;
	border: 1px solid #fcfcfa;
}
@media screen and (min-width:768px) and ( max-width:1024px) {
  .scrdwn {
  	bottom: 8vh !important;
  }
}
@media (max-width: 767px) {
  .scrdwn {
  	bottom: 13vh !important;
  }
  .top_slider_sp {
    margin: 0 !important;
  }
}



/* works ***********************************/
.top_works {
  padding-top: 200px;
}
.top_works h2 {
  margin-right: 8rem !important;
}
.top_works h2::before {
  position: absolute;
  top: 0;
  right: .5rem;
  content: "";
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.top_worksh2_p {
  position: absolute;
  content: "作品";
  top: 242px;
  right: 0;
  font-family: "秀英角ゴシック銀 B", sans-serif !important;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.top_works_box {
  margin-top: 8rem;
}
.top_works_box .n_column {
  gap: 1.2rem;
}
.top_works_box .photobox a {
  overflow: hidden;
}
.top_works_box .photobox a img {
  transition: all 0.3s;
}
.top_works_box .photobox a:hover img {
  transform: scale(1.02);
  opacity: 0.75;
  filter: brightness(110%);
}
.top_works h3 {
  font-size: 1.8rem;
  line-height: 2.6rem;
  text-decoration: none;
}
.topworks_category_box {
  gap: .6rem;
}
.works_category a {
  font-size: 1.15rem;
  line-height: 1.3rem;
  margin-top: .75rem;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #000;
  padding: 2px 8px;
  border-radius: 1.3rem;
  z-index: 10;
  text-decoration: none;
  transition: all ease .5s;
}
.works_category a:hover {
  color: #fafaf6 !important;
}
.works_category a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border-radius: 1.3rem;
  transition: all .5s ease;
  z-index: -1;
}
.works_category a:hover::before {
  background: #000;
}


.top_works_linkbox {
  margin-top: 120px;
}
.top_works_link {
  display: flex;
  align-items: center;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  border-radius: unset;
  padding: 3.6rem 0;
  overflow: hidden;
}
.top_works_link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: all .2s ease;
  background-color: #fff;
}
.top_works_link:hover::before {
  width: 100%;
}
.top_works_link .smb-box__body {
  flex: auto;
}
.top_works_link .toplink {
  font-size: 3.2rem;
  line-height: 3rem;
  font-weight: 400;
  transition: all .25s ease;
}
.top_works_link .more {
  font-size: 2.1rem;
  line-height: 2.1rem;
  font-weight: 400;
  margin-right: 9.6rem;
  transition: all .2s ease .1s;
}
.top_works_link .more::after {
  display: inline-block;
  content: url(/wp-content/uploads/material/arrows_01.svg);
  width: 80px;
  position: absolute;
  top: -3px;
  right: 0;
  transition: all .2s ease .1s;
  transform-origin: right;/*右基点*/
}
.top_works_link:hover .toplink {
  margin-left: 3.6rem;
}
.top_works_link:hover .more {
  margin-right: 6rem;
}
.top_works_link:hover .more::after {
  transform: scale(0, 0);
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .top_works h2 {
    font-size: 4.5rem;
    margin-right: 6rem !important;
  }
  .top_works h2::before {
    right: .25rem;
    height: 120px;
  }
  .top_worksh2_p {
    top: 235px;
  }
  .top_works h3 {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
  .works_category {
    margin-top: 1.4rem;
  }
  .top_works_linkbox {
    margin-top: 90px;
  }
  .top_works_linkbox .link {
    flex-basis: 40% !important;
  }
  .top_works_link {
    padding: 2.6rem 0;
  }
  .top_works_link .toplink {
    font-size: 2.8rem;
  }
  .top_works_link .more {
    font-size: 1.8rem;
  }
}
@media (max-width: 1280px) {
  .top_works_linkbox .link {
    flex-basis: 50% !important;
  }
}
@media screen and (min-width:768px) and ( max-width:781px) {
  .top_works_box .n_column {
    gap: 8rem;
  }
}


/* sp ***********************************/
@media (max-width: 767px) {
  .top_works {
    padding-top: 100px;
  }
  .top_works h2 {
    margin-right: 6rem !important;
  }
  .top_works h2::before {
    right: 0;
    height: 110px;
  }
  .top_worksh2_p {
    top: 130px !important;
    font-size: 1.35rem;
    font-family: "秀英角ゴシック銀 M", sans-serif !important;
    font-weight: 400;
  }
  .top_works_box {
    margin-top: 6rem;
  }
  .top_works_box .n_column {
    gap: 90px;
  }
  .top_works h3 {
    font-size: 1.6rem;
    line-height: 2.1rem;
  }
  .works_category {
    margin-top: 1.2rem;
  }
  .top_works_linkbox {
    margin-top: 60px;
  }
  .top_works_link {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 2.6rem 0;
  }
  .top_works_link .toplink {
    font-size: 2.1rem;
  }
  .top_works_link .more {
    font-size: 1.8rem;
    margin-right: 7.6rem;
  }
  .top_works_link .more::after {
    width: 60px;
    top: 2px;
  }
}



/* about ***********************************/
.top_about {
  position: relative;
  padding-top: 320px;
}
.top_about_image {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.top_about_image img {
  width: 46vw !important;
  will-change: animation;
  animation: rotateAnimation 8s linear infinite;
  overflow: visible;
}
/* 回転アニメーションの定義 */
@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.top_about_logo_n img, .top_about_logo_i img, .top_about_logo_a img, .top_about_logo_s img {
  height: 10vw !important;
  width: auto;
}
.top_about_logo_n img {
  will-change: transform;
  transform: rotate(-15deg);
}
.top_about_logo_i img {
  will-change: transform;
  transform: rotate(18deg);
}
.top_about_logo_a img {
  will-change: transform;
  transform: rotate(5deg);
}
.top_about_logo_s img {
  will-change: transform;
  transform: rotate(12deg);
}
.top_about_logo_n {
  position: absolute;
  top: 400px;
  left: 110px;
  will-change: animation;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
.top_about_logo_i {
  position: absolute;
  bottom: 30px;
  left: 300px;
  will-change: animation;
  animation: floating-y 2.1s ease-in-out infinite alternate-reverse;
  animation-delay: .15s;
}
.top_about_logo_a {
  position: absolute;
  top: 240px;
  right: 200px;
  animation: floating-y 1.6s ease-in-out infinite alternate-reverse;
  animation-delay: .2s;
}
.top_about_logo_s {
  position: absolute;
  bottom: 230px;
  right: 300px;
  will-change: animation;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
  animation-delay: .3s;
}
@keyframes floating-y {
  0% {
    transform: translateY(-5%);
  }
  100% {
    transform: translateY(5%);
  }
}

.top_about h2 {
  margin-right: 13rem !important;
  z-index: 10;
}
.top_about h2::before {
  position: absolute;
  top: 0;
  right: .5rem;
  content: "";
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.top_abouth2_p {
  position: absolute;
  content: "niasについて";
  top: 42px;
  right: 0;
  font-family: "tt-commons-pro", YakuHanJP, "秀英角ゴシック銀 B", sans-serif !important;
  font-size: 1.5rem;
  line-height: 2.1rem;
  font-weight: 500;
  margin-top: 0;
}
.top_about_main {
  position: relative;
  margin-left: 15vw !important;
  z-index: 10;
}
.top_about_main::before {
  content: 'mind / profile / office';
  display: block;
	position: absolute;
	top: 270px;
	right: 8vw;
	font-size: 2.1rem;
	line-height: 2.4rem;
  transform: translateY(-50%);
  -webkit-transform: translate(0,0%);
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
}
.top_about_main::after {
  content: '';
	position: absolute;
	top: 270px;
	right: 9.4vw;
	width: 10px;
	height: 197px;
  background-image: url(/wp-content/uploads/material/wave_line.svg);
  background-repeat: repeat-y;
}
.top_about_main h3 {
  display: inline-block;
  font-size: 5.2rem;
  line-height: 8rem;
  font-family: "秀英角ゴシック銀 B", sans-serif !important;
  margin-top: 120px !important;
  border-bottom: 2px solid #000;
}
.top_about_text {
  margin-top: 90px;
  width: 20vw;
  margin-left: 0 !important;
}
.top_about_text p {
  font-size: 1.6rem;
  line-height: 3.4rem;
}
.top_about_linkbox {
  margin-top: 5vw !important;
  margin-bottom: 360px !important;
  margin-right: 8vw !important;
}

/* レスポンシブ ***********************************/
@media (min-width: 1920px) {
  .top_about_text {
    width: 18vw;
  }
  .top_about_linkbox {
    margin-top: 8vw !important;
  }
}
@media (max-width: 1680px) {
  .top_about_logo_i {
    left: 240px;
  }
  .top_about_logo_a {
    top: 350px;
  }
  .top_about_logo_s {
    right: 190px;
  }
}
@media (max-width: 1440px) {
  .top_about {
    padding-top: 240px;
  }
  .top_about h2 {
    font-size: 4.5rem;
    margin-right: 12rem !important;
  }
  .top_about h2::before {
    right: .25rem;
    height: 120px;
  }
  .top_abouth2_p {
    top: 33px;
  }
  .top_about_main {
    margin-left: 5vw !important;
  }
  .top_about_main::after {
  	right: 10vw;
  }
  .top_about_main h3 {
    font-size: 4rem;
    line-height: 5.6rem;
  }
  .top_about_text {
    width: 33vw;
  }
  .top_about_text p {
    font-size: 1.5rem;
    line-height: 3.2rem;
  }
  .top_about_linkbox {
    margin-bottom: 240px !important;
  }
  .top_about_logo_n {
    top: 340px;
  }
  .top_about_logo_i {
    bottom: 80px;
    left: 210px;
  }
  .top_about_logo_a {
    top: 230px;
    right: 180px;
  }
  .top_about_logo_s {
    bottom: 250px;
    right: 150px;
  }
}
@media (max-width: 1280px) {
  .top_about_main::after {
    right: 10.5vw;
  }
  .top_about_logo_i {
    bottom: 40px;
    left: 170px;
  }
}
@media (max-width: 1024px) {
  .top_about_main {
    margin-left: 3vw !important;
  }
  .top_about_main::before {
    right: 3vw;
    font-size: 1.8rem;
    line-height: 2.1rem;
  }
  .top_about_main::after {
    right: 6vw;
    height: 170px;
  }
  .top_about_main h3 {
    font-size: 3.6rem;
    line-height: 4.8rem;
  }
  .top_about_text {
    width: 45vw;
  }
  .top_about_logo_s {
    right: 110px;
  }
  .top_about_linkbox {
    margin-top: 10vw !important;
    margin-right: 3vw !important;
  }
  .top_about_logo_n img, .top_about_logo_i img, .top_about_logo_a img, .top_about_logo_s img {
    height: 13vw !important;
  }
  .top_about_logo_i {
    left: 70px;
  }
  .top_about_logo_s {
    right: 50px;
    bottom: 230px;
  }
}
@media screen and (min-width:640px) and ( max-width:781px) {
  .top_about_linkbox {
    margin-left: 30vw;
  }
}



/* sp ***********************************/
@media (max-width: 767px) {
  .top_about {
    padding-top: 160px;
  }
  .top_about_image {
    top: 48%;
  }
  .top_about_image img {
    width: 85vw !important;
  }
  .top_about .wp-block-image img {
    max-width: 100vw !important;
  }
  .top_about h2 {
    margin-right: 11rem !important;
  }
  .top_about h2::before {
    top: 0;
    right: 0;
    height: 110px;
  }
  .top_abouth2_p {
    top: 32px;
    font-size: 1.35rem;
    font-weight: 400;
    font-family: "tt-commons-pro", YakuHanJP, "秀英角ゴシック銀 M", sans-serif !important;
    z-index: 10;
  }
  .top_about_main {
    margin-left: 0 !important;
  }
  .top_about_main::before {
  	top: 160px;
  	right: 3vw;
  	font-size: 1.6rem;
  	line-height: 1.8rem;
  }
  .top_about_main::after {
  	top: 160px;
  	height: 152px;
    right: 7.5vw;
  }
  .top_about_main h3 {
    font-size: 2.4rem;
    line-height: 3.3rem;
    margin-top: 70px !important;
  }
  .top_about_text {
    margin-top: 45px;
    width: 66vw;
  }
  .top_about_text p {
    font-size: 1.5rem;
    line-height: 3rem;
  }
  .top_about_linkbox {
    margin-top: 60px !important;
    margin-bottom: 120px !important;
    margin-right: 0 !important;
  }
  .top_about_logo_n img, .top_about_logo_i img, .top_about_logo_a img, .top_about_logo_s img {
    height: 9vw !important;
  }
  .top_about_logo_n {
    top: 20px;
    left: 10px;
  }
  .top_about_logo_i {
    bottom: 40px;
    left: 50px;
  }
  .top_about_logo_a {
    top: 60px;
    right: 10px;
  }
  .top_about_logo_s {
    bottom: 10px;
    right: 120px;
  }
}
@media (max-width: 640px) {
  .top_about_logo_n img, .top_about_logo_i img, .top_about_logo_a img, .top_about_logo_s img {
    height: 16vw !important;
  }
}
@media (max-width: 480px) {
  .top_about_logo_n img, .top_about_logo_i img, .top_about_logo_a img, .top_about_logo_s img {
    height: 20vw !important;
  }
  .top_about_logo_n {
    top: 115px;
    left: 10px;
  }
  .top_about_logo_i {
    bottom: 140px;
    left: 80px;
  }
  .top_about_logo_a {
    top: 180px;
    right: 10px;
  }
  .top_about_logo_s {
    bottom: 190px;
    right: 10px;
  }
}


/* news ***********************************/
.top_news {
  margin-bottom: 10vw !important;
}
.top_news h2 {
  margin-right: 11rem !important;
  z-index: 10;
}
.top_news h2::before {
  position: absolute;
  top: 0;
  right: .5rem;
  content: "";
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.top_newsh2_p {
  position: absolute;
  content: "お知らせ";
  top: 42px;
  right: 0;
  font-family: "秀英角ゴシック銀 B", sans-serif !important;
  font-size: 1.5rem;
  line-height: 2.1rem;
  font-weight: 500;
  margin-top: 0;
}
.top_news_listbox {
  padding-top: 180px;
  margin-left: 5vw !important;
  width: 55vw;
}
.top_news_listbox .wp-block-snow-monkey-blocks-recent-posts {
  max-width: 55vw;
}
.top_news_linkbox {
  margin-top: 90px;
  margin-bottom: 360px !important;
}
.top_news_link {
  display: flex;
  align-items: center;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  border-radius: unset;
  padding: 3.6rem 0;
  overflow: hidden;
}
.top_news_link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: all .2s ease;
  background-color: #fff;
}
.top_news_link:hover::before {
  width: 100%;
}
.top_news_link .smb-box__body {
  flex: auto;
}
.top_news_link .toplink {
  font-size: 3.2rem;
  line-height: 3rem;
  font-weight: 400;
  transition: all .25s ease;
}
.top_news_link .more {
  font-size: 2.1rem;
  line-height: 2.1rem;
  font-weight: 400;
  margin-right: 9.6rem;
  transition: all .2s ease .1s;
}
.top_news_link .more::after {
  display: inline-block;
  content: url(/wp-content/uploads/material/arrows_01.svg);
  width: 80px;
  position: absolute;
  top: -3px;
  right: 0;
  transition: all .2s ease .1s;
  transform-origin: right;/*右基点*/
}
.top_news_link:hover .toplink {
  margin-left: 3.6rem;
}
.top_news_link:hover .more {
  margin-right: 6rem;
}
.top_news_link:hover .more::after {
  transform: scale(0, 0);
}
.top_news .c-entries__item:first-child .c-entry-summary__meta::after {
  position: absolute;
  content: "[NEW]";
  top: -1.4rem;
  left: 0;
  font-size: 1.1rem;
  line-height: 1.2rem;
  font-weight: 500;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .top_works h2 {
    font-size: 4.5rem;
    margin-right: 6rem !important;
  }
  .top_works h2::before {
    right: .25rem;
    height: 120px;
  }
  .top_worksh2_p {
    top: 235px;
  }
  .top_news h2 {
    font-size: 4.5rem;
    margin-right: 9rem !important;
  }
  .top_news h2::before {
    right: .25rem;
    height: 120px;
  }
  .top_newsh2_p {
    top: 42px;
  }
  .top_news_link {
    padding: 2.8rem 0;
  }
  .top_news_link .toplink {
    font-size: 2.8rem;
  }
  .top_news_link .more {
    font-size: 1.8rem;
  }
  .top_news_linkbox {
    margin-bottom: 240px !important;
  }
}
@media (max-width: 1024px) {
  .top_news_listbox {
    margin-left: 3vw !important;
  }
  .top_news_listbox {
    width: 70vw;
  }
  .top_news_listbox .wp-block-snow-monkey-blocks-recent-posts {
    max-width: 70vw;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .top_news {
    margin-bottom: 10vw !important;
  }
  .top_news h2 {
    margin-right: 8.5rem !important;
  }
  .top_news h2::before {
    right: 0;
    height: 110px;
  }
  .top_newsh2_p {
    top: 32px;
    font-family: "秀英角ゴシック銀 B", sans-serif !important;
    font-size: 1.35rem;
    font-weight: 400;
  }
  .top_news_listbox {
    padding-top: 90px;
    margin-left: 0 !important;
    width: 100%;
  }
  .top_news_listbox .wp-block-snow-monkey-blocks-recent-posts {
    max-width: 70vw;
  }
  .top_news_linkbox {
    margin-top: 60px;
    margin-bottom: 120px !important;
  }
  .top_news_link {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 2.6rem 0;
  }
  .top_news_link .toplink {
    font-size: 2.1rem !important;
  }
  .top_news_link .more {
    font-size: 1.8rem !important;
    margin-right: 7.6rem !important;
  }
  .top_news .c-entry-summary__title {
    position: relative;
    font-size: 1.8rem !important;
    line-height: 2.6rem !important;
  }
  .top_news .c-entry-summary__meta {
    font-size: 1.4rem !important;
    line-height: 1.8rem !important;
    margin-top: 1.6rem !important;
  }
  .top_news .c-entries--text2 .c-entries__item>a {
    padding-bottom: 2.4rem;
  }
  .top_news .c-entry-summary__term {
    font-size: 1.4rem !important;
  }
  .top_news_link .more::after {
    width: 60px;
    top: 2px;
  }
  .top_news .c-entries__item:first-child .c-entry-summary__meta::after {
    top: -1.2rem;
    font-size: 1rem;
  }
}



/* かもすた ***********************************/
.top_kamo {
  padding-bottom: 240px;
}
.top_kamo .colorback {
  padding-right: 0;
  margin-left: 10vw !important;
  padding-top: 120px;
  padding-bottom: 120px;
}
.kamo_textbox {
  position: absolute;
  display: block;
  top: 3vw;
  left: -5vw;
  max-width: 360px;
}
.kamo_photo {
  margin-top: 0 !important;
}
.kamo_photo img {
  width: 100%;
  margin-right: 0 !important;
}
.kamo_textbox img {
  width: 15vw;
}
.kamo_lead {
  font-size: 2.6rem !important;
  line-height: 5.2rem !important;
  font-family: "秀英角ゴシック銀 M", sans-serif !important;
  margin-top: 60px;
}
.kamo_text p {
  font-size: 1.6rem;
  line-height: 2.8rem;
}
.kamo_btn {
  z-index: 100;
}
.kamo_btn a {
  font-size: 1.2rem;
  font-family: "秀英角ゴシック銀 M", sans-serif !important;
  color: #000 !important;
  background-color: transparent !important;
  border: 1px solid #000;
  margin-top: 30px;
  transition: all .3s ease;
}
.kamo_btn span {
  transition: all .3s ease;
}
.kamo_btn a:hover {
  background-color: #fff !important;
}
.kamo_btn a:hover span {
  transform: translateY(-3px);
}
.smb-btn:hover {
  filter: none;
}

/* レスポンシブ ***********************************/
@media (max-width: 1680px) {
  .kamo_textbox {
    top: 1vw;
  }
}
@media (max-width: 1440px) {
  .top_kamo {
    padding-bottom: 180px;
  }
  .kamo_lead {
    font-size: 2.4rem !important;
    line-height: 4.6rem !important;
    margin-top: 45px;
  }
  .kamo_text {
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
  .kamo_btn a {
    margin-top: 15px;
  }
}
@media (max-width: 1280px) {
  .kamo_textbox {
    max-width: 300px;
  }
}
@media (max-width: 1024px) {
  .kamo_photo .p_column {
    flex-basis: 60% !important;
  }
  .kamo_textbox {
    top: -3vw;
    left: 2vw;
  }
  .kamo_lead {
    font-size: 2.1rem !important;
    line-height: 4rem !important;
    margin-top: 30px;
  }
  .kamo_text {
    font-size: 1.4rem !important;
    line-height: 2.4rem !important;
  }
}
@media screen and (min-width:768px) and ( max-width:1023px) {
  .kamobox_sp p {
    width: 50vw;
  }
}
@media screen and (min-width:768px) and ( max-width:1024px) {
  .kamobox_sp {
    left: -12vw;
    width: 95vw;
  }
  .kamobox_sp p {
    font-size: 1.5rem;
    line-height: 2.6rem;
    margin-left: 0 !important;
  }
  .top_kamo .colorback {
    margin-left: 16vw !important;
  }
  .kamo_logo img {
    width: 240px;
  }
  .kamo_photo {
    margin-top: 30px !important;
  }
}


/* sp ***********************************/
@media (max-width: 767px) {
  .top_kamo {
    padding-bottom: 90px;
  }
  .top_kamo .colorback {
    height: 880px;
    position: relative;
    margin-left: 18vw !important;
    padding: 0 !important;
  }
  .kamobox_sp {
    top: 65px;
    left: -12vw;
    width: 95vw;
  }
  .kamo_logo {
  }
  .kamo_logo img {
    width: 180px;
  }
  .kamo_photo {
    margin-top: 30px !important;
  }
  .kamo_lead {
    font-size: 2.4rem !important;
    line-height: 4.6rem !important;
    margin-top: 30px;
  }
  .kamo_text {
    font-size: 1.5rem;
    line-height: 2.8rem;
    margin-right: 6vw !important;
  }
  .kamo_btn {
    margin-top: 30px;
  }
  .kamo_btn a {
    font-size: 1.35rem;
    margin-top: 0;
  }
}



/************************************
** 下層ページ
************************************/



/************************************
** works List
************************************/
.post-16 .c-entry__header h1 {
  margin-right: 4rem !important;
}
.post-16 .c-entry__header h1::after {
  position: relative;
  top: 0;
  right: -4rem;
  content: "作品";
  font-family: YakuHanJP, "tt-commons-pro", dnp-shuei-gothic-gin-std, sans-serif !important;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.works {
  margin-top: 120px !important;
  margin-bottom: 210px !important;
}
.vp-portfolio__layout-elements {
  margin-bottom: 60px !important;
}
.vp-portfolio__layout-elements-align-right {
  font-size: 1.6rem;
}
/******* カテゴリーパネル *******/
.vp-filter__style-minimal .vp-filter__item>* {
  color: #000 !important;
}
.vp-filter__item-active a {
  border-bottom: 1px solid #000;
}
.vp-portfolio__filter-wrap, .vp-portfolio__item, .vp-portfolio__items-wrap, .vp-portfolio__pagination-wrap, .vp-portfolio__sort-wrap, .vp-portfolio__thumbnails-wrap {
  overflow: visible !important;
}
.vp-filter__style-minimal .vp-filter__item a {
  position: relative;
  padding: 0;
  line-height: 2.6rem;
  margin-left: 6rem !important;
}
.vp-filter__style-minimal .vp-filter__item a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.vp-filter__style-minimal .vp-filter__item a:hover::before {
  transform: scale(1, 1);
}

.vp-filter [data-vp-filter="office"]::after {
  position: absolute;
  top: -.8rem;
  left: -3.2rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 50px;
  background-color: #000;
  transform: rotate(45deg);
}
.vp-filter [data-vp-filter="residential"]::after {
  position: absolute;
  top: -.8rem;
  left: -3.2rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 50px;
  background-color: #000;
  transform: rotate(45deg);
}
.vp-filter [data-vp-filter="furniture"]::after {
  position: absolute;
  top: -.8rem;
  left: -3.2rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 50px;
  background-color: #000;
  transform: rotate(45deg);
}
.vp-filter [data-vp-filter="public"]::after {
  position: absolute;
  top: -.8rem;
  left: -3.2rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 50px;
  background-color: #000;
  transform: rotate(45deg);
}
.vp-filter [data-vp-filter="complex"]::after {
  position: absolute;
  top: -.8rem;
  left: -3.2rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 50px;
  background-color: #000;
  transform: rotate(45deg);
}
.vp-filter [data-vp-filter="renovation"]::after {
  position: absolute;
  top: -.8rem;
  left: -3.2rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 50px;
  background-color: #000;
  transform: rotate(45deg);
}

/******* ポートフォリオパネル *******/
.vp-portfolio__item-meta-categories, .vp-filter__style-minimal .vp-filter__item a {
  text-transform: none !important;
}
.vp-portfolio__items-style-default .vp-portfolio__item-meta {
  display: flex;
  flex-direction: column-reverse;
}
.vp-portfolio__items-style-default .vp-portfolio__item:hover .vp-portfolio__item-img img {
  transform: scale(1.02) !important;
}
.vp-portfolio__items-style-default .vp-portfolio__item-overlay {
  background: rgba(255,255,255,.35) !important;
  transition-duration: .5s;
}

.post-299 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_012.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-305 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_011.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-308 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_010.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-310 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_009.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-312 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_008.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-314 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_007.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-316 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_006.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-318 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_005.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-320 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_004.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-322 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_003.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-324 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_002.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}
.post-326 .vp-portfolio__item-overlay {
  background-image: url(/wp-content/uploads/material/workshover_wh_001.webp) !important;
  background-size: cover !important;
  transform: scale(1.02) !important;
}




.works .vp-portfolio__item-meta {
  padding: 0 !important;
  margin-top: 1.6rem !important;
}
.works .vp-portfolio__item-meta-title {
  font-size: 1.6rem !important;
  font-family: "秀英角ゴシック銀 M", YakuHanJP, sans-serif !important;
}
.works .vp-portfolio__item-meta-title a {
  position: relative;
}
.vp-portfolio__items-style-default .vp-portfolio__item-meta-categories {
  gap: .6rem !important;
}
.works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a {
  font-size: 1.15rem;
  line-height: 1.3rem;
  color: #000;
  margin-top: .75rem;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #000;
  padding: 3px 8px;
  border-radius: 1rem;
  z-index: 10;
  text-decoration: none;
  transition: ease .2s;
}
.works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a:hover {
  color: #fafaf6 !important;
}
.vp-portfolio__items-style-default .vp-portfolio__item-caption a:focus, .vp-portfolio__items-style-default .vp-portfolio__item-caption a:hover {
  color: #000 !important;
}

.works .vp-portfolio__item-meta-title a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.works .vp-portfolio__item-meta-title a:hover::before {
  transform: scale(1, 1);
}
.works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border-radius: 1.3rem;
  transition: all .5s ease;
  z-index: -1;
}
.works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a:hover::before {
  background: #000;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .post-16 .c-entry__header h1 {
    margin-right: -1rem !important;
  }
  .post-16 .c-entry__header h1::after {
    top: 0;
    right: -4rem;
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin-right: 5rem !important;
  }
  .vp-portfolio__layout-elements-align-right {
    font-size: 1.4rem;
  }
  .works .vp-portfolio__item-meta-title {
    font-size: 1.4rem !important;
  }
  .works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a {
    margin-top: 1.2rem;
  }
}
@media (max-width: 1024px) {
  .works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a {
    font-size: 1.1rem;
    margin-top: 1rem;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .works {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .post-16 .c-entry__header h1::after {
    font-size: 1.35rem;
  }
  .vp-portfolio__layout-elements {
    margin-bottom: 45px !important;
  }
  .vp-portfolio__layout-elements-align-right {
    font-size: 1.35rem;
  }
  /******* カテゴリーパネル *******/
  .vp-filter__style-minimal .vp-filter__item a {
    line-height: 2.1rem;
    margin-left: 3.2rem !important;
  }
  .vp-filter [data-vp-filter="office"]::after {
    top: -.25rem;
    left: -1.6rem;
    height: 25px;
  }
  .vp-filter [data-vp-filter="residential"]::after {
    top: -.25rem;
    left: -1.6rem;
    height: 25px;
  }
  .vp-filter [data-vp-filter="furniture"]::after {
    top: -.25rem;
    left: -1.6rem;
    height: 25px;
  }
  .vp-filter [data-vp-filter="culture"]::after {
    top: -.25rem;
    left: -1.6rem;
    height: 25px;
  }
  .vp-filter [data-vp-filter="public"]::after {
    top: -.25rem;
    left: -1.6rem;
    height: 25px;
  }
  .vp-filter [data-vp-filter="complex"]::after {
    top: -.25rem;
    left: -1.6rem;
    height: 25px;
  }
  /******* ポートフォリオパネル *******/
  .works .vp-portfolio__item-meta {
    margin-top: 1.2rem !important;
  }
  .works .vp-portfolio__item-meta-title {
    font-size: 1.4rem !important;
  }
  .works .vp-portfolio__items-style-default .vp-portfolio__item-caption .vp-portfolio__item-meta-category a {
    margin-top: 1rem;
  }
}



/************************************
** works detail
************************************/
.type-portfolio .c-entry__header {
  display: none;
}
.type-portfolio .c-entry__content {
  margin-top: 0 !important;
}
.works_detail_label {
  position: relative;
  margin-bottom: 150px;
}
.type-portfolio .works_detail_label {
  margin-top: 5vw !important;
  margin-left: 5vw !important;
  margin-right: 5vw !important;
}
.type-portfolio .works_detail_label .h1text {
  font-size: 5.5rem;
  font-weight: 500;
  padding: 0;
  text-align: right;
  margin-right: 4rem !important;
}
.type-portfolio .works_detail_label .h1text::before {
  position: relative;
  top: 10rem;
  right: -13.5rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.type-portfolio .works_detail_label .h1text::after {
  position: relative;
  top: 0;
  right: -4rem;
  content: "作品";
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.works_detail {
  position: relative;
  margin-bottom: 240px !important;
}
.works_detail .column {
  gap: 10vw;
}
.works_detail .textbox {
  margin-left: 5vw !important;
}
.works_detail .title h2 {
  font-size: 2.8rem;
  line-height: 3.6rem;
  font-family: "秀英角ゴシック銀 B", YakuHanJP, sans-serif !important;
  font-weight: 500;
}
.works_detail .title p {
  font-size: 1.6rem;
  line-height: 2.1rem;
  margin-top: 2.1rem;
}
.works_detail .category {
  margin-top: 20px;
}
.works_detail .category a {
  color: #666;
  font-size: 1.3rem;
  line-height: 1.8rem;
  margin-top: 0 !important;
  border-bottom: 1px solid #666;
  text-decoration: none;
}
.works_detail .text {
  margin-top: 90px;
}
.works_detail .text p {
  font-size: 1.5rem;
  line-height: 3.2rem;
}
.works_detail .info {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #000;
}
.works_detail .info p {
  font-size: 1.35rem;
  line-height: 2.1rem;
}
.works_detail .photo {
  margin-right: 5vw !important;
}
.works_detail .photo .wp-block-image {
  margin-right: 0 !important;
}
.works_detail .photo img {
  margin-bottom: 90px !important;
}
.works_detail .add {
  margin-bottom: 90px;
}
.works_detail .add p {
  font-size: 1.8rem;
  line-height: 3.6rem;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .type-portfolio .works_detail_label {
    margin-top: 8vw !important;
  }
  .type-portfolio .works_detail_label .h1text {
    font-size: 4.5rem;
  }
  .type-portfolio .works_detail_label .h1text::before {
    top: 6rem;
    right: -13rem;
    height: 120px;
  }
  .works_detail .column {
    gap: 8vw;
  }
  .works_detail .textbox {
    flex-basis: 24% !important;
  }
}
@media (max-width: 1024px) {
  .works_detail .title h2 {
    font-size: 2.4rem;
    line-height: 3.2rem;
  }
  .works_detail .title p {
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin-top: 1.8rem;
  }
  .works_detail .text p {
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
}
@media screen and (min-width:768px) and ( max-width:781px) {
  .works_detail .textbox .text {
    width: 66vw;
    right: 10vw;
    margin-left: 34vw !important;
  }
  .works_detail .info {
    margin-right: 5vw !important;
  }
  .work_detail_info {
    flex-basis: 15% !important;
  }
  .works_detail .photo {
    margin-left: 5vw !important;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .works_detail_label {
    margin-bottom: 60px;
  }
  .type-portfolio .works_detail_label {
    margin-top: 20vw !important;
  }
  .type-portfolio .works_detail_label .h1text {
    font-size: 4.2rem;
  }
  .type-portfolio .works_detail_label .h1text::before {
    top: 6rem;
    right: -11.5rem;
    height: 110px;
  }
  .type-portfolio .works_detail_label .h1text::after {
    font-size: 1.35rem;
  }
  .works_detail {
    margin-left: 5vw !important;
    margin-right: 5vw !important;
    margin-bottom: 60px !important;
  }
  .works_detail .title h2 {
    font-size: 2.1rem;
    line-height: 2.4rem;
  }
  .works_detail .title p {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .works_detail .mainv {
    margin-top: 40px;
  }
  .works_detail .text {
    margin-top: 40px;
    margin-right: 0 !important;
    width: 66vw;
  }
  .works_detail .text p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  .works_detail .photobox {
    margin-top: 40px;
  }
  .works_detail .photobox img {
    margin-bottom: 60px;
  }
  .works_detail .info p {
    font-size: 1.25rem;
    line-height: 1.8rem;
  }
  .works_detail .textbox {
    margin-left: 0 !important;
  }
  .works_detail .photo {
    margin-right: 0 !important;
  }
}



/************************************
** about
************************************/
.about {
  margin: 150px 5vw 240px !important;
}
.post-23 .c-entry__header h1 {
  margin-right: 4rem !important;
}
.post-23 .c-entry__header h1::after {
  position: relative;
  top: 0;
  right: -4rem;
  content: "niasについて";
  font-family: "tt-commons-pro", dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.area_main {
  width: 76vw;
  margin-top: -400px !important;
}
.about_copy {
  position: sticky;
  top: 35vh;
  right: 0;
  margin-right: 3.5vw !important;
	font-size: 2.8rem;
	line-height: 2.8rem;
  transform: translateY(-50%);
  -webkit-transform: translate(0,0%);
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-decoration: none;
  font-feature-settings: initial;
}
.about_bar {
  margin-left: 5vw !important;
}
.about_head {
  margin-left: 5vw !important;
}
.about_head h2 {
  display: inline-block;
  font-size: 4rem;
  line-height: 4.2rem;
  font-weight: 400;
  border-bottom: 1px solid #000;
}
.about_head p {
  font-size: 1.3rem;
  line-height: 1.8rem;
  margin-top: 1.3rem !important;
}

/* レスポンシブ ***********************************/
@media (max-width: 1680px) {
  .about_head {
    flex-basis: 30% !important;
  }
  .about_head h2 {
    font-size: 3.6rem;
    line-height: 4rem;
  }
  .about_head p {
    font-size: 1.2rem;
    line-height: 1.6rem;
    margin-top: 1rem !important;
  }
}
@media (max-width: 1440px) {
  .area_main {
    margin-top: -360px !important;
  }
  .about_copy {
    top: 30vh;
  	font-size: 2.4rem;
    height: 360px;
  }
}
@media (max-width: 1280px) {
  .about_head {
    flex-basis: 25% !important;
  }
}
@media (max-width: 1024px) {
  .about_head {
    margin-left: 2vw !important;
  }
  .about_bar {
    margin-left: 2vw !important;
  }
}
@media screen and (min-width:768px) and ( max-width:781px) {
  .about_head {
    margin-left: 0 !important;
  }
  .about_bar {
    margin-left: 0 !important;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .post-23 .c-entry__header h1 {
    margin-right: 3.5rem !important;
  }
  .post-23 .c-entry__header h1::after {
    right: -3.5rem;
    font-size: 1.35rem;
  }
  .post-23 .c-entry__header {
    margin-bottom: 120px !important;
  }
  .about {
    margin: 0 5vw 60px !important;
  }
  .about_copy {
    top: 20vh;
    margin-right: 5vw !important;
  	font-size: 1.8rem;
  	line-height: 2.1rem;
  }
  .area_main {
    width: 70vw;
    margin-top: -340px !important;
  }
  .about_bar {
    margin-left: 0 !important;
  }
  .about_head {
    margin-left: 0 !important;
  }
  .about_head h2 {
    font-size: 2.8rem;
    line-height: 3rem;
  }
  .about_head p {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin-top: 1rem !important;
  }
}



/* mind ***********************************/
.mind {
  margin-bottom: 8vw !important;
}
.mind_contents {
  margin-bottom: 8vw !important;
}
.mind_lead {
  font-size: 2.6rem;
  line-height: 5.4rem;
}
.mind_text {
  margin-top: 60px;
}
.mind_text p {
  font-size: 1.8rem;
  line-height: 4rem;
}
.profile .wp-block-accordion-heading__toggle, .office .wp-block-accordion-heading__toggle {
  flex-direction: row-reverse;
}

/* レスポンシブ ***********************************/
@media (max-width: 1919px) {
  .mind_text p {
    max-width: 80% !important;
  }
}
@media (max-width: 1440px) {
  .mind_lead {
    font-size: 2.4rem;
    line-height: 4.8rem;
  }
  .mind_text {
    margin-top: 45px;
  }
  .mind_text p {
    max-width: 100% !important;
    font-size: 1.5rem;
    line-height: 3.2rem;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .mind {
    margin-bottom: 60px !important;
  }
  .mind_contents {
    margin-top: 10px !important;
    margin-bottom: 60px !important;
  }
  .mind_lead {
    font-size: 1.8rem;
    line-height: 3.6rem;
  }
  .mind_text {
    margin-top: 60px;
  }
  .mind_text p {
    font-size: 1.5rem;
    line-height: 3rem;
  }
}



/* profile ***********************************/
.profile {
  margin-bottom: 8vw !important;
}
.prof_column {
  margin-top: 60px !important;
  gap: 8vw;
}
.prof_column_n {
}
.prof_column_i {
}
.prof_namebox {
}
.prof_namebox h3 {
  font-size: 2.1rem;
  line-height: 2.4rem;
}
.prof_namebox p {
  font-size: 1.5rem;
  line-height: 1.6rem;
  margin-top: 1rem;
}
.prof_namebox .job {
  margin-top: 2.4rem;
}
.prof_namebox .job p {
  font-size: 1.25rem;
  line-height: 1.6rem;
  margin-top: .75rem;
}
.prof_namebox .job_in {
  margin-top: .75rem;
}
.prof_namebox .job_in p {
  margin-top: 0 !important;
}
.career_box {
  margin-top: 60px;
}
.career_box .year p {
  font-size: 1.35rem;
  line-height: 2rem;
}
.career_box .event p {
  font-size: 1.35rem;
  line-height: 2rem;
}
.aux_work {
  margin-top: 45px;
  margin-bottom: 45px !important;
}
.aux_work .wp-block-accordion {
  margin-left: 0 !important;
}
.aux_work .wp-block-accordion-heading__toggle {
  font-size: 1.65rem;
  line-height: 2.1rem;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 L", sans-serif !important;
  font-weight: 400 !important;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}
.aux_work .wp-block-accordion-heading__toggle-title {
  position: relative;
  display: inline-block;
}
.aux_work .wp-block-accordion-heading__toggle-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 190px;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.aux_work .wp-block-accordion-heading__toggle-title::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 190px;
  height: 2.2rem;
  background-color: #fff;
  z-index: -1;
}
.aux_work .wp-block-accordion-heading__toggle:hover .aux_work .wp-block-accordion-heading__toggle-title {
  transition: all .2s ease;
  text-decoration: none;
  border-bottom: 1px solid #000;
}
#accordion-item-1-panel {
  margin-top: 30px !important;
  background-color: #fff;
}
.aux_work_column {
  gap: 3rem;
}
.aux_work_column p {
  font-size: 1.2rem;
  line-height: 1.6rem;
}
.aux_work_column .content p {
  font-size: 1.3rem;
  line-height: 1.8rem;
}
.aux_work_column a {
  text-decoration: none;
  position: relative;
  font-size: 1.3rem;
  line-height: 1.8rem;
}
.aux_work_column a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.aux_work_column a:hover::before {
  transform: scale(1, 1);
}
.aux_work_incolumn {

}
.past_career {
  margin-top: 45px;
  margin-bottom: 120px !important;
}
.past_career .wp-block-accordion {
  margin-left: 0 !important;
}
.past_career .wp-block-accordion-heading__toggle {
  font-size: 1.65rem;
  line-height: 2.1rem;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 L", sans-serif !important;
  font-weight: 400 !important;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}
.past_career .wp-block-accordion-heading__toggle-title {
  position: relative;
  display: inline-block;
}
.past_career .wp-block-accordion-heading__toggle-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 152px;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title::after {
  transform: scale(1, 1);
}
.past_career .wp-block-accordion-heading__toggle-title::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 152px;
  height: 2.2rem;
  background-color: #fff;
  z-index: -1;
}
.past_career .wp-block-accordion-heading__toggle:hover .past_career .wp-block-accordion-heading__toggle-title {
  transition: all .2s ease;
  text-decoration: none;
  border-bottom: 1px solid #000;
}
#accordion-item-2-panel {
  margin-top: 30px !important;
  background-color: #fff;
}
#accordion-item-2-panel .wp-block-group:not(:first-child) {
  margin-top: 45px !important;
}
.p_career_column {
}
.p_career_incolumn {
  gap: 5rem;
}
.past_career .company {
  font-size: 1.6rem;
  line-height: 2rem;
}
.past_career .company a {
  text-decoration: none;
  position: relative;
}
.past_career .company a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.past_career .company a:hover::before {
  transform: scale(1, 1);
}
.past_career .year {
  font-size: 1.3rem;
  line-height: 1.8rem;
}
.past_career .overview {
  font-size: 1.35rem;
  line-height: 2.4rem;
}
.past_career .detail {
  font-size: 1.2rem;
  line-height: 2.1rem;
}
.past_career .detail_p {
  font-size: 1.2rem;
  line-height: 1.8rem;
  margin-top: .75rem !important;
}


/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .prof_column {
    gap: 5vw;
  }
  .prof_namebox h3 {
    font-size: 1.8rem;
    line-height: 2.1rem;
  }
  .prof_namebox p {
    font-size: 1.35rem;
    line-height: 1.4rem;
    margin-top: .75rem;
  }
  .prof_namebox .job {
    margin-top: 2.1rem;
  }
  .prof_namebox .job p {
    font-size: 1.2rem;
    line-height: 1.4rem;
    margin-top: .5rem;
  }
  .prof_namebox .job_in {
    margin-top: .5rem;
  }
  .career_box .year p {
    font-size: 1.3rem;
  }
  .career_box .event p {
    font-size: 1.3rem;
  }
  .career_box .is-layout-flex:not(:first-child){
    margin-top: 15px;
  }
  .aux_work_column {
    gap: 3rem;
  }
  .aux_work_column p {
    font-size: 1.15rem;
    line-height: 1.5rem;
  }
  .aux_work_column a {
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
  .aux_work .wp-block-accordion-heading__toggle {
    font-size: 1.6rem;
    line-height: 1.8rem;
  }
  .aux_work .wp-block-accordion-heading__toggle-title::after {
    width: 185px;
  }
  .aux_work .wp-block-accordion-heading__toggle-title::before {
    width: 185px;
    height: 1.9rem;
  }
  .past_career .wp-block-accordion-heading__toggle {
    font-size: 1.6rem;
    line-height: 1.8rem;
  }
  .past_career .wp-block-accordion-heading__toggle-title::after {
    width: 147px;
  }
  .past_career .wp-block-accordion-heading__toggle-title::before {
    width: 147px;
    height: 1.9rem;
  }
  .p_career_incolumn {
    gap: 3rem;
  }
  .past_career .company {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .past_career .overview {
    font-size: 1.25rem;
    line-height: 2.2rem;
  }
}
@media (max-width: 1280px) {
  .aux_work_column {
    gap: 2rem;
  }
  .aux_work_column .year {
    flex-basis: 13% !important;
  }
  .aux_work_column .link {
    flex-basis: 8% !important;
  }
}
@media (max-width: 1024px) {
  .aux_work_incolumn {
    gap: .5rem;
  }
  .aux_work_column .year {
    flex-basis: 15% !important;
  }
}
@media screen and (min-width:640px) and ( max-width:781px) {
  .career_box {
    margin-top: 45px;
  }
  .profile .main_column, .officebox {
    gap: 5vw;
  }
  .prof_column, .off_column {
    gap: 10vw;
  }
  .workflow_lead {
    margin-top: 0 !important;
  }
}


/* sp ***********************************/
@media (max-width: 767px) {
  .profile {
    margin-bottom: 60px !important;
  }
  .prof_column {
    margin-top: 60px !important;
    gap: 60px;
  }
  .prof_namebox h3 {
    font-size: 1.8rem;
    line-height: 2.1rem;
  }
  .prof_namebox p {
    font-size: 1.4rem;
    margin-top: .8rem;
  }
  .prof_namebox .job {
    margin-top: 2.1rem;
  }
  .career_box {
    margin-top: 30px;
  }
  .career_box .year {
    flex-basis: 20% !important;
  }
  #accordion-item-1-panel {
    margin-top: 15px !important;
  }
  .aux_work_column {
    gap: 1rem;
  }
  .aux_work_column:not(:first-child) {
    margin-top: 30px;
  }
  .aux_work_incolumn {
    gap: 1rem;
  }
  .past_career {
    margin-bottom: 60px !important;
  }
  .past_career .wp-block-accordion-heading__toggle {
    font-size: 1.6rem;
  }
  .past_career .wp-block-accordion-heading__toggle-title::after {
    width: 146px;
  }
  .past_career .wp-block-accordion-heading__toggle-title::before {
    width: 146px;
  }
  #accordion-item-2-panel {
    margin-top: 15px !important;
  }
  .p_career_incolumn {
    gap: 30px;
  }
  .past_career .company {
    font-size: 1.5rem;
  }
}


/* office ***********************************/
.office {
  margin-bottom: 8vw !important;
}
.off_column {
  gap: 5vw;
}
.off_column_info {
  font-size: 1.35rem;
  line-height: 2rem;
}
.off_column_info .item {
  font-size: 1.25rem;
  line-height: 1.5rem;
}
.off_incolumn_info {
}
.off_incolumn_info_l {
  font-size: 1.25rem;
  line-height: 1.5rem;
}
.gmap_box {
  margin-top: 60px !important;
}
.google-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
.off_column_kamo {
  font-size: 1.35rem;
  line-height: 2rem;
}
.satellite {
  display: inline-block;
  font-size: 1.25rem;
  border-bottom: 1px solid #000;
}
.kamologo {
  margin-top: 30px;
}
.kamologo img {
  width: 200px;
}
.off_column_addbox {
  margin-top: 60px !important;
}
.off_column_addbox .address, .off_column_addbox .gmap_link {
  margin-top: 0 !important;
}
.kamo_img {
  margin-top: 60px !important;
}

.zeh {
  margin-top: 60px !important;
  margin-bottom: 45px !important;
}
.zeh .wp-block-accordion {
  margin-left: 0 !important;
}
.zeh .wp-block-accordion-heading__toggle {
  font-size: 1.65rem;
  line-height: 2.1rem;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 L", sans-serif !important;
  font-weight: 400 !important;
}
.zeh .wp-block-accordion-heading__toggle-title {
  position: relative;
  display: inline-block;
}
.zeh .wp-block-accordion-heading__toggle-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 115px;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.wp-block-accordion-heading__toggle:hover .zeh .wp-block-accordion-heading__toggle-title::after {
  transform: scale(1, 1);
}
.zeh .wp-block-accordion-heading__toggle-title::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 115px;
  height: 2.2rem;
  background-color: #fff;
  z-index: -1;
}
.zeh .wp-block-accordion-heading__toggle:hover .past_career .wp-block-accordion-heading__toggle-title {
  transition: all .2s ease;
  text-decoration: none;
  border-bottom: 1px solid #000;
}
#accordion-item-3-panel {
  margin-top: 30px !important;
  background-color: #fff;
}
.zeh_column {
  gap: 5vw;
}
.zehis p {
  font-size: 1.35rem !important;
  line-height: 2.6rem !important;
}
.zeh_column p {
  font-size: 1.25rem;
  line-height: 1.8rem;
}
.seiden {
  margin-bottom: 120px !important;
}
.seiden .wp-block-accordion {
  margin-left: 0 !important;
}
.seiden .wp-block-accordion-heading__toggle {
  font-size: 1.65rem;
  line-height: 2.1rem;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 L", sans-serif !important;
  font-weight: 400 !important;
}
.seiden .wp-block-accordion-heading__toggle-title {
  position: relative;
  display: inline-block;
}
.seiden .wp-block-accordion-heading__toggle-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 134px;
  height: 1px;
  background: #000;
  transition: all .3s ease;
  transform: scale(0, 1);
  transform-origin: left top;
}
.wp-block-accordion-heading__toggle:hover .seiden .wp-block-accordion-heading__toggle-title::after {
  transform: scale(1, 1);
}
.seiden .wp-block-accordion-heading__toggle-title::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 134px;
  height: 2.2rem;
  background-color: #fff;
  z-index: -1;
}
.seiden .wp-block-accordion-heading__toggle:hover .past_career .wp-block-accordion-heading__toggle-title {
  transition: all .2s ease;
  text-decoration: none;
  border-bottom: 1px solid #000;
}
#accordion-item-4-panel {
  margin-top: 30px !important;
  background-color: #fff;
}
.seiden_column {
  gap: 5vw;
}
.seidenis p {
  font-size: 1.35rem !important;
  line-height: 2.6rem !important;
}
.seidenis img {
  width: 320px;
  margin-top: 45px !important;
}
.seiden_column p {
  font-size: 1.25rem;
  line-height: 1.8rem;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .off_incolumn_info .item {
    flex-basis: 22% !important;
  }
  .seiden_column .item {
    flex-basis: 22% !important;
  }
  .off_column_info {
    font-size: 1.3rem;
  }
  .off_column_kamo {
    font-size: 1.3rem;
  }
  .kamologo img {
    width: 160px;
  }
  .off_column_addbox {
    margin-top: 40px !important;
  }
  .zeh .wp-block-accordion-heading__toggle {
    font-size: 1.6rem;
    line-height: 1.8rem;
  }
  .zeh .wp-block-accordion-heading__toggle-title::after {
    width: 112px;
  }
  .zeh .wp-block-accordion-heading__toggle-title::before {
    width: 112px;
    height: 1.9rem;
  }
  .seiden .wp-block-accordion-heading__toggle {
    font-size: 1.6rem;
    line-height: 1.8rem;
  }
  .seiden .wp-block-accordion-heading__toggle-title::after {
    width: 131px;
    height: 1px;
  }
  .seiden .wp-block-accordion-heading__toggle-title::before {
    width: 131px;
    height: 1.9rem;
  }
  .seidenis img {
    width: 240px;
  }
  .off_column {
    gap: 4vw;
  }
  .zeh_column {
    gap: 3vw;
  }
  .seiden_column {
    gap: 4vw;
  }
}
@media (max-width: 1024px) {
  .off_incolumn_info .item {
    flex-basis: 24% !important;
  }
  .seiden_column .item {
    flex-basis: 24% !important;
  }
  .zeh_column p {
    font-size: 1.2rem;
  }
  .kamologo img {
    width: 140px;
  }
  .seidenis img {
    width: 220px;
  }
}
@media screen and (min-width:640px) and ( max-width:781px) {
  .off_incolumn_info .item {
    flex-basis: 20% !important;
  }
  .off_column {
    gap: 8vw;
  }
}


/* sp ***********************************/
@media (max-width: 767px) {
  .office {
    margin-bottom: 60px !important;
  }
  .officebox {
    gap: 45px;
  }
  .off_column {
    gap: 90px;
  }
  .off_column_info {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }
  .off_incolumn_info {
  }
  .off_incolumn_info .item {
    flex-basis: 25% !important;
  }
  .gmap_box {
    margin-top: 45px !important;
  }
  .off_column_kamo {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }
  .kamologo {
    margin-top: 20px;
  }
  .kamologo img {
    width: 140px;
  }
  .off_column_addbox {
    margin-top: 30px !important;
  }
  .off_column_addbox .gmap_link {
    margin-top: 5px !important;
  }
  .kamo_img {
    margin-top: 45px !important;
  }
  .zeh {
    margin-top: 45px !important;
    margin-bottom: 30px !important;
  }
  .zeh .wp-block-accordion-heading__toggle {
    font-size: 1.5rem;
  }
  .zeh .wp-block-accordion-heading__toggle-title::after {
    width: 111px;
  }
  .zeh .wp-block-accordion-heading__toggle-title::before {
    width: 111px;
  }
  #accordion-item-3-panel {
    margin-top: 15px !important;
  }
  .zeh_column {
    gap: 45px;
  }
  .zehis p {
    font-size: 1.35rem !important;
    line-height: 2.6rem !important;
  }
  .zeh_goal {
    margin-bottom: 30px;
  }
  .zehiscolmun .item {
    flex-basis: 25% !important;
  }
  .seiden {
    margin-bottom: 60px !important;
  }
  .seiden .wp-block-accordion-heading__toggle {
    font-size: 1.5rem;
  }
  .seiden .wp-block-accordion-heading__toggle-title::after {
    width: 130px;
  }
  .seiden .wp-block-accordion-heading__toggle-title::before {
    width: 130px;
  }
  #accordion-item-4-panel {
    margin-top: 15px !important;
  }
  .seiden_column {
    gap: 45px;
  }
  .seidenis img {
    width: 220px;
    margin-top: 30px !important;
  }
  .seiden_column p {
    font-size: 1.25rem;
    line-height: 1.8rem;
  }
}



/* workflow ***********************************/
.workflow {
  margin-top: 120px !important;
}
.workflow_column {
  gap: 8vw;
}
.workflow_lead {
  margin-top: 60px !important;
}
.workflow_leadtext {
  font-size: 2.1rem !important;
  line-height: 3.6rem !important;
}
.workflow_leadtext a {
  background-color: #fff;
}
.workflow_sub {
  margin-top: 45px !important;
}
.workflow_subtext {
  font-size: 1.4rem !important;
  line-height: 2.6rem !important;
}
.workflow_box {
  margin-bottom: 120px;
}
.workflow_step {
  margin-top: 60px !important;
}
.workflow_box .about_step {
  margin-top: 30px;
}
.workflow_box .smb-step__body>*+* {
  margin-top: 120px;
}
.workflow_box .smb-step__item__number {
  background-color: #fafaf6;
  color: #000;
  width: 120px;
  height: 120px;
  left: -7vw;
  font-size: 3.6rem;
  font-weight: 300;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 L", sans-serif !important;
  line-height: 3.6rem;
  --_font-size-level: 0;
}
.workflow_box .smb-step__body:before {
  border-left: 1px solid #000;
  left: 60px;
  bottom: 70px;
}
.workflow_box .smb-step__item__title {
  font-size: 2.4rem;
  line-height: 3rem;
  font-family: "秀英角ゴシック銀 M", sans-serif !important;
  font-weight: 500;
  display: inline-block;
  border-bottom: 1px solid #000;
  margin-left: 7vw;
  margin-bottom: 30px;
}
.workflow_box .smb-step__item__body p {
  font-size: 1.5rem;
  line-height: 2.8rem;
  font-weight: 400;
  padding-left: 7vw;
  color: #000;
}
.about_step .designwork {
  position: relative;
  margin-top: 150px;
}
.about_step .designwork::before {
  content: '［設計業務の着手］';
  position: absolute;
  top: -90px;
  left: 7vw;
  font-family: "秀英角ゴシック銀 M", sans-serif !important;
  font-size: 2.1rem;
  line-height: 2.4rem;
}
.about_step .management {
  position: relative;
  margin-top: 150px;
}
.about_step .management::before {
  content: '［工事監理業務の着手］';
  position: absolute;
  top: -90px;
  left: 7vw;
  font-family: "秀英角ゴシック銀 M", sans-serif !important;
  font-size: 2.1rem;
  line-height: 2.4rem;
}


/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .workflow .about_head {
    flex-basis: 35% !important;
  }
  .workflow_column {
    gap: 5vw;
  }
  .workflow_leadtext {
    font-size: 1.8rem !important;
    line-height: 3rem !important;
  }
  .workflow_box .smb-step__body:before {
    bottom: 120px;
  }
}
@media (max-width: 1280px) {
  .workflow_box .smb-step__item__number {
    width: 100px;
    height: 100px;
    left: -6.1vw;
    font-size: 3.2rem;
  }
  .workflow_box .smb-step__item__title {
    font-size: 2.1rem;
    line-height: 2.8rem;
  }
  .workflow_box .smb-step__item__body p {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}
@media (max-width: 1024px) {
  .workflow_box .smb-step__item__number {
    width: 70px;
    height: 70px;
    left: -4.6vw;
    font-size: 2.8rem;
  }
  .workflow_box .smb-step__body:before {
    bottom: 180px;
  }
}
@media screen and (min-width:768px) and ( max-width:781px) {
  .workflow_box .smb-step__item {
    margin-left: 0 !important;
  }
  .workflow_box .smb-step__body:before {
    left: 14px;
    bottom: 120px;
  }
  .workflow_box .smb-step__item__number {
    width: 70px;
    height: 70px;
    left: -4vw;
    margin-left: -5.6vw;
  }
}
@media (max-width: 781px) {
  .workflow_lead {
    margin-top: 0 !important;
  }
}

/* SP ***********************************/
@media (max-width: 767px) {
  .workflow_box .smb-step__item__body p {
    font-size: 1.3rem;
    line-height: 2.4rem;
    padding-left: 5vw;
    color: #000;
  }
  .workflow_column {
    gap: 45px;
  }
  .workflow_leadtext {
    font-size: 1.6rem !important;
    line-height: 2.8rem !important;
  }
  .workflow_sub {
    margin-top: 30px !important;
  }
  .workflow_box {
    margin-bottom: 90px;
    margin-top: 0 !important;
  }
  .workflow_step {
    margin-top: 0 !important;
  }
  .workflow_box .smb-step__item__number {
    width: 60px;
    height: 60px;
    font-size: 2.1rem;
    margin-left: -5.4rem;
  }
  .workflow_box .smb-step__body:before {
    left: 20px;
    bottom: 150px;
  }
  .workflow_box .smb-step__item__title {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 24px;
    margin-left: 5vw;
  }
}


/************************************
** news
************************************/

/************************************
** 記事一覧
************************************/
.blog .l-contents__main {
  margin-top: 5vw !important;
}
.news_listbox {
  position: relative;
  margin-right: 5vw;
}
.news_listbox h1 {
  font-size: 5.5rem;
  font-weight: 500;
  padding: 0;
  text-align: right;
  margin-right: 6rem !important;
}
.news_listbox h1::before {
  position: relative;
  top: 10rem;
  right: -13.5rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.news_listbox h1::after {
  position: relative;
  top: 0;
  right: -5.8rem;
  content: "お知らせ";
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.p-archive {
  margin-top: 120px !important;
  margin-bottom: 240px !important;
  margin-left: 10vw !important;
  width: 55vw;
}
.c-entries--text2 {
  border-top: 1px solid #000;
}
.c-entries--text2 .c-entries__item {
  border-bottom: 1px solid #000;
}
.c-entries--text2 .c-entries__item>a {
  padding-top: 1.6rem;
  padding-bottom: 2.8rem;
}
.c-entry-summary__meta .c-meta {
  flex-wrap: nowrap;
}
.c-meta__item:not(:last-child) {
  margin-right: 2rem;
}
.c-entry-summary__meta .c-meta__item--categories {
  display: inline-flex !important;
}
.c-entry-summary__title {
  position: relative;
  font-size: 3.2rem !important;
  font-weight: 400 !important;
  line-height: 4rem !important;
}
.c-entries--text2 .c-entry-summary__meta {
}
.c-entry-summary__term {
  --_font-size-level: 0;
  font-size: 1.6rem;
  line-height: 2rem;
  background-color: transparent;
  color: #000;
  font-weight: 400;
  padding: 0;
  border-bottom: 1px solid #000;
}
.c-entry-summary__meta {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.1rem;
  position: relative;
  margin-top: 2.8rem !important;
}
.blog .c-entries__item:first-child .c-entry-summary__meta::after {
  position: absolute;
  content: "[NEW]";
  top: -1.4rem;
  left: 0;
  font-size: 1.1rem;
  line-height: 1.2rem;
  font-weight: 500;
}

.c-entries--text2 .c-entries__item>a {
  position: relative;
  display: block;
  overflow: hidden;
  will-change: transform;
  background: transparent;
  transition: ease .3s;
  z-index: 1;
}
.c-entries--text2 .c-entries__item a::before {
  content: "";
  width: 120%;
  height: 550%;
  position: absolute;
  top: -225%;
  right: 0;
  z-index: -1;
  background: #fff;
  border-radius: 0 100% 100% 0;
  will-change: transform;
  transform: translateX(-100%);
  transition: transform ease .3s;
}
.c-entries--text2 .c-entries__item a:hover::before {
  transform: translateX(10%);
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .blog .l-contents__main {
    margin-top: 8vw !important;
  }
  .news_listbox h1 {
    font-size: 4.5rem;
    margin-right: 4.5rem !important;
  }
  .news_listbox h1::before {
    top: 6rem;
    right: -12rem;
    height: 120px;
  }
  .news_listbox h1::after {
    top: 0;
    right: -4.5rem;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .p-archive {
    width: 60vw;
  }
  .c-entry-summary__title {
    font-size: 2.8rem !important;
    line-height: 3.8rem !important;
  }
}
@media (max-width: 1024px) {
  .p-archive {
    width: 70vw;
    margin-left: 6vw !important;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .blog .l-contents__main {
    margin-top: 20vw !important;
  }
  .news_listbox {
    margin-right: 5vw;
  }
  .news_listbox h1 {
    font-size: 4.2rem;
    margin-right: 5rem !important;
  }
  .news_listbox h1::before {
    top: 6rem;
    right: -10.5rem;
    height: 110px;
  }
  .news_listbox h1::after {
    right: -4.8rem;
    font-size: 1.35rem;
  }
  .p-archive {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
    margin-left: 6vw !important;
    width: 70vw;
  }
  .c-entry-summary__title {
    font-size: 1.8rem !important;
    line-height: 2.6rem !important;
  }
  .c-entries--text2 .c-entry-summary__meta {
  }
  .c-entry-summary__term {
    font-size: 1.4rem;
  }
  .c-entry-summary__meta {
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin-top: 1.6rem !important;
  }
  .blog .c-entries__item:first-child .c-entry-summary__meta::after {
    top: -1.2rem;
    font-size: 1rem;
  }
}

/************************************
** アーカイブ（カテゴリー）
************************************/
.category .l-contents__main {
  margin-top: 5vw !important;
}
.category .news_listbox {
  position: relative;
  margin-right: 5vw !important;
}
.category .news_listbox .h1text {
  font-size: 5.5rem;
  font-weight: 500;
  padding: 0;
  text-align: right;
  margin-right: 4rem !important;
}
.category .news_listbox .h1text::before {
  position: relative;
  top: 10rem;
  right: -13.5rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.category .news_listbox .h1text::after {
  position: relative;
  top: 0;
  right: -5.8rem;
  content: "お知らせ";
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.category .c-entry__header {
  padding-top: 60px !important;
  margin-left: 10vw !important;
}
.category h1 {
  font-size: 3.5rem;
  font-weight: 400;
  padding: 0;
  text-align: left;
}
.category h1::before {
  display: none;
}
.category .p-term-description {
  margin-left: 10vw !important;
  font-size: 1.4rem;
  line-height: 2.1rem;
}
.category .p-archive {
  margin-top: 30px !important;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .category .l-contents__main {
    margin-top: 8vw !important;
  }
  .category .news_listbox .h1text {
    font-size: 4.5rem;
    margin-right: 4.5rem !important;
  }
  .category .news_listbox .h1text::before {
    top: 6rem;
    right: -12rem;
    height: 120px;
  }
  .category .news_listbox .h1text::after {
    top: 0;
    right: -4.5rem;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .category .l-contents__main {
    margin-top: 20vw !important;
  }
  .category .news_listbox {
    margin-right: 5vw !important;
  }
  .category .news_listbox .h1text {
    font-size: 4.2rem;
    margin-right: 4rem !important;
  }
  .category .news_listbox .h1text::before {
    top: 6rem;
    right: -10.5rem;
    height: 110px;
  }
  .category .news_listbox .h1text::after {
    top: 0;
    right: -4.2rem;
    font-weight: 600;
    font-size: 1.35rem;
  }
  .category .c-entry__header {
    padding-top: 30px !important;
    margin-left: 0 !important;
  }
  .category h1 {
    font-size: 2.8rem;
  }
  .category .p-term-description {
    margin-left: 1vw !important;
    font-size: 1.2rem;
    line-height: 1.6rem;
  }
  .category .p-archive {
    margin-top: 30px !important;
    margin-bottom: 60px !important;
    margin-left: 0 !important;
  }
}



/************************************
** 記事
************************************/
.c-meta__item svg, .c-meta__item--modified, .c-meta__item--author, .c-widget .wp-block-group>h2:before, .c-widget .wp-block-group>h2:after, .c-entry__footer {
  display: none;
}
#block-7 .only_post:not(.type-post .only_post) {
  display: none;
}
.type-post .c-entry__header {
  display: none;
}
.type-post .news_listbox {
  margin-top: 5vw !important;
  margin-left: 5vw !important;
  margin-right: 5vw !important;
}
.type-post .news_listbox .h1text {
  font-size: 5.5rem;
  font-weight: 500;
  padding: 0;
  text-align: right;
  margin-right: 4rem !important;
}
.type-post .news_listbox .h1text::before {
  position: relative;
  top: 10rem;
  right: -13.5rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.type-post .news_listbox .h1text::after {
  position: relative;
  top: 0;
  right: -5.8rem;
  content: "お知らせ";
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.post_box {
  margin-top: 60px !important;
  margin-left: 10vw !important;
  padding-top: 60px;
  padding-bottom: 120px;
  width: 55vw;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.post_navi {
  margin-top: 0 !important;
  margin-left: 10vw !important;
  margin-bottom: 240px !important;
  width: 55vw;
  border-bottom: 1px solid #000;
}
.post_navi a {
  font-size: 1.6rem;
  line-height: 1.6rem;
  font-weight: 300;
  text-decoration: none;
}
.move {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #000;
}
.move::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  background: #000;
  width: 1px;
  height: 78px;
}
.prev {
}
.next {
  text-align: right;
}
.all {
  padding-top: 3.4rem;
  padding-bottom: 3rem;
}
.post_column {
  gap: 5vw;
}
.h2text {
  margin-bottom: 30px !important;
}
.h2text p {
  font-size: 2.8rem;
  line-height: 3.6rem;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 M", sans-serif !important;
  font-weight: 400;
}
.post_text p {
  font-size: 1.5rem;
  line-height: 3.2rem;
}
.post_column .wp-block-post-date, .post_column .taxonomy-category {
  font-size: 1.6rem;
  line-height: 1.8rem;
}
.post_column .taxonomy-category {
  margin-top: 1.2rem;
  text-decoration: none;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .type-post .news_listbox {
    margin-top: 8vw !important;
  }
  .type-post .news_listbox .h1text {
    font-size: 4.5rem;
    margin-right: 4.5rem !important;
  }
  .type-post .news_listbox .h1text::before {
    top: 6rem;
    right: -12rem;
    height: 120px;
  }
  .type-post .news_listbox .h1text::after {
    top: 0;
    right: -4.5rem;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .post_box {
    width: 60vw;
  }
  .post_navi {
    width: 60vw;
  }
}
@media (max-width: 1024px) {
  .post_box {
    width: 70vw;
    margin-left: 6vw !important;
  }
  .post_navi {
    width: 70vw;
    margin-left: 6vw !important;
  }
  .post_column .h2text {
    flex-basis: 75% !important;
  }
  .post_column .meta_block {
    flex-basis: 25% !important;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .type-post .news_listbox {
    margin-top: 20vw !important;
  }
  .type-post .news_listbox .h1text {
    font-size: 4.2rem;
    margin-right: 4rem !important;
  }
  .type-post .news_listbox .h1text::before {
    top: 6rem;
    right: -10.5rem;
    height: 110px;
  }
  .type-post .news_listbox .h1text::after {
    top: 0;
    right: -4.2rem;
    font-size: 1.35rem;
  }
  .post_box {
    margin-left: 5vw !important;
    padding-top: 40px;
    padding-bottom: 60px;
    width: 70vw;
  }
  .post_column {
    gap: 0;
    margin-top: 0 !important;
  }
  .h2text {
    margin-bottom: 30px !important;
  }
  .h2text p {
    font-size: 2.1rem;
    line-height: 2.8rem;
  }
  .post_text {
    margin-top: 45px !important;
  }
  .post_text p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  .post_column .wp-block-post-date, .post_column .taxonomy-category {
    font-size: 1.4rem;
    line-height: 1.6rem;
  }
  .post_column .taxonomy-category {
    margin-top: 1rem;
  }
  .post_navi {
    margin-left: 5vw !important;
    margin-bottom: 60px !important;
    width: 70vw;
  }
  .post_navi a {
    font-size: 1.4rem;
    line-height: 1.4rem;
    font-weight: 400;
  }
  .move {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .move .is-layout-flex {
    gap: 0 !important;
  }
  .move::before {
    height: 57px;
  }
  .all {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}




/************************************
** contact
************************************/
.post-19 .c-entry__header h1 {
  margin-right: 4rem !important;
}
.post-19 .c-entry__header h1::before {
  position: relative;
  top: 10rem;
  right: -18.5rem;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.post-19 .c-entry__header h1::after {
  position: relative;
  top: 0;
  right: -4rem;
  content: "お問い合わせ";
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}

.post-19 .c-entry__body {
  margin-top: 120px !important;
  margin-bottom: 240px !important;
  margin-left: 10vw !important;
  width: 55vw;
}
.post-19 .c-entry__content {
  margin-top: 0 !important;
}
.contact {
}
.contact_lead {
}
.contact_lead p {
  font-size: 2.4rem;
  line-height: 5.4rem;
}
.contact_lead .sub {
  font-size: 1.6rem;
  line-height: 3.2rem;
  margin-top: 3rem;
}
.contact_info {
  margin-top: 90px;
}
.contact_info .name {
  font-size: 2.3rem;
  line-height: 2.6rem;
  font-family: YakuHanJP, "tt-commons-pro", "秀英角ゴシック銀 M", sans-serif !important;
  font-weight: 500;
}
.contact_info .add {
  font-size: 1.5rem;
  line-height: 1.8rem;
  margin-top: 1.5rem;
}
.contact_info .telfaxbox {
  margin-top: 30px;
}
.contact_info .telfax {
  font-size: 2.4rem;
  line-height: 2.8rem;
  font-weight: 500;
  margin-top: 2.1rem;
}
.contact_info .telfax .num {
  border-bottom: 1px solid #000;
}
.contact_info .telfax .num a {
  text-decoration: none;
}
.contact_sub {
  margin-top: 60px;
}
.contact_sub p {
  font-size: 1.6rem;
  line-height: 1.8rem;
  margin-top: 1.6rem;
}
.contact .formbox {
  margin-top: 120px;
}

.smf-form--simple-table .smf-item__col--label {
  flex: 0 0 12vw;
  max-width: 12vw;
  display: flex;
}
.smf-item__label {
  display: flex;
  align-items: center;
}
.smf-form--simple-table .smf-item {
  border-bottom: 1px solid #000;
  padding: 18px 0;
}
.smf-form .smf-text-control__control {
  box-shadow: none;
  border: none;
  width: 100%;
  height: 6rem;
  border-radius: .75rem;
  --_border-radius: .75rem;
  color: #000;
  font-size: 1.35rem;
}
.smf-form .smf-textarea-control__control {
  max-height: 50vh;
  min-height: 25vh;
  box-shadow: none;
  border: none;
  resize: none;
  field-sizing: content;
  border-radius: .75rem;
  --_border-radius: .75rem;
  color: #000;
  font-size: 1.3rem;
}
.inquiry .smf-item__label {
  align-items: flex-start;
  padding-top: .8rem;
}
.smf-action .smf-button-control__control {
  font-size: 1.4rem;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
  font-weight: 500;
  padding: 2.4rem 8rem;
  border-radius: 10rem;
  color: #000;
  background: transparent;
  border: 1px solid #000;
  transition: all .3s;
}
.smf-action .smf-button-control__control:hover {
  color: #fff;
  background-color: #000;
}
.pp_check {
  padding: 48px 0;
  border-bottom: 1px solid #000;
}
.pp_check .smf-checkbox-control__control {
  border: 1px solid #000;
  box-shadow: none;
  margin-top: 4px !important;
}
/* reCAPTCHAを非表示 *************/
.grecaptcha-badge {
  visibility: hidden;
}
.grecaptcha {
  margin-top: 90px !important;
}
.grecaptcha p {
  font-size: 1.35rem;
  line-height: 2.1rem;
}

/* レスポンシブ ***********************************/
@media (max-width: 1440px) {
  .post-19 .c-entry__body {
    width: 60vw;
  }
  .post-19 .c-entry__header h1 {
    margin-right: 4rem !important;
  }
  .post-19 .c-entry__header h1::before {
    top: 6rem;
    right: -17rem;
  }
  .post-19 .c-entry__header h1::after {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .contact_lead p {
    font-size: 2.1rem;
    line-height: 3.6rem;
  }
  .contact_lead .sub {
    font-size: 1.5rem;
    line-height: 2.8rem;
  }
  .smf-form--simple-table .smf-item__col--label {
    flex: 0 0 16vw;
    max-width: 16vw;
  }
}
@media (max-width: 1024px) {
  .post-19 .c-entry__body {
    width: 70vw;
    margin-left: 6vw !important;
  }
  .smf-form--simple-table .smf-item__col--label {
    flex: 0 0 20vw;
    max-width: 20vw;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .post-19 .c-entry__header h1 {
    margin-right: 4rem !important;
  }
  .post-19 .c-entry__header h1::before {
    top: 6rem;
    right: -16rem;
    height: 110px;
  }
  .post-19 .c-entry__header h1::after {
    top: 0;
    right: -4.7rem;
    font-size: 1.35rem;
  }
  .post-19 .c-entry__body {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
    margin-left: 5vw !important;
    width: 70vw;
  }
  .contact_lead p {
    font-size: 1.8rem;
    line-height: 3.6rem;
  }
  .contact_info {
    margin-top: 60px;
  }
  .contact_info .name {
    font-size: 1.8rem;
    line-height: 2.1rem;
  }
  .contact_info .add {
    font-size: 1.4rem;
    margin-top: 2.1rem;
  }
  .contact_info .telfaxbox {
    margin-top: 20px;
  }
  .contact_info .telfax {
    font-size: 2.4rem;
    line-height: 2.4rem;
    margin-top: 1.6rem;
  }
  .contact_sub {
    margin-top: 60px;
  }
  .contact_sub p {
    font-size: 1.6rem;
    line-height: 2.1rem;
    margin-top: 1.6rem;
  }
  .contact .formbox {
    margin-top: 60px;
  }
  .smf-form--simple-table .smf-item__col--label {
    max-width: 70vw;
  }
  .smf-form--simple-table .smf-item {
    padding: 20px 0;
  }
  .smf-form .smf-text-control__control {
    height: 5rem;
    font-size: 1.25rem;
  }
  .smf-form .smf-textarea-control__control {
    font-size: 1.25rem;
  }
  .smf-action .smf-button-control__control {
    font-size: 1.25rem;
    padding: 2.1rem 6rem;
    border-radius: 6rem;
  }
  .pp_check {
    padding: 40px 0;
  }
  .pp_check .smf-checkbox-control__control {
    margin-top: 4px !important;
  }
  /* reCAPTCHAを非表示 *************/
  .grecaptcha-badge {
    visibility: hidden;
  }
  .grecaptcha {
    margin-top: 90px !important;
  }
  .grecaptcha p {
    font-size: 1.35rem;
    line-height: 2.1rem;
  }
}



/* テキスト関係 ***********************************/
.remark_text {
}
.remark_text::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  display: inline-block;
  background: #000;
  vertical-align: middle;
  position: relative;
  top: -.15rem;
  margin-right: .5rem;
}
.remarks .smf-item__label__text::after {
  content: "";
  width: .75rem;
  height: .75rem;
  border-radius: 50%;
  display: inline-block;
  background: #000;
  vertical-align: middle;
  position: relative;
  top: -.75rem;
  margin-left: .65rem;
}
.smf-item__label__text {
  font-size: 1.6rem;
  line-height: 2.1rem;
}
.pp_check .smf-checkbox-control__label {
  display: inline-block;
  border-bottom: 1px solid #000;
  font-size: 1.6rem;
  font-weight: 500;
  margin-left: 1.6rem;
}
.pp_check .smf-label::after {
  content: "";
  width: .75rem;
  height: .75rem;
  border-radius: 50%;
  display: inline-block;
  background: #000;
  vertical-align: middle;
  position: relative;
  top: -1rem;
  margin-left: .25rem;
}
.pp_check p {
  font-size: 1.4rem;
  margin-left: 3.6rem !important;
}

/* レスポンシブ ***********************************/
@media (max-width: 1680px) {
  .smf-item__label__text {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
  .pp_check .smf-label::after {
    margin-left: .5rem;
  }
}
@media (max-width: 1440px) {
  .smf-item__label__text {
    font-size: 1.3rem;
  }
  .remarks .smf-item__label__text::after {
    width: .6rem;
    height: .6rem;
    margin-left: .5rem;
  }
  .pp_check .smf-label::after {
    width: .5rem;
    height: .5rem;
  }
}

/* sp ***********************************/
@media (max-width: 767px) {
  .remark_text {
  }
  .remark_text p {
    font-size: 1.4rem;
  }
  .remark_text::before {
    width: 1rem;
    height: 1rem;
  }
  .smf-item__label__text {
    font-size: 1.4rem;
  }
  .pp_check .smf-checkbox-control__label {
    font-size: 1.4rem;
  }
  .pp_check .smf-label::after {
    top: -3.2rem;
    right: -24.5rem;
  }
  .pp_check p {
    font-size: 1.3rem;
  }
}



/* 確認／送信完了画面 ***********************************/
.smf-complete-content {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 3.6rem;
  font-weight: 400;
  background-color: #000;
  color: #fff;
  padding-left: .75rem;
  padding-right: .75rem;
}
.smf-form--simple-table+.smf-action {
  margin-top: 6rem;
  text-align: right;
}
.smf-placeholder {
  font-size: 1.4rem;
  line-height: 2.4rem;
  font-weight: 400;
}
/* sp ***********************************/
@media (max-width: 767px) {
  .smf-complete-content {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 3.6rem;
    font-weight: 400;
    background-color: #000;
    color: #fff;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  .smf-form--simple-table+.smf-action {
    margin-top: 6rem;
    text-align: right;
  }
  .smf-placeholder {
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 400;
  }
}



/************************************
** privacy policy
************************************/
.pp {
  margin-top: 5vw !important;
  margin-left: 12vw !important;
  margin-bottom: 240px !important;
}
.privacy-policy .c-entry__header h1 {
  margin-right: 4rem !important;
}
.privacy-policy h1::before {
  position: relative;
  top: 10rem;
  right: -33rem !important;
  content: "";
  display: inline-block;
  width: 1px;
  height: 160px;
  background-color: #000;
  transform: rotate(45deg);
}
.privacy-policy .c-entry__header h1::after {
  position: relative;
  top: 0;
  right: -4rem;
  content: "プライバシーポリシー";
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 2.1rem;
  margin-top: 0;
}
.pp_info h3 {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 500;
  margin-top: 0 !important;
  border-bottom: none;
}
.pp_info p {
  font-size: 1.4rem;
  line-height: 3rem;
  font-weight: 400;
  margin-top: 0 !important;
}
@media (max-width: 1680px) {
  .pp_textbox {
    max-width: 50%;
  }
}
.pp_table_top {
  margin-left: 0 !important;
}
.pp_table {
  margin-left: 0 !important;
  margin-top: 63px;
}

@media (max-width: 1440px) {
  .privacy-policy h1::before {
    top: 7rem;
    right: -28rem !important;
  }
}
@media (max-width: 1280px) {
  .pp {
    margin-top: 120px !important;
    margin-left: 5vw !important;
    margin-bottom: 180px !important;
  }
}
@media screen and (min-width:768px) and ( max-width:781px) {
  .pp_textbox {
    max-width: 75%;
  }
}


/* sp ***********************************/
@media (max-width: 767px) {
  .pp {
    margin-top: 60px !important;
    margin-left: 5vw !important;
    margin-bottom: 60px !important;
  }
  .privacy-policy .c-entry__header {
    margin-top: 65px !important;
  }
  .privacy-policy .c-entry__header h1 {
    margin-right: 4rem !important;
    text-align: left;
  }
  .privacy-policy h1::before {
    display: none;
  }
  .privacy-policy .c-entry__header h1::after {
    display: block;
    top: 5px;
    right: 0;
    font-size: 1.35rem;
  }
  .pp_info h3 {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
  .pp_info p {
    font-size: 1.3rem;
    line-height: 2.6rem;
    margin-top: 5px !important;
  }
  .pp_textbox {
    max-width: 75%;
  }
  .pp_table {
    margin-top: 60px;
  }
}
