@charset "utf-8";


html {
	overflow-y: scroll;
	-webkit-text-size-adjust: none;
	font-size: 62.5%;
}

body {
	color: #333;
	background-color: #fff;
	margin: 0px;
	padding: 0px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 1.0rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	min-width: 1000px;
	width: 100%;
}

@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ", Meiryo, sans-serif;
	}
}

@media screen and (max-width: 767px) {
	body {
		min-width: 320px;
	}
}

article, aside, dialog, footer, header, hgroup, nav, section, main {
	display: block;
}

body, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0px;
	padding: 0px;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-weight: normal;
	font-style: normal;
}

ul, ol, li {
	list-style: none;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
}

h1 {
	font-weight: normal;
}

h1, h2, h3 {
	font-feature-settings: "palt";
	letter-spacing: 0.02em;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	border-style: none;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}

/*
figure img {
	width: 100%;
}
*/

a {
	color: #333;
	text-decoration: none;
	outline: none;
}

a:focus {
	overflow: hidden;
	outline: none;
}

input,
input:focus,
textarea,
textarea:focus {
	outline: none;
}

button,input,optgroup,select,textarea {
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 0
}

button,input {
	overflow: visible
}

button,select {
	text-transform: none
}

[type=button],[type=reset],[type=submit],button {
	-webkit-appearance: none;
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
	border-style: none;
	padding: 0
}

