@charset "utf-8";
@import "https://fonts.googleapis.com/icon?family=Material+Icons";

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, p, blockquote, th, td, main, figure {
	margin: 0;
	padding: 0;
}
table {
	font-size: 100%;
	font-family: inherit;
}
fieldset, img {
	border: 0;
}
img,
svg {
	vertical-align: middle;
}
address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}
ol, ul {
	list-style: none;
}
caption, th {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
}
q:before, q:after {
	content: '';
}
abbr, acronym {
	border: 0;
}
select, input, textarea {
	font-size: 100%;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.7;
}
header,footer,nav,main,section,article,figure,aside {
	display: block;
}

html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.7;
	color: #000000;
	word-wrap: break-word;
	overflow-wrap: break-word;

	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
a[href] {
	color: #004285;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
@media screen and (min-width: 769px) {
	a[href].a_reverse:hover,
	.a_reverse a[href]:hover {
		text-decoration: underline;
	}
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}
::-webkit-input-placeholder {
	color: #808080;
}
:-ms-input-placeholder {
	color: #808080;
}
::-moz-placeholder {
	color: #808080;
}
select::-ms-expand {
	display: none;
}
@media screen and (max-width: 768px) {
	input, select, textarea {
		font-size: 1.6rem;
	}
}


button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (min-width: 769px), print {
	body {
	}
}
@media screen and (max-width: 768px) {
	img {
		max-width: 100%;
		height: auto;
	}
}


/* slick
============================================================================================================ */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}

/* Magnific Popup CSS
============================================================================================================ */
.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}



/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}
@media screen and (min-width: 769px), print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
	td.sp, th.sp {
		display: table-cell !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
	.sps_non {
		display: none !important;
	}
}


/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {
	body.init a[href],
	body.init a[href]::before,
	body.init a[href]::after,
	body.init button,
	body.init .basic_trs,
	body.init .basic_trs::before,
	body.init .basic_trs::after,
	body.init .basic_trs *,
	body.init .basic_trs *::before,
	body.init .basic_trs *::after {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
}


/* color
============================================================================================================ */
.c_theme {
	color: #8c783c;
}

/* font
============================================================================================================ */
.fwb {
	font-weight: bold;
}
.fwn {
	font-weight: normal;
}

/* hover
============================================================================================================ */
@media screen and (min-width: 769px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}
	a.hv_wh::after,
	button.hv_wh::after,
	a .hv_wh::after,
	.hv_wh a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		z-index: 3;
	}
	body.init a.hv_wh::after,
	body.init button.hv_wh::after,
	body.init a .hv_wh::after,
	body.init .hv_wh a::after {
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
	}
	a[href].hv_wh:hover::after,
	button.hv_wh:hover::after,
	a[href]:hover .hv_wh::after,
	.hv_wh a[href]:hover::after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover::after,
	button.hv_wh.a20:hover::after,
	a[href]:hover .hv_wh.a20::after,
	.hv_wh.a20 a[href]:hover::after {
		background-color: rgba(255,255,255,0.2);
	}
	a[href].hv_wh.a10:hover::after,
	button.hv_wh.a10:hover::after,
	a[href]:hover .hv_wh.a10::after,
	.hv_wh.a10 a[href]:hover::after {
		background-color: rgba(255,255,255,0.1);
	}

	body.init a[href] .hv_op {
		-webkit-transition: opacity 0.2s;
		-o-transition: opacity 0.2s;
		transition: opacity 0.2s;
	}
	a[href].hv_op:hover,
	a[href]:hover .hv_op,
	button.hv_op:hover,
	.hv_op a[href]:hover {
		opacity: 0.7;
	}
	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20,
	.hv_op.a20 a[href]:hover {
		opacity: 0.8;
	}
	a[href].hv_op.a10:hover,
	a[href]:hover .hv_op.a10,
	.hv_op.a10 a[href]:hover {
		opacity: 0.9;
	}
	a[href].hv_op.a50:hover,
	a[href]:hover .hv_op.a50,
	.hv_op.a50 a[href]:hover {
		opacity: 0.5;
	}

	body.init a[href] .hv_zoom > * {
		-webkit-transition: -webkit-transform 0.6s, opacity .3s;
		-o-transition: -o-transform 0.6s, opacity .3s;
		transition: transform 0.6s, opacity .3s;
	}
	a[href]:hover .hv_zoom > * {
		-webkit-transform: scale(1.05);
		-ms-transform: scale(1.05);
		-o-transform: scale(1.05);
		transform: scale(1.05);
	}
	a[href]:hover .hv_zoom.z > * {
		-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	a[href]:hover .hv_zoom.s > * {
		-webkit-transform: scale(1.03);
		-ms-transform: scale(1.03);
		-o-transform: scale(1.03);
		transform: scale(1.03);
	}
}


/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -110px;
}
.target.pt {
	top: -130px;
}
@media screen and (max-width: 768px) {
	.target {
		top: -60px
	}
	.target.pt {
		top: -80px;
	}
}
@media screen and (max-width: 370px) {
	.target {
		top: -50px
	}
	.target.pt {
		top: -70px;
	}
}


/* w
============================================================================================================ */
.w {
	position: relative;
}
@media screen and (min-width: 769px), print {
	.w {
		max-width: 1040px;
		margin: 0 auto;
	}
	.mw {
		min-width: 1080px;
	}
	.sw {
		max-width: 760px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	.w {
	}
	.mw {
	}
}


/* margin
============================================================================================================ */
.m00 {margin: 0 !important;}
.mb00 {margin-bottom: 0 !important;}
.mb05 {margin-bottom: 5px !important;}
.mb08 {margin-bottom: 8px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb35 {margin-bottom: 35px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb45 {margin-bottom: 45px !important;}
.mb50 {margin-bottom: 50px !important;}
.mt00 {margin-top: 0 !important;}
.mt05 {margin-top: 5px !important;}
.mt08 {margin-top: 8px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt25 {margin-top: 25px !important;}
.mt30 {margin-top: 30px !important;}
.mt35 {margin-top: 35px !important;}
.mt40 {margin-top: 40px !important;}
.mt45 {margin-top: 45px !important;}
.mt50 {margin-top: 50px !important;}
@media screen and (min-width: 769px), print {
	.pc_m00 {margin: 0 !important;}
	.pc_mb00 {margin-bottom: 0 !important;}
	.pc_mb05 {margin-bottom: 5px !important;}
	.pc_mb08 {margin-bottom: 8px !important;}
	.pc_mb10 {margin-bottom: 10px !important;}
	.pc_mb15 {margin-bottom: 15px !important;}
	.pc_mb20 {margin-bottom: 20px !important;}
	.pc_mb25 {margin-bottom: 25px !important;}
	.pc_mb30 {margin-bottom: 30px !important;}
	.pc_mb35 {margin-bottom: 35px !important;}
	.pc_mb40 {margin-bottom: 40px !important;}
	.pc_mb45 {margin-bottom: 45px !important;}
	.pc_mb50 {margin-bottom: 50px !important;}
	.pc_mt00 {margin-top: 0 !important;}
	.pc_mt05 {margin-top: 5px !important;}
	.pc_mt08 {margin-top: 8px !important;}
	.pc_mt10 {margin-top: 10px !important;}
	.pc_mt15 {margin-top: 15px !important;}
	.pc_mt20 {margin-top: 20px !important;}
	.pc_mt25 {margin-top: 25px !important;}
	.pc_mt30 {margin-top: 30px !important;}
	.pc_mt35 {margin-top: 35px !important;}
	.pc_mt40 {margin-top: 40px !important;}
	.pc_mt45 {margin-top: 45px !important;}
	.pc_mt50 {margin-top: 50px !important;}
}
@media screen and (max-width: 768px) {
	.sp_m00 {margin: 0 !important;}
	.sp_mb00 {margin-bottom: 0 !important;}
	.sp_mb05 {margin-bottom: 5px !important;}
	.sp_mb08 {margin-bottom: 8px !important;}
	.sp_mb10 {margin-bottom: 10px !important;}
	.sp_mb15 {margin-bottom: 15px !important;}
	.sp_mb20 {margin-bottom: 20px !important;}
	.sp_mb25 {margin-bottom: 25px !important;}
	.sp_mb30 {margin-bottom: 30px !important;}
	.sp_mb35 {margin-bottom: 35px !important;}
	.sp_mb40 {margin-bottom: 40px !important;}
	.sp_mb45 {margin-bottom: 45px !important;}
	.sp_mb50 {margin-bottom: 50px !important;}
	.sp_mt00 {margin-top: 0 !important;}
	.sp_mt05 {margin-top: 5px !important;}
	.sp_mt08 {margin-top: 8px !important;}
	.sp_mt10 {margin-top: 10px !important;}
	.sp_mt15 {margin-top: 15px !important;}
	.sp_mt20 {margin-top: 20px !important;}
	.sp_mt25 {margin-top: 25px !important;}
	.sp_mt30 {margin-top: 30px !important;}
	.sp_mt35 {margin-top: 35px !important;}
	.sp_mt40 {margin-top: 40px !important;}
	.sp_mt45 {margin-top: 45px !important;}
	.sp_mt50 {margin-top: 50px !important;}
}

.mgt0rem {margin-top: 0 !important;}
.mgt0_5rem {margin-top: 0.5rem !important;}
.mgt1rem {margin-top: 1rem !important;}
.mgt1_5rem {margin-top: 1.5rem !important;}
.mgt2rem {margin-top: 2rem !important;}
.mgt2_5rem {margin-top: 2.5rem !important;}
.mgt3rem {margin-top: 3rem !important;}
.mgt3_5rem {margin-top: 3.5rem !important;}
.mgt4rem {margin-top: 4rem !important;}
.mgt4_5rem {margin-top: 4.5rem !important;}
.mgt5rem {margin-top: 5rem !important;}
.mgb0rem {margin-bottom: 0 !important;}
.mgb0_5rem {margin-bottom: 0.5rem !important;}
.mgb1rem {margin-bottom: 1rem !important;}
.mgb1_5rem {margin-bottom: 1.5rem !important;}
.mgb2rem {margin-bottom: 2rem !important;}
.mgb2_5rem {margin-bottom: 2.5rem !important;}
.mgb3rem {margin-bottom: 3rem !important;}
.mgb3_5rem {margin-bottom: 3.5rem !important;}
.mgb4rem {margin-bottom: 4rem !important;}
.mgb4_5rem {margin-bottom: 4.5rem !important;}
.mgb5rem {margin-bottom: 5rem !important;}
.mgl0rem {margin-left: 0 !important;}
.mgl0_5rem {margin-left: 0.5rem !important;}
.mgl1rem {margin-left: 1rem !important;}
.mgl1_5rem {margin-left: 1.5rem !important;}
.mgl2rem {margin-left: 2rem !important;}
.mgl2_5rem {margin-left: 2.5rem !important;}
.mgl3rem {margin-left: 3rem !important;}
.mgl3_5rem {margin-left: 3.5rem !important;}
.mgl4rem {margin-left: 4rem !important;}
.mgl4_5rem {margin-left: 4.5rem !important;}
.mgl5rem {margin-left: 5rem !important;}
.mgr0rem {margin-right: 0 !important;}
.mgr0_5rem {margin-right: 0.5rem !important;}
.mgr1rem {margin-right: 1rem !important;}
.mgr1_5rem {margin-right: 1.5rem !important;}
.mgr2rem {margin-right: 2rem !important;}
.mgr2_5rem {margin-right: 2.5rem !important;}
.mgr3rem {margin-right: 3rem !important;}
.mgr3_5rem {margin-right: 3.5rem !important;}
.mgr4rem {margin-right: 4rem !important;}
.mgr4_5rem {margin-right: 4.5rem !important;}
.mgr5rem {margin-right: 5rem !important;}


/* padding
============================================================================================================ */
.pdt0rem {padding-top: 0 !important;}
.pdt0_5rem {padding-top: 0.5rem !important;}
.pdt1rem {padding-top: 1rem !important;}
.pdt1_5rem {padding-top: 1.5rem !important;}
.pdt2rem {padding-top: 2rem !important;}
.pdt2_5rem {padding-top: 2.5rem !important;}
.pdt3rem {padding-top: 3rem !important;}
.pdt3_5rem {padding-top: 3.5rem !important;}
.pdt4rem {padding-top: 4rem !important;}
.pdt4_5rem {padding-top: 4.5rem !important;}
.pdt5rem {padding-top: 5rem !important;}
.pdb0rem {padding-bottom: 0 !important;}
.pdb0_5rem {padding-bottom: 0.5rem !important;}
.pdb1rem {padding-bottom: 1rem !important;}
.pdb1_5rem {padding-bottom: 1.5rem !important;}
.pdb2rem {padding-bottom: 2rem !important;}
.pdb2_5rem {padding-bottom: 2.5rem !important;}
.pdb3rem {padding-bottom: 3rem !important;}
.pdb3_5rem {padding-bottom: 3.5rem !important;}
.pdb4rem {padding-bottom: 4rem !important;}
.pdb4_5rem {padding-bottom: 4.5rem !important;}
.pdb5rem {padding-bottom: 5rem !important;}
.pdl0rem {padding-left: 0 !important;}
.pdl0_5rem {padding-left: 0.5rem !important;}
.pdl1rem {padding-left: 1rem !important;}
.pdl1_5rem {padding-left: 1.5rem !important;}
.pdl2rem {padding-left: 2rem !important;}
.pdl2_5rem {padding-left: 2.5rem !important;}
.pdl3rem {padding-left: 3rem !important;}
.pdl3_5rem {padding-left: 3.5rem !important;}
.pdl4rem {padding-left: 4rem !important;}
.pdl4_5rem {padding-left: 4.5rem !important;}
.pdl5rem {padding-left: 5rem !important;}
.pdr0rem {padding-right: 0 !important;}
.pdr0_5rem {padding-right: 0.5rem !important;}
.pdr1rem {padding-right: 1rem !important;}
.pdr1_5rem {padding-right: 1.5rem !important;}
.pdr2rem {padding-right: 2rem !important;}
.pdr2_5rem {padding-right: 2.5rem !important;}
.pdr3rem {padding-right: 3rem !important;}
.pdr3_5rem {padding-right: 3.5rem !important;}
.pdr4rem {padding-right: 4rem !important;}
.pdr4_5rem {padding-right: 4.5rem !important;}
.pdr5rem {padding-right: 5rem !important;}


/* spパディング
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_pd {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.sp_full {
		margin-left: -20px !important;
		margin-right: -20px !important;
	}
	.sp_full_r {
		margin-right: -20px !important;
	}
}
@media screen and (max-width: 370px) {
	.sp_pd {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	.sp_full {
		margin-left: -15px !important;
		margin-right: -15px !important;
	}
	.sp_full_r {
		padding-right: 15px !important;
	}
}


/* header
============================================================================================================ */
#header {
	top: 0;
	left: 0;
	right: 0;
	font-size: 1.4rem;
}
#header::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background-color: #000000;
}
@media print {
	#header {
		position: absolute;
	}
}
@media screen and (min-width: 769px), print {
	#header {
		position: absolute;
	}
	#header::before,
	#header .logo,
	#header nav .lnav,
	#header nav .hnav,
	#header nav .gnav,
	#header .search_btn,
	#header .search_form {
		position: fixed;
	}
	#header.no-fixed::before,
	#header.no-fixed .logo,
	#header.no-fixed nav .lnav,
	#header.no-fixed nav .hnav,
	#header.no-fixed nav .gnav,
	#header.no-fixed .search_btn,
	#header.no-fixed .search_form {
		position: absolute;
	}
	#header::before {
		height: 50px;
		z-index: 990;
	}
	#header .logo {
		top: 0;
		left: 30px;
		z-index: 995;
	}
	#header .logo a {
		display: block;
		padding: 10px;
	}

	#header nav a {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
		text-decoration: none;
	}
	#header nav ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	#header nav .lnav {
		right: 310px;
		top: 0;
		z-index: 1003;
	}
	#header nav .lnav > li {
		position: relative;
	}
	#header nav .lnav > li > a {
		position: relative;
		height: 50px;
		padding: 0 12px;
		color: #e3e3e3;
		font-size: 1.3rem;
		white-space: nowrap;
	}
	#header nav .lnav .global > a {
		padding-right: 28px;
		cursor: pointer;
	}
	body.init #header nav .lnav .global > a {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	#header nav .lnav .global > a::after {
		content: "";
		position: absolute;
		right: 14px;
		top: 50%;
		margin-top: -3px;
		border-style: solid;
		border-width: 6px 3px 0 3px;
		border-color: #e3e3e3 transparent transparent transparent;
	}
	#header nav .lnav > li.global:hover > a,
	#header nav .lnav > li > a[href]:hover {
		opacity: .7;
	}
	#header nav .lnav .dd {
		overflow: hidden;
		position: absolute;
		left: 0;
		top: 50px;
		height: 0;
		opacity: 0;
	}
	#header nav .lnav .dd ul {
		display: block;
		background-color: #222;
		-webkit-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-o-transform: translateY(-10px);
		transform: translateY(-10px);
	}
	#header nav .lnav .dd li + li {
		border-top: 1px solid rgba(255,255,255,.2);
	}
	#header nav .lnav .dd a {
		display: block;
		padding: 10px 12px;
		color: #e3e3e3;
		font-size: 1.3rem;
		white-space: nowrap;
	}
	#header nav .lnav li.hover .dd {
		opacity: 1;
	}
	#header nav .lnav li.hover .dd ul {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}

	body.init #header nav .lnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}
	body.init #header nav .lnav .dd ul {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	#header nav .hnav {
		right: 50px;
		top: 0;
		z-index: 995;
	}
	#header nav .hnav li {
		width: 112px;
		margin-left: 4px;
		background-color: #fff;
	}
	#header nav .hnav li a {
		height: 50px;
		background-color: #414141;
		color: #fff;
	}
	#header nav .hnav .login a {
		background-color: #024085;
	}
	#header nav .hnav .contact a {
		background-color: #dc000c;
	}
	#header nav .hnav li a:hover {
		opacity: .7;
	}

	#header nav .gnav {
		top: 50px;
		right: 0;
		left: 0;
		font-size: 1.3rem;
		background-color: #fff;
		z-index: 995;
	}
	#header nav .gnav::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		border-bottom: 1px solid #e3e3e3;
		z-index: 2;
	}
	#header nav .gnav ul {
		justify-content: center;
	}
	#header nav .gnav li a {
		position: relative;
		height: 60px;
		padding: 0 16px;
		color: #000;
	}
	#header nav .gnav li a::after {
		content: "";
		position: absolute;
		right: 16px;
		left: 16px;
		bottom: 15px;
		border-top: 2px solid #dc000c;
		-webkit-transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
		-o-transition: opacity .2s ease-in-out, -o-transform .2s ease-in-out;
		transition: opacity .2s ease-in-out, transform .2s ease-in-out;
		-webkit-transform: translateY(2px);
		-ms-transform: translateY(2px);
		-o-transform: translateY(2px);
		transform: translateY(2px);
		opacity: 0;
	}
	#header nav .gnav li a:hover::after,
	#header nav .gnav li a.current::after {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
	#header nav .gnav ul ul {
		display: none;
	}
	#header .search_btn {
		right: 0;
		top: 0;
		z-index: 1000;
	}
	#header .search_btn a {
		display: block;
		padding: 10px;
		background-color: #000;
	}
	#header .search_btn a:hover {
		opacity: .7;
	}
	#header .search_btn a svg {
		width: 30px;
		height: 30px;
	}
	#header .search_form {
		overflow: hidden;
		right: 0;
		left: 0;
		top: 50px;
		height: 0;
		background-color: #e3e3e3;
		z-index: 1001;
	}
	#header .search_form::after {
		content: "";
		position: absolute;
		right: 25px;
		width: 15px;
		height: 15px;
		top: -6px;
		background-color: #000;
		-webkit-transform-origin: 100% 100%;
		-moz-transform-origin: 100% 100%;
		-ms-transform-origin: 100% 100%;
		-o-transform-origin: 100% 100%;
		transform-origin: 100% 100%;
		-webkit-transform: scaleX(.8) rotate(45deg);
		-ms-transform: scaleX(.8) rotate(45deg);
		-o-transform: scaleX(.8) rotate(45deg);
		transform: scaleX(.8) rotate(45deg);
	}
	#header .search_form form {
		position: absolute;
		bottom: 16px;
		right: 0;
		left: 0;
		text-align: center;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}
	#header .search_form form::before {
		content: "サイト内検索";
		margin-right: 12px;
		font-size: 1.2rem;
		color: #808080;
	}
	#header .search_form form input[type=search] {
		width: 263px;
		height: 28px;
		background-color: #fff;
		border: 0;
		border-left: 3px solid #000;
		padding: 0 .5em;
	}
	#header .search_form form ::-webkit-input-placeholder {
		color: #fff;
	}
	#header .search_form form :-ms-input-placeholder {
		color: #fff;
	}
	#header .search_form form ::-moz-placeholder {
		color: #fff;
	}
	#header .search_form form button {
		width: 30px;
		height: 28px;
		padding: 0;
		background-color: #000;
		border: 0;
	}
	#header .search_form form button svg {
		width: 22px;
		height: 22px;
	}
	#header .search_form form button:hover {
		opacity: .7;
	}
	#header .search_form .close {
		position: absolute;
		bottom: 16px;
		right: 60px;
		padding: 4px 20px 4px 5px;
		font-size: 1.2rem;
		color: #000;
		text-decoration: none;
	}
	#header .search_form .close::before,
	#header .search_form .close::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 16px;
		border-top: 1px solid #000;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#header .search_form .close::after {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#header .search_form .close:hover {
		opacity: .7;
	}
}
@media screen and (min-width: 769px) {
	body.init #header nav .gnav {
		-webkit-transition: top .3s;
		-o-transition: top .3s;
		transition: top .3s;
	}
	body.init #header .search_form {
		-webkit-transition: height .3s;
		-o-transition: height .3s;
		transition: height .3s;
	}
	body.init #header.search_open nav .gnav {
		top: 110px;
	}
	body.init #header.search_open .search_form {
		height: 60px;
	}
}
@media screen and (max-width: 768px) {
	#header {
		position: fixed;
		z-index: 1000;
	}
	#header.no-fixed {
		position: absolute;
	}
	#header::before {
		height: 60px;
		z-index: 3;
	}
	#header::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		top: 59px;
		border-top: 1px solid #202020;
		opacity: 0;
		z-index: 5;
		pointer-events: none;
		-webkit-transition: opacity 0.3s;
		-o-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}
	#header .logo {
		position: relative;
		z-index: 5;
	}
	#header .logo a {
		display: inline-block;
		padding: 15px 20px;
	}

	/* nav_btn */
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 5;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 60px;
		-webkit-transition: background 0.3s;
		-o-transition: background 0.3s;
		transition: background 0.3s;
	}
	#header .nav_btn:before,
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 24px;
		height: 3px;
		margin-top: -1px;
		margin-left: -12px;
		background-color: #fff;
		border-radius: 3px;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}
	#header .nav_btn a::before {
		-webkit-transform: translateY(-9px);
		-ms-transform: translateY(-9px);
		-o-transform: translateY(-9px);
		transform: translateY(-9px);
	}
	#header .nav_btn a::after {
		-webkit-transform: translateY(9px);
		-ms-transform: translateY(9px);
		-o-transform: translateY(9px);
		transform: translateY(9px);
	}

	/* nav_btn open */
	#header.nav_open .nav_btn::before {
		opacity: 0;
	}
	#header.nav_open .nav_btn a::before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.nav_open .nav_btn a::after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}
	#header.nav_open::after {
		opacity: 1;
	}

	/* search_btn */
	#header .search_btn {
		position: absolute;
		right: 60px;
		top: 0;
		z-index: 5;
	}
	#header .search_btn::before {
		content: "";
		position: absolute;
		top: 15px;
		right: -1px;
		bottom: 15px;
		border-right: 1px solid #262626;
		pointer-events: none;
	}
	#header .search_btn a {
		position: relative;
		display: block;
		padding: 15px 10px;
	}
	#header .search_btn a svg {
		width: 30px;
		height: 30px;
		-webkit-transition: opacity 0.3s;
		-o-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}
	#header .search_btn a::before,
	#header .search_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 24px;
		height: 3px;
		margin-top: -1px;
		margin-left: -12px;
		background-color: #fff;
		border-radius: 3px;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		opacity: 0;
	}
	#header .search_btn a:after {
	}

	/* search_btn open */
	#header.search_open .search_btn a svg {
		opacity: 0;
	}
	#header.search_open .search_btn a::before,
	#header.search_open .search_btn a::after {
		opacity: 1;
	}
	#header.search_open .search_btn a::after {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	/* nav */
	#header nav {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		max-height: 100vh;
		padding-top: 60px;
		background-color: #000000;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	body.init #header nav {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	/* open */
	#header.nav_open nav {
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		-o-transform: translateY(0%);
		transform: translateY(0%);
		z-index: 2;
	}

	/* a */
	#header nav a {
		position: relative;
		display: block;
		font-size: 1.6rem;
		text-decoration: none;
		color: #000;
	}

	/* lnav */
	#header nav .lnav {
		padding: 25px 20px 0;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	#header nav .lnav > li {
		width: calc(50% - 6px);
	}
	#header nav .lnav > li > a {
		text-align: center;
		padding: 15px 0;
		border: 1px solid #202020;
		color: #e3e3e3;
	}
	#header nav .lnav > .global > a::after {
		content: "";
		display: inline-block;
		vertical-align: middle;
		margin-left: 10px;
		margin-top: -3px;
		border-style: solid;
		border-width: 6px 3px 0 3px;
		border-color: #e3e3e3 transparent transparent transparent;
	}
	#header nav .lnav .dd {
		position: relative;
		overflow: hidden;
		height: 0;
		opacity: 0;
		width: calc(200% + 12px);
	}
	#header nav .lnav .dd ul {
		padding-top: 5px;
	}
	#header nav .lnav .dd li + li {
		margin-top: 3px;
	}
	#header nav .lnav .dd a {
		padding: 10px 12px;
		color: #e3e3e3;
		background-color: #222;
		font-size: 1.4rem;
	}
	body.init #header nav .lnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}
	body.init #header nav .lnav > .global > a::after {
		-webkit-transition: -webkit-transform 0.3s ease-in-out;
		-o-transition: -o-transform 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out;
	}
	#header nav .lnav a.open::after {
		-webkit-transform: translateY(-1px) rotate(180deg);
		-ms-transform: translateY(-1px) rotate(180deg);
		-o-transform: translateY(-1px) rotate(180deg);
		transform: translateY(-1px) rotate(180deg);
	}
	#header nav .lnav a.open + .dd {
		opacity: 1;
	}



	/* hnav */
	#header nav .hnav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 0 20px 25px;
	}
	#header nav .hnav li {
		margin-top: 12px;
		width: calc(50% - 6px);
	}
	#header nav .hnav .login,
	#header nav .hnav .contact {
		width: calc(50% - 6px);
	}
	#header nav .hnav li a {
		text-align: center;
		padding: 16px;
		background-color: #414141;
		color: #fff;
	}
	#header nav .hnav .login a {
		background-color: #024085;
	}
	#header nav .hnav .contact a {
		background-color: #dc000c;
	}
	#header nav .hnav li {
		display: none;
	}
	#header nav .hnav .login,
	#header nav .hnav .contact {
		display: block;
	}

	/* gnav */
	#header nav .gnav {
		background-color: #fff;
	}
	#header nav .gnav li {
		border-bottom: 1px solid #b2b2b2;
	}
	#header nav .gnav li a {
		padding: 18px 35px 18px 20px;
	}
	#header nav .gnav li a::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 26px;
		width: 12px;
		height: 12px;
		margin-top: -6px;
		border-top: 3px solid #e6e6e6;
		border-right: 3px solid #e6e6e6;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#header nav .gnav li.has_dd > a::before,
	#header nav .gnav li.has_dd > a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 20px;
		height: 0;
		margin-top: -1px;
		border-top: 3px solid #e6e6e6;
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
	}
	#header nav .gnav li.has_dd > a::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	#header nav .gnav .dd {
		position: relative;
		overflow: hidden;
		height: 0;
	}
	#header nav .gnav .dd ul {
	}
	#header nav .gnav .dd li {
		border-top: 1px solid #b2b2b2;
		border-bottom: 0;
	}
	#header nav .gnav .dd a {
		padding-left: 40px;
	}
	body.init #header nav .gnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}
	body.init #header nav .gnav li.has_dd > a::after {
		-webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, -o-transform 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
	}
	#header nav .gnav li.has_dd > a.open::after {
		opacity: 0;
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
	}

	/* search_form */
	#header .search_form {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		max-height: 100vh;
		padding-top: 60px;
		background-color: #262626;
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	body.init #header .search_form {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}
	/* open */
	#header.search_open .search_form {
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		-o-transform: translateY(0%);
		transform: translateY(0%);
		z-index: 2;
	}

	/* form */
	#header .search_form form {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	#header .search_form form input[type=search] {
		width: calc(100% - 60px);
		height: 60px;
		background-color: #262626;
		border: 0;
		padding: 0 20px;
		color: #fff;
	}
	#header .search_form form ::-webkit-input-placeholder {
		color: #808080;
		font-size: 1.4rem;
	}
	#header .search_form form :-ms-input-placeholder {
		color: #808080;
		font-size: 1.4rem;
	}
	#header .search_form form ::-moz-placeholder {
		color: #808080;
		font-size: 1.4rem;
	}
	#header .search_form form button {
		width: 60px;
		height: 60px;
		padding: 0;
		background-color: #262626;
		border: 0;
		border-left: 1px solid #464646;
	}
	#header .search_form form button svg {
		width: 30px;
		height: 30px;
	}
	#header .search_form .close {
		display: none;
	}
}
@media screen and (max-width: 370px) {
	#header::before {
		height: 50px;
	}
	#header .logo a {
		padding: 10px 15px;
	}

	/* nav_btn */
	#header .nav_btn {
		width: 50px;
		height: 50px;
	}
	#header .nav_btn a {
		height: 50px;
	}

	/* search_btn */
	#header .search_btn {
		right: 50px;
	}
	#header .search_btn::before {
		top: 10px;
		bottom: 10px;
	}
	#header .search_btn a {
		padding: 10px 5px;
	}

	/* nav */
	#header nav a {
		font-size: 1.5rem;
	}
	#header nav,
	#header .search_form {
		padding-top: 50px;
	}
	#header nav .lnav,
	#header nav .hnav {
		padding-right: 15px;
		padding-left: 15px;
	}
}


/* footer
============================================================================================================ */
#footer {
	padding-top: 60px;
	background-color: #1a1a1a;
	color: #fff;
}
#footer a {
	text-decoration: none;
}
@media screen and (min-width: 769px), print {
	#footer a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width: 768px) {
	#footer {
		padding-top: 25px;
	}
}

/* nav
------------------------------------------------------------- */
#footer .nav {
	position: relative;
}
#footer .nav nav {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
#footer .nav nav dt {
	margin-bottom: 10px;
	font-size: 1.4rem;
	opacity: 0.5;
}
#footer .nav nav dd {
	margin-left: 12px;
}
#footer .nav nav ul {
	border-left: 1px solid #474747;
}
#footer .nav nav a {
	display: block;
	padding: 6x 12px;
	font-size: 1.2rem;
	color: #fff;
}
#footer .nav nav ul svg{width:20px;height:20px;margin-right:5px;}
@media screen and (min-width: 769px), print {
	#footer .nav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		margin-bottom: 60px;
	}
	#footer .nav nav {
		padding-top: 10px;
	}
	#footer .nav nav dl {
		width: 200px;
	}
}
@media screen and (max-width: 768px) {
	#footer .nav {
		padding: 0 20px 20px;
	}
	#footer .nav .logo {
		margin-bottom: 20px;
	}
	#footer .nav .logo:first-child {
		padding-top: 5px;
	}
	#footer .nav .logo img {
		width: 140px;
	}
	#footer .nav nav {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#footer .nav nav dl {
		width: 50%;
		padding-bottom: 20px;
	}
	#footer .nav nav dl:last-child {
		width: 100%;
	}
	#footer .nav nav dl li + li {
		margin-top: 8px;
	}
}

/* snav
------------------------------------------------------------- */
#footer .snav {
	background-color: #000000;
	border-bottom: 1px solid #333333;
	padding: 15px;
	font-size: 1.2rem;
}
#footer .snav ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
#footer .snav ul a {
	color: #ccc;
}
@media screen and (min-width: 769px), print {
	#footer .snav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}
	#footer .snav ul li {
		padding: 0 10px;
	}
}
@media screen and (max-width: 768px) {
	#footer .snav {
		padding: 20px 0 12px;
		font-size: 1rem;
	}
	#footer .snav ul a {
		display: block;
		margin-bottom: 8px;
		padding: 3px 10px;
	}
}

/* copyright
------------------------------------------------------------- */
#footer small {
	display: block;
	background-color: #000000;
	padding: 15px;
	color: #ccc;
	font-size: 1rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#footer small {
		padding: 22px 0;
	}
}
@media screen and (max-width: 370px) {
	#footer small {
		padding-right: 40px;
	}
}

