@charset "utf-8";


/*---------------------------------------------------------------
  商品詳細ページ
-----------------------------------------------------------------*/
/* CMSオーバーライド
---------------------------------------------------- */

/* 20230214 修正のため追記*/
.products-custom-section .contact.col1 > * {
	margin: 0 auto;
} 
/* /20230214 修正のため追記*/

/* 20211126 修正のため追記 */
.m-itemDetail-head .o-itemname {
    color: #000;
}
.m-itemDetail-head .o-right-header {
    border-bottom: none;
}
/* /20211126 修正のため追記 */

/* 20210731 修正のため追記 */
.m-itemDetail-head .o-right-body ul li p {
	font-size: 18px;
}
/*.m-itemDetail-head .o-right-body ul li p span:first-of-type {
    display: block;
    color: #fff !important;
    background: #000;
    font-weight: bold;
    text-align: center;
    padding: 10px;
    margin: 0 0 10px 0;
}
.m-itemDetail-head .o-right-body ul li p span:first-of-type sub {
    font-weight: bold;
}
.m-itemDetail-head .o-right-body ul li p span:last-of-type {
    display: block;
    font-size: 16px;
}*/

/* 20211117 修正のため追記 */
.m-itemDetail-head .o-right-body ul li p span.box-a {
	border: solid 1px #c8c8c8;
	padding: 16px;
	display: block;
	margin: 0 0 16px;
}
.m-itemDetail-head .o-right-body ul li p strong.diff-color-a {
	color: #7b060e;
}

/* /20210731 修正のため追記 */

@media screen and (max-width: 768px) {
	.m-itemDetail-head .o-left-box {
		width: 100%;
	}
	.m-itemImage-5box .o-itemimage-large {
		width: 100%;
		height: auto;
		margin-bottom: 0;
	}
}


.cart_price_total {
	margin-bottom: 30px;
}

.m-itemDetailSideBox-inner {
	border-radius: 0;
	box-sizing: border-box;
	border: none;
}
.m-itemDetailSideBox-inner .o-header {
	background-image: linear-gradient(90deg, rgba(255, 103, 0, 1), rgba(255, 200, 0, 1));
	text-align: center;
	color: #000;
}
.m-itemDetailSideBox-inner .o-row {
	color: #000;
	font-size: 1.125rem;
}
.m-itemDetailSideBox-inner .o-body {
	border-left: 2px solid #ff6700;
	border-right: 2px solid #ff6700;
	border-bottom: 2px solid #ff6700;
}
.m-itemDetailSideBox-inner .o-body .m-separate-line {
    height: 2px;
    background: #ff6700;
	border: none;
}