[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring {
	outline: 1px dotted ButtonText
}

textarea {
	overflow: auto
}

[type=checkbox],[type=radio] {
	box-sizing: border-box;
	padding: 0
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

::-webkit-input-placeholder {
	color:#999;
}

:-ms-input-placeholder {
	color:#999;
}

::placeholder{
	color:#999;
}

ruby rt {
	letter-spacing: -0.25em;
}

.marker_orange_futo {
	background: linear-gradient(transparent 0%, #ffd592 0%);
}
.marker_orange_hoso {
	background: linear-gradient(transparent 60%, #ffd592 60%);
}
.marker_blue_futo {
	background: linear-gradient(transparent 0%, #a8eaff 0%);
}
.marker_blue_hoso {
	background: linear-gradient(transparent 60%, #a8eaff 60%);
}

/*----- .clearfix -----*/

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/*--------------------------------------------------------------------------*/

@media screen and (min-width: 768px), print and (min-width: 0px) {
	
	/*----- common -----*/
	
	a {
		transition-property: opacity;
		transition-duration: 0.5s;
	}
	
	a:hover {
		opacity: 0.5;
	}
	
	html.txtL {
		font-size: 75%;
	}
	
	header {
		width: 100%;
		background-color: #fff;
		left: 0px;
		top: 0px;
		z-index: 999;
		/*position: fixed;*/
	}
	
	header #headerIn {
		width: 100%;
		position: relative;
	}
	
	header #headerTop {
		width: 100%;
		background-color: #fff;
		border-bottom: 3px solid #362319; 
	}
	
	header #headerTopIn {
		margin: 0px auto;
		padding: 0px 60px;
		min-width: 1000px;
		width: 100%;
		max-width: 1200px;
		box-sizing: border-box;
		height: 102px;
		align-items: flex-end;
		justify-content: space-between;
		display: flex;
	}
	
	header #headerTopIn h1 {
		width: 375px;
		font-size: 0;
		line-height: 0;
		padding-bottom: 16px;
	}
	
	header #headerTopIn h1 a {
		display: block;
	}
	
	header #headerTopIn h1 a:hover {
		opacity: 1;
	}
	
	header #headerTopIn h1 img {
		width: 100%;
		height: auto;
	}
	
	header #headerTopInR {
		align-items: flex-end;
		display: flex;
	}
	
	header #headerTopInRL {
		width: 400px;
	}
	
	header #headerTopInRL ul {
		padding: 0px 0px 22px;
		align-items: center;
		display: flex;
		justify-content: flex-end;
	}
	
	header #headerTopInRL ul li {
		font-size: 1.6rem;
		line-height: 24px;
		position: relative;
		margin-left: 1.5em;
		padding-left: 1.2em;
		background: url("../img/common/arr_r_n.png") no-repeat 0px 6px / 12px auto;
	}
	
	header #menuBt,
	header #closeBt {
		display: none !important;
	}
	
	header #gNavi {
		margin: 0px auto;
		padding: 0px 60px;
		min-width: 1000px;
		width: 100%;
		box-sizing: border-box;
		height: 83px;
		background-color: #362319;
	}
	
	header #gNavi .gnLink {
		display: none !important;
	}
	
	header #gNavi nav {
		padding: 16px 0px 0px;
		max-width: 1200px;
		margin: 0 auto;
	}
	
	header #gNavi nav #gNaviUl {
		align-items: stretch;
		display: flex;
		align-items: stretch;
	}
	
	header #gNavi nav #gNaviUl > li {
		font-size: 1.6rem;
		line-height: 23px;
		font-weight: bold;
		flex: 1;
		align-self: stretch;
	}
	
	header #gNavi nav #gNaviUl > li.plus > span {
		display: none;
	}
	
	header #gNavi nav #gNaviUl > li:first-of-type {
		display: none !important;
	}
	
	header #gNavi nav #gNaviUl > li > a {
		color: #fff;
		
		margin-right: 1px;
		padding: 2px 0px 14px;
		border-bottom: 5px solid #362319;
		display: block;
		position: relative;
		transition-property: opacity, color;
		height: 67px;
		box-sizing: border-box;
		/*transition-property: all;*/
	}
	
	header #gNavi nav #gNaviUl > li:nth-of-type(2) > a {
		padding-top: 0.75em;
	}
	
	header #gNavi nav #gNaviUl > li:hover > a {
		color: #fff;
		background-color: #362319;
		/*background-color: #2c58a7;*/
	}
	
	header #gNavi nav #gNaviUl > li > a:hover {
		opacity: 1;
		border-bottom: 5px solid #ECF4FA;
	}
	
	header #gNavi nav #gNaviUl > li a::before,
	header #gNavi nav #gNaviUl > li a::after {
		content: "";
		font-size: 0;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		position: absolute;
	}
	
	header #gNavi nav #gNaviUl > li > a::after,
	header #gNavi nav #gNaviUl > li:nth-of-type(2) > a::after {
		width: 1px;
		height: 44px;
		background-color: #e0e0e0;
		top: 3px;
		right: 0px;
	}
	
	header #gNavi nav #gNaviUl > li:nth-of-type(2) > a::before {
		width: 1px;
		height: 44px;
		background-color: #e0e0e0;
		top: 3px;
		left: 0px;
	}
	
	header #gNavi nav #gNaviUl > li:hover > a::after {
		opacity: 1;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub {
		width: 100%;
		height: 0px;
		background-color: #ECF4FA;
		overflow: hidden;
		top: 188px;
		left: 0px;
		z-index: 1;
		position: absolute;
		opacity: 0;
		transition-property: opacity;
		transition-duration: 0.5s;
	}
	
	header #gNavi nav #gNaviUl > li#gNavi01:hover .gNaviSub#gNaviS10,
	header #gNavi nav #gNaviUl > li#gNavi02:hover .gNaviSub#gNaviS20,
	header #gNavi nav #gNaviUl > li#gNavi03:hover .gNaviSub#gNaviS30,
	header #gNavi nav #gNaviUl > li#gNavi04:hover .gNaviSub#gNaviS40 {
		z-index: 2;
		height: auto;
		opacity: 1;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div {
		margin: 0px auto;
		padding: 30px 60px 10px;
		min-width: 1000px;
		width: 100%;
		max-width: 1200px;
		box-sizing: border-box;
		align-items: flex-start;
		display: flex;
		opacity: 0;
		transition-property: opacity;
		transition-duration: 0.4s;
		transition-delay: 0.1s
	}
	
	header #gNavi nav #gNaviUl > li:hover .gNaviSub > div {
		opacity: 1;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul {
		display: flex;
		flex-wrap: wrap;
		text-align: left;
		width: 100%;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul::after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
		height: 0;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul li {
		font-weight: normal;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub#gNaviS20 > div > ul:last-of-type dt {
		/*float: left;*/
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul li {
		margin-bottom: 26px;
		padding: 0px 0px 12px 16px;
		background: url("../img/common/arr_r_n.png") no-repeat 0px 4px / 12px auto;
		border-bottom: 1px #362319 solid;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 20px;
		clear: both;
		box-sizing: border-box;
		width: 22%;
		margin-right: 3%;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul li:nth-of-child(4n) {
		margin-right: 0 !important;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul li a[href$=".pdf"]::after {
		content: "";
		display: inline-block;
		width: 20px;
		height: 20px;
		background: url("../img/common/icon_pdf.png") no-repeat center center / cover;
		vertical-align: middle;
		margin-left: 3px;
	}
	
	header #headerTopIn,
	header #headerTopIn h1,
	header #headerTopIn h1 img,
	header #headerTopInR,
	header #gNavi,
	header #gNavi nav,
	header #gNavi nav #gNaviUl,
	header #gNavi nav #gNaviUl > li,
	header #gNavi nav #gNaviUl > li > a,
	header #gNavi nav #gNaviUl > li > a::before,
	header #gNavi nav #gNaviUl > li .gNaviSub {
		transition-property: opacity, color;
		/*transition-property: all;*/
		transition-duration: 0.5s;
	}
	
	
	/*----- footer -----*/
	
	footer .footerCtsBox {
		background: #f8f9fb;
		height: 144px;
		padding: 40px 0 55px;
		box-sizing: border-box;
	}
	
	footer .footerCtsBoxIn {
		margin: 0px auto;
		padding: 0px 60px;
		min-width: 1000px;
		width: 100%;
		max-width: 1200px;
		box-sizing: border-box;
		display: flex;
		justify-content: flex-start;
	}
	
	footer .footerCtsBox figure {
		width: 350px;
		margin-right: 60px;
	}
	
	footer .footerCtsBox p {
		flex: 1;
		font-size: 1.6rem;
		text-align: left;
	}
	
	footer figure img {
		width: 100%;
	}
	
	footer .copyright {
		font-size: 1.2rem;
		line-height: 40px;
		text-align: center;
		background: #362319;
		color: #fff;
	}
	
	footer .copyright small {
		font-size: 1.0em;
	}
	
	#pagetop {
		width: 100%;
		min-width: 1100px;
		display: none;
		position: relative;
	}
	
	#pagetop a {
		width: 60px;
		height: 50px;
		background: url(../img/common/totop.png) no-repeat center center;
		background-size: cover;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		right: 15px;
		bottom: 144px;
		z-index: 100;
		position: fixed;
	}
	
	#pagetop.nonfixed a {
		position: absolute;
	}
	
	
	/*----- common -----*/
	
	#pageTitle {
		width: 100%;
		min-width: 1200px;
		height: 405px;
		background: url("../img/common/bg_title.jpg") no-repeat center top/ cover;
	}
	
	#pageTitle > h1{
		padding: 292px 0px 0px;
		color: #fff;
		font-size: 2.8rem;
		font-weight: bold;
		line-height: 30px;
		text-align: center;
		display: block;
	}
	
	#contentW {
		align-items: flex-start;
		flex-direction: row-reverse;
		display: flex;
		margin: 46px auto 60px;
		padding: 0px 60px;
		min-width: 1000px;
		width: 100%;
		max-width: 1200px;
		box-sizing: border-box;
		
	}
	
	#sectionNavi {
		margin: 0px 60px 0px 0px;
		padding: 0px 0px 100px;
		width: 268px;
	}
	
	#sectionNavi #spMenu,
	#sectionNavi .toParent {
		display: none !important;
	}
	
	#sectionNavi nav h1 {
		padding: 18px 20px;
		background-color: #362319;
		color: #fff;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 24px;
		text-align: center;
	}
	
	#sectionNavi nav ol {
		list-style: none;
		text-align: left;
	}
	
	#sectionNavi nav ol li {
		font-size: 1.6rem;
		line-height: 24px;
		border-top: 1px #ccc solid;
	}
	
	#sectionNavi nav ol li span,
	#sectionNavi nav ol li a {
		padding: 13px 13px 13px 20px;
		display: block;
		transition-property: color;
	}
	
	#sectionNavi nav ol li a:hover {
		color: #362319;
		opacity: 1;
	}
	
	#sectionNavi nav > ol {
		border: 1px #ccc solid;
		border-top: none;
	}
	
	#sectionNavi nav > ol > li:first-of-type {
		border-top: none;
	}
	
	#sectionNavi nav > ol > li > span,
	#sectionNavi nav > ol > li > a {
		padding-left: 40px;
		background-image: url("../img/common/arr_r_gray.png");
		background-size: 11px auto;
		background-repeat: no-repeat;
		background-position: left 16px top 20px;
		/*font-weight: bold;*/
	}
	
	#sectionNavi nav ol li .set {
		background-color: #dbedfb;
	}
	
	#contentMain {
		flex: 1;
	}
	
	.h1 {
		margin: 0px 0px 40px;
		padding: 0px 0px 0px 14px;
		border-left: 6px #362319 solid;
		font-size: 2.4rem;
		font-weight: bold;
		line-height: 36px;
	}
	
	.link {
		color: #01008a;
		text-decoration: underline;
	}
	
	table {
		width: 100%;
		border-spacing: 0;
		border-collapse: collapse;
		word-wrap: break-word;
	}
	
	table,
	table th,
	table td {
		border: 1px #ccc solid;
	}
	
	.flgP {
		display: block !important;
	}
	
	.flgS {
		display: none !important;
	}
	
}