/* ページトップ
------------------------------------------------------------- */
#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 85px;
	height: 85px;
	z-index: 1000;
}
#pagetop a {
	display: block;
	width: 45px;
	height: 45px;
	background-color: #fff;
	-webkit-box-shadow: 0 3px 3px rgba(0,0,0,.2);
	box-shadow: 0 3px 3px rgba(0,0,0,.2);
	-webkit-transform: translateX(90px);
	-ms-transform: translateX(90px);
	-o-transform: translateX(90px);
	transform: translateX(90px);
}
body.init #pagetop a {
	-webkit-transition: -webkit-transform 0.3s ease-in-out, background .2s ease-in-out;
	-o-transition: -o-transform 0.3s ease-in-out, background .2s ease-in-out;
	transition: transform 0.3s ease-in-out, background .2s ease-in-out;
}
#pagetop.show a {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
#pagetop a > span {
	overflow: hidden;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 16px;
	margin-left: -8px;
}
#pagetop a > span::before,
#pagetop a > span::after {
	content: "";
	position: absolute;
	top: 12px;
	left: 50%;
	width: 100%;
	height: 100%;
	border-top: 3px solid #000000;
	border-left: 3px solid #000000;
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transform: scaleY(0.8) rotate(45deg);
	-ms-transform: scaleY(0.8) rotate(45deg);
	-o-transform: scaleY(0.8) rotate(45deg);
	transform: scaleY(0.8) rotate(45deg);
}
#pagetop a > span::after {
	top: 22px;
}
@media print {
	#pagetop {
		display: none;
	}
}
@media screen and (min-width: 769px), print {
	#pagetop a:hover {
		background-color: #e3e3e3;
	}
}
@media screen and (max-width: 768px) {
	#pagetop {
		width: 50px;
		height: 65px;
	}
	#pagetop a {
		width: 40px;
		height: 40px;
		-webkit-transform: translateX(55px);
		-ms-transform: translateX(55px);
		-o-transform: translateX(55px);
		transform: translateX(55px);
	}
	#pagetop a > span::before {
		top: 11px;
	}
	#pagetop a > span::after {
		top: 20px;
	}
}



/* container
============================================================================================================ */
#container {
	padding-top: 110px;
	font-size: 1.4rem;
}
.print_page #container {
	padding-top: 0;
}
@media screen and (max-width: 768px) {
	#container {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-direction: column;
		padding-top: 60px;
	}
}
@media screen and (max-width: 370px) {
	#container {
		padding-top: 50px;
	}
}


/* bottom_sns
============================================================================================================ */
.bottom_sns {
	margin: 80px 0 26px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bottom_sns li {
	padding: 0 18px;
}
.bottom_sns a svg,
.bottom_sns a img {
	width: 38px;
	height: 38px;
}
.bottom_sns a {
	color: #535353;
}
.bottom_sns .material-icons {
	vertical-align: middle;
	color: #535353;
}
@media screen and (min-width: 769px), print {
	.bottom_sns a:hover {
		opacity: .7;
	}
}
@media screen and (max-width: 768px) {
	.bottom_sns {
		margin-top: 60px;
	}
}


/* bottom_btn
============================================================================================================ */
.bottom_btn {
	margin-top: 80px;
}
ul.bottom_btn {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
@media screen and (min-width: 769px), print {
	ul.bottom_btn > * {
		padding: 0 10px;
	}
}
@media screen and (max-width: 768px) {
	.bottom_btn {
		margin-top: 50px;
	}
	ul.bottom_btn {
		justify-content: space-between;
	}
	ul.bottom_btn > * {
		width: calc(50% - 5px);
	}
}




/* ===================================================================================================================

	カラーバリエーション

=================================================================================================================== */

/* blue */
.color-blue {
	color: #024085 !important;
}
.color-blue2 {
	color: #809ec2 !important;
}
.color-blue3 {
	color: #ccd8e7 !important;
}
.color-blue4 {
	color: #ebeff5 !important;
}
.bg-blue {
	background-color: #024085 !important;
}
.bg-blue2 {
	background-color: #809ec2 !important;
}
.bg-blue3 {
	background-color: #ccd8e7 !important;
}
.bg-blue4 {
	background-color: #ebeff5 !important;
}
.border-blue {
	border: 1px solid #024085 !important;
}
.border-blue2 {
	border: 1px solid #809ec2 !important;
}
.border-blue3 {
	border: 1px solid #ccd8e7 !important;
}
.border-blue4 {
	border: 1px solid #ebeff5 !important;
}

/* red */
.color-red {
	color: #dc000c !important;
}
.color-red2 {
	color: #ed7f85 !important;
}
.color-red3 {
	color: #f8ccce !important;
}
.color-red4 {
	color: #fcebeb !important;
}
.bg-red {
	background-color: #dc000c !important;
}
.bg-red2 {
	background-color: #ed7f85 !important;
}
.bg-red3 {
	background-color: #f8ccce !important;
}
.bg-red4 {
	background-color: #fcebeb !important;
}
.border-red {
	border: 1px solid #dc000c !important;
}
.border-red2 {
	border: 1px solid #ed7f85 !important;
}
.border-red3 {
	border: 1px solid #f8ccce !important;
}
.border-red4 {
	border: 1px solid #fcebeb !important;
}

/* black */
.color-black {
	color: #000 !important;
}
.color-black2 {
	color: #1a1a1a !important;
}
.color-black3 {
	color: #414141 !important;
}
.color-black4 {
	color: #808080 !important;
}
.bg-black {
	background-color: #000 !important;
}
.bg-black2 {
	background-color: #1a1a1a !important;
}
.bg-black3 {
	background-color: #414141 !important;
}
.bg-black4 {
	background-color: #808080 !important;
}
.border-black {
	border: 1px solid #000 !important;
}
.border-black2 {
	border: 1px solid #1a1a1a !important;
}
.border-black3 {
	border: 1px solid #414141 !important;
}
.border-black4 {
	border: 1px solid #808080 !important;
}

/* white */
.color-white {
	color: #fff !important;
}
.color-white2 {
	color: #d5d5d5 !important;
}
.color-white3 {
	color: #e3e3e3 !important;
}
.color-white4 {
	color: #f7f7f7 !important;
}
.bg-white {
	background-color: #fff !important;
}
.bg-white2 {
	background-color: #d5d5d5 !important;
}
.bg-white3 {
	background-color: #e3e3e3 !important;
}
.bg-white4 {
	background-color: #f7f7f7 !important;
}
.border-white {
	border: 1px solid #fff !important;
}
.border-white2 {
	border: 1px solid #d5d5d5 !important;
}
.border-white3 {
	border: 1px solid #e3e3e3 !important;
}
.border-white4 {
	border: 1px solid #f7f7f7 !important;
}



/* ===================================================================================================================

	共通モジュール

=================================================================================================================== */

/* text-align
============================================================================================================ */
.text-left {
	text-align: left !important;
}
.text-center {
	text-align: center !important;
}
.text-right {
	text-align: right !important;
}

/* vartical-align
============================================================================================================ */
.v-center {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	height: 100%;
}
.v-center > * {
	width: 100%;
}
.v-bottom {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: flex-end;
	align-items: flex-end;
	height: 100%;
}
.v-bottom > * {
	width: 100%;
}

/* text-indent */
.txt-indent {
  text-indent: -1em;
  padding-left: 1em;
}

/* marker */
.marker-blue {
  background:linear-gradient(transparent 60%, #ccd8e7 60%);
}
.marker-red {
  background:linear-gradient(transparent 60%, #f8ccce 60%);
}

/* title
============================================================================================================ */
/* title_h1 */
.title_h1 {
	position: relative;
	margin: 60px 0 40px;
	padding-bottom: 16px;
	padding-left: .1em;
	text-align: center;
	border-bottom: 1px solid #959595;
	font-size: 3rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.title_h1::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 50%;
	width: 50px;
	margin-left: -25px;
	border-bottom: 1px solid #dc000c;
}
@media screen and (max-width: 768px) {
	.title_h1 {
		margin: 40px 0 32px;
		font-size: 2.4rem;
	}
}

/* title_h2 */
.title_h2 {
	position: relative;
	margin: 40px 0 32px;
	padding-bottom: 16px;
	border-bottom: 1px solid #959595;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	.title_h2 {
	}
}

/* title_h3 */
.title_h3 {
	position: relative;
	margin: 40px 0 32px;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}
.title_h3:first-child {
	margin-top: 0;
}
.title_h3 .s {
	font-weight: normal;
	font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
	.title_h3 {
		font-size: 1.8rem;
	}
	.title_h3 .s {
		font-size: 1.2rem;
	}
}

/* title_h4 */
.title_h4 {
	position: relative;
	margin: 40px 0 32px;
	padding: 2px 0 2px 16px;
	border-left: 2px solid #dc000c;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 500;
}
.title_h4.blue {
	border-left-color: #004285;
}
.title_h4:first-child {
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	.title_h4 {
	}
}

/* title_border_b */
.title_border_b {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 6px;
	border-bottom: 2px solid #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	.title_border_b {
	}
}

/* title_border_m */
.title_border_m {
	margin-bottom: 30px;
	padding: 0 20px 10px;
	border-bottom: 2px solid #b3b3b3;
	font-size: 1.6rem;
	font-weight: 700;
	color: #004285;
}
@media screen and (max-width: 768px) {
	.title_border_m {
		margin: 0 -10px 20px;
		padding: 0 10px 10px;
		border-bottom-width: 1px;
		font-size: 1.4rem;
		font-weight: 700;
		color: #004285;
	}
}

/* title_border_l */
.title_border_l {
	margin: 40px 0 32px;
	padding-left: 20px;
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 500;
	border-left: 2px solid #0a407e;
}
@media screen and (max-width: 768px) {
	.title_border_l {
		/*padding-left: 16px;*/
		padding-left: 0;
		border-left: 0;
		font-size: 2.4rem;
	}
}

/* title_box */
.title_box {
	margin: 80px 0 32px;
	padding: 6px 20px;
	background-color: #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
	color: #fff;
}
.products_section > .title_box:first-child {
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	.title_box {
		margin-top: 50px;
	}
}

/* title_box_outline */
.title_box_outline {
	margin-bottom: 40px;
	padding: 6px 16px;
	font-weight: 700;
	color: #063F85;
	border: 1px solid #063F85;
	font-size: 1.6rem;
}

/* title_border_ms */
.title_border_ms {
	margin-bottom: 25px;
	padding-bottom: 10px;
	border-bottom: 1px solid #808080;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 500;
	color: #808080;
}
@media screen and (max-width: 768px) {
	.title_border_ms {
		margin-bottom: 15px;
	}
}

/* title_btn */
.title_btn {
	position: relative;
}
.title_btn ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.title_btn ul li {
	margin-left: 20px;
}
.title_btn ul a {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
}
.title_btn ul a.catalog {
	color: #DC000C;
}
.title_btn ul a.catalog svg {
	margin-bottom: 2px;
	width: 24px;
	height: 24px;
	margin-right: 4px;
	vertical-align: middle;
}
.title_btn ul a.faq {
	color: #808080;
}
.title_btn ul a.faq svg {
	margin-bottom: 2px;
	width: 23px;
	height: 23px;
	margin-right: 8px;
	vertical-align: middle;
	opacity: 0.8;
}
@media screen and (min-width: 769px), print {
	.title_btn ul {
		position: absolute;
		right: 0;
		top: -85px;
	}
	.title_h2 + .title_btn ul {
		top: -75px;
	}
}
@media screen and (max-width: 768px) {
	.title_btn {
		margin-top: -16px;
		margin-bottom: 24px;
	}
	.title_btn ul {
		justify-content: flex-end;
	}
	.title_btn ul li {
		margin-left: 12px;
	}
	.title_btn ul a.catalog svg {
		width: 16px;
		height: 16px;
		margin-right: 2px;
	}
	.title_btn ul a.faq svg {
		width: 16px;
		height: 16px;
		margin-right: 4px;
	}
}

/* lead_text */
.lead_text {
	margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
	.lead_text {
		margin-bottom: 30px;
	}
}


/* btn
============================================================================================================ */
a.btn,
a .btn,
button.btn {
	position: relative;
	width: 300px;
	max-width: 100%;
	height: 50px;
	padding: 0 25px 0 15px;
	background-color: #004285;
	border: 0;
	color: #fff;
	text-decoration: none !important;
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: center;
	font-weight: 500;
}
a.btn,
a .btn {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
}
a.btn.red,
a .btn.red,
button.btn.red {
	background-color: #dc000c;
}
a.btn.gray,
a .btn.gray,
button.btn.gray {
	background-color: #808080;
}
a.btn.dark_gray,
a .btn.dark_gray,
button.btn.dark_gray {
	background-color: #535353;
}
a.btn.black,
a .btn.black,
button.btn.black {
	background-color: #000;
}
a.btn.border,
a .btn.border,
button.btn.border {
	background-color: #fff;
	color: #000;
	border: 2px solid #a8a8a8;
}
a.btn::after,
a .btn::after,
button.btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}
a.btn.arrow_l::after,
a .btn.arrow_l::after,
button.btn.arrow_l::after {
	right: auto;
	left: 2px;
	-webkit-transform: scaleX(0.7) rotate(225deg);
	-ms-transform: scaleX(0.7) rotate(225deg);
	-o-transform: scaleX(0.7) rotate(225deg);
	transform: scaleX(0.7) rotate(225deg);
}
a.btn.border::after,
a .btn.border::after,
button.btn.border::after {
	border-color: #535353;
}
a.btn.no-arrow,
button.btn.no-arrow {
	padding-right: 15px;
}
a.btn.no-arrow::after,
a .btn.no-arrow::after,
button.btn.no-arrow::after {
	content: none;
}
a.btn.center,
a .btn.center,
button.btn.center {
	margin-right: auto;
	margin-left: auto;
}
.close a.btn {
	background-color: #fff;
	color: #000;
	border: 1px solid #000;
}
.close a.btn::after {
	content: none;
}
.close a.btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 12px;
	margin-top: -1px;
	border-top: 2px solid #535353;
}
a.btn .pdf,
a .btn .pdf {
	width: 22px;
	height: 22px;
	margin-right: 10px;
	vertical-align: middle;
}
a.btn .faq,
a .btn .faq {
	width: 20px;
	height: 20px;
	margin-right: 10px;
	vertical-align: middle;
}
a.btn.download,
a .btn.download {
	padding-right: 20px;
}
a.btn.download::before,
a .btn.download::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 15px;
	height: 15px;
	margin-top: -7.5px;
	background: url(../img/ico_download.svg) no-repeat;
	-webkit-background-size: 15px;
	background-size: 15px;
}
@media screen and (min-width: 769px), print {
	body.init a[href] .btn {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	a.btn[href]:hover,
	a[href]:hover .btn,
	button.btn:hover {
		opacity: .7;
	}
	a.btn.s,
	a .btn.s,
	.btn_horizontal.s a.btn {
		width: 150px;
		height: 32px;
		padding: 0 15px;
		font-size: 1.2rem;
	}
	a.btn.s::after,
	a .btn.s::after,
	.btn_horizontal.s a.btn::after {
		right: 8px;
		width: 7px;
		height: 7px;
		border-top-width: 2px;
		border-right-width: 2px;
	}
	.close a.btn.s {
		padding-left: 10px;
		padding-right: 0;
	}
	.close a.btn[href]:hover {
		background-color: #eeeeee;
		opacity: 1;
	}
	a.btn.l,
	a .btn.l,
	.btn_horizontal.l a.btn {
		width: 700px;
		height: 70px;
	}
}
@media screen and (max-width: 768px) {
	a.btn,
	a .btn,
	button.btn {
		width: 100%;
		min-height: 50px;
		height: auto;
		padding: 0 20px 0 10px;
		font-size: 1.4rem;
	}
	a.btn.no-arrow,
	a .btn.no-arrow,
	button.btn.no-arrow {
		padding-right: 10px;
	}
	.close a.btn::before {
		width: 20px;
	}

	.sp_open a.btn {
		background-color: transparent;
		border: 1px solid #004285;
		color: #004285;
	}
	.sp_open a.btn::before,
	.sp_open a.btn::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 10px;
		right: auto;
		width: 20px;
		height: 0;
		margin-top: -1px;
		border-top: 2px solid #004285;
		border-right: 0;
		-webkit-transform-origin: 50%;
		-moz-transform-origin: 50%;
		-ms-transform-origin: 50%;
		-o-transform-origin: 50%;
		transform-origin: 50%;
	}
	.sp_open a.btn::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.open .sp_open a.btn::after,
	.sp_open a.btn.open::after {
		opacity: 0;
	}
	.open .sp_open a.btn span span,
	.sp_open a.btn.open span span {
		display: none;
	}
	.open .sp_open a.btn span::after,
	.sp_open a.btn.open span::after {
		content: "閉じる";
	}
	body.init .sp_open a.btn::after {
		-webkit-transition: opacity 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out;
	}

}

.btn_horizontal {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
.btn_horizontal li {
	margin: 0 !important;
	padding: 0 12px !important;
}
.btn_horizontal.s li {
	padding: 0 6px !important;
}
.btn_horizontal li::before {
	content: none !important;
}
@media screen and (min-width: 769px), print {
	.btn_horizontal:not(.s) {
		margin-left: -12px;
		margin-right: -12px;
	}
	.btn_horizontal:not(.s) li {
		width: 33.33%;
		max-width: 324px;
	}
	.btn_horizontal:not(.s) li .btn {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.btn_horizontal {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sp_btn_horizontal {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.btn_horizontal li,
	.sp_btn_horizontal li {
		width: calc(50% - 7px) !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.btn_horizontal li:nth-child(2) ~ *,
	.sp_btn_horizontal li:nth-child(2) ~ * {
		margin-top: 14px !important;
	}
	.btn_horizontal.s li,
	.sp_btn_horizontal.s li {
		padding: 0 !important;
	}
	.btn_horizontal a.btn,
	.sp_btn_horizontal a.btn {
		font-size: 1.2rem;
	}

	.btn_horizontal.sp_btn_vertical li {
		width: 100% !important;
	}
	.btn_horizontal.sp_btn_vertical li  ~ *{
		margin-top: 14px !important;
	}
	.btn_horizontal.sp_btn_vertical li a {
		font-size: 1.4rem;
	}
}


.back_link {
	margin-top: 70px;
}
.back_link.has_border {
	padding-top: 60px;
	border-top: 1px solid #e6e6e6;
}
@media screen and (max-width: 768px) {
	.back_link {
		margin-top: 40px;
	}
	.back_link.has_border {
		padding-top: 30px;
	}
}

/* ico
============================================================================================================ */
.ico_blank::after {
	content: "";
	display: inline-block;
	margin-left: 5px;
	width: 10px;
	height: 10px;
	background: url(../img/ico_blank.svg) no-repeat;
}
.ico_catalog {
	position: relative;
	display: inline-block;
	padding-left: 20px;
}
.ico_catalog::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 15px;
	height: 21px;
	margin-right: 6px;
	background: url(../img/ico_catalog.svg) no-repeat;
	vertical-align: middle;
}

/* status_ico
============================================================================================================ */
.status_ico {
	display: table;
	width: 118px;
	padding: 5px 10px;
	text-align: center;
	font-size: 1rem;
	white-space: nowrap;
	font-weight: bold;
	border: 1px solid;
	color: #DC000C;
}
.status_ico.cat01 {
	color: #028e9f;
}
.status_ico.cat02 {
	color: #167121;
}
.status_ico.cat03 {
	color: #da8500;
}
.status_ico.cat04 {
	color: #9f025e;
}

/* pd_block
============================================================================================================ */
.pd_block {
	margin-top: 60px;
	padding: 60px 0;
}
@media screen and (max-width: 768px) {
	.pd_block {
		margin-top: 40px;
		padding: 40px 0;
	}
}

/* mt_block
============================================================================================================ */
.mt_block {
	margin-top: 40px;
}
@media screen and (max-width: 768px) {
	.mt_block {
		margin-top: 20px;
	}
	.mt_block.sp_high {
		margin-top: 40px;
	}
}

/* bg_box
============================================================================================================ */
.bg_box {
	margin-bottom: 40px;
	padding: 30px 40px 40px;
	background-color: #f4f4f4;
}
.bg_box.p50 {
	padding: 50px;
}
@media screen and (max-width: 768px) {
	.bg_box {
		padding: 15px 20px 20px;
	}
	.bg_box.p50 {
		padding: 20px;
	}
}

/* contents_search
============================================================================================================ */
.contents_search {
	position: relative;
	margin-bottom: 60px;
}
.contents_search form,
.contents_search .search_input {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
.contents_search form input[type=search] {
	width: 263px;
	height: 28px;
	background-color: #fff;
	border: 1px solid #000;
	border-left-width: 3px;
	border-right-width: 0;
	padding: 0 0.8em;
}
.contents_search form button {
	width: 30px;
	height: 28px;
	padding: 0;
	background-color: #000;
	border: 0;
}
.contents_search form button svg {
	width: 22px;
	height: 22px;
}
@media screen and (min-width: 769px), print {
	.contents_search form button:hover {
		opacity: .7;
	}
	.contents_search .form_select {
		position: absolute;
		right: 0;
		top: 0;
	}
}
@media screen and (max-width: 768px) {
	.contents_search {
		margin-bottom: 30px;
	}
	.contents_search .select_in_form {
		display: block;
	}
	.contents_search form input[type=search] {
		width: calc(100% - 40px);
		height: 40px;
	}
	.contents_search form button {
		width: 46px;
		height: 40px;
	}
	.contents_search form button svg {
		width: 28px;
		height: 28px;
	}
	.contents_search .form_select {
		margin-top: -10px;
		margin-bottom: 20px;
	}
	.contents_search .form_select select {
		width: 100%;
	}
	.title_btn + .contents_search .form_select {
		position: absolute;
		left: 0;
		top: -50px;
		width: calc(100% - 170px);
		margin: 0;
	}
}

/* contents_narrow
============================================================================================================ */
.contents_narrow {
	position: relative;
	margin-bottom: 30px;
}
@media screen and (min-width: 769px), print {
	.contents_narrow .form_select {
		display: table;
		margin-left: auto;
	}
	.title_h1 + .contents_narrow {
		margin-top: -8px;
	}
}
@media screen and (max-width: 768px) {
	.contents_narrow .form_select select {
		width: 100%;
	}
}

/* page_tab
============================================================================================================ */
.page_tab {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-bottom: 40px;
}
.page_tab li {
	width: 100%;
}
.page_tab li + li {
	border-left: 1px solid #F7F7F7;
}
.page_tab li a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 48px;
	background-color: #F7F7F7;
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 500;
	text-decoration: none;
	color: #808080;
}
.page_tab li a.current {
	background-color: #004285;
	color: #fff;
	-webkit-box-shadow: 0 3px 6px rgba(0,0,0,.16);
	box-shadow: 0 3px 6px rgba(0,0,0,.16);
}
@media screen and (min-width: 769px), print {
	.page_tab li a:hover {
		background-color: #004285;
		color: #fff;
	}
}
@media screen and (max-width: 768px) {
	.page_tab {
		margin-bottom: 32px;
	}
	.page_tab li a {
		font-size: 1.3rem;
	}
}

/* inner_simple_vartical_nav
============================================================================================================ */
.inner_simple_vartical_nav li + li {
	margin-top: 0.8em;
}
@media screen and (min-width: 769px), print {
	.inner_simple_vartical_nav {
		font-size: 1.6rem;
	}
}



/* module_block
============================================================================================================ */
.module_block > *,
.module_block .border_box > *,
.module_block .color_box > * {
	margin-bottom: 1.7em;
}
.module_block > *:last-child,
.module_block .border_box > *:last-child,
.module_block .color_box > *:last-child {
	margin-bottom: 0;
}
.module_block img {
	max-width: 100%;
	height: auto;
}
.module_block a:hover img {
	opacity: .7;
}
.module_block h1 {
	margin-top: 40px;
	margin-bottom: 20px;
	padding: 6px 20px;
	background-color: #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
	color: #fff;
}
.module_block h2 {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-left: 16px;
	border-left: 5px solid #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}
.module_block h3 {
	margin-top: 30px;
	margin-bottom: 20px;
	padding: 6px 16px;
	font-weight: 700;
	color: #063F85;
	border: 1px solid #063F85;
	font-size: 1.6rem;
}
.module_block h4 {
	position: relative;
	margin-top: 30px;
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 1.6rem;
}
.module_block h1:first-child,
.module_block h2:first-child,
.module_block h3:first-child,
.module_block h4:first-child {
	margin-top: 0;
}
.module_block h1.no_style,
.module_block h2.no_style,
.module_block h3.no_style,
.module_block h4.no_style {
	padding: 0;
	background: none;
	border: 0;
}
.module_block h4.bdr_style {
	display: flex;
	align-items: center;
}
.module_block h4.bdr_style:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	margin-left: 16px;
	background-color: #063f85;
}

.module_block ul li {
	position: relative;
	padding-left: 1em;
}
.module_block ul li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #707070;
}
.module_block ul li + li,
.module_block ul ul,
.module_block ol ul {
	margin-top: .5em;
}
.module_block ul ul li::before {
	width: 5px;
	height: 5px;
	background-color: #bbb;
}
.module_block ul ul ul li::before {
	content: "・";
	top: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
}
.module_block ul.no_style li::before {
	content: none;
}
.module_block ul.no_style > li {
	padding-left: 0;
}

.module_block ol {
	counter-reset: module_ol1;
}
.module_block ol > li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 1.5em;
}
.module_block ol > li::before {
	counter-increment: module_ol1;
	content: counter(module_ol1) ".";
	position: absolute;
	top: 0;
	left: 0;
}
.module_block ol ol {
	margin-top: .5em;
}
.module_block ol ol {
	counter-reset: module_ol2;
}
.module_block ol ol li {
	padding-left: 2.5em;
}
.module_block ol ol li::before {
	counter-increment: module_ol2;
	content: counter(module_ol1) "." counter(module_ol2) ".";
}
.module_block ol ol ol {
	counter-reset: module_ol3;
}
.module_block ol ol ol li {
	padding-left: 3.5em;
}
.module_block ol ol ol li::before {
	counter-increment: module_ol3;
	content: counter(module_ol1) "." counter(module_ol2) "." counter(module_ol3) ".";
}
.module_block ol ol ol ol {
	counter-reset: module_ol4;
}
.module_block ol ol ol ol li {
	padding-left: 4.5em;
}
.module_block ol ol ol ol li::before {
	counter-increment: module_ol4;
	content: counter(module_ol1) "." counter(module_ol2) "." counter(module_ol3) "." counter(module_ol4) ".";
}

.module_block dl dt {
	font-weight: bold;
	margin-bottom: .5em;
}
.module_block dl dd {
	margin-bottom: .5em;
	padding-left: 2em;
}
.module_block dl dd.no_indent {
	padding-left: 0;
}
@media screen and (min-width: 769px), print {
	.module_block dl.horizontal {
		display: table;
	}
	.module_block dl.horizontal > * {
		display: table-cell;
		vertical-align: top;
		margin: 0;
	}
	.module_block dl.horizontal dt {
		white-space: nowrap;
	}
}

.module_block .size_l {
	font-size: 1.6rem;
}
.module_block .size_s {
	font-size: 1.2rem;
}

.module_block .table {
	margin-right: -8px;
	margin-left: -8px;
}
.module_block table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 6px;
}
.module_block table th,
.module_block table td {
	padding: 10px 20px;
	vertical-align: middle;
	text-align: center;
}
.module_block table thead th {
	background-color: #809ec2;
	color: #fff;
	font-weight: bold;
}
.module_block table tbody th {
	background-color: #cdd7e2;
	font-weight: bold;
}
.module_block table tbody td {
	background-color: #f7f7f7;
}
.module_block .table.center table {
	margin-left: auto;
	margin-right: auto;
}
.bg_box .module_block table tbody td {
	background-color: #fff;
}
@media screen and (min-width: 769px), print {
	.module_block .table.scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 10px;
	}
	.module_block .table.small table {
		width: 40%;
	}
	.module_block .table.medium table {
		width: 70%;
	}
}
@media screen and (max-width: 768px) {
	.module_block .table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.module_block .table table {
		width: 800px;
	}
	.module_block .table.small table {
		width: 100%;
	}
	.module_block .table.medium table {
		width: 600px;
	}
	.module_block .table table.sp_no_scroll {
		width: 100%;
	}
	.module_block .table table.sp_no_scroll th,
	.module_block .table table.sp_no_scroll td {
		padding-right: 5px;
		padding-left: 5px;
	}
}

.module_block .border_box {
	padding: 24px 30px;
	border: 1px solid #707070;
}
.module_block .color_box {
	padding: 24px 30px;
	background-color: #ebebeb;
}
@media screen and (min-width: 769px), print {
	.module_block .border_box.center {
		margin-left: auto;
		margin-right: auto;
	}
	.module_block .border_box.small {
		width: 40%;
	}
	.module_block .border_box.medium {
		width: 70%;
	}
}
@media screen and (max-width: 768px) {
	.module_block .border_box {
		padding: 14px 20px;
	}
	.module_block .color_box {
		padding: 14px 20px;
	}
}

.module_block .hr {
	margin: 40px 0;
	border-top: 1px solid #004285;
}

.module_block .img_block {
	position: relative;
	text-align: center;
	font-size: 1.2rem;
}
.module_block .img_block p + p {
	margin-top: 10px;
}

.module_block .img_horizon {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	text-align: center;
}
.module_block .img_horizon li {
	margin: 0;
	padding: 10px;
}
.module_block .img_horizon li::before {
	content: none;
}

.module_block .margin-top {
	margin-top: 60px;
}
.module_block .margin-bottom {
	margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
	.module_block .margin-top {
		margin-top: 40px;
	}
	.module_block .margin-bottom {
		margin-bottom: 40px;
	}
}