.nextPageBtn {
	position: relative;
    padding: 10px 15px 10px 15px;
    font-size: 1.25rem;
    text-decoration: none;
    text-align: center;
    min-width: inherit;
    border-radius: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.nextPageBtn:after {
	border-right: solid 2px #f95200;
    border-bottom: solid 2px #f95200;
    position: absolute;
    width: 8px;
    height: 8px;
    right: 19px;
    top: calc(50% - 25px);
}
.nextPageBtn:before {
	border-radius: 50%;
    width: 25px;
    height: 25px;
	content: "";
	position: absolute;
	right: 10px;
	top: calc(50% - 13px);
    display: block;
    z-index: 0;
	background: #fff;
}
.nextPageBtn > span {
	font-size: 1.125rem;
}
.nextPageBtn {
	color: #000;
}

.m-addToCart .nextPageBtn {
	background-image: linear-gradient(90deg, rgba(241, 33, 0, 1), rgba(250, 89, 0, 1));
}
.m-addToCart .nextPageBtn:after {
	border-right: solid 2px #f95200;
    border-bottom: solid 2px #f95200;
}

.o-button-box .nextPageBtn {
	background-image: linear-gradient(90deg, rgba(241, 33, 0, 1), rgba(250, 89, 0, 1));
}
.o-button-box .nextPageBtn:after {
	border-right: solid 2px #f95200;
    border-bottom: solid 2px #f95200;
}
.o-button-box .nextPageBtn span {
	color: #fff;
}

.prevPageBtn {
	position: relative;
    padding: 10px 15px 10px 15px;
    font-size: 1.25rem;
    text-decoration: none;
    text-align: center;
    min-width: inherit;
    border-radius: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
	border: 2px solid #ff6700;
}
.prevPageBtn:after {
	border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
    position: absolute;
    width: 8px;
    height: 8px;
    left: 19px;
    top: calc(50% - 25px);
}
.prevPageBtn:before {
	border-radius: 50%;
    width: 25px;
    height: 25px;
	content: "";
	position: absolute;
	left: 10px;
	top: calc(50% - 13px);
    display: block;
    z-index: 0;
	background: #ff6700;
}
.prevPageBtn > span {
	font-size: 1.125rem;
	color: #000;
}
.prevPageBtn {
	color: #000;
}

.o-button-box .prevPageBtn {
	background: #fff;
}
.o-button-box .prevPageBtn:after {
	border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
}


@media screen and (min-width: 481px) {
	.products-custom-section .btn_modal a {
		width: 300px !important;
	}
	.m-cartItemPhoto .btn_externalLink {
    	width: auto !important;
	}
}

@media screen and (min-width: 481px) {
	.o-right-body .right_direction .btn_modal, .o-right-body .right_direction .btn_externalLink {
		width: inherit!important;
		margin-right: 10px!important;
		max-width: inherit!important;
	}
}
.btn_modal a, .btn_externalLink a {
	position: relative!important;
    padding: 10px 15px 10px 15px!important;
    color: #000;
    font-size: 1.25rem;
    text-decoration: none;
    text-align: center;
    min-width: inherit!important;
    background: #fff;
    border: 1px solid #cbcbcb!important;
    border-radius: 100vh!important;
    display: flex!important;
    justify-content: space-between!important;
    align-items: center!important;
}
table .btn_externalLink a {
	margin: 5px 0 0 0!important;
	display: inline-block!important;
}
table .btn_externalLink a span {
	font-weight: normal;
    padding-right: 30px!important;
    padding-left: 0px;
    font-size: 0.75rem;
    width: calc(100% - 30px);
}
.btn_modal a:after, .btn_externalLink a:after {
	border-right: solid 1px #5f5f5f;
    border-bottom: solid 1px #5f5f5f;
    position: absolute;
    width: 8px;
    height: 8px;
    right: 21px;
    /*top: calc(50% - 24px);*/
}
table .btn_externalLink a:after {
	font-family: "FontAwesome";
    content: '\f0f6';
    font-size: 14px;
	color: #5f5f5f;
	display: block;
	border-right: none;
    border-bottom: none;
	transform: rotate(0deg);
	top: calc(50% - 32px);
    right: 21px;
}
.btn_modal a:before, .btn_externalLink a:before {
	border: solid 1px #5f5f5f;
	border-radius: 50%;
    width: 25px;
    height: 25px;
	content: "";
	position: absolute;
	right: 10px;
	top: calc(50% - 14px);
    display: block;
    z-index: 0;
}
table .btn_externalLink a:before {
	border: solid 1px #5f5f5f;
	border-radius: 50%;
    width: 25px;
    height: 25px;
	content: ""!important;
	position: absolute;
	right: 10px;
	top: calc(50% - 14px);
    display: block;
    z-index: 0;
	margin-right: 0!important;
}
table td.info.product_sub .btn_externalLink a:after {
	border-right: solid 1px #5f5f5f;
    border-bottom: solid 1px #5f5f5f;
	content: ""!important;
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    right: 21px;
	top: calc(50% - 4px);
	transform: rotate(-45deg);
	margin: 0;
}
.btn_modal a > span, .btn_externalLink a > span {
	font-weight: normal;
	padding-right: 30px;
	font-size: 1rem;
	white-space: break-spaces;
}
.btn_modal a, .btn_externalLink a, .btn_usage a {
	color: #000;
	border-radius: 100vh;	
}

.m-cartItemPhoto .btn_modal a > span, .m-cartItemPhoto .btn_externalLink a > span {
	font-weight: normal;
	padding-right: 25px!important;
	padding-left: 0px;
	font-size: 0.75rem;
	width: calc(100% - 25px);
	white-space: break-spaces;
}
@media screen and (max-width: 1280px) {
.m-cartItemPhoto .btn_modal a, .m-cartItemPhoto .btn_externalLink a {
    padding: 10px 0;
}
}


@media screen and (max-width: 900px) {
.o-right-body .right_direction {
	justify-content: flex-start!important;
}
}
@media screen and (max-width: 480px) {
.o-right-body .right_direction {
	justify-content: space-between!important;
}
}

 
@media screen and (max-width: 480px) {
.content .cart_price_total + .section.contact {
	padding-top: 30px;
}
}


.m-product-option ul.charges_model > li {
	border-radius: inherit;
	padding: 26px 20px 22px;
}
.m-product-option ul.charges_model > li.js-radio-selected {
	border: none;
	background: #f2f2f2;
}
.m-product-option .charges_list {
	display: flex;
	align-items: center;
	/*justify-content: center;*/
}
@media screen and (max-width: 480px) {
	.m-product-option .charges_list {
	}
}
.m-product-option .charges_list .name {
	font-size: 1.5rem;
	font-weight: normal;
}
.m-product-option .charges_list .price {
	font-size: 1.5rem;
}
@media screen and (min-width: 481px) {
	.m-product-option .charges_list .name {
		width: auto;
		margin-right: 20px;
	}
}
@media screen and (min-width: 481px) {
	.m-product-option .charges_list .price {
		width: auto;
		float: left;
		text-align: left;
		font-weight: normal;
	}
}
@media screen and (max-width: 480px) {
	.m-product-option .charges_list .name {
		width: auto;
		font-size: 1rem;
		margin-right: 10px;
	}
	.m-product-option .charges_list .price {
		width: auto;
		font-size: 1rem;
	}
	.m-charges-model .o-price .o-non-taxed, .m-product-option .charges_list .price .o-non-taxed {
		display: inline;
		font-size: 1rem;
	}
}


/* カスタム編集領域
---------------------------------------------------- */
/* グローバル */
.products-custom-section *,
.products-custom-section *::before,
.products-custom-section *::after {
	box-sizing:border-box;
}

.products-custom-section-inner {
	background: #f4f4f4;
	padding: 60px;
}

/* 20210731 修正のため追記 */
.products-custom-section p {
	font-size: 18px;
}
/* /20210731 修正のため追記 */
.products-custom-section p.annotation {
	font-size: 16px;
	margin-bottom: 30px;
}
.products-custom-section img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
.products-custom-section img.pc {
	display: block;
}
.products-custom-section img.sp {
	display: none;
}
@media only screen and (max-width: 480px) {
.products-custom-section img.pc {
	display: none;
}
.products-custom-section img.sp {
	display: block;
}
}


/*.products-custom-section ol.list-style2 li {
	border: solid 1px #c8c8c8;
	background: #fff;
	padding: 21px 18px 18px !important;
}
.products-custom-section ol.list-style2 li .number {
	background: #ff6700;
}
@media only screen and (max-width: 767px) {
.products-custom-section ol.list-style2 li {
	margin-top: 5px;
}
.products-custom-section ol.list-style2 li:first-of-type {
	margin-top: 0;
}
.products-custom-section ol.list-style2 li > em + div img {
	max-width: 223px;
	height: auto;
}
}*/


.products-custom-section ol.list-style2.column1 {
flex-wrap: wrap;
}
.products-custom-section ol.list-style2.column1 li {
width:100%;
margin:0 5px 10px;
font-size: 14px;
line-height: 1.4;
display: block;
}
.products-custom-section ol.list-style2.column1 li em {
    text-align: left;
}
.products-custom-section ol.list-style2.column1 li img {
    width: auto;
}
@media screen and (max-width: 768px) {
.products-custom-section ol.list-style2.column1 li {
width:100%;
margin:0 0 10px;
}
.products-custom-section ol.list-style2.column1 li:last-of-type {
margin:0;
}
}


.products-custom-section ol.list-style2.column2 {
flex-wrap: wrap;
}
.products-custom-section ol.list-style2.column2 li {
width:calc(50% - 10px);
margin:0 5px 10px;
font-size: 14px;
line-height: 1.4;
display: block;
}
.products-custom-section ol.list-style2.column2 li em {
    text-align: left;
}
.products-custom-section ol.list-style2.column2 li img {
    width: auto;
}
@media screen and (max-width: 768px) {
.products-custom-section ol.list-style2.column2 li {
width:100%;
margin:0 0 10px;
}
.products-custom-section ol.list-style2.column2 li:last-of-type {
margin:0;
}
}


.products-custom-section p img.icon-a {
    vertical-align: middle;
    margin-left: 3px;
    margin-right: 6px;
}

.products-custom-section a img.icon-a {
    width: inherit;
    height: inherit;
    margin-left: 3px;
    margin-right: 6px;
    vertical-align: middle;
}

@media only screen and (max-width: 480px) {
.products-custom-section a img.icon-a {
    width: auto;
    height: auto;
}
}

/*タブ切り替え全体のスタイル*/
.products_tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  margin: 0 auto;
  border: solid 1px #c8c8c8;
}