/*#breadcrumb*/
#breadcrumb {
	background: #fff;
	/*color: #362319;*/
	/*font-weight: bold;*/
	margin-top: 1px;
}

#breadcrumb > div {
	margin: 0px auto;
	padding: 0px 60px;
	min-width: 1000px;
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	text-align: left;
}

#breadcrumb ol {
	padding: 1.4em 0px;
	list-style: none;
}

#breadcrumb ol li {
	font-size: 1.4rem;
	line-height: 1.1;
	display: inline-block;
	vertical-align: middle;
}

#breadcrumb ol li::after {
	margin: 0px 0.5em;
	content: "\003e";
	font-size: 1.4rem;
	line-height: 20px;
	display: inline-block;
}

#breadcrumb ol li:last-of-type::after {
	display: none;
}

#breadcrumb ol li a {
	text-decoration: underline;
	/*color: #362319;*/
}


@media screen and (max-width: 767px) {
	#breadcrumb {
		margin-top: 51px;
	}
	
	#breadcrumb > div {
		width: auto;
		min-width: auto;
		width: auto;
		margin: 0 5%;
		padding: 0;
	}
	
	#breadcrumb ol {
		padding: 1.2em 0px;
	}
	
	#breadcrumb ol li {
		font-size: 1.2rem;
	}
	
	#breadcrumb ol li::after {
		font-size: 1.2rem;
	}
}

