@charset "UTF-8";
/* CSS Document */

@import url("./nav_mega.css");

/*================================================
 *  一般・共通設定
 ================================================*/
* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 62px;
}

a {
	color: #000;
	text-decoration: none;
}

p {
	margin: 0;
	font-size: 1.5em;
	border-right: none;
}

#tmpl_content {
	height: auto;
	min-height: calc(100vh - 50px);
	display: flex;
	font-size: 62.5%;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media screen and (min-width: 641px) {
	#tmpl_main {
		margin: 0 auto;
		width: 1190px;
	}
}

#tmpl_main img {
	max-width: 100%;
	display: block;
	margin: auto;
}

/*
.text-center{text-align: center;}
*/
/*----- 各ページタイトル-----*/
.ISPtitle {
	margin: 25px auto 10px;
	padding: 0 50px 5px 0;
	width: 100%;
	min-height: 36px;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: 1px solid #000;
}
	.ISPtitle a {
		background-color: #FFF;
	}

h2 {
	width: auto;
	font-size: 2.6em;
	font-weight: 700;
	margin: 0;
}

h2.second {
	width: auto;
	font-size: 2.2em;
	font-weight: 700;
	margin: 0;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

h3 {
	display: flex;
	align-items: baseline;
	margin: 20px auto 5px;
	padding: 0 0 5px 0;
	width: auto;
	font-size: 2.2em;
	font-weight: 700;
	border-bottom: 1px solid #000;
}

h4 {
	margin: 20px 0 5px;
	padding: 0 0 0 10px;
	width: 100%;
	font-size: 1.8em;
	line-height: 1.5;
	font-weight: 700;
	border-left: 5px solid #6C7585;
}

h5 {
	margin: 20px auto 10px;
	padding-left: 20px;
	font-size: 1.6em;
	line-height: 2.125;
	font-weight: 700;
	color: #fff;
	background: #6C7584;
}

h6 {
	margin: 0 auto 10px;
	padding: 10px 12px;
	font-size: 1.6em;
	background-color: #EBEEF4;
}

.heading3_2{
	margin: 20px 0 5px;
    padding: 0 0 0 10px;
    width: 100%;
    font-size: 1.8em;
    line-height: 1.5;
    font-weight: 700;
    border-left: 5px solid #6C7585;
	border-bottom: none;
}

.heading3_3{
	margin: 20px auto 10px;
	padding-left: 20px;
	font-size: 1.6em;
	line-height: 2.125;
	font-weight: 700;
	color: #fff;
	background: #6C7584;
}

.heading4_2{
	border: none;
	margin: 20px auto 10px;
    padding-left: 20px;
    font-size: 1.6em;
    line-height: 2.125;
    font-weight: 700;
    color: #fff;
    background: #6C7584;
}

@media screen and (max-width: 640px) {
	html {
		scroll-padding-top: 11.8vw;
	}

	#tmpl_content {
		min-height: auto;
	}

	#tmpl_main {
		margin: 0 auto;
		width: 100vw;
		overflow: hidden;
		font-size: 3.2vw;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}

	p {
		font-size: 3.75vw;
	}

	.ISPtitle {
		margin: 3vw auto 1.5vw;
		padding: 0 0 1vw;
		width: 90vw;
		min-height: 9.5vw;
		height: auto;
	}

	h2 {
		font-size: 4.5vw;
		margin-right: auto;
	}

	h3 {
		margin: 8vw auto 1vw;
		padding: 0 0 1vw 0;
		width: 90vw;
		font-size: 4.2vw;
		display: flex;
		flex-wrap: wrap;
	}

	h4 {
		margin: 5vw auto 1.5vw;
		padding: 0 0 0 2vw;
		width: 90vw;
		font-size: 4.2vw;
		line-height: 1.3;
		border-left: 1.5vw solid #6C7585;
	}

	h5 {
		margin: 5vw auto 3vw;
		padding: 2vw 3vw;
		width: 90vw;
		font-size: 4vw;
		line-height: 1.3;
	}

	h6 {
		margin: 0 auto 3vw;
		padding: 3vw;
		font-size: 4vw;
	}

	.heading3_2{
		margin: 5vw auto 1.5vw;
        padding: 0 0 0 2vw;
        width: 90vw;
        font-size: 4.2vw;
        line-height: 1.3;
        border-left: 1.5vw solid #6C7585;
	}
	
	.heading4_2{
		margin: 5vw auto 3vw;
        padding: 2vw 3vw;
        width: 90vw;
        font-size: 4vw;
        line-height: 1.3;
	}
}

.ISPtitle p {
	width: auto;
	font-size: 2.6em;
	font-weight: 700;
	border-right: none !important;
	margin: 0;
}

/*
.ISPtitle h1{ width: auto; font-size: 2.6em; font-weight: 700; border-right: none !important; margin: 0; }

.ISPtitle p.second,
.ISPtitle h2.second{ width: auto; font-size: 2.2em; font-weight: 700; border-right: none; margin: 0; }
*/
.ISPtitle p.third {
	font-size: 2em;
	font-weight: 700;
}

.ISPtitle a.ISPtitleLink {
	position: relative;
	margin-left: auto;
	padding-right: 36px;
	font-size: 1.5em;
}

.ISPtitle a:hover.ISPtitleLink {
	color: #596674;
}

.ISPtitle a.ISPtitleLink::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 36px;
	height: 20px;
	background: url("../img/arrowRB.svg") no-repeat center center;
	background-size: 50% 50%;
}

.ISPtitle a.ISPtitleLinkPDF {
	position: relative;
	margin-left: auto;
	font-size: 1.5em;
	color: #0f328c;
}

.ISPtitle a:hover.ISPtitleLinkPDF {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.ISPtitle a.ISPtitleLinkPDF::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 0;
	width: 21px;
	height: 23px;
	background: url("../img/iconPDF.svg") no-repeat top right;
	background-size: contain;
}

.ISPtitleSub {
	margin: 20px 0 0;
	padding: 0 0 0 10px;
	width: 100%;
	font-size: 1.8em;
	line-height: 1.5;
	font-weight: 700;
	border-left: 5px solid #6C7585;
}

.ISPtitleSub2 {
	margin: 20px auto 10px;
	padding-left: 20px;
	font-size: 1.6em;
	line-height: 2.125;
	font-weight: 700;
	color: #fff;
	background: #6C7584;
}


.ISPtitleNote {
	margin-left: auto;
	font-size: 0.6em;
	font-weight: 500;
	text-align: right;
}

@media screen and (max-width: 640px) {

	/*
	.ISPtitle h1{ font-size: 4.5vw; margin-right: auto; }
	*/
	.ISPtitle p.second,
	.ISPtitle h2.second {
		font-size: 4.5vw;
	}

	.ISPtitle p.third {
		font-size: 4.8vw;
	}

	.ISPtitle a.ISPtitleLink {
		display: none;
	}

	.ISPtitleSub {
		margin: 5vw auto 1.5vw;
		padding: 0 0 0 2vw;
		width: 90vw;
		font-size: 4.2vw;
		line-height: 1.3;
		border-left: 1.5vw solid #6C7585;
	}

	.ISPtitleSub2 {
		margin: 5vw auto 3vw;
		padding: 2vw 3vw;
		width: 90vw;
		font-size: 4vw;
		line-height: 1.3;
	}

	.ISPtitleNote {
		font-size: 2.8vw;
	}

	.ISPtitle a.ISPtitleLinkPDF::before {
		left: calc(50% - 10px);
		top: calc(-1em - 23px);
	}

	.ISPtitle a.ISPtitleLinkPDF {
		margin-top: -5vw;
		font-size: 0.75em;
	}

	.bgBox .contents,
	.bgBox .contentsBox,
	.bgBox .ISPtitleSub {
		width: auto;
	}

}

/*================================================
 *  下層ページ
 ================================================*/
.page {
	position: relative;
}

/*----- パンくず -----*/
.bread {
	margin: 10px auto;
	padding: 1px 0;
	width: 1190px;
	background: #fff;
}

.bread ul {
	margin: 0;
	padding: 0;
	width: 100%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.bread ul li {
	padding-right: 10px;
	font-size: 1.2em;
	color: #000;
	line-height: 1.2;
}

.bread ul li a {
	color: #000;
	text-decoration: none;
}


/*----- キャッチ -----*/
.catch2 {
	margin: 75px auto 20px;
	padding: 0 140px 0 290px;
	width: 1190px;
	height: 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 700;
	color: #fff;
	background: url("../img/catchbackPC_2.png") no-repeat left center;
	background-size: cover;
}

.catch2 p.eng {
	font-size: 2em;
}

.catch2 p {
	font-size: 2.9em;
}

@media screen and (max-width: 640px) {
	.bread {
		display: none;
	}

	.catch2 {
		margin: 5vw auto;
		padding: 0 8.8vw 0 15.45vw;
		width: 100vw;
		height: 21vw;
		background: url("../img/catchbackSP_2.png") no-repeat left center;
		background-size: cover;
	}

	.catch2 p.eng {
		font-size: 3.45vw;
	}

	.catch2 p {
		font-size: 5vw;
	}
}

/*----- ページ別の位置設定 -----*/
#menuOuter {
	width: 100%;
	background: #fff;
	z-index: 1001;
}

body.p-top #menuOuter,
body.p-product #menuOuter,
body.p-product2 #menuOuter,
body.p-detail #menuOuter,
body.p-support #menuOuter,
body.p-order #menuOuter,
body.p-download #menuOuter,
body.p-english #menuOuter,
body.p-news #menuOuter {
	position: relative;
	padding: 10px 0;
	height: 62px;
}

body.p-series #menuOuter {
	padding: 10px 0 0;
	height: 50px;
}

body.p-top #menuOuter.fix,
body.p-series #menuOuter.fix,
body.p-product #menuOuter.fix,
body.p-product2 #menuOuter.fix,
body.p-detail #menuOuter.fix,
body.p-support #menuOuter.fix,
body.p-order #menuOuter.fix,
body.p-download #menuOuter.fix,
body.p-english #menuOuter.fix,
body.p-news #menuOuter.fix {
	position: fixed;
	top: 0;
	left: 0;
}


@media screen and (max-width: 640px) {
	body.p-top #menuOuter {
		position: absolute;
		top: 0;
		padding: 0;
		height: 11.8vw;
	}

	body.p-series #menuOuter {
		padding: 0;
		height: 11.8vw;
	}

	body.p-product #menuOuter {
		position: absolute;
		top: 0;
		padding: 0;
		height: 11.8vw;
	}

	body.p-detail #menuOuter,
	body.p-support #menuOuter,
	body.p-order #menuOuter,
	body.p-download #menuOuter,
	body.p-english #menuOuter,
	body.p-product2 #menuOuter,
	body.p-news #menuOuter {
		padding: 0;
		height: 11.8vw;
	}

	body.p-top #menuOuter.fix,
	body.p-series #menuOuter.fix,
	body.p-product #menuOuter.fix,
	body.p-product2 #menuOuter.fix,
	body.p-detail #menuOuter.fix,
	body.p-support #menuOuter.fix,
	body.p-order #menuOuter.fix,
	body.p-download #menuOuter.fix,
	body.p-english #menuOuter.fix,
	body.p-news #menuOuter.fix {
		position: fixed;
		top: 0;
		left: 0;
	}
}

/* ページ別背景色の設定 */
body.p-top #menu li.menuTop,
body.p-product #menu li.menuProduct,
body.p-product2 #menu li.menuProduct,
body.p-series #menu li.menuProduct,
body.p-detail #menu li.menuProduct,
body.p-support #menu li.menuSupport,
body.p-order #menu li.menuSupport,
body.p-news #menu li.menuNews,
body.p-download #menu li.menuDownload,
body.p-english #menu li.menuEnglish {
	background: #e1e1e1;
}

/*----- コンテンツ -----*/
.contentsOuter {
	margin: 0;
	width: 1190px;
}

