@charset "EUC-JP";

/*===== STYLE LIST ==========================================================
 1: Custom Setting
 2: Layout
 3: Module
============================================================================= */

/* 1: Custom Setting
============================================================================= */
html {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Meiryo, メイリオ, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 62.5%; /* 10px */
  	overflow-y: scroll;
	scroll-behavior: smooth;
}
/* IE8〜11 */
@media screen\0 {
  html {
    font-family: 'Segoe UI', Meiryo, sans-serif;
  }
}
/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular');
}
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local('YoGothic-Bold'), local('Yu Gothic');
}
body {
	min-width: 980px;
	background-color: #f0f0dd;
	background-image: url("/sp/common/images/bg.gif");
	background-repeat: repeat-x;
	background-position: top left;
	font-size: 1.6rem;
	line-height: 1.7;
}
*, *:before, *:after {
  box-sizing: border-box;
}
.wrapper {
	width: 980px;
	margin: 0 auto;
	background-color: #ffffff;
}
nav ul {
	list-style: none;
}

/* Android 4.2.x Bug fix
----------------------------------------------------------------------------- */
h1, h2, p {
	background-image: url("/image/common/spacer.gif");
}

/* Text
----------------------------------------------------------------------------- */
h1 {
	margin-bottom: 1.5em;
	font-size: 3.0rem;
	line-height: 1.5;
}
main h1.title {
	position: relative;
	padding: 0.25em;
	border-bottom: 4px solid #c2b372;
}
main h1.title:before {
	content: " ";
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 4em;
	height: 4px;
	background-color: #2d4d90;
}
h2 {
	margin-bottom: 1.5em;
	font-size: 2.4rem;
	line-height: 1.5;
}
main h2.title {
	padding: 0.25em 0.25em 0.25em 8px;
	border-left: 8px solid #2F4F8E;
	border-bottom: 1px solid #2F4F8E;
}
h3, h4, h5, h6 {
	margin-bottom: 0.5em;
	font-size: 1.6rem;
	line-height: 1.4;
}
main h3.title {
	position: relative;
	padding: 0 0 0 18px;
}
main h3.title:before {
	content: " ";
	position: absolute;
	top: 5px;
	left: 0;
	width: 12px;
	height: 12px;
	background-color: #C1B276;
}
p {
	margin-bottom: 0.75em;
	line-height: 1.6;
}
em {
	font-style: normal;
	font-weight: bold;
}
i {
	font-style: normal;
}
address, caption, cite, code {
	font-size: inherit;
	font-style: normal;
	font-weight: normal;
}

/* List
----------------------------------------------------------------------------- */
ol, ul {
	margin: 0 0 1.5em 2em;
	list-style-position: outside;
}
ol li, ul li {
	margin-bottom: 0.5em;
}
dl, dt, dd {
	margin: 0;
	padding: 0;
}
dl {
	margin-bottom: 1.75em;
}
ol.nomark, ul.nomark {
	margin-left: 0;
	list-style: none;
}
ol.roman {
	list-style-type: upper-roman;
}

/* Table
-------------------------------------------------------------------- */
table {
	width: 100%;
	border-collapse: collapse;
}
table caption {
	margin-bottom: 0.5em;
	text-align: left;
	font-weight: bold;
}
table th, table td {
	vertical-align: middle;
	padding: 12px 20px;
	border: 1px solid #bababa;
}
table th {
	background-color: #f0f0f0;
}
table td {
	background-color: #ffffff;
}
table img {
	vertical-align: middle;
}
table .nowrap {
	white-space: nowrap;
}
table .center {
	text-align: center;
}
table .left {
	text-align: left;
}
table .right {
	text-align: right;
}