/*タブのスタイル*/
.products_tab_item {
  width: calc(100%/2);
  padding: 10px;
  background-color: #d9d9d9;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.products_tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="products_tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.products_tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#freetrial:checked ~ #freetrial_content,
#no-freetrial:checked ~ #no-freetrial_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.products_tabs input:checked + .products_tab_item {
  background-color: #2400B0;
  color: #fff;
}

/*タブのコンテンツの中身*/
.products_tabs ol.list-style2 {
	flex-direction: column;
	margin-top: 0;
}
.products_tabs ol.list-style2 li {
	border: solid 1px #c8c8c8;
	width: 100%;
    margin: 0 0 20px;
	padding: 25px 25px 20px 40px !important;
}
.products_tabs ol.list-style2 li:last-of-type {
    margin: 0;
}
.products_tabs ol.list-style2 li .number {
	background: #2400B0;
}
.products_tabs .lyt-col2.flow {
	align-items: flex-start;
}
.products_tabs .lyt-col2.flow ol.list-style2 {
	flex-direction: column;
}
.products_tabs .lyt-col2.flow ol.list-style2 li {
    margin: 0 0 35px;
	position: relative;
	width: 100%;
}
.products_tabs .lyt-col2.flow ol.list-style2 li:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    left: calc(50% - 60px);
    bottom: -30px;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
    border-width: 30px 60px 0 60px;
}
.products_tabs .lyt-col2.flow ol.list-style2 li.last {
    margin: 0;
}
.products_tabs .lyt-col2.flow ol.list-style2 li.last:after {
	display: none;
}
.products_tabs .lyt-col2.flow ol.list-style2 li em {
	text-align: left;
}

/*タブ全体のスタイル トライアル*/
.products_tabs_trial {
  margin-top: 50px;
  background-color: #fff;
  margin: 0 auto;
}

/*タブのコンテンツの中身 トライアル*/
.products_tabs_trial ol.list-style2 {
	flex-direction: column;
	margin-top: 0;
}
.products_tabs_trial ol.list-style2 li {
	border: solid 1px #c8c8c8;
	width: 100%;
    margin: 0 0 20px;
	padding: 25px 25px 20px 40px !important;
}
.products_tabs_trial ol.list-style2 li:last-of-type {
    margin: 0;
}
.products_tabs_trial ol.list-style2 li .number {
	background: #2400B0;
}


/* top_banner */
.products-custom-section .top_banner {
	background: url(/image/products-banner-bg) no-repeat left bottom /cover;
	padding: 0 60px;
	color: #fff;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	height: 222px;
	width: 100%;
	max-width: 840px;
}
@media only screen and (min-width: 1281px) {
	.products-custom-section .top_banner br {
		display: none;
	}
}
@media only screen and (max-width: 1280px) {
	.products-custom-section .top_banner {
		padding: 20px 10px 16px;
		max-width: inherit;
	}
}
.products-custom-section .top_banner h2 {
	font-size: 2.375rem;
	margin-bottom: 0;
}
@media only screen and (max-width: 1280px) {
	.products-custom-section .top_banner h2 {
		padding: 0;
	}
}
.products-custom-section .top_banner p {
	font-size: 1.75rem;
	font-weight: 700;
}
@media only screen and (max-width: 767px) {
	.products-custom-section .top_banner h2 {
		font-size: calc(18vw*100/375);
	}
	.products-custom-section .top_banner p {
		font-size: calc(17vw*100/375);
	}
}


/* 赤文字 */
.products-custom-section .diff-color-a {
	color: #7b060e;
}

