@charset "UTF-8";

/* ====================================
	ベーススタイル
 ==================================== */

/* フォント設定 */
.mincho, .main-section, .sub-title-header, .sub-section .text-container
	{
	font-family: source-han-serif-japanese, serif
}

em {
	color: #10719D;
}

.font-bold {
	font-weight: 500;
}

.color-white {
	color: #fff;
}

/* フレックスコンテナ */
.flex-container {
	display: flex;
	flex-wrap: wrap;
}

.flex-item {
	width: 100%;
}

/* ====================================
	共通スタイル
 ==================================== */
.bg-gray {
	background: #F2F2F2;
}

/* アローボタン・左 */
.btn-arrow {
	display: inline-block;
	text-align: center;
}

.btn-arrow a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.5em 1em 0.5em 2em;
	font-size: inherit;
	line-height: inherit;
	background-color: #535353;
	background-image: url(/products/common/images/chevron-right-solid-w.svg);
	background-repeat: no-repeat;
	background-position: left 0.7em center;
	background-size: auto 1em;
	color: #fff;
	text-decoration: none;
}

.btn-arrow.btn-arrow.ba-r a {
	padding: 0.7em 2em 0.7em 1em;
	background-position: right 0.7em center;
}

.btn-arrow.ba-lightgray a {
	background-color: #8D8D8D;
}

/* figure */
.fig-cap-btm figcaption {
	color: #535353;
}

/* サブセクション */
.sub-catch-copy {
	background-image: url(images/cloud.png);
	background-repeat: no-repeat;
	background-position: center center;
}

.sub-catch-copy {
	position: relative;
}

.sub-catch-copy::before {
	content: '';
	display: block;
	width: 100px;
	height: 100px;
	background-image: url(images/illust01.png);
	background-repeat: no-repeat;
	position: absolute;
	right: 0;
	bottom: 0;
}

#reason2 .sub-catch-copy::before {
	background-image: url(images/illust02.png);
}

#reason3 .sub-catch-copy::before {
	background-image: url(images/illust03.png);
}

#reason4 .sub-catch-copy::before {
	background-image: url(images/illust04.png);
}

#reason5 .sub-catch-copy::before {
	background-image: url(images/illust05.png);
}

