@charset "UTF-8";

/* shoyu3
---------------------------------------------------------------------------*/
header {
	margin-bottom: 0;
}

#mainContents {
	max-width: 100%;
}

section p {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.1em;
}

section p:last-of-type {
	margin-bottom: 0 !important;
}

.title-set strong {
	display: block;
	margin-bottom: 6px;
	color: #000000;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.15em;
}


/* .img-main
---------------------------------------------------------------------------*/
.img-main {
	width: 100%;
}

.img-main a {
	display: block;
}

.img-main a:hover {
	opacity: 0.8;
}

.img-main img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}


/* .sec-lead
---------------------------------------------------------------------------*/
.sec-lead {
	margin-bottom: 75px;
	padding-top: 100px;
	text-align: center;
}

.sec-lead h2 {
	margin-bottom: 40px;
	color: #000000;
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.sec-lead p {
	line-height: 2.3;
}


/* .sec-role
---------------------------------------------------------------------------*/
.sec-role {
	width: 1100px;
	margin: 0 auto 150px;
}

.sec-role > figure {
	margin-bottom: 90px;
}

.sec-role h3 {
	line-height: 2.6;
}

.sec-role h3 span {
	display: inline-block;
	border-bottom: 2px solid #000000;
	padding-bottom: 3px;
	color: #000000;
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.sec-role .inner {
	display: -webkit-box;
	display: flex;
	margin: 0 0 125px 75px;
}

.sec-role .inner h3 {
	margin: -1px 70px 0 0;
}

.sec-role .inner p {
	line-height: 2.3;
	white-space: nowrap;
}

/* .role
------------------------------------*/
.role {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin-left: 48px;
}

.role figure {
	width: 437px;
	min-width: 437px;
}

.role figure img {
	display: block;
	margin-bottom: 21px;
}

.role figure img:last-of-type { margin-bottom: 0; }

.role .txt {
	box-sizing: border-box;
	width: 100%;
	padding: 16px 0 0 72px;
}

.role .txt h3 {
	margin-bottom: 30px;
}

.role .txt p {
	margin-bottom: 16px;
}

.role .txt p:last-of-type {
	margin-top: 30px;
}


/* .sec-point
---------------------------------------------------------------------------*/
.sec-point {
	width: 100%;
	margin-bottom: 150px;
}

.sec-point > figure {
	margin-bottom: 150px;
}

.sec-point > figure img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.sec-point .inner {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	justify-content: space-between;
	width: 910px;
	margin: 0 auto 50px;
}

.sec-point .inner figure {
	width: 360px;
	min-width: 360px;
}

.sec-point .inner figure img {
	display: block;
	margin-bottom: 2px;
}

.sec-point .inner figure img:last-of-type {
	margin-bottom: 0;
}

.sec-point .inner .txt {
	padding: 0 0 0 50px;
}

.sec-point .inner h3 {
	margin-bottom: 30px;
	color: #000000;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.sec-point .inner p {
	text-align: justify;
}

.sec-point .inner:last-of-type p {
	line-height: 1.95;
	letter-spacing: 0.07em;
}


/* .sec-project
---------------------------------------------------------------------------*/
.sec-project {
	width: 100%;
	margin-bottom: 150px;
}

.sec-project > figure {
	margin-bottom: 160px;
}

.sec-project > figure img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.sec-project .inner {
	position: relative;
	box-sizing: border-box;
	width: 980px;
	margin: 0 auto 65px;
	padding: 0 0 0 285px;
	white-space: nowrap;
}

.sec-project .inner h2 {
	position: absolute;
	top: 0;
	left: 50px;
}

.sec-project .inner h2 em {
	position: absolute;
	bottom: -1px;
	left: 110px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.sec-project .inner p {
	line-height: 2.15;
	letter-spacing: 0.12em;
}

.sec-project .inner a {
	display: inline-block;
	position: absolute;
	top: 105px;
	left: 50px;
	border-bottom: 1px solid #000000;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.sec-project .movie {
	position: relative;
	overflow: hidden;
	width: 980px;
	height: 551px;
	margin: 0 auto;
}

.sec-project .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;　
}


/* .sec-future
---------------------------------------------------------------------------*/
.sec-future {
	width: 920px;
	margin: 0 auto 150px;
}

.sec-future > h2 {
	margin: 0 0 28px 18px;
}

.sec-future > h2 em {
	padding-left: 1px;
}

.future-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-align: center;
	align-items: center;
	justify-content: space-between;
}

.future-list .inner {
	box-sizing: border-box;
	border: 1px solid #000000;
	border-radius: 6px;
	width: 440px;
	margin-top: 40px;
	padding: 13px 14px 14px;
}

.future-list .inner:nth-of-type(1),
.future-list .inner:nth-of-type(2) {
	margin-top: 0;
}

.future-list h3 {
	display: inline-block;
	position: relative;
	margin: 0 0 15px 7px;
}

.future-list h3:after {
	display: block;
	content: '';
	position: absolute;
	top: -4px;
	right: -20px;
	background-color: #000000;
	width: 1px;
	height: 26px;
}

.future-list h4 {
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	margin-bottom: 14px;
	padding: 15px 0 15px 6px;
	color: #000000;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.08em;
}


/* .sec-member
---------------------------------------------------------------------------*/
.sec-member {
	width: 920px;
	margin: 0 auto 150px;
}

.sec-member h2 {
	margin-bottom: 60px;
}

.member-list {
	padding: 0 98px;
}

.member-list .inner {
	display: -webkit-box;
	display: flex;
	margin-bottom: 60px;
}

.member-list .inner:last-of-type {
	margin-bottom: 0;
}

.member-list figure {
	width: 186px;
	min-width: 186px;
}

.member-list .txt {
	padding: 12px 0 0 36px;
}

.member-list .txt h4 {
	margin-bottom: 15px;
	font-size: 17px;
	letter-spacing: 0.1em;
}

.member-list .txt p {
	font-size: 14px;
	text-align: justify;
	letter-spacing: 0.05em;
}


/* .sec-maker
---------------------------------------------------------------------------*/
.sec-maker {
	position: relative;
	width: 920px;
	margin: 0 auto 150px;
}

.sec-maker h2 {
	margin-bottom: 30px;
}

.sec-maker h3 {
	position: absolute;
	top: -20px;
	right: 215px;
	color: #000000;
	font-size: 33px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.sec-maker h3:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 2px;
}

.sec-maker h3 strong {
	padding: 0 9px 0 12px;
	font-size: 53px;
	font-weight: 600;
}

.sec-maker h3 + p {
	position: absolute;
	top: -7px;
	right: -10px;
	font-size: 13px;
	line-height: 1.55;
}

.sec-maker figure {
	margin: 0 -38px;
}


/* .sec-product
---------------------------------------------------------------------------*/
.sec-product {
	display: -webkit-box;
	display: flex;
	border: 1px solid #000000;
	border-radius: 6px;
	box-sizing: border-box;
	width: 1030px;
	margin: 0 auto 150px;
/* 	padding: 55px 50px; */
	padding: 55px 30px 55px 50px;
}

.sec-product figure {
	width: 570px;
	min-width: 570px;
}

.sec-product .inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: 28px 0 0 55px;
}

