@charset "UTF-8";

:root {
  --this-main-color1: #dad5c7;
  --this-main-color2: #e19797;
  --this-text-color: #231815;
  --this-text-black: #000000;
  --this-background-color:#f1eeec;
  
  --fs: 16;
  --rem: calc(1 / 16 * 1rem);

  --page-py: 50px;
}
@media screen and (max-width: 767px) {
	:root {
		--page-py: 28px;
	}
}

html {
  font-size: 100%;
  /* 16px*/
}
body {
  font-family: "Montserrat", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height:2em;
  color: var(--this-text-color);
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  background-color: #f1eeec;
  position:relative;
  
  padding-bottom:100px;
}
body#top {
	padding-bottom: 0;
}

@media screen and (max-width: 767px) {
	body {
		font-size: .7rem;
	}
}

body .text-mbold{
	font-weight:700;
}
body .text-bold{
	font-weight:900;
}
body .text-normal{
  font-size: 1rem;
}
body .text-s{
	font-size:0.8rem;
}
body .text-ss{
	font-size:0.6rem;
}

.text-black {
	color:var (--this-text-black);
}
a {
  text-decoration: none;
  transition-property: opacity;
  transition-duration: 0.5s;
  color: var(--this-text-color);
}

a:link,a:hover,a:visited{
  color: var(--this-text-color);
  background-color:transparent;
}

a:hover {
  opacity: 0.7; 
  background-color:transparent;
}

img {
  display:block;
  width:100%;
  max-width: 100%;
  vertical-align: bottom;
  
}

li {
  list-style: none;
}

h3,h4{
	font-size:1rem;
	 font-weight: bold;
}

@media only screen and (min-width: 768px){
	:where(body#work .section-body) p {
		line-height: calc(30 / var(--fs));
	}
}

.only-pc { display:inline-block; }
.only-sp { display:none; }
@media screen and (max-width: 767px) {
	  .only-pc { display:none; }
	  .only-sp { display:inline-block; }
		html {
		  font-size: 100%;
		  /* 16px*/
		}
}

.wrapper {
	min-height: calc(100dvh - 100px);
}

/*-------------------------------------------
ヘッダー
-------------------------------------------*/
header .header-wrapper {
	display: flex;
	justify-content: space-between;
	padding: 26px 60px 50px;
	positioin:relative;
}
@media only screen and (min-width: 768px){
	:where(body#work) header .header-wrapper {
		min-height: 254px;
	}
}
header .header-logo{
	padding-bottom: 12px;
	margin-top: 14px;
}
header .header-logo img{
	display:inline-block;
	height:35px;
	width: auto;
	padding-bottom:0;
}
header .header-text {
	line-height: calc(28 / var(--fs));
}
header .header-wrapper .header-inner,
header .header-wrapper .header-nav {
	display:inline-block;
}
@media only screen and (min-width: 768px){
  header .header-wrapper .header-nav {
    display: inline-block !important;
  }
}

header .header-wrapper .nav-list{
	display:flex;
		flex-flow:row;
	justify-content: flex-end;
	gap:30px;
}
header .header-wrapper .nav-list a{
	position:relative;
	display: inline-block
}
/* 下線のスタイル */
header .header-wrapper .nav-list a::after {
  background-color: var(--this-text-color);
  opacity: 0.7; 
  bottom: 4px; /* 要素の下端からの距離 */
  content: ""; /* 要素に内容を追加 */
  height: 2px; /* 下線の高さ */
  left: 0; /* 要素の左端からの距離 */
  position: absolute; /* 絶対位置指定 */
  transform: scale(0, 1); /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: left top; /* 変形の原点を左上に指定 */
  transition: transform .3s; /* 変形をアニメーション化 */
  width: 100%; /* 要素の幅 */
}
/* リンクにホバーした際の下線の表示 */
header .header-wrapper .nav-list a:hover::after {
  transform: scale(1, 1); /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}
