@charset "utf-8";

/*==============================================

	Modify Base
	LastUpdate 2015/02/03

==============================================*/

body {
	position: relative;
	min-width: 1000px;
	background: #fff;
	line-height: 20px;
	font-size: 12px;
	font-family: 'Helvetica Neue', Helvetica, -apple-system, BlinkMacSystemFont, "PingFang SC","Helvetica Neue",STHeiti,"Microsoft Yahei",Tahoma,Simsun,sans-serif;
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-text-size-adjust: 100%;
	color: #000;
}

#wrapper {
	position: relative;
	overflow: hidden;
	width: 920px;
	margin: 0 auto;
	padding: 40px 0 60px;
}

main {
	display: block;
}

strong {
	font-weight: bold;
}

a {
	text-decoration: none;
	color: #000;
	outline: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

a:hover {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

a.ul {
	border-bottom: 1px dotted #000;
}

.btn {
	text-align: center;
}

.btn>* {
	display: inline-block;
	width: 200px;
	height: 40px;
	line-height: 40px;
	/*font-weight: bold;*/
	text-align: center;
	box-sizing: border-box;
	border: 1px solid #999;
}

.btn.blk>* {
	background: #000;
	color: #fff;
	border: none;
}

.krnL {
	margin-left: -0.5em;
}

.krnR {
	margin-right: -0.5em;	
}

.krnC {
	margin-left: -0.3em;
	margin-right: -0.3em;
}

br.pc {
	display: block;
}

br.sp {
	display: none;
}

ul.disc {
	padding-left: 1.2em;
	list-style-type: disc;
}

.cap {
	font-size: 12px;
	line-height: 20px;
}

.socialList {
	text-align: center;
	letter-spacing: -0.4em;
	white-space: nowrap;
}

.socialList>li {
	display: inline-block;
	letter-spacing: normal;
}

.socialList>li+li {
	margin-left: 10px;
}

.socialList>li>* {
	vertical-align: bottom!important;
}

.socialList>li.tw {
	width: 71px;
}

.socialList>li.fb {
	width: 69px;
}

.socialList>li.g1 {
	width: 50px;
}

.tags {
	letter-spacing: -0.4em;
}

.tags>* {
	display: inline-block;
	margin-right: 5px;
	letter-spacing: normal;
}

.tags>li:after,
.tags>dd:after {
	content: ',';
}

.tags>dt {
	/*font-weight: bold;*/
}

.tags>dd+dt:before {
	content:' / ';
	display: inline-block;
	margin: 0 3px 0 5px;
}

.tags>*.last:after {
	display: none;
}

.tags>dt:after {
	content: ':';
}


.item {
	position: relative;
	display: block;
	overflow: hidden;
}

.item.l {
	width: 100%;
	height: 680px;
	background: #fff;
}

.item.l img {
	max-width: 840px;
	max-height: 600px;
	width: auto;
	height: auto;
}

.item.m {
	width: 440px;
}

.item.s {
	width: 200px;
}

.item.thumb {
	width: 83px;
	height: 83px;
}

.item.thumb>.img:before {
	content: '';
	display: block;
	padding-top: 100%;
}

.item>.img {
	position: relative;
	padding-top: 100%;
}



/*.item.m>.img {
	position: relative;
	height: 440px;
}

.item.s>.img {
	position: relative;
	height: 200px;
}*/

.item .body {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: table;
	z-index: 1;
	background: #f9f9f9;
}

.item .link {
	margin-top: 20px;
	font-size: 16px;
	line-height: 40px;
	text-align: center;
}

.item .link>a {
	display: block;
	border: 1px solid #999;
}

.item .body>* {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.indexSwipe {
	padding-bottom: 40px;
}

.item.l {
	height: auto;
}

.item.l .body {
	position: static;
}

.indexSwipe .item.l>.cap {
	display: block;
	text-align: center;
	background: #fff;
	margin-top: 20px;
}

.itemList {
	position: relative;
}

.itemList>.inner {
	position: relative;
	margin: -40px -20px 0;
	font-size: 0;
	overflow: hidden;
}

.itemList .item {
	display: none;
	float: left;
	margin: 40px 20px 0;
}

.pageTitle {
	padding: 17px 0;
	font-size: 18px;
	line-height: 24px;
	/*font-weight: bold;*/
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}

header.pageTitle {
	display: table;
	width: 100%;
	table-layout: fixed;
}

header.pageTitle>* {
	display: table-cell;
	vertical-align: middle;
}

header.pageTitle>.lang {
	text-align: right;
	font-size: 12px;
	letter-spacing: -0.4em;
}

header.pageTitle>.lang>* {
	display: inline-block;
	letter-spacing: normal;
}

header.pageTitle>.lang>*+*:before {
	content: '／';
	margin: 0 3px;
}

header.pageTitle>.lang a {
	text-decoration: underline;
}

header.pageTitle>.lang a.current {
	font-weight: bold;
	text-decoration: none;
}

#mailMag>form>.secTitle {
	font-size: 18px;
	line-height: 24px;
	/*font-weight: bold;*/
}
#mailMag>form>.secTitle.generalHidden {
	display: none;
}

.secTitle+* {
	margin-top: 20px;
}

.itemList .secTitle+.inner {
	margin-top: -20px;
}

.btn#load {
	margin-top: 60px;
}