/* ボタン */
.products-custom-section .lyt-btn-a {
	display: flex;
	justify-content: center;
	margin-bottom: -16px;
	margin-left: -16px;
	text-align: center;
	flex-wrap: wrap;
}
@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-a {
		flex-direction: column;
	}
}
.products-custom-section .lyt-btn-a + * {
	margin-top: 34px;
}
@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-a + * {
		margin-top: 36px;
	}
}
.products-custom-section .lyt-btn-a > li {
	margin-bottom: 16px;
	margin-left: 16px;
}
.products-custom-section .lyt-btn-a .btn-a,
.products-custom-section .lyt-btn-a .btn-b,
.products-custom-section .lyt-btn-a .btn-c {
	min-width: 400px;
	padding: 14px 24px 9px;
	font-size: 1.5rem;
}
.products-custom-section .lyt-btn-a .btn-b.fs-14 {
	font-size: 1.4rem;
}
@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-a .btn-a,
	.products-custom-section .lyt-btn-a .btn-b,
	.products-custom-section .lyt-btn-a .btn-c {
		width: 100%;
		min-width: inherit;
		padding: 16px 24px 15px;
		font-size: 1.125rem;
	}
.products-custom-section .lyt-btn-a .btn-b.fs-14 {
	font-size: 1.125rem;
}
}
.products-custom-section .lyt-btn-b .btn-a,
.products-custom-section .lyt-btn-b .btn-b,
.products-custom-section .lyt-btn-b .btn-c {
	font-size: 1rem;
}
@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-a .btn-b {
		padding: 16px 40px 15px 24px;
	}
}
.products-custom-section .lyt-btn-a .btn-b::before {
	margin-bottom: -2px;
}
.products-custom-section .lyt-btn-a div.btn-b::before {
	display: none;
}
.products-custom-section .lyt-btn-b {
	display: flex;
	margin-bottom: -16px;
	margin-left: -16px;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.products-custom-section .lyt-btn-b.diff-center {
	justify-content: center;
}
.products-custom-section .lyt-btn-b .btn-i {
	padding: 8px 12px 8px 22px;
    border: 2px solid #cbcbcb;
	text-align: left;
}
.products-custom-section .lyt-btn-b .btn-i + span {
	margin-top: 6px;
	font-size: 14px;
	display: block;
	width: 100%;
	max-width: 300px;
}
.products-custom-section .lyt-btn-b.campaign {
	display: flex;
	justify-content: center;
}
.products-custom-section .lyt-btn-b.campaign .btn-i {
	padding: 14px 20px 13px 20px;
	border: 2px solid #cbcbcb;
	font-size: 18px;
}
.products-custom-section .lyt-btn-b.campaign .btn-i .desc {
	width: calc(100% - 23px);
}


@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-b {
		flex-direction: column;
	}
	.products-custom-section .lyt-btn-b .btn-i {
		min-width: inherit;
	}
	.products-custom-section .lyt-btn-b .btn-i > .desc {
    	width: calc(100% - 23px);
	}
	.products-custom-section .lyt-btn-b .btn-i + span {
		max-width: inherit;
	}
}
.products-custom-section .lyt-btn-b + * {
	margin-top: 34px;
}
@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-b + * {
		margin-top: 36px;
	}
}
.products-custom-section .lyt-btn-b > li {
	margin-bottom: 16px;
	padding-left: 16px;
}

@media only screen and (min-width: 768px) {
	.products-custom-section .lyt-btn-b .btn-a,
	.products-custom-section .lyt-btn-b .btn-b,
	.products-custom-section .lyt-btn-b .btn-c {
		min-width: 300px;
	}
}
@media only screen and (max-width: 480px) {
	.products-custom-section .lyt-btn-b .btn-a,
	.products-custom-section .lyt-btn-b .btn-b,
	.products-custom-section .lyt-btn-b .btn-c {
		width: 100%;
	}
}
.products-custom-section .btn-a,
.products-custom-section .btn-b,
.products-custom-section .btn-c {
	position: relative;
	/*display: inline-block;*/
	padding: 8px 34px 8px 22px;
	text-align: center;
	line-height: 1.4;
	text-decoration: none !important;
	/*box-shadow: 0 1px 2px rgba(0, 0, 0, .18);*/
	transition: background .2s;
}

@media only screen and (max-width: 480px) {
	.products-custom-section .btn-a,
	.products-custom-section .btn-b,
	.products-custom-section .btn-c {
		padding: 12px 34px 12px 22px;
	}
}
/*.products-custom-section .btn-a::before,
.products-custom-section .btn-b::before,
.products-custom-section .btn-c::before {
	position: absolute;
	top: 50%;
	right: 12px;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #7b060e;
	border-right: 2px solid #7b060e;
	content: "";
	transform: rotate(45deg);
}*/
.products-custom-section .btn-a .icon-a,
.products-custom-section .btn-b .icon-a,
.products-custom-section .btn-c .icon-a {
	display: none;
}
.products-custom-section .btn-a[href$=".pdf"]::before,
.products-custom-section .btn-a[target=_blank]::before,
.products-custom-section .btn-b[href$=".pdf"]::before,
.products-custom-section .btn-b[target=_blank]::before,
.products-custom-section .btn-c[href$=".pdf"]::before,
.products-custom-section .btn-c[target=_blank]::before {
	display: none;
}