header .header-wrapper .nav-list a.current::after{

  background-color: var(--this-text-color);
  opacity: 0.7; 
  bottom: 4px; /* 要素の下端からの距離 */
  content: ""; /* 要素に内容を追加 */
  height: 2px; /* 下線の高さ */
  left: 0; /* 要素の左端からの距離 */
  position: absolute; /* 絶対位置指定 */
  transform: scale(1, 1); /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  width: 100%; /* 要素の幅 */
}

@media only screen and (max-width: 767px){
	header {
		z-index:400;
		position:sticky;
		left:0;
		top:0;
	}
	header .header-wrapper {
		display: flex;
		justify-content: space-between;
		padding:25px var(--page-py);
		z-index:300;
	}
	/* header .header-wrapper .header-inner >  .header-logo{
		display:none;
	} */
	header .header-wrapper .header-nav{
		padding:25px var(--page-py);
	}
	header .header-wrapper .header-nav .header-logo{
		display: block;
		padding-bottom:0;
	}
	header .header-logo {
		margin: 0;
		padding: 0;
	}
	header .header-wrapper  .header-logo img{
		display:block;
		height:20px;
		width: auto;
		padding-bottom:0;
	}
	header .header-wrapper .nav-list{
		display:flex;
		flex-flow:column;
		justify-content: flex-start;
		padding: 48px 0 0 1em;
		gap: 1.2rem;
	}
	header .header-wrapper .nav-list li {
		list-style:square;
		list-style-type: square;
	}
  header .header-nav {
    position: fixed;
    top: 0px;
    left:0;
    width: 100%;
    height:100vh;
    padding-bottom: 5px;
    background-color: var(--this-background-color);
    border-bottom: none;
    z-index:400;
  }
  header .header-text{
  	padding:0 50px 0px;
  }
  	/* ハンバーガーメニュー */
  .toggleBtn{ width: 32px; height: 26px; position: fixed; right :16px; top: 22px;
    z-index:500; }
  .toggleBtn:before,
  .toggleBtn:after,
  .toggleBtn span{
      display: block;
      width: 80%;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      -webkit-transition: .35s ease-in-out;
      -moz-transition: .35s ease-in-out;
      transition: .35s ease-in-out;
  }
  .toggleBtn span{ height: 3px; background-color: #000; top:47%; top: calc(50% - 1.5px); }
  .toggleBtn:before{ content: ""; top:25%; top: calc(25% - 3px); border-top: 3px solid #000; }
  .toggleBtn:after{ content: ""; bottom:25%; bottom: calc(25% - 3px); border-bottom: 3px solid #000; }
  .toggleBtn.on span{ display: none; }
  .toggleBtn.on:before{
    top: 50%;
    top: calc(50% - 1.5px);
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .toggleBtn.on:after{
    bottom: 45%;
    bottom: calc(50% - 1.5px);
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* /ハンバーガーメニュー */
}
/*-------------------------------------------
footer
-------------------------------------------*/

/*-------------------------------------------
main 共通
-------------------------------------------*/
#main .main-inner{
	width: 100%;
	padding:0 40px;
	/* 1100px = 1020px + padding-inline */
	max-width: 1100px;
	margin: 0 auto;
}
#main .main-inner.container-full {
	width:100%;
	max-width: none;
	padding:0;
}
#main .container-1080 {
	width: 100%;
	padding:0 50px;
	max-width: 1080px;
	margin: 0 auto;
}

#main .container-1280 {
	width: 100%;
	padding:0 60px;
	max-width: 1280px;
	margin: 0 auto;
}

.section-body .text-ja ,.section-body .text-en{
	padding-bottom:2rem;
	color: var(--this-text-black);
}
@media only screen and (max-width: 767px){
	#main .main-inner{
		padding-inline: var(--page-py);
	}
}