/*h1Box*/
.h1Box {
	height: 270px;
	position: relative;
	overflow: hidden;
	background: url("../img/common/title_bg.jpg") no-repeat center center / cover;
}
.h1Box h1 {
	position: absolute;
	top: 39%;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 3.6rem;
	font-weight: bold;
	color: #fff;
	text-shadow:
        -0.1px -0.5px 0 #fff,
		1px 1px 1px rgba(0,0,0,0.05),
        1px -1px 1px rgba(0,0,0,0.05),
        -1px 1px 1px rgba(0,0,0,0.05),
        -1px -1px 1px rgba(0,0,0,0.05),
        2px 2px 2px rgba(0,0,0,0.1),
        2px -2px 2px rgba(0,0,0,0.1),
        -2px 2px 2px rgba(0,0,0,0.1),
        -2px -2px 2px rgba(0,0,0,0.1),
        0 0 20px rgba(0,0,0,0.2);
}

@media screen and (max-width: 767px) {
	.h1Box {
		display: table;
		width: 100%;
		height: 100px;
		overflow: hidden;
		background: url("../img/common/title_bg.jpg") no-repeat center center / cover;
	}
	.h1Box h1 {
		display: table-cell;
		vertical-align: middle;
		position: inherit;
		top: 0;
		font-size: 2.8rem;
		line-height: 1.1em;
		padding: 0 0.5em;
	}
	.h1Box h1.sizeS {
		font-size: 2.2rem;
	}
}


@media print {
	html,
	body,
	.topCts {
		min-width: auto;
		max-width: auto;
	}
	
	header,
	#pageTitle,
	#breadcrumb,
	#sectionNavi,
	footer {
		display: none;
	}
	
	.topCts:after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
		height: 0;
	}

	#contentW {
		display: block;
	}
}

/* pdf icon */
a[href$=".pdf"]::after,
.pdfIcon::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("../img/common/icon_pdf.png") no-repeat center center / 18px auto;
	vertical-align: middle;
	margin-left: 3px;
}

/* word icon */
a[href$=".xlsx"]::after,
a[href$=".xls"]::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url("../img/common/icon_excel.png") no-repeat center center / 18px auto;
	vertical-align: middle;
	margin-left: 3px;
}

/* word icon */
a[href$=".doc"]::after,
a[href$=".docx"]::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url("../img/common/icon_doc.png") no-repeat center center / 16px auto;
	vertical-align: middle;
	margin-left: 3px;
}

/* target window icon btn */
.btn a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("../img/common/icon_blank.png") no-repeat center center / 16px auto;
	vertical-align: middle;
	margin-left: 3px;
}


/* link */