.contentsBox,
.contentsBox2,
.contentsBox3 {
	height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.contentsBox {
	margin: 15px auto 40px;
	width: 100%;
}

.contentsBox2 {
	margin: 15px auto 40px;
	width: 1190px;
}

.contentsBox3 {
	margin: 15px auto 40px;
	width: 100%;
}

.contents {
	width: 100%;
}

.contentsL,
.contentsR,
.contentsR2 {
	width: 48%;
}

.contentsL72 {
	width: 72%;
}

.contentsR28 {
	width: 28%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contentsR {
	display: flex;
	flex-direction: column;
}

.contentsR2 {
	display: flex;
	justify-content: space-between;
	;
}

.contentsImgBox {
	width: 580px;
	padding: 10px;
	border: 1px solid #4D4D4D;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.contentsImgBox2 {
	width: 580px;
	padding: 10px;
	border: 1px solid #4D4D4D;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contentsImgBox75 {
	width: 874px;
	padding: 5px 25px;
	border: 1px solid #4D4D4D;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contentsImgBox75 img {
	margin: 20px 0 !important;
	width: 100%;
	height: auto;
}


.contents p,
.contentsL p {
	width: 100% !important;
	height: auto !important;
	font-size: 1.6em;
	line-height: 1.65;
	border: none !important;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.contentsImg {
	margin: 10px auto 30px;
	width: 70%;
}

.contentsSub {
	margin: 20px 0 5px;
	padding-left: 10px;
	font-size: 1.8em;
	font-weight: 700;
	border-left: 5px solid #6c7585;
}

.imgnote {
	margin: 0 auto;
	width: 100%;
	text-align: right;
	font-size: 1.3em;
}

.caption {
	margin: 0 auto 10px;
	padding: 10px 12px;
	font-size: 1.6em;
	font-weight: 700;
	background-color: #EBEEF4;
}

.articleBox {
	margin: 20px 0 0;
	width: 100%;
	display: flex;
	align-items: center;
}

.articleSub {
	margin-right: 10px;
	width: 120px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6em;
	font-weight: 700;
	color: #fff;
	background: #0f325b;
}

.articleTxt {
	font-size: 1.4em;
}

@media(max-width:640px) {
	.contentsOuter {
		margin: 0 auto;
		width: 90vw;
	}

	.contentsBox,
	.contentsBox2,
	.contentsBox3 {
		margin: 0 auto 5vw;
		width: 90vw;
		flex-direction: column;
	}

	.contentsBox {
		width: 100%;
		flex-direction: column;
	}

	.contents,
	.contentsL,
	.contentsR,
	.contentsR2 {
		margin: 1vw auto 3vw;
		width: 90vw;
	}

	tmpl_content .contentsBox .contentsL .w70 {
		margin: 0 auto;
		width: 90vw;
	}

	.contentsR2 {
		flex-direction: column;
		margin: 0 auto;
		width: 90vw;
	}

	.contentsL70,
	.contentsL72,
	.contentsR30,
	.contentsImgBox75,
	.contentsR28 {
		margin: 0 auto;
		width: 90vw;
	}

	.contentsImgBox75 {
		margin: 0 auto 5vw;
		padding: 1vw 3vw;
		width: 90vw;
	}

	.contentsImgBox75 img {
		margin: 1vw 0 !important;
		width: 100%;
		height: auto;
	}

	.contentsImgBox {
		width: 90vw;
		margin: 0 auto;
		padding: 3vw;
	}

	.contentsImgBox img {
		height: auto !important;
	}

	.contentsBox2 p,
	.contents p,
	.contentsL p {
		font-size: 3.75vw;
		line-break: strict;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}


	.contentsImg {
		margin: 3vw auto 5vw;
		width: 90vw;
	}

	.contentsImgBox2 {
		width: 100%;
	}

	.contentsSub {
		margin: 5vw auto 1vw;
		padding-left: 3vw;
		width: 90vw;
		font-size: 4.2vw;
	}

	.imgnote {
		font-size: 3.2vw;
	}

	.caption {
		margin: 0 auto 3vw;
		padding: 3vw;
		font-size: 4vw;
	}

	.articleBox {
		margin: 3vw 0 0;
		flex-direction: column;
	}

	.articleSub {
		margin-right: auto;
		margin-bottom: 1vw;
		padding: 1vw;
		width: 30vw;
		height: auto;
		font-size: 4vw;
	}

	.articleTxt {
		font-size: 3.75vw;
		;
	}
}

/*----- 矢印 -----*/
.arrow {
	background-color: #0F325B;
	width: 18px;
	height: 18px;
	position: relative;
	margin: 0 auto 10px;
}

.arrow::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: calc(50% - 18px);
	top: 18px;
	border-style: solid;
	border-width: 18px 18px 0 18px;
	border-color: #0F325B transparent transparent transparent;
}

@media(max-width:640px) {
	.arrow {
		margin-top: -9px;
	}

	.arrow::before {
		position: absolute;
		bottom: -18px;
		left: calc(50% - 18px);
		border-top: 18px solid #0F325B;
		border-left: 18px solid transparent;
		border-bottom: 0px solid transparent;
		border-right: 18px solid transparent;
	}

}

/*----- 対応製品 -----*/
.prodnameList {
	position: relative;
	margin: 20px auto 10px;
	padding: 3px 14px 3px 105px;
	width: 100%;
	font-size: 1.1em;
	background-color: #EBEEF4;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.prodnameList::before {
	content: "対応製品";
	display: block;
	position: absolute;
	top: 6px;
	left: 16px;
	font-size: 1.6em;
	font-weight: 700;
}

.prodnameList li {
	position: relative;
	list-style: none;
	margin: 4px;
	height: 24px;
	text-align: center;
}

.prodnameList li a,
.prodnameList li p {
	padding: 6px 17px;
	width: 100%;
	height: 100%;
	font-size: 1.1em;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #0F325B;
	border-radius: 2px;
}

.prodnameList li a:hover {
	box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.4);
	background: #000;
}

@media(max-width:640px) {
	.prodnameList {
		margin: 2vw auto 5vw;
		width: 90vw;
		padding: 1vw 3vw 1vw 20vw;
		font-size: 1em;
	}

	.prodnameList::before {
		top: 50%;
		left: 3vw;
		padding: 0;
		font-size: 3.75vw;
		transform: translateY(-50%);
	}

	.prodnameList li {
		list-style: none;
		margin: 1vw;
		height: 6.5vw;
	}

	.prodnameList li a,
	.prodnameList li p {
		padding: 2vw 4vw;
		font-size: 1.1em;
	}
}

/*-- 関連製品 --*/
.interviewConnect {
	margin: 10px auto 100px 0;
	padding-right: 62px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.interviewConnectDetail {
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

.interviewConnectDetail a {
	margin-right: 10px;
	margin-bottom: 10px;
	padding: 6px 17px;
	width: auto;
	text-align: center;
	font-size: 1.2em;
	line-height: 1;
	color: #fff;
	background: #0F325B;
	border-radius: 2px;
}

.interviewConnectDetail a:hover {
	background: #000;
	box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.4);
}

.interviewConnectDL {
	margin-left: auto;
	display: flex;
}

.w178px a {
	width: 178px;
}

.note {
	margin: 30px auto 0;
	width: 100%;
	text-align: center;
	font-size: 1.6em;
	font-weight: 700;
}

.note2 {
	padding-top: 10px;
    font-size: 1.2em !important;
    list-style: none; /* デフォルトのリストマーカーを消す */
    padding-left: 0;
}

.note2 li {
    position: relative;
    padding-left: 2em; /* 米印と数字のための余白 */
    margin-bottom: 5px;
}

.note-marker {
    position: absolute;
    left: 0;
}


@media screen and (max-width: 640px) {


	.interviewLink {
		margin-left: 0;
		width: 90vw;
	}

	.interviewPrev,
	.interviewNext {
		position: relative;
		font-size: 3.7vw;
	}

	.interviewConnect {
		margin: 3vw auto 10vw;
		padding: 0;
		width: 90vw;
		flex-direction: column;
	}

	.interviewConnectDetail {
		margin-right: 0;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}

	.interviewConnectDetail a {
		margin-right: 0;
		padding: 1.5vw 0.5vw;
		margin-bottom: 3vw;
		min-width: 44vw;
		max-width: 44vw;
		font-size: 3.5vw;
	}

	.interviewConnectDL {
		margin-left: 0;
		width: 100%;
	}

	.note {
		margin: 5vw auto 0;
		width: 90vw;
		font-size: 4vw;
	}
}

.trademark {
	margin-bottom: 15px;
	text-indent: -1.2em;
	padding-left: 1em;
}

/*================================================
 *  取り組み
 ================================================*/
.policyIntOuter {
	margin: 40px auto;
	width: 100%;
}

.policyIntHead {
	padding: 5px 60px;
	font-size: 1.6em;
	font-weight: 700;
	color: #fff;
	background: #0F325B;
}

.policyIntInner {
	padding: 10px 56px 40px;
	color: #000;
}

.policyIntRead p {
	font-size: 1.6em;
}

.policyIntBnr {
	margin: 35px auto;
	width: 100%;
	background: #0F325B;
	border: 1px solid #0F325B;
	display: flex;
	align-items: center;
}

.policyIntBnrL {
	padding: 0 30px;
	line-height: 1.2;
	color: #fff;
}

.policyIntBnrR {
	padding: 5px 14px 15px;
	background: #D7DEE6;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

.policyIntBnrR p.policyIntKey {
	margin-bottom: 5px;
	padding: 0;
	width: 100%;
	text-align: center;
	font-size: 1.4em;
	font-weight: 700;
	color: #0F325B;
	border-bottom: 1px solid #0F325B;
}

.policyIntBnrR p {
	font-size: 2.2em;
	font-weight: 700;
	color: #0F325B;
}

.policyIntBox {
	margin: 30px auto;
	width: 100%;
}

.policyIntTitle {
	margin-bottom: 10px;
	font-size: 1.8em;
	color: #0F325B;
	border-bottom: 1px solid #0F325B;
}

.policyInt {
	position: relative;
}

.policyIntQ {}

.policyIntA {}

.policyIntMerit {
	margin: 40px auto 0;
	padding: 10px 30px;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	background: #6C7583;
}

.policyIntImg {}

.policyIntImg p {
	width: 100%;
	text-align: center;
	font-size: 1.2em;
	line-height: 1.5;
	font-weight: 700;
}

.policyIntImgWrap {
	padding: 10px 0;
	height: 100%;
	background: #fff;
	border: 1px solid #666;
	display: flex;
	justify-content: center;
	align-items: center;
}


table.policyIntSpecTable {
	margin: 0;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

table.policyIntSpecTable tr {
	height: 50px;
	font-size: 1.6em;
	font-weight: 700;
}

table.policyIntSpecTable th {
	border: 1px solid #4d4d4d;
}

table.policyIntSpecTable td {
	width: 250px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #4d4d4d;
}

table.policyIntSpecTable td.boardSub1 {
	width: 265px;
}

table.policyIntSpecTable td p {
	text-align: left;
	font-size: 1em;
	font-weight: 500;
}

table.policyIntSpecTable td p a {
	color: #0F328C;
}

.tableFlex {
	padding: 10px;
	display: flex;
	justify-content: space-around;
}

@media screen and (min-width: 641px) {
	.policyIntOuter {
		background: #EBEEF4;
	}
	.policyIntOuter a.linkBlue {
		background-color: #EBEEF4;
	}

	.policyIntBnrL {
		padding: 0 30px;
		width: 626px;
		font-size: 2em;
		line-height: 1.2;
		color: #fff;
	}

	.policyIntBnrR {
		padding: 5px 14px 15px;
		width: 450px;
		background: #D7DEE6;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
	}

	.policyIntPerson {
		position: absolute;
		top: 0;
		left: 0;
		width: 146px;
	}

	.policyIntPhoto {
		margin-bottom: 40px;
	}

	.policyIntPhoto p {
		margin-top: 5px;
		width: 100%;
		text-align: center;
		font-size: 1.2em;
		line-height: 1.3;
	}

	.policyIntQ,
	.policyIntA {
		margin: 0 0 0 178px;
		display: flex;
	}

	.policyIntName {
		width: 68px;
		font-size: 1.4em;
		font-weight: 700;
		color: #0F325B;
	}

	.policyIntTxt {
		width: 830px;
		display: flex;
	}

	.policyIntTxt p {
		font-size: 1.4em;
		line-height: 1.85;
	}

	.policyIntSub {
		margin: 25px 0 0 246px;
		width: 830px;
		font-size: 1.6em;
		font-weight: 700;
	}

	.policyIntImgBox {
		margin: 20px 0 20px 246px;
		width: 830px;
		display: flex;
		justify-content: space-between;
	}

	.policyIntSpec {
		margin: 5px auto 30px 246px;
		width: 830px;
	}

	table.policyIntSpecTable {
		margin: 0;
		width: 100%;
		border-spacing: 0;
		border-collapse: collapse;
	}
}

@media screen and (max-width: 640px) {
	.policyIntHead {
		margin: 12vw auto 0;
		padding: 3vw 5vw;
		width: 90vw;
		font-size: 4vw;
	}

	.policyIntRead p {
		font-size: 3.75vw;
	}

	.policyIntTitle {
		font-size: 5vw;
		font-weight: 700;
	}

	.policyIntBnr {
		margin: 5vw auto;
		flex-direction: column;
		align-items: center;
	}

	.policyIntBnrL {
		padding: 3vw 5vw;
		font-size: 4vw;
		text-align: left;
	}

	.policyIntBnrR {
		width: 100%;
	}

	.policyIntBnrR p {
		margin: 2vw 0 0;
		font-size: 3.5vw;
		font-weight: 500;
	}

	.policyIntInner {
		margin: 3vw auto 10vw;
		padding: 0;
		width: 90vw;
	}

	.policyIntPerson {
		position: relative;
		width: 100%;
		display: flex;
		justify-content: space-around;
	}

	.policyIntPhoto {
		width: 50%;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 1em;
	}

	#tmpl_main .policyIntPhoto img {
		width: 90px;
	}

	.policyIntPhoto p {
		margin: 1vw 0 0;
		font-size: 3.5vw;
		font-weight: 500;
	}

	.policyIntQ,
	.policyIntA {
		margin-top: 1em;
	}

	.policyIntName {
		font-weight: 700;
		color: #0F325B;
		display: inline;
		margin-right: 1em;
		font-size: 1.2em;
		line-height: 1.85;
	}

	.policyIntTxt {
		display: inline;
	}

	.policyIntTxt p {
		display: inline;
		font-size: 1.2em;
		line-height: 1.85;
	}

	.policyIntSub {
		margin-top: 8vw;
		font-size: 4.5vw;
		font-weight: 700;
	}

	.policyIntImgBox {
		margin: 5vw auto 10vw;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		align-content: center;
	}

	.policyIntImgBox .w30 {
		flex: 0 1 55%;
		margin-top: 1em;
	}

	.policyIntImgBox .w20 {
		flex: 0 1 35%;
		margin-top: 1em;
	}

	.policyIntImgBox .w45 {
		flex: 0 1 100%;
		margin-top: 1em;
	}

	.policyIntImg p {
		font-size: 3.2vw;
	}

	.policyIntSpec {
		margin: 5px 0;
		width: 100%;
		overflow-x: auto;
	}

	table.policyIntSpecTable {
		margin: 0 0 1em;
		width: 200vw;
		border-spacing: 0;
		border-collapse: collapse;
		background: #D7DEE6;
		border: 1px solid #4d4d4d;
		font-size: 1.1em;
	}

	table.policyIntSpecTable tr {
		font-size: 3.5vw;
	}

	.policyIntMerit {
		margin: -7vw auto 0;
		padding: 3vw 5vw;
		font-size: 3.75vw;
	}

	.policyIntImgWrap {
		margin: 3vw auto 0;
		padding: 3vw 0;
		width: 100%;
	}
}

/*================================================
 *  ダウンロード
 ================================================*/
.adobe {
	margin: 20px auto;
	padding: 20px 35px;
	width: 100%;
	border: 1px solid #666;
	display: flex;
	align-items: center;
}

.adobeL {
	width: 160px;
	margin-right: 40px;
}

.adobeR {
	width: 920px;
	font-size: 1.4em;
}
	.adobeR .red{
		background-color: #FFF;
	}

.adobeR a {
	color: #00f;
}

.regist {
	margin: 20px auto;
	padding: 20px 35px 5px;
	width: 100%;
	background: #ECEFF5;
}

.regist p {
	font-size: 1.4em
}

@media screen and (max-width: 640px) {
	.regist {
		margin: 5vw auto;
		padding: 3vw 5vw 1vw;
		width: 90vw;
	}

	.regist p {
		font-size: 3.75vw;
	}
}

.dlCatalogOuter {
	margin: 40px auto;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.dlCatalog {
	padding: 20px 50px;
	width: 580px;
	color: #000;
	background: #ECEFF5;
	border: 1px solid #4d4d4d;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.dlCatalogImg {
	width: 150px;
}

.dlCatalogTxt {
	width: 300px;
	font-size: 1.4em;
}

.dlCatalogTxt p.dlCatalogSub {
	margin-bottom: 15px;
	font-size: 1.4em;
}

.dlBtn {
	margin-top: 20px;
	width: 100%;
	display: flex;
	justify-content: center;
}

.dlTableBox {
	margin: 20px 0 10px;
	width: 100%;
}

.dlTableBox > table > td a{
	background-color: #fff;
}

.new_item_label {
	display: inline-block;
	margin-bottom: 2px;
	padding: 3px 10px;
	line-height: 1;
	font-weight: 700;
	color: #fff;
	background: #c1272d;
  }

.new_item_label2 {
	display: inline-block;
	text-align:center;
	position: relative;
	padding: 2px;
	top: -1.7em;
	width: 59%;
	line-height: 1;
	font-weight: 700;
	font-size: 93%;
	color: #fff;
	background: #c1272d;
}

.new_item_label3 {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 2px;
	padding: 3px 10px;
	line-height: 1;
	font-weight: 700;
	color: #fff;
	background: #c1272d;
}

.new_item_label4 {
    margin-right: 5px;
    padding: 1px 2px;
    font-size: 1.5em;
    font-weight: 700;
    color: #fff;
    background: #c1272d;
    border: 2px;
	height: 100%;
    display: flex;
    align-items: center;
}

.new_item_label5 {
    padding: 0px 1.2px;
    font-size: 1.5em;
    border: 2px solid #c1272d;
    font-weight: 700;
    color: #c1272d;
    background: #ffffff;
    height: 100%;
    display: flex;
    align-items: center;
}

.new_item_label6 {
    margin-bottom: 12px;
    padding: 1px 1px;
    font-size: 1.5em;
    font-weight: 700;
    color: #fff;
    background: #c1272d;
    border: 2px;
    display: flex;
    align-items: center;
	width: fit-content;
}

.new_item_label7 {
    padding: 1px 1px;
    font-size: 1.5em;
    border: 2px solid #c1272d;
    font-weight: 700;
    color: #c1272d;
    /* background: #ffffff; */
    /* height: 100%; */
    display: flex;
    align-items: center;
	width: fit-content;
}

@media screen and ( min-width:640px ) {
	.new_item_label6 {
		font-size: 1.5em;
	}
	
	.new_item_label7 {
		font-size: 1.5em;
	}

	.newItem_labelArea {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		margin: 0 40px 15px 0;
	}
	
	.inner_border_white {
		height: 22px;
		display: flex;
		align-items: center;
	}
	
	.inner_border_red {
		height: 19.8px;
	}
}

@media screen and ( max-width:640px ) {

	.new_item_label4 {
		height: 5.3vw;
	}

	.new_item_label5 {
		height: 5.3vw;
	}

	.new_item_label6 {
		height: 5.3vw;
		font-size: 3.45vw;
		margin: 0 12px 0 0;
	}
	
	.new_item_label7 {
		font-size: 3.45vw;
	}

	.newItem_labelArea {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
	}

	.inner_border_white {
		height: auto;
	}
	
	.inner_border_red {
		height: auto;
	}
}

.inner_border_white {
    padding: 0px 20px;
    border: 1px solid white;
    display: flex;
    align-items: center;
}

.inner_border_red {
    padding: 0px 7px;
    border: 1px solid #c1272d;
    display: flex;
    align-items: center;
}

table.dlTable,
table.dlTable2,
table.dlTable3,
table.dlTable4,
table.dlTable5,
table.dlTable6,
table.spec {
	border-spacing: 0;
	border-collapse: collapse;
	border: 2px solid #4d4d4d;
}

table.dlTable,
table.dlTable2,
table.dlTable6 {
	margin: 10px 0;
}

table.dlTable,
table.dlTable6,
table.spec {
	width: 100%;
}

table.dlTable2 {
	width: 700px;
}

table.dlTable4,
table.dlTable5 {
	margin: 10px 0;
	width: 100%;
}

table.dlTable3 {
	margin: 10px auto 60px 0;
	min-width: 700px;
	width: 60%;
}

table.dlTable a,
table.dlTable2 a,
table.dlTable3 a,
table.dlTable4 a,
table.dlTable5 a,
table.dlTable6 a,
table.spec a {
	color: #0F328B;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	background-color: #fff;
}

table.dlTable a:hover,
table.dlTable2 a:hover,
table.dlTable3 a:hover,
table.dlTable4 a:hover,
table.dlTable5 a:hover,
table.dlTable6 a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

table.dlTable th,
table.dlTable2 th,
table.dlTable3 th,
table.dlTable4 th,
table.dlTable5 th,
table.dlTable6 th,
table.spec th {
	height: 50px;
	font-size: 1.6em;
	background: #EBEEF4;
	border: 1px solid #4d4d4d;
}

table.dlTable td,
table.dlTable2 td,
table.dlTable3 td,
table.dlTable4 td,
table.dlTable6 td,
table.spec td {
	padding: 10px;
	font-size: 1.6em;
	border: 1px solid #4d4d4d;
}

table.dlTable td,
table.dlTable2 td,
table.dlTable6 td,
table.spec td {
	text-align: center;
}

table.dlTable td:first-child,
table.dlTable2 td:first-child,
table.dlTable6 td:first-child {
	padding-left: 20px;
	text-align: left;
}

table.spec a {
	text-decoration: underline;
}

table.spec thead a{
	background: #EBEEF4 !important;
}
table.spec th,
table.spec td {
	font-size: 1.4em;
}

table.spec th.link {
	width: 130px;
}

table.spec td.first {
	width: 130px;
}

table.spec td.second {
	width: 220px;
}

table.spec td.last {
	width: 420px;
}

.fHead {
	padding: 5px;
	background: #1A3258;
}

.fHead a{
	background-color: #1A3258 !important;
}

.fHead:hover {
	background: #000;
	box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.4);
}

table.spec td.first .fHead a {
	color: #fff;
	text-decoration: none;
}

.pop_riyou {
	margin-top: 180px;
}

.triangle {
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 8px solid black;
	margin: 0 auto;
}

.memo {
	margin: 0 auto;
	width: 100%;
	color: #c1272d;
	font-size: 1.4em;
}

@media screen and (max-width: 640px) {

	table.dlTable,
	table.dlTable2 {
		margin: 3vw auto;
		width: 90vw;
	}

	table.dlTable6 {
		margin: 3vw auto 0;
		width: 160vw;
	}

	table.dlTable th,
	table.dlTable2 th,
	table.dlTable3 th,
	table.dlTable4 th,
	table.dlTable5 th,
	table.dlTable6 th {
		height: 10vw;
		font-size: 3.75vw;
	}

	table.dlTable td,
	table.dlTable2 td,
	table.dlTable3 td,
	table.dlTable4 td,
	table.dlTable6 td {
		padding: 2vw 3vw;
		font-size: 3.5vw;
	}

	table.spec {
		width: 300vw;
		font-size: 2vw;
	}

	.memo {
		width: 90vw;
		font-size: 3.5vw;
	}
}

table.dlTable4 td {
	width: 16.5%;
	text-align: center;
}

table.dlTable3 td {
	width: 50%;
}


table.dlTable4 td:first-child {
	width: 17.5%;
	background: #EBEEF4;
}

table.dlTable5 td {
	padding: 10px;
	font-size: 1.4em;
	border: 1px solid #4d4d4d;
}

table.dlTable5 td.text-center {
	text-align: center;
}



.agreement p+p {
	margin-top: 1em;
}

li {
	text-align: left;
}

ul.help,
ul.help2 {
	margin-top: 0;
	font-size: 1.6em;
}

ul.help3 {
	margin: 10px 20px 10px 0;
	font-size: 1em;
}

ul.help li {
	margin-left: -20px;
	margin-bottom: 5px;
}

ul.help2 li {
	margin-left: -20px;
	margin-bottom: 5px;
}

ul.help3 li {
	margin-left: -15px;
	margin-bottom: 5px;
}

ul.howto,
ol.howto {
	list-style-type: decimal;
	font-size: 1.6em;
	margin: 15px 0 0;
}

ul.howtoE,
ul.howtoE2 {
	font-size: 1.6em;
	margin: 0 0 30px;
}

ul.howtoE {
	list-style-type: lower-roman;
}

ul.howtoE2 {
	list-style-type: lower-alpha;
}

ol.howto2 {
	list-style-type: katakana;
	font-size: 1em;
	margin: 15px 0;
}

ul.howto3 {
	list-style-type: lower-roman;
	font-size: 1em;
	margin: 15px 0;
}

ul.howto li,
ol.howto li,
ol.howto2 li,
ul.howto3 li,
ul.howtoE li,
ul.howtoE2 li {
	margin-bottom: 5px;
	padding-left: 5px;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

li>ol.howto2 {
	padding-left: 2em;
}

.tableOuter {
	margin: 0 auto 40px;
	width: 100%;
	height: auto;
}

.tableBox {
	margin: 0 auto 20px;
	padding-bottom: 15px;
	width: 100%;
	height: auto;
}
.tableBox th {
	color: #000;
}

@media screen and (max-width: 640px) {
	.dlTableBox {
		overflow-x: scroll;
		margin: 5vw 0 0 5vw;
		padding-bottom: 3vw;
		width: 95vw;
	}

	.new_item_label2{
		width: 75%;
		padding: 4px;
	}

	.new_item_label3 {
		padding: 1vw 3vw;
		font-size: 3.2vw;
	}

	.new_item_label4 {
		margin-right: 10px;
		padding: 1vw 0.3vw;
		font-size: 3.0vw;
	}

	.new_item_label5 {
		padding: 1vw 0.3vw;
		font-size: 3.0vw;
	}

	table.dlTable4 {
		margin: 0;
		width: 250vw;
	}

	table.dlTable4 th,
	table.dlTable4 td {
		padding: 3vw 2vw;
		font-size: 3.5vw;
	}

	table.dlTable4 td:first-child {
		width: 30vw !important;
	}

	table.dlTable5 {
		width: 250vw;
	}

	table.dlTable5 th {
		font-size: 3.5vw;
	}

	table.dlTable5 td {
		font-size: 3.2vw;
	}

	ul.help,
	ul.help2 {
		font-size: 3.75vw;
	}

	ul.help li {
		margin-left: -6vw;
		margin-bottom: 2vw;
	}

	ul.help2 li {
		margin-left: -4vw;
		margin-bottom: 2vw;
	}

	ul.howtoE,
	ul.howtoE2 {
		font-size: 3.75vw;
		margin: 0 0 8vw;
	}

	ul.howto li,
	ol.howto li,
	ol.howto2 li,
	ul.howto3 li,
	ul.howtoE li,
	ul.howtoE2 li {
		margin-left: -4vw;
	}

	.tableOuter {
		margin: 0 0 0 5vw;
		width: 95vw;
		height: auto;
	}

	.tableBox {
		overflow-x: auto;
		margin: 0 0 10vw 0;
		padding-bottom: 3vw;
		width: 95vw;
		height: auto;
		font-size: 3.5vw;
	}
}

/*================================================
 *  カテゴリータブ
 ================================================*/
.tabs {
	position: relative;
	margin: 30px auto 0;
	width: 100%;
}

.tab-buttons {
	width: 100%;
	height: 36px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.tab-buttons span {
	width: 49%;
	height: 100%;
	text-align: center;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 36px;
	color: #6c6c6c;
	border-bottom: 2px solid #b2b2b2;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.tab-buttons span:hover {
	color: #000;
}

.tab-buttons span.active {
	color: #000;
	border-bottom: 2px solid #0F325B;
}

.tab-content {
	margin-top: 20px;
	padding: 0;
	width: 1190px;
	display: inline-block;
}

#lamp {
	width: 49%;
	height: 2px;
	background: #0F325B;
	display: block;
	position: absolute;
	top: 34px;
	transition: all .3s ease-in;
}

#lamp.content2 {
	left: 51%;
	transition: all .3s ease-in;
}

#lamp.content1 {
	left: 0;
	transition: all .3s ease-in;
}

@media screen and (max-width: 640px) {
	.cameraCategoryBox {
		margin: 4.8vw 5vw 4vw;
		width: 90vw;
		height: 13.5vw;
	}

	.cameraCategory {
		font-size: 3.7vw;
		line-height: 1.3;
	}

	.cameraCategoryBox .current {
		color: #000;
		border-color: #0F325B;
		background: #EBEEF4;
	}
}

.tabs {
	position: relative;
	margin: 30px auto 60px;
	width: 100%;
}

#tab-menu {
	margin: 0;
	padding: 0;
	width: 1190px;
	height: 36px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
}

#tab-menu li {
	width: 49%;
	height: 100%;
	text-align: center;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 36px;
	color: #6c6c6c;
	background-color: #fff;
	border-bottom: 2px solid #b2b2b2;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

#tab-menu li:hover,
#tab-menu li.active {
	color: #000;
}