/*-------------------------------------------
マウスストーカー
-------------------------------------------*/
.mouse-stalker {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1px;
  height: 1px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  pointer-events: none;
  mix-blend-mode: multiply;
}

.mouse-stalker > div {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--this-main-color1);
  flex-shrink: 0;
}
@media only screen and (max-width: 767px){
	.mouse-stalker{
		display: none !important;
	}
}
/*-------------------------------------------
top
-------------------------------------------*/
body#top .str-wrapper{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items: center;
	height:100dvh;
	min-height: 50vw;
	
	background-color:var(--this-main-color2);
	background-color:#000;
	z-index:200;
	--str-text-color:#000;
}
body#top .str-wrapper.change{
	background-color:#000;
  	transition: all 0.5s 0s cubic-bezier(0.4, 0, 0.2, 1);
}
body#top .str-wrapper > .back{
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index:0;
	background-color: var(--this-main-color1);
}
body#top .str-wrapper.change > .back{

	background-color:var(--this-background-color);
  transition: all 0.5s 0s cubic-bezier(0.4, 0, 0.2, 1);
}

body#top .str-wrapper .str-logo{
	z-index:200;
}

body#top .str-wrapper .str-image,
body#top .str-wrapper .str-line {
	position:relative;
	box-sizing:border-box;
	width:100%;
	padding:0 5.5vw;
	z-index:1;
	font-family:"Montserrat", sans-serif;
	font-size:6.45vw;
	font-weight:700;
	line-height:1;
	letter-spacing:0;
	white-space:nowrap;
}
body#top .str-wrapper .str-image {
	margin-bottom:2.8vw;
	/* 文字色（5行目の画像マスクも同じ色） */
	background-color:var(--str-text-color, #000);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;

  opacity: 0;
  transform: translateY(50px);
  transition: none;
  display:none;
}
/* 3行目：PCは1行、SPは2行 */
body#top .str-wrapper .str-line {
	display:flex;
	column-gap:0.26em;
}
body#top .str-wrapper .str-line .str-image {
	width:auto;
	padding:0;
	font-size:1em;
}
body#top .str-wrapper #str-image04{
	margin-bottom:1.8vw;
}
/* 5行目（VIE INC.）は画像をマスクとして使用 */
body#top .str-wrapper #str-image05{
	padding:0;
	font-size:0;
	line-height:0;
	-webkit-background-clip:border-box;
	background-clip:border-box;
	mask-image:url(/assets/images/top/opening_str05.svg);
	mask-size:contain;
	mask-repeat:no-repeat;
}
body#top .str-wrapper #str-image05 img{
	display:block;
	width:100%;
	height:auto;
	visibility:hidden;
}

/* フェードイン状態 */
body#top .str-wrapper .str-image.fade-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 0.5s;
}

@media only screen and (max-width: 767px){
	body#top .str-wrapper {
		margin: 0 auto;
		width: fit-content;
		align-items: flex-start;
	}
	body#top .str-wrapper .str-image,
	body#top .str-wrapper .str-line {
		font-size:9vw;
		width: fit-content;
	}
	body#top .str-wrapper .str-image {
		margin-bottom: 7vw;
	}
	body#top .str-wrapper .str-line {
		flex-direction:column;
	}
	body#top .str-wrapper .str-line .str-image {
		font-size:1em;
	}
	body#top .str-wrapper #str-image04{
		margin-bottom:0;
	}
	/* JSでdisplay:blockが付与されるため!importantで上書き */
	body#top .str-wrapper #str-image05{
		display:none !important;
	}
}

body#top #open_view{
	height:100vh;
	min-height: 50vw;
	position:relative;
}
/* 境界線は#open_viewの外（直下）に配置し、オープニング中は画面外になるようにする */
body#top #open_view::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:100%;
	height:2px;
	background-color:#000;
	z-index:1;
}
body#top #open_view .inner{}
body#top #open_view .logo{
	padding:50px;
}
body#top #open_view .logo img{
	display:inline-block;
	height:50px;
	width:auto;
}