figure a[href$=".pdf"]::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	background: none;
}
a[href$=".pdf"] figcaption::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("../img/common/icon_pdf.png") no-repeat center center / cover;
	vertical-align: middle;
}
@media screen and (min-width: 768px), print and (min-width: 0px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
@media screen and (max-width: 767px) {
	a[href^="tel:"] {
		color: #903;
		text-decoration: underline;
	}
}


/* pc-sp */
span.ib {
	display: inline-block;
}
@media screen and (min-width: 768px), print and (min-width: 0px) {
	.spCon {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pcCon {
		display: none;
	}
}


@media screen and (max-width: 767px) {
	#pageTitle > h1 > .spS{
		font-size: 0.7em;
	}
}




@media screen and (max-width: 767px) {
	
	/*----- common -----*/
	
	header {
		width: 100%;
		left: 0px;
		top: 0px;
		z-index: 999;
		position: fixed;
	}
	
	header #headerIn {
		width: 100%;
	}
	
	header #headerTop {
		width: 100%;
		height: 50px;
		background-color: #fff;
		position: relative;
		border-bottom: 1px #ccc solid;
	}
	
	header #headerTopIn h1 {
		width: 210px;
		font-size: 0;
		line-height: 0;
		left: 19px;
		top: 6px;
		position: absolute;
	}
	
	header #headerTopIn h1 a {
		display: block;
	}
	
	header #headerTopIn h1 img {
		width: 100%;
		height: auto;
	}
	
	header #headerTopInR {
		margin: 0px 0px 0px auto;
		width: 65px;
		height: 50px;
		position: relative;
	}
	
	header #headerTopInRL ul {
		display: none !important;
	}
	
	header #menuBt,
	header #closeBt {
		font-size: 1.2rem;
		line-height: 20px;
	}
	
	header #closeBt {
		top: 0px;
		right: 0px;
		position: absolute;
		display: none;
	}
	
	header.open #closeBt {
		display: block;
	}
	
	header #menuBt a,
	header #closeBt a {
		padding: 30px 0px 0px;
		width: 65px;
		height: 20px;
		background-color: #fff;
		background-repeat: no-repeat;
		background-position: center top;
		color: #333;
		text-align: center;
		display: block;
	}
	
	header #menuBt a {
		background-image: url("../img/common/icon_menu.png");
		background-size: cover;
	}
	
	header #closeBt a {
		background-image: url("../img/common/icon_close.png");
		background-size: cover;
	}
	
	header #gNavi {
		overflow: hidden;
		width: 100%;
		height: 0px;
		box-sizing: border-box;
		background-color: #fff;
	}
	
	header #gNavi nav #gNaviUl {
		border-bottom: 1px #ccc solid;
		text-align: left;
		background-color: #362319;
		
	}
	
	header #gNavi nav #gNaviUl > li {
		border-top: 1px #ccc solid;
		font-size: 1.6rem;
		font-weight: bold;
	}
	
	header #gNavi nav #gNaviUl > li:first-of-type {
		border-top:none;
	}
	
	header #gNavi nav #gNaviUl > li > a {
		padding: 12px 28px 12px 28px;
		color: #fff;
		display: block;
	}
	
	header #gNavi nav #gNaviUl > li.plus {
		position: relative;
	}
	
	header #gNavi nav #gNaviUl > li.plus > span {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 65px;
		height: 48px;
		background: url("../img/common/icon_plus_w.png") no-repeat right 30px center / 12px auto;
		text-indent: -9999px;
		font-size: 0;
	}
	
	header #gNavi nav #gNaviUl > li.plus.open > span {
		background-image: url("../img/common/icon_minus_w.png");
	}
	
	header #gNavi nav #gNaviUl > li.plus > span {
		background: url("../img/common/icon_plus_w.png") no-repeat right 24px center / 18px auto;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub {
		width: 100%;
		height: 0px;
		overflow: hidden;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul {
		background: #fff;
		padding: 12px 0;
	}
	
	header #gNavi nav #gNaviUl > li .gNaviSub > div > ul li a {
		padding: 5px 50px 5px 50px;
		background: url("../img/common/arr_r_n.png") no-repeat left 30px center / 9px auto;
		display: block;
	}
	
	header #gNavi .gnLink {
		padding: 28px 28px 28px;
		text-align: left;
		background: #fff;
	}
	
	header #gNavi .gnLink li {
		display: inline-block;
		font-size: 1.6rem;
		line-height: 24px;
		margin: 7px 1.5em 7px 0;
		padding: 0 0 0 1.2em;
		background: url("../img/common/arr_r_gray.png") no-repeat 0px 6px / 12px auto;
	}
	header #gNavi .gnLink li:last-child {
		margin-right: 0;
	}
	
	header,
	header #headerIn,
	header #gNavi,
	header #gNavi nav #gNaviUl > li > a,
	header #gNavi nav #gNaviUl > li .gNaviSub {
		transition-property: all;
		transition-duration: 0.5s;
	}
	
	header.open,
	header.open #headerIn,
	header.open #gNavi {
		height: 100%;
	}
	
	header.open #gNavi {
		padding: 0px 0px 0px;
	}
	
	header #gNavi nav #gNaviUl > li.open .gNaviSub {
		height: auto;
	}
	
	
	/*----- footer -----*/
	
	footer {
		margin: 0px;
		padding: 0px;
		min-width: auto;
		width: 100%;
		max-width: auto;
		box-sizing: border-box;
	}
	
	footer .footerCtsBox {
		background: #f8f9fb;
		padding: 30px 0 30px;
		box-sizing: border-box;
	}
	
	footer .footerCtsBoxIn {
		margin: 0px 5%;
		padding: 0 0;
		width: auto;
	}
	
	footer .footerCtsBox figure {
		width: 280px;
		margin: 0 auto 20px;
	}
	
	footer .footerCtsBox p {
		font-size: 1.6rem;
		text-align: left;
	}
	
	footer figure img {
		width: 100%;
	}
	
	footer .copyright {
		font-size: 1.2rem;
		line-height: 1.4;
		padding: 1em;
		text-align: center;
		background: #362319;
		color: #fff;
	}
	
	footer .copyright small {
		font-size: 1.0em;
	}
	
	#pagetop {
		width: 100%;
		display: none;
		position: relative;
	}
	
	#pagetop a {
		width: 35px;
		height: 35px;
		background: url(../img/common/totop.png) no-repeat center center;
		background-size: cover;
		font-size: 0px;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		right: 15px;
		bottom: 0px;
		z-index: 100;
		position: fixed;
	}
	
	#pagetop.nonfixed a {
		position: absolute;
	}

	
	
	/*----- common -----*/
	
	#contentS,
	#contentW {
	}
	
	#sectionNavi {
		width: 100%;
		min-height: 59px;
	}
	
	#sectionNavi > nav {
		width: 100%;
		left: 0px;
		bottom: 0px;
		position: fixed;
	}
	
	#sectionNavi.navFix > nav {
		left: auto;
		bottom: auto;
		position: relative;
	}
	
	#sectionNavi #spMenu {
		padding: 16px 0px 0px;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 24px;
		text-align: center;
		position: relative;
	}
	
	#sectionNavi #spMenu  a {
		padding: 10px 0px 9px;
		height: 24px;
		background-color: #362319;
		color: #fff;
		display: block;
	}
	
	#sectionNavi #spMenu a::before {
		content: "";
		width: 36px;
		height: 36px;
		background-image: url("../img/common/crc_up.png");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		font-size: 0;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		left: 50%;
		top: 0px;
		z-index: 1;
		position: absolute;
		transform: translateX(-50%);
	}
	
	#sectionNavi #spMenu.open a::before {
		background-image: url("../img/common/crc_x.png");
		background-size: cover;
	}
	
	#sectionNavi #spMenu a span {
		z-index: 2;
		position: relative;
	}
	
	#sectionNavi .sideNav,
	#sectionNavi .toParent {
		background-color: #fff;
	}
	
	#sectionNavi nav h1 {
		display: none !important;
	}
	
	#sectionNavi nav ol {
		list-style: none;
		text-align: left;
	}
	
	#sectionNavi nav ol li,
	#sectionNavi .toParent {
		font-size: 1.6rem;
		line-height: 24px;
	}
	
	#sectionNavi nav ol li span,
	#sectionNavi nav ol li a,
	#sectionNavi .toParent a {
		padding: 7px 10px 7px 10px;
		display: block;
		border-bottom: 1px #ccc solid; 
	}
	
	#sectionNavi .sideNav li span,
	#sectionNavi .sideNav li a,
	#sectionNavi .toParent a {
		padding: 0px 0px 0px;
		height: 0px;
		overflow: hidden;
		transition-property: padding;
		transition-duration: 0.5s;
	}
	
	#sectionNavi #spMenu.open + .sideNav li span,
	#sectionNavi #spMenu.open + .sideNav li a,
	#sectionNavi #spMenu.open + .sideNav + .toParent a {
		padding: 7px 10px 7px 30px;
		height: auto;
	}
	
	#sectionNavi nav > ol > li > span,
	#sectionNavi nav > ol > li > a {
		background-image: url("../img/common/arr_r_gray.png");
		background-size: 9px auto;
		background-repeat: no-repeat;
		background-position: left 12px top 15px;
	}
	
	#sectionNavi nav ol li .set {
		background-color: #dbedfb;
	}
	
	#sectionNavi .toParent a {
		background-color: #f7f8f9;
		background-image: url("../img/common/arr_r_crc.png");
		background-size: 16px auto;
		background-repeat: no-repeat;
		background-position: right 11px top 11px;
	}
	
}