#tab-menu li.active {
	border-bottom: 2px solid #000;
}

#underline {
	margin-top: -2px;
	height: 2px;
	background-color: rgba(0, 0, 0, 0);
	transition: width 0.3s, transform 0.3s, background-color 0.3s;
}

.tab-content {
	margin-top: 20px;
	padding: 0;
	width: 1190px;
	display: inline-block;
}

.content {
	display: none;
}

.content.active {
	display: block;
}

@media screen and (max-width: 640px) {
	#tab-menu {
		width: 90vw;
		min-height: 8vw;
		height: auto;
		line-height: 1.3;
	}

	#tab-menu li {
		padding-bottom: 2.5vw;
		width: 48%;
		height: 100%;
		font-size: 3.7vw;
		line-height: 1.3;
	}

	.tab-content {
		margin: 5vw auto;
		padding: 0;
		width: 90vw;
		display: inline-block;
		border: none;
	}
}

/*================================================
 *  カテゴリータブ
 ================================================*/
.tabsCol7 {
	position: relative;
	margin: 30px auto 60px;
	width: 100%;
}

.tabsCol7 .tab-buttons {
	width: 100%;
	height: 36px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.tabsCol7 .tab-buttons span {
	width: calc(100% / 7 - 2%);
	height: 100%;
	text-align: center;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 36px;
	color: #6c6c6c;
	border-bottom: 2px solid #b2b2b2;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.tabsCol7 .tab-buttons span a {
	color: #6c6c6c;
}

.tabsCol7 .tab-buttons span a:hover {
	color: #000;
}

.tabsCol7 .tab-buttons span.active {
	border-bottom: 2px solid #0F325B;
}

.tabsCol7 .tab-buttons span.active a {
	color: #000;
}

.tabsCol7 .tab-content {
	padding: 30px 0 0 0;
	width: 1190px;
	min-height: 100vh;
	height: auto;
	display: inline-block;
}

#lamp {
	width: calc(100% / 7 - 2%);
	height: 2px;
	background: #0F325B;
	display: block;
	position: absolute;
	top: 34px;
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content1 {
	left: 0;
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content2 {
	left: calc((102% / 7) * 1 + 1% / 7);
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content3 {
	left: calc((102% / 7) * 2 + 1% / 7);
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content4 {
	left: calc((102% / 7) * 3 + 1% / 7);
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content5 {
	left: calc((102% / 7) * 4 + 1% / 7);
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content6 {
	left: calc((102% / 7) * 5 + 1% / 7);
	transition: all .3s ease-in;
}

.tabsCol7 #lamp.content7 {
	left: calc((102% / 7) * 6 + 1% / 7);
	transition: all .3s ease-in;
}

@media screen and (max-width: 640px) {
	.tabsCol7 {
		width: 95vw;
		overflow-x: scroll;
		margin: 5vw 0 5vw 5vw;
	}

	.tabsCol7 .tab-buttons {
		width: 200vw;
		margin: 0 5vw 7vw 0;
	}

	.tabsCol7 .tab-buttons span {
		height: 100%;
		font-size: 4vw;
		line-height: 7vw;
	}

	.tabsCol7 #lamp {
		display: none;
	}
}


/*================================================
 *  アンカーリンク
 ================================================*/
.anchor {
	padding-top: 70px;
}

.anchor2,
.anchor3 {
	margin: 30px auto 20px;
	width: 100%;
	height: 60px;
	display: flex;
	border-left: 2px solid #989898;
}

.anchor2 a,
.anchor3 a {
	padding: 5px 0 15px;
	width: 100%;
	text-align: center;
	font-size: 1.2em;
	font-weight: 700;
	border-right: 2px solid #989898;
	background: url("../img/arrowDG.svg") no-repeat center bottom;
	background-size: 12px 9px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.anchor2 a:hover,
.anchor3 a:hover {
	background-color: #f3f3f3;
}

.anchor4 {
	padding-top: 70px;
	margin-top: -70px;
}

/*
.adjust { padding-top: 62px;}
*/

@media screen and (max-width: 640px) {
	.anchor {
		padding-top: 12.5vw;
	}

	.anchor2,
	.anchor3 {
		width: 90vw;
		height: auto;
		flex-wrap: wrap;
		border: none;
	}

	.anchor2 {
		margin: 8vw auto 3vw;
	}

	.anchor3 {
		margin: 5vw auto 0;
	}

	.anchor2 a,
	.anchor3 a {
		margin-bottom: 5vw;
		padding-top: 0;
		font-size: 3.5vw;
		border-right: 1px solid #989898;
		background-size: 2.25vw 1.68vw;
	}

	.anchor2 a {
		width: 50%;
		height: 14vw;
		line-height: 1.3;
	}

	.anchor3 a {
		width: 33.3%;
		height: 10vw;
	}

	.anchor2 a:nth-child(odd) {
		border-left: 1px solid #989898;
	}

	.anchor3 a:first-child,
	.anchor3 a:nth-child(4),
	.anchor3 a:nth-child(7) {
		border-left: 1px solid #989898;
	}

	.anchor4 {
		padding-top: 12.5vw;
		margin-top: -12.5vw;
	}

	.adjust {
		padding-top: 12.5vw;
	}
}


/*================================================
 *  News ＆ Topics
 ================================================*/
.newsListBox {
	position: relative;
}

.newsListBox .more_btn {
	position: relative;
	margin-top: 10px;
	width: 100%;
	text-align: center;
	background: #EBEEF4;
	z-index: 1;
	cursor: pointer;
}

.newsListBox .more_btn a {
	width: 100%;
	height: 46px;
	font-size: 1.4em;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url("../img/top/catchBtn.svg") no-repeat right center;
	background-size: 16px 16px;
	background-position: 1130px 15px;
}

.newsListBox .more_btn a.close {
	display: none;
}

.newsListBox .more_btn.active a.close {
	display: flex;
	background: url("../img/top/catchBtn2.svg") no-repeat right center;
	background-size: 16px 16px;
	background-position: 1130px 15px;
}

.newsListBox .more_btn.active a.open {
	display: none;
}

.newsListBox .newsContainer {
	overflow: hidden;
	transition: all 0.5s;
}

.newsContainer {
	margin: 40px auto;
	width: 1100px;
}

.news {
	margin: 0;
	padding: 30px 0;
	width: 1100px;
	border-bottom: 1px solid #808080;
	display: none;
}

.news.active {
	display: block;
}

.news.on {
	display: block;
}

.news:last-child {
	border-bottom: none;
}

.newsHead {
	margin-bottom: 15px;
	width: 100%;
	height: 24px;
	display: flex;
	align-items: center;
}

.newsDate {
	width: 150px;
	font-size: 1.2em;
	font-weight: 700;
}

.newsCate {
	margin: 0;
	width: 110px;
	height: 20px;
	font-size: 1.2em;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cate1 {
	background: #C1272D;
	color: #fff;
}

.cate2 {
	background: #C0D1DB;
	color: #000;
}

.cate3 {
	background: #e6e6e6;
	color: #000;
}

.newsTxt {
	font-size: 1.2em;
}

.newsTxt a {
	color: #0F328C;
}

@media screen and (max-width: 640px) {
	.newsListBox .more_btn {
		position: relative;
		margin: 3vw 5vw;
		width: 90vw;
	}

	.newsListBox .more_btn a {
		width: 100%;
		height: 12vw;
		font-size: 3.75vw;
		background-size: 5vw 5vw;
		background-position: 80vw 3.9vw;
	}

	.newsListBox .more_btn.active a.close {
		background-size: 5vw 5vw;
		background-position: 80vw 3.9vw;
	}

	.newsContainer {
		margin: 0 auto;
		width: 90vw;
	}

	.news {
		padding: 5vw 0;
		width: 90vw;
	}

	.newsHead {
		margin-bottom: 3vw;
		width: 100%;
		height: 5.5vw;
	}

	.newsDate {
		width: 31vw;
		font-size: 3.75vw;
	}

	.newsCate {
		width: 30vw;
		height: 5.5vw;
		font-size: 3.75vw;
	}

	.newsTxt {
		font-size: 3.75vw;
	}
}

/*----- イベント-----*/
.eventBox {
	margin: 30px 0 40px;
	padding: 25px;
	width: 100%;
	background: #ECEFF5;
	color: #000;
}

.eventSub {
	font-size: 1.8em;
	font-weight: 700;
	color: #0F325B;
}

.eventSub:before {
	content: '■';
	margin-right: 5px;
}

.eventPars {
	display: flex;
	justify-content: space-between;
	padding-right: 20px;
	padding-bottom: 10px;
}

.eventParsLeft .btnBox {
	margin: 40px 0;
}

.eventParsRight {
	margin-top: 25px;
}

.eventCase {
	text-indent: -1em;
	padding-left: 1em;
}

.eventCase:before {
	content: '・';
}

.eventInner {
	margin: 10px autox 40px;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.eventInner2024 {
	margin: 10px auto 40px;
	width: 100%;
	display: flex;
	align-items: center;
}

.eventItem1 {
	width: 180px;
}

.eventInner2024 .eventItem1 {
	margin-right: 50px;
}

.eventItem2 {
	margin: 0 45px;
	width: auto;
}

.eventInnerTxt {
	height: 110px;
}

.eventInnerImg {
	width: 180px;
	margin: 10px auto 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

a.prodName {
	margin: 5px 0;
	width: 160px;
	height: 24px;
	font-size: 1.2em;
	color: #fff;
	background-color: #0F325B;
	border-radius: 2px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.prodNameNoLink {
	margin: 5px 0;
	width: 160px;
	height: 24px;
	font-size: 1.2em;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #000;
}

a.prodName:hover {
	box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.4);
	background: #000;
}

.prodName2 {
	display: inline-block;
	padding: 2px 5px;
	border: 1px solid #000;
}

@media screen and (max-width: 640px) {
	.eventBox {
		margin: 5vw auto;
		padding: 5vw 3vw;
		width: 90vw;
	}

	.eventSub {
		font-size: 4.2vw;
	}

	.eventPars {
		display: block;
		padding: 0;
	}

	.eventInner,
	.eventInner2024 {
		margin: 7vw auto;
		width: 100%;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
	}

	a.prodName {
		padding: 1vw 0;
		width: 45vw;
		height: auto;
		font-size: 3.5vw;
	}

	.prodNameNoLink {
		padding: 1vw 0;
		width: 45vw;
		height: auto;
		font-size: 3.5vw;
	}

	.eventItem1 {
		width: 80%;
		margin-bottom: 10vw;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.eventInner2024 .eventItem1 {
		margin-right: 0;
	}

	.eventItem1 img {
		width: 80%;
		height: auto;
	}

	.eventItem2 {
		margin: 0;
		width: 100%;
	}

	.eventInnerTxt {
		height: auto;
	}

	.eventInnerImg {
		width: 80%;
		margin-bottom: 10vw;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}

/*================================================
 *  お問い合わせ
 ================================================*/
.orderHead {
	margin: 30px auto;
	width: 100%;
	height: 32px;
	text-align: center;
	font-size: 1.6em;
	line-height: 32px;
	border: 1px solid #4d4d4d;
}

.orderModelBox {
	margin: 20px auto;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.orderModel {
	padding: 7px 40px;
	width: 580px;
	height: 150px;
	border: 1px solid #666;
	background: #ECEFF5;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.orderModel p {
	width: 300px;
	font-size: 2em;
	font-weight: 700;
	color: #0f325b;
}

.orderModelImg {
	width: 189px;
	height: 126px;
}

.attention {
	margin: 30px auto;
	width: 442px;
	height: 66px;
	font-size: 1.5em;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
	.attention .red {
		background-color: #FFF;
	}

.worriesBox {
	margin: 30px auto 20px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.worries {
	margin-bottom: 20px;
	width: 580px;
	height: 54px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	background: #6C7586;
}

.contactFlow {
	margin: 20px auto 0;
	width: 100%;
	height: 120px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.flow {
	padding: 0 50px 0 10px;
	width: 368px;
	height: 120px;
	border: 1px solid #666;
	border-left: 8px solid #0F325B;
	color: #000;
	background: #ECEFF5;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.flowStep {
	margin-right: 10px;
	width: 72px;
	text-align: center;
	font-size: 1.2em;
	font-weight: 700;
	color: #0F325B;
	background: #ECEFF5;
}

.flow p {
	width: 230px;
	font-size: 1.4em;
	line-height: 1.85;
}

.flowTryangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 14px solid #0f325b;
	border-right: 0;
}

@media screen and (max-width: 640px) {
	.orderHead {
		margin: 4vw auto 2vw;
		width: 90vw;
		height: 6.4vw;
		font-size: 3.5vw;
		line-height: 6.4vw;
	}

	.orderModelBox {
		margin: 0 auto 2vw;
		width: 90vw;
		flex-direction: column;
	}

	.orderModel {
		margin-bottom: 2vw;
		padding: 2vw 4.8vw;
		width: 90vw;
		height: 19.2vw;
	}

	.orderModel p {
		width: 50vw;
		font-size: 4.8vw;
	}

	.orderModelImg {
		width: 22.8vw;
		height: 16vw;
		display: flex;
	}

	.orderModelImg img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.attention {
		margin: 0 auto;
		padding: 2vw 0;
		width: 90vw;
		height: auto;
		text-align: center;
		font-size: 3.5vw;
	}

	.worriesBox {
		margin: 0 auto 4vw;
		width: 90vw;
	}

	.worries {
		margin-bottom: 1vw;
		width: 48%;
		height: 12vw;
		text-align: center;
		font-size: 3.5vw;
		line-height: 1.3;
	}

	.contactFlow {
		margin: 4vw auto 5vw;
		width: 90vw;
		height: auto;
		flex-direction: column;
	}

	.flow {
		padding: 0 5vw 5vw;
		width: 90vw;
		height: auto;
		flex-direction: column;
		justify-content: center;
		border: 1px solid #666;
		border-top: 8px solid #0F325B;
	}

	.flowStep {
		margin: 2vw 0 1vw;
		width: 100%;
		font-size: 4.3vw;
	}

	.flow p {
		width: 100%;
		font-size: 3.5vw;
		line-height: 1.3;
	}

	.flowTryangle {
		margin: 2vw auto;
		border-right: 2.5vw solid transparent;
		border-left: 2.5vw solid transparent;
		border-top: 4.3vw solid #0f325b;
		border-bottom: 0;
	}
}

#shop {
	padding-top: 62px !important;
}

.agentBox {
	margin: 60px auto 40px;
	padding: 20px 30px 50px;
	width: 100%;
	color: #000;
	background: #ECEFF5;
	display: flex;
	flex-direction: column;
}

.agentTitle {
	padding-bottom: 5px;
	width: 100%;
	text-align: center;
	font-size: 1.8em;
	font-weight: 700;
	border-bottom: 1px solid #4d4d4d;
}

.agentBox p {
	padding: 10px;
	width: 100%;
	text-align: center;
}

ul.agentList {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	list-style: none;
	display: flex;
	justify-content: space-around;
}

li.agent {
	margin: 25px 25px 30px;
	padding: 30px;
	width: 315px;
	background: #fff;
	color: #000;
}

.agentLogo {
	margin: 0 auto 20px;
	width: 100%;
	height: 40px;
}

.agentLogo img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

.agentSub {
	margin: 20px auto 5px;
	width: 100%;
	font-size: 1.4em;
	font-weight: 700;
}

.agent a {
	color: #0F325B;
}

.agent p {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: left;
	font-size: 1.4em;
}

.agentBtn {
	margin: 20px 0 0;
	padding: 5px 5px 5px 10px;
	width: 255px;
	font-size: 1.3em;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #3C4652 no-repeat 235px center;
	background-size: 5%;
}

.agentBtn img {
	width: 15px;
	display: block;
	margin: 0;
}

.btnOuter {
	margin: 40px auto;
	padding: 4px 0;
	width: 100%;
	min-height: 114px;
	background: #ECEFF5;
}
.btnOuter.hset {
	min-height: 62px;
}

.otherModelBox {
	margin: 40px auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.wideTitle {
	padding-bottom: 5px;
	width: 100%;
	font-size: 1.8em;
	font-weight: 700;
	border-bottom: 1px solid #4d4d4d;
}

.otherModel {
	margin: 20px 0;
	padding: 20px;
	width: 580px;
	height: 300px;
	border: 1px solid #4d4d4d;
}

.otherTitle {
	margin-bottom: 20px;
	padding-bottom: 5px;
	width: 100%;
	text-align: center;
	font-size: 1.6em;
	font-weight: 700;
	border-bottom: 1px solid #4d4d4d;
}

.modelList {
	width: 100%;
	height: 130px;
	display: flex;
	justify-content: space-between;
}

.otherModel {
	text-align: left !important;
}

.otherModel2 {
	padding: 10px 0 10px 20px !important;
	text-align: left !important;
}

.otherModel3 {
	width: 100px;
}

.otherModel2 {
	width: 100%;
}

.otherModel3 img,
.otherModel2 img {
	object-fit: contain;
	max-height: 100px;
}

.otherModel3 p,
.otherModel2 p {
	text-align: center;
	font-size: 1em;
}

.otherBtn {
	margin: 20px 0;
	padding: 200px 20px 20px;
	width: 580px;
	height: 300px;
}

@media screen and (max-width: 640px) {
	.agentBox {
		margin: 7vw auto;
		padding: 4vw 4vw 5vw;
		width: 90vw;
		flex-direction: column;
		justify-content: center;
	}

	.agentTitle {
		padding-bottom: 2vw;
		font-size: 4.8vw;
	}

	.agentBox p {
		padding: 2vw 0;
		width: 100%;
		text-align: center;
	}

	ul.agentList {
		width: 100%;
		flex-direction: column;
	}

	li.agent {
		margin: 0 0 3vw;
		padding: 9vw 4vw 7vw;
		width: 82vw;
		background: #fff;
	}

	.agentLogo {
		margin: 0 auto 7vw;
		width: 100%;
		height: 40px;
	}

	.agentSub {
		margin: 5.5vw auto 0.5vw;
		font-size: 4vw;
	}

	.agent p {
		text-align: left;
		font-size: 3.5vw;
	}

	.agentBtn {
		margin: 3vw auto 0;
		padding-right: 3vw;
		width: 70vw;
		height: 12vw;
		font-size: 3.4vw;
		background: #3C4652 no-repeat 95% center;
		background-size: 5%;
	}

	.btnOuter {
		margin: 10vw auto;
		padding: 1vw 0;
		width: 90vw;
		height: auto;
		background: #ECEFF5;
	}

	.otherModelBox {
		margin: 10vw auto;
		width: 90vw;
		flex-direction: column;
	}

	.wideTitle {
		padding-bottom: 1vw;
		width: 100%;
		font-size: 4.8vw;
	}

	.otherModel {
		margin: 3vw 0;
		padding: 5vw 5vw 0;
		width: 90vw;
		height: auto;
	}

	.otherTitle {
		margin-bottom: 5vw;
		padding-bottom: 1vw;
		font-size: 4vw;
	}

	.modelList {
		margin: 0 auto;
		width: 80vw;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.otherModel {
		margin: 0 0 3vw;
	}

	.otherModel2 {
		margin: 0;
	}

	.otherModel3 {
		width: 38vw;
	}

	.otherModel3 img,
	.otherModel2 img {
		max-height: 24vw;
	}

	.otherModel3 p,
	.otherModel2 p {
		text-align: center;
		font-size: 3.2vw;
	}

	.otherBtn {
		margin: 0;
		padding: 0;
		width: 90vw;
		height: auto;
	}
}

/*================================================
 *  サイトマップ
 ================================================*/
ul.sitemap,
ul.sitemapSecond,
ul.sitemapThird {
	list-style: none;
}

ul.sitemap {
	font-size: 1.6em;
}

ul.sitemapSecond {
	font-size: 1em;
}

ul.sitemapThird {
	font-size: 1em;
}

ul.sitemapSecond {
	margin-left: -40px !important;
}

ul.sitemapThird {
	margin-left: -40px !important;
}

ul.sitemap li {
	margin: 7px 0;
	padding: 0 0 0 15px;
	background: url("../img/sitemap1.svg") no-repeat left top;
	background-size: 10px 12px;
	background-position: 0 3px;
}

ul.sitemapSecond li {
	margin: 5px 0;
	padding: 0 0 0 12px;
	background: url("../img/sitemap2.svg") no-repeat left top;
	background-size: 7px 10px;
	background-position: 0 5px;
}

ul.sitemapThird li {
	margin: 5px 0;
	padding: 0 0 0 12px;
	background: url("../img/sitemap3.svg") no-repeat left center;
	background-size: 6px 2px;
}

ul.sitemap a,
ul.sitemapSecond a,
ul.sitemapThird a {
	color: #0F328C;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

@media screen and (max-width: 640px) {
	ul.sitemap {
		font-size: 3.75vw;
	}
}

/*================================================
 *  トップページ
 ================================================*/
.toppage {
	position: relative;
}

.upper {
	display: flex;
	flex-direction: column;
}

/*----- キャッチ -----*/
.read {
	margin: 20px auto;
	width: 1190px;
	height: 110px;
}

.read label {
	display: none;
}

.read input {
	display: none;
}

.read__content {
	height: 110px;
}

.catch {
	padding: 0;
	width: 1190px;
	height: 110px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	background: url("../img/top/catchbackPC_top.png") no-repeat left top;
	background-size: contain;
}

.catchL {
	padding-left: 30px;
	width: 570px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 700;
}

.catchR {
	width: 620px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.catchL p {
	font-size: 2.2em;
	line-height: 2.5em;
}

.catchR p {
	font-size: 1.3em;
	line-height: 1.77;
}

.catchL p.catchName {
	font-size: 2em;
	font-weight: 700;
	line-height: 1.3;
}

@media screen and (max-width: 640px) {
	.upper {
		flex-direction: column-reverse;
	}

	.catch {
		margin: 0;
		padding: 0;
		width: 100vw;
		height: 46.7vw;
		flex-direction: column;
		justify-content: center;
		background: url("../img/top/catchbackSP_top_02.png") no-repeat left top;
		background-size: cover;
	}

	.catchL {
		padding: 0 10.5vw 3.5vw 14.5vw;
		width: 100%;
		height: 19.33vw;
		font-size: 4.4vw;
	}

	.catchR {
		width: 100%;
		height: 27.37vw;
	}

	.catchR p {
		font-size: 2.67vw;
		line-height: 1.5;
	}

	.catchL p {
		font-size: 4.25vw;
		line-height: 4.8vw;
	}

	.catchL p.catchName {
		margin-top: 3.5vw;
		font-size: 3.45vw;
	}

	.read {
		margin: 11.8vw auto 2.5vw;
		max-width: 100vw;
		height: auto;
		position: relative;
	}

	.read label {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 19vw;
		text-align: center;
		z-index: 1;
		display: flex;
		background: url("../img/top/catchBtn.svg") no-repeat;
		background-position: 90vw 13.5vw;
		background-size: 3.8vw 3.8vw;
	}

	.read label:after {
		content: '続きを見る';
		z-index: 2;
		width: 100%;
		padding: 0 11vw 1.5vw 0;
		text-align: right;
		font-size: 2.67vw;
		color: #fff;
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.read input:checked+label {
		height: 46.5vw;
		background: url("../img/top/catchBtn2.svg") no-repeat;
		background-position: 90vw 41vw;
		background-size: 3.8vw 3.8vw;
	}

	.read input:checked+label:after {
		content: ' ';
	}

	.read input {}

	.read__content {
		overflow: hidden;
		height: 19.33vw;
	}

	.read input:checked~.read__content {
		height: 46.4vw;
	}
}

/*----- バナー -----*/
.bnrBox {
	margin: 30px auto 20px;
	width: 100%;
	min-height: 160px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-between;
}

.bnr {
	margin-bottom: 20px;
}

.bnr img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 640px) {
	.bnrBox {
		margin: 0 auto;
		width: 90vw;
		min-height: auto;
		flex-wrap: wrap;
		flex-direction: column;
	}

	.bnr {
		margin-bottom: 2vw;
	}
}

/*----- 製品 -----*/
.productBox {
	margin-bottom: 40px;
}

.productList {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.productListIn {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
	.productListIn p {
		color: #000;
	}

.product1,
.product2,
.product3 {
	padding: 10px 34px;
	width: 580px;
	background: #ECEFF5;
	border: 1px solid #999;
	display: flex;
	align-items: center;
}

.productDepth{
	display: flex !important;
	justify-content: space-between !important;
	height: auto !important;
}

@media screen and (min-width: 640px) {
	.productDepth{
		padding: 0px 34px !important;
	}
}

.product1 {
	height: 366px
}

.product2,
.product3 {
	height: 170px;
}

.productL {
	width: 360px;
	font-weight: 700;
	line-height: 1.2;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.productL2 {
	font-weight: 700;
	line-height: 1.2;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.productR {
	width: 150px;
	height: 150px;
	display: flex;
}

.productR2{
	height: 150px;
	display: flex;
}

.productR img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product1 .productL,
.product1 .productR {
	width: 255px;
	height: 100%;
}

.product1 .productR .productR2 img {
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.productName {
	margin: 10px 0;
	font-size: 3.7em;
	font-weight: 700;
	line-height: 1;
	color: #0F325B;
}

.productNameS {
	font-size: 60%;
	font-weight: 500;
}

.productBtn {
	display: none;
}

.productR2 img{
	width: 150px;
}

@media screen and (max-width: 640px) {
	.productBox {
		margin: 0 auto 2vw;
		width: 90vw;
	}

	.productList {
		flex-direction: column;
	}

	.productListIn {}

	.product1,
	.product2,
	.product3 {
		margin-bottom: 3vw;
		padding: 4vw 3vw 2vw 3vw;
		width: 90vw;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.product1,
	.product2,
	.product3 {
		height: 40vw
	}

	.productL,
	.product1 .productL {
		width: 63.5vw;
		min-height: 24vw;
		height: auto;
		max-height: 34vw;
	}

	.productL2 {
		width: 63.5vw;
	}

	.productR,
	.product1 .productR {
		width: 19.5vw;
		height: 19.5vw;
	}

	.productR2,
	.product2 .productR2 {
		width: 19.5vw;
		height: 19.5vw;
	}

	.productR2,
	.product2 .productR2 img{
		width: 255px;;
	}

	.productCatch {
		height: 16vw;
		display: flex;
		align-items: center;
	}

	.productName {
		margin: 1.7vw 0;
		font-size: 6.2vw;
	}

	.productBtn {
		width: 72vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

/*----- Gallery -----*/
.galleryBox {
	margin: 20px auto 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.gallery {
	position: relative;
	width: 370px;
	height: 330px;
}

.galleryImg {
	position: absolute;
	top: 0;
	left: 0;
	width: 370px;
	height: 330px;
}

.galleryFrame {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-128px, -73px);
	padding: 17px;
	width: 256px;
	height: 146px;
	background: rgba(255, 255, 255, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.galleryJ {
	width: 100%;
	color: #000;
	font-size: 1.6em;
	font-weight: 700;
	border-bottom: 1px solid #000;
	display: flex;
	justify-content: center;
}

.galleryE {
	margin: 5px auto;
	width: 100%;
	color: #000;
	font-size: 2.4em;
	font-weight: 700;
	display: flex;
	justify-content: center;
}

@media screen and (max-width: 640px) {
	.galleryBox {
		margin: 0 auto 5.5vw;
		width: 90vw;
		flex-direction: column;
	}

	.gallery {
		overflow: hidden;
		margin-bottom: 3vw;
		width: 90vw;
		height: 30vw;
	}

	.galleryImg {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 90vw;
		height: auto;
		object-fit: cover;
	}

	.galleryImg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.galleryFrame {
		transform: translate(-25vw, -16vw);
		padding: 5vw 3vw 3vw;
		width: 50vw;
		height: 27vw;
	}

	.galleryJ {
		font-size: 3.7vw;
	}

	.galleryE {
		margin: 1vw auto 0;
		font-size: 4.8vw;
	}
}

/*----- News & Topics -----*/
.topNewsBox {
	margin: 50px auto;
	padding-right: 50px;
	width: 100%;
}

.topNews {
	margin: 40px 0;
	width: 100%;
	min-height: 26px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.topNews a {
	color: #0F328C;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.topNewsDate {
	width: 130px;
	font-size: 1.6em;
	font-weight: 700;
}

::-webkit-full-page-media,
:future,
:root .topNewsDate {
	width: 150px;
}

::-webkit-full-page-media,
:future,
:root .newsDate {
	width: 120px;
}

.topCate1,
.topCate2,
.topCate3 {
	width: 134px;
	height: 24px;
	font-size: 1.4em;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

.topCate2,
.topCate3 {
	margin: 0 10px;
}

.topCate1 {
	margin: 0 10px 0 0;
}

.topCate1 {
	background: #C1272D;
	color: #fff;
}

.topCate2 {
	background: #C0D1DB;
	color: #000;
}

.topCate3 {
	background: #e6e6e6;
	color: #000;
}

.topNews a {
	width: 900px;
}

.newsBtn {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 640px) {
	.topNewsBox {
		margin: 7vw auto 10vw;
		padding-right: 0;
		width: 90vw;
	}

	.topNews {
		margin: 5vw 0;
		width: 100%;
		min-height: 0;
		flex-wrap: wrap;
	}

	.topNewsDate {
		margin-bottom: 2vw;
		width: 32vw;
		font-size: 3.75vw;
	}

	.topCate2,
	.topCate3 {
		margin: 0 1vw 2vw;
		width: 26vw;
		height: 5vw;
		font-size: 3.75vw;
	}

	.topCate1 {
		margin: 0 1vw 2vw;
		width: 35vw;
		height: 5vw;
		font-size: 3.75vw;
	}

	.topNews a {
		margin-top: 1vw;
		width: 90vw;
	}

}

/*================================================
 *  スライダー
 ================================================*/

 .flex_wrap {
 	flex-wrap: wrap;
 	height: auto !important;
 }

 @media screen and (min-width: 640px) {
 	.flex_wrap .splide__slide {
 		margin: 0 !important;
 		margin: 0 17px 10px 0 !important;
 	}
 }

 @media screen and (max-width: 640px) {
 	.flex_wrap .splide__slide {
		margin: 0 1.5vw 1.5vw 1.5vw !important;
 	}
 }


/*================================================
 *  ボタン
 ================================================*/
/*----- Sサイズ -----*/
.BtnS,
.BtnS2,
.BtnS3 {
	margin: 0 0 5px 0;
	padding-left: 15px;
	width: 158px;
	height: 24px;
	background: #3C4652;
	font-size: 1.3em;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.BtnS::after,
.BtnS2::after,
.BtnS3::after {
	content: "";
	margin-left: 5px;
	width: 20px;
	height: 20px;
	background: url("../img/arrowRW.svg") no-repeat center center;
	background-size: 50% 50%;
}

.BtnS:hover,
.BtnS2:hover,
.BtnS3:hover {
	background: #000;
}

@media screen and (max-width: 640px) {

	.BtnS,
	.BtnS2 {
		margin: 1vw 0;
		height: 5.3vw;
	}

	.BtnS {
		padding-left: 5vw;
		width: 33.6vw;
		font-size: 3.45vw;
	}

	.BtnS2 {
		padding-left: 1vw;
		width: 35vw;
		font-size: 3.75vw;
	}

	.BtnS3 {
		display: flex;
		margin: 1.5vw auto;
		padding-left: 5vw;
		width: 34vw;
		height: 5.3vw;
		font-size: 3.75vw;
	}

	.BtnS::after,
	.BtnS3::after {
		margin-left: 1vw;
		width: 5vw;
		height: 5vw;
	}

	.BtnS2::after {
		margin-left: 0;
		width: 4vw;
		height: 4vw;
		background: url("../img/arrowRW.svg") no-repeat center right;
		background-size: 60% 60%;
	}
}

/*----- 下層ページボタン -----*/
.btnBox,
.btnBox2 {
	margin: 20px auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.btnBox {
	justify-content: center;
}

.btnBox2 {
	flex-wrap: wrap;
	justify-content: flex-start;
}

.btnBox a,
.btnBox2 a {
	margin: 10px;
	width: 376px;
	height: 46px;
	font-size: 1.3em;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #3c4652 url("../img/arrowRW.svg") no-repeat;
	background-position: 95% 50%;
	background-size: 2.5%;
}

.show_btn {
	margin: 20px auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.show_btn a{
	text-align: center;
	margin: 10px;
	width: 400px;
	height: 46px;
	font-size: 1.3em;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #3c4652 url("../img/arrowRW.svg") no-repeat;
	background-position: 95% 50%;
	background-size: 2.5%;
}

.btnBox a.btnRed,
.btnBox2 a.btnRed {
	background-color: #f00;
}

.btnBox a.btnRed:hover,
.btnBox2 a.btnRed:hover {
	background-color: #B4272D;
}

.btnBox a.w500 {
	width: 500px;
	min-height: 50px;
}

.show_btn a.w500 {
	width: 500px;
	min-height: 50px;
}

.btnBox2 a {
	margin: 0 15px 10px 0;
}

.iconLink {
	margin: 5px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
	.iconLink a {
		background-color: #FFF;
	}

.iconLink img {
	width: 20px;
	margin: 0 5px 0 0 !important;
}

.iconBtn,
.iconBtn2 {
	padding: 0;
	min-height: 46px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #3c4652;
}

.iconBtn {
	width: 380px;
}

.iconBtn2 {
	width: 500px;
}

.iconBtn:hover,
.iconBtn2:hover {
	background: #000;
}

.iconBtn img,
.iconBtn2 img {
	margin: 0 4% !important;
	height: 30px !important;
	width: auto !important;
}

.iconBtn img.DLimg,
.iconBtn2 img.DLimg {
	height: 18px !important;
}

.btnBox a:hover,
.btnBox2 a:hover,
a.PDF:hover,
a.ZIP:hover,
a.DXF:hover,
a.DWG:hover {
	background-color: #000027;
}

@media screen and (max-width: 640px) {

	.btnBox,
	.btnBox2 {
		margin: 5vw auto;
		width: 80vw;
		flex-direction: column;
	}

	.btnBox {
		justify-content: center;
	}

	.btnBox2 {
		flex-wrap: nowrap;
		justify-content: center;
	}

	.btnBox a,
	.btnBox2 a {
		margin: 0 0 3vw 0;
		padding: 1vw 4vw 1vw 1vw;
		width: 80vw;
		height: auto;
		min-height: 13vw;
		font-size: 3.5vw;
		text-align: center;
		background-position: 76vw 50%;
	}

	.show_btn a {
		margin: 0 0 3vw 0;
		padding: 1vw 4vw 1vw 1vw;
		width: 80vw;
		height: auto;
		min-height: 13vw;
		font-size: 3.5vw;
		text-align: center;
		background-position: 76vw 50%;
	}

	.btnBox2 a {
		margin: 0 0 3vw 0;
	}

	.btnBox a.w500 {
		width: 80vw;
		min-height: 14vw;
	}

	.show_btn a.w500 {
		width: 80vw;
		min-height: 14vw;
	}

	.iconLink img {
		width: 3.2vw;
		margin: 0 1vw 0 0 !important;
	}

	.iconBtn,
	.iconBtn2 {
		margin: 0 -5vw 0 -2vw;
		padding: 0;
		min-height: 12.8vw;
		width: calc(100% + 3vw);
	}


	.iconBtn img,
	.iconBtn2 img {
		margin: 0 1.5vw !important;
		height: 7vw !important;
		width: auto !important;
	}

	.iconBtn img.DLimg,
	.iconBtn2 img.DLimg {
		height: 4.5vw !important;
	}



}

/*----- サイトマップリンク -----*/
.toSitemap,
.toSitemap2,
.orderSitemap,
.blankSitemap {
	margin: 0 0 28px;
	width: 100%;
	font-size: 1.4em;
}

.blankSitemap {
	height: 20px;
}

.toSitemap a,
.orderSitemap a {
	padding-right: 20px;
	color: #3C4652;
	background: url("../img/arrowRB.svg") no-repeat right center;
	background-size: 7px 11px;
}

.toSitemap2 a {
	padding-right: 20px;
	color: #fff;
	background: url("../img/arrowRW.svg") no-repeat right center;
	background-size: 7px 11px;
	opacity: .6;
}

.toSitemap a:hover,
.toSitemap a:hover {
	color: #000;
}

.toSitemap2 a:hover {
	opacity: 1;
}

@media screen and (max-width: 640px) {

	.toSitemap,
	.toSitemap2,
	.blankSitemap {
		margin: 0 auto 13.5vw;
		width: 90vw;
		font-size: 3.75vw;
	}

	.blankSitemap {
		height: 3vw;
	}

	.toSitemap a,
	.toSitemap2 a {
		padding-right: 5vw;
		background-size: 2.5vw 3.5vw;
	}

	.orderSitemap {
		margin: 0 auto 2.5vw;
		width: 90vw;
		font-size: 3.75vw;
	}
}

/*----- 問合せボタン -----*/
#contact,
#contactOrder {
	position: fixed;
	left: 50%;
	transform: translateX(563px);
	width: 32px;
	height: 140px;
	z-index: 10000;
}

#contact {
	margin: 0px 0px -90px 0px;
	bottom: 128px;
}

#contactOrder {
	margin: 0;
	bottom: 60px;
}

.contactBtn {
	margin: 0;
	padding: 0 15px;
	width: 32px;
	height: 140px;
	background: #0F325B;
	border: 1px solid #fff;
	border-radius: 21px;
	font-size: 1.3em;
	line-height: 1.3;
	color: #fff;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: -1px 3px 13px -5px rgba(0, 0, 0, 0.6);
}

.contactBtn:hover,
#contact a:hover {
	background: #E1E6F8;
	color: #0F325B;
}

/*----- トップへ -----*/
.totop {
	position: absolute;
	bottom: -30px;
	right: 0;
	width: 34px;
	height: 22px;
	background-color: rgba(204, 204, 204, 0.85);
	background-image: url("../img/arrowTOPB.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 18px 7px;
}

.totop:hover {
	background-color: rgba(0, 0, 0, 0.70);
	background-image: url("../img/arrowTOPW.svg");
}

@media screen and (min-width: 641px) and (max-width: 1190px) {
	#contact {
		left: inherit;
		right: 5vw;
		transform: translateX(0);
	}
}

@media screen and (max-width: 640px) {
	#contact {
		position: fixed;
		left: 0;
		bottom: 0;
		transform: translateX(0px);
		margin: 0;
		width: 100vw;
		height: 12vw;
		background: rgba(176, 184, 204, 0.9);
		display: flex;
		justify-content: center;
		align-items: center;
	}

	body.p-order #contact {
		position: fixed;
		left: 0;
		bottom: 0;
		transform: translateX(0px);
		margin: 0;
		width: 100vw;
		height: 1vw;
		background: rgba(176, 184, 204, 0);
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#contact.stop {
		position: absolute !important;
		bottom: 0;
	}

	.contactIn {
		position: relative;
		width: 100%;
		height: 100%;
	}

	.contactBtn {
		margin: 2.5vw auto;
		padding: 0;
		width: 50vw;
		height: 7vw;
		border-radius: 3.5vw;
		font-size: 3.2vw;
	}

	.totop {
		position: absolute;
		top: -8vw;
		right: 0;
		display: flex;
		width: 14.65vw;
		height: 6.65vw;
		background: rgba(0, 0, 0, 0.6) url("../img/arrowUW.svg") no-repeat center center;
		background-size: 50% 50%;
	}
}

@media screen and (min-width: 641px) {
	#contact.stop {
		position: absolute
	}
}

/*================================================
 *  リンク
 ================================================*/
a.linkBlue,
a.linkBlue2,
a.animate-link {
	color: #0F328C;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
a.linkBlue {
	background-color: #FFF;
}
.eventBox a.linkBlue {
	background-color: #ECEFF5;
}

/*================================================
 *  色
 ================================================*/
.bgw {
	background-color: #FFF;
}

.red {
	color: #c1272d;
}

.lightred {
	color: #ff5f66;
}

.blue {
	color: #00f;
}

.darkblue {
	color: #0F328B !important;
}

.gray {
	color: #808080;
}

.black {
	color: #000;
}

.yellow {
	color: #ff0;
}

/*----- 背景色 -----*/
.BGblack {
	background-color: #000 !important;
}

.BGwhite {
	background-color: #fff !important;
}

.BGred {
	background-color: #f00 !important;
}

/*================================================
 *  フォント
 ================================================*/
.ft200 {
	font-size: 200%;
}

.ft170 {
	font-size: 170%;
}

.ft90 {
	font-size: 90% !important;
}

.ft80 {
	font-size: 80% !important;
}

.ft70 {
	font-size: 70% !important;
}

.ft75 {
	font-size: 75% !important;
	font-weight: 500;
}

.ft60 {
	font-size: 60% !important;
	font-weight: 500;
}

.ft50 {
	font-size: 50% !important;
}

.ft1em {
	font-size: 1em !important;
}

.bold {
	font-weight: 700;
}

.lh13 {
	line-height: 1.3 !important;
}

.taL {
	text-align: left !important;
}

.taC {
	text-align: center !important;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
}

.Pw90 {
	margin: 0 auto;
	width: 100%;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.Cautionary,
.Cautionary2 {
	margin: 5px 0px;
	font-size: 1.4em;
}

.square::before {
	content: "■";
}

.square2 {
	margin: 25px 0 0 10px;
	font-weight: 700;
}

.square2::before {
	content: "◆";
}

.square3::before {
	content: "■";
	color: #808080;
	margin-right: 5px;
}

.dott::before {
	content: "●";
}

.merit {
	display: inline-block;
	margin: 20px 0 5px;
	padding: 2px 4px;
	width: 100%;
	color: #0F325B;
	font-weight: 700;
	border-bottom: 1px solid #ccc;
}

.caseOuter p {
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

@media screen and (max-width: 640px) {
	.ft200 {
		font-size: 150%;
		line-height: 1.5;
	}

	.ft170 {
		font-size: 120%;
	}

	.Pw90 {
		width: 90vw;
	}

	.Cautionary {
		margin: 1vw 0 0;
		font-size: 3.2vw;
	}

	.Cautionary2 {
		margin: 1vw auto 0;
		width: 90vw;
		font-size: 3.2vw;
	}

	.merit {
		margin: 3vw 0 1vw;
		padding: 0.5vw;
	}
}

/*================================================
 *  マージン・サイズ
 ================================================*/
/*----- top -----*/
.mgt5 {
	margin-top: 5px !important;
}

.mgt10 {
	margin-top: 10px !important;
}

.mgt20 {
	margin-top: 20px !important;
}

.mgt25 {
	margin-top: 25px !important;
}

.mgt30 {
	margin-top: 30px !important;
}

.mgt35 {
	margin-top: 35px !important;
}

.mgt40 {
	margin-top: 40px !important;
}

.mgt45 {
	margin-top: 45px !important;
}

.mgt50 {
	margin-top: 50px !important;
}

.mgt60 {
	margin-top: 60px !important;
}

.mgt65 {
	margin-top: 65px !important;
}

/*----- left -----*/
.mgl10 {
	margin-left: 10px !important;
}

.mgl20 {
	margin-left: 20px !important;
}

.mgl40 {
	margin-left: 40px !important;
}

/*----- bottom -----*/
.mgb10 {
	margin-bottom: 10px;
}

.mgb20 {
	margin-bottom: 20px;
}

.mgb60 {
	margin-bottom: 60px;
}

.mgb70 {
	margin-bottom: 70px !important;
}

@media screen and (max-width: 640px) {
	.mgt25 {
		margin-top: 2vw !important;
	}

	.mgt30 {
		margin-top: 3vw !important;
	}

	.mgt40 {
		margin-top: 10vw !important;
	}

	.mgt60 {
		margin-top: 10vw !important;
	}

	.mgt65 {
		margin-top: 0 !important;
	}

	.mgt15vw {
		margin-top: 15vw;
	}

	.mgb60 {
		margin-bottom: 16vw;
	}

	.mgl40 {
		margin-left: 0 !important;
	}
}

/*----- width -----*/
.w7-5 {
	width: 7.5% !important;
}

.w10 {
	width: 10% !important;
}

.w15 {
	width: 15% !important;
}

.w20 {
	width: 20% !important;
}

.w25 {
	width: 25% !important;
}

.w30 {
	width: 30% !important;
}

.w35 {
	width: 35% !important;
}

.w40 {
	width: 40% !important;
}

.w45 {
	width: 45% !important;
}

.w50 {
	width: 50% !important;
}

.w60 {
	width: 60% !important;
}

.w70 {
	width: 70% !important;
}

.w75 {
	width: 75% !important;
}

.w80 {
	width: 80% !important;
}

.w100 {
	width: 100% !important;
}

.cal1-3 {
	width: calc(100% / 3);
}

.cal1-6 {
	width: calc(100% / 6);
}

.cal1-8 {
	width: calc(100% / 8);
}

.w178px {
	width: 178px;
}

@media screen and (min-width: 641px) {

	.w90,
	.w93 {
		margin: 0;
		width: 1130px !important;
		height: auto !important;
	}
}

@media screen and (max-width: 640px) {
	.w90 {
		margin: 0 0 0 5vw;
		width: 90vw !important;
	}

	.w93 {
		margin: 0 0 0 5vw;
		width: 93vw !important;
	}

	.w40 {
		width: 80% !important;
	}

	.w178px {
		width: 44vw;
	}

	/*
	.w50{ width: 90% !important; }
	*/
	.tab-content .w93 {
		margin: 0;
		width: 90vw !important;
	}

	.m15 {
		top: -15vw;
	}

	.p15 {
		margin-top: 15vw;
	}
}

/*================================================
 *  ご購入はこちら　アンカー
 ================================================*/
a.tokuyakutenanchor {
	display: block;
	padding-top: 70px;
	margin-top: -70px;
}

#hosho {
	display: block;
	padding-top: 70px;
	margin-top: -70px;
}

/*================================================
 *  レスポンシブ
 ================================================*/
@media screen and (min-width: 641px) {
	.SP {
		display: none !important;
	}
}

@media screen and (max-width: 640px) {
	.PC {
		display: none !important;
	}
}














/*守分追記*/


.bgBox {
	background: #eceff5;
	border: 1px solid #666666;
	padding: 0px 20px;
	margin: 20px auto 0;
}

table.activation {
	margin: 0 0 20px;
	border-spacing: 0;
	border-collapse: collapse;
	border: 2px solid #4d4d4d;
	width: 100%;
}

table.activation th {
	font-size: 1.6em;
	background: #EBEEF4;
	border: 1px solid #4d4d4d;
	width: 30%;
}

table.activation th.w300 {
	width: 300px;
}

table.activation th,
table.activation td {
	padding: 10px;
	font-size: 1.6em;
	border: 1px solid #4d4d4d;
}

.contents p.flex {
	margin-bottom: 10px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.contents p.flex span {
	width: 80%;
}

.contents p.flex span:first-child {
	padding-right: 20px;
	width: 20%;
	text-align: right;
	font-weight: 700;
}

a.ZIP {
	padding: 0 80px;
}

/*================================================
 *  よくあるご質問
 ================================================*/
.faqList .item {
	border: 1px solid #4d4d4d;
	margin-bottom: 15px;
}

.faqHead {
	margin: 0;
	padding: 15px;
	font-size: 1.6em;
	font-weight: 700;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	cursor: pointer;
}

.faqHead span {
	color: #0f325b;
	background-color: #fff;
	margin-right: 20px;
}

.faqHead::after {
	content: "";
	width: 15px;
	height: 15px;
	background: url("../img/faq_arrow.svg") no-repeat center;
	background-size: contain;
	margin-left: auto;
	display: block;
	transform: rotate(180deg);
	flex-shrink: 0;
}

.faqList .item.active .faqHead::after {
	transform: rotate(0deg);
}

.faqList .item .inner {
	background: #ebeef4;
	padding: 15px;
	box-sizing: border-box;
	display: none;
	overflow: auto;
}
	.faqList .item .inner a.linkBlue {
		background-color: #ebeef4;
	}
	.faqList .item .inner .tableBoxZ a.linkBlue {
		background-color: #fff;
	}

.faqList .item.active .inner {
	display: block;
}

.faqList .item .inner table {
	background: #fff;
	min-width: 700px;
}

.faqList .item p.inner img {
	max-width: 600px !important;
	width: 80% !important;
}

#anc01 {
	margin-top: 10px;
}

@media(max-width:640px) {
	.faqList .item p {
		font-size: 1.1em;
	}

	.faqHead {
		padding: 3vw;
		font-size: 3.75vw;
	}

	#anc01 {
		margin-top: 0;
	}
}

/*
a.PDF{
    min-width: 380px;
    width: fit-content;
    padding: 0 60px;
}
*/
@media(max-width:640px) {
	table.activation {
		margin: 0 auto 5vw;
	}

	table.activation th {
		display: block;
		padding: 3vw;
		width: 100%;
		font-size: 3.75vw;
	}

	table.activation td {
		display: block;
		padding: 2vw;
		width: 100%;
		font-size: 3.75vw;
	}

	.contents p.flex {
		margin: 0 0 8vw;
		flex-direction: column;
	}

	.contents p.flex span {
		width: 100%;
	}

	.contents p.flex span:first-child {
		padding: 0;
		width: 100%;
		text-align: left;
	}


	.page {
		width: 100%;
	}

	a.PDF {
		min-width: inherit;
		width: 100%;
	}

	a.ZIP {
		padding: 1vw 11vw 1vw 12vw;
	}

	.adobe {
		margin: 5vw auto 0;
		width: 90vw;
		display: block;
		padding: 10px;
	}

	.adobeR {
		margin-top: 2vw;
		width: 100%;
		font-size: 3.5vw;
	}

	.dlCatalogOuter {
		display: block;
		margin-top: 5vw;
	}

	.dlCatalog {
		width: 90vw;
		margin: 10px auto;
		justify-content: center;
		padding: 20px;
	}

	.dlCatalogImg {
		margin: 0 auto 2vw;
		width: 40vw;
	}

	.dlCatalogTxt {
		width: 100%;
		font-size: 3.75vw;
	}

	.dlCatalogTxt p {
		margin-bottom: 5vw;
		font-size: 3.5vw;
	}

	.BtnS3 {
		width: fit-content;
		height: auto;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	#lamp {
		top: 14.5vw;
	}

	.tab-buttons {
		height: 15vw;
	}

	.tab-buttons span {
		font-size: 3.5vw;
		padding-bottom: 10px;
		line-height: 1.4;
	}

	.tab-content {
		width: 100%;
		/*overflow: scroll;*/
	}

	.tabs {
		margin: 5vw auto 0 auto;
		width: 90vw;
	}

	.regist p {
		font-size: 1.3em;
	}

	/*
    .btnBox a, .btnBox2 a{
        height: auto!important;
        padding: 10px 40px!important;
        min-height: 13vw;
    }
	*/
	ol.howto,
	ul.howto,
	ol.howto2,
	ul.howto3 {
		margin: 1vw auto 5vw;
		font-size: 3.75vw;
	}

	li>ol.howto,
	li>ul.howto,
	li>ol.howto2,
	li>ul.howto3 {
		font-size: 3.75vw;
	}

	.contents {
		width: 90vw;
		padding: 0;
		margin: 0 auto;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.ISPtitleSub span {
		display: block;
	}

	.bgBox {
		width: 90vw;
		margin: 5vw auto 0;
		padding: 0 5vw 5vw;
	}

	.contentsL.w25,
	.contentsL.w70 {
		width: 100% !important;
		margin: 2vw auto;
	}

	.contentsL.w30,
	.contentsL.w60,
	.contentsL.w50,
	.contentsL.w40,
	.contentsL.w20 {
		width: 90% !important;
		margin: 0 auto 10px;
	}

	.anchor3 a {
		font-size: 2vw;
		width: 50%;
	}


}

/*
#contact {
  bottom: 120px;
}

.detailLogo {
  display: flex;
  justify-content: flex-start;
  margin: 20px 0 20px;
}
#tmpl_main .detailLogo img {
  margin: inherit;
  margin-right: 10px;
}
#tmpl_main .detailLogo img:last-child {
  margin-right: 0;
}
*/
iframe {
	border: none;
}

.agreement_modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, .8);
	z-index: 100000000;
	display: none;
}

.agreement_modal .rela {
	position: relative;
	width: 100vw;
	height: 100vh;
	display: block;
}

.agreement_modal .closebtn {
	position: absolute;
	top: 20px;
	max-width: 1050px;
	width: 95vw;
	color: #fff;
	font-weight: bold;

	font-size: 20px;
	line-height: 1;
	left: 50%;
	transform: translateX(-50%);
}

.agreement_modal .closebtn a {
	color: #fff;
	display: block;
	margin-left: auto;
	width: fit-content;
}

.agreement_modal .contentsBox {
	display: block;
	background: #fff;
	width: 95vw;
	height: calc(100vh - 100px);
	overflow-x: hidden;
	overflow-y: auto;
	padding: 20px;
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	max-width: 1050px;
	border-radius: 6px;
}

.agreement_modal .btnOuter {
	margin-bottom: 0;
	width: 100%;
}


@media(max-width:640px) {
	.regist p {
		font-size: 3.5vw;
	}

	.agreement_modal .contents p,
	.agreement_modal .contents li {
		font-size: 14px;
	}

	.agreement_modal .btnOuter .btnBox {
		width: 90%;
	}

	.agreement_modal .btnOuter .btnBox a {
		width: 100%;

	}

	.agreement_modal .contents {
		width: 100%;
	}
}

/*================================================
 *  テーブル
 ================================================*/
table.Tw60vw,
table.Tw80vw,
table.Tw100vw,
table.Tw120vw,
table.Tw150vw,
table.Tw160vw,
table.Tw200vw,
table.Tw250vw,
table.Tw300vw {
	border-spacing: 0;
	border-collapse: collapse;
	border: 2px solid #4d4d4d;
}

table.Tw100vw,
table.Tw120vw,
table.Tw150vw,
table.Tw160vw,
table.Tw200vw,
table.Tw250vw,
table.Tw300vw {
	width: 100%;
}

table.Tw60vw {
	width: 60%;
}

table.Tw80vw {
	width: 80%;
}

table.Tw60vw a,
table.Tw80vw a,
table.Tw100vw a,
table.Tw120vw a,
table.Tw150vw a,
table.Tw160vw a,
table.Tw200vw a,
table.Tw250vw a,
table.Tw300vw a {
	color: #0F328B;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

table.Tw60vw th,
table.Tw80vw th,
table.Tw100vw th,
table.Tw120vw th,
table.Tw150vw th,
table.Tw160vw th,
table.Tw200vw th,
table.Tw250vw th,
table.Tw300vw th {
	padding: 10px;
	height: 50px;
	font-size: 1.6em;
	line-height: 1.3;
	background: #EBEEF4;
	border: 1px solid #4d4d4d;
}

table.Tw60vw td,
table.Tw80vw td,
table.Tw100vw td,
table.Tw120vw td,
table.Tw150vw td,
table.Tw160vw td,
table.Tw200vw td,
table.Tw250vw td,
table.Tw300vw td {
	padding: 10px;
	text-align: center;
	font-size: 16px;
	border: 1px solid #4d4d4d;
	background-color: transparent;
}

table.Tw60vw td:first-child,
table.Tw100vw td:first-child,
table.Tw120vw td:first-child,
table.Tw150vw td:first-child,
table.Tw160vw td:first-child,
table.Tw200vw td:first-child,
table.Tw250vw td:first-child,
table.Tw300vw td:first-child {
	padding: 10px 20px !important;
	text-align: left;
}


table td.model {
	padding: 10px 20px !important;
	text-align: left;
}

table.allL td {
	text-align: left;
	padding: 20px;
	font-size: 1.6em;
}

table.spec td:first-child,
table td.model {
	padding: 10px 20px !important;
	text-align: left;
}

table.spec td.first {
	padding: 0;
	text-align: center !important;
}

.Tw5 {
	width: 5% !important;
}

.Tw10 {
	width: 10% !important;
}

.Tw11 {
	width: 11% !important;
}

.Tw13 {
	width: 13% !important;
}

.Tw15 {
	width: 15% !important;
}

.Tw16 {
	width: 16% !important;
}

.Tw20 {
	width: 20% !important;
}

.Tw25 {
	width: 25% !important;
}

.Tw30 {
	width: 30% !important;
}

.Tw35 {
	width: 35% !important;
}

.Tw40 {
	width: 40% !important;
}

.Tw50 {
	width: 50% !important;
}

.Tw60 {
	width: 60% !important;
}

.Tw80 {
	width: 80% !important;
}

.Tw100 {
	width: 100% !important;
}

@media(max-width:640px) {

	table.Tw100vw,
	table.Tw60vw,
	table.Tw80vw {
		margin: 0 auto;
		width: 90vw;
	}

	table.Tw120vw {
		width: 120vw;
	}

	table.Tw150vw {
		width: 150vw;
	}

	table.Tw160vw {
		width: 160vw;
		margin-bottom: 5vw;
	}

	table.Tw200vw {
		width: 200vw !important;
	}

	table.Tw250vw {
		width: 250vw;
	}

	table.Tw300vw {
		width: 300vw;
	}

	table th {
		padding: 3vw;
		min-height: 10vw;
		height: auto;
		font-size: 3.5vw !important;
	}

	table td {
		font-size: 3.2vw !important;
	}

	table td:first-child,
	table td.model {
		padding-left: 3vw;
	}
}

.filterMatrix {
	margin: 0 auto 20px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.filMtrxBox {
	display: flex;
	align-items: stretch;
	background-color: #EBEEF4;
}

.filMtrxBox.standard {
	background-color: #DAE9FF;
}

.filMtrxBox .filMtrxBoxImage {
	background-color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1 1 50%;
}

.filMtrxBox .filMtrxBoxImage img {
	width: auto;
	height: auto;
	object-fit: contain;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	padding: 0;
}

.filMtrxBox .filMtrxBoxText {
	border: 1px solid #000000;
	border-right: none;
	padding: 6px 9px;
	flex: 1 1 50%;
}

.filMtrxSub {
	font-size: 1.1em;
	font-weight: 700;
	padding: 2px 4px;
	line-height: 1.2;
	margin: 10px 8px;
	color: #fff;
	background: #6C7584;
}

.filMtrxBox .filMtrxBoxText table.filMtrx {
	margin: 0 0 0 1em;
	border: none;
}

.filMtrxBox .filMtrxBoxText table.filMtrx {
	position: relative;
}

.filMtrxBox .filMtrxBoxText table.filMtrx::before {
	display: block;
	content: "";
	position: absolute;
	top: 1em;
	bottom: 1em;
	left: -0.5em;
	width: 0.5em;
	border: 1px solid #000000;
	border-right: none;
}

.filMtrxBox .filMtrxBoxText table tbody::after {
	display: block;
	content: "";
	position: absolute;
	top: 1em;
	bottom: 1em;
	right: -1.5em;
	width: 0.5em;
	border: 1px solid #000000;
	border-left: none;
}

.filMtrxBox .filMtrxBoxText table td {
	padding: 0 !important;
	text-align: right;
	width: 3.5em;
	border: none;
	font-size: 1em;
}

@media(max-width:640px) {
	.filMtrxSub {
		margin: 1vw 0;
	}

	.filMtrxBox .filMtrxBoxText table.filMtrx::before {
		left: -1em;
	}

	.filMtrxBox .filMtrxBoxText table.filMtrx td {
		width: 3em;
	}
}