@charset "EUC-JP";

/* 1: Custom Setting
============================================================================= */
html {
  overflow-y: scroll;
  scroll-behavior: smooth;
}
body {
	margin: 0;
	background-color: #f0f0dd;
	background-image: url("/image/tp/bg.gif");
	background-repeat: repeat-x;
	background-position: top left;
	color: #444444;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Meiryo, メイリオ, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 87.5%; /* 14px */
	line-height: 1.7;
}
*, *:before, *:after {
  box-sizing: border-box;
}
#container {
	width: 980px;
	margin: 0 auto;
	padding: 8px 10px 0 10px;
	background-color: #ffffff;
}

/* Text
----------------------------------------------------------------------------- */
h1 {
	margin-bottom: 1.5em;
	font-size: 160%;
	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: 120%;
	line-height: 1.5;
}
.main h2.title {
	padding: 0.25em 0.25em 0.5em 8px;
	border-left: 8px solid #2F4F8E;
	border-bottom: 1px solid #2F4F8E;
}
.main h2.title .cap {
    margin-left: .5em;
    font-size: 85.7%;
}
h3, h4, h5, h6 {
	margin-bottom: 1em;
	font-size: 100%;
	line-height: 1.4;
}
.main h3.title {
	position: relative;
	padding: 0 0 0 18px;
}
.main h3.title:before {
	content: " ";
	position: absolute;
	top: 2px;
	left: 0;
	width: 12px;
	height: 12px;
	background-color: #C1B276;
}
p {
	margin: 0 0 0.75em 0;
	font-size: 100%;
	line-height: 1.6;
}

/* 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;
}

/* Text
----------------------------------------------------------------------------- */
em {
	font-style: normal;
	font-weight: bold;
}
i {
	font-style: normal;
}
address, caption, cite, code {
	font-size: inherit;
	font-style: normal;
	font-weight: normal;
}
/* Note */
span.note {
	margin: 0 5px;
}
.note {
	margin: 1em 0;
	list-style: none;
	font-size: 85.7%;
	font-weight: normal;
	line-height: 1.6;
}
.note > li {
	position: relative;
	padding-left: 1.5em;
}
.note > li:before {
	content: "\203B";
	position: absolute;
	top: 0;
	left: 0;
	width: 1.5em;
}
ol.noteNo {
	margin-left: 0;
	color: #666666;
	font-size: 78.6%;
	list-style: none;
}
ol.noteNo > li {
	counter-increment: num;
	position: relative;
	padding-left: 3em;
}
ol.noteNo > li:before {
	content: "\203B"counter(num);
	position: absolute;
	top: 0;
	left: 0;
	width: 3em;
}

/* 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: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select.form-select option {
	padding: 2px 8px;
}
textarea {
	font-size: 100%;
	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 {
	color: #0000ff;
	text-decoration:underline;
}
a:link {
	color: #0000ff;
	text-decoration:underline;
}
a:visited {
	color: #003399;
}
a:hover {
	color: #ff3300;
	text-decoration: underline;
}
a:active {
	color: #ff0000;
}

/* Clearfix
----------------------------------------------------------------------------- */
.clearfix { overflow: hidden; zoom: 1; }
.clearfix:after { content: " "; clear: both; display: block; }


/* 2: Layout
============================================================================= */

/* Noscript Message
----------------------------------------------------------------------------- */
p.jsAlrt {
	display: block;
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px solid #EDEDED;
	text-align: center;
}

/* Header
----------------------------------------------------------------------------- */
#header {
	display: table;
	width: 100%;
	padding: 5px 0 8px 0;
	min-height: 60px;
}
#header .hdrLogo {
	display: table-cell;
	margin: 0;
	vertical-align: middle;
}
#header .hdrLogo a {
	display: inline-block;
}
#header .hdrLogo span {
	display: inline-block;
	margin-left: 10px;
    color: #666666;
    font-size: 14px;
    font-weight: normal;
    white-space: nowrap;
}
#header .hdrLogo img {
	display: inline-block;
	vertical-align: middle;
}
#header .hdrNav {
	display: table-cell;
	text-align: right;
	vertical-align: middle;
}
#header .hdrNav ul {
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow:hidden;
	zoom: 1;
}
#header .hdrNav ul:after {
	content: " ";
	clear: both;
	display: block;
}
#header .hdrNav ul li {
	float: left;
	margin: 0;
}
#header .hdrNav ul li:nth-child(2) {
	display: none;
}
#header .hdrNav ul li:last-child {
	border-left: dotted 1px #ccc;
	margin-left: 10px;
	padding-left: 10px;
}
#header .hdrNav .query {
	margin-bottom: 0;
}
#header .hdrNav .query a {
	display: inline-block;
    padding: 5px 30px;
    border: 1px solid #DDDDDD;
    border-radius: 2px 2px;
    color: #222222;
    line-height: 1;
	text-decoration: none;
    transition: .3s ease-in-out;
}