/* content ----------------------------------------*/

.content {
	text-align: left;
	font-size: 1.6rem;
	line-height: 1.8;
}
#contentMain {
	padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
	.content {
		margin: 30px 5% 0;
	}
	#contentMain {
		padding-bottom: 30px;
	}
}

/* p h2 h3 h4 h5 h6 */
#contentMain a {
	color: #36F;
	text-decoration: underline;
}

#contentMain a:hover {
	color: #39F;
}

#contentMain h2 {
	font-size: 2.2rem;
	line-height: 1.2;
	margin: 1.3em 0;
	padding-bottom: 0.4em;
	position: relative;
	border-bottom: 3px solid #ccc;
}
#contentMain h2:after {
	display: block;
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 150px;
	height: 3px;
	background: #362319;
}
#contentMain h2:first-of-type {
	margin-top: 0;
}
#contentMain h3 {
	font-size: 2.0rem;
	line-height: 1.3;
	margin: 1.8em 0;
	padding-left: 0.9em;
	padding-bottom: 0.4em;
	border-bottom: 1px solid #ccc;
	position: relative;
}
#contentMain h3:before {
	display: block;
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 5px;
	height: 21px;
	background: #362319;
}
#contentMain h4 {
	font-size: 1.8rem;
	margin: 1.8em 0;
}
#contentMain h5 {
	line-height: 1.8;
	margin: 3.2rem 0 0.5em;
	padding-bottom: 0.1em;
	border-bottom: 1px solid #ccc;
}
#contentMain h6 {
	line-height: 1.8;
	margin: 1.8rem 0 0;
}
#contentMain p {
	line-height: 1.8em;
	margin: 0 0 2em;
}