.products-custom-section .btn-a[href$=".pdf"] .icon-a,
.products-custom-section .btn-a[target=_blank] .icon-a,
.products-custom-section .btn-b[href$=".pdf"] .icon-a,
.products-custom-section .btn-b[target=_blank] .icon-a,
.products-custom-section .btn-c[href$=".pdf"] .icon-a,
.products-custom-section .btn-c[target=_blank] .icon-a {
	position: absolute;
	top: 50%;
	right: 12px;
	display: inline-block;
	margin: -5px 0 0;
	vertical-align: middle;
}
.products-custom-section .btn-a[href$=".pdf"] .icon-a,
.products-custom-section .btn-b[href$=".pdf"] .icon-a,
.products-custom-section .btn-c[href$=".pdf"] .icon-a {
	margin-top: -8px;
}
/*.products-custom-section .btn-a {
	color: #7b060e !important;
	background: #fff;
	border: 1px solid #7b060e;
}*/
.products-custom-section .btn-a + span {
	margin-top: 6px;
	font-size: 14px;
	display: block;
	width: 300px;
}
/*.products-custom-section .btn-a::before {
	border-color: #7b060e;
}
.products-custom-section .btn-a:hover,
.products-custom-section .btn-a:active,
.products-custom-section .btn-a:focus {
	background: #f6cfd3;
}*/
.products-custom-section .btn-b {
	color: #fff !important;
	background: #7b060e;
	border: 1px solid #7b060e;
}
.products-custom-section .btn-b::before {
	border-color: #fff;
}
.products-custom-section .btn-b:hover,
.products-custom-section .btn-b:active,
.products-custom-section .btn-b:focus {
	background: #d11124;
	border: 1px solid #d11124;
}
.products-custom-section div.btn-b:hover,
.products-custom-section div.btn-b:active,
.products-custom-section div.btn-b:focus {
	background: #7b060e;
	border: 1px solid #7b060e;
}
.products-custom-section .btn-c {
	color: #fff !important;
	background: #000;
	border: 1px solid #000;
}
.products-custom-section .btn-c::before {
	border-color: #fff;
}
.products-custom-section .btn-c:hover,
.products-custom-section .btn-c:active,
.products-custom-section .btn-c:focus {
	background: #595959;
	border: 1px solid #595959;
}
@media only screen and (max-width: 767px) {
.products-custom-section .btn-a + span {
	width: auto;
}
.products-custom-section .btn-a + span span {
	display: block;
}
}
@media only screen and (max-width: 480px) {
.products-custom-section .btn-a + span span {
	display: inline;
}
}


/* ボタン パターン グラデーション Rd-Or */
.products-custom-section a.btn-rd-or {
	position:relative;
	font-size: 1.25rem;
	text-decoration: none;
	text-align: center;
	min-width: 300px;
	border-radius: 100vh;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 20px 19px 20px;
	color: #fff;
	background-image: linear-gradient(90deg, rgba(224, 4, 14, 1), rgba(236, 123, 27, 1));
	border: transparent;
}
.products-custom-section a.btn-rd-or:hover {
	color: #fff;
}
.products-custom-section a.btn-rd-or > .desc {
	font-weight: 700;
	flex-grow: 1;
}
.products-custom-section a.btn-rd-or > .icon {
	position: relative;
	margin-left: 10px;
	display: inline-block;
	width: 30px;
	height: 30px;
	vertical-align: middle;
}
.products-custom-section a.btn-rd-or .icon::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid #5f5f5f;
	opacity: 0;
	z-index:0;
}
.products-custom-section a.btn-rd-or .icon svg {
	fill: #5f5f5f;
	position: absolute;
	top: 0;
	left:0;
}
.products-custom-section a.btn-rd-or .icon svg .arrow {
	fill: #ec691b;
}
.products-custom-section a.btn-rd-or .icon svg .circle {
	width: 100%;
	height: 100%;
	transform-origin:center;
	fill: #fff;
	stroke: #fff;
	stroke-width: 1px;
}
.products-custom-section a.btn-rd-or .icon svg .arrow {
	transform: translateX(0);
	transition: -webkit-transform .3s ease-in-out;
	transition: transform .3s ease-in-out;
	transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
}
.products-custom-section a:hover .btn-rd-or .icon::before {
	opacity:.1;
}
.products-custom-section a:hover .btn-rd-or .icon svg .arrow {
	animation:arrow 1.5s forwards ease-in-out;
}
.products-custom-section a:hover .btn-rd-or .icon svg.circle {
	fill: #fff;
	stroke: #fff;
	stroke-width: 1;
	animation:circle 2s forwards cubic-bezier(.215, .61, .355, 1);
}
.products-custom-section a.btn-rd-or:hover .icon::before {
	opacity: .1;
	animation:arrow_bg 2s forwards cubic-bezier(.215, .61, .355, 1);
}
.products-custom-section a.btn-rd-or:hover .icon svg .arrow {
	animation:arrow 1.5s forwards ease-in-out;
}
.products-custom-section a.btn-rd-or:hover .icon svg .circle {
	fill: #fff;
	stroke: #fff;
	stroke-width: 1;
	animation:circle 2s forwards cubic-bezier(.215, .61, .355, 1);
}

@keyframes arrow_bg {
	0% {
		opacity:.1;
	}

	100% {
		opacity:0;
	}
}
@keyframes arrow {
	0% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform:translateX(0);
	}
	10% {
		opacity: 0;
		-webkit-transform: translateX(50%);
		transform:translateX(50%);
	}
	25% {
		opacity: 0;
		-webkit-transform: translateX(-50%);
		transform:translateX(-50%);
	}
	40% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform:translateX(0);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform:translateX(0);
	}
}
@keyframes circle {
	0% {
		stroke-dasharray: 0 300;
		-webkit-transform: rotate(0);
		transform:rotate(0);
	}
	10% {
		stroke-dasharray:50 100;
	}
	20% {
		stroke-dasharray:100 200;
	}
	30% {
		stroke-dasharray:150 300;
	}
	40% {
		stroke-dasharray:200 300;
	}
	60% {
		stroke-dasharray: 300 300;
		-webkit-transform: rotate(360deg);
		transform:rotate(360deg);
	}
}