/* Form
----------------------------------------------------------------------------- */
label {
	vertical-align: middle;
}
label + input.form-text,
input.form-text + label {
	margin-left: 0.5em;
}
input.form-text + input[type="submit"] {
	margin-left: 1em;
}
input.form-text {
	height: 38px;
	padding: 4px 8px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select.form-select {
	height: 38px;
	padding: 4px 8px;
	background: url("/common/images/form-select.png") no-repeat 95% center;
	background-size: 10px 6px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	font-size: 1.6rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select.form-select option {
	padding: 2px 8px;
}
textarea {
	font-size: 1.6rem;
	line-height: 1.6; 
}
button {
	padding: 0;
	border: none;
	background-color: transparent;
}
input::-ms-clear {
	visibility: hidden;
}
input::-ms-reveal {
	visibility: hidden;
}
select::-ms-expand {
	display: none;
}
select::-ms-expand {
	display: none;
}

/* Link
----------------------------------------------------------------------------- */
a {
	text-decoration: none;
}
a:link {
	color: #0000ff;
}
a:visited {
	color: #003399;
}
a:hover {
	color: #ff3300;
	text-decoration: underline;
}
a:active {
	color: #ff3300;
}

/* 2: Layout
============================================================================= */

/* Noscript Message
----------------------------------------------------------------------------- */
p.jsAlrt {
	display: block;
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px solid #EDEDED;
	text-align: center;
}

/* Header
----------------------------------------------------------------------------- */
header {
	position: relative;
	max-width: 980px;
	width: 980px;
	margin: 0 auto 2em auto;
	padding: 10px;
	border-bottom: 4px solid #000000;
}
header:after {
  content: " ";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 1px;
	background-color: #c2b372;
}
header .inner {
	zoom: 1;
}
header .inner:after {
  content: " ";
  clear: both;
  display: block;
}
header .db-logo {
	float: left;
	margin-bottom: 0;
	font-size: 1.4rem;
	font-weight: bold;
}
header .db-logo img {
	width: 112px;
	height: 38px;
	vertical-align: bottom;
}
header .db-logo span {
	padding-left: 10px;
	line-height: 34px;
}
header dl {
	float: right;
	display: table;
	margin-bottom: 0;
	font-size: 1.4rem;
}
header dl dt {
	display: table-cell;
	padding-right: 15px;
	border-right: 1px dotted #b1b1b1;
	font-size: 1.2rem;
	line-height: 18px;
	vertical-align: middle;
}
header dl dd {
	display: table-cell;
	padding-left: 15px;
}
header dl dd .tel {
	display: inline-block;
	margin: 4px 10px 0 0;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 18px;
	vertical-align: middle;
}
header dl dd .tel span {
	display: block;
	color: #333333;
	font-size: 1.0rem;
	font-weight: normal;
}
header dl dd .web,
header dl dd .contact {
	display: inline-block;
	margin-bottom: 0;
	background-image: linear-gradient(#ffffff, #f1f1f1);
	border: 1px solid #e0e0e0;
	line-height: 18px;
	vertical-align: middle;
}
header dl dd .web a {
	display: block;
	padding: 12px 28px 12px 16px;
	background: #f1f1f1;
	background: url("/sp/common/images/icon-popup.png") no-repeat 95% center;
	color: #000000;
	line-height: 1;
}
header dl dd .contact a {
	display: block;
	padding: 12px 14px 12px 28px;
	background: #f1f1f1;
	background: url("/sp/common/images/icon-contact.png") no-repeat 6px center;
	color: #000000;
	line-height: 1;
}
header dl dd .web a:hover {
	opacity: 0.7;
	text-decoration: none;
}

/* Nav
----------------------------------------------------------------------------- */
/* Page Nav */
nav.pagenav {
	background-color: #333333;
}
nav.pagenav ul {
	display: table;
	width: 100%;
	margin: 0;
	table-layout: fixed;
	text-align: center;
	vertical-align: middle;
}
nav.pagenav li {
	display: table-cell;
	margin: 0;
	border-left: 1px solid #000000;
}
nav.pagenav li:first-child {
	border-left: none;
}
nav.pagenav li a {
	display: block;
	padding: 8px 30px 8px 20px;
	background: url("/sp/common/images/icon-pagenav.png") no-repeat 95% center;
	color: #ffffff;
}

/* Main
----------------------------------------------------------------------------- */
main {
	width: 980px;
	margin: 0 auto;
	margin-bottom: 2em;
  overflow: hidden;
}
main .inner {
	padding: 0 10px;
}
main section {
	margin: 3em 0;
}
main section section {
	margin: 2em 0;
}

/* Pagetop Button
----------------------------------------------------------------------------- */
.pagetopBtn {
	margin-top: 4em;
	padding: 0 40px;
	text-align: right;
}
.pagetopBtn a {
	display: inline-block;
}
.pagetopBtn a:hover {
	opacity: 0.7;
}

/* Pagetop Button
----------------------------------------------------------------------------- */
ul.notice,
ul.note,
ol.noteNo {
	margin: 1.5em 0;
	list-style: none;
	font-size: 1.4rem;
}
ul.notice li {
	position: relative;
	margin-bottom: 0.25em;
	padding-left: 1.25em;
	font-size: 1.4rem;
}
ul.note li {
	position: relative;
	padding-left: 2.25em;
	font-size: 1.4rem;
}
ul.notice li:before,
ul.note li:before,
ol.noteNo li:before {
	position: absolute;
	top: 0;
	left: 0;
}
ul.notice li:before {
	content: '\0203B';
	width: 1.5em;
}
ul.note li:before {
	content: '(注)';
	width: 3em;
}
ol.noteNo li {
	counter-increment: num;
	position: relative;
	padding-left: 3em;
}
ol.noteNo li:before {
	content: '(注" counter(num) ")';
	width: 3em;
}

/* Footer Nav
----------------------------------------------------------------------------- */
.footerNav {
	padding: 10px;
	border-top: 1px solid #e0e0e0;
	overflow: hidden;
	zoom: 1;
}
.footerNav ul:after {
  content: " ";
  clear: both;
  display: block;
}
.footerNav ul {
	float: right;
	display: table;
	margin: 0;
}
.footerNav ul li {
	display: table-cell;
	padding: 0 5px;
	vertical-align: middle;
}
.footerNav ul li.privacymark {
}
.footerNav ul li.verisign {
	height: 55px;
}
.footerNav ul li.pageTop {
	padding-left: 40px;
}

/* Footer
----------------------------------------------------------------------------- */
footer {
	position: relative;
	width: 980px;
	margin: 0 auto;
	padding-top: 10px;
	border-top: 1px solid #ece2b2;
}
footer:after {
	content: " ";
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #c1b26c;
}

/* markList */
footer .markList {
	display: table;
	margin: 0 10px 0 auto;
	list-style: none;
}
footer .markList li {
	display: table-cell;
	padding: 5px;
}

/* footMenu */
footer .footMenu {
	padding: 5px 10px 10px 10px;
	overflow: hidden;
	zoom: 1;
}
footer .footMenu:after {
  content: " ";
  clear: both;
  display: block;
}
footer .footMenu .gshLogo {
	float: left;
	width: 202px;
	margin-bottom: 0;
}
footer .footMenu ul {
	float: right;
	margin: 0;
	overflow: hidden;
	zoom: 1;
}
footer .footMenu ul:after {
  content: " ";
  clear: both;
  display: block;
}
footer .footMenu ul li {
	position: relative;
	float: left;
	margin: 0 0.5em 0 0;
	padding-right: 1em;
	font-size: 1.2rem;
	list-style: none;
	line-height: 28px;
}
footer .footMenu  ul li:first-child {
	padding-left: 1em;
}
footer .footMenu  ul li:first-child:before {
	content: " | ";
	position: absolute;
	top: 0;
	left: 0;
}
footer .footMenu ul li:after {
	content: " | ";
	position: absolute;
	top: 0;
	right: 0;
}
footer .footMenu ul li:last-child {
	margin-right: 0;
}

/* Copyright */
footer address {
	padding: 4px 10px;
	background-color: #000000;
	color: #ffffff;
	font-size: 1.1rem;
	text-align: center;
}

/* 3: Module
============================================================================= */

/* Icon
----------------------------------------------------------------------------- */
a span.popup {
	display: inline-block;
	padding-right: 26px;
	background: url("/sp/common/images/icon-popup.png") no-repeat 96% center;
}

/* Size
----------------------------------------------------------------------------- */
.w100 { width: 100%!important; }

/* Space
----------------------------------------------------------------------------- */
.mb00 { margin-bottom: 0!important; }
.mb01 { margin-bottom: 1em!important; }
.mb02 { margin-bottom: 2em!important; }
.mb03 { margin-bottom: 3em!important; }
.mb04 { margin-bottom: 4em!important; }

/* Position
----------------------------------------------------------------------------- */
.alignL { text-align: left!important; }
.alignC { text-align: center!important; }
.alignR { text-align: right!important; }
.vTop { vertical-align: top!important; }
.vMdl { vertical-align: middle!important; }
.vBtm { vertical-align: bottom!important; }

/* Text Color
----------------------------------------------------------------------------- */
.textRed { color: #ff0000; }
.textGray { color: #666666; }
.textBlue {	color: #47a9d0;}

/* Clearfix
----------------------------------------------------------------------------- */
.clearfix { overflow: hidden; zoom: 1; }
.clearfix:after { content: " "; clear: both; display: block; }