/* Global navi
----------------------------------------------------------------------------- */
#gNavi{
	display: block;
	height:36px;
	background:url("/image/toppage/gnavi_bottom.gif") repeat-x bottom #000000;
}
#gNavi ul {
	margin: 0;
	list-style: none;
	overflow: hidden;
	zoom: 1;
}
#gNavi ul:after {
	width: 100%;
	margin-bottom: 4em;
  overflow: hidden;
}
#gNavi ul li{
	float:left;
	width:145px;
	height:36px;
}

/* Global Navigation 2024
----------------------------------------------------------------------------- */
.globalNav {
	background-color: #000000;
}
.globalNav ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 2px solid #FFCE00;
	list-style: none;
}
.globalNav ul li {
	min-width: 150px;
	margin-bottom: 0;
	border-right: 1px solid #494949;
	line-height: 1.5;
	text-align: center;
}
.globalNav ul li a {
	position: relative;
	display: block;
	height: 100%;
	padding: 7px 10px 7px 5px;
	color: #FFFFFF;
	text-decoration: none;
}
.globalNav ul li a span {
	display: inline-block;
	height: 100%;
	padding-left: 24px;
	background-position: left center;
	background-repeat: no-repeat;
}
.globalNav ul li.top a span {
	background-image: url("/common/images/gnavi-icon-top.png");
}
.globalNav ul li.service a span {
	background-image: url("/common/images/gnavi-icon-service.png");
}
.globalNav ul li.news a span {
	background-image: url("/common/images/gnavi-icon-news.png");
}
.globalNav ul li.procedure a span {
	background-image: url("/common/images/gnavi-icon-procedure.png");
}
.globalNav ul li.faq a span {
	background-image: url("/common/images/gnavi-icon-faq.png");
}
.globalNav ul li.about a span {
	background-image: url("/common/images/gnavi-icon-about.png");
}
.globalNav ul li a:hover::after,
.globalNav ul li a:active::after,
.globalNav ul li a:focus::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 2px;
	background-color: #FF3300;
}

/* Pankuzu
----------------------------------------------------------------------------- */
.pankuzu {
	display: block;
	margin-bottom: 20px;
	padding: 12px 4px;
	border-bottom: 1px solid #e0e0e0;
}
.pankuzu p {
	margin: 0;
	font-size: 86%;
}

/* Contents
----------------------------------------------------------------------------- */
#contents {
	overflow:hidden;
	zoom: 1;
}
#contents:after {
	content: " ";
	clear: both;
	display: block;
}

/* Main
----------------------------------------------------------------------------- */
.main {
	float: left;
	width: 700px;
}
.main .section {
	margin: 3em 0;
}
.main .section .section {
	margin: 2em 0;
}
.single .main {
	float: none;
	width: 100%;
}
.main750 .main {
	float: none;
	width: 750px;
	margin: 0 auto;
}

/* Side
----------------------------------------------------------------------------- */
.side {
	float: right;
	width: 300px;
	margin-left: 20px;
}

/* Side Nav
----------------------------------------------------------------------------- */
.sideNav {
	float: right;
	width: 240px;
	margin-left: 20px;
}
/* Common */
.sideNav li:last-child {
	margin-bottom: 0;
}
.sideNav .category,
.sideNav .cmnNav,
.sideNav .siteNav {
	margin-bottom: 2em;
	border: 1px solid #cccccc;
}
.sideNav .category h2,
.sideNav .cmnNav h2,
.sideNav .siteNav h2 {
	position: relative;
	margin-bottom: 0;
	font-size: 100%;
	line-height: 1.4;
}
.sideNav .category h2:before,
.sideNav .cmnNav h2:before,
.sideNav .siteNav h2:before {
	content: " ";
	position: absolute;
	left: 0;
	width: 2em;
}

/* Category */
.sideNav .category h2 {
	background-color: #f9f7ee;
	border-bottom: 4px solid #c2b372;
}
.sideNav .category h2:before {
	bottom: -4px;
	height: 4px;
	background-color: #2d4d90;
}
.sideNav .category h2 span {
	display: block;
	padding: 14px 20px 14px 15px;
}
.sideNav .category h2 a {
	display: block;
	padding: 14px 20px 14px 15px;
	background: url("/image/toppage/arrow_01.gif") no-repeat 97% center;
	color: #333333;
	text-decoration: none;
}
.sideNav .category ul {
	position: relative;
	margin: 0;
	list-style: none;
}
.sideNav .category ul li {
	margin-bottom: 0;
	border-top: 1px dotted #cccccc;
}
.sideNav .category ul li:first-child {
	border-top: none;
}
.sideNav .category ul a {
	display: block;
	padding: 10px 15px 10px 24px;
	background: url("/image/toppage/arrow_01.gif") no-repeat 10px 1.2em;
	text-decoration: none;
}
.sideNav .category ul a:hover {
	background-color: #fafafa;
}
.sideNav .category ul li.last {
    padding: 10px 15px 10px 0;
    text-align: right;
}
.sideNav .category ul li.last a {
    display: inline;
    padding: 0;
    background: none;
}
.sideNav .category ul li.last .linkArrow {
    display: inline-block;
    margin-bottom: 0;
}