.dateList>li {
	border-top: 1px solid #e6e6e6;
}

.dateList>li:first-child {
	border-top-color: #999;
}

.dateList .summary>* {
	padding: 6px 0 4px;
}

.dateList a.summary {
	cursor: pointer;
}

.dateList {
	border-bottom: 1px solid #999;
}

.pageTitle+.dateList {
	margin-top: -1px!important;
}

.swiper-pagination {
	line-height: 0;
}

.swiper-pagination-bullet-active {
	background: #000;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
}

/*------------------------------------------------
	language
------------------------------------------------*/
#wrapper>.language-nav {
	position: absolute;
	top: 15px;
	right: 0;
	font-size: 14px;
	z-index: 100;
}

/*------------------------------------------------
	header
------------------------------------------------*/

#wrapper>header {
	position: relative;
	overflow: hidden;
	display: table;
	width: 100%;
	table-layout: fixed;
	line-height: 22px;
	font-size: 14px;
}

#wrapper>header>* {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
}

#wrapper>header>*+* {
	padding: 5px 0 5px 20px;
	border-left: 1px solid #999;
}

#wrapper>header>.id {
	width: 220px;
	font-size: 24px;
	/*font-weight: bold;*/
}
#wrapper>header>.id>.logo {
	background: url(../images/logo.png) no-repeat;
	background-size: 100% auto;
	width: 80px;
	height: 75px;
	display: inline-block;
	text-indent: -9999em;
}

#wrapper>header>.nav {
	width: 240px;
	line-height: 20px;
	/*font-weight: bold;*/
}

#wrapper>header>#mainNav li:last-child {
	display: none;
}

#wrapper>header>.tags {
	line-height: 22px;
}
#wrapper>header>.tagsContent {
	text-align: justify;
}

#wrapper>header>.menu {
	display: none;
}



/*------------------------------------------------
	content elements
------------------------------------------------*/

#contents {
	position: relative;
	margin-top: 40px;
}

#contents>*+* {
	margin-top: 40px;
}

#contents>*+.pageTitle {
	margin-top: 60px;
}
#contents>.responsive-img {
	margin: 0 auto;
	max-width: 600px;
	text-align: center;
}
#contents>.responsive-img>img {
	width: 100%;
}
#contents>.copyright {
	margin-top: 10px;
	font-size: 12px;
	color: #999999;
	text-align: center;
}

#archives {
	margin-top: 60px;
}

#mailMag {
	position: relative;
	margin-top: 40px;
	padding: 10px 0;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}
#mailMag>.msg {
	position: absolute;
	width: 100%;
	right: 0;
	bottom: -30px;
	font-size: 14px;
	font-weight: bold;
	color: green;
	text-align: center;
	display: none;
}
#mailMag>.msg.error {
	color: red;
}

#mailMag>form {
	display: table;
	width: 100%;
	table-layout: fixed;	
}

#mailMag>form>* {
	display: table-cell;
	vertical-align: middle;
}

#mailMag>form>.input {
	width: 500px;
}

#mailMag>form>.input>input {
	width: 240px;
	height: 40px;
	padding: 0 15px;
	border: 1px solid #e6e6e6;
	border-radius: 0;
	box-sizing: border-box;
	box-shadow: 0;
	vertical-align:baseline;
}
#mailMag>form>.input>input.name {
	width: 200px;
}
#mailMag>form>.input>input.email {
	margin-left: 8px;
	width: 280px;
}

#mailMag>form>.btn {
	width: 200px;
}

#mailMag>form>.btn>input {
	width: 200px;
	border: none;
	background: #fff;
	color: #000;
	font-size: 18px;
	cursor: pointer;
	line-height: 1;
	font-family: 'Helvetica Neue', Helvetica, -apple-system, BlinkMacSystemFont, "PingFang SC","Helvetica Neue",STHeiti,"Microsoft Yahei",Tahoma,Simsun,sans-serif;
	border: 1px solid #999;
	box-sizing: border-box;
}

#mailMag>form>.btn>input:hover {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

.summary {
	display: table;
	table-layout: fixed;
	width: 100%;
	line-height: 20px;
}

.summary>* {
	display: table-cell;
}

.summary>.date {
	font-size: 14px;
}

.summary>.txt {
	width: 440px;
	padding-left: 40px;
	padding-right: 40px;
}

.summary>.txt>.title {
	font-size: 16px;
}

.summary>.txt>.title+* {
	margin-top: 25px;
}

.summary>h2.txt {
	font-size: 14px;
}

.summary>.txt a {
	text-decoration: underline;
}

.summary>.txt>*+* {
	margin-top: 15px;
}

.summary>.tags {
	text-align: left;
	font-size: 14px;
	line-height: 20px;
}

#itemSwipeNav {
	margin-top: 15px;
	text-align: center;
	overflow: hidden;
}