body#top #open_view .message{
	padding:50px 100px 100px;
	font-weight:700;
	font-size:6vw;
	line-height:1.3em;
}

body#top .str-wrapper .str-logo img {
	width: 176px;
	height: auto;
}

@media only screen and (max-width: 767px){
	
	body#top .str-wrapper .str-logo {
		margin: 0;
		scale: .7;
	}

}

body#top header {
	border-bottom:solid 2px #000;
}
body#top .work-category{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: center;
	padding:2em;
}
body#top .work-category li.work-category-item{
	margin:0 1em;
}

body#top .work-category li.work-category-item a {
	position: relative;
}

body#top .work-category li.work-category-item a:is([aria-current="page"],[aria-selected="true"])::after {
    background-color: var(--this-text-color);
    opacity: 0.7;
    bottom: -6px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
	transform: scale(1, 1);
    transform-origin: left top;
    transition: transform .3s;
    width: 100%;
}

body#top .works{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	padding:0;
}
body#top .works .works-item{
	display:block;
	width:calc(100% / 3);
	min-height:30vw;
	border:solid 2px #000;
	padding:40px var(--page-py);
	  position: relative;
	  overflow: hidden;
	  text-decoration: none;
	  transition: 0.25s;
}

body#top .works .works-item:not(:has(.works-item__title)) {
	min-height:0;
}

body#top .works .works-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--this-main-color1);
  transform: translateY(-100%);
  transition: 0.25s;
  z-index: -1;
}
/* body#top .works .works-item:nth-child(even):before {
  background-color: var(--this-main-color2);
} */
body#top .works .works-item.item-none::before {
    content: none;
}

body#top .works .works-item:hover {
  background: none;
  opacity: 1;
}
body#top .works .works-item:hover:before {
  transform: translateY(0);
}
body#top .works .works-item .image{
  overflow: hidden;
  width: 100%;
}
body#top .works .works-item .image img{
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
body#top .works .works-item:hover .image img{
  transform: scale(1.1); /* 拡大 */
}
body#top .works .category {
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: flex-start;
	padding:calc(21 / 11 * 1em) 0 0;
	font-size: 11px;
	line-height: 1.8;
}

body#top .works .category li.work-category-item{
	margin:0 1em 0 0;
}
body#top .works-item__title {
	line-height: 1.55;
	margin-top: 5px;
}
@media only screen and (min-width: 768px){
	body#top .works .works-item{
		border-left: none;
	}
	body#top .works .works-item:nth-child(3n) {
		border-right: none;
	}
	body#top .works .works-item:nth-child(n+4) {
		border-top: none;
	}
}
@media only screen and (max-width: 767px){
	body#top .works .works-item{
		width:100%;
		height:auto;
		border-inline: none;
	}
	body#top .works .works-item:nth-child(n+2) {
		border-top: none;
	}
	body#top header {
		border-bottom:none;
		height:1px;
	}
	body#top #open_view .logo{
		padding:25px 50px;
	}
	body#top .works .works-item.item-none{
		display: none;
	}
	body#top .works .category {
		padding:calc(19 / 11 * 1em) 0 0;
		line-height: 1.6;
	}
	/* 261019 TOP カテゴリー一覧 SPは縦並び・左揃え（ロゴとの重なり回避） */
	body#top .work-category {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 4.6rem var(--page-py) 2rem;
        font-size: 11px;
        line-height: 1.55;
	}
	body#top .work-category li.work-category-item {
		margin: 0;
	}
	body#top .work-category li.work-category-item a {
		display: block;
		padding: 3px 0;
	}
	body#top .work-category li.work-category-item a:is([aria-current="page"],[aria-selected="true"])::after {
		bottom: 0;
		height: 1px;
	}
	body#top .works-item__title {
		margin-top: 3px;
	}
	body#top .works-item:not(:has(.category .work-category-item)) .works-item__title {
		margin-top: 0;
	}

}
/*-------------------------------------------
work
-------------------------------------------*/
#work #main{
	padding-top:0px;
}
#work section{
	padding-bottom:100px;
}
#work .work-category{
	display:flex;
	flex-wrap:wrap;
	padding: calc(18 / 10 * 1em) 0 0;
	font-size: 0.7rem;
	line-height: 1.8;
}
#work .work-category li{
	margin:0 1em 0 0;
}
#work h1 {
	font-size:1rem;
	line-height:1.55em;
	font-weight:bold;
	padding-block:calc(28 / 15 * 1em) calc(12 / 15 * 1em);
}
#work .section-body .date{
	padding-bottom:1em;
}
#work .section-body.image-list{
	display:flex;
	flex-flow: column;
	width:100%;
	gap: 1rem;
}
#work .section-body.image-list .row{
	display:flex;
	flex-flow: row;
	width:100%;
	gap: 1rem;
}