.sec-product .logo {
	position: absolute;
	top: 0;
/* 	right: 10px; */
	right: 25px;
}

.sec-product .sns {
	margin: 0 0 36px -10px;
}

.sec-product .sns h2,
.sec-product .sns ul,
.sec-product .sns li {
	display: inline-block;
}

.sec-product .sns h2 {
	margin-right: 4px;
}

.sec-product .sns ul {
	transform: translateY(-3px);
}

.sec-product .sns li a {
	display: block;
	padding: 1px;
}

.sec-product h1 {
	margin-bottom: 31px;
}

.sec-product h1 strong {
	display: block;
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.sec-product .price {
	margin-bottom: 38px;
}

.sec-product .btn a {
	display: inline-block;
	border: 1px solid #000000;
	border-radius: 2px;
	margin-left: -2px;
/* 	padding: 12px 13px 12px 17px; */
		padding: 12px 12px 12px 14px;
/* 	font-size: 16px; */
	font-size: 15px;
	font-weight: 600;
/* 	letter-spacing: 0.12em; */
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.sec-product .btn a:hover {
	background: #000000;
	color: #FFFFFF;
	opacity: 1;
}

/* .sec-product .cart
------------------------------------*/
.sec-product .cart-wrap {
	display: -webkit-box;
	display: flex;
}

.sec-product .cart {
	margin-right: 12px;
}

.sec-product .cart,
.sec-product .cart > div {
	height: 40px !important;
}

.sec-product .cartjs_sales_price {
	display: none !important;
}

.sec-product .cartjs_box {
	padding: 0 !important;
}

.sec-product .cartjs_product_table,
.sec-product .cartjs_cart_in {
	display: inline-block;
}

.sec-product .cartjs_product_table {
	position: relative;
	width: auto !important;
	margin-right: 28px;
}

.sec-product .cartjs_product_table table {
	margin: 0 !important;
}

.sec-product .cartjs_product_table td {
	padding-bottom: 0 !important;
}

.sec-product .cartjs_cart_in {
	position: relative;
	width: auto !important;
	transform: translateY(-14px);
}

.sec-product .cartjs_cart_in:before {
	display: block;
	content: '購入する';
	position: absolute;
	top: 12px;
	left: 0;
	width: 100%;
	pointer-events: none;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	white-space: nowrap;
	transition: .15s ease-out;
}

.sec-product .cartjs_cart_in:hover:before {
	opacity: 0.6;
}

.sec-product .cartjs_cart_in input {
	background-color: #C7514B !important;
	border-radius: 2px !important;
	width: 110px !important;
	height: 40px !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-indent: -9999px;
}

.sec-product .cartjs_product_num th {
	display: none !important;
}

.sec-product .cartjs_product_num:after {
	display: block;
	content: '点';
	position: absolute;
	bottom: 1px;
	right: -20px;
	font-weight: 600;
}

.sec-product .cartjs_product_num input {
	border: 1px solid #333333;
	box-sizing: border-box;
	width: 40px !important;
	height: 40px !important;
	padding-right: 9px !important;
	font-size: 16px;
	text-align: right;
}

.sec-product .cart:not(:has(.cartjs_cart_in)) {
	width: 0;
	margin-right: 0;
}