@media screen and (min-width: 769px), print {
	.module_block .img_block {
		padding-bottom: 10px;
	}
	.module_block .img_right_block::after {
		content: "";
		display: table;
		clear: both;
	}
	.module_block .img_right_block .img_block {
		float: right;
		margin-left: 40px;
	}
	.module_block .img_right_block .img_block ~ * {
		margin-bottom: 1.7em;
	}
	.module_block .img_right_block .img_block ~ *:last-child {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	.module_block .img_right_block > * {
		margin-bottom: 1.7em;
	}
	.module_block .img_right_block > *:last-child {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 769px), print {
	.module_block .img_left_block::after {
		content: "";
		display: table;
		clear: both;
	}
	.module_block .img_left_block .img_block {
		float: left;
		margin-right: 40px;
	}
	.module_block .img_left_block .img_block ~ * {
		margin-bottom: 1.7em;
	}
	.module_block .img_left_block .img_block ~ *:last-child {
		margin-bottom: 0;
	}
	.module_block .img_left_block ul,
	.module_block .img_left_block ol {
		display: table;
	}
}
@media screen and (max-width: 768px) {
	.module_block .img_left_block > * {
		margin-bottom: 1.7em;
	}
	.module_block .img_left_block > *:last-child {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 769px), print {
	.module_block .outer_caption_block .img_block {
		padding-bottom: 0;
	}
	.module_block .outer_caption_block .img_block::before,
	.module_block .outer_caption_block .img_block::after {
		content: "";
		display: table;
		clear: both;
	}
	.module_block .outer_caption_block .img_block > * {
		background-color: #fff;
	}
	.module_block .outer_caption_block .img_block p + p {
		margin: 0;
	}
	.module_block .outer_caption_block .img_block .caption_top,
	.module_block .outer_caption_block .img_block .caption_bottom {
		position: absolute;
		left: 0;
		right: 0;
	}
	.module_block .outer_caption_block .img_block .caption_top {
		top: 0;
	}
	.module_block .outer_caption_block .img_block .caption_bottom {
		bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	.module_block .outer_caption_block .img_block {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.module_block .outer_caption_block .img_block .img {
		background-color: #fff;
	}
}



@media screen and (min-width: 769px), print {
	.column_block2 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		margin-left: -36px;
	}
	.column_block2 > * {
		width: calc(50% - 36px);
		margin-left: 36px;
	}
	.column_block2 + .column_block2:not(.margin-top) {
		margin-top: 40px;
	}
}
@media screen and (max-width: 768px) {
	.column_block2 > * + * {
		margin-top: 20px;
	}
	.column_block2 + .column_block2:not(.margin-top) {
		margin-top: 20px;
	}
}

@media screen and (min-width: 769px), print {
	.column_block3 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		margin-left: -36px;
	}
	.column_block3 > * {
		width: calc(33.33% - 36px);
		margin-left: 36px;
	}
}
@media screen and (max-width: 768px) {
	.column_block3 > * + * {
		margin-top: 20px;
	}
}

.module_block .download_block::after {
	content: "";
	display: table;
	clear: both;
}
.module_block .download_block .img {
	text-align: center;
}
.module_block .download_block .img img {
	-webkit-box-shadow: 0 3px 6px rgba(0,0,0,.16);
	box-shadow: 0 3px 6px rgba(0,0,0,.16);
}
.module_block .download_block .title {
	margin-bottom: 12px;
}
.module_block .download_block .btn {
	margin-top: 30px;
}
.module_block .download_block .notes {
	margin-top: 10px;
	font-size: 1rem;
	color: #808080;
}
@media screen and (min-width: 769px), print {
	.module_block .download_block .img {
		float: left;
		width: 167px;
	}
	.module_block .download_block .img ~ * {
		margin-left: 190px;
	}
}
@media screen and (max-width: 768px) {
	.module_block .download_block .img {
		margin-bottom: 20px;
	}
	.module_block .download_block .btn {
		margin-top: 20px;
	}
}

.accordion_block {
}
.accordion_block + .accordion_block {
	margin-top: 20px;
}
.module_block .accordion_block + .accordion_block {
	margin-top: calc(-1.7em + 20px);
}
.accordion_block .accordion_title,
.accordion_block .accordion_contents > * {
	position: relative;
	padding: 20px 60px 20px 20px;
	border: 1px solid #e3e3e3;
}
.accordion_block .accordion_title {
	font-weight: bold;
	cursor: pointer;
}
.accordion_block .accordion_title::before,
.accordion_block .accordion_title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 16px;
	border-top: 2px solid #004285;
	margin-top: -1px;
}
.accordion_block .accordion_title::after {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}
body.init .accordion_block .accordion_title {
	-webkit-transition: background 0.2s ease-in-out;
	-o-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
}
body.init .accordion_block .accordion_title::after {
	-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.accordion_block .accordion_title.open {
	background-color: #ccd8e7;
}
.accordion_block .accordion_title.open::after {
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
	transform: rotate(0);
	opacity: 0;
}
.accordion_block .accordion_contents {
	height: 0;
	overflow: hidden;
}
body.init .accordion_block .accordion_contents {
	-webkit-transition: height 0.3s ease-in-out;
	-o-transition: height 0.3s ease-in-out;
	transition: height 0.3s ease-in-out;
}
.accordion_block .accordion_contents > * {
	padding-right: 20px;
	padding-bottom: 30px;
	border-top-width: 0;
}
@media screen and (min-width: 769px), print {
	.accordion_block .accordion_title:hover {
		background-color: #ccd8e7;
	}
}
@media screen and (max-width: 768px) {
	.accordion_block + .accordion_block {
		margin-top: 10px;
	}
	.module_block .accordion_block + .accordion_block {
		margin-top: calc(-1.7em + 10px);
	}
	.accordion_block .accordion_title,
	.accordion_block .accordion_contents > * {
		padding: 10px 40px 10px 15px;
	}
	.accordion_block .accordion_title > .ico,
	.accordion_block .accordion_contents > * .ico {
		left: 10px;
		width: 20px;
		height: 20px;
		font-size: 1.1rem;
		padding-top: 1px;
	}
	.accordion_block .accordion_title::before,
	.accordion_block .accordion_title::after {
		right: 10px;
	}
	.accordion_block .accordion_contents > * {
		padding-right: 10px;
		padding-bottom: 20px;
	}
}

.module_block .youtube_iframe,
.module_block .youtube_iframe4_3 {
	position: relative;
}
@media screen and (max-width: 768px) {
	.module_block .youtube_iframe {
		padding-top: 56.25%;
	}
	.module_block .youtube_iframe4_3 {
		padding-top: 75%;
	}
	.module_block .youtube_iframe iframe,
	.module_block .youtube_iframe4_3 iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.module_block .link_block a:hover.border_box {
	color: #fff;
	background-color: #024085;
}
@media screen and (max-width: 768px) {
.module_block .link_block a.border_box {
	display: block;
}
}

.module_block .bgimg_block .bgimg {
  position: relative;
  padding: 40px 10px;
  background-position: 50%;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  background-size: contains;
}
.module_block .bgimg_block .bgimg:after {
  content: '';
  background-color: rgba(0,0,0,.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.module_block .bgimg_block .bgimg div,
.module_block .bgimg_block .bgimg a {
  z-index: 1;
  color: #fff;
  text-shadow: 0 0 10px #000;
}
.module_block .bgimg_block .v-center {
  height: auto;
}

.module_block .code_block .code_btn {
	text-align: right;
	line-height: 1;
}
.module_block .code_block .code_btn input {
	cursor: pointer;
	padding: 5px 10px;
	font-size: 1.2rem;
	color: #999;
	border-top: 0;
	border-bottom: 1px solid #999;
	border-left: 1px solid #999;
	border-right: 0;
	background-color: #1a1a1a;
}
.module_block .code_block .code_btn input:hover {
	background-color: #333;
}

.module_block .scrollbar {
  width: 100%;
  height: 15px;
  margin-bottom: 0;
  overflow-x: scroll;
  overflow-y: hidden;
}
.module_block .scrollbar .inner {
  height: 1px;
}
.module_block .scrollbox {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  overflow-x: scroll;
  overflow-y: hidden;
}
.module_block .scrollbar::-webkit-scrollbar,
.module_block .scrollbox::-webkit-scrollbar {
  height: 15px;
}
.module_block .scrollbar::-webkit-scrollbar-thumb,
.module_block .scrollbox::-webkit-scrollbar-thumb {
  background-color: #ccc;
}

.slide_block {
	position: relative;
	margin-bottom: 30px;
}
.slide_block:last-child {
	margin-bottom: 0;
}
.slide_block div {
	vertical-align: middle;
}
.slide_block img {
	max-width: 100%;
	height: auto;
	margin: auto;
}
.slide_block .slick-dots {
	margin-top: 5px;
	text-align: center;
}
.slide_block .slick-dots li {
	display: inline-block;
}
.slide_block .slick-dots li button {
	position: relative;
	overflow: hidden;
	width: 18px;
	height: 0;
	margin: 0;
	padding: 18px 0 0;
	border: 0;
	background: none;
}
.slide_block .slick-dots li button::after {
	content: "";
	position: absolute;
	top: 4px;
	right: 4px;
	bottom: 4px;
	left: 4px;
	background-color: #fff;
	border: 1px solid #004285;
	border-radius: 100%;
	-webkit-transition: background .2s;
	-o-transition: background .2s;
	transition: background .2s;
}
.slide_block .slick-dots li.slick-active button::after {
	background-color: #004285;
}
.module_block .slide_block ul li::before{
	display: none;
}
@media screen and (min-width: 769px), print {
	.slide_block .slick-dots li button:hover::after {
		background-color: #004285;
	}
}
/* Firefox only */
@-moz-document url-prefix() {
.column_block2 .slide_block,
.column_block3 .slide_block {
  border-right: thin solid #fff;
}
}



/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* breadcrumbs
============================================================================================================ */
.breadcrumbs {
	padding: 8px 0;
	background-color: #e3e3e3;
	font-size: 1rem;
	line-height: 1.8;
}
.breadcrumbs li::after {
	content: ">";
	margin-left: 0.4em;
}
.breadcrumbs li a {
	color: #000;
}
.breadcrumbs li:last-child {
	padding-right: 0;
}
.breadcrumbs li:last-child::after {
	content: none;
}

@media screen and (min-width: 769px), print {
	.breadcrumbs li {
		display: inline;
		margin-right: .3em;
	}
}
@media screen and (max-width: 768px) {
	.breadcrumbs {
		-webkit-order: 999;
		-moz-order: 999;
		-ms-order: 999;
		-o-order: 999;
		order: 999;
		font-size: 1.1rem;
	}
	.breadcrumbs ol li {
		display: inline;
		margin-right: .3em;
		line-height: 2.8;
	}
}


/* news_list
============================================================================================================ */
.news_list li + li {
	border-top: 1px solid #E3E3E3;
}
.news_list a {
	position: relative;
	display: block;
	padding: 15px 0;
	text-decoration: none;
	color: #000;
}
.news_list a .category {
	padding-bottom: 1px;
	text-align: center;
	border: 1px solid;
	color: #004285;
	font-size: 1rem;
}
.news_list a .category.cat00 {
	color: #000;
}
.news_list a .category.cat01 {
	color: #028e9f;
}
.news_list a .category.cat02 {
	color: #167121;
}
.news_list a .category.cat03 {
	color: #da8500;
}
.news_list a .category.cat04 {
	color: #9f025e;
}
.news_list a.pdf::after {
	content: "PDF";
	position: absolute;
	top: 19px;
	right: 0;
	width: 60px;
	padding: 2px 0;
	border: 2px solid #DC000C;
	border-radius: 12px;
	font-size: 1.4rem;
	color: #DC000C;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	transform-origin: 100% 0;
	-webkit-transform: scale(.5);
	-ms-transform: scale(.5);
	-o-transform: scale(.5);
	transform: scale(.5);
}
.news_list a.blank::after {
	content: "";
	position: absolute;
	top: 19px;
	right: 7px;
	width: 16px;
	height: 13px;
	background: url(../img/ico_blank2.svg) no-repeat;
	-webkit-background-size: 16px;
	background-size: 16px;
}
@media screen and (min-width: 769px), print {
	.news_list a {
		padding-right: 40px;
	}
	.news_list span {
		display: block;
	}
	.news_list a .date {
		float: left;
		width: 125px;
		padding-left: 5px;
	}
	.news_list a .category {
		float: left;
		width: 98px;
		margin-top: 2px;
	}
	.news_list a .title {
		margin-left: 242px;
	}
	.news_list a[href]:hover .title {
		text-decoration: underline;
	}
}
@media screen and (max-width: 768px) {
	.news_list a {
		font-size: 1.2rem;
	}
	.news_list a .category {
		display: inline-block;
		padding-right: 10px;
		padding-left: 10px;
		min-width: 96px;
		margin-left: 10px;
	}
	.news_list a.pdf::after {
		top: 16px;
	}
	.news_list a.blank::after {
		top: 16px;
	}
	.news_list a .title {
		display: block;
		margin-top: 10px;
	}
	.column_main > .news_list:first-child {
		margin-top: -15px;
	}
}




/* news_section
============================================================================================================ */
.news_section {
	position: relative;
}
.news_section .more {
	position: absolute;
}
.news_section .more a {
	position: relative;
	display: block;
	font-size: 1.2rem;
	padding-right: 20px;
	color: #535353;
}
.news_section .more a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #535353;
	border-right: 2px solid #535353;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}
@media screen and (min-width: 769px), print {
	.news_section {
		min-height: 90px;
	}
	.news_section .title_h4 {
		float: left;
	}
	.news_section > div {
		margin-left: 286px;
	}
	.news_section > div .news_list {
		position: relative;
		top: -10px;
		margin-bottom: -10px;
	}
	.news_section .more {
		left: 0;
		bottom: 20px;
	}
}
@media screen and (max-width: 768px) {
	.news_section .more {
		right: 0;
		top: 4px;
	}
	.news_section > div .news_list {
		margin-top: -15px;
	}
}



/* column_block
============================================================================================================ */
.column_block {
}
@media screen and (min-width: 769px), print {
	.column_block {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	.column_block .column_main {
		width: 684px;
	}
	.column_block .column_side {
		width: 306px;
	}
	.column_block .column_side .title_border_ms {
		/*padding-top: 10px;*/
	}
	.column_block .column_side .contents_search {
		margin-bottom: 30px;
	}
	.column_block .column_side .contents_search form input[type=search] {
		width: calc(100% - 30px);
	}
}
@media screen and (max-width: 768px) {
	.column_block .column_side {
		margin-top: 30px;
		padding: 30px;
		background-color: #f4f4f4;
	}
	.column_block .column_side.sp_white {
		padding-bottom: 0;
		background-color: #fff;
	}
}

/* side_archive_list
============================================================================================================ */
.column_block .side_archive_list + .side_archive_list {
	margin-top: 30px;
}
.column_side .side_archive_list dt {
	margin-bottom: 7px;
	padding: 10px;
	background-color: #004285;
	color: #fff;
	text-align: center;
	font-size: 1.6rem;
}

/* category_link
============================================================================================================ */
.column_side .category_link > li + li {
	margin-top: 7px;
}
.column_side .category_link a {
	position: relative;
	display: block;
	padding: 10px 15px 10px 24px;
	font-size: 1.6rem;
	background-color: #f4f4f4;
}
.column_side .category_link a::after {
	content: "";
	position: absolute;
	top: 1.5em;
	left: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}
.column_side .category_link li ul {
	padding-bottom: 15px;
	background-color: #f4f4f4;
}
.column_side .category_link li li a {
	padding: 5px 10px 5px 34px;
	font-size: 1.4rem;
}
.column_side .category_link li li a::after {
	top: 1.2em;
	left: 18px;
	width: 6px;
	height: 6px;
}
.column_side .category_link li li a.current {
	background-color: #e4e4e4;
}
.column_side .category_link li li ul {
	padding-bottom: 0;
}
.column_side .category_link li li li a {
	padding: 4px 10px 4px 50px;
	font-size: 1.3rem;
}
.column_side .category_link li li li a::after {
	content: none;
}
@media screen and (max-width: 768px) {
	.column_side .category_link a,
	.column_side .category_link li ul {
		background-color: #fff;
	}
	.column_side.sp_white .category_link a,
	.column_side.sp_white .category_link li ul {
		background-color: #f4f4f4;
	}
}

/* column_bottom
============================================================================================================ */
.column_bottom {
}
@media screen and (min-width: 769px), print {
	.column_bottom {
		margin-top: 100px;
	}
	.column_bottom .side_archive_list dt {
		padding: 6px 20px;
		text-align: left;
		font-size: 2rem;
	}
	.column_bottom .category_link {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -7px;
	}
	.column_bottom .category_link li {
		width: 33.33%;
		padding-left: 7px;
	}
	.column_bottom .category_link li + li {
		margin-top: 0;
	}
	.column_bottom .category_link li:nth-child(3) ~ * {
		margin-top: 7px;
	}
}
@media screen and (max-width: 768px) {
	.column_bottom {
		margin-top: 30px;
		padding: 30px;
		background-color: #f4f4f4;
	}
}


/* pagination
============================================================================================================ */
.pagination {
	margin-top: 90px;
	font-size: 1.3rem;
}
.pagination .total {
	font-size: 1.2rem;
	color: #808080;
}
.pagination ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: flex-end;
	align-items: flex-end;
}
.pagination ul li {
	padding: 0 6px;
}
.pagination ul a {
	display: block;
	height: 30px;
	min-width: 30px;
	text-align: center;
	line-height: 28px;
	border: 1px solid #000;
	color: #000;
	text-decoration: none;
}
.pagination ul a.prevnext {
	min-width: 48px;
}
.pagination ul a.current {
	color: #fff;
	background-color: #000;
}
@media screen and (min-width: 769px), print {
	.pagination {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}
	.pagination .total {
		margin-right: 12px;
	}
	.pagination ul a:hover {
		color: #fff;
		background-color: #000;
	}
}
@media screen and (max-width: 768px) {
	.pagination {
		position: relative;
		margin-top: 60px;
		padding-bottom: 16px;
	}
	.pagination .total {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.pagination ul {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.pagination ul li {
		padding: 0 4px 8px;
	}
	.pagination ul a.prevnext {
		min-width: 42px;
	}
}

/* detail_pager
============================================================================================================ */
.detail_pager {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid #d6d5d5;
}
.detail_pager ul {
	position: relative;
}
.detail_pager ul a {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	height: 32px;
	border: 1px solid #000;
	color: #000000;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
}
.detail_pager ul .prev a::after,
.detail_pager ul .next a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}
.detail_pager ul .prev a::after {
	left: 0px;
	right: auto;
	-webkit-transform: scaleX(0.7) rotate(225deg);
	-ms-transform: scaleX(0.7) rotate(225deg);
	-o-transform: scaleX(0.7) rotate(225deg);
	transform: scaleX(0.7) rotate(225deg);
}
@media screen and (min-width: 769px), print {
	.detail_pager ul a {
		width: 160px;
		margin: auto;
	}
	.detail_pager ul a[href]:hover {
		background-color: #eeeeee;
	}
	.detail_pager ul .prev {
		position: absolute;
		left: 0;
		top: 0;
	}
	.detail_pager ul .next {
		position: absolute;
		right: 0;
		top: 0;
	}
}
@media screen and (max-width: 768px) {
	.detail_pager {
		margin-top: 40px;
		padding-top: 40px;
	}
	.detail_pager ul::after {
		content: "";
		display: table;
		clear: both;
	}
	.detail_pager ul a {
		height: 50px;
		font-size: 1.4rem;
	}
	.detail_pager ul .prev a::after,
	.detail_pager ul .next a::after {
		right: 12px;
		width: 10px;
		height: 10px;
		border-top-width: 3px;
		border-right-width: 3px;
	}
	.detail_pager ul .back {
		margin-bottom: 8px;
	}
	.detail_pager ul .prev,
	.detail_pager ul .next {
		width: calc(50% - 4px);
	}
	.detail_pager ul .prev {
		float: left;
	}
	.detail_pager ul .next {
		float: right;
	}
}



/* category_list
============================================================================================================ */
.category_list {
	margin-bottom: 0;
	padding: 50px 50px 70px;
}
.category_list section {
	margin-bottom: 50px;
}
.category_list section:last-child {
	margin-bottom: 0;
}
.category_list section .title_h4 {
	margin-bottom: 24px;
	padding: 0 0 0 24px;
	font-size: 2rem;
}
.category_list section ul {
	border-top: 1px solid #d6d5d5;
}
.category_list section ul a {
	position: relative;
	display: block;
	padding: 5px 0 5px 16px;
	font-size: 1.6rem;
}
.category_list section ul a::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}
.category_list section ul ul {
	border-top: 0;
	padding: 0 0 10px;
}
.category_list section ul ul a {
	padding: 3px 0 3px 16px;
	font-size: 1.3rem;
}
.category_list section ul ul a::after {
	content: none;
}
@media screen and (min-width: 769px), print {
	.category_list section ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 20px 8px 0;
	}
	.category_list section ul li {
		width: 33.33%;
	}
	.category_list section ul.column2 li {
		width: 50%;
	}
	.category_list section ul ul {
		display: block;
	}
	.category_list section ul ul li {
		width: auto;
	}
}
@media screen and (max-width: 768px) {
	.category_list {
		padding: 20px;
	}
	.category_list.sp_no_pd {
		padding: 0;
	}
	.category_list section {
		margin-bottom: 15px;
	}
	.category_list section::before {
		content: "";
		display: table;
		height: 0;
	}
	.category_list section .title_h4 {
		margin-bottom: 10px;
		padding-left: 18px;
		font-size: 1.6rem;
	}
	.category_list.sp_acc section {
		background-color: #fff;
	}
	.category_list.sp_acc section .title_h4 {
		position: relative;
		margin-top: 10px;
	}
	.category_list.sp_acc section .title_h4::before,
	.category_list.sp_acc section .title_h4::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		width: 16px;
		margin-top: -1px;
		border-top: 2px solid #535353;
	}
	.category_list.sp_acc section .title_h4::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	body.init .category_list.sp_acc section .title_h4::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	.category_list.sp_acc section .title_h4.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}
	.category_list.sp_acc section .link {
		overflow: hidden;
		height: 0;
	}
	body.init .category_list.sp_acc section .link {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}
	.category_list section ul {
		padding: 10px 10px 20px;
	}
	.category_list section ul a {
		font-size: 1.4rem;
	}
	.category_list section h2:only-child {
		margin-bottom: 30px;
	}
}

/* category_column_list
============================================================================================================ */
.category_column_list {
}
.category_column_list section {
	background-color: #fff;
}
.category_column_list section::before {
	content: "";
	display: table;
	height: 0;
}
.category_column_list section .title_h4 {
	padding-left: 22px;
	margin-top: 20px;
	margin-bottom: 20px;
}
.category_column_list section ul {
	border-top: 1px solid #d6d5d5;
}
.category_column_list section ul a {
	position: relative;
	display: block;
	padding: 5px 0 5px 16px;
	font-size: 1.2rem;
}
.category_column_list section ul a::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

@media screen and (min-width: 769px), print {
	.category_column_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.category_column_list section {
		width: 500px;
	}
	.category_column_list section:nth-child(2) ~ * {
		margin-top: 40px;
	}
	.category_column_list section ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 15px 24px;
	}
	.category_column_list section ul li {
		width: 49%;
	}
	.category_column_list section ul ul {
		display: block;
	}
	.category_column_list section ul ul li {
		width: auto;
	}
}
@media screen and (max-width: 768px) {
	.category_column_list section + section {
		margin-top: 15px;
	}
	.category_column_list section .title_h4 {
		position: relative;
		margin-top: 10px;
		margin-bottom: 10px;
		padding-left: 18px;
		font-size: 1.4rem;
	}
	.category_column_list section.title_only .title_h4 {
		margin: 0;
		padding: 0;
		border-left: 0;
	}
	.category_column_list section.title_only .title_h4 a {
		position: relative;
		display: block;
		padding: 12px 0;
		padding-left: 20px;
	}
	.category_column_list section.title_only .title_h4 a::before {
		content: "";
		position: absolute;
		top: 10px;
		bottom: 10px;
		left: 0;
		border-left: 2px solid #dc000c;
	}
	.category_column_list section:not(.title_only) .title_h4::before,
	.category_column_list section:not(.title_only) .title_h4::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		width: 16px;
		margin-top: -1px;
		border-top: 2px solid #535353;
	}
	.category_column_list section .title_h4::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	body.init .category_column_list section .title_h4::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	.category_column_list section .title_h4.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}
	.category_column_list section .link {
		overflow: hidden;
		height: 0;
	}
	body.init .category_column_list section .link {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}
	.category_column_list section ul {
		padding: 10px 10px 20px;
	}
}

.category_column_list.products_index section .title_h4 {
	padding-left: 24px;
	margin-top: 24px;
	margin-bottom: 24px;
	font-size: 2rem;
}
.category_column_list.products_index section ul a {
	font-size: 1.4rem;
}
@media screen and (min-width: 769px), print {
	.category_column_list.products_index section {
		background-color: #f7f7f7;
	}
}
@media screen and (max-width: 768px) {
	.category_column_list.products_index {
		background-color: #f4f4f4;
		padding: 20px;
	}
	.category_column_list.products_index section {
		background: none;
	}
	.category_column_list.products_index section .title_h4 {
		margin: 0 0 10px;
		padding: 0 0 0 18px;
		font-size: 1.6rem;
	}
	.category_column_list.products_index section .title_h4::before,
	.category_column_list.products_index section .title_h4::after {
		content: none;
	}
	.category_column_list.products_index section .link {
		height: auto !important;
	}
}


/* ph_category_list
============================================================================================================ */
.ph_category_list {
}
.ph_category_list section {
	background-color: #fff;
}
.ph_category_list section::before {
	content: "";
	display: table;
	height: 0;
}
.ph_category_list section .img {
	position: relative;
}
.ph_category_list section .img img {
	width: 100%;
	height: auto;
}
.ph_category_list section .img p {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 2.2rem;
	text-align: center;
	width: 100%;
}
.ph_category_list section .img a {
	color: #fff;
}
.ph_category_list section .title_h4 {
	padding-left: 22px;
	margin-top: 20px;
	margin-bottom: 20px;
}
.ph_category_list section ul {
	border-top: 1px solid #d6d5d5;
}
.ph_category_list section ul a {
	position: relative;
	display: block;
	padding: 5px 0 5px 16px;
	font-size: 1.2rem;
}
.ph_category_list section ul a::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

@media screen and (min-width: 769px), print {
	.ph_category_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.ph_category_list::after {
		content: "";
		display: block;
		width: 320px;
	}
	.ph_category_list section {
		width: 320px;
	}
	.ph_category_list section:nth-child(3) ~ * {
		margin-top: 40px;
	}
	.ph_category_list section ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 15px 24px;
	}
	.ph_category_list section ul li {
		width: 49%;
	}
	.ph_category_list section ul ul {
		display: block;
	}
	.ph_category_list section ul ul li {
		width: auto;
	}
}
@media screen and (max-width: 768px) {
	.ph_category_list section + section {
		margin-top: 15px;
	}
	.ph_category_list section .title_h4 {
		position: relative;
		margin-top: 10px;
		margin-bottom: 10px;
		padding-left: 18px;
		font-size: 1.4rem;
	}
	.ph_category_list section.title_only .title_h4 {
		margin: 0;
		padding: 0;
		border-left: 0;
	}
	.ph_category_list section.title_only .title_h4 a {
		position: relative;
		display: block;
		padding: 12px 0;
		padding-left: 20px;
	}
	.ph_category_list section.title_only .title_h4 a::before {
		content: "";
		position: absolute;
		top: 10px;
		bottom: 10px;
		left: 0;
		border-left: 2px solid #dc000c;
	}
	.ph_category_list section:not(.title_only) .title_h4::before,
	.ph_category_list section:not(.title_only) .title_h4::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		width: 16px;
		margin-top: -1px;
		border-top: 2px solid #535353;
	}
	.ph_category_list section .title_h4::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	body.init .ph_category_list section .title_h4::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	.ph_category_list section .title_h4.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}
	.ph_category_list section .link {
		overflow: hidden;
		height: 0;
	}
	body.init .ph_category_list section .link {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}
	.ph_category_list section ul {
		padding: 10px 10px 20px;
	}
}

.ph_category_list.products_index section .title_h4 {
	padding-left: 24px;
	margin-top: 24px;
	margin-bottom: 24px;
	font-size: 2rem;
}
.ph_category_list.products_index section ul a {
	font-size: 1.4rem;
}
@media screen and (min-width: 769px), print {
	.ph_category_list.products_index section {
		background-color: #f7f7f7;
	}
}
@media screen and (max-width: 768px) {
	.ph_category_list.products_index {
		background-color: #f4f4f4;
		padding: 20px;
	}
	.ph_category_list.products_index section {
		background: none;
	}
	.ph_category_list.products_index section .title_h4 {
		margin: 0 0 10px;
		padding: 0 0 0 18px;
		font-size: 1.6rem;
	}
	.ph_category_list.products_index section .title_h4::before,
	.ph_category_list.products_index section .title_h4::after {
		content: none;
	}
	.ph_category_list.products_index section .link {
		height: auto !important;
	}
}

/* vartical_item_list
============================================================================================================ */
.vartical_item_list section + section {
	margin-top: 60px;
}
.vartical_item_list section > a {
	display: block;
	text-decoration: none;
	color: #000;
}
.vartical_item_list header {
	margin-bottom: 15px;
}
.vartical_item_list header .title_h3 {
	margin-bottom: 5px;
}
.vartical_item_list header .title_h3 a {
	color: #000;
}
.vartical_item_list header .sub {
	color: #808080;
	font-size: 1.6rem;
}
.vartical_item_list .contents {
	position: relative;
}
.vartical_item_list .contents::after {
	content: "";
	display: table;
	clear: both;
}
.vartical_item_list .contents .img img {
	max-width: 100%;
	/*border: 2px solid #e3e3e3;*/
}
.vartical_item_list .contents .logo {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	height: 132px;
	border: 2px solid #e3e3e3;
}
.vartical_item_list .contents .logo a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	height: 128px;
}
.vartical_item_list .contents .logo img {
	max-width: 100%;
	max-height: 100%;
}
.vartical_item_list .contents .status_ico {
	margin-bottom: 8px;
}
.vartical_item_list .contents .dot_li a {
	color: #000;
}
@media screen and (min-width: 769px), print {
	.vartical_item_list section > a[href]:hover .title_h3 {
		text-decoration: underline;
	}
	.vartical_item_list .contents {
		padding-bottom: 50px;
	}
	.vartical_item_list .contents .img,
	.vartical_item_list .contents .logo {
		float: left;
		width: 220px;
		margin-bottom: -50px;
	}
	.vartical_item_list .contents .img ~ *,
	.vartical_item_list .contents .logo ~ * {
		margin-left: 240px;
	}
	.vartical_item_list .contents .btns {
		position: absolute;
		right: 0;
		bottom: 0;
		margin: 0;
	}
	.vartical_item_list .contents .btns li {
		float: left;
	}
	.vartical_item_list .contents .btns li a.btn {
		width: auto;
		min-width: 150px;
		margin-left: 12px;
		padding-right: 25px;
	}
}
@media screen and (max-width: 768px) {
	.vartical_item_list .contents .img {
		margin-bottom: 10px;
		text-align: center;
	}

	.vartical_item_list .contents .logo {
		width: 58.7vw;
		height: 35.2vw;
		margin: 0 auto 10px;
	}
	.vartical_item_list .contents .logo a {
		height: calc(35.2vw - 4px);
	}
	.vartical_item_list .contents .btns {
		margin-top: 20px;
	}
	.vartical_item_list .contents .btns li + li {
		margin-top: 15px;
	}
}



/* logo_item_list
============================================================================================================ */
.logo_item_list ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.logo_item_list ul a {
	display: block;
	color: #000;
}
.logo_item_list ul a span {
	display: block;
}
.logo_item_list ul a .logo {
	margin-bottom: 5px;
	border: 2px solid #e3e3e3;
	text-align: center;
}
.logo_item_list ul a .logo img {
	max-width: 100%;
}
@media screen and (min-width: 769px), print {
	.logo_item_list ul {
		margin-left: -20px;
	}
	.logo_item_list ul li {
		width: 192px;
		margin-left: 20px;
	}
	.logo_item_list ul li:nth-child(5) ~ * {
		margin-top: 40px;
	}
}
@media screen and (max-width: 768px) {
	.logo_item_list ul {
		justify-content: space-between;
	}
	.logo_item_list ul li {
		width: calc(50% - 6px);
	}
	.logo_item_list ul li:nth-child(2) ~ * {
		margin-top: 30px;
	}
}