/* Common Nav */
.sideNav .cmnNav h2 {
	padding: 14px 15px;
	background-color: #f2f7ed;
	border-bottom: 2px solid #cccccc;
}
.sideNav .cmnNav h2:before {
	bottom: -2px;
	height: 2px;
	background-color: #2c653c;
}
.sideNav .cmnNav ul.textList {
	margin: 0 0 0 5px;
	padding: 15px 15px 15px 1.5em;
}
.sideNav .cmnNav ul.textList li.last {
    padding-top: 15px;
    border-top: 1px dotted #cccccc;
    list-style: none;
    text-align: right;
}
.sideNav .cmnNav ul.textList li.last .linkArrow {
    display: inline-block;
    margin-bottom: 0;
}
/* Site Nav */
.sideNav .siteNav {
	border-bottom: 0;
}
.sideNav .siteNav h2 {
	padding: 14px 15px;
	background-color: #f2f2f2;
	border-bottom: 2px solid #cccccc;
}
.sideNav .siteNav h2:before {
	bottom: -2px;
	height: 2px;
	background-color: #999999;
}
.sideNav .siteNav ul {
	margin: 0;
	list-style: none;
}
.sideNav .siteNav ul li {
	display: table;
	width: 100%;
	margin-bottom: 0;
	border-bottom: 1px solid #cccccc;
}
.sideNav .siteNav ul li a {
	display: table-cell;
	line-height: 1.4;
	text-decoration: none;
}
.sideNav .siteNav ul a:hover {
	background-color: #fafafa;
}
.sideNav .siteNav ul li a span {
	display: block;
	min-height: 56px;
	padding: 10px 15px 10px 56px;
}
.sideNav .siteNav ul li a span.contact {
	background: url("/image/siteNav-icon-doc.png") no-repeat 10px center;
}
.sideNav .siteNav ul li a span.doc {
	background: url("/image/siteNav-icon-mail.png") no-repeat 10px center;
}
.sideNav .siteNav ul li a span.service {
	background: url("/image/siteNav-icon-service.png") no-repeat 10px center;
}

/* Service Block */
.sideNav .serviceBlock {
	width: 240px;
	margin-bottom: 2em;
}
.sideNav .serviceBlock h2 {
	margin-bottom: 0;
}
.sideNav .serviceBlock ul.btn {
	margin: 0;
	list-style: none;
}
.sideNav .serviceBlock ul.btn li {
	margin-bottom: 10px;
}
.sideNav .serviceBlock .inner {
	padding: 20px 10px;
	border: 1px solid #333333;
	border-top: none;
}
.sideNav .serviceBlock .inner *:last-child {
	margin-bottom: 0;
}
.sideNav .serviceBlock ul.menu {
	margin: 0;
	border: 1px solid #333333;
	border-top: none;
	list-style: none;
}
.sideNav .serviceBlock ul.menu li {
	margin-bottom: 0;
	border-top: 1px dotted #cccccc;
}
.sideNav .serviceBlock ul.menu li:first-child {
	border-top: none;
}
.sideNav .serviceBlock ul.menu a {
	display: block;
	padding: 10px 15px 10px 24px;
	background: url("/image/common/icon-nav-arrow01.png") no-repeat 10px 1.2em;
	text-decoration: none;
}
.sideNav .serviceBlock ul.menu a:hover {
	background-color: #fafafa;
}

/* Relation Block */
.sideNav .relationBlock {
	margin-bottom: 2em;
	padding: 10px;
	background-color: #F2FBF2;
	border: 1px solid #ccc;
}
.sideNav .relationBlock *:last-child {
	margin-bottom: 0;
}
.sideNav .relationBlock h2 {
	position: relative;
	margin-bottom: 1em;
	padding: 0 0 6px 0;
	border-bottom: 4px solid #c2b372;
	font-size: 100%;
}
.sideNav .relationBlock h2:before {
	content: " ";
	position: absolute;
	bottom: -4px;
	height: 4px;
	width: 2em;
	background-color: #2c653c;
}


/* Pagetop
----------------------------------------------------------------------------- */
.pagetop{
	clear: both;
	text-align: right;
	margin: 40px 0 20px 0;
}
.pagetop a{
	background: url("/common/images/icon-arrow-anchor.png") no-repeat left 4px;
	padding-left: 20px;
}