#itemSwipeNav>ul {
	margin: 0 -5px;
	letter-spacing: -0.4em;
}

#itemSwipeNav>ul>li {
	float: none;
	margin: 10px 5px 0;
	letter-spacing: normal;
}

body.page .body {
	font-size: 12px;
}

body.page .body>*+* {
	margin-top: 20px;
}

body.page #eng {
	display: none;
}

iframe.storesjp-button-cart {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*------------------------------------------------
	about page
------------------------------------------------*/

.about-body>h2 {
	padding: 17px 0;
    font-size: 18px;
    line-height: 24px;
	font-weight: bold;
}

.about-body>p {
	margin-bottom: 10px;
	font-size: 14px;
}

/*------------------------------------------------
	service page
------------------------------------------------*/

.service-body {
	display: flex;
	gap: 60px;
}
.service-body>.column {
	flex: 1;
	text-align: justify;
}
.service-body>.column>* {
	margin-bottom: 10px;
}
.service-body>.column>h2 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5em;
}
.service-body>.column>p.subtitle {
	margin-top: 20px;
	font-weight: bold;
}
.service-body>.column>p {
	font-size: 14px;
	line-height: 21px;
}

/*------------------------------------------------
	project page
------------------------------------------------*/

.work-body>h2 {
	padding-top: 40px;
	font-size: 18px;
}
.work-body>ul {
	margin-top: 20px;
	display: grid;
	gap: 55px;
	grid: auto-flow / 1fr 1fr 1fr;
}
.work-body>ul>li {
	width: 270px;
}
.work-body>ul>li>a.work-container {
	background-color: #f9f9f9;
	padding: 20px;
	width: 270px;
	height: 270px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.work-body>ul>li>a.work-container img {
	max-width: 100%;
	max-height: 100%;
}
.work-body>ul>li>.category {
	margin-top: 10px;
	font-size: 12px;
	color: #888888;
}
.work-body>ul>li>a.title {
	font-size: 14px;
	display: inline-block;
}

/*------------------------------------------------
	project detail
------------------------------------------------*/
.article-body {
	margin: 0 auto;
	max-width: 700px;
}
.article-body>.post-title {
	font-size: 36px;
	line-height: 1.2em;
}
.article-body>.post-summary {
	background-color: #F5F5F5;
	margin-top: 20px;
	padding: 20px;
	font-size: 14px;
}
.article-body>.post-content {
	margin-top: 20px;
	font-size: 16px;
	line-height: 1.5em;
}
.article-body>.post-content p {
	margin: 15px 0;
}
.article-body>.post-content img {
	max-width: 100%;
}
.article-body>.post-content em {
	font-style: italic;
}
.article-body>.post-content ul {
	padding-left: 20px;
	list-style-type: disc;
}
.article-body>.post-content ol {
	padding-left: 20px;
	list-style-type: decimal;
}
.article-body>.post-content>h1 {
	margin: 20px auto;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.2em;
}
.article-body>.post-content>h2 {
	margin: 20px auto;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.2em;
}
.article-body>.post-content>h3 {
	margin: 20px auto;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 1.2em;
}
.article-body>.post-content table th,
.article-body>.post-content table td {
	border: 1px solid #CCC;
    line-height: 1.5;
    min-width: 30px;
    padding: 3px 5px;
    text-align: left;
}
.article-body>.post-content table th {
	background-color: #F5F2F0;
    font-weight: 700;
    text-align: center;
}


/*------------------------------------------------
	mail form
------------------------------------------------*/

#ajax_mail {
	width: 440px;
	max-width: 100%;
	min-height: 500px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 20px;
}

#ajax_mail>p:only-child {
	text-align: center;
}

#ajax_mail>p:only-child>img {
	margin-top: 35px;
	width: 30px;
	height: 30px;
}

#ajax_mail>*+* {
	margin-top: 35px;
}

.formGroup>li {
	line-height: 1;
	overflow: hidden;
}

.formGroup li+li {
	margin-top: 20px;
}

.formGroup li>* {
	display: block;
}

.formGroup li>label {
	font-weight: bold;
	font-size: 11px;
}

.formGroup li>label+* {
	margin-top: 10px;
}

.formGroup input[type='text'],
.formGroup textarea {
	margin: 0;
	padding: 8px 2px;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #808080;
}

.formGroup textarea {
	padding: 2px;
	height: 120px;
}

.btnGroup {
	margin-top: 35px;
	text-align: center;
}

.btnGroup input[type="button"] {
	background: #fff;
	border-radius: 0;
	border: 1px solid #808080;
	width: 200px;
	font-size: 18px;
	line-height: 40px;
}


/*------------------------------------------------
	footer
------------------------------------------------*/

#wrapper>footer {
	position: relative;
	margin-top: 60px;
	text-align: center;
	line-height: 22px;
}

#wrapper>footer>.nav {
	letter-spacing: -0.4em;
}

#wrapper>footer>.nav>* {
	display: inline-block;
	margin: 0 15px;
	letter-spacing: normal;
}

#wrapper>footer>.copyright {
	margin-top: 50px;
}