/* ph_entry_list
============================================================================================================ */
.ph_entry_list li a {
	display: block;
	color: #000;
	text-decoration: none;
}
.ph_entry_list li span {
	display: block;
}
.ph_entry_list li .img {
	text-align: center;
}
.ph_entry_list li .img img {
	max-width: 100%;
}
.ph_entry_list li .title {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
}
@media screen and (min-width: 769px), print {
	.ph_entry_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -29px;
	}
	.ph_entry_list.col_3 {
		margin-left: -34px;
	}
	.ph_entry_list li {
		width: 25%;
		padding-left: 29px;
	}
	.ph_entry_list.col_3 li {
		width: 358px;
		padding-left: 34px;
	}
	.ph_entry_list li:nth-child(4) ~ * {
		margin-top: 40px;
	}
	.ph_entry_list.col_3 li:nth-child(3) ~ * {
		margin-top: 40px;
	}
	.ph_entry_list li .title {
	}
	.ph_entry_list li .title.title_h4 {
		margin: 0 0 15px;
	}
	.ph_entry_list li a[href]:hover .title {
		text-decoration: underline;
	}
	.ph_entry_list li .img {
		margin-bottom: 15px;
	}
}
@media screen and (max-width: 768px) {
	.ph_entry_list li + li {
		margin-top: 20px;
	}
	.ph_entry_list li a {
		font-size: 1.2rem;
	}
	.ph_entry_list li a::after {
		content: "";
		display: table;
		clear: both;
	}
	.ph_entry_list li .img {
		float: left;
		width: 37%;
	}
	.ph_entry_list li .img ~ * {
		margin-left: calc(37% + 20px);
	}
	.ph_entry_list li .title {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
}



/* ph_list
============================================================================================================ */
.ph_list li span {
	display: block;
}
.ph_list li .img {
	border: 2px solid #e3e3e3;
	text-align: center;
}
.ph_list li .img img {
	max-width: 100%;
}
@media screen and (min-width: 769px), print {
	.ph_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -20px;
	}
	.ph_list li {
		width: 192px;
		margin-left: 20px;
	}
	.ph_list li:nth-child(5) ~ * {
		margin-top: 40px;
	}
	.ph_list li .img {
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 768px) {
	.ph_list li {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		justify-content: space-between;
	}
	.ph_list li + li {
		margin-top: 12px;
	}
	.ph_list li .img {
		width: calc(50% - 10px);
	}
	.ph_list li .caption {
		width: calc(50%);
	}
}

/* solution_list
============================================================================================================ */
.solution_list {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-left: -16px;
}
.solution_list li {
	width: 100%;
	padding-left: 16px;
}
.solution_list li a {
	display: block;
	padding: 20px 0 15px;
	background-color: #fff;
	text-align: center;
	color: #000;
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1.4;
}
.solution_list li a svg {
	width: 60px;
	height: 60px;
	fill: #dc000c;
}
.solution_list li a span {
	display: block;
	height: 3em;
	margin-top: 12px;
}
@media screen and (max-width: 768px) {
	.solution_list {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -5px;
	}
	.solution_list li {
		width: 25%;
		padding-left: 5px;
	}
	.solution_list li:nth-child(4) ~ * {
		margin-top: 5px;
	}
	.solution_list li a {
		padding: 10px 0 10px;
		font-size: 1rem;
	}
	.solution_list li a svg {
		width: 50px;
		height: 50px;
	}
	.solution_list li a span {
		margin-top: 6px;
	}
}

/* bnr_4_list
============================================================================================================ */
.bnr_4_list ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.bnr_4_list ul a {
	display: block;
}
.bnr_4_list ul a img {
	max-width: 100%;
	height: auto;
}
@media screen and (min-width: 769px), print {
	.bnr_4_list ul {
		margin-left: -32px;
	}
	.bnr_4_list ul li {
		width: 236px;
		margin-left: 32px;
	}
	.bnr_4_list ul li:nth-child(4) ~ * {
		margin-top: 32px;
	}
}
@media screen and (max-width: 768px) {
	.bnr_4_list {
		padding: 40px 0;
		background-color: #ececec;
	}
	.bnr_4_list ul {
		justify-content: space-between;
	}
	.bnr_4_list ul li {
		width: calc(50% - 8px);
	}
	.bnr_4_list ul li:nth-child(2) ~ * {
		margin-top: 16px;
	}
}


/* large_bnr_list
============================================================================================================ */
.large_bnr_list > * + * {
	margin-top: 40px;
}
.large_bnr_list a {
	display: block;
	text-decoration: none;
	color: #000;
}
.large_bnr_list a .bnr {
	border: 2px solid #e3e3e3;
	text-align: center;
}
.large_bnr_list a .title {
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (min-width: 769px), print {
	.large_bnr_list a::after {
		content: "";
		display: table;
		clear: both;
	}
	.large_bnr_list a .bnr {
		float: right;
		width: 584px;
	}
	.large_bnr_list a .bnr img {
		max-width: 100%;
	}
	.large_bnr_list a .bnr ~ * {
		margin-right: 620px;
	}
	.large_bnr_list a:hover .title {
		text-decoration: underline;
	}
}
@media screen and (max-width: 768px) {
	.large_bnr_list > * + * {
		margin-top: 30px;
	}
	.large_bnr_list a .bnr {
		margin-bottom: 12px;
	}
	.large_bnr_list a .title {
		font-size: 1.6rem;
	}
}


/* break_line
============================================================================================================ */
.break_line {
	margin: 70px 0 80px;
	border-top: 1px solid #bfbfbf;
}
@media screen and (min-width: 769px), print {
	.break_line.s {
		margin: 40px 0;
	}
}
@media screen and (max-width: 768px) {
	.break_line {
		margin: 40px 0;
	}
}


/* list_main_block
============================================================================================================ */
.list_main_block {
	margin-bottom: 60px;
}
.list_main_block .img {
	margin-bottom: 20px;
}
.list_main_block .contents_search {
	margin-top: 30px;
}
@media screen and (min-width: 769px), print {
	.list_main_block .contents_search form {
		justify-content: flex-end;
	}
}
@media screen and (max-width: 768px) {
	.list_main_block {
		margin-bottom: 50px;
	}
}

/* form
============================================================================================================ */

/* select */
.form_select {
	position: relative;
}
.form_select::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -3px;
	border-style: solid;
	border-width: 6px 3px 0 3px;
	border-color: #666666 transparent transparent transparent;
	pointer-events: none;
}
.form_select select {
	display: block;
	height: 40px;
	padding: 0 25px 0 15px;
	border: 1px solid #ededed;
}
.form_select.dark::before {
	border-top-color: #fff;
}
.form_select.dark select {
	height: 28px;
	background-color: #000;
	border: 0;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.form_select select {
	}
	.form_select.dark select {
		height: 32px;
	}
}

/* form_block */
.form_block {
	margin-bottom: 60px;
}
.form_block input[type=text],
.form_block input[type=email],
.form_block input[type=tel],
.form_block input[type=number],
.form_block input[type=password],
.form_block textarea {
	padding: 8px 15px;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ededed;
}
.form_block input[type=text] {
	height: 40px;
}
.form_block textarea {
	height: 200px;
}
body.init .form_block input[type=text],
body.init .form_block input[type=email],
body.init .form_block input[type=tel],
body.init .form_block input[type=number],
body.init .form_block input[type=password],
body.init .form_block select,
body.init .form_block textarea {
	-webkit-transition: border .3s, -webkit-box-shadow .3s;
	-o-transition: border .3s, box-shadow .3s;
	transition: border .3s, box-shadow .3s;
}
.form_block input[type=text]:focus,
.form_block input[type=email]:focus,
.form_block input[type=tel]:focus,
.form_block input[type=number]:focus,
.form_block input[type=password]:focus,
.form_block select:focus,
.form_block textarea:focus {
	outline: 0;
	border-color: #66afe9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,0.8);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,0.8);
}
.form_block .form_select {
	display: inline-block;
}
.form_block .label_ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.form_block .label_ul label {
	position: relative;
	display: block;
	padding: 6px 30px 6px 40px;
}
.form_block .label_ul label input[type=checkbox],
.form_block .label_ul label input[type=radio] {
	position: absolute;
	visibility: hidden;
	opacity: 0;
}
.form_block .label_ul label .check {
	position: absolute;
	left: 0;
	top: 6px;
	width: 24px;
	height: 24px;
	background-color: #fff;
	border: 1px solid #e8e8e8;
}
.form_block .label_ul label .check::after {
	content: "";
	position: absolute;
	opacity: 0;
}
body.init .form_block .label_ul label .check::after {
	-webkit-transition: opacity .1s;
	-o-transition: opacity .1s;
	transition: opacity .1s;
}
.form_block .label_ul label input[type=checkbox] + .check::after {
	left: 7px;
	top: 3px;
	width: 8px;
	height: 14px;
	border-right: 3px solid #004285;
	border-bottom: 3px solid #004285;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.form_block .label_ul label input[type=checkbox]:checked + .check::after {
	opacity: 1;
}
.form_block .label_ul label input[type=radio] + .check {
	border-radius: 100%;
}
.form_block .label_ul label input[type=radio] + .check::after {
	top: 4px;
	right: 4px;
	left: 4px;
	bottom: 4px;
	border-radius: 100%;
	background-color: #004285;
}
.form_block .label_ul label input[type=radio]:checked + .check::after {
	opacity: 1;
}
.form_block .other {
	margin-top: 10px;
}
.form_block .other dt {
	margin-bottom: 8px;
}
.form_block .ex {
	margin-bottom: 10px;
}
.form_block .zip2address {
	display: inline-block;
	vertical-align: middle;
	margin-left: 20px;
	padding: 5px 10px;
	background-color: #666666;
	color: #fff;
	text-decoration: none;
	font-size: 1.2rem;
}
.form_block .notes_text {
	margin: 15px 0 10px;
}
.form_block .notes_text:first-child {
	margin-top: 0;
}
.form_block .notes_text:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 769px), print {
	.form_block input.zip {
		width: 200px;
	}
}
@media screen and (max-width: 768px) {
	.form_block {
		margin-bottom: 40px;
	}
	.form_block input.zip {
		width: calc(100% - 160px);
	}
	.form_block .zip2address {
		width: 150px;
		margin-left: 5px;
		padding: 8px;
		text-align: center;
	}
	.form_block .form_select {
		display: block;
	}
	.form_block .form_select select {
		width: 100%;
	}
}

.form_block .form_input_table th {
	font-weight: bold;
}
.form_block .form_input_table th .hissu {
	float: right;
	padding: 0 8px;
	border: 1px solid #dc000c;
	color: #dc000c;
	font-size: 1.2rem;
}
@media screen and (min-width: 769px), print {
	.form_block .form_input_table {
		width: 100%;
	}
	.form_block .form_input_table th {
		width: 185px;
		padding-top: 15px;
		vertical-align: top;
	}
	.form_block .form_input_table th.multi {
		padding-top: 5px;
	}
	.form_block .form_input_table th.multi .hissu {
		margin-top: 10px;
	}
	.form_block .form_input_table td {
		padding: 15px 0 15px 30px;
	}
	.form_block .form_input_table.input th {
		padding-top: 22px;
	}
	.form_block .form_input_table.input th.multi {
		padding-top: 12px;
	}
	.form_block .form_input_table.input .notes_text:first-child {
		margin-top: 8px;
	}
	.form_block .form_input_table .ex {
		padding-top: 6px;
	}
	.form_block .form_input_table .label_ul {
		width: 735px; /* IE */
	}
}
@media screen and (max-width: 768px) {
	.form_block .form_input_table,
	.form_block .form_input_table tbody,
	.form_block .form_input_table tr,
	.form_block .form_input_table th,
	.form_block .form_input_table td {
		display: block;
	}
	.form_block .form_input_table tr + tr {
		margin-top: 20px;
	}
	.form_block .form_input_table th {
		margin-bottom: 8px;
	}
}

@media screen and (min-width: 769px), print {
	.form_block .form_estimate_table {
		width: 100%;
		border-spacing: 2px;
		border-collapse: separate;
	}
	.form_block .form_estimate_table thead th {
		padding: 6px 20px;
		background-color: #809ec2;
		text-align: center;
		color: #fff;
		font-weight: bold;
	}
	.form_block .form_estimate_table thead .no {
		width: 9%;
	}
	.form_block .form_estimate_table thead .name {
		text-align: left;
	}
	.form_block .form_estimate_table thead .quantity,
	.form_block .form_estimate_table thead .cancel {
		width: 10%;
		background-color: #ce121c;
	}
	.form_block .form_estimate_table tbody td {
		padding: 10px 20px;
		background-color: #f7f7f7;
		text-align: center;
	}
	.form_block .form_estimate_table tbody .no {
		background-color: #ccd8e7;
		text-align: center;
		font-weight: bold;
	}
	.form_block .form_estimate_table tbody .name {
		text-align: left;
	}
	.form_block .form_estimate_table tbody .quantity,
	.form_block .form_estimate_table tbody .cancel {
		padding: 10px;
		background-color: #f8ccce;
	}
	.form_block .form_estimate_table tbody .quantity input {
		text-align: center;
	}
	.form_block .form_estimate_table tbody .cancel .label_ul {
		justify-content: center;
	}
	.form_block .form_estimate_table tbody .cancel label {
		padding-left: 35px;
		padding-right: 5px;
	}
}
@media screen and (max-width: 768px) {
	.form_block .form_estimate_table thead {
		display: none;
	}
	.form_block .form_estimate_table,
	.form_block .form_estimate_table tbody,
	.form_block .form_estimate_table tr {
		display: block;
	}
	.form_block .form_estimate_table tr + tr {
		margin-top: 15px;
	}
	.form_block .form_estimate_table th,
	.form_block .form_estimate_table td {
		display: table;
		width: 100%;
		border-bottom: 1px solid #fff;
	}
	.form_block .form_estimate_table th::before,
	.form_block .form_estimate_table td::before {
		content: attr(data-label);
		display: table-cell;
		width: 6em;
		vertical-align: middle;
		text-align: center;
		background-color: #809ec2;
		color: #fff;
		font-weight: bold;
	}
	.form_block .form_estimate_table th > div,
	.form_block .form_estimate_table td > div {
		display: table-cell;
		padding: 5px 10px;
		vertical-align: middle;
		text-align: center;
		background-color: #f4f4f4;
		border-left: 1px solid #fff;
	}
	.form_block .form_estimate_table .no > div {
		background-color: #ccd8e7;
		font-weight: bold;
	}
	.form_block .form_estimate_table .name > div {
		text-align: left;
	}
	.form_block .form_estimate_table .quantity::before,
	.form_block .form_estimate_table .cancel::before {
		background-color: #ce121c;
	}
	.form_block .form_estimate_table .quantity input {
		text-align: center;
	}
	.form_block .form_estimate_table .cancel .label_ul {
		justify-content: center;
	}
	.form_block .form_estimate_table .cancel label {
		padding-left: 35px;
		padding-right: 5px;
	}
}


@media screen and (min-width: 769px), print {
	.form_block .form_seminar_table {
		width: 100%;
		border-spacing: 2px;
		border-collapse: separate;
	}
	.form_block .form_seminar_table thead th {
		padding: 6px 0;
		background-color: #809ec2;
		text-align: center;
		color: #fff;
		font-weight: bold;
	}
	.form_block .form_seminar_table thead .entry {
		width: 15%;
		background-color: #ce121c;
	}
	.form_block .form_seminar_table thead .place {
		width: 9%;
	}
	.form_block .form_seminar_table thead .date {
		width: 17%;
	}
	.form_block .form_seminar_table thead .cast,
	.form_block .form_seminar_table thead .vacancy,
	.form_block .form_seminar_table thead .capacity {
		width: 9%;
	}
	.form_block .form_seminar_table tbody td {
		padding: 10px 20px;
		background-color: #f7f7f7;
		text-align: center;
	}
	.form_block .form_seminar_table tbody .entry {
		background-color: #f8ccce;
		text-align: center;
		font-weight: bold;
	}
	.form_block .form_seminar_table tbody .entry .label_ul {
		justify-content: center;
	}
	.form_block .form_seminar_table tbody .entry label {
		padding-left: 35px;
		padding-right: 5px;
	}
	.form_block .form_seminar_table tbody .place {
		background-color: #ccd8e7;
		font-weight: bold;
	}
}
@media screen and (max-width: 768px) {
	.form_block .form_seminar_table thead {
		display: none;
	}
	.form_block .form_seminar_table,
	.form_block .form_seminar_table tbody,
	.form_block .form_seminar_table tr {
		display: block;
	}
	.form_block .form_seminar_table tr + tr {
		margin-top: 15px;
	}
	.form_block .form_seminar_table tr {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.form_block .form_seminar_table th,
	.form_block .form_seminar_table td {
		display: table;
		width: 100%;
		border-bottom: 1px solid #fff;
	}
	.form_block .form_seminar_table th::before,
	.form_block .form_seminar_table td::before {
		content: attr(data-label);
		display: table-cell;
		width: 6em;
		vertical-align: middle;
		text-align: center;
		background-color: #809ec2;
		color: #fff;
		font-weight: bold;
	}
	.form_block .form_seminar_table th > div,
	.form_block .form_seminar_table td > div {
		display: table-cell;
		padding: 5px 10px;
		vertical-align: middle;
		text-align: center;
		background-color: #f4f4f4;
		border-left: 1px solid #fff;
	}
	.form_block .form_seminar_table .entry {
		order: 10;
	}
	.form_block .form_seminar_table .entry::before {
		background-color: #ce121c;
	}
	.form_block .form_seminar_table .entry > div {
		background-color: #f8ccce;
		font-weight: bold;
	}
	.form_block .form_seminar_table .entry .label_ul {
		justify-content: center;
	}
	.form_block .form_seminar_table .entry label {
		padding-left: 35px;
		padding-right: 5px;
	}
	.form_block .form_seminar_table .place > div {
		background-color: #ccd8e7;
		font-weight: bold;
	}
	.form_block .form_seminar_table .title > div {
		text-align: left;
	}
	.form_block .form_seminar_table .vacancy,
	.form_block .form_seminar_table .capacity {
		width: 50%;
	}
}

.form_privacy {
}
.form_privacy dt {
	margin-bottom: 5px;
	font-weight: bold;
}
.form_privacy .label_ul {
	margin-top: 30px;
	justify-content: center;
	font-weight: bold;
}
.form_privacy .label_ul label {
	padding-right: 0;
}
@media screen and (min-width: 769px), print {
	.form_privacy {
		padding: 45px;
	}
}
@media screen and (max-width: 768px) {
	.form_privacy {
		padding-top: 25px;
		padding-bottom: 25px;
	}
	.form_privacy .label_ul {
		margin-top: 20px;
	}
}

.form_btn {
	margin-top: 60px;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.form_btn {
		margin-top: 40px;
	}
}

/* li
============================================================================================================ */
ul.dot_li li {
	position: relative;
	padding-left: 1em;
}
ul.dot_li li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #707070;
}


/* ===================================================================================================================

	記事

=================================================================================================================== */

/* entry_vartical_list
============================================================================================================ */
.entry_vartical_list {
}
.entry_vartical_list article + article {
	margin-top: 60px;
}
.entry_vartical_list article a {
	display: block;
	color: #000;
	text-decoration: none;
}
.entry_vartical_list article a::after {
	content: "";
	display: table;
	clear: both;
}
.entry_vartical_list article .status_ico {
	margin-bottom: 20px;
}
.entry_vartical_list article .title_h3 {
	margin-top: 0;
	margin-bottom: 10px;
}
.entry_vartical_list article time {
	display: block;
	margin-bottom: 15px;
	font-size: 1.2rem;
	color: #808080;
}
.entry_vartical_list article .img img {
	max-width: 100%;
	border: 2px solid #e3e3e3;
}
.entry_vartical_list article .more {
	position: relative;
	display: table;
	margin-top: 15px;
	font-size: 1.2rem;
	padding-right: 20px;
	color: #535353;
}
.entry_vartical_list article .more::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #535353;
	border-right: 2px solid #535353;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}
@media screen and (min-width: 769px), print {
	.entry_vartical_list article header {
		float: right;
		width: calc(100% - 240px);
	}
	.entry_vartical_list article .img {
		float: left;
		width: 220px;
	}
	.entry_vartical_list article .img ~ * {
		margin-left: 240px;
	}
	.entry_vartical_list article a:hover .title_h3 {
		text-decoration: underline;
	}
	.entry_vartical_list article a:hover .more {
		text-decoration: underline;
	}
}
@media screen and (max-width: 768px) {
	.entry_vartical_list article .status_ico {
		margin-bottom: 10px;
	}
	.entry_vartical_list article .img {
		margin-bottom: 10px;
		text-align: center;
	}
}

/* entry_detail
============================================================================================================ */
.entry_detail > header {
	margin-bottom: 32px;
}
.entry_detail > header time {
	display: block;
	margin-top: -10px;
	margin-left: 22px;
	font-size: 1.2rem;
	color: #808080;
}
@media screen and (max-width: 768px) {
	.entry_detail > header {
		margin-bottom: 26px;
	}
	.entry_detail > header time {
		margin-top: -20px;
		margin-left: 0;
		font-size: 1.4rem;
	}
}

/* entry_side_link
============================================================================================================ */
.entry_side_link article + article {
	margin-top: 20px;
}
.entry_side_link a {
	display: block;
	padding: 25px;
	background-color: #F4F4F4;
	text-decoration: none;
	font-size: 1.2rem;
	color: #000;
}
.entry_side_link a h3 {
	margin-bottom: 1em;
	color: #004285;
}
.entry_side_link a time {
	display: block;
	margin-bottom: 1em;
	color: #808080;
	font-size: 1.1rem;
}
@media screen and (min-width: 769px), print {
	.entry_side_link a:hover h3 {
		text-decoration: underline;
	}
}
@media screen and (max-width: 768px) {
	.entry_side_link a {
		font-size: 1.4rem;
	}
	.entry_side_link a time {
		font-size: 1.4rem;
	}
}


/* ===================================================================================================================

	ブログ

=================================================================================================================== */

/* blog_header
============================================================================================================ */
.blog_header .title_h3 {
	margin-top: 0;
	margin-bottom: 15px;
}
.blog_header .status_ico {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.blog_header time {
	display: inline-block;
	vertical-align: middle;
}
@media screen and (max-width: 768px) {
	.blog_header time {
		font-size: 1.2rem;
	}
}

/* blog_list
============================================================================================================ */
.blog_list article + article {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #d6d5d5;
}
.blog_list article a {
	display: block;
	color: #000;
	text-decoration: none;
}
.blog_list article header {
	margin-bottom: 20px;
}
.blog_list article .more {
	margin-top: 20px;
}
@media screen and (min-width: 769px), print {
	.blog_list article a:hover .title_h3 {
		text-decoration: underline;
	}
	.blog_list article .more {
		margin-left: auto;
	}
}
@media screen and (max-width: 768px) {
}

/* blog_detail
============================================================================================================ */
.blog_detail {
	padding-top: 60px;
}
.blog_detail .column_main > header {
	margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
	.blog_detail {
		padding-top: 40px;
	}
}


/* ===================================================================================================================

	ログイン

=================================================================================================================== */
.login_block {
}
.login_block > * {
	padding: 40px;
	border: 1px solid #707070;
}
.login_block .form_block {
	margin-bottom: 0;
}
.login_block .login_input dl {
	margin-bottom: 20px;
}
.login_block .login_input dt {
	margin-bottom: 8px;
}
.login_block .form_btn {
	margin-top: 0;
	margin-bottom: 30px;
}
@media screen and (min-width: 769px), print {
	.login_block {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	.login_block > * {
		width: calc(50% - 10px);
	}
	.login_block .login_input,
	.login_block .content {
		height: 250px;
	}
	.login_block .btn {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.login_block > * {
		padding: 25px 20px;
	}
	.login_block .form_block {
		margin-bottom: 20px;
	}
	.login_block .form_btn {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.login_block .content {
		margin-bottom: 20px;
	}
	.login_block .content .title_h3 {
		margin-bottom: 20px;
	}
}


/* ===================================================================================================================

	マイページ

=================================================================================================================== */

/* mypage_index_seminar
============================================================================================================ */
.mypage_index_seminar {
	margin-top: 80px;
}
.mypage_index_seminar > .title_h4 {
	margin-bottom: 50px;
}
@media screen and (min-width: 769px), print {
	.mypage_index_seminar.seminar_item_list section + section {
		margin-top: 50px;
	}
}
@media screen and (max-width: 768px) {
	.mypage_index_seminar {
		margin-top: 40px;
	}
	.mypage_index_seminar > .title_h4 {
		margin-bottom: 20px;
	}
}
/* form_input_table.license
============================================================================================================ */
@media screen and (min-width: 769px), print {
	.form_block .form_input_table.license th {
		width: 120px;
	}
}

/* mypage_products_table
============================================================================================================ */
.mypage_products_table th,
.mypage_products_table td {
	padding: 10px;
	text-align: center;
}
.mypage_products_table tbody th {
	background-color: #ccd8e7;
	font-weight: bold;
}
.mypage_products_table tbody .expired {
	background-color: #f8ccce;
}
.mypage_products_table tbody a {
	display: block;
}
@media screen and (min-width: 769px), print {
	.mypage_products_table {
		width: 100%;
		background-color: #f7f7f7;
	}
	.mypage_products_table thead th {
		background-color: #809ec2;
		color: #fff;
		font-weight: bold;
	}
	.mypage_products_table tbody th {
		text-align: left;
		padding-left: 25px;
		padding-right: 25px;
	}
	.mypage_products_table thead th.th01 {
		width: 30%;
	}
	.mypage_products_table thead th.th02 {
		width: 18%;
	}
	.mypage_products_table thead th.th04 {
		width: 12%;
	}
	.mypage_products_table th,
	.mypage_products_table td {
		padding: 10px;
		border: 2px solid #fff;
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	.mypage_products_table,
	.mypage_products_table tbody,
	.mypage_products_table tr {
		display: block;
	}
	.mypage_products_table thead {
		display: none;
	}
	.mypage_products_table tr {
	}
	.mypage_products_table tr + tr {
		margin-top: 15px;
	}
	.mypage_products_table tbody th,
	.mypage_products_table tbody td {
		display: table;
		width: 100%;
		line-height: 1.6;
	}
	.mypage_products_table tbody td {
		margin-top: 1px;
		background-color: #f7f7f7;
	}
	.mypage_products_table tbody th::before,
	.mypage_products_table tbody td::before,
	.mypage_products_table tbody th > *,
	.mypage_products_table tbody td > * {
		display: table-cell;
		padding: 5px 10px;
		vertical-align: middle;
	}
	.mypage_products_table tbody th::before,
	.mypage_products_table tbody td::before {
		content: attr(data-label);
		padding: 0 5px;
		width: 6em;
		padding-right: 0;
		padding-left: 0;
		background-color: #809ec2;
		border-right: 1px solid #fff;
		color: #fff;
		font-weight: bold;
	}
}

/* mypage_products_detail_table
============================================================================================================ */
.mypage_products_detail_table {
	background-color: #f7f7f7;
}
.mypage_products_detail_table tbody th {
	background-color: #ccd8e7;
	font-weight: bold;
}
.mypage_products_detail_table th,
.mypage_products_detail_table td {
	border: 2px solid #fff;
	text-align: center;
	vertical-align: middle;
}
@media screen and (min-width: 769px), print {
	.mypage_products_detail_table {
		width: 730px;
		margin: auto;
		table-layout: fixed;
	}
	.mypage_products_detail_table td {
		height: 64px;
		padding: 0 30px;
		border: 2px solid #fff;
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	.title_h3 + form .mypage_products_detail_table {
		margin-top: -15px;
	}
	.mypage_products_detail_table th,
	.mypage_products_detail_table td {
		border-width: 1px;
	}
	.mypage_products_detail_table th {
		width: 9.5em;
	}
	.mypage_products_detail_table td {
		padding: 10px;
	}
}

* + .mypage_products_table.detail {
	margin-top: 80px;
}
.mypage_products_table.detail + .bottom_btn {
	margin-top: 60px;
}
@media screen and (max-width: 768px) {
	* + .mypage_products_table.detail {
		margin-top: 50px;
	}
	.mypage_products_table.detail + .bottom_btn {
		margin-top: 40px;
	}
	.mypage_products_table.detail tbody th::before,
	.mypage_products_table.detail tbody td::before {
		width: 8em;
	}
}

/* mypage_download_list
============================================================================================================ */
.title_h2 + .mypage_download_list {
	margin-top: -10px;
}
.title_h4 + .mypage_download_list {
	margin-top: -20px;
}
.mypage_download_list li {
	border-bottom: 1px solid #e6e6e6;
}
.mypage_download_list a {
	display: block;
	padding: 20px 10px;
	text-decoration: none;
	color: #000;
}
.mypage_download_list a > * {
	display: inline-block;
}
.mypage_download_list a .solution {
	font-weight: bold;
	padding-right: 2em;
}
.mypage_download_list a .title {
	color: #004285;
	text-decoration: underline;
}
.mypage_download_list a .ico {
	min-width: 11em;
	margin-right: 1.5em;
	padding: 0 5px 1px;
	border: 1px solid #000;
	color: #004285;
	font-size: 1rem;
	text-align: center;
}
@media screen and (min-width: 769px), print {
	.mypage_download_list a[href]:hover .title {
		text-decoration: none;
	}
}
@media screen and (max-width: 768px) {
	.mypage_download_list a {
		padding: 15px 0;
	}
	.mypage_download_list a .solution {
		padding-right: 1em;
	}
	.mypage_download_list a .ico {
		display: table;
		margin-right: 0;
		margin-bottom: 8px;
		padding: 2px 5px;
	}
}

/* mypage_download_detail
============================================================================================================ */
.mypage_download_detail {
	margin-top: 40px;
}
.mypage_download_detail > header {
	margin-bottom: 40px;
}
.mypage_download_detail > header .title_h3 {
	margin-bottom: 15px;
}
.mypage_download_detail > section + section {
	margin-top: 40px;
}


/* products_detail_nav
============================================================================================================ */
.products_detail_nav {
	position: relative;
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.4;
}
.products_detail_nav > * {
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
}
.products_detail_nav div.w {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.products_detail_nav a {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	justify-content: center;
	align-items: center;
	color: #000;
	text-decoration: none;
	padding-bottom: 12px;
	text-align: center;
}
.products_detail_nav a::after {
	content: "";
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 4px;
	height: 4px;
	border-bottom: 1px solid #dc000c;
	border-left: 1px solid #dc000c;
	-webkit-transform-origin: 0 100%;
	-moz-transform-origin: 0 100%;
	-ms-transform-origin: 0 100%;
	-o-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transform: scaleX(1.2) rotate(-45deg);
	-ms-transform: scaleX(1.2) rotate(-45deg);
	-o-transform: scaleX(1.2) rotate(-45deg);
	transform: scaleX(1.2) rotate(-45deg);
}
.products_detail_nav .nav_title {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 100%;
	padding: 4px 0;
	background-color: #000000;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	opacity: 0;
	z-index: -1;
}
body.init .products_detail_nav .nav_title {
	-webkit-transition: opacity .1s;
	-o-transition: opacity .1s;
	transition: opacity .1s;
}
@media screen {
	.products_detail_nav.fixed > * {
		position: fixed;
		top: 0;
		z-index: 1000;
	}
	body.init .products_detail_nav.fixed .nav_title {
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
	}
	.products_detail_nav.fixed .nav_title {
		position: static;
		opacity: 1;
		z-index: 1;
	}
}
@media screen and (min-width: 769px), print {
	.products_detail_nav {
		height: 50px;
	}
	.products_detail_nav > * {
		position: absolute;
		border-bottom: 1px solid #e3e3e3;
	}
	.products_detail_nav a {
		height: 50px;
		margin-right: 40px;
	}
	.products_detail_nav a:hover {
		color: #dc000c;
	}
	.products_detail_nav ~ * .target {
		top: -75px;
	}
	.products_detail_nav ~ * .target.pt {
		top: -95px;
	}
}
@media screen and (max-width: 768px) {
	.products_detail_nav {
		margin-top: 35px;
	}
	.products_detail_nav div.w {
		padding-top: 5px;
		padding-bottom: 10px;
	}
	.products_detail_nav a {
		width: 25%;
		min-height: 38px;
		padding: 0 5px 10px;
		text-align: center;
	}
	.products_detail_nav a::after {
		bottom: 0;
	}
	.products_detail_nav a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		border-left: 1px solid #e3e3e3;
	}
	.products_detail_nav a:nth-child(4n+1)::before {
		content: none;
	}
	.products_detail_nav a:nth-child(4) ~ * {
		margin-top: 10px;
	}
	.products_detail_nav .nav_title {
		padding: 3px 0;
		font-size: 1rem;
	}
	.products_detail_nav.fixed > * {
		border-bottom: 1px solid #e3e3e3;
	}
	.products_detail_nav ~ * .target {
		top: -125px;
	}
	.products_detail_nav ~ * .target.pt {
		top: -145px;
	}
}


dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
p,
blockquote,
th,
td,
main,
figure {
	margin: 0;
	padding: 0;
}

table {
	font-size: 100%;
	font-family: inherit;
}

fieldset,
img {
	border: 0;
}

img,
svg {
	vertical-align: middle;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

q:before,
q:after {
	content: '';
}

abbr,
acronym {
	border: 0;
}

select,
input,
textarea {
	font-size: 100%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.7;
}

header,
footer,
nav,
main,
section,
article,
figure,
aside {
	display: block;
}

html {
	font-size: 62.5%;
}

body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.7;
	color: #000000;
	word-wrap: break-word;
	overflow-wrap: break-word;

	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a[href] {
	color: #004285;
	text-decoration: underline;
	outline: none;
}

a[href]:hover {
	text-decoration: none;
}

a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}

@media screen and (min-width: 769px) {

	a[href].a_reverse:hover,
	.a_reverse a[href]:hover {
		text-decoration: underline;
	}
}

label {
	cursor: pointer;
}

input,
select,
textarea,
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}

::-webkit-input-placeholder {
	color: #808080;
}

:-ms-input-placeholder {
	color: #808080;
}

::-moz-placeholder {
	color: #808080;
}

select::-ms-expand {
	display: none;
}

@media screen and (max-width: 768px) {

	input,
	select,
	textarea {
		font-size: 1.6rem;
	}
}


button {
	cursor: pointer;
}

iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}

.slick-slider * {
	outline: none;
}

@media screen and (min-width: 769px),
print {
	body {}
}

@media screen and (max-width: 768px) {
	img {
		max-width: 100%;
		height: auto;
	}
}


/* slick
============================================================================================================ */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0
}

.slick-list:focus {
	outline: 0
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto
}

.slick-track:after,
.slick-track:before {
	display: table;
	content: ''
}

.slick-track:after {
	clear: both
}

.slick-loading .slick-track {
	visibility: hidden
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px
}

[dir=rtl] .slick-slide {
	float: right
}

.slick-slide img {
	display: block
}

.slick-slide.slick-loading img {
	display: none
}

.slick-slide.dragging img {
	pointer-events: none
}

.slick-initialized .slick-slide {
	display: block
}

.slick-loading .slick-slide {
	visibility: hidden
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}

.slick-arrow.slick-hidden {
	display: none
}

/* Magnific Popup CSS
============================================================================================================ */
.mfp-bg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1042;
	overflow: hidden;
	position: fixed;
	background: #0b0b0b;
	opacity: .8
}

.mfp-wrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1043;
	position: fixed;
	outline: 0 !important;
	-webkit-backface-visibility: hidden
}

.mfp-container {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 8px;
	box-sizing: border-box
}

.mfp-container:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle
}

.mfp-align-top .mfp-container:before {
	display: none
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
	width: 100%;
	cursor: auto
}

.mfp-ajax-cur {
	cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: -moz-zoom-out;
	cursor: -webkit-zoom-out;
	cursor: zoom-out
}