/* list-link-a */
.products-custom-section .list-link-a {
	position: relative;
	display: flex;
	justify-content: flex-end;
}
.products-custom-section .list-link-a > li > a {
	position: relative;
	display: inline-block;
	padding-right: 20px;
	text-decoration: none;
	font-size: 1rem;
	color: #000;
}
.products-custom-section .list-link-a > li > a::before {
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
	right: 2px;
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
	border-top: 2px solid #a40e1c;
	border-right: 2px solid #a40e1c;
	content: "";
	transform: rotate(45deg);
}
.products-custom-section .list-link-a > li a:hover, .products-custom-section .list-link-a > li a:active, .products-custom-section .list-link-a > li a:focus {
	color: #57564f;
	text-decoration: underline;
}


/* タイポグラフィ */
.products-custom-section h2 {
	font-size: 1.5rem;
	line-height: 1.2;
	margin-bottom: 16px;
}
@media only screen and (max-width: 480px) {
	.products-custom-section h2 {
		font-size: 1.25rem;
	}
}
.products-custom-section h3 {
	font-size: 1.375rem;
	line-height: 1.2;
	margin-bottom: 16px;
}
.products-custom-section ol.list-style2 + h3, .products-custom-section p + h3 {
	margin-top: 40px;
}
@media only screen and (max-width: 480px) {
	.products-custom-section h3 {
		font-size: 1.125rem;
	}
}
.products-custom-section h4,
.products-custom-section h5 {
	font-size: 1.125rem;
	line-height: 1.2;
	margin-bottom: 14px;
}
@media only screen and (max-width: 480px) {
	.products-custom-section h4,
	.products-custom-section h5 {
		font-size: 1rem;
	}
}

.products-custom-section .list-a {
	padding-left: 20px;
}
.products-custom-section * + .list-a {
	margin-top: 14px;
}
.products-custom-section .list-a.diff-indent {
	padding-left: 0;
}
.products-custom-section .list-a > li {
	position: relative;
	padding-left: 17px;
/* 20210731 修正のため追記 */
	font-size: 18px;
/* /20210731 修正のため追記 */
}
.products-custom-section .list-a > li:before {
	position: absolute;
	top: .3em;
	left: 0;
	display: block;
	width: 10px;
	height: 10px;
	background: #00E7EF;
	border-radius: 50%;
	content: "";
}
.products-custom-section .list-a > li + li {
	margin-top: 8px;
}

.products-custom-section strong.diff-color-a {
	color: #7b060e;
	display: block;
	width: 100%;
}


/* セクション */
.products-custom-section .point-section {
	padding: 40px 0;
	border-bottom: 1px solid #7c070f;
}


/* コンポーネント */
.products-custom-section .box-a {
	border: 2px solid #f0f0f0;
	padding: 16px;
}
.products-custom-section .box-b {
    background: #f2f2f2;
    padding: 16px;
}

.products-custom-section .products-custom-section-inner .box-b {
	border-top: 1px solid #cdcece;
	padding: 50px 0 0;
	margin: 50px 0 0;
}

/*.products-custom-section .box-b h4 {
	font-size: 1.75rem;
	font-weight: normal;
	text-align: center;
}*/

.products-custom-section .list-contact {
	display: flex;
	justify-content: center;
	margin-bottom: -16px;
	margin-left: -60px;
}
@media only screen and (max-width: 767px) {
	.products-custom-section .list-contact {
		flex-direction: column;
	}
}
.products-custom-section .list-contact > li {
	width: 50%;
	max-width: 560px;
	padding-bottom: 16px;
	padding-left: 60px;
	display: flex;
	flex-direction: column;
}
@media only screen and (max-width: 767px) {
	.products-custom-section .list-contact > li {
		width: 100%;
		max-width: none;
	}
}
.products-custom-section .list-contact > li > *:nth-child(2) {
	padding: 24px 10px 24px;
	margin-bottom: 16px;
	background: #fff;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.products-custom-section .list-contact h3 {
	margin-bottom: 24px;
	font-size: 1.25rem;
	text-align: center;
	font-weight: normal;
}
.products-custom-section .list-contact .notes-a {
	margin-top: auto;
	min-height: 3em;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
}
.products-custom-section .list-contact a#inquiryParam2 {
	position:relative;
	color: #000;
	font-size: 1.25rem;
	text-decoration: none;
	text-align: center;
	display: flex;
	flex-direction: row;
	align-items: center;
}
.products-custom-section .list-contact a:hover#inquiryParam2 {
	color: #000;
}
.products-custom-section .list-contact a#inquiryParam2 .icon {
	position: relative;
	margin-right: 10px;
	display: inline-block;
	width: 40px;
	height: 40px;
	vertical-align: middle;
}
.products-custom-section .list-contact a#inquiryParam2 .icon::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid #5f5f5f;
	opacity: 0;
	z-index:0
}
.products-custom-section .list-contact a#inquiryParam2 .icon svg {
	fill: #5f5f5f;
	position: absolute;
	top: 0;
	left:0
}
.products-custom-section .list-contact a#inquiryParam2 .icon svg .circle {
	fill: none;
	stroke: #5f5f5f;
	stroke-width: 1px;
	width: 100%;
	height: 100%;
	-webkit-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin:center
}
.products-custom-section .list-contact a#inquiryParam2 .icon svg .arrow {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition: -webkit-transform .3s ease-in-out;
	transition: -webkit-transform .3s ease-in-out;
	-o-transition: transform .3s ease-in-out;
	transition: transform .3s ease-in-out;
	transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out
}
.products-custom-section .list-contact a:hover#inquiryParam2 .icon::before {
	opacity:.1
}
.products-custom-section .list-contact a:hover#inquiryParam2 .icon svg .arrow {
	-webkit-animation: arrow 1.5s forwards ease-in-out;
	animation:arrow 1.5s forwards ease-in-out
}
.products-custom-section .list-contact a:hover#inquiryParam2 .icon svg.circle {
	fill: transparent;
	stroke: #5f5f5f;
	stroke-width: 1;
	-webkit-animation: circle 2s forwards cubic-bezier(.215, .61, .355, 1);
	animation:circle 2s forwards cubic-bezier(.215, .61, .355, 1)
}
.products-custom-section .list-contact a:hover#inquiryParam2 .icon::before {
	opacity: .1;
	-webkit-animation: arrow_bg 2s forwards cubic-bezier(.215, .61, .355, 1);
	animation:arrow_bg 2s forwards cubic-bezier(.215, .61, .355, 1)
}
.products-custom-section .list-contact a:hover#inquiryParam2 .icon svg .arrow {
	-webkit-animation: arrow 1.5s forwards ease-in-out;
	animation:arrow 1.5s forwards ease-in-out
}