/* Footer
----------------------------------------------------------------------------- */
#footer {
	position: relative;
	width: 980px;
	margin: 0 auto;
	padding-top: 10px;
	background-color: #ffffff;
	border-top: 1px solid #c1b26c;
}
#footer:after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #ece2b2;
}

/* 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: 160px;
	margin-bottom: 0;
}
#footer .footMenu .gshLogo img {
	max-width: 100%;
	width: auto;
	height: auto;
}
#footer .footMenu ul {
	float: right;
	margin: 0;
}
#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: 85.7%;
	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;
}
#footer .copyright {
	margin-bottom: 0;
	padding: 4px 10px;
	background-color: #000000;
	color: #ffffff;
	font-size: 70%;
	text-align: center;
}

/* 3: Module
============================================================================= */

/* Service Table
----------------------------------------------------------------------------- */
.table01 {
	margin: 1.5em 0;
}
.table01 a {
	text-decoration: none;
}
.table01 a:hover {
	text-decoration: underline;
}
.table01 table {
	width: 100%;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	overflow: auto;
}
.table01 table caption {
	margin-bottom: 1em;
	font-weight: bold;
	text-align: left;
}
.table01 table thead th {
	padding: 8px 16px;
	background-color: #f1f1f1;
	border-top: 2px solid #cccccc;
	border: 1px solid #cccccc;
	font-size: 90%;
	font-weight: bold;
	text-align: center;
	vertical-align: top;
}
.table01 table tbody th {
	padding: 8px 16px;
	background-color: #f9f9f4;
	border: 1px solid #cccccc;
	vertical-align: top;
}
.table01 table tbody td {
	padding: 8px 20px;
	border: 1px solid #cccccc;
	font-weight: normal;
	vertical-align: top;
}
.table01 table tbody th :last-child,
.table01 table tbody td :last-child {
    margin-bottom: 0;
}
.table01 table.tableS {
    font-size: 12px;
}
.table01 table.tableS th,
.table01 table.tableS td { 
    padding: 6px 8px;
}
.table01 table.thC tbody th,
.table01 table.tdC td {
    text-align: center;
}

/* Link
----------------------------------------------------------------------------- */
.linkList {
	margin-left: 0;
	list-style: none;
}
p.linkArrow,
.linkList li {
	padding-left: 20px;
	background: url("/common/images/icon-arrow-link.png") no-repeat left 4px;
}
p.linkArrowR {
	display: inline-block;
	background: url("/common/images/icon-arrow-link.png") no-repeat left 4px;
	padding-left: 20px;
}

/* Anchor Link */
.anchorLink {
	margin: 2em 0;
	padding: 20px;
	border: 1px solid #cccccc;
}
.anchorLink ul {
	margin: 0;
	list-style: none;
	overflow: hidden;
	zoom: 1;
}
.anchorLink ul:after {
	content: " ";
	clear: both;
	display: block;
}
.anchorLink ul li {
	float: left;
	width: 33%;
	margin: 0.25em 0;
	padding: 0 22px 0 24px;
	background: url("/image/common/icon-anchorlink.png") no-repeat left 0.3em;
}
.anchorLink ul *:last-child {
	margin-bottom: 0;
}

/* Spacer
----------------------------------------------------------------------------- */
.mb00 { margin-bottom: 0!important; }
.mb05 { margin-bottom: 0.5em!important; }
.mb10 { margin-bottom: 1em!important; }
.mb20 { margin-bottom: 2em!important; }
.mb30 { margin-bottom: 3em!important; }
.mb40 { margin-bottom: 4em!important; }

/* Width
----------------------------------------------------------------------------- */
.w10 { width: 10%!important; }
.w20 { width: 20%!important; }
.w30 { width: 30%!important; }
.w40 { width: 40%!important; }
.w50 { width: 50%!important; }
.w60 { width: 60%!important; }
.w70 { width: 70%!important; }
.w80 { width: 80%!important; }
.w90 { width: 90%!important; }
.w100 { width: 100%!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; }

/* Icon
----------------------------------------------------------------------------- */
/* Popup */
a.popup {
	display: inline-block;
	position: relative;
    padding-right: 18px;
    margin-right: 4px;
}
a.popup::before,
a.popup::after {
	content: '';
	display:block;
	position: absolute;
	width: 9px;
	height: 9px;
	top: 50%;
	border: 1px solid #2c3840;
	transition: .3s ease-in-out;
}
a.popup::before {
	right: 0;
	margin-top: -2px;
}
a.popup::after {
	right: 4px;
	margin-top: -6px;
}

/* Clearfix
----------------------------------------------------------------------------- */
.clearfix { overflow: hidden; zoom: 1; }
.clearfix:after { content: " "; clear: both; display: block; }