.mfp-zoom {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
	cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.mfp-loading.mfp-figure {
	display: none
}

.mfp-hide {
	display: none !important
}

.mfp-preloader {
	color: #ccc;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -.8em;
	left: 8px;
	right: 8px;
	z-index: 1044
}

.mfp-preloader a {
	color: #ccc
}

.mfp-preloader a:hover {
	color: #fff
}

.mfp-s-ready .mfp-preloader {
	display: none
}

.mfp-s-error .mfp-content {
	display: none
}

button.mfp-arrow,
button.mfp-close {
	overflow: visible;
	cursor: pointer;
	background: 0 0;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: 0;
	padding: 0;
	z-index: 1046;
	box-shadow: none;
	touch-action: manipulation
}

button::-moz-focus-inner {
	padding: 0;
	border: 0
}

.mfp-close {
	width: 44px;
	height: 44px;
	line-height: 44px;
	position: absolute;
	right: 0;
	top: 0;
	text-decoration: none;
	text-align: center;
	opacity: .65;
	padding: 0 0 18px 10px;
	color: #fff;
	font-style: normal;
	font-size: 28px;
	font-family: Arial, Baskerville, monospace
}

.mfp-close:focus,
.mfp-close:hover {
	opacity: 1
}

.mfp-close:active {
	top: 1px
}

.mfp-close-btn-in .mfp-close {
	color: #333
}

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
	color: #fff;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	width: 100%
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #ccc;
	font-size: 12px;
	line-height: 18px;
	white-space: nowrap
}

.mfp-arrow {
	position: absolute;
	opacity: .65;
	margin: 0;
	top: 50%;
	margin-top: -55px;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
	margin-top: -54px
}

.mfp-arrow:focus,
.mfp-arrow:hover {
	opacity: 1
}

.mfp-arrow:after,
.mfp-arrow:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: medium inset transparent
}

.mfp-arrow:after {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px
}

.mfp-arrow:before {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: .7
}

.mfp-arrow-left {
	left: 0
}

.mfp-arrow-left:after {
	border-right: 17px solid #fff;
	margin-left: 31px
}

.mfp-arrow-left:before {
	margin-left: 25px;
	border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
	right: 0
}

.mfp-arrow-right:after {
	border-left: 17px solid #fff;
	margin-left: 39px
}

.mfp-arrow-right:before {
	border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
	padding-top: 40px;
	padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 900px
}

.mfp-iframe-holder .mfp-close {
	top: -40px
}

.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #000
}

img.mfp-img {
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	line-height: 0;
	box-sizing: border-box;
	padding: 40px 0 40px;
	margin: 0 auto
}

.mfp-figure {
	line-height: 0
}

.mfp-figure:after {
	content: '';
	position: absolute;
	left: 0;
	top: 40px;
	bottom: 40px;
	display: block;
	right: 0;
	width: auto;
	height: auto;
	z-index: -1;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #444
}

.mfp-figure small {
	color: #bdbdbd;
	display: block;
	font-size: 12px;
	line-height: 14px
}

.mfp-figure figure {
	margin: 0
}

.mfp-bottom-bar {
	margin-top: -36px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto
}

.mfp-title {
	text-align: left;
	line-height: 18px;
	color: #f3f3f3;
	word-wrap: break-word;
	padding-right: 36px
}

.mfp-image-holder .mfp-content {
	max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
	cursor: pointer
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0
	}

	.mfp-img-mobile img.mfp-img {
		padding: 0
	}

	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0
	}

	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px
	}

	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, .6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		box-sizing: border-box
	}

	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0
	}

	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px
	}

	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		background: rgba(0, 0, 0, .6);
		position: fixed;
		text-align: center;
		padding: 0
	}
}

@media all and (max-width:900px) {
	.mfp-arrow {
		-webkit-transform: scale(.75);
		transform: scale(.75)
	}

	.mfp-arrow-left {
		-webkit-transform-origin: 0;
		transform-origin: 0
	}

	.mfp-arrow-right {
		-webkit-transform-origin: 100%;
		transform-origin: 100%
	}

	.mfp-container {
		padding-left: 6px;
		padding-right: 6px
	}
}



/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}

@media screen and (min-width: 769px),
print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}

	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}

@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	img.sp,
	span.sp,
	br.sp,
	em.sp,
	strong.sp {
		display: inline !important;
	}

	td.sp,
	th.sp {
		display: table-cell !important;
	}

	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}

@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}

	img.sps,
	spsan.sps,
	br.sps,
	em.sps,
	strong.sps {
		display: inline !important;
	}

	.sps_non {
		display: none !important;
	}
}


/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {

	body.init a[href],
	body.init a[href]::before,
	body.init a[href]::after,
	body.init button,
	body.init .basic_trs,
	body.init .basic_trs::before,
	body.init .basic_trs::after,
	body.init .basic_trs *,
	body.init .basic_trs *::before,
	body.init .basic_trs *::after {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
}


/* color
============================================================================================================ */
.c_theme {
	color: #8c783c;
}

/* font
============================================================================================================ */
.fwb {
	font-weight: bold;
}

.fwn {
	font-weight: normal;
}

/* hover
============================================================================================================ */
@media screen and (min-width: 769px),
print {

	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}

	a.hv_wh::after,
	button.hv_wh::after,
	a .hv_wh::after,
	.hv_wh a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255, 255, 255, 0);
		z-index: 3;
	}

	body.init a.hv_wh::after,
	body.init button.hv_wh::after,
	body.init a .hv_wh::after,
	body.init .hv_wh a::after {
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
	}

	a[href].hv_wh:hover::after,
	button.hv_wh:hover::after,
	a[href]:hover .hv_wh::after,
	.hv_wh a[href]:hover::after {
		background-color: rgba(255, 255, 255, 0.3);
	}

	a[href].hv_wh.a20:hover::after,
	button.hv_wh.a20:hover::after,
	a[href]:hover .hv_wh.a20::after,
	.hv_wh.a20 a[href]:hover::after {
		background-color: rgba(255, 255, 255, 0.2);
	}

	a[href].hv_wh.a10:hover::after,
	button.hv_wh.a10:hover::after,
	a[href]:hover .hv_wh.a10::after,
	.hv_wh.a10 a[href]:hover::after {
		background-color: rgba(255, 255, 255, 0.1);
	}

	body.init a[href] .hv_op {
		-webkit-transition: opacity 0.2s;
		-o-transition: opacity 0.2s;
		transition: opacity 0.2s;
	}

	a[href].hv_op:hover,
	a[href]:hover .hv_op,
	button.hv_op:hover,
	.hv_op a[href]:hover {
		opacity: 0.7;
	}

	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20,
	.hv_op.a20 a[href]:hover {
		opacity: 0.8;
	}

	a[href].hv_op.a10:hover,
	a[href]:hover .hv_op.a10,
	.hv_op.a10 a[href]:hover {
		opacity: 0.9;
	}

	a[href].hv_op.a50:hover,
	a[href]:hover .hv_op.a50,
	.hv_op.a50 a[href]:hover {
		opacity: 0.5;
	}

	body.init a[href] .hv_zoom>* {
		-webkit-transition: -webkit-transform 0.6s, opacity .3s;
		-o-transition: -o-transform 0.6s, opacity .3s;
		transition: transform 0.6s, opacity .3s;
	}

	a[href]:hover .hv_zoom>* {
		-webkit-transform: scale(1.05);
		-ms-transform: scale(1.05);
		-o-transform: scale(1.05);
		transform: scale(1.05);
	}

	a[href]:hover .hv_zoom.z>* {
		-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}

	a[href]:hover .hv_zoom.s>* {
		-webkit-transform: scale(1.03);
		-ms-transform: scale(1.03);
		-o-transform: scale(1.03);
		transform: scale(1.03);
	}
}


/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -110px;
}

.target.pt {
	top: -130px;
}

@media screen and (max-width: 768px) {
	.target {
		top: -60px
	}

	.target.pt {
		top: -80px;
	}
}

@media screen and (max-width: 370px) {
	.target {
		top: -50px
	}

	.target.pt {
		top: -70px;
	}
}


/* w
============================================================================================================ */
.w {
	position: relative;
}

@media screen and (min-width: 769px),
print {
	.w {
		max-width: 1040px;
		margin: 0 auto;
	}

	.mw {
		min-width: 1080px;
	}

	.sw {
		max-width: 760px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px) {
	.w {}

	.mw {}
}


/* margin
============================================================================================================ */
.m00 {
	margin: 0 !important;
}

.mb00 {
	margin-bottom: 0 !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb08 {
	margin-bottom: 8px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mt00 {
	margin-top: 0 !important;
}

.mt05 {
	margin-top: 5px !important;
}

.mt08 {
	margin-top: 8px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

@media screen and (min-width: 769px),
print {
	.pc_m00 {
		margin: 0 !important;
	}

	.pc_mb00 {
		margin-bottom: 0 !important;
	}

	.pc_mb05 {
		margin-bottom: 5px !important;
	}

	.pc_mb08 {
		margin-bottom: 8px !important;
	}

	.pc_mb10 {
		margin-bottom: 10px !important;
	}

	.pc_mb15 {
		margin-bottom: 15px !important;
	}

	.pc_mb20 {
		margin-bottom: 20px !important;
	}

	.pc_mb25 {
		margin-bottom: 25px !important;
	}

	.pc_mb30 {
		margin-bottom: 30px !important;
	}

	.pc_mb35 {
		margin-bottom: 35px !important;
	}

	.pc_mb40 {
		margin-bottom: 40px !important;
	}

	.pc_mb45 {
		margin-bottom: 45px !important;
	}

	.pc_mb50 {
		margin-bottom: 50px !important;
	}

	.pc_mt00 {
		margin-top: 0 !important;
	}

	.pc_mt05 {
		margin-top: 5px !important;
	}

	.pc_mt08 {
		margin-top: 8px !important;
	}

	.pc_mt10 {
		margin-top: 10px !important;
	}

	.pc_mt15 {
		margin-top: 15px !important;
	}

	.pc_mt20 {
		margin-top: 20px !important;
	}

	.pc_mt25 {
		margin-top: 25px !important;
	}

	.pc_mt30 {
		margin-top: 30px !important;
	}

	.pc_mt35 {
		margin-top: 35px !important;
	}

	.pc_mt40 {
		margin-top: 40px !important;
	}

	.pc_mt45 {
		margin-top: 45px !important;
	}

	.pc_mt50 {
		margin-top: 50px !important;
	}
}

@media screen and (max-width: 768px) {
	.sp_m00 {
		margin: 0 !important;
	}

	.sp_mb00 {
		margin-bottom: 0 !important;
	}

	.sp_mb05 {
		margin-bottom: 5px !important;
	}

	.sp_mb08 {
		margin-bottom: 8px !important;
	}

	.sp_mb10 {
		margin-bottom: 10px !important;
	}

	.sp_mb15 {
		margin-bottom: 15px !important;
	}

	.sp_mb20 {
		margin-bottom: 20px !important;
	}

	.sp_mb25 {
		margin-bottom: 25px !important;
	}

	.sp_mb30 {
		margin-bottom: 30px !important;
	}

	.sp_mb35 {
		margin-bottom: 35px !important;
	}

	.sp_mb40 {
		margin-bottom: 40px !important;
	}

	.sp_mb45 {
		margin-bottom: 45px !important;
	}

	.sp_mb50 {
		margin-bottom: 50px !important;
	}

	.sp_mt00 {
		margin-top: 0 !important;
	}

	.sp_mt05 {
		margin-top: 5px !important;
	}

	.sp_mt08 {
		margin-top: 8px !important;
	}

	.sp_mt10 {
		margin-top: 10px !important;
	}

	.sp_mt15 {
		margin-top: 15px !important;
	}

	.sp_mt20 {
		margin-top: 20px !important;
	}

	.sp_mt25 {
		margin-top: 25px !important;
	}

	.sp_mt30 {
		margin-top: 30px !important;
	}

	.sp_mt35 {
		margin-top: 35px !important;
	}

	.sp_mt40 {
		margin-top: 40px !important;
	}

	.sp_mt45 {
		margin-top: 45px !important;
	}

	.sp_mt50 {
		margin-top: 50px !important;
	}
}

.mgt0rem {
	margin-top: 0 !important;
}

.mgt0_5rem {
	margin-top: 0.5rem !important;
}

.mgt1rem {
	margin-top: 1rem !important;
}

.mgt1_5rem {
	margin-top: 1.5rem !important;
}

.mgt2rem {
	margin-top: 2rem !important;
}

.mgt2_5rem {
	margin-top: 2.5rem !important;
}

.mgt3rem {
	margin-top: 3rem !important;
}

.mgt3_5rem {
	margin-top: 3.5rem !important;
}

.mgt4rem {
	margin-top: 4rem !important;
}

.mgt4_5rem {
	margin-top: 4.5rem !important;
}

.mgt5rem {
	margin-top: 5rem !important;
}

.mgb0rem {
	margin-bottom: 0 !important;
}

.mgb0_5rem {
	margin-bottom: 0.5rem !important;
}

.mgb1rem {
	margin-bottom: 1rem !important;
}

.mgb1_5rem {
	margin-bottom: 1.5rem !important;
}

.mgb2rem {
	margin-bottom: 2rem !important;
}

.mgb2_5rem {
	margin-bottom: 2.5rem !important;
}

.mgb3rem {
	margin-bottom: 3rem !important;
}

.mgb3_5rem {
	margin-bottom: 3.5rem !important;
}

.mgb4rem {
	margin-bottom: 4rem !important;
}

.mgb4_5rem {
	margin-bottom: 4.5rem !important;
}

.mgb5rem {
	margin-bottom: 5rem !important;
}

.mgl0rem {
	margin-left: 0 !important;
}

.mgl0_5rem {
	margin-left: 0.5rem !important;
}

.mgl1rem {
	margin-left: 1rem !important;
}

.mgl1_5rem {
	margin-left: 1.5rem !important;
}

.mgl2rem {
	margin-left: 2rem !important;
}

.mgl2_5rem {
	margin-left: 2.5rem !important;
}

.mgl3rem {
	margin-left: 3rem !important;
}

.mgl3_5rem {
	margin-left: 3.5rem !important;
}

.mgl4rem {
	margin-left: 4rem !important;
}

.mgl4_5rem {
	margin-left: 4.5rem !important;
}

.mgl5rem {
	margin-left: 5rem !important;
}

.mgr0rem {
	margin-right: 0 !important;
}

.mgr0_5rem {
	margin-right: 0.5rem !important;
}

.mgr1rem {
	margin-right: 1rem !important;
}

.mgr1_5rem {
	margin-right: 1.5rem !important;
}

.mgr2rem {
	margin-right: 2rem !important;
}

.mgr2_5rem {
	margin-right: 2.5rem !important;
}

.mgr3rem {
	margin-right: 3rem !important;
}

.mgr3_5rem {
	margin-right: 3.5rem !important;
}

.mgr4rem {
	margin-right: 4rem !important;
}

.mgr4_5rem {
	margin-right: 4.5rem !important;
}

.mgr5rem {
	margin-right: 5rem !important;
}


/* padding
============================================================================================================ */
.pdt0rem {
	padding-top: 0 !important;
}

.pdt0_5rem {
	padding-top: 0.5rem !important;
}

.pdt1rem {
	padding-top: 1rem !important;
}

.pdt1_5rem {
	padding-top: 1.5rem !important;
}

.pdt2rem {
	padding-top: 2rem !important;
}

.pdt2_5rem {
	padding-top: 2.5rem !important;
}

.pdt3rem {
	padding-top: 3rem !important;
}

.pdt3_5rem {
	padding-top: 3.5rem !important;
}

.pdt4rem {
	padding-top: 4rem !important;
}

.pdt4_5rem {
	padding-top: 4.5rem !important;
}

.pdt5rem {
	padding-top: 5rem !important;
}

.pdb0rem {
	padding-bottom: 0 !important;
}

.pdb0_5rem {
	padding-bottom: 0.5rem !important;
}

.pdb1rem {
	padding-bottom: 1rem !important;
}

.pdb1_5rem {
	padding-bottom: 1.5rem !important;
}

.pdb2rem {
	padding-bottom: 2rem !important;
}

.pdb2_5rem {
	padding-bottom: 2.5rem !important;
}

.pdb3rem {
	padding-bottom: 3rem !important;
}

.pdb3_5rem {
	padding-bottom: 3.5rem !important;
}

.pdb4rem {
	padding-bottom: 4rem !important;
}

.pdb4_5rem {
	padding-bottom: 4.5rem !important;
}

.pdb5rem {
	padding-bottom: 5rem !important;
}

.pdl0rem {
	padding-left: 0 !important;
}

.pdl0_5rem {
	padding-left: 0.5rem !important;
}

.pdl1rem {
	padding-left: 1rem !important;
}

.pdl1_5rem {
	padding-left: 1.5rem !important;
}

.pdl2rem {
	padding-left: 2rem !important;
}

.pdl2_5rem {
	padding-left: 2.5rem !important;
}

.pdl3rem {
	padding-left: 3rem !important;
}

.pdl3_5rem {
	padding-left: 3.5rem !important;
}

.pdl4rem {
	padding-left: 4rem !important;
}

.pdl4_5rem {
	padding-left: 4.5rem !important;
}

.pdl5rem {
	padding-left: 5rem !important;
}

.pdr0rem {
	padding-right: 0 !important;
}

.pdr0_5rem {
	padding-right: 0.5rem !important;
}

.pdr1rem {
	padding-right: 1rem !important;
}

.pdr1_5rem {
	padding-right: 1.5rem !important;
}

.pdr2rem {
	padding-right: 2rem !important;
}

.pdr2_5rem {
	padding-right: 2.5rem !important;
}

.pdr3rem {
	padding-right: 3rem !important;
}

.pdr3_5rem {
	padding-right: 3.5rem !important;
}

.pdr4rem {
	padding-right: 4rem !important;
}

.pdr4_5rem {
	padding-right: 4.5rem !important;
}

.pdr5rem {
	padding-right: 5rem !important;
}


/* spパディング
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_pd {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sp_full {
		margin-left: -20px !important;
		margin-right: -20px !important;
	}

	.sp_full_r {
		margin-right: -20px !important;
	}
}

@media screen and (max-width: 370px) {
	.sp_pd {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.sp_full {
		margin-left: -15px !important;
		margin-right: -15px !important;
	}

	.sp_full_r {
		padding-right: 15px !important;
	}
}


/* header
============================================================================================================ */
#header {
	top: 0;
	left: 0;
	right: 0;
	font-size: 1.4rem;
}

#header::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background-color: #000000;
}

@media print {
	#header {
		position: absolute;
	}
}

@media screen and (min-width: 769px),
print {
	#header {
		position: absolute;
	}

	#header::before,
	#header .logo,
	#header nav .lnav,
	#header nav .hnav,
	#header nav .gnav,
	#header .search_btn,
	#header .search_form {
		position: fixed;
	}

	#header.no-fixed::before,
	#header.no-fixed .logo,
	#header.no-fixed nav .lnav,
	#header.no-fixed nav .hnav,
	#header.no-fixed nav .gnav,
	#header.no-fixed .search_btn,
	#header.no-fixed .search_form {
		position: absolute;
	}

	#header::before {
		height: 50px;
		z-index: 990;
	}

	#header .logo {
		top: 0;
		left: 30px;
		z-index: 995;
	}

	#header .logo a {
		display: block;
		padding: 10px;
	}

	#header nav a {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
		text-decoration: none;
	}

	#header nav ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}

	#header nav .lnav {
		right: 310px;
		top: 0;
		z-index: 1003;
	}

	#header nav .lnav>li {
		position: relative;
	}

	#header nav .lnav>li>a {
		position: relative;
		height: 50px;
		padding: 0 12px;
		color: #e3e3e3;
		font-size: 1.3rem;
		white-space: nowrap;
	}

	#header nav .lnav .global>a {
		padding-right: 28px;
		cursor: pointer;
	}

	body.init #header nav .lnav .global>a {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}

	#header nav .lnav .global>a::after {
		content: "";
		position: absolute;
		right: 14px;
		top: 50%;
		margin-top: -3px;
		border-style: solid;
		border-width: 6px 3px 0 3px;
		border-color: #e3e3e3 transparent transparent transparent;
	}

	#header nav .lnav>li.global:hover>a,
	#header nav .lnav>li>a[href]:hover {
		opacity: .7;
	}

	#header nav .lnav .dd {
		overflow: hidden;
		position: absolute;
		left: 0;
		top: 50px;
		height: 0;
		opacity: 0;
	}

	#header nav .lnav .dd ul {
		display: block;
		background-color: #222;
		-webkit-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-o-transform: translateY(-10px);
		transform: translateY(-10px);
	}

	#header nav .lnav .dd li+li {
		border-top: 1px solid rgba(255, 255, 255, .2);
	}

	#header nav .lnav .dd a {
		display: block;
		padding: 10px 12px;
		color: #e3e3e3;
		font-size: 1.3rem;
		white-space: nowrap;
	}

	#header nav .lnav li.hover .dd {
		opacity: 1;
	}

	#header nav .lnav li.hover .dd ul {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}

	body.init #header nav .lnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}

	body.init #header nav .lnav .dd ul {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	#header nav .hnav {
		right: 50px;
		top: 0;
		z-index: 995;
	}

	#header nav .hnav li {
		width: 112px;
		margin-left: 4px;
		background-color: #fff;
	}

	#header nav .hnav li a {
		height: 50px;
		background-color: #414141;
		color: #fff;
	}

	#header nav .hnav .login a {
		background-color: #024085;
	}

	#header nav .hnav .contact a {
		background-color: #dc000c;
	}

	#header nav .hnav li a:hover {
		opacity: .7;
	}

	#header nav .gnav {
		top: 50px;
		right: 0;
		left: 0;
		font-size: 1.3rem;
		background-color: #fff;
		z-index: 995;
	}

	#header nav .gnav::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		border-bottom: 1px solid #e3e3e3;
		z-index: 2;
	}

	#header nav .gnav ul {
		justify-content: center;
	}

	#header nav .gnav li a {
		position: relative;
		height: 60px;
		padding: 0 16px;
		color: #000;
	}

	#header nav .gnav li a::after {
		content: "";
		position: absolute;
		right: 16px;
		left: 16px;
		bottom: 15px;
		border-top: 2px solid #dc000c;
		-webkit-transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
		-o-transition: opacity .2s ease-in-out, -o-transform .2s ease-in-out;
		transition: opacity .2s ease-in-out, transform .2s ease-in-out;
		-webkit-transform: translateY(2px);
		-ms-transform: translateY(2px);
		-o-transform: translateY(2px);
		transform: translateY(2px);
		opacity: 0;
	}

	#header nav .gnav li a:hover::after,
	#header nav .gnav li a.current::after {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}

	#header nav .gnav ul ul {
		display: none;
	}

	#header .search_btn {
		right: 0;
		top: 0;
		z-index: 1000;
	}

	#header .search_btn a {
		display: block;
		padding: 10px;
		background-color: #000;
	}

	#header .search_btn a:hover {
		opacity: .7;
	}

	#header .search_btn a svg {
		width: 30px;
		height: 30px;
	}

	#header .search_form {
		overflow: hidden;
		right: 0;
		left: 0;
		top: 50px;
		height: 0;
		background-color: #e3e3e3;
		z-index: 1001;
	}

	#header .search_form::after {
		content: "";
		position: absolute;
		right: 25px;
		width: 15px;
		height: 15px;
		top: -6px;
		background-color: #000;
		-webkit-transform-origin: 100% 100%;
		-moz-transform-origin: 100% 100%;
		-ms-transform-origin: 100% 100%;
		-o-transform-origin: 100% 100%;
		transform-origin: 100% 100%;
		-webkit-transform: scaleX(.8) rotate(45deg);
		-ms-transform: scaleX(.8) rotate(45deg);
		-o-transform: scaleX(.8) rotate(45deg);
		transform: scaleX(.8) rotate(45deg);
	}

	#header .search_form form {
		position: absolute;
		bottom: 16px;
		right: 0;
		left: 0;
		text-align: center;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}

	#header .search_form form::before {
		content: "サイト内検索";
		margin-right: 12px;
		font-size: 1.2rem;
		color: #808080;
	}

	#header .search_form form input[type=search] {
		width: 263px;
		height: 28px;
		background-color: #fff;
		border: 0;
		border-left: 3px solid #000;
		padding: 0 .5em;
	}

	#header .search_form form ::-webkit-input-placeholder {
		color: #fff;
	}

	#header .search_form form :-ms-input-placeholder {
		color: #fff;
	}

	#header .search_form form ::-moz-placeholder {
		color: #fff;
	}

	#header .search_form form button {
		width: 30px;
		height: 28px;
		padding: 0;
		background-color: #000;
		border: 0;
	}

	#header .search_form form button svg {
		width: 22px;
		height: 22px;
	}

	#header .search_form form button:hover {
		opacity: .7;
	}

	#header .search_form .close {
		position: absolute;
		bottom: 16px;
		right: 60px;
		padding: 4px 20px 4px 5px;
		font-size: 1.2rem;
		color: #000;
		text-decoration: none;
	}

	#header .search_form .close::before,
	#header .search_form .close::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 16px;
		border-top: 1px solid #000;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#header .search_form .close::after {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	#header .search_form .close:hover {
		opacity: .7;
	}
}

@media screen and (min-width: 769px) {
	body.init #header nav .gnav {
		-webkit-transition: top .3s;
		-o-transition: top .3s;
		transition: top .3s;
	}

	body.init #header .search_form {
		-webkit-transition: height .3s;
		-o-transition: height .3s;
		transition: height .3s;
	}

	body.init #header.search_open nav .gnav {
		top: 110px;
	}

	body.init #header.search_open .search_form {
		height: 60px;
	}
}

@media screen and (max-width: 768px) {
	#header {
		position: fixed;
		z-index: 1000;
	}

	#header.no-fixed {
		position: absolute;
	}

	#header::before {
		height: 60px;
		z-index: 3;
	}

	#header::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		top: 59px;
		border-top: 1px solid #202020;
		opacity: 0;
		z-index: 5;
		pointer-events: none;
		-webkit-transition: opacity 0.3s;
		-o-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}

	#header .logo {
		position: relative;
		z-index: 5;
	}

	#header .logo a {
		display: inline-block;
		padding: 15px 20px;
	}

	/* nav_btn */
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 5;
	}

	#header .nav_btn a {
		position: relative;
		display: block;
		height: 60px;
		-webkit-transition: background 0.3s;
		-o-transition: background 0.3s;
		transition: background 0.3s;
	}

	#header .nav_btn:before,
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 24px;
		height: 3px;
		margin-top: -1px;
		margin-left: -12px;
		background-color: #fff;
		border-radius: 3px;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
	}

	#header .nav_btn a::before {
		-webkit-transform: translateY(-9px);
		-ms-transform: translateY(-9px);
		-o-transform: translateY(-9px);
		transform: translateY(-9px);
	}

	#header .nav_btn a::after {
		-webkit-transform: translateY(9px);
		-ms-transform: translateY(9px);
		-o-transform: translateY(9px);
		transform: translateY(9px);
	}

	/* nav_btn open */
	#header.nav_open .nav_btn::before {
		opacity: 0;
	}

	#header.nav_open .nav_btn a::before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}

	#header.nav_open .nav_btn a::after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}

	#header.nav_open::after {
		opacity: 1;
	}

	/* search_btn */
	#header .search_btn {
		position: absolute;
		right: 60px;
		top: 0;
		z-index: 5;
	}

	#header .search_btn::before {
		content: "";
		position: absolute;
		top: 15px;
		right: -1px;
		bottom: 15px;
		border-right: 1px solid #262626;
		pointer-events: none;
	}

	#header .search_btn a {
		position: relative;
		display: block;
		padding: 15px 10px;
	}

	#header .search_btn a svg {
		width: 30px;
		height: 30px;
		-webkit-transition: opacity 0.3s;
		-o-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}

	#header .search_btn a::before,
	#header .search_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 24px;
		height: 3px;
		margin-top: -1px;
		margin-left: -12px;
		background-color: #fff;
		border-radius: 3px;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		opacity: 0;
	}

	#header .search_btn a:after {}

	/* search_btn open */
	#header.search_open .search_btn a svg {
		opacity: 0;
	}

	#header.search_open .search_btn a::before,
	#header.search_open .search_btn a::after {
		opacity: 1;
	}

	#header.search_open .search_btn a::after {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	/* nav */
	#header nav {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		max-height: 100vh;
		padding-top: 60px;
		background-color: #000000;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	body.init #header nav {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	/* open */
	#header.nav_open nav {
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		-o-transform: translateY(0%);
		transform: translateY(0%);
		z-index: 2;
	}

	/* a */
	#header nav a {
		position: relative;
		display: block;
		font-size: 1.6rem;
		text-decoration: none;
		color: #000;
	}

	/* lnav */
	#header nav .lnav {
		padding: 25px 20px 0;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}

	#header nav .lnav>li {
		width: calc(50% - 6px);
	}

	#header nav .lnav>li>a {
		text-align: center;
		padding: 15px 0;
		border: 1px solid #202020;
		color: #e3e3e3;
	}

	#header nav .lnav>.global>a::after {
		content: "";
		display: inline-block;
		vertical-align: middle;
		margin-left: 10px;
		margin-top: -3px;
		border-style: solid;
		border-width: 6px 3px 0 3px;
		border-color: #e3e3e3 transparent transparent transparent;
	}

	#header nav .lnav .dd {
		position: relative;
		overflow: hidden;
		height: 0;
		opacity: 0;
		width: calc(200% + 12px);
	}

	#header nav .lnav .dd ul {
		padding-top: 5px;
	}

	#header nav .lnav .dd li+li {
		margin-top: 3px;
	}

	#header nav .lnav .dd a {
		padding: 10px 12px;
		color: #e3e3e3;
		background-color: #222;
		font-size: 1.4rem;
	}

	body.init #header nav .lnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}

	body.init #header nav .lnav>.global>a::after {
		-webkit-transition: -webkit-transform 0.3s ease-in-out;
		-o-transition: -o-transform 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out;
	}

	#header nav .lnav a.open::after {
		-webkit-transform: translateY(-1px) rotate(180deg);
		-ms-transform: translateY(-1px) rotate(180deg);
		-o-transform: translateY(-1px) rotate(180deg);
		transform: translateY(-1px) rotate(180deg);
	}

	#header nav .lnav a.open+.dd {
		opacity: 1;
	}



	/* hnav */
	#header nav .hnav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 0 20px 25px;
	}

	#header nav .hnav li {
		margin-top: 12px;
		width: calc(50% - 6px);
	}

	#header nav .hnav .login,
	#header nav .hnav .contact {
		width: calc(50% - 6px);
	}

	#header nav .hnav li a {
		text-align: center;
		padding: 16px;
		background-color: #414141;
		color: #fff;
	}

	#header nav .hnav .login a {
		background-color: #024085;
	}

	#header nav .hnav .contact a {
		background-color: #dc000c;
	}

	#header nav .hnav li {
		display: none;
	}

	#header nav .hnav .login,
	#header nav .hnav .contact {
		display: block;
	}

	/* gnav */
	#header nav .gnav {
		background-color: #fff;
	}

	#header nav .gnav li {
		border-bottom: 1px solid #b2b2b2;
	}

	#header nav .gnav li a {
		padding: 18px 35px 18px 20px;
	}

	#header nav .gnav li a::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 26px;
		width: 12px;
		height: 12px;
		margin-top: -6px;
		border-top: 3px solid #e6e6e6;
		border-right: 3px solid #e6e6e6;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#header nav .gnav li.has_dd>a::before,
	#header nav .gnav li.has_dd>a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 20px;
		height: 0;
		margin-top: -1px;
		border-top: 3px solid #e6e6e6;
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
	}

	#header nav .gnav li.has_dd>a::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	#header nav .gnav .dd {
		position: relative;
		overflow: hidden;
		height: 0;
	}

	#header nav .gnav .dd ul {}

	#header nav .gnav .dd li {
		border-top: 1px solid #b2b2b2;
		border-bottom: 0;
	}

	#header nav .gnav .dd a {
		padding-left: 40px;
	}

	body.init #header nav .gnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}

	body.init #header nav .gnav li.has_dd>a::after {
		-webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, -o-transform 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
	}

	#header nav .gnav li.has_dd>a.open::after {
		opacity: 0;
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
	}

	/* search_form */
	#header .search_form {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		max-height: 100vh;
		padding-top: 60px;
		background-color: #262626;
		-webkit-transform: translateY(-100%);
		-ms-transform: translateY(-100%);
		-o-transform: translateY(-100%);
		transform: translateY(-100%);
	}

	body.init #header .search_form {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	/* open */
	#header.search_open .search_form {
		-webkit-transform: translateY(0%);
		-ms-transform: translateY(0%);
		-o-transform: translateY(0%);
		transform: translateY(0%);
		z-index: 2;
	}

	/* form */
	#header .search_form form {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}

	#header .search_form form input[type=search] {
		width: calc(100% - 60px);
		height: 60px;
		background-color: #262626;
		border: 0;
		padding: 0 20px;
		color: #fff;
	}

	#header .search_form form ::-webkit-input-placeholder {
		color: #808080;
		font-size: 1.4rem;
	}

	#header .search_form form :-ms-input-placeholder {
		color: #808080;
		font-size: 1.4rem;
	}

	#header .search_form form ::-moz-placeholder {
		color: #808080;
		font-size: 1.4rem;
	}

	#header .search_form form button {
		width: 60px;
		height: 60px;
		padding: 0;
		background-color: #262626;
		border: 0;
		border-left: 1px solid #464646;
	}

	#header .search_form form button svg {
		width: 30px;
		height: 30px;
	}

	#header .search_form .close {
		display: none;
	}
}