.products-custom-section .list-contact a:hover#inquiryParam2 .icon svg .circle {
	fill: transparent;
	stroke: #5f5f5f;
	stroke-width: 1;
	-webkit-animation: circle 2s forwards cubic-bezier(.215, .61, .355, 1);
	animation:circle 2s forwards cubic-bezier(.215, .61, .355, 1)
}
@media only screen and (max-width: 767px) {
	.products-custom-section .list-contact .type-tel {
		margin-top: 16px;
	}
}

.products-custom-section .list-contact .type-tel a {
	text-decoration: none;
	color: #000;
}
.products-custom-section .list-contact .type-tel .customer {
	margin-bottom: 10px;
	font-size: 0.9375rem;
}
.products-custom-section .list-contact .type-tel .contact-inner {
	position: relative;
	padding-left: 50px;
	font-size: 2rem;
}
.products-custom-section .list-contact .type-tel .contact-inner::before {
	display: inline-block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1px;
	margin: auto;
	width: 46px;
	height: 26px;
	background: url(/image/icon-free-dial) no-repeat center center /cover;
}
@media only screen and (max-width: 480px) {
.products-custom-section .list-contact .type-tel .contact-inner {
	font-size: 1.4rem;
}
}

.products-custom-section .contact {
	margin-top: 10px;
	display: flex;
	justify-content: space-between;
}
.products-custom-section .contact > * {
	width: 49%;
}
.products-custom-section .contact > * > * {
	padding: 10px;
	margin-top: 6px;
	background: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	border: 1px solid #fff;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.products-custom-section .contact > * > p {
	text-align: center;
	margin-top: 6px;
	font-size: 14px;
	background: none;
    padding: 0;
    border: 0;
    font-weight: normal;
    height: auto;
}
.products-custom-section .contact > * a {
	color: #fff !important;
    background: url(/image/lf-bgg-bl-cy) no-repeat center center;
    border: 1px solid #2400B0;
	text-decoration: none;
	transition: 0.2s;
	position: relative;
}
.products-custom-section .contact > * a:before {
	position: absolute;
    top: 50%;
    right: 12px;
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -4px;
	margin-bottom: -2px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    transform: rotate(45deg);
}
/*.products-custom-section .contact > * a:hover {
	background: #999;
	border: 1px solid #999;
}*/
.products-custom-section .contact > * span strong {
	margin-left: 8px;
	font-size: 1.5rem;
}
.products-custom-section .contact > * span strong a {
	background: #fff;
	color: #000;
	border: none;
}
@media only screen and (max-width: 767px) {
	.products-custom-section .contact {
		flex-direction: column;
	}
	.products-custom-section .contact > * {
		width: 100%;
	}
	.products-custom-section .contact li:first-of-type {
		margin-bottom: 20px;
	}
}
@media only screen and (max-width: 480px) {
	.products-custom-section .contact > * span strong {
		font-size: 1.125rem;
	}
}


.products-custom-section .bg-a {
	padding: 8px 16px 3px;
	margin-bottom: 20px;
	background: #595959;
	color: #fff;
}