@media only screen and (min-width: 768px){
	#work .wp-block-image.size-large:has( + .wp-block-image.size-large),
	#work .wp-block-image.size-large:has( + .wp-block-columns) {
		margin-bottom: calc(20 * var(--rem));
	}
	#work .wp-block-columns:has( + .wp-block-columns),
	#work .wp-block-columns:has( + .wp-block-image.size-large) {
		margin-bottom: calc(4 * var(--rem));/* 20 - 16 columnsの中のfigureがmargin-bottom:1em */
	}
	#work .wp-block-columns.is-layout-flex {
		gap: calc(16 * var(--rem));
	}
	#work .section-body > p {
		font-size: 0.805rem;
	}
	#work .section-body > p {
		font-family: "Montserrat", "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, sans-serif;
		font-weight: 300;
	}

}
@media only screen and (max-width: 767px){
	
	#work .main-photo{
		padding-bottom: 0;
	}

	/* 261019 中ページ テキスト調整（SP） */
	#work .work-category {
		font-size: 10px;
		padding-top: calc(18 / 10 * 1em);
	}

	#work h1 {
		font-size: 15px;
		padding-block:calc(24 / 15 * 1em) calc(8 / 15 * 1em);
	}

	#work .section-body > p {
		font-size: 0.7rem;
		line-height: 1.9;
	}

	#work .wp-block-columns.is-layout-flex {
		gap: 0 16px;
	}

}
/*-------------------------------------------
about us
-------------------------------------------*/
#about #main{
	padding-top:100px;
}
#about #main section{
	padding-bottom:100px;
}
#about .section-title{
	font-size:1rem;
	padding-bottom:3rem;
}

.do-list {
	display:flex;
	padding-bottom:1rem;
}
.do-list dt {width:1.25rem;}
.do-list dd {width:calc(100% - 1.25rem);}

.info-table tr {
	display:flex;
	padding-bottom:1rem;
}
.info-table th{
	padding: 0;
	width:150px;
	min-width:150px;
	text-align:left;
	flex-grow: 0;
	font-weight: normal
}
.info-table td{
	text-align:left;
	flex-grow: 1;
	
}
#about .annual-turnover{
	color:#e4007f;
}
#about .image-list{
	display:flex;
	width:100%;
	margin: 0 auto;
	gap: 16px;
}
#about .image-list li {
	flex: 1 1 0;
}
@media screen and (max-width: 1023px) {
	#about .image-list {
		flex-direction: column;
		max-width: 640px;
	}
}
@media screen and (max-width: 767px) {

	#about #main section{
		padding-bottom: 4rem;
	}
	
	.info-table th{
		width:75px;
		min-width:75px;
		padding: 0;
	}
}
@media screen and (max-width: 639px) {

	#about #main section.images:last-child{
		padding-bottom: 0;
	}

}
/*-------------------------------------------
access
-------------------------------------------*/
#access #main{
	padding-top:100px;
}
#access .office{
	padding-bottom:150px;
}
#access .office h3.section-title{
	font-size:1rem;
	padding-bottom:2rem;
}
#access .office .address{
	display:block;
	padding-bottom:2rem;
}
#access .office .contact-link {
	padding-bottom: 3rem;
	position: relative;
	padding-right: 28px;
	display: inline-block;
}
#access .office .contact-link::after {
	content: '';
	display: block;
	width: 24px;
	aspect-ratio: 1;
	background: url(../images/common/icons/keyboard_arrow_right.svg);
	background-size: contain;
	position: absolute;
	right: 0;
	top: 1.0em;
    translate: 0 -50%;
}
.map {
	display:flex;
	justify-content: flex-end;
	width:100%;
}