@media screen and (max-width: 370px) {
	#header::before {
		height: 50px;
	}

	#header .logo a {
		padding: 10px 15px;
	}

	/* nav_btn */
	#header .nav_btn {
		width: 50px;
		height: 50px;
	}

	#header .nav_btn a {
		height: 50px;
	}

	/* search_btn */
	#header .search_btn {
		right: 50px;
	}

	#header .search_btn::before {
		top: 10px;
		bottom: 10px;
	}

	#header .search_btn a {
		padding: 10px 5px;
	}

	/* nav */
	#header nav a {
		font-size: 1.5rem;
	}

	#header nav,
	#header .search_form {
		padding-top: 50px;
	}

	#header nav .lnav,
	#header nav .hnav {
		padding-right: 15px;
		padding-left: 15px;
	}
}


/* footer
============================================================================================================ */
#footer {
	padding-top: 60px;
	background-color: #1a1a1a;
	color: #fff;
}

#footer a {
	text-decoration: none;
}

@media screen and (min-width: 769px),
print {
	#footer a:hover {
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	#footer {
		padding-top: 25px;
	}
}

/* nav
------------------------------------------------------------- */
#footer .nav {
	position: relative;
}

#footer .nav nav {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

#footer .nav nav dt {
	margin-bottom: 10px;
	font-size: 1.4rem;
	opacity: 0.5;
}

#footer .nav nav dd {
	margin-left: 12px;
}

#footer .nav nav ul {
	border-left: 1px solid #474747;
}

#footer .nav nav a {
	display: block;
	padding: 6px 12px;
	font-size: 1.2rem;
	color: #fff;
}

#footer .nav nav ul svg {
	width: 20px;
	height: 20px;
	margin-right: 5px;
}

@media screen and (min-width: 769px),
print {
	#footer .nav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		margin-bottom: 60px;
	}

	#footer .nav nav {
		padding-top: 10px;
	}

	#footer .nav nav dl {
		width: 200px;
	}
}

@media screen and (max-width: 768px) {
	#footer .nav {
		padding: 0 20px 20px;
	}

	#footer .nav .logo {
		margin-bottom: 20px;
	}

	#footer .nav .logo:first-child {
		padding-top: 5px;
	}

	#footer .nav .logo img {
		width: 140px;
	}

	#footer .nav nav {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	#footer .nav nav dl {
		width: 50%;
		padding-bottom: 20px;
	}

	#footer .nav nav dl:last-child {
		width: 100%;
	}

	#footer .nav nav dl li+li {
		margin-top: 8px;
	}
}

/* snav
------------------------------------------------------------- */
#footer .snav {
	background-color: #000000;
	border-bottom: 1px solid #333333;
	padding: 15px;
	font-size: 1.2rem;
}

#footer .snav ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}

#footer .snav ul a {
	color: #ccc;
}

@media screen and (min-width: 769px),
print {
	#footer .snav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}

	#footer .snav ul li {
		padding: 0 10px;
	}
}

@media screen and (max-width: 768px) {
	#footer .snav {
		padding: 20px 0 12px;
		font-size: 1rem;
	}

	#footer .snav ul a {
		display: block;
		margin-bottom: 8px;
		padding: 3px 10px;
	}
}

/* copyright
------------------------------------------------------------- */
#footer small {
	display: block;
	background-color: #000000;
	padding: 15px;
	color: #ccc;
	font-size: 1rem;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#footer small {
		padding: 22px 0;
	}
}

@media screen and (max-width: 370px) {
	#footer small {
		padding-right: 40px;
	}
}

/* ページトップ
------------------------------------------------------------- */
#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 85px;
	height: 85px;
	z-index: 1000;
}

#pagetop a {
	display: block;
	width: 45px;
	height: 45px;
	background-color: #fff;
	-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
	box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
	-webkit-transform: translateX(90px);
	-ms-transform: translateX(90px);
	-o-transform: translateX(90px);
	transform: translateX(90px);
}

body.init #pagetop a {
	-webkit-transition: -webkit-transform 0.3s ease-in-out, background .2s ease-in-out;
	-o-transition: -o-transform 0.3s ease-in-out, background .2s ease-in-out;
	transition: transform 0.3s ease-in-out, background .2s ease-in-out;
}

#pagetop.show a {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

#pagetop a>span {
	overflow: hidden;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 16px;
	margin-left: -8px;
}

#pagetop a>span::before,
#pagetop a>span::after {
	content: "";
	position: absolute;
	top: 12px;
	left: 50%;
	width: 100%;
	height: 100%;
	border-top: 3px solid #000000;
	border-left: 3px solid #000000;
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transform: scaleY(0.8) rotate(45deg);
	-ms-transform: scaleY(0.8) rotate(45deg);
	-o-transform: scaleY(0.8) rotate(45deg);
	transform: scaleY(0.8) rotate(45deg);
}

#pagetop a>span::after {
	top: 22px;
}

@media print {
	#pagetop {
		display: none;
	}
}

@media screen and (min-width: 769px),
print {
	#pagetop a:hover {
		background-color: #e3e3e3;
	}
}

@media screen and (max-width: 768px) {
	#pagetop {
		width: 50px;
		height: 65px;
	}

	#pagetop a {
		width: 40px;
		height: 40px;
		-webkit-transform: translateX(55px);
		-ms-transform: translateX(55px);
		-o-transform: translateX(55px);
		transform: translateX(55px);
	}

	#pagetop a>span::before {
		top: 11px;
	}

	#pagetop a>span::after {
		top: 20px;
	}
}



/* container
============================================================================================================ */
#container {
	padding-top: 110px;
	font-size: 1.4rem;
}

.print_page #container {
	padding-top: 0;
}

@media screen and (max-width: 768px) {
	#container {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-direction: column;
		padding-top: 60px;
	}
}

@media screen and (max-width: 370px) {
	#container {
		padding-top: 50px;
	}
}


/* bottom_sns
============================================================================================================ */
.bottom_sns {
	margin: 80px 0 26px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}

.bottom_sns li {
	padding: 0 18px;
}

.bottom_sns a svg,
.bottom_sns a img {
	width: 38px;
	height: 38px;
}

.bottom_sns a {
	color: #535353;
}

.bottom_sns .material-icons {
	vertical-align: middle;
	color: #535353;
}

@media screen and (min-width: 769px),
print {
	.bottom_sns a:hover {
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.bottom_sns {
		margin-top: 60px;
	}
}


/* bottom_btn
============================================================================================================ */
.bottom_btn {
	margin-top: 80px;
}

ul.bottom_btn {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}

@media screen and (min-width: 769px),
print {
	ul.bottom_btn>* {
		padding: 0 10px;
	}
}

@media screen and (max-width: 768px) {
	.bottom_btn {
		margin-top: 50px;
	}

	ul.bottom_btn {
		justify-content: space-between;
	}

	ul.bottom_btn>* {
		width: calc(50% - 5px);
	}
}




/* ===================================================================================================================

	カラーバリエーション

=================================================================================================================== */

/* blue */
.color-blue {
	color: #024085 !important;
}

.color-blue2 {
	color: #809ec2 !important;
}

.color-blue3 {
	color: #ccd8e7 !important;
}

.color-blue4 {
	color: #ebeff5 !important;
}

.bg-blue {
	background-color: #024085 !important;
}

.bg-blue2 {
	background-color: #809ec2 !important;
}

.bg-blue3 {
	background-color: #ccd8e7 !important;
}

.bg-blue4 {
	background-color: #ebeff5 !important;
}

.border-blue {
	border: 1px solid #024085 !important;
}

.border-blue2 {
	border: 1px solid #809ec2 !important;
}

.border-blue3 {
	border: 1px solid #ccd8e7 !important;
}

.border-blue4 {
	border: 1px solid #ebeff5 !important;
}

/* red */
.color-red {
	color: #dc000c !important;
}

.color-red2 {
	color: #ed7f85 !important;
}

.color-red3 {
	color: #f8ccce !important;
}

.color-red4 {
	color: #fcebeb !important;
}

.bg-red {
	background-color: #dc000c !important;
}

.bg-red2 {
	background-color: #ed7f85 !important;
}

.bg-red3 {
	background-color: #f8ccce !important;
}

.bg-red4 {
	background-color: #fcebeb !important;
}

.border-red {
	border: 1px solid #dc000c !important;
}

.border-red2 {
	border: 1px solid #ed7f85 !important;
}

.border-red3 {
	border: 1px solid #f8ccce !important;
}

.border-red4 {
	border: 1px solid #fcebeb !important;
}

/* black */
.color-black {
	color: #000 !important;
}

.color-black2 {
	color: #1a1a1a !important;
}

.color-black3 {
	color: #414141 !important;
}

.color-black4 {
	color: #808080 !important;
}

.bg-black {
	background-color: #000 !important;
}

.bg-black2 {
	background-color: #1a1a1a !important;
}

.bg-black3 {
	background-color: #414141 !important;
}

.bg-black4 {
	background-color: #808080 !important;
}

.border-black {
	border: 1px solid #000 !important;
}

.border-black2 {
	border: 1px solid #1a1a1a !important;
}

.border-black3 {
	border: 1px solid #414141 !important;
}

.border-black4 {
	border: 1px solid #808080 !important;
}

/* white */
.color-white {
	color: #fff !important;
}

.color-white2 {
	color: #d5d5d5 !important;
}

.color-white3 {
	color: #e3e3e3 !important;
}

.color-white4 {
	color: #f7f7f7 !important;
}

.bg-white {
	background-color: #fff !important;
}

.bg-white2 {
	background-color: #d5d5d5 !important;
}

.bg-white3 {
	background-color: #e3e3e3 !important;
}

.bg-white4 {
	background-color: #f7f7f7 !important;
}

.border-white {
	border: 1px solid #fff !important;
}

.border-white2 {
	border: 1px solid #d5d5d5 !important;
}

.border-white3 {
	border: 1px solid #e3e3e3 !important;
}

.border-white4 {
	border: 1px solid #f7f7f7 !important;
}



/* ===================================================================================================================

	共通モジュール

=================================================================================================================== */

/* text-align
============================================================================================================ */
.text-left {
	text-align: left !important;
}

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

/* vartical-align
============================================================================================================ */
.v-center {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	height: 100%;
}

.v-center>* {
	width: 100%;
}

.v-bottom {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: flex-end;
	align-items: flex-end;
	height: 100%;
}

.v-bottom>* {
	width: 100%;
}

/* text-indent */
.txt-indent {
	text-indent: -1em;
	padding-left: 1em;
}

/* marker */
.marker-blue {
	background: linear-gradient(transparent 60%, #ccd8e7 60%);
}

.marker-red {
	background: linear-gradient(transparent 60%, #f8ccce 60%);
}

/* title
============================================================================================================ */
/* title_h1 */
.title_h1 {
	position: relative;
	margin: 60px 0 40px;
	padding-bottom: 16px;
	padding-left: .1em;
	text-align: center;
	border-bottom: 1px solid #959595;
	font-size: 3rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	font-weight: 500;
}

.title_h1::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 50%;
	width: 50px;
	margin-left: -25px;
	border-bottom: 1px solid #dc000c;
}

@media screen and (max-width: 768px) {
	.title_h1 {
		margin: 40px 0 32px;
		font-size: 2.4rem;
	}
}

/* title_h2 */
.title_h2 {
	position: relative;
	margin: 40px 0 32px;
	padding-bottom: 16px;
	border-bottom: 1px solid #959595;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.title_h2 {}
}

/* title_h3 */
.title_h3 {
	position: relative;
	margin: 40px 0 32px;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}

.title_h3:first-child {
	margin-top: 0;
}

.title_h3 .s {
	font-weight: normal;
	font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
	.title_h3 {
		font-size: 1.8rem;
	}

	.title_h3 .s {
		font-size: 1.2rem;
	}
}

/* title_h4 */
.title_h4 {
	position: relative;
	margin: 40px 0 32px;
	padding: 2px 0 2px 16px;
	border-left: 2px solid #dc000c;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 500;
}

.title_h4.blue {
	border-left-color: #004285;
}

.title_h4:first-child {
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	.title_h4 {}
}

/* title_border_b */
.title_border_b {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 6px;
	border-bottom: 2px solid #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.title_border_b {}
}

/* title_border_m */
.title_border_m {
	margin-bottom: 30px;
	padding: 0 20px 10px;
	border-bottom: 2px solid #b3b3b3;
	font-size: 1.6rem;
	font-weight: 700;
	color: #004285;
}

@media screen and (max-width: 768px) {
	.title_border_m {
		margin: 0 -10px 20px;
		padding: 0 10px 10px;
		border-bottom-width: 1px;
		font-size: 1.4rem;
		font-weight: 700;
		color: #004285;
	}
}

/* title_border_l */
.title_border_l {
	margin: 40px 0 32px;
	padding-left: 20px;
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 500;
	border-left: 2px solid #0a407e;
}

@media screen and (max-width: 768px) {
	.title_border_l {
		/*padding-left: 16px;*/
		padding-left: 0;
		border-left: 0;
		font-size: 2.4rem;
	}
}

/* title_box */
.title_box {
	margin: 80px 0 32px;
	padding: 6px 20px;
	background-color: #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
	color: #fff;
}

.products_section>.title_box:first-child {
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	.title_box {
		margin-top: 50px;
	}
}

/* title_box_outline */
.title_box_outline {
	margin-bottom: 40px;
	padding: 6px 16px;
	font-weight: 700;
	color: #063F85;
	border: 1px solid #063F85;
	font-size: 1.6rem;
}

/* title_border_ms */
.title_border_ms {
	margin-bottom: 25px;
	padding-bottom: 10px;
	border-bottom: 1px solid #808080;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 500;
	color: #808080;
}

@media screen and (max-width: 768px) {
	.title_border_ms {
		margin-bottom: 15px;
	}
}

/* title_btn */
.title_btn {
	position: relative;
}

.title_btn ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.title_btn ul li {
	margin-left: 20px;
}

.title_btn ul a {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
}

.title_btn ul a.catalog {
	color: #DC000C;
}

.title_btn ul a.catalog svg {
	margin-bottom: 2px;
	width: 24px;
	height: 24px;
	margin-right: 4px;
	vertical-align: middle;
}

.title_btn ul a.faq {
	color: #808080;
}

.title_btn ul a.faq svg {
	margin-bottom: 2px;
	width: 23px;
	height: 23px;
	margin-right: 8px;
	vertical-align: middle;
	opacity: 0.8;
}

@media screen and (min-width: 769px),
print {
	.title_btn ul {
		position: absolute;
		right: 0;
		top: -85px;
	}

	.title_h2+.title_btn ul {
		top: -75px;
	}
}

@media screen and (max-width: 768px) {
	.title_btn {
		margin-top: -16px;
		margin-bottom: 24px;
	}

	.title_btn ul {
		justify-content: flex-end;
	}

	.title_btn ul li {
		margin-left: 12px;
	}

	.title_btn ul a.catalog svg {
		width: 16px;
		height: 16px;
		margin-right: 2px;
	}

	.title_btn ul a.faq svg {
		width: 16px;
		height: 16px;
		margin-right: 4px;
	}
}

/* lead_text */
.lead_text {
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.lead_text {
		margin-bottom: 30px;
	}
}


/* btn
============================================================================================================ */
a.btn,
a .btn,
button.btn {
	position: relative;
	width: 300px;
	max-width: 100%;
	height: 50px;
	padding: 0 25px 0 15px;
	background-color: #004285;
	border: 0;
	color: #fff;
	text-decoration: none !important;
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: center;
	font-weight: 500;
}

a.btn,
a .btn {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
}

a.btn.red,
a .btn.red,
button.btn.red {
	background-color: #dc000c;
}

a.btn.gray,
a .btn.gray,
button.btn.gray {
	background-color: #808080;
}

a.btn.dark_gray,
a .btn.dark_gray,
button.btn.dark_gray {
	background-color: #535353;
}

a.btn.black,
a .btn.black,
button.btn.black {
	background-color: #000;
}

a.btn.border,
a .btn.border,
button.btn.border {
	background-color: #fff;
	color: #000;
	border: 2px solid #a8a8a8;
}

a.btn::after,
a .btn::after,
button.btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

a.btn.arrow_l::after,
a .btn.arrow_l::after,
button.btn.arrow_l::after {
	right: auto;
	left: 2px;
	-webkit-transform: scaleX(0.7) rotate(225deg);
	-ms-transform: scaleX(0.7) rotate(225deg);
	-o-transform: scaleX(0.7) rotate(225deg);
	transform: scaleX(0.7) rotate(225deg);
}

a.btn.border::after,
a .btn.border::after,
button.btn.border::after {
	border-color: #535353;
}

a.btn.no-arrow,
button.btn.no-arrow {
	padding-right: 15px;
}

a.btn.no-arrow::after,
a .btn.no-arrow::after,
button.btn.no-arrow::after {
	content: none;
}

a.btn.center,
a .btn.center,
button.btn.center {
	margin-right: auto;
	margin-left: auto;
}

.close a.btn {
	background-color: #fff;
	color: #000;
	border: 1px solid #000;
}

.close a.btn::after {
	content: none;
}

.close a.btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 12px;
	margin-top: -1px;
	border-top: 2px solid #535353;
}

a.btn .pdf,
a .btn .pdf {
	width: 22px;
	height: 22px;
	margin-right: 10px;
	vertical-align: middle;
}

a.btn .faq,
a .btn .faq {
	width: 20px;
	height: 20px;
	margin-right: 10px;
	vertical-align: middle;
}

a.btn.download,
a .btn.download {
	padding-right: 20px;
}

a.btn.download::before,
a .btn.download::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 15px;
	height: 15px;
	margin-top: -7.5px;
	background: url(../img/ico_download.svg) no-repeat;
	-webkit-background-size: 15px;
	background-size: 15px;
}

@media screen and (min-width: 769px),
print {
	body.init a[href] .btn {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}

	a.btn[href]:hover,
	a[href]:hover .btn,
	button.btn:hover {
		opacity: .7;
	}

	a.btn.s,
	a .btn.s,
	.btn_horizontal.s a.btn {
		width: 150px;
		height: 32px;
		padding: 0 15px;
		font-size: 1.2rem;
	}

	a.btn.s::after,
	a .btn.s::after,
	.btn_horizontal.s a.btn::after {
		right: 8px;
		width: 7px;
		height: 7px;
		border-top-width: 2px;
		border-right-width: 2px;
	}

	.close a.btn.s {
		padding-left: 10px;
		padding-right: 0;
	}

	.close a.btn[href]:hover {
		background-color: #eeeeee;
		opacity: 1;
	}

	a.btn.l,
	a .btn.l,
	.btn_horizontal.l a.btn {
		width: 700px;
		height: 70px;
	}
}

@media screen and (max-width: 768px) {

	a.btn,
	a .btn,
	button.btn {
		width: 100%;
		min-height: 50px;
		height: auto;
		padding: 0 20px 0 10px;
		font-size: 1.4rem;
	}

	a.btn.no-arrow,
	a .btn.no-arrow,
	button.btn.no-arrow {
		padding-right: 10px;
	}

	.close a.btn::before {
		width: 20px;
	}

	.sp_open a.btn {
		background-color: transparent;
		border: 1px solid #004285;
		color: #004285;
	}

	.sp_open a.btn::before,
	.sp_open a.btn::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 10px;
		right: auto;
		width: 20px;
		height: 0;
		margin-top: -1px;
		border-top: 2px solid #004285;
		border-right: 0;
		-webkit-transform-origin: 50%;
		-moz-transform-origin: 50%;
		-ms-transform-origin: 50%;
		-o-transform-origin: 50%;
		transform-origin: 50%;
	}

	.sp_open a.btn::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	.open .sp_open a.btn::after,
	.sp_open a.btn.open::after {
		opacity: 0;
	}

	.open .sp_open a.btn span span,
	.sp_open a.btn.open span span {
		display: none;
	}

	.open .sp_open a.btn span::after,
	.sp_open a.btn.open span::after {
		content: "閉じる";
	}

	body.init .sp_open a.btn::after {
		-webkit-transition: opacity 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out;
	}

}

.btn_horizontal {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}

.btn_horizontal li {
	margin: 0 !important;
	padding: 0 12px !important;
}

.btn_horizontal.s li {
	padding: 0 6px !important;
}

.btn_horizontal li::before {
	content: none !important;
}

@media screen and (min-width: 769px),
print {
	.btn_horizontal:not(.s) {
		margin-left: -12px;
		margin-right: -12px;
	}

	.btn_horizontal:not(.s) li {
		width: 33.33%;
		max-width: 324px;
	}

	.btn_horizontal:not(.s) li .btn {
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.btn_horizontal {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.sp_btn_horizontal {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.btn_horizontal li,
	.sp_btn_horizontal li {
		width: calc(50% - 7px) !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.btn_horizontal li:nth-child(2)~*,
	.sp_btn_horizontal li:nth-child(2)~* {
		margin-top: 14px !important;
	}

	.btn_horizontal.s li,
	.sp_btn_horizontal.s li {
		padding: 0 !important;
	}

	.btn_horizontal a.btn,
	.sp_btn_horizontal a.btn {
		font-size: 1.2rem;
	}

	.btn_horizontal.sp_btn_vertical li {
		width: 100% !important;
	}

	.btn_horizontal.sp_btn_vertical li~* {
		margin-top: 14px !important;
	}

	.btn_horizontal.sp_btn_vertical li a {
		font-size: 1.4rem;
	}
}


.back_link {
	margin-top: 70px;
}

.back_link.has_border {
	padding-top: 60px;
	border-top: 1px solid #e6e6e6;
}

@media screen and (max-width: 768px) {
	.back_link {
		margin-top: 40px;
	}

	.back_link.has_border {
		padding-top: 30px;
	}
}

/* ico
============================================================================================================ */
.ico_blank::after {
	content: "";
	display: inline-block;
	margin-left: 5px;
	width: 10px;
	height: 10px;
	background: url(../img/ico_blank.svg) no-repeat;
}

.ico_catalog {
	position: relative;
	display: inline-block;
	padding-left: 20px;
}

.ico_catalog::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 15px;
	height: 21px;
	margin-right: 6px;
	background: url(../img/ico_catalog.svg) no-repeat;
	vertical-align: middle;
}

/* status_ico
============================================================================================================ */
.status_ico {
	display: table;
	width: 118px;
	padding: 5px 10px;
	text-align: center;
	font-size: 1rem;
	white-space: nowrap;
	font-weight: bold;
	border: 1px solid;
	color: #DC000C;
}

.status_ico.cat01 {
	color: #028e9f;
}

.status_ico.cat02 {
	color: #167121;
}

.status_ico.cat03 {
	color: #da8500;
}

.status_ico.cat04 {
	color: #9f025e;
}

/* pd_block
============================================================================================================ */
.pd_block {
	margin-top: 60px;
	padding: 60px 0;
}

@media screen and (max-width: 768px) {
	.pd_block {
		margin-top: 40px;
		padding: 40px 0;
	}
}

/* mt_block
============================================================================================================ */
.mt_block {
	margin-top: 40px;
}

@media screen and (max-width: 768px) {
	.mt_block {
		margin-top: 20px;
	}

	.mt_block.sp_high {
		margin-top: 40px;
	}
}

/* bg_box
============================================================================================================ */
.bg_box {
	margin-bottom: 40px;
	padding: 30px 40px 40px;
	background-color: #f4f4f4;
}

.bg_box.p50 {
	padding: 50px;
}

@media screen and (max-width: 768px) {
	.bg_box {
		padding: 15px 20px 20px;
	}

	.bg_box.p50 {
		padding: 20px;
	}
}

/* contents_search
============================================================================================================ */
.contents_search {
	position: relative;
	margin-bottom: 60px;
}

.contents_search form,
.contents_search .search_input {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
}

.contents_search form input[type=search] {
	width: 263px;
	height: 28px;
	background-color: #fff;
	border: 1px solid #000;
	border-left-width: 3px;
	border-right-width: 0;
	padding: 0 0.8em;
}

.contents_search form button {
	width: 30px;
	height: 28px;
	padding: 0;
	background-color: #000;
	border: 0;
}

.contents_search form button svg {
	width: 22px;
	height: 22px;
}

@media screen and (min-width: 769px),
print {
	.contents_search form button:hover {
		opacity: .7;
	}

	.contents_search .form_select {
		position: absolute;
		right: 0;
		top: 0;
	}
}

@media screen and (max-width: 768px) {
	.contents_search {
		margin-bottom: 30px;
	}

	.contents_search .select_in_form {
		display: block;
	}

	.contents_search form input[type=search] {
		width: calc(100% - 40px);
		height: 40px;
	}

	.contents_search form button {
		width: 46px;
		height: 40px;
	}

	.contents_search form button svg {
		width: 28px;
		height: 28px;
	}

	.contents_search .form_select {
		margin-top: -10px;
		margin-bottom: 20px;
	}

	.contents_search .form_select select {
		width: 100%;
	}

	.title_btn+.contents_search .form_select {
		position: absolute;
		left: 0;
		top: -50px;
		width: calc(100% - 170px);
		margin: 0;
	}
}

/* contents_narrow
============================================================================================================ */
.contents_narrow {
	position: relative;
	margin-bottom: 30px;
}

@media screen and (min-width: 769px),
print {
	.contents_narrow .form_select {
		display: table;
		margin-left: auto;
	}

	.title_h1+.contents_narrow {
		margin-top: -8px;
	}
}

@media screen and (max-width: 768px) {
	.contents_narrow .form_select select {
		width: 100%;
	}
}

/* page_tab
============================================================================================================ */
.page_tab {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-bottom: 40px;
}

.page_tab li {
	width: 100%;
}

.page_tab li+li {
	border-left: 1px solid #F7F7F7;
}

.page_tab li a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 48px;
	background-color: #F7F7F7;
	font-size: 2rem;
	line-height: 1.3;
	font-weight: 500;
	text-decoration: none;
	color: #808080;
}

.page_tab li a.current {
	background-color: #004285;
	color: #fff;
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

@media screen and (min-width: 769px),
print {
	.page_tab li a:hover {
		background-color: #004285;
		color: #fff;
	}
}

@media screen and (max-width: 768px) {
	.page_tab {
		margin-bottom: 32px;
	}

	.page_tab li a {
		font-size: 1.3rem;
	}
}

/* inner_simple_vartical_nav
============================================================================================================ */
.inner_simple_vartical_nav li+li {
	margin-top: 0.8em;
}

@media screen and (min-width: 769px),
print {
	.inner_simple_vartical_nav {
		font-size: 1.6rem;
	}
}



/* module_block
============================================================================================================ */
.module_block>*,
.module_block .border_box>*,
.module_block .color_box>* {
	margin-bottom: 1.7em;
}

.module_block>*:last-child,
.module_block .border_box>*:last-child,
.module_block .color_box>*:last-child {
	margin-bottom: 0;
}

.module_block img {
	max-width: 100%;
	height: auto;
}

.module_block a:hover img {
	opacity: .7;
}

.module_block h1 {
	margin-top: 40px;
	margin-bottom: 20px;
	padding: 6px 20px;
	background-color: #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
	color: #fff;
}

.module_block h2 {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-left: 16px;
	border-left: 5px solid #004285;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}

.module_block h3 {
	margin-top: 30px;
	margin-bottom: 20px;
	padding: 6px 16px;
	font-weight: 700;
	color: #063F85;
	border: 1px solid #063F85;
	font-size: 1.6rem;
}

.module_block h4 {
	position: relative;
	margin-top: 30px;
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 1.6rem;
}

.module_block h1:first-child,
.module_block h2:first-child,
.module_block h3:first-child,
.module_block h4:first-child {
	margin-top: 0;
}

.module_block h1.no_style,
.module_block h2.no_style,
.module_block h3.no_style,
.module_block h4.no_style {
	padding: 0;
	background: none;
	border: 0;
}

.module_block h4.bdr_style {
	display: flex;
	align-items: center;
}

.module_block h4.bdr_style:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	margin-left: 16px;
	background-color: #063f85;
}

.module_block ul li {
	position: relative;
	padding-left: 1em;
}

.module_block ul li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #707070;
}

.module_block ul li+li,
.module_block ul ul,
.module_block ol ul {
	margin-top: .5em;
}

.module_block ul ul li::before {
	width: 5px;
	height: 5px;
	background-color: #bbb;
}

.module_block ul ul ul li::before {
	content: "・";
	top: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
}

.module_block ul.no_style li::before {
	content: none;
}

.module_block ul.no_style>li {
	padding-left: 0;
}

.module_block ol {
	counter-reset: module_ol1;
}

.module_block ol>li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 1.5em;
}

.module_block ol>li::before {
	counter-increment: module_ol1;
	content: counter(module_ol1) ".";
	position: absolute;
	top: 0;
	left: 0;
}

.module_block ol ol {
	margin-top: .5em;
}

.module_block ol ol {
	counter-reset: module_ol2;
}

.module_block ol ol li {
	padding-left: 2.5em;
}

.module_block ol ol li::before {
	counter-increment: module_ol2;
	content: counter(module_ol1) "." counter(module_ol2) ".";
}

.module_block ol ol ol {
	counter-reset: module_ol3;
}

.module_block ol ol ol li {
	padding-left: 3.5em;
}

.module_block ol ol ol li::before {
	counter-increment: module_ol3;
	content: counter(module_ol1) "." counter(module_ol2) "." counter(module_ol3) ".";
}

.module_block ol ol ol ol {
	counter-reset: module_ol4;
}

.module_block ol ol ol ol li {
	padding-left: 4.5em;
}

.module_block ol ol ol ol li::before {
	counter-increment: module_ol4;
	content: counter(module_ol1) "." counter(module_ol2) "." counter(module_ol3) "." counter(module_ol4) ".";
}

.module_block dl dt {
	font-weight: bold;
	margin-bottom: .5em;
}

.module_block dl dd {
	margin-bottom: .5em;
	padding-left: 2em;
}

.module_block dl dd.no_indent {
	padding-left: 0;
}

@media screen and (min-width: 769px),
print {
	.module_block dl.horizontal {
		display: table;
	}

	.module_block dl.horizontal>* {
		display: table-cell;
		vertical-align: top;
		margin: 0;
	}

	.module_block dl.horizontal dt {
		white-space: nowrap;
	}
}

.module_block .size_l {
	font-size: 1.6rem;
}

.module_block .size_s {
	font-size: 1.2rem;
}

.module_block .table {
	margin-right: -8px;
	margin-left: -8px;
}

.module_block table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 6px;
}

.module_block table th,
.module_block table td {
	padding: 10px 20px;
	vertical-align: middle;
	text-align: center;
}

.module_block table thead th {
	background-color: #809ec2;
	color: #fff;
	font-weight: bold;
}

.module_block table tbody th {
	background-color: #cdd7e2;
	font-weight: bold;
}

.module_block table tbody td {
	background-color: #f7f7f7;
}

.module_block .table.center table {
	margin-left: auto;
	margin-right: auto;
}

.bg_box .module_block table tbody td {
	background-color: #fff;
}

@media screen and (min-width: 769px),
print {
	.module_block .table.scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 10px;
	}

	.module_block .table.small table {
		width: 40%;
	}

	.module_block .table.medium table {
		width: 70%;
	}
}

@media screen and (max-width: 768px) {
	.module_block .table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.module_block .table table {
		width: 800px;
	}

	.module_block .table.small table {
		width: 100%;
	}

	.module_block .table.medium table {
		width: 600px;
	}

	.module_block .table table.sp_no_scroll {
		width: 100%;
	}

	.module_block .table table.sp_no_scroll th,
	.module_block .table table.sp_no_scroll td {
		padding-right: 5px;
		padding-left: 5px;
	}
}

.module_block .border_box {
	padding: 24px 30px;
	border: 1px solid #707070;
}

.module_block .color_box {
	padding: 24px 30px;
	background-color: #ebebeb;
}

@media screen and (min-width: 769px),
print {
	.module_block .border_box.center {
		margin-left: auto;
		margin-right: auto;
	}

	.module_block .border_box.small {
		width: 40%;
	}

	.module_block .border_box.medium {
		width: 70%;
	}
}

@media screen and (max-width: 768px) {
	.module_block .border_box {
		padding: 14px 20px;
	}

	.module_block .color_box {
		padding: 14px 20px;
	}
}

.module_block .hr {
	margin: 40px 0;
	border-top: 1px solid #004285;
}

.module_block .img_block {
	position: relative;
	text-align: center;
	font-size: 1.2rem;
}

.module_block .img_block p+p {
	margin-top: 10px;
}

.module_block .img_horizon {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	text-align: center;
}

.module_block .img_horizon li {
	margin: 0;
	padding: 10px;
}