/* STEP */
.step {
	font-weight: 700;
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	.tb {
		display: none;
	}
	.mts {
		margin-top: 2rem;
	}

	/* figure */
	.fig-cap-btm figcaption {
		margin-top: 0.5em;
		text-align: center;
	}

	/* 画像リスト */
	ul.list-figures {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	ul.list-figures li .img {
		width: 100%;
	}
	ul.list-figures.half li {
		width: 48%;
	}
	ul.list-figures.col3 li {
		margin-top: 2rem;
	}
	ul.list-figures.col3 li:first-child {
		margin-top: 0;
	}

	/* 製品ページナビメニュー */
	.page-navi {
		padding: 0 0 4rem;
	}
	ul.list-page-navi {

	}
	ul.list-page-navi>li {
		margin-top: 1rem;
	}
	ul.list-page-navi>li:first-child {
		margin-top: 0;
	}
	ul.list-page-navi>li>a {
		display: block;
		text-decoration: none;
	}

	/* メインセクション */
	.main-section {
		padding: 3rem 0;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.main-text.dounano {
		margin-top: 3rem;
		font-size: 2rem;
		line-height: 1.7;
		text-align: center;
	}

	/* サブセクション */
	.sub-section {
		padding: 4rem 0;
	}
	.sub-section .text {
		font-size: 1.5rem;
	}
	.img-container {
		margin-top: 3rem;
		text-align: center;
	}
	.sub-catch-copy {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 24vw;
		padding-bottom: 7%;
		background-size: contain;
		text-align: center;
	}
	.sub-catch-copy::before {
		width: 50px;
		height: 50px;
		background-size: contain;
		bottom: 14px;
	}
	.sub-title-header {
		margin: 3rem 0;
		text-align: center;
	}
	.sub-title-num {
		width: 100px;
		height: 100px;
		margin: 0 auto;
	}
	.pci-nara {
		margin: 2rem 0 1rem;
	}
	.sub-title {
		font-size: 2.4rem;
	}

	/* 注釈セクション */
	.caption-section {
		margin-top: 3rem;
		padding-bottom: 4rem;
	}
	#reason2 .flex-item-img {
		margin: 3rem auto 0;
	}
	#reason3 .fig-cap-btm figcaption {
		font-size: 1.2rem;
		text-align: left;
	}
	#reason3 .fig-cap-btm figcaption .step, #reason3 .fig-cap-btm figcaption .text
		{
		display: inline-block;
		margin-right: 0.5em;
		font-size: 1.2rem;
	}

	/* 個別スタイル */
	#sub03-1 .img {
		position: relative;
	}
	#sub03-1 .img .caption {
		padding: 0.5em;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	/* 製品 */
	.product-container {
		padding: 4rem 0;
		border-top: solid 1px #707070;
	}
	.product-text-container .text {
		font-size: 1.8rem;
	}
	.product-img-container {
		margin-top: 3rem;
	}
	.product-text-container .product-link {
		margin-top: 2rem;
	}
	.product-text-container .prod-id {
		font-size: 1.8rem;
	}
	.product-text-container .prod-price {
		margin-left: 0.5em;
		margin-right: 1.5em;
		font-size: 1.4rem;
	}
	.product-text-container .btn-arrow {
		font-size: 1.2rem;
	}
	.product-text-container .btn-arrow a {
		padding: 0.2em 1em 0.2em 2em;
	}
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print , screen and (min-width: 768px) {
	article .outer-base-width {
		padding-left: 6%;
		padding-right: 6%;
	}
	.mts {
		margin-top: 4rem;
	}
	.maxw750 {
		max-width: 750px;
		margin-left: auto;
		margin-right: auto;
	}
	.maxw960 {
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}

	/* figure */
	.fig-cap-btm figcaption {
		margin-top: 0.5em;
		text-align: center;
	}

	/* フレックスコンテナ：ハーフ */
	.flex-container.half {
		justify-content: space-between;
	}
	.flex-container.half>.flex-item {
		width: 48%;
	}
	.flex-container .flex-item-text {
		padding-right: 4%;
		flex: 1;
	}
	.flex-container .flex-item-img {
		width: 360px;
	}

	/* 画像リスト */
	ul.list-figures {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	ul.list-figures li .img {
		width: 100%;
	}
	ul.list-figures.half li {
		width: 48%;
	}
	ul.list-figures.col3 li {
		width: 33.25%;
	}

	/* 製品ページナビメニュー */
	.page-navi {
		padding: 4rem 0 8rem;
	}
	.page-navi-container {
		max-width: 860px;
		margin: 0 auto;
	}
	ul.list-page-navi {
		display: flex;
	}
	ul.list-page-navi>li {
		width: 20%;
		padding: 1%;
	}
	ul.list-page-navi>li>a {
		display: block;
		text-decoration: none;
	}

	/* メインセクション */
	.main-section {
		padding: 8rem 0 0;
		font-size: 1.8rem;
		line-height: 2.5;
		text-align: center;
	}
	.main-text {
		margin-top: 4rem;
	}
	.main-text.dounano {
		font-size: 2.4rem;
		line-height: 1.8;
	}

	/* サブセクション */
	.sub-section {
		padding: 10rem 0;
	}
	.text-container {
		max-width: 820px;
		margin: 0 auto;
	}
	.text-container .text {
		line-height: 1.8;
	}
	.img-container {
		margin-top: 8rem;
		text-align: center;
	}
	.sub-catch-copy {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 620px;
		height: 170px;
		margin: 0 auto;
		padding-bottom: 45px;
	}
	.sub-catch-copy .text {
		font-size: 2.2rem;
	}
	.sub-title-header {
		display: flex;
		justify-content: center;
		margin: 6rem 0;
		text-align: center;
	}
	.sub-title-num {
		width: 160px;
		height: 160px;
		margin-right: 40px;
	}
	.sub-title-container {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.pci-nara {
		margin-bottom: 1rem;
		font-size: 2rem;
	}
	.sub-title {
		font-size: 4.2rem;
	}
	.sub-title sup {
		font-size: 0.4em;
		top: -1.2em;
	}

	/* 個別スタイル */
	#sub03-1 .img {
		position: relative;
	}
	#sub03-1 .img .caption {
		padding: 0.5em;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#sub03-1 .text {
		font-size: 2.3rem;
		font-weight: 400;
	}

	/* 製品 */
	.product-container {
		display: flex;
		justify-content: center;
		padding: 4rem 0;
		border-top: solid 1px #707070;
	}
	.product-text-container {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 48%;
		max-width: 400px;
	}
	.product-img-container {
		width: 48%;
	}
	.product-text-container .text {
		font-size: 2rem;
	}
	.product-text-container .product-link {
		margin-top: 7rem;
	}
	.product-text-container .prod-id {
		font-size: 1.8rem;
	}
	.product-text-container .prod-price {
		margin-left: 1em;
		font-size: 1.4rem;
	}
	.product-text-container .btn-arrow {
		margin-left: 1.5em;
		font-size: 1.2rem;
	}
	#reason2 .fig-cap-btm figcaption {
		font-size: 1.4rem;
	}
}

/* ====================================
	タブレット、印刷専用スタイル
===================================== */
@media print , screen and (min-width: 768px) and (max-width: 1079px) {
	.sub-title-num {
		width: 150px;
		height: 130px;
		margin-right: 20px;
	}
	.sub-title {
		font-size: 3.8rem;
	}
}

/* ====================================
	PC専用スタイル
===================================== */
@media only screen and (min-width: 1080px) {
	.tb {
		display: none;
	}

	/* figure */
	#reason3 .fig-cap-btm figcaption {
		font-size: 2rem;
	}
}

/* ====================================
	スクリーン専用スタイル
===================================== */
@media screen {
}