.products-custom-section .point {
	margin-bottom: 24px;
	font-size: 1.25rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.products-custom-section .point > span {
	margin-right: 10px;
	padding: 0.2em 0.4em 0.1em;
	background: #7c0308;
	color: #fff;
	font-weight: 700;
	margin: 0 0 10px 0;
	align-self: flex-start;
}

.products-custom-section .lyt-col2 {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
}
.products-custom-section .lyt-col2 > * {
	width: 48.81%;
	display: flex;
}

.products-custom-section .lyt-col2 > .text-box {
	width: auto;
	display: block;
}
.products-custom-section .lyt-col2 > .img-box {
	margin-left: 20px;
	flex: 0 0 auto;
	align-items: flex-start;
}
.products-custom-section .lyt-col2 > .w-40 {
	flex: 0 0 40%;
}
.products-custom-section .lyt-col2 > .w-55 {
	flex: 0 0 55%;
}
.products-custom-section .lyt-col2 > .w-60 {
	flex: 0 0 60%;
}

@media only screen and (max-width: 767px) {
	.products-custom-section .lyt-col2 {
		flex-direction: column;
	}
	.products-custom-section .lyt-col2 + .lyt-col2 {
		margin-top: 40px;
	}
	.products-custom-section .lyt-col2 > * {
		width: 100%;
		display: block;
	}

	.products-custom-section .lyt-col2 > .img-box {
		margin: 16px 0 0;
	}
	.products-custom-section .lyt-col2 > .col + .col {
		margin-top: 20px;
	}
}

.products-custom-section .lyt-img {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
}
.products-custom-section .lyt-img > * {
	width: 100%;
}
.products-custom-section .lyt-img + * {
	/*margin-top: 40px;*/
}


.l-cartTotalBox-inner {
	box-sizing: border-box;
}


/* casestudies */
.products-custom-section .lyt-btn-b.casestudies > li {
    width: calc(33% - 16px);
}
.products-custom-section .lyt-btn-b.casestudies > li h4 {
    margin: 10px 0 5px;
}
.products-custom-section .lyt-btn-b.casestudies > li a {
    color: #000;
	text-decoration: none;
}
.products-custom-section .lyt-btn-b.casestudies > li a:hover,.products-custom-section .lyt-btn-b.casestudies > li a:active,.products-custom-section .lyt-btn-b.casestudies > li a:focus {
    color: #57564f;
	text-decoration: underline;
}
@media only screen and (max-width: 767px) {
.products-custom-section .lyt-btn-b.casestudies > li {
    width: 100%;
    display: flex;
    justify-content: center;
	margin-bottom: 24px;
}
.products-custom-section .lyt-btn-b.casestudies > li:last-of-type {
	margin-bottom: 0;
}
}


/* youtube
----------------------------------------------- */
.products-custom-section .youtube {
    margin: 34px auto 20px !important;
    max-width: 800px;
}
.products-custom-section .youtube > div {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.products-custom-section .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.l-cartTotalBox-inner {
	box-sizing: border-box;
}


/* クラウド構築サポートはFTTクラウドパートナーをご利用ください。
----------------------------------------------- */
.products-custom-section .box {
	background: #fff;
    width: 100%;
    max-width: 1000px;
    margin: 20px auto 0;
	padding: 30px;
}
.products-custom-section .box > .lay2col {
	display: flex;
	justify-content: space-between;
}
.products-custom-section .box > .lay2col > .visual {
	width: calc(50% - 10px);
}
.products-custom-section .box > .lay2col > .text {
	width: calc(50% - 10px);
}
.products-custom-section .box > .lay2col .text > p + p {
	margin-top: 1em;
}
.products-custom-section .box > .lay2col .text > .lyt-btn-a {
	justify-content: flex-start;
}
.products-custom-section .box > .lay2col > .inner {
	padding: 16px;
	border: 1px solid #d9d9d9;
}
.products-custom-section .box > .lay2col > .inner > .visual {
	margin-bottom: 10px;
}
.products-custom-section .box > .lay2col + .notice {
	margin-top: 10px;
	font-size: 0.8125rem;
	color: #000;
}
.products-custom-section .box > .lay2col .text h4 {
	font-size: 1.25rem;
}
@media only screen and (max-width: 1016px) {
.products-custom-section .box {
    width: 100%;
}
}
@media only screen and (max-width: 767px) {
	.products-custom-section .box > .lay2col {
		flex-direction: column-reverse;
	}
	.products-custom-section .box > .lay2col > * {
		width: 100% !important;
	}
	.products-custom-section .box > .lay2col .text {
		margin-bottom: 10px;
	}
	.products-custom-section .box > .lay2col .visual {
		text-align: center;
	}
}

/* 値段表示 */
.products-custom-section .charges_list {
 	margin: -30px 20px 30px;
	display: flex;
    align-items: center;
}

.products-custom-section .charges_list .name {
  font-size: 1.5rem;
    margin-right: 20px;
    width: auto;
}
/*@media screen and (min-width: 1024px) {
    .products-custom-section .charges_list .name {
      width: 60%;
    }
}*/
@media screen and (max-width: 480px) {
  .products-custom-section .charges_list .name {
    width: auto;
    font-size: 1rem;
    margin-right: 10px;
  }
}

.products-custom-section .charges_list .price {
  width: auto;
    font-size: 1.5rem;
}
/*@media screen and (min-width: 1024px) {
    .products-custom-section .charges_list .price {
      width: 40%;
    }
}*/
@media screen and (max-width: 480px) {
  .products-custom-section .charges_list .price {
    width: auto;
    font-size: 1rem;
	font-weight: bold;
  }
}
.products-custom-section .charges_list .price .o-non-taxed {
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  vertical-align: middle;
}
@media screen and (max-width: 480px) {
.products-custom-section .charges_list .price .o-non-taxed {
    display: inline;
    font-size: 1rem;
}
}


/* tbl-a */
.products-custom-section .tbl-a thead th {
    background: #00E7EF;
	/*width: inherit;*/
}


/* スペーシング */
.products-custom-section .mt-1 {
	margin-top: 0.25rem !important;
}
.products-custom-section .mt-2 {
	margin-top: 0.5rem !important;
}
.products-custom-section .mt-3 {
	margin-top: 1rem !important;
}
.products-custom-section .mt-4 {
	margin-top: 1.5rem !important;
}
.products-custom-section .mt-5 {
	margin-top: 3rem !important;
}


/* PC・タブレット・スマホ　表示切替 */
.display_pc {
	display: block;
}
.display_tb {
	display: none;
}
.display_sp {
	display: none;
}
@media only screen and (max-width: 767px) {
.display_pc {
	display: none;
}
.display_tb {
	display: block;
}
.display_sp {
	display: none;
}
}
@media only screen and (max-width: 480px) {
.display_pc {
	display: none;
}
.display_tb {
	display: none;
}
.display_sp {
	display: block;
}
}