.module_block .img_horizon li::before {
	content: none;
}

.module_block .margin-top {
	margin-top: 60px;
}

.module_block .margin-bottom {
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.module_block .margin-top {
		margin-top: 40px;
	}

	.module_block .margin-bottom {
		margin-bottom: 40px;
	}
}

@media screen and (min-width: 769px),
print {
	.module_block .img_block {
		padding-bottom: 10px;
	}

	.module_block .img_right_block::after {
		content: "";
		display: table;
		clear: both;
	}

	.module_block .img_right_block .img_block {
		float: right;
		margin-left: 40px;
	}

	.module_block .img_right_block .img_block~* {
		margin-bottom: 1.7em;
	}

	.module_block .img_right_block .img_block~*:last-child {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	.module_block .img_right_block>* {
		margin-bottom: 1.7em;
	}

	.module_block .img_right_block>*:last-child {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 769px),
print {
	.module_block .img_left_block::after {
		content: "";
		display: table;
		clear: both;
	}

	.module_block .img_left_block .img_block {
		float: left;
		margin-right: 40px;
	}

	.module_block .img_left_block .img_block~* {
		margin-bottom: 1.7em;
	}

	.module_block .img_left_block .img_block~*:last-child {
		margin-bottom: 0;
	}

	.module_block .img_left_block ul,
	.module_block .img_left_block ol {
		display: table;
	}
}

@media screen and (max-width: 768px) {
	.module_block .img_left_block>* {
		margin-bottom: 1.7em;
	}

	.module_block .img_left_block>*:last-child {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 769px),
print {
	.module_block .outer_caption_block .img_block {
		padding-bottom: 0;
	}

	.module_block .outer_caption_block .img_block::before,
	.module_block .outer_caption_block .img_block::after {
		content: "";
		display: table;
		clear: both;
	}

	.module_block .outer_caption_block .img_block>* {
		background-color: #fff;
	}

	.module_block .outer_caption_block .img_block p+p {
		margin: 0;
	}

	.module_block .outer_caption_block .img_block .caption_top,
	.module_block .outer_caption_block .img_block .caption_bottom {
		position: absolute;
		left: 0;
		right: 0;
	}

	.module_block .outer_caption_block .img_block .caption_top {
		top: 0;
	}

	.module_block .outer_caption_block .img_block .caption_bottom {
		bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	.module_block .outer_caption_block .img_block {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.module_block .outer_caption_block .img_block .img {
		background-color: #fff;
	}
}



@media screen and (min-width: 769px),
print {
	.column_block2 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		margin-left: -36px;
	}

	.column_block2>* {
		width: calc(50% - 36px);
		margin-left: 36px;
	}

	.column_block2+.column_block2:not(.margin-top) {
		margin-top: 40px;
	}
}

@media screen and (max-width: 768px) {
	.column_block2>*+* {
		margin-top: 20px;
	}

	.column_block2+.column_block2:not(.margin-top) {
		margin-top: 20px;
	}
}

@media screen and (min-width: 769px),
print {
	.column_block3 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		margin-left: -36px;
	}

	.column_block3>* {
		width: calc(33.33% - 36px);
		margin-left: 36px;
	}
}

@media screen and (max-width: 768px) {
	.column_block3>*+* {
		margin-top: 20px;
	}
}

.module_block .download_block::after {
	content: "";
	display: table;
	clear: both;
}

.module_block .download_block .img {
	text-align: center;
}

.module_block .download_block .img img {
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.module_block .download_block .title {
	margin-bottom: 12px;
}

.module_block .download_block .btn {
	margin-top: 30px;
}

.module_block .download_block .notes {
	margin-top: 10px;
	font-size: 1rem;
	color: #808080;
}

@media screen and (min-width: 769px),
print {
	.module_block .download_block .img {
		float: left;
		width: 167px;
	}

	.module_block .download_block .img~* {
		margin-left: 190px;
	}
}

@media screen and (max-width: 768px) {
	.module_block .download_block .img {
		margin-bottom: 20px;
	}

	.module_block .download_block .btn {
		margin-top: 20px;
	}
}

.accordion_block {}

.accordion_block+.accordion_block {
	margin-top: 20px;
}

.module_block .accordion_block+.accordion_block {
	margin-top: calc(-1.7em + 20px);
}

.accordion_block .accordion_title,
.accordion_block .accordion_contents>* {
	position: relative;
	padding: 20px 60px 20px 20px;
	border: 1px solid #e3e3e3;
}

.accordion_block .accordion_title {
	font-weight: bold;
	cursor: pointer;
}

.accordion_block .accordion_title::before,
.accordion_block .accordion_title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 16px;
	border-top: 2px solid #004285;
	margin-top: -1px;
}

.accordion_block .accordion_title::after {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

body.init .accordion_block .accordion_title {
	-webkit-transition: background 0.2s ease-in-out;
	-o-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
}

body.init .accordion_block .accordion_title::after {
	-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.accordion_block .accordion_title.open {
	background-color: #ccd8e7;
}

.accordion_block .accordion_title.open::after {
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
	transform: rotate(0);
	opacity: 0;
}

.accordion_block .accordion_contents {
	height: 0;
	overflow: hidden;
}

body.init .accordion_block .accordion_contents {
	-webkit-transition: height 0.3s ease-in-out;
	-o-transition: height 0.3s ease-in-out;
	transition: height 0.3s ease-in-out;
}

.accordion_block .accordion_contents>* {
	padding-right: 20px;
	padding-bottom: 30px;
	border-top-width: 0;
}

@media screen and (min-width: 769px),
print {
	.accordion_block .accordion_title:hover {
		background-color: #ccd8e7;
	}
}

@media screen and (max-width: 768px) {
	.accordion_block+.accordion_block {
		margin-top: 10px;
	}

	.module_block .accordion_block+.accordion_block {
		margin-top: calc(-1.7em + 10px);
	}

	.accordion_block .accordion_title,
	.accordion_block .accordion_contents>* {
		padding: 10px 40px 10px 15px;
	}

	.accordion_block .accordion_title>.ico,
	.accordion_block .accordion_contents>* .ico {
		left: 10px;
		width: 20px;
		height: 20px;
		font-size: 1.1rem;
		padding-top: 1px;
	}

	.accordion_block .accordion_title::before,
	.accordion_block .accordion_title::after {
		right: 10px;
	}

	.accordion_block .accordion_contents>* {
		padding-right: 10px;
		padding-bottom: 20px;
	}
}

.module_block .youtube_iframe,
.module_block .youtube_iframe4_3 {
	position: relative;
}

@media screen and (max-width: 768px) {
	.module_block .youtube_iframe {
		padding-top: 56.25%;
	}

	.module_block .youtube_iframe4_3 {
		padding-top: 75%;
	}

	.module_block .youtube_iframe iframe,
	.module_block .youtube_iframe4_3 iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.module_block .link_block a:hover.border_box {
	color: #fff;
	background-color: #024085;
}

@media screen and (max-width: 768px) {
	.module_block .link_block a.border_box {
		display: block;
	}
}

.module_block .bgimg_block .bgimg {
	position: relative;
	padding: 40px 10px;
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contains;
}

.module_block .bgimg_block .bgimg:after {
	content: '';
	background-color: rgba(0, 0, 0, .5);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.module_block .bgimg_block .bgimg div,
.module_block .bgimg_block .bgimg a {
	z-index: 1;
	color: #fff;
	text-shadow: 0 0 10px #000;
}

.module_block .bgimg_block .v-center {
	height: auto;
}

.module_block .code_block .code_btn {
	text-align: right;
	line-height: 1;
}

.module_block .code_block .code_btn input {
	cursor: pointer;
	padding: 5px 10px;
	font-size: 1.2rem;
	color: #999;
	border-top: 0;
	border-bottom: 1px solid #999;
	border-left: 1px solid #999;
	border-right: 0;
	background-color: #1a1a1a;
}

.module_block .code_block .code_btn input:hover {
	background-color: #333;
}

.module_block .scrollbar {
	width: 100%;
	height: 15px;
	margin-bottom: 0;
	overflow-x: scroll;
	overflow-y: hidden;
}

.module_block .scrollbar .inner {
	height: 1px;
}

.module_block .scrollbox {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	overflow-x: scroll;
	overflow-y: hidden;
}

.module_block .scrollbar::-webkit-scrollbar,
.module_block .scrollbox::-webkit-scrollbar {
	height: 15px;
}

.module_block .scrollbar::-webkit-scrollbar-thumb,
.module_block .scrollbox::-webkit-scrollbar-thumb {
	background-color: #ccc;
}

.slide_block {
	position: relative;
	margin-bottom: 30px;
}

.slide_block:last-child {
	margin-bottom: 0;
}

.slide_block div {
	vertical-align: middle;
}

.slide_block img {
	max-width: 100%;
	height: auto;
	margin: auto;
}

.slide_block .slick-dots {
	margin-top: 5px;
	text-align: center;
}

.slide_block .slick-dots li {
	display: inline-block;
}

.slide_block .slick-dots li button {
	position: relative;
	overflow: hidden;
	width: 18px;
	height: 0;
	margin: 0;
	padding: 18px 0 0;
	border: 0;
	background: none;
}

.slide_block .slick-dots li button::after {
	content: "";
	position: absolute;
	top: 4px;
	right: 4px;
	bottom: 4px;
	left: 4px;
	background-color: #fff;
	border: 1px solid #004285;
	border-radius: 100%;
	-webkit-transition: background .2s;
	-o-transition: background .2s;
	transition: background .2s;
}

.slide_block .slick-dots li.slick-active button::after {
	background-color: #004285;
}

.module_block .slide_block ul li::before {
	display: none;
}

@media screen and (min-width: 769px),
print {
	.slide_block .slick-dots li button:hover::after {
		background-color: #004285;
	}
}

/* Firefox only */
@-moz-document url-prefix() {

	.column_block2 .slide_block,
	.column_block3 .slide_block {
		border-right: thin solid #fff;
	}
}



/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* breadcrumbs
============================================================================================================ */
.breadcrumbs {
	padding: 8px 0;
	background-color: #e3e3e3;
	font-size: 1rem;
	line-height: 1.8;
}

.breadcrumbs li::after {
	content: ">";
	margin-left: 0.4em;
}

.breadcrumbs li a {
	color: #000;
}

.breadcrumbs li:last-child {
	padding-right: 0;
}

.breadcrumbs li:last-child::after {
	content: none;
}

@media screen and (min-width: 769px),
print {
	.breadcrumbs li {
		display: inline;
		margin-right: .3em;
	}
}

@media screen and (max-width: 768px) {
	.breadcrumbs {
		-webkit-order: 999;
		-moz-order: 999;
		-ms-order: 999;
		-o-order: 999;
		order: 999;
		font-size: 1.1rem;
	}

	.breadcrumbs ol li {
		display: inline;
		margin-right: .3em;
		line-height: 2.8;
	}
}


/* news_list
============================================================================================================ */
.news_list li+li {
	border-top: 1px solid #E3E3E3;
}

.news_list a {
	position: relative;
	display: block;
	padding: 15px 0;
	text-decoration: none;
	color: #000;
}

.news_list a .category {
	padding-bottom: 1px;
	text-align: center;
	border: 1px solid;
	color: #004285;
	font-size: 1rem;
}

.news_list a .category.cat00 {
	color: #000;
}

.news_list a .category.cat01 {
	color: #028e9f;
}

.news_list a .category.cat02 {
	color: #167121;
}

.news_list a .category.cat03 {
	color: #da8500;
}

.news_list a .category.cat04 {
	color: #9f025e;
}

.news_list a.pdf::after {
	content: "PDF";
	position: absolute;
	top: 19px;
	right: 0;
	width: 60px;
	padding: 2px 0;
	border: 2px solid #DC000C;
	border-radius: 12px;
	font-size: 1.4rem;
	color: #DC000C;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	transform-origin: 100% 0;
	-webkit-transform: scale(.5);
	-ms-transform: scale(.5);
	-o-transform: scale(.5);
	transform: scale(.5);
}

.news_list a.blank::after {
	content: "";
	position: absolute;
	top: 19px;
	right: 7px;
	width: 16px;
	height: 13px;
	background: url(../img/ico_blank2.svg) no-repeat;
	-webkit-background-size: 16px;
	background-size: 16px;
}

@media screen and (min-width: 769px),
print {
	.news_list a {
		padding-right: 40px;
	}

	.news_list span {
		display: block;
	}

	.news_list a .date {
		float: left;
		width: 125px;
		padding-left: 5px;
	}

	.news_list a .category {
		float: left;
		width: 98px;
		margin-top: 2px;
	}

	.news_list a .title {
		margin-left: 242px;
	}

	.news_list a[href]:hover .title {
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.news_list a {
		font-size: 1.2rem;
	}

	.news_list a .category {
		display: inline-block;
		padding-right: 10px;
		padding-left: 10px;
		min-width: 96px;
		margin-left: 10px;
	}

	.news_list a.pdf::after {
		top: 16px;
	}

	.news_list a.blank::after {
		top: 16px;
	}

	.news_list a .title {
		display: block;
		margin-top: 10px;
	}

	.column_main>.news_list:first-child {
		margin-top: -15px;
	}
}




/* news_section
============================================================================================================ */
.news_section {
	position: relative;
}

.news_section .more {
	position: absolute;
}

.news_section .more a {
	position: relative;
	display: block;
	font-size: 1.2rem;
	padding-right: 20px;
	color: #535353;
}

.news_section .more a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #535353;
	border-right: 2px solid #535353;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

@media screen and (min-width: 769px),
print {
	.news_section {
		min-height: 90px;
	}

	.news_section .title_h4 {
		float: left;
	}

	.news_section>div {
		margin-left: 286px;
	}

	.news_section>div .news_list {
		position: relative;
		top: -10px;
		margin-bottom: -10px;
	}

	.news_section .more {
		left: 0;
		bottom: 20px;
	}
}

@media screen and (max-width: 768px) {
	.news_section .more {
		right: 0;
		top: 4px;
	}

	.news_section>div .news_list {
		margin-top: -15px;
	}
}



/* column_block
============================================================================================================ */
.column_block {}

@media screen and (min-width: 769px),
print {
	.column_block {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}

	.column_block .column_main {
		width: 684px;
	}

	.column_block .column_side {
		width: 306px;
	}

	.column_block .column_side .title_border_ms {
		/*padding-top: 10px;*/
	}

	.column_block .column_side .contents_search {
		margin-bottom: 30px;
	}

	.column_block .column_side .contents_search form input[type=search] {
		width: calc(100% - 30px);
	}
}

@media screen and (max-width: 768px) {
	.column_block .column_side {
		margin-top: 30px;
		padding: 30px;
		background-color: #f4f4f4;
	}

	.column_block .column_side.sp_white {
		padding-bottom: 0;
		background-color: #fff;
	}
}

/* side_archive_list
============================================================================================================ */
.column_block .side_archive_list+.side_archive_list {
	margin-top: 30px;
}

.column_side .side_archive_list dt {
	margin-bottom: 7px;
	padding: 10px;
	background-color: #004285;
	color: #fff;
	text-align: center;
	font-size: 1.6rem;
}

/* category_link
============================================================================================================ */
.column_side .category_link>li+li {
	margin-top: 7px;
}

.column_side .category_link a {
	position: relative;
	display: block;
	padding: 10px 15px 10px 24px;
	font-size: 1.6rem;
	background-color: #f4f4f4;
}

.column_side .category_link a::after {
	content: "";
	position: absolute;
	top: 1.5em;
	left: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

.column_side .category_link li ul {
	padding-bottom: 15px;
	background-color: #f4f4f4;
}

.column_side .category_link li li a {
	padding: 5px 10px 5px 34px;
	font-size: 1.4rem;
}

.column_side .category_link li li a::after {
	top: 1.2em;
	left: 18px;
	width: 6px;
	height: 6px;
}

.column_side .category_link li li a.current {
	background-color: #e4e4e4;
}

.column_side .category_link li li ul {
	padding-bottom: 0;
}

.column_side .category_link li li li a {
	padding: 4px 10px 4px 50px;
	font-size: 1.3rem;
}

.column_side .category_link li li li a::after {
	content: none;
}

@media screen and (max-width: 768px) {

	.column_side .category_link a,
	.column_side .category_link li ul {
		background-color: #fff;
	}

	.column_side.sp_white .category_link a,
	.column_side.sp_white .category_link li ul {
		background-color: #f4f4f4;
	}
}

/* column_bottom
============================================================================================================ */
.column_bottom {}

@media screen and (min-width: 769px),
print {
	.column_bottom {
		margin-top: 100px;
	}

	.column_bottom .side_archive_list dt {
		padding: 6px 20px;
		text-align: left;
		font-size: 2rem;
	}

	.column_bottom .category_link {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -7px;
	}

	.column_bottom .category_link li {
		width: 33.33%;
		padding-left: 7px;
	}

	.column_bottom .category_link li+li {
		margin-top: 0;
	}

	.column_bottom .category_link li:nth-child(3)~* {
		margin-top: 7px;
	}
}

@media screen and (max-width: 768px) {
	.column_bottom {
		margin-top: 30px;
		padding: 30px;
		background-color: #f4f4f4;
	}
}


/* pagination
============================================================================================================ */
.pagination {
	margin-top: 90px;
	font-size: 1.3rem;
}

.pagination .total {
	font-size: 1.2rem;
	color: #808080;
}

.pagination ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: flex-end;
	align-items: flex-end;
}

.pagination ul li {
	padding: 0 6px;
}

.pagination ul a {
	display: block;
	height: 30px;
	min-width: 30px;
	text-align: center;
	line-height: 28px;
	border: 1px solid #000;
	color: #000;
	text-decoration: none;
}

.pagination ul a.prevnext {
	min-width: 48px;
}

.pagination ul a.current {
	color: #fff;
	background-color: #000;
}

@media screen and (min-width: 769px),
print {
	.pagination {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}

	.pagination .total {
		margin-right: 12px;
	}

	.pagination ul a:hover {
		color: #fff;
		background-color: #000;
	}
}

@media screen and (max-width: 768px) {
	.pagination {
		position: relative;
		margin-top: 60px;
		padding-bottom: 16px;
	}

	.pagination .total {
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.pagination ul {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.pagination ul li {
		padding: 0 4px 8px;
	}

	.pagination ul a.prevnext {
		min-width: 42px;
	}
}

/* detail_pager
============================================================================================================ */
.detail_pager {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 1px solid #d6d5d5;
}

.detail_pager ul {
	position: relative;
}

.detail_pager ul a {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	height: 32px;
	border: 1px solid #000;
	color: #000000;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
}

.detail_pager ul .prev a::after,
.detail_pager ul .next a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

.detail_pager ul .prev a::after {
	left: 0px;
	right: auto;
	-webkit-transform: scaleX(0.7) rotate(225deg);
	-ms-transform: scaleX(0.7) rotate(225deg);
	-o-transform: scaleX(0.7) rotate(225deg);
	transform: scaleX(0.7) rotate(225deg);
}

@media screen and (min-width: 769px),
print {
	.detail_pager ul a {
		width: 160px;
		margin: auto;
	}

	.detail_pager ul a[href]:hover {
		background-color: #eeeeee;
	}

	.detail_pager ul .prev {
		position: absolute;
		left: 0;
		top: 0;
	}

	.detail_pager ul .next {
		position: absolute;
		right: 0;
		top: 0;
	}
}

@media screen and (max-width: 768px) {
	.detail_pager {
		margin-top: 40px;
		padding-top: 40px;
	}

	.detail_pager ul::after {
		content: "";
		display: table;
		clear: both;
	}

	.detail_pager ul a {
		height: 50px;
		font-size: 1.4rem;
	}

	.detail_pager ul .prev a::after,
	.detail_pager ul .next a::after {
		right: 12px;
		width: 10px;
		height: 10px;
		border-top-width: 3px;
		border-right-width: 3px;
	}

	.detail_pager ul .back {
		margin-bottom: 8px;
	}

	.detail_pager ul .prev,
	.detail_pager ul .next {
		width: calc(50% - 4px);
	}

	.detail_pager ul .prev {
		float: left;
	}

	.detail_pager ul .next {
		float: right;
	}
}



/* category_list
============================================================================================================ */
.category_list {
	margin-bottom: 0;
	padding: 50px 50px 70px;
}

.category_list section {
	margin-bottom: 50px;
}

.category_list section:last-child {
	margin-bottom: 0;
}

.category_list section .title_h4 {
	margin-bottom: 24px;
	padding: 0 0 0 24px;
	font-size: 2rem;
}

.category_list section ul {
	border-top: 1px solid #d6d5d5;
}

.category_list section ul a {
	position: relative;
	display: block;
	padding: 5px 0 5px 16px;
	font-size: 1.6rem;
}

.category_list section ul a::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

.category_list section ul ul {
	border-top: 0;
	padding: 0 0 10px;
}

.category_list section ul ul a {
	padding: 3px 0 3px 16px;
	font-size: 1.3rem;
}

.category_list section ul ul a::after {
	content: none;
}

@media screen and (min-width: 769px),
print {
	.category_list section ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 20px 8px 0;
	}

	.category_list section ul li {
		width: 33.33%;
	}

	.category_list section ul.column2 li {
		width: 50%;
	}

	.category_list section ul ul {
		display: block;
	}

	.category_list section ul ul li {
		width: auto;
	}
}

@media screen and (max-width: 768px) {
	.category_list {
		padding: 20px;
	}

	.category_list.sp_no_pd {
		padding: 0;
	}

	.category_list section {
		margin-bottom: 15px;
	}

	.category_list section::before {
		content: "";
		display: table;
		height: 0;
	}

	.category_list section .title_h4 {
		margin-bottom: 10px;
		padding-left: 18px;
		font-size: 1.6rem;
	}

	.category_list.sp_acc section {
		background-color: #fff;
	}

	.category_list.sp_acc section .title_h4 {
		position: relative;
		margin-top: 10px;
	}

	.category_list.sp_acc section .title_h4::before,
	.category_list.sp_acc section .title_h4::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		width: 16px;
		margin-top: -1px;
		border-top: 2px solid #535353;
	}

	.category_list.sp_acc section .title_h4::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	body.init .category_list.sp_acc section .title_h4::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}

	.category_list.sp_acc section .title_h4.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}

	.category_list.sp_acc section .link {
		overflow: hidden;
		height: 0;
	}

	body.init .category_list.sp_acc section .link {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}

	.category_list section ul {
		padding: 10px 10px 20px;
	}

	.category_list section ul a {
		font-size: 1.4rem;
	}

	.category_list section h2:only-child {
		margin-bottom: 30px;
	}
}

/* category_column_list
============================================================================================================ */
.category_column_list {}

.category_column_list section {
	background-color: #fff;
}

.category_column_list section::before {
	content: "";
	display: table;
	height: 0;
}

.category_column_list section .title_h4 {
	padding-left: 22px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.category_column_list section ul {
	border-top: 1px solid #d6d5d5;
}

.category_column_list section ul a {
	position: relative;
	display: block;
	padding: 5px 0 5px 16px;
	font-size: 1.2rem;
}

.category_column_list section ul a::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

@media screen and (min-width: 769px),
print {
	.category_column_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.category_column_list section {
		width: 500px;
	}

	.category_column_list section:nth-child(2)~* {
		margin-top: 40px;
	}

	.category_column_list section ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 15px 24px;
	}

	.category_column_list section ul li {
		width: 49%;
	}

	.category_column_list section ul ul {
		display: block;
	}

	.category_column_list section ul ul li {
		width: auto;
	}
}

@media screen and (max-width: 768px) {
	.category_column_list section+section {
		margin-top: 15px;
	}

	.category_column_list section .title_h4 {
		position: relative;
		margin-top: 10px;
		margin-bottom: 10px;
		padding-left: 18px;
		font-size: 1.4rem;
	}

	.category_column_list section.title_only .title_h4 {
		margin: 0;
		padding: 0;
		border-left: 0;
	}

	.category_column_list section.title_only .title_h4 a {
		position: relative;
		display: block;
		padding: 12px 0;
		padding-left: 20px;
	}

	.category_column_list section.title_only .title_h4 a::before {
		content: "";
		position: absolute;
		top: 10px;
		bottom: 10px;
		left: 0;
		border-left: 2px solid #dc000c;
	}

	.category_column_list section:not(.title_only) .title_h4::before,
	.category_column_list section:not(.title_only) .title_h4::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		width: 16px;
		margin-top: -1px;
		border-top: 2px solid #535353;
	}

	.category_column_list section .title_h4::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	body.init .category_column_list section .title_h4::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}

	.category_column_list section .title_h4.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}

	.category_column_list section .link {
		overflow: hidden;
		height: 0;
	}

	body.init .category_column_list section .link {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}

	.category_column_list section ul {
		padding: 10px 10px 20px;
	}
}

.category_column_list.products_index section .title_h4 {
	padding-left: 24px;
	margin-top: 24px;
	margin-bottom: 24px;
	font-size: 2rem;
}

.category_column_list.products_index section ul a {
	font-size: 1.4rem;
}

@media screen and (min-width: 769px),
print {
	.category_column_list.products_index section {
		background-color: #f7f7f7;
	}
}

@media screen and (max-width: 768px) {
	.category_column_list.products_index {
		background-color: #f4f4f4;
		padding: 20px;
	}

	.category_column_list.products_index section {
		background: none;
	}

	.category_column_list.products_index section .title_h4 {
		margin: 0 0 10px;
		padding: 0 0 0 18px;
		font-size: 1.6rem;
	}

	.category_column_list.products_index section .title_h4::before,
	.category_column_list.products_index section .title_h4::after {
		content: none;
	}

	.category_column_list.products_index section .link {
		height: auto !important;
	}
}


/* ph_category_list
============================================================================================================ */
.ph_category_list {}

.ph_category_list section {
	background-color: #fff;
}

.ph_category_list section::before {
	content: "";
	display: table;
	height: 0;
}

.ph_category_list section .img {
	position: relative;
}

.ph_category_list section .img img {
	width: 100%;
	height: auto;
}

.ph_category_list section .img p {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 2.2rem;
	text-align: center;
	width: 100%;
}

.ph_category_list section .img a {
	color: #fff;
}

.ph_category_list section .title_h4 {
	padding-left: 22px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.ph_category_list section ul {
	border-top: 1px solid #d6d5d5;
}

.ph_category_list section ul a {
	position: relative;
	display: block;
	padding: 5px 0 5px 16px;
	font-size: 1.2rem;
}

.ph_category_list section ul a::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 2px solid;
	border-right: 2px solid;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

@media screen and (min-width: 769px),
print {
	.ph_category_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.ph_category_list::after {
		content: "";
		display: block;
		width: 320px;
	}

	.ph_category_list section {
		width: 320px;
	}

	.ph_category_list section:nth-child(3)~* {
		margin-top: 40px;
	}

	.ph_category_list section ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 15px 24px;
	}

	.ph_category_list section ul li {
		width: 49%;
	}

	.ph_category_list section ul ul {
		display: block;
	}

	.ph_category_list section ul ul li {
		width: auto;
	}
}

@media screen and (max-width: 768px) {
	.ph_category_list section+section {
		margin-top: 15px;
	}

	.ph_category_list section .title_h4 {
		position: relative;
		margin-top: 10px;
		margin-bottom: 10px;
		padding-left: 18px;
		font-size: 1.4rem;
	}

	.ph_category_list section.title_only .title_h4 {
		margin: 0;
		padding: 0;
		border-left: 0;
	}

	.ph_category_list section.title_only .title_h4 a {
		position: relative;
		display: block;
		padding: 12px 0;
		padding-left: 20px;
	}

	.ph_category_list section.title_only .title_h4 a::before {
		content: "";
		position: absolute;
		top: 10px;
		bottom: 10px;
		left: 0;
		border-left: 2px solid #dc000c;
	}

	.ph_category_list section:not(.title_only) .title_h4::before,
	.ph_category_list section:not(.title_only) .title_h4::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		width: 16px;
		margin-top: -1px;
		border-top: 2px solid #535353;
	}

	.ph_category_list section .title_h4::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	body.init .ph_category_list section .title_h4::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}

	.ph_category_list section .title_h4.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}

	.ph_category_list section .link {
		overflow: hidden;
		height: 0;
	}

	body.init .ph_category_list section .link {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}

	.ph_category_list section ul {
		padding: 10px 10px 20px;
	}
}

.ph_category_list.products_index section .title_h4 {
	padding-left: 24px;
	margin-top: 24px;
	margin-bottom: 24px;
	font-size: 2rem;
}

.ph_category_list.products_index section ul a {
	font-size: 1.4rem;
}

@media screen and (min-width: 769px),
print {
	.ph_category_list.products_index section {
		background-color: #f7f7f7;
	}
}

@media screen and (max-width: 768px) {
	.ph_category_list.products_index {
		background-color: #f4f4f4;
		padding: 20px;
	}

	.ph_category_list.products_index section {
		background: none;
	}

	.ph_category_list.products_index section .title_h4 {
		margin: 0 0 10px;
		padding: 0 0 0 18px;
		font-size: 1.6rem;
	}

	.ph_category_list.products_index section .title_h4::before,
	.ph_category_list.products_index section .title_h4::after {
		content: none;
	}

	.ph_category_list.products_index section .link {
		height: auto !important;
	}
}

/* vartical_item_list
============================================================================================================ */
.vartical_item_list section+section {
	margin-top: 60px;
}

.vartical_item_list section>a {
	display: block;
	text-decoration: none;
	color: #000;
}

.vartical_item_list header {
	margin-bottom: 15px;
}

.vartical_item_list header .title_h3 {
	margin-bottom: 5px;
}

.vartical_item_list header .title_h3 a {
	color: #000;
}

.vartical_item_list header .sub {
	color: #808080;
	font-size: 1.6rem;
}

.vartical_item_list .contents {
	position: relative;
}

.vartical_item_list .contents::after {
	content: "";
	display: table;
	clear: both;
}

.vartical_item_list .contents .img img {
	max-width: 100%;
	/*border: 2px solid #e3e3e3;*/
}

.vartical_item_list .contents .logo {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	height: 132px;
	border: 2px solid #e3e3e3;
}

.vartical_item_list .contents .logo a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	height: 128px;
}

.vartical_item_list .contents .logo img {
	max-width: 100%;
	max-height: 100%;
}

.vartical_item_list .contents .status_ico {
	margin-bottom: 8px;
}

.vartical_item_list .contents .dot_li a {
	color: #000;
}

@media screen and (min-width: 769px),
print {
	.vartical_item_list section>a[href]:hover .title_h3 {
		text-decoration: underline;
	}

	.vartical_item_list .contents {
		padding-bottom: 50px;
	}

	.vartical_item_list .contents .img,
	.vartical_item_list .contents .logo {
		float: left;
		width: 220px;
		margin-bottom: -50px;
	}

	.vartical_item_list .contents .img~*,
	.vartical_item_list .contents .logo~* {
		margin-left: 240px;
	}

	.vartical_item_list .contents .btns {
		position: absolute;
		right: 0;
		bottom: 0;
		margin: 0;
	}

	.vartical_item_list .contents .btns li {
		float: left;
	}

	.vartical_item_list .contents .btns li a.btn {
		width: auto;
		min-width: 150px;
		margin-left: 12px;
		padding-right: 25px;
	}
}

@media screen and (max-width: 768px) {
	.vartical_item_list .contents .img {
		margin-bottom: 10px;
		text-align: center;
	}

	.vartical_item_list .contents .logo {
		width: 58.7vw;
		height: 35.2vw;
		margin: 0 auto 10px;
	}

	.vartical_item_list .contents .logo a {
		height: calc(35.2vw - 4px);
	}

	.vartical_item_list .contents .btns {
		margin-top: 20px;
	}

	.vartical_item_list .contents .btns li+li {
		margin-top: 15px;
	}
}



/* logo_item_list
============================================================================================================ */
.logo_item_list ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

.logo_item_list ul a {
	display: block;
	color: #000;
}

.logo_item_list ul a span {
	display: block;
}

.logo_item_list ul a .logo {
	margin-bottom: 5px;
	border: 2px solid #e3e3e3;
	text-align: center;
}

.logo_item_list ul a .logo img {
	max-width: 100%;
}

@media screen and (min-width: 769px),
print {
	.logo_item_list ul {
		margin-left: -20px;
	}

	.logo_item_list ul li {
		width: 192px;
		margin-left: 20px;
	}

	.logo_item_list ul li:nth-child(5)~* {
		margin-top: 40px;
	}
}

@media screen and (max-width: 768px) {
	.logo_item_list ul {
		justify-content: space-between;
	}

	.logo_item_list ul li {
		width: calc(50% - 6px);
	}

	.logo_item_list ul li:nth-child(2)~* {
		margin-top: 30px;
	}
}


/* ph_entry_list
============================================================================================================ */
.ph_entry_list li a {
	display: block;
	color: #000;
	text-decoration: none;
}

.ph_entry_list li span {
	display: block;
}

.ph_entry_list li .img {
	text-align: center;
}

.ph_entry_list li .img img {
	max-width: 100%;
}