/* ul, ol */
#contentMain ul > li {
	list-style-position: outside;
	list-style-type: disc;
	margin-left: 1.5em;
}
#contentMain ol > li {
	list-style-position: outside;
	list-style-type: decimal;
	margin-left: 1.5em;
}


/* table */
table {
	margin: 0.3em 0px;
	border: 1px #ccc solid !important;
	box-sizing: border-box; 
}
table.tblNormal th {
	background: #e7e7e7;
	font-weight: bold;
	text-align: center;
}
table.tblNormal th,
table.tblNormal td {
	border: 1px #ccc solid !important;
	padding: 0.6em 0.6em;
	vertical-align: middle;
}
table.tblNoBorder {
	border: none !important;
	width: auto;
	margin: 0;
}
table.tblNoBorder,
table.tblNoBorder th,
table.tblNoBorder td {
	border: none;
	margin: 0;
	vertical-align: top;
}
table.tblNoBorder th {
	font-weight: bold;
}
table th.vAlignTop,
table td.vAlignTop {
	vertical-align: top;
}
table th.vAlignMiddle,
table td.vAlignMiddle {
	vertical-align: middle;
}
@media screen and (min-width: 768px), print and (min-width: 0px) {
	table.spTblTate th,
	table.spTblTate td {		
		display: table-cell;
	}
	table.tblShort {
		width: auto;
		min-width: 345px;
	}
}
@media screen and (max-width: 767px) {
	#contentMain table {
		width: 100%;
	}
	table.tblNormal th,
	table.tblNormal td {
		padding: 10px 5px;
	}
	table.tblNormal.spTblTate {
		width: 100%;
	}
	table.tblNormal.spTblTate th,
	table.tblNormal.spTblTate td {
		padding: 10px 10px;
	}
	
	table.spTblTate {
		border-top: 1px solid #ccc;
		border-left: 1px solid #ccc;
		border-right: 1px solid #ccc;
		border-bottom: none !important;
	}
	table.spTblTate th,
	table.spTblTate td {		
		display: block;
		border-top: none !important;
		border-left: none !important;
		border-right: none !important;
		border-bottom: 1px solid #ccc;
		padding: 10px 10px;
	}
	.tblScrollWrap {
		overflow: auto;
	}
	.tblScrollWrap::-webkit-scrollbar {
		height: 5px;
	}
	.tblScrollWrap::-webkit-scrollbar-track {
		background: #F1F1F1;
	}
	.tblScrollWrap::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
	.tblScrollWrap table {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		border: none !important;
	}
	
	table.tblNoBorder {
		width: auto !important;
	}
	table.tblNoBorder.spTblTate,
	table.tblNoBorder.spTblTate td {
		border: none;
		padding: 0;
	}
	table.tblNoBorder.spTblTate th {
		border: none;
		padding: 2em 0 0;
		font-weight: bold;
	}
	table.tblNoBorder.spTblTate tr:nth-child(1) th {
		padding: 0;
	}
	.tblScrollWrap {
		overflow: auto;
	}
	.tblScrollWrap::-webkit-scrollbar {
		height: 5px;
	}
	.tblScrollWrap::-webkit-scrollbar-track {
		background: #F1F1F1;
	}
	.tblScrollWrap::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
	
	.tblScrollWrap table {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		border: none !important;
	}
}