.gmap {
	display:inline-block;
	width:100%;
	max-width:1000px;
	height:500px;
	border:0;
}

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

	#access .office:last-child{
		padding-bottom:0;
	}

}


/*-------------------------------------------
contact
-------------------------------------------*/
#contact main{
	margin-top:100px;
}

/*-------------------------------------------
experience
-------------------------------------------*/

.experience {
	display: block;
}

/* サイドメニューは廃止（アコーディオン化） */
.exNav {
	display: none;
}

.experienceBox {
	padding-top: 30px;
}

.experienceBox:first-child {
	padding-top: 0;
}

.year {
	display: inline-flex;
	gap: 0.3em;
	font-size: 15px;
}

.year span {
	font-weight: 600;
}

.experience .year {
	margin-bottom: 30px;
}

.experienceBox:first-child .year {
	margin-top: 0;
}

/* アコーディオン（JS有効時のみ。初期表示はすべて開く） */
.experience.is-accordion .year {
	position: relative;
	align-items: center;
	padding-right: 1.6em;
	cursor: pointer;
	user-select: none;
	transition: margin-bottom .4s ease;
}
.experience.is-accordion .year::before,
.experience.is-accordion .year::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: .7em;
	height: 1px;
	background: currentColor;
	transition: transform .3s ease;
}
.experience.is-accordion .is-closed .year::after {
	transform: rotate(90deg);
}
.experience.is-accordion .year:focus-visible {
	outline: 1px dotted currentColor;
	outline-offset: 4px;
}
.experience.is-accordion .is-closed .year {
	margin-bottom: 0;
}
.experience.is-accordion .experienceBoxScroll {
	overflow: hidden;
	transition: height .4s ease;
}
.experience.is-accordion .is-closed .experienceBoxScroll {
	height: 0;
}

.experience .naiyo {
	font-size: 13px;
	line-height: 1.75;
}

.experience .naiyo th {
	text-align: left;
	font-weight: normal;
}

.experience .naiyo th,
.experience .naiyo td {
	padding: .4em 1.0em;
	vertical-align: top;
}

.experience .naiyo tr *:first-child {
	padding-left: 0;
}

.experience .naiyo tr *:last-child {
	padding-right: 0;
}

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

	.experienceBox {
		padding-top: 12px;
	}

	.experienceBox:first-child {
		padding-top: 8px;
	}

	table.naiyo {
		display: block;
	}
	table.naiyo colgroup,
	table.naiyo col,
	table.naiyo thead,
	table.naiyo tbody {
		display: contents;
	}
	table.naiyo tr {
		display: grid;
		grid-template-columns: 3em 1fr;
		column-gap: 1em;
		padding: 1em 0;
	}
	table.naiyo tr:first-child {
		padding-top: 0;
	}
	table.naiyo tr:last-child {
		padding-bottom: 0;
	}
	.experience .naiyo th, 
	.experience .naiyo td {
		padding: 0;
	}
	table.naiyo th {
		display: block;
		grid-row: span 2;
	}
	table.naiyo td {
		grid-column: 2;
	}

}
