@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", 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;}






/* 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: .2;
}
#footer .nav nav dd {
	margin-left: 12px;
}
#footer .nav nav ul {
	border-left: 1px solid #474747;
}
#footer .nav nav a {
	display: block;
	padding: 4px 12px;
	font-size: 1.2rem;
	color: #fff;
}
@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%;
	}
}

/* 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: #808080;
}
@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;
		font-size: 1rem;
	}
	#footer .snav ul a {
		display: block;
		padding: 3px 10px;
	}
}

/* copyright
------------------------------------------------------------- */
#footer small {
	display: block;
	background-color: #000000;
	padding: 15px;
	color: #808080;
	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;
}
.bottom_sns li {
	padding: 0 18px;
}
.bottom_sns a svg {
	width: 38px;
	height: 38px;
}
@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%;
}

/* 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;
	}
}
@media screen and (max-width: 768px) {
	a.btn,
	a .btn,
	button.btn {
		width: 100%;
		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 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 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%;
	}
}


.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;
}
@media screen and (min-width: 769px), print {
	.slide_block .slick-dots li button:hover::after {
		background-color: #004285;
	}
}



/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* 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;
	}
}


/* 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: 100px;
		padding-left: 5px;
	}
	.news_list a .category {
		float: left;
		width: 98px;
		margin-top: 2px;
	}
	.news_list a .title {
		margin-left: 222px;
	}
	.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;
	}
}


/* 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 li {
		width: 25%;
		padding-left: 29px;
	}
	.ph_entry_list li:nth-child(4) ~ * {
		margin-top: 40px;
	}
	.ph_entry_list li .title {
	}
	.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;
}