/* text */
.kome {
	padding-left: 1em;
	text-indent: -1em;
}
.kome span {
	padding-left: 0;
	text-indent: 0;
}
.sizeL {
	font-size: 1.15em;
	line-height: 1.3;
}
.cap {
	font-size: 0.87em;
	font-weight: normal;
}
sup {
	font-size: 0.75em;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
.nowrap {
	white-space: nowrap;
}
.longUrl {
	word-break:break-all;
}

/* color */
.colorRed {
	color: #ce5b5b;	
}
.colorBlue {
	color: #1d89cd;	
}
.bgGrayDark {
	background-color: #e1e2e3 !important;
}
.bgGray {
	background-color: #e7e7e7 !important;
}
.bgPink {
	background-color: #fce3e7 !important;
}
.bgBlue {
	background-color: #dbedfb !important;
}

/* align */
.alignRight {
	text-align: right !important;
}
.alignLeft {
	text-align: left !important;
}
.alignCenter {
	text-align: center !important;
}
figure.alignRight,
img.alignRight,
div.alignRight {
	float: right;
	margin: 0 0 12px 20px;
}
figure.alignRight:after,
img.alignRight:after,
div.alignRight:after {
	display: table;
	content: "";
	clear: both;
	overflow: hidden;
}
figure.alignLeft,
img.alignLeft,
div.alignLeft {
	float: left;
	margin: 0 24px 12px 0px;
}
figure.alignLeft:after,
img.alignLeft:after,
div.alignLeft:after {
	display: table;
	content: "";
	clear: both;
	overflow: hidden;
}
.alignCenter figure,
.alignCenter img {
	text-align: center !important;
	margin: 3em auto 12px !important;
}

@media screen and (max-width: 767px) {
	figure.alignLeft,
	img.alignLeft,
	figure.alignRight,
	img.alignRight {
		display: block;
		float: none;
		max-width: 100%;
		width: auto;
		margin: 0 auto 15px !important;
		text-align: center;
	}
	figure.alignLeft img,
	img.alignLeft img,
	figure.alignRight img,
	img.alignRight img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
		width: auto;
	}
}

/* margin */
.mt1em {margin-top: 1em !important;}
.mt2em {margin-top: 2em !important;}
.mt3em {margin-top: 3em !important;}
.mt1bem {margin-top: -1em !important;}
.mt2bem {margin-top: -2em !important;}
.mb1em {margin-bottom: 1em !important;}
.mb2em {margin-bottom: 2em !important;}
.mb3em {margin-bottom: 3em !important;}
.mb5em {margin-bottom: 5em !important;}
.mb1bem {margin-bottom: -0.2em !important;}
.mb2bem {margin-bottom: -2em !important;}


.btnSet {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 0;
}
.btn {
	margin: 2em 4% 0 0 !important;
	width: 48%;
	
}
.btnS {
	margin: 2em 30px 0 0 !important;
	width: auto;
	min-width: 150px;
}

.btn:nth-child(even) {
	margin-right: 0 !important;
}
.btnWtL {
	display: table;
	vertical-align: middle;
	height: 116px; 
	border: 1px #ccc solid;
	border-radius: 4px;
	text-align: center;
	box-sizing: border-box;
	background: url("../img/common/arr_r_gray.png") no-repeat left 40px center / 10px auto;
}
.btnWtL a {
	display: table-cell;
	margin: 0;
	padding: 20px 60px 20px 60px;
	color: #333 !important;
	text-decoration: none !important;
	font-size: 2.0rem;
	line-height: 1.2;
	width: 100%;
	height: 116px;
	vertical-align: middle;
	text-align: center;
	box-sizing: border-box;	
}
.btnWtL a:hover {
	background: #f2f2f2 url("../img/common/arr_r_gray.png") no-repeat left 40px center / 10px auto; 
}
.btnWt {
	display: inline-block;
	vertical-align: middle;
	border: 1px #ccc solid;
	border-radius: 4px;
	box-sizing: border-box;
}
.btnBl {
	display: inline-block;
	margin: 2em auto 2em;
	vertical-align: middle;
	width: 47%;
	/*background: #01008a;*/
	border: 1px #01008a solid;
	border-radius: 4px;
	box-sizing: border-box;
}

.btnWt a {
	padding: 12px 20px 12px 40px;
	background: url("../img/common/arr_r_gray.png") no-repeat left 20px center / 10px auto;
	color: #333 !important;
	text-decoration: none !important;
	font-size: 1.8rem;
	line-height: 1.4;
	display: block;
	vertical-align: middle;
}
.btnWt a:hover {
	background: #f2f2f2 url("../img/common/arr_r_gray.png") no-repeat left 20px center / 10px auto; 
}
.btnBl a {
	padding: 12px 20px 12px 40px;
	background: rgba(1,0,138,1) url("../img/common/arr_r_w.png") no-repeat left 20px center / 10px auto;
	/*border: 1px #01008a solid;*/
	color: #fff !important;
	text-decoration: none !important;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.4;
	display: block;
	vertical-align: middle;
}
.btnBl a:hover {
	background-color: rgba(1,0,138,0.9);
}
@media screen and (max-width: 767px) {
	.btnSet {
		display: inherit;
	}
	.btn {
		margin: 2em 0 0 0 !important;
		width: 100%;
		
	}
	.btnS {
		margin: 1em 20px 0 0 !important;
		width: auto;
		min-width: 150px;
	}
	
}

.btnWtS {
	display: inline-block;
	margin: 0 auto;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 767px) {
	
}