.ph_entry_list li .title {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
}

@media screen and (min-width: 769px),
print {
	.ph_entry_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -29px;
	}

	.ph_entry_list.col_3 {
		margin-left: -34px;
	}

	.ph_entry_list li {
		width: 25%;
		padding-left: 29px;
	}

	.ph_entry_list.col_3 li {
		width: 358px;
		padding-left: 34px;
	}

	.ph_entry_list li:nth-child(4)~* {
		margin-top: 40px;
	}

	.ph_entry_list.col_3 li:nth-child(3)~* {
		margin-top: 40px;
	}

	.ph_entry_list li .title {}

	.ph_entry_list li .title.title_h4 {
		margin: 0 0 15px;
	}

	.ph_entry_list li a[href]:hover .title {
		text-decoration: underline;
	}

	.ph_entry_list li .img {
		margin-bottom: 15px;
	}
}

@media screen and (max-width: 768px) {
	.ph_entry_list li+li {
		margin-top: 20px;
	}

	.ph_entry_list li a {
		font-size: 1.2rem;
	}

	.ph_entry_list li a::after {
		content: "";
		display: table;
		clear: both;
	}

	.ph_entry_list li .img {
		float: left;
		width: 37%;
	}

	.ph_entry_list li .img~* {
		margin-left: calc(37% + 20px);
	}

	.ph_entry_list li .title {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
}



/* ph_list
============================================================================================================ */
.ph_list li span {
	display: block;
}

.ph_list li .img {
	border: 2px solid #e3e3e3;
	text-align: center;
}

.ph_list li .img img {
	max-width: 100%;
}

@media screen and (min-width: 769px),
print {
	.ph_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -20px;
	}

	.ph_list li {
		width: 192px;
		margin-left: 20px;
	}

	.ph_list li:nth-child(5)~* {
		margin-top: 40px;
	}

	.ph_list li .img {
		margin-bottom: 5px;
	}
}

@media screen and (max-width: 768px) {
	.ph_list li {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		justify-content: space-between;
	}

	.ph_list li+li {
		margin-top: 12px;
	}

	.ph_list li .img {
		width: calc(50% - 10px);
	}

	.ph_list li .caption {
		width: calc(50%);
	}
}

/* solution_list
============================================================================================================ */
.solution_list {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-left: -16px;
}

.solution_list li {
	width: 100%;
	padding-left: 16px;
}

.solution_list li a {
	display: block;
	padding: 20px 0 15px;
	background-color: #fff;
	text-align: center;
	color: #000;
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1.4;
}

.solution_list li a svg {
	width: 60px;
	height: 60px;
	fill: #dc000c;
}

.solution_list li a span {
	display: block;
	height: 3em;
	margin-top: 12px;
}

@media screen and (max-width: 768px) {
	.solution_list {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -5px;
	}

	.solution_list li {
		width: 25%;
		padding-left: 5px;
	}

	.solution_list li:nth-child(4)~* {
		margin-top: 5px;
	}

	.solution_list li a {
		padding: 10px 0 10px;
		font-size: 1rem;
	}

	.solution_list li a svg {
		width: 50px;
		height: 50px;
	}

	.solution_list li a span {
		margin-top: 6px;
	}
}

/* bnr_4_list
============================================================================================================ */
.bnr_4_list ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

.bnr_4_list ul a {
	display: block;
}

.bnr_4_list ul a img {
	max-width: 100%;
	height: auto;
}

@media screen and (min-width: 769px),
print {
	.bnr_4_list ul {
		margin-left: -32px;
	}

	.bnr_4_list ul li {
		width: 236px;
		margin-left: 32px;
	}

	.bnr_4_list ul li:nth-child(4)~* {
		margin-top: 32px;
	}
}

@media screen and (max-width: 768px) {
	.bnr_4_list {
		padding: 40px 0;
		background-color: #ececec;
	}

	.bnr_4_list ul {
		justify-content: space-between;
	}

	.bnr_4_list ul li {
		width: calc(50% - 8px);
	}

	.bnr_4_list ul li:nth-child(2)~* {
		margin-top: 16px;
	}
}


/* large_bnr_list
============================================================================================================ */
.large_bnr_list>*+* {
	margin-top: 40px;
}

.large_bnr_list a {
	display: block;
	text-decoration: none;
	color: #000;
}

.large_bnr_list a .bnr {
	border: 2px solid #e3e3e3;
	text-align: center;
}

.large_bnr_list a .title {
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
}

@media screen and (min-width: 769px),
print {
	.large_bnr_list a::after {
		content: "";
		display: table;
		clear: both;
	}

	.large_bnr_list a .bnr {
		float: right;
		width: 584px;
	}

	.large_bnr_list a .bnr img {
		max-width: 100%;
	}

	.large_bnr_list a .bnr~* {
		margin-right: 620px;
	}

	.large_bnr_list a:hover .title {
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.large_bnr_list>*+* {
		margin-top: 30px;
	}

	.large_bnr_list a .bnr {
		margin-bottom: 12px;
	}

	.large_bnr_list a .title {
		font-size: 1.6rem;
	}
}


/* break_line
============================================================================================================ */
.break_line {
	margin: 70px 0 80px;
	border-top: 1px solid #bfbfbf;
}

@media screen and (min-width: 769px),
print {
	.break_line.s {
		margin: 40px 0;
	}
}

@media screen and (max-width: 768px) {
	.break_line {
		margin: 40px 0;
	}
}


/* list_main_block
============================================================================================================ */
.list_main_block {
	margin-bottom: 60px;
}

.list_main_block .img {
	margin-bottom: 20px;
}

.list_main_block .contents_search {
	margin-top: 30px;
}

@media screen and (min-width: 769px),
print {
	.list_main_block .contents_search form {
		justify-content: flex-end;
	}
}

@media screen and (max-width: 768px) {
	.list_main_block {
		margin-bottom: 50px;
	}
}

/* form
============================================================================================================ */

/* select */
.form_select {
	position: relative;
}

.form_select::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -3px;
	border-style: solid;
	border-width: 6px 3px 0 3px;
	border-color: #666666 transparent transparent transparent;
	pointer-events: none;
}

.form_select select {
	display: block;
	height: 40px;
	padding: 0 25px 0 15px;
	border: 1px solid #ededed;
}

.form_select.dark::before {
	border-top-color: #fff;
}

.form_select.dark select {
	height: 28px;
	background-color: #000;
	border: 0;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.form_select select {}

	.form_select.dark select {
		height: 32px;
	}
}

/* form_block */
.form_block {
	margin-bottom: 60px;
}

.form_block input[type=text],
.form_block input[type=email],
.form_block input[type=tel],
.form_block input[type=number],
.form_block input[type=password],
.form_block textarea {
	padding: 8px 15px;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ededed;
}

.form_block input[type=text] {
	height: 40px;
}

.form_block textarea {
	height: 200px;
}

body.init .form_block input[type=text],
body.init .form_block input[type=email],
body.init .form_block input[type=tel],
body.init .form_block input[type=number],
body.init .form_block input[type=password],
body.init .form_block select,
body.init .form_block textarea {
	-webkit-transition: border .3s, -webkit-box-shadow .3s;
	-o-transition: border .3s, box-shadow .3s;
	transition: border .3s, box-shadow .3s;
}

.form_block input[type=text]:focus,
.form_block input[type=email]:focus,
.form_block input[type=tel]:focus,
.form_block input[type=number]:focus,
.form_block input[type=password]:focus,
.form_block select:focus,
.form_block textarea:focus {
	outline: 0;
	border-color: #66afe9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.8);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.8);
}

.form_block .form_select {
	display: inline-block;
}

.form_block .label_ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

.form_block .label_ul label {
	position: relative;
	display: block;
	padding: 6px 30px 6px 40px;
}

.form_block .label_ul label input[type=checkbox],
.form_block .label_ul label input[type=radio] {
	position: absolute;
	visibility: hidden;
	opacity: 0;
}

.form_block .label_ul label .check {
	position: absolute;
	left: 0;
	top: 6px;
	width: 24px;
	height: 24px;
	background-color: #fff;
	border: 1px solid #e8e8e8;
}

.form_block .label_ul label .check::after {
	content: "";
	position: absolute;
	opacity: 0;
}

body.init .form_block .label_ul label .check::after {
	-webkit-transition: opacity .1s;
	-o-transition: opacity .1s;
	transition: opacity .1s;
}

.form_block .label_ul label input[type=checkbox]+.check::after {
	left: 7px;
	top: 3px;
	width: 8px;
	height: 14px;
	border-right: 3px solid #004285;
	border-bottom: 3px solid #004285;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.form_block .label_ul label input[type=checkbox]:checked+.check::after {
	opacity: 1;
}

.form_block .label_ul label input[type=radio]+.check {
	border-radius: 100%;
}

.form_block .label_ul label input[type=radio]+.check::after {
	top: 4px;
	right: 4px;
	left: 4px;
	bottom: 4px;
	border-radius: 100%;
	background-color: #004285;
}

.form_block .label_ul label input[type=radio]:checked+.check::after {
	opacity: 1;
}

.form_block .other {
	margin-top: 10px;
}

.form_block .other dt {
	margin-bottom: 8px;
}

.form_block .ex {
	margin-bottom: 10px;
}

.form_block .zip2address {
	display: inline-block;
	vertical-align: middle;
	margin-left: 20px;
	padding: 5px 10px;
	background-color: #666666;
	color: #fff;
	text-decoration: none;
	font-size: 1.2rem;
}

.form_block .notes_text {
	margin: 15px 0 10px;
}

.form_block .notes_text:first-child {
	margin-top: 0;
}

.form_block .notes_text:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 769px),
print {
	.form_block input.zip {
		width: 200px;
	}
}

@media screen and (max-width: 768px) {
	.form_block {
		margin-bottom: 40px;
	}

	.form_block input.zip {
		width: calc(100% - 160px);
	}

	.form_block .zip2address {
		width: 150px;
		margin-left: 5px;
		padding: 8px;
		text-align: center;
	}

	.form_block .form_select {
		display: block;
	}

	.form_block .form_select select {
		width: 100%;
	}
}

.form_block .form_input_table th {
	font-weight: bold;
}

.form_block .form_input_table th .hissu {
	float: right;
	padding: 0 8px;
	border: 1px solid #dc000c;
	color: #dc000c;
	font-size: 1.2rem;
}

@media screen and (min-width: 769px),
print {
	.form_block .form_input_table {
		width: 100%;
	}

	.form_block .form_input_table th {
		width: 185px;
		padding-top: 15px;
		vertical-align: top;
	}

	.form_block .form_input_table th.multi {
		padding-top: 5px;
	}

	.form_block .form_input_table th.multi .hissu {
		margin-top: 10px;
	}

	.form_block .form_input_table td {
		padding: 15px 0 15px 30px;
	}

	.form_block .form_input_table.input th {
		padding-top: 22px;
	}

	.form_block .form_input_table.input th.multi {
		padding-top: 12px;
	}

	.form_block .form_input_table.input .notes_text:first-child {
		margin-top: 8px;
	}

	.form_block .form_input_table .ex {
		padding-top: 6px;
	}

	.form_block .form_input_table .label_ul {
		width: 735px;
		/* IE */
	}
}

@media screen and (max-width: 768px) {

	.form_block .form_input_table,
	.form_block .form_input_table tbody,
	.form_block .form_input_table tr,
	.form_block .form_input_table th,
	.form_block .form_input_table td {
		display: block;
	}

	.form_block .form_input_table tr+tr {
		margin-top: 20px;
	}

	.form_block .form_input_table th {
		margin-bottom: 8px;
	}
}

@media screen and (min-width: 769px),
print {
	.form_block .form_estimate_table {
		width: 100%;
		border-spacing: 2px;
		border-collapse: separate;
	}

	.form_block .form_estimate_table thead th {
		padding: 6px 20px;
		background-color: #809ec2;
		text-align: center;
		color: #fff;
		font-weight: bold;
	}

	.form_block .form_estimate_table thead .no {
		width: 9%;
	}

	.form_block .form_estimate_table thead .name {
		text-align: left;
	}

	.form_block .form_estimate_table thead .quantity,
	.form_block .form_estimate_table thead .cancel {
		width: 10%;
		background-color: #ce121c;
	}

	.form_block .form_estimate_table tbody td {
		padding: 10px 20px;
		background-color: #f7f7f7;
		text-align: center;
	}

	.form_block .form_estimate_table tbody .no {
		background-color: #ccd8e7;
		text-align: center;
		font-weight: bold;
	}

	.form_block .form_estimate_table tbody .name {
		text-align: left;
	}

	.form_block .form_estimate_table tbody .quantity,
	.form_block .form_estimate_table tbody .cancel {
		padding: 10px;
		background-color: #f8ccce;
	}

	.form_block .form_estimate_table tbody .quantity input {
		text-align: center;
	}

	.form_block .form_estimate_table tbody .cancel .label_ul {
		justify-content: center;
	}

	.form_block .form_estimate_table tbody .cancel label {
		padding-left: 35px;
		padding-right: 5px;
	}
}

@media screen and (max-width: 768px) {
	.form_block .form_estimate_table thead {
		display: none;
	}

	.form_block .form_estimate_table,
	.form_block .form_estimate_table tbody,
	.form_block .form_estimate_table tr {
		display: block;
	}

	.form_block .form_estimate_table tr+tr {
		margin-top: 15px;
	}

	.form_block .form_estimate_table th,
	.form_block .form_estimate_table td {
		display: table;
		width: 100%;
		border-bottom: 1px solid #fff;
	}

	.form_block .form_estimate_table th::before,
	.form_block .form_estimate_table td::before {
		content: attr(data-label);
		display: table-cell;
		width: 6em;
		vertical-align: middle;
		text-align: center;
		background-color: #809ec2;
		color: #fff;
		font-weight: bold;
	}

	.form_block .form_estimate_table th>div,
	.form_block .form_estimate_table td>div {
		display: table-cell;
		padding: 5px 10px;
		vertical-align: middle;
		text-align: center;
		background-color: #f4f4f4;
		border-left: 1px solid #fff;
	}

	.form_block .form_estimate_table .no>div {
		background-color: #ccd8e7;
		font-weight: bold;
	}

	.form_block .form_estimate_table .name>div {
		text-align: left;
	}

	.form_block .form_estimate_table .quantity::before,
	.form_block .form_estimate_table .cancel::before {
		background-color: #ce121c;
	}

	.form_block .form_estimate_table .quantity input {
		text-align: center;
	}

	.form_block .form_estimate_table .cancel .label_ul {
		justify-content: center;
	}

	.form_block .form_estimate_table .cancel label {
		padding-left: 35px;
		padding-right: 5px;
	}
}


@media screen and (min-width: 769px),
print {
	.form_block .form_seminar_table {
		width: 100%;
		border-spacing: 2px;
		border-collapse: separate;
	}

	.form_block .form_seminar_table thead th {
		padding: 6px 0;
		background-color: #809ec2;
		text-align: center;
		color: #fff;
		font-weight: bold;
	}

	.form_block .form_seminar_table thead .entry {
		width: 15%;
		background-color: #ce121c;
	}

	.form_block .form_seminar_table thead .place {
		width: 9%;
	}

	.form_block .form_seminar_table thead .date {
		width: 17%;
	}

	.form_block .form_seminar_table thead .cast,
	.form_block .form_seminar_table thead .vacancy,
	.form_block .form_seminar_table thead .capacity {
		width: 9%;
	}

	.form_block .form_seminar_table tbody td {
		padding: 10px 20px;
		background-color: #f7f7f7;
		text-align: center;
	}

	.form_block .form_seminar_table tbody .entry {
		background-color: #f8ccce;
		text-align: center;
		font-weight: bold;
	}

	.form_block .form_seminar_table tbody .entry .label_ul {
		justify-content: center;
	}

	.form_block .form_seminar_table tbody .entry label {
		padding-left: 35px;
		padding-right: 5px;
	}

	.form_block .form_seminar_table tbody .place {
		background-color: #ccd8e7;
		font-weight: bold;
	}
}

@media screen and (max-width: 768px) {
	.form_block .form_seminar_table thead {
		display: none;
	}

	.form_block .form_seminar_table,
	.form_block .form_seminar_table tbody,
	.form_block .form_seminar_table tr {
		display: block;
	}

	.form_block .form_seminar_table tr+tr {
		margin-top: 15px;
	}

	.form_block .form_seminar_table tr {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.form_block .form_seminar_table th,
	.form_block .form_seminar_table td {
		display: table;
		width: 100%;
		border-bottom: 1px solid #fff;
	}

	.form_block .form_seminar_table th::before,
	.form_block .form_seminar_table td::before {
		content: attr(data-label);
		display: table-cell;
		width: 6em;
		vertical-align: middle;
		text-align: center;
		background-color: #809ec2;
		color: #fff;
		font-weight: bold;
	}

	.form_block .form_seminar_table th>div,
	.form_block .form_seminar_table td>div {
		display: table-cell;
		padding: 5px 10px;
		vertical-align: middle;
		text-align: center;
		background-color: #f4f4f4;
		border-left: 1px solid #fff;
	}

	.form_block .form_seminar_table .entry {
		order: 10;
	}

	.form_block .form_seminar_table .entry::before {
		background-color: #ce121c;
	}

	.form_block .form_seminar_table .entry>div {
		background-color: #f8ccce;
		font-weight: bold;
	}

	.form_block .form_seminar_table .entry .label_ul {
		justify-content: center;
	}

	.form_block .form_seminar_table .entry label {
		padding-left: 35px;
		padding-right: 5px;
	}

	.form_block .form_seminar_table .place>div {
		background-color: #ccd8e7;
		font-weight: bold;
	}

	.form_block .form_seminar_table .title>div {
		text-align: left;
	}

	.form_block .form_seminar_table .vacancy,
	.form_block .form_seminar_table .capacity {
		width: 50%;
	}
}

.form_privacy {}

.form_privacy dt {
	margin-bottom: 5px;
	font-weight: bold;
}

.form_privacy .label_ul {
	margin-top: 30px;
	justify-content: center;
	font-weight: bold;
}

.form_privacy .label_ul label {
	padding-right: 0;
}

@media screen and (min-width: 769px),
print {
	.form_privacy {
		padding: 45px;
	}
}

@media screen and (max-width: 768px) {
	.form_privacy {
		padding-top: 25px;
		padding-bottom: 25px;
	}

	.form_privacy .label_ul {
		margin-top: 20px;
	}
}

.form_btn {
	margin-top: 60px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.form_btn {
		margin-top: 40px;
	}
}

/* li
============================================================================================================ */
ul.dot_li li {
	position: relative;
	padding-left: 1em;
}

ul.dot_li li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #707070;
}


/* ===================================================================================================================

	記事

=================================================================================================================== */

/* entry_vartical_list
============================================================================================================ */
.entry_vartical_list {}

.entry_vartical_list article+article {
	margin-top: 60px;
}

.entry_vartical_list article a {
	display: block;
	color: #000;
	text-decoration: none;
}

.entry_vartical_list article a::after {
	content: "";
	display: table;
	clear: both;
}

.entry_vartical_list article .status_ico {
	margin-bottom: 20px;
}

.entry_vartical_list article .title_h3 {
	margin-top: 0;
	margin-bottom: 10px;
}

.entry_vartical_list article time {
	display: block;
	margin-bottom: 15px;
	font-size: 1.2rem;
	color: #808080;
}

.entry_vartical_list article .img img {
	max-width: 100%;
	border: 2px solid #e3e3e3;
}

.entry_vartical_list article .more {
	position: relative;
	display: table;
	margin-top: 15px;
	font-size: 1.2rem;
	padding-right: 20px;
	color: #535353;
}

.entry_vartical_list article .more::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #535353;
	border-right: 2px solid #535353;
	-webkit-transform-origin: 100% 0;
	-moz-transform-origin: 100% 0;
	-ms-transform-origin: 100% 0;
	-o-transform-origin: 100% 0;
	transform-origin: 100% 0;
	-webkit-transform: scaleX(0.7) rotate(45deg);
	-ms-transform: scaleX(0.7) rotate(45deg);
	-o-transform: scaleX(0.7) rotate(45deg);
	transform: scaleX(0.7) rotate(45deg);
}

@media screen and (min-width: 769px),
print {
	.entry_vartical_list article header {
		float: right;
		width: calc(100% - 240px);
	}

	.entry_vartical_list article .img {
		float: left;
		width: 220px;
	}

	.entry_vartical_list article .img~* {
		margin-left: 240px;
	}

	.entry_vartical_list article a:hover .title_h3 {
		text-decoration: underline;
	}

	.entry_vartical_list article a:hover .more {
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.entry_vartical_list article .status_ico {
		margin-bottom: 10px;
	}

	.entry_vartical_list article .img {
		margin-bottom: 10px;
		text-align: center;
	}
}

/* entry_detail
============================================================================================================ */
.entry_detail>header {
	margin-bottom: 32px;
}

.entry_detail>header time {
	display: block;
	margin-top: -10px;
	margin-left: 22px;
	font-size: 1.2rem;
	color: #808080;
}

@media screen and (max-width: 768px) {
	.entry_detail>header {
		margin-bottom: 26px;
	}

	.entry_detail>header time {
		margin-top: -20px;
		margin-left: 0;
		font-size: 1.4rem;
	}
}

/* entry_side_link
============================================================================================================ */
.entry_side_link article+article {
	margin-top: 20px;
}

.entry_side_link a {
	display: block;
	padding: 25px;
	background-color: #F4F4F4;
	text-decoration: none;
	font-size: 1.2rem;
	color: #000;
}

.entry_side_link a h3 {
	margin-bottom: 1em;
	color: #004285;
}

.entry_side_link a time {
	display: block;
	margin-bottom: 1em;
	color: #808080;
	font-size: 1.1rem;
}

@media screen and (min-width: 769px),
print {
	.entry_side_link a:hover h3 {
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.entry_side_link a {
		font-size: 1.4rem;
	}

	.entry_side_link a time {
		font-size: 1.4rem;
	}
}


/* ===================================================================================================================

	ブログ

=================================================================================================================== */

/* blog_header
============================================================================================================ */
.blog_header .title_h3 {
	margin-top: 0;
	margin-bottom: 15px;
}

.blog_header .status_ico {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

.blog_header time {
	display: inline-block;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
	.blog_header time {
		font-size: 1.2rem;
	}
}

/* blog_list
============================================================================================================ */
.blog_list article+article {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #d6d5d5;
}

.blog_list article a {
	display: block;
	color: #000;
	text-decoration: none;
}

.blog_list article header {
	margin-bottom: 20px;
}

.blog_list article .more {
	margin-top: 20px;
}

@media screen and (min-width: 769px),
print {
	.blog_list article a:hover .title_h3 {
		text-decoration: underline;
	}

	.blog_list article .more {
		margin-left: auto;
	}
}

@media screen and (max-width: 768px) {}

/* blog_detail
============================================================================================================ */
.blog_detail {
	padding-top: 60px;
}

.blog_detail .column_main>header {
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.blog_detail {
		padding-top: 40px;
	}
}


/* ===================================================================================================================

	ログイン

=================================================================================================================== */
.login_block {}

.login_block>* {
	padding: 40px;
	border: 1px solid #707070;
}

.login_block .form_block {
	margin-bottom: 0;
}

.login_block .login_input dl {
	margin-bottom: 20px;
}

.login_block .login_input dt {
	margin-bottom: 8px;
}

.login_block .form_btn {
	margin-top: 0;
	margin-bottom: 30px;
}

@media screen and (min-width: 769px),
print {
	.login_block {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}

	.login_block>* {
		width: calc(50% - 10px);
	}

	.login_block .login_input,
	.login_block .content {
		height: 250px;
	}

	.login_block .btn {
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.login_block>* {
		padding: 25px 20px;
	}

	.login_block .form_block {
		margin-bottom: 20px;
	}

	.login_block .form_btn {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.login_block .content {
		margin-bottom: 20px;
	}

	.login_block .content .title_h3 {
		margin-bottom: 20px;
	}
}


/* ===================================================================================================================

	マイページ

=================================================================================================================== */

/* mypage_index_seminar
============================================================================================================ */
.mypage_index_seminar {
	margin-top: 80px;
}

.mypage_index_seminar>.title_h4 {
	margin-bottom: 50px;
}

@media screen and (min-width: 769px),
print {
	.mypage_index_seminar.seminar_item_list section+section {
		margin-top: 50px;
	}
}

@media screen and (max-width: 768px) {
	.mypage_index_seminar {
		margin-top: 40px;
	}

	.mypage_index_seminar>.title_h4 {
		margin-bottom: 20px;
	}
}

/* form_input_table.license
============================================================================================================ */
@media screen and (min-width: 769px),
print {
	.form_block .form_input_table.license th {
		width: 120px;
	}
}

/* mypage_products_table
============================================================================================================ */
.mypage_products_table th,
.mypage_products_table td {
	padding: 10px;
	text-align: center;
}

.mypage_products_table tbody th {
	background-color: #ccd8e7;
	font-weight: bold;
}

.mypage_products_table tbody .expired {
	background-color: #f8ccce;
}

.mypage_products_table tbody a {
	display: block;
}

@media screen and (min-width: 769px),
print {
	.mypage_products_table {
		width: 100%;
		background-color: #f7f7f7;
	}

	.mypage_products_table thead th {
		background-color: #809ec2;
		color: #fff;
		font-weight: bold;
	}

	.mypage_products_table tbody th {
		text-align: left;
		padding-left: 25px;
		padding-right: 25px;
	}

	.mypage_products_table thead th.th01 {
		width: 30%;
	}

	.mypage_products_table thead th.th02 {
		width: 18%;
	}

	.mypage_products_table thead th.th04 {
		width: 12%;
	}

	.mypage_products_table th,
	.mypage_products_table td {
		padding: 10px;
		border: 2px solid #fff;
		text-align: center;
	}
}

@media screen and (max-width: 768px) {

	.mypage_products_table,
	.mypage_products_table tbody,
	.mypage_products_table tr {
		display: block;
	}

	.mypage_products_table thead {
		display: none;
	}

	.mypage_products_table tr {}

	.mypage_products_table tr+tr {
		margin-top: 15px;
	}

	.mypage_products_table tbody th,
	.mypage_products_table tbody td {
		display: table;
		width: 100%;
		line-height: 1.6;
	}

	.mypage_products_table tbody td {
		margin-top: 1px;
		background-color: #f7f7f7;
	}

	.mypage_products_table tbody th::before,
	.mypage_products_table tbody td::before,
	.mypage_products_table tbody th>*,
	.mypage_products_table tbody td>* {
		display: table-cell;
		padding: 5px 10px;
		vertical-align: middle;
	}

	.mypage_products_table tbody th::before,
	.mypage_products_table tbody td::before {
		content: attr(data-label);
		padding: 0 5px;
		width: 6em;
		padding-right: 0;
		padding-left: 0;
		background-color: #809ec2;
		border-right: 1px solid #fff;
		color: #fff;
		font-weight: bold;
	}
}

/* mypage_products_detail_table
============================================================================================================ */
.mypage_products_detail_table {
	background-color: #f7f7f7;
}

.mypage_products_detail_table tbody th {
	background-color: #ccd8e7;
	font-weight: bold;
}

.mypage_products_detail_table th,
.mypage_products_detail_table td {
	border: 2px solid #fff;
	text-align: center;
	vertical-align: middle;
}

@media screen and (min-width: 769px),
print {
	.mypage_products_detail_table {
		width: 730px;
		margin: auto;
		table-layout: fixed;
	}

	.mypage_products_detail_table td {
		height: 64px;
		padding: 0 30px;
		border: 2px solid #fff;
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
	.title_h3+form .mypage_products_detail_table {
		margin-top: -15px;
	}

	.mypage_products_detail_table th,
	.mypage_products_detail_table td {
		border-width: 1px;
	}

	.mypage_products_detail_table th {
		width: 9.5em;
	}

	.mypage_products_detail_table td {
		padding: 10px;
	}
}

*+.mypage_products_table.detail {
	margin-top: 80px;
}

.mypage_products_table.detail+.bottom_btn {
	margin-top: 60px;
}

@media screen and (max-width: 768px) {
	*+.mypage_products_table.detail {
		margin-top: 50px;
	}

	.mypage_products_table.detail+.bottom_btn {
		margin-top: 40px;
	}

	.mypage_products_table.detail tbody th::before,
	.mypage_products_table.detail tbody td::before {
		width: 8em;
	}
}

/* mypage_download_list
============================================================================================================ */
.title_h2+.mypage_download_list {
	margin-top: -10px;
}

.title_h4+.mypage_download_list {
	margin-top: -20px;
}

.mypage_download_list li {
	border-bottom: 1px solid #e6e6e6;
}

.mypage_download_list a {
	display: block;
	padding: 20px 10px;
	text-decoration: none;
	color: #000;
}

.mypage_download_list a>* {
	display: inline-block;
}

.mypage_download_list a .solution {
	font-weight: bold;
	padding-right: 2em;
}

.mypage_download_list a .title {
	color: #004285;
	text-decoration: underline;
}

.mypage_download_list a .ico {
	min-width: 11em;
	margin-right: 1.5em;
	padding: 0 5px 1px;
	border: 1px solid #000;
	color: #004285;
	font-size: 1rem;
	text-align: center;
}

@media screen and (min-width: 769px),
print {
	.mypage_download_list a[href]:hover .title {
		text-decoration: none;
	}
}

@media screen and (max-width: 768px) {
	.mypage_download_list a {
		padding: 15px 0;
	}

	.mypage_download_list a .solution {
		padding-right: 1em;
	}

	.mypage_download_list a .ico {
		display: table;
		margin-right: 0;
		margin-bottom: 8px;
		padding: 2px 5px;
	}
}

/* mypage_download_detail
============================================================================================================ */
.mypage_download_detail {
	margin-top: 40px;
}

.mypage_download_detail>header {
	margin-bottom: 40px;
}

.mypage_download_detail>header .title_h3 {
	margin-bottom: 15px;
}

.mypage_download_detail>section+section {
	margin-top: 40px;
}


/* products_detail_nav
============================================================================================================ */
.products_detail_nav {
	position: relative;
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.4;
}

.products_detail_nav>* {
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
}

.products_detail_nav div.w {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

.products_detail_nav a {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	justify-content: center;
	align-items: center;
	color: #000;
	text-decoration: none;
	padding-bottom: 12px;
	text-align: center;
}

.products_detail_nav a::after {
	content: "";
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 4px;
	height: 4px;
	border-bottom: 1px solid #dc000c;
	border-left: 1px solid #dc000c;
	-webkit-transform-origin: 0 100%;
	-moz-transform-origin: 0 100%;
	-ms-transform-origin: 0 100%;
	-o-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transform: scaleX(1.2) rotate(-45deg);
	-ms-transform: scaleX(1.2) rotate(-45deg);
	-o-transform: scaleX(1.2) rotate(-45deg);
	transform: scaleX(1.2) rotate(-45deg);
}

.products_detail_nav .nav_title {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 100%;
	padding: 4px 0;
	background-color: #000000;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	opacity: 0;
	z-index: -1;
}

body.init .products_detail_nav .nav_title {
	-webkit-transition: opacity .1s;
	-o-transition: opacity .1s;
	transition: opacity .1s;
}

@media screen {
	.products_detail_nav.fixed>* {
		position: fixed;
		top: 0;
		z-index: 1000;
	}

	body.init .products_detail_nav.fixed .nav_title {
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
	}

	.products_detail_nav.fixed .nav_title {
		position: static;
		opacity: 1;
		z-index: 1;
	}
}

@media screen and (min-width: 769px),
print {
	.products_detail_nav {
		height: 50px;
	}

	.products_detail_nav>* {
		position: absolute;
		border-bottom: 1px solid #e3e3e3;
	}

	.products_detail_nav a {
		height: 50px;
		margin-right: 40px;
	}

	.products_detail_nav a:hover {
		color: #dc000c;
	}

	.products_detail_nav~* .target {
		top: -75px;
	}

	.products_detail_nav~* .target.pt {
		top: -95px;
	}
}

@media screen and (max-width: 768px) {
	.products_detail_nav {
		margin-top: 35px;
	}

	.products_detail_nav div.w {
		padding-top: 5px;
		padding-bottom: 10px;
	}

	.products_detail_nav a {
		width: 25%;
		min-height: 38px;
		padding: 0 5px 10px;
		text-align: center;
	}

	.products_detail_nav a::after {
		bottom: 0;
	}

	.products_detail_nav a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		border-left: 1px solid #e3e3e3;
	}

	.products_detail_nav a:nth-child(4n+1)::before {
		content: none;
	}

	.products_detail_nav a:nth-child(4)~* {
		margin-top: 10px;
	}

	.products_detail_nav .nav_title {
		padding: 3px 0;
		font-size: 1rem;
	}

	.products_detail_nav.fixed>* {
		border-bottom: 1px solid #e3e3e3;
	}

	.products_detail_nav~* .target {
		top: -125px;
	}

	.products_detail_nav~* .target.pt {
		top: -145px;
	}
}