@charset "UTF-8";

/*common*/
html {
	margin: 0;
	padding:0;
}
body {
	margin: 0;
	padding: 0;
	font-size: 1.125rem;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", sans-serif;
	font-weight: 500;
	color: #333;
	line-height: 1.7;
	position: relative;
	min-height: 100%;
	position: relative;
}
@media all and (-ms-high-contrast: none) {
	body {
		font-family: "メイリオ", Meiryo, sans-serif;
	} 
}

h2,h3,h4,h5 {
	margin: 0;
	padding: 0;
}

img {
	width: 100%;
	vertical-align: bottom;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
}
ul,ol,li,dl,dt,dd {
	margin:0;
	padding:0;
	list-style: none;
}
p {	margin: 0 0 1em 0;}
em { font-style: normal;}
ins {text-decoration: none;}
cite { font-style: normal;}
i { font-style: normal;}
a { text-decoration: none; transition: all .3s ease; word-wrap:break-word; pointer-events: auto;}
a:hover {  transition: all .3s ease;}
figure {margin: 0;}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

::selection {
    background: #091c3d;
    color: #fff;
}

/*Firefox*/
::-moz-selection {
    background: #091c3d;
    color: #fff;
}

.SvgIcon {
	display: none;
}


h2 {
	font-size: 1.375rem;
	letter-spacing: 0.075em;
	color: #fff;
	font-weight: bold;
	line-height: 1.7;
	padding: 10px 20px;
	background-color: #1765b4;
	margin-bottom: 30px;
}
h2 span {
	font-size: 1.125rem;
}
h3 {
	font-size: 1.25rem;
	letter-spacing: 0.075em;
	color: #1765b4;
	font-weight: bold;
	line-height: 1.7;
	border-left: 6px solid #1765b4;
	padding: 6px 20px;
	background-color: #f2f7fa;
	margin-bottom: 20px;
	margin-top: 35px;
}
h3 a {
	color: #1765b4;
}

.その他関連法令 li {
	width: auto;
}


ul.liststyle1 {
	margin-bottom: 1em;
}
ul.liststyle1 li {
	margin-bottom: 14px;
}
ul.liststyle1 li:last-of-type {
	margin-bottom: 0;
}
ul.liststyle1 li a {
	color: #1883b2;
	padding: 5px;
	padding-left: calc(1em + 5px);
	border: 1px solid #dddddd;
	display: block;
	box-sizing: border-box;
	transition: 0s;
	background: url(../../images/icon_arrow.png) left calc(0.5em - 2.5px + 5px) top 17px no-repeat;
}
ul.liststyle1 li a:not(:first-of-type) {
	margin-top: 5px;
}
ul.liststyle1 li a:hover {
	font-weight: bold;
	border: 1px solid #1765b4;
}
ul.liststyle1 li a img {
	width: 13px;
	height: 16px;
	vertical-align: middle;
	margin-left: -13px;
}
ul.liststyle1 li a span {
	padding-right: 23px;
}

ul.liststyle2 {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 20px 1% 15px 1%;
	margin-bottom: 1em;
	background-color: #f4f4f4;
	border: 2px solid #eeeeee;
}
ul.liststyle2 li {
	width: calc(94% / 3);
	margin: 0 1%;
}
ul.liststyle2 figcaption {
	font-size: 1rem;
	margin-top: 5px;
	font-weight: bold;
}

ul.liststyle3 {
	margin-bottom: 1em;
}
ul.liststyle3 li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 5px;
}
ul.liststyle3 li::before {
	content: "";
	width: 5px;
	height: 5px;
	background-color: #1765b4;
	border-radius: 50%;
	position: absolute;
	top: 0.65em;
	left: 0.3em;
}

dl.dlstyle1 {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
dl.dlstyle1 dt {
	width: 22em;
	font-weight: bold;
	background-color: #eeeeee;
	padding: 10px;
	margin-bottom: 5px;
	box-sizing: border-box;
}
dl.dlstyle1 dd {
	width: calc(100% - 22em);
	padding: 10px 10px 10px 20px;
	margin-bottom: 5px;
	box-sizing: border-box;
}
dl.dlstyle1 dd :last-child {
	margin-bottom: 0;
}
dl.dlstyle1 dd a {
	color: #1883b2;
	text-decoration: underline;
	display: block;
}
dl.dlstyle1 dd a:hover {
	text-decoration: none;
}
dl.dlstyle1 dd a img {
    width: 13px;
    height: 16px;
    vertical-align: middle;
    margin-left: -13px;
}
dl.dlstyle1 dd a span {
	padding-right: 23px;
}
dl.dlstyle1 dd li a {
	text-decoration: none;
}
dl.dlstyle1 dd li a:hover {
	color: #1883b2;
}

ol.olstyle1 li {
	list-style-type: katakana;
	margin-left: 1.7em;
	margin-bottom: 5px;
}
ol.olstyle1 li::marker {
	font-size: 1rem;
	color: #1765b4;
	font-weight: bold;
}

ol.olstyle2 {
	counter-reset: number 0;
}
ol.olstyle2 li {
	text-indent: -1.4em;
	padding-left: 1.5em;
	margin-bottom: 5px;
}
ol.olstyle2 li::before {
	counter-increment: number 1;
	content: counter(number)'.';
	padding-right: .5em;
	font-weight: bold;
	color: #1765b4;
}

table {
	width: 100%;
	border: 2px solid #c8c8c8;
	margin-bottom: 1.125rem;
}
thead {
	background-color: #eeeeee;
}
td,th {
    border: 1px solid #bebebe;
    padding: 10px;
    box-sizing: border-box;
}

tbody th {
	width: 40%;
	background-color: #eeeeee;
}
tbody td {
	width: 30%;
}

a.textlink {
	color: #1883b2;
	text-decoration: underline;
}
a.textlink:hover {
	text-decoration: none;
}
a.textlink img {
    width: 13px;
    height: 16px;
    vertical-align: middle;
    margin-left: 13px;
}
a.textlink span {
	padding-right: 23px;
}

blockquote {
	margin: 0 0 1.125rem 0;
	padding: 20px;
	background-color: #f4f4f4;
	border: 2px solid #eeeeee;
	border-left: 2px solid #1765b4;
	font-size: 1rem;
}
blockquote p{
	margin-bottom: 0;
}

p em {
	font-weight: bold;
	background: linear-gradient(transparent 70%, #ffadad 70%);
}

a[href*="tel:"] {
	pointer-events: none;
	color: #333;
}
@media screen and (max-width: 1024px){
	a[href*="tel:"] {
	    pointer-events: initial;
	    color: #1883b2;
	}
}


.inner {
	width: 80%;
	min-width: 1320px;
	margin: 0 auto;
}
@media screen and (max-width: 1599px) {
	.inner {
    	width: 90%;
	}
}
@media screen and (max-width: 1399px) {
	.inner {
    	min-width: 0;
	}
}
@media screen and (max-width: 999px) {
	body {
		font-size: 1rem;
	}
	dl.dlstyle1 {
		display: block;
	}
	dl.dlstyle1 dt {
		width: 100%;
	}
	dl.dlstyle1 dd {
		width: 100%;
		padding: 10px 0;
		margin-bottom: 15px;
	}
	ol.olstyle1 li::marker {
		font-size: 0.875rem;
	}
	thead {
		display: none;
	}
	tbody th {
		width: 100%;
		display: block;
		border-top: none;
		border-bottom: none;
		padding-top: 0;
		padding-bottom: 0;
		background-color: #eeeeee;
		text-align: left;
	}
	tbody th:last-of-type {
		border-bottom: 1px solid #bebebe;
		padding-bottom: 10px;
	}
	tbody td {
		width: 100%;
		display: block;
		border-top: none;
		border-bottom: none;
		padding-top: 0;
		padding-bottom: 0;
	}
	tbody td:first-of-type {
		border-top: 1px solid #bebebe;
		padding-top: 10px;
	}
	tbody td:last-of-type {
		border-bottom: 1px solid #bebebe;
		padding-bottom: 10px;
	}
}
@media screen and (max-width: 767px) {
	.inner {
    	width: 96%;
	}
	h2 {
		font-size: 1.25rem;
		line-height: 1.6;
		margin-bottom: 20px;
	}
	h3 {
		line-height: 1.6;
		margin-top: 25px;
	}
	ul.liststyle2 {
		display: block;
	}
	ul.liststyle2 li {
		width: 100%;
		margin: 0 0 15px;
	}
	ul.liststyle2 li:last-of-type {
		margin-bottom: 0;
	}
	dl.dlstyle1 dt {
		line-height: 1.6;
	}
}
@media screen and (max-width: 479px) {
	h2 {
		padding: 10px;
		margin-bottom: 15px;
	}
	h3 {
		padding: 6px 10px;
		margin-bottom: 15px;
	}
	ul.liststyle1 li a {
		line-height: 1.6;
	}
	ul.liststyle2 {
		padding: 10px;
	}
	ul.liststyle2 figcaption {
		line-height: 1.6;
	}
	ol.olstyle1 li {
		margin-left: 1.9em;
	}
	blockquote {
		padding: 10px 15px;
	}
}

/* --------------------------------------------------------- header */
header {
	width: 100%;
}
header section.inner {
	height: 100px;
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-pack:justify;
	-webkit-justify-content: space-between;
	justify-content:space-between;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
header h1 {
	width: 302px;
	height: 66.6px;
	margin: 0 0 0 1rem;
}
header h1 a {
	display: block;
	width: 302px;
	height: 66.6px;
}
header h1 a:hover {
	opacity: 0.6;
}
header h1 img {
	vertical-align: top;
}
header section.inner ul {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;	
}
header section.inner li {
	width: 135px;
	height: 35px;
	margin-left: 30px;
}
header section.inner li a {
	display: block;
	background-color: #f4f4f4;
	font-size: 0.875rem;
	letter-spacing: 0.025em;
	color: #333;
	border: 1px solid #f4f4f4;
	border-radius: 5px;
	width: 135px;
	height: 35px;
	line-height: 35px;
	padding-left: 30px;
	box-sizing: border-box;
	position: relative;
}
header section.inner li a:hover {
	color: #1765b4;
	background-color: #F2F7FA;
	border: 1px solid #1765b4;
}
header section.inner li a:after {
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	content: "";
	width: 4px;
	height: 6px;
	background: url(../../images/icon_arrow.png) center center no-repeat;
	pointer-events: none;
}


#hamburger {
  display: none;
}
.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 9999;
}
.menu {
	height: 70px;
	box-sizing: border-box;
	padding: 0;
	background-color: #1765b4;
	position: relative;
}
.menu > ul {
	height: 70px;
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	max-width: none;
	padding: 0;
	margin: 0 auto;
	box-sizing: content-box;
}
.menu > ul > li {
	background: transparent;
	width: 20%;
	border-top: 2px solid #1765b4;
	border-bottom: 2px solid #1765b4;
	transition: all .3s;
	height: 66px;
	line-height: 66px;
}
.menu > ul > li:hover {
	background: #E7EDF3;
	border-bottom: 2px solid #1765b4;
}
.menu > ul > li.appear {
	background: #fff;
	border-bottom: 2px solid transparent;
	line-height: 66px;
	height: 66px;
}
.menu > ul > li > span {
	text-decoration: none;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.025em;
	text-align: center;
	display: block;
	height: 66px;
	line-height: 66px;
	padding: 0;
	font-weight: bold;
	position: relative;
	cursor: default;
	box-sizing: border-box;
	cursor: pointer;
}
.menu > ul > li:hover span,
.menu > ul > li.appear span{
	color: #1765b4;
}
.menu > ul > li > span .Svg01 {
	display: inline-block;
	width: 8px;
	height: 5px;
	vertical-align: middle;
	margin-left: 10px;
	fill: #fff;
}
.menu > ul > li:hover > span .Svg01,
.menu > ul > li.appear > span .Svg01 {
	fill: #1765b4;
}
.menu > ul > li > span > a {
	display: block;
	padding: 0;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
	line-height: 66px;
}
.menu > ul > li > span > a:hover {
	color: #1765b4;
}
.menu > ul > li > span:before {
	content: "";
	width: 2px;
	height: 40px;
	background-color: #fff;
	position: absolute;
	top: 15px;
	left: 0;
}
.menu > ul > li.parent05 > span:after {
	content: "";
	width: 2px;
	height: 40px;
	background-color: #fff;
	position: absolute;
	top: 15px;
	right: 0;
}
.parent01:hover ~ .parent02 span:before {
	width: 0;
}
.parent02:hover ~ .parent03 span:before {
	width: 0;
}
.parent03:hover ~ .parent04 span:before {
	width: 0;
}
.parent04:hover ~ .parent05 span:before {
	width: 0;
}

.parent01.appear ~ .parent02 span:before {
	width: 0;
}
.parent02.appear ~ .parent03 span:before {
	width: 0;
}
.parent03.appear ~ .parent04 span:before {
	width: 0;
}
.parent04.appear ~ .parent05 span:before {
	width: 0;
}

.menu > ul > li > ul {
	top: 70px;
	background: #fff;
	text-align: center;
	padding: 0;
	border-bottom: 2px solid #1765b4;
	height: 68px;
	box-sizing: content-box;
}
.menu > ul > li > ul li.cross {
	width: 20px;
	height: 20px;
	margin: 0;
	top: 50%;
	transform: translateY(-50%);
}
.menu > ul > li > ul li.cross:before {
	width: 100%;
	height: 2px;
	background: #1765b4;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
}
.menu > ul > li > ul li.cross:after {
	width: 2px;
	height: 100%;
	background: #1765b4;
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) rotate(-45deg);
}
.menu > ul > li > ul > li {
	width: auto;
	display: inline-block;
	float: none;
}
.menu > ul > li > ul > li a {
	color: #1765b4;
	font-size: 1rem;
	font-weight: bold;
	line-height: 68px;
	padding: 0 24px 0 40px;
	position: relative;
	width: auto;
}
.menu > ul > li > ul > li a:hover {
	background: #E7EDF3;
}
.menu > ul > li > ul > li a::before {
	content: "";
	width: 4px;
	height: 6px;
	background: url(../../images/icon_submenu_arrow.svg) center center no-repeat;
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
}
.menu > ul > li > ul > li a img {
	width: 13px;
    height: 16px;
    vertical-align: middle;
    margin-left: -13px;
}
.menu > ul > li > ul > li a span {
	padding-right: 23px;
}
.nav_sp {
	display: none;
}

@media screen and (max-width: 1199px) {
	header {
		width: 100%;
		z-index: 100;
		position: relative;
	}
	header section.inner ul {
		display: none;
	}
	#hamburger {
		display: block;
		cursor: pointer;
		position:absolute;
		right: 30px;
		top: 20px;
		z-index: 99999999999 !important;
		width: 60px;
		height: 60px;
	}
	.sticky {
		position: fixed;
		right: -120%;
		top: 0;
		z-index: 200;
		width: 90%;
		height: 100%;
		z-index: 99999999;
		overflow: hidden;
		transition: all 0.6s;
	}
	.sticky.open {
		right: 0;
	}
	.menu {
		height: 100%;
		background-color: #fff;
	}
	.menu.open {
		right: 0;
	}
	.nav_sp {
		display: block;
	}
    .menu > ul {
    	display: block;
		height: 100%;
		position: relative;
		overflow-x: hidden;
		overflow-y: auto;
		margin: 0;
		padding: 100px 30px 40px;
		z-index: 200;
		box-sizing: border-box;
    }
    .menu > ul.inner {
    	width: 100%;
    	margin: 0 auto;
    }
	.menu > ul > li {
		width: 100%;
		border-bottom: none;
		height: auto;
		padding-left: 20px;
		box-sizing: border-box;
	}
	.menu > ul > li:last-of-type {
		border-bottom: 2px solid #1765b4;
	}
	.menu > ul > li:hover {
		border-bottom: none;
		background: #E7EDF3;
	}
	.menu > ul > li:last-of-type:hover {
		border-bottom: 2px solid #1765b4;
	}
	.menu > ul > li.appear {
		border-bottom: none;
		height: auto;
		background: #E7EDF3;
	}
	.menu > ul > li > span {
		color: #1765b4;
		text-align: left;
		cursor: pointer;
	}
	.menu > ul > li > span:before {
		content: none;
	}
	.menu > ul > li.parent05 > span:after {
		content: none;
	}
	.menu > ul > li > span .Svg01 {
		fill: #1765b4;
		width: 12px;
		height: 7.5px;
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		transition: all .5s ease;
	}
	.menu > ul > li > span > a {
		text-align: left;
		color: #1765b4;
		border-bottom: none;
		line-height: 66px;
	}
	.menu > ul > li > ul > li {
		display: block;
		line-height: 50px;
	}
	.menu > ul > li > ul > li a {
		line-height: 50px;
		display: inline-block;
		font-size: 0.875rem;
	}
	.nav-button,
	.nav-button span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}
	.nav-button {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		background-color: #1765b4;
		border-radius: 5px;
	}
	.nav-button::after {
		content: "メニュー";
		color: #fff;
		font-size: 10px;
		font-weight: bold;
		letter-spacing: 0.1em;
		position: absolute;
		bottom: 8px;
		left: 50%;
		transform: translateX(-50%);
		white-space: nowrap;
		line-height: 1;
	}
	.nav-button.active::after {
		content: "閉じる";
	}
	.nav-button span {
		position: absolute;
		left: 13px;
		width: 34px;
		height: 3px;
		background-color: #fff;
	}
	.nav-button span:nth-of-type(1) {
		top: 12px;
	}
	.nav-button span:nth-of-type(2) {
		top: 23px;
	}
	.nav-button span:nth-of-type(3) {
		top: 34px;
	}
	.nav-button.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
		background-color:#fff;
	}
	.nav-button.active span:nth-of-type(2) {
		opacity: 0;
	}
	.nav-button.active span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg);
		background-color:#fff;
	}
	.menu > ul > li > ul li.cross {
		display: none;
	}
	.menu > ul > li.accordion {
	    cursor: pointer;
	    transition: all .5s ease;
	}
	.menu > ul > li > ul {
		height: auto;
		text-align: left;
		padding-left: 30px;
		border-bottom: none;
		background:transparent;
		padding-bottom: 15px;
	}
	.accordion.appear > span .Svg01{
	  	transform: rotate(180deg);
	  	transition: all .5s ease;
	}
	.menu > ul > li.accordion > ul.accordion-box {
	    display: none;
	}
}
@media screen and (max-width: 767px) {
	header {
		position: relative;
	}
	header section.inner {
		height: 80px;
	}
	header h1 {
		width: 250px;
		height: 55px;
	}
	header h1 a {
		width: 250px;
		height: 55px;
	}
	#hamburger {
		right: 20px;
		top: 10px;
	}
	.menu > ul {
		padding: 80px 20px 30px;
	}
}
@media screen and (max-width: 478px) {
	header h1 {
		margin: 0 0 0 15px;
		width: 200px;
		height: 44px;
	}
	header h1 a {
		width: 200px;
		height: 44px;
	}
}

/* --------------------------------------------------------- breadcrumb */
.breadcrumb {
	padding: 8px 0;
}
.breadcrumb ol {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
.breadcrumb li {
	font-size: 0.875rem;
	padding-right: 3rem;
	position: relative;
}
.breadcrumb li:last-of-type {
	padding-right: 0;
}
.breadcrumb li::after {
	content:">";
	position: absolute;
	top: 0;
	right: 1.25rem;
}
.breadcrumb li:last-of-type::after {
	content: none;
}
.breadcrumb li a {
	display: block;
	text-decoration: underline;
}
.breadcrumb li a:hover {
	text-decoration: none;
}

@media screen and (max-width: 1199px) {
	.breadcrumb {
		border-top: 1px solid #eee;
	}
}
@media screen and (max-width: 767px) {
	.breadcrumb {
		overflow: auto;
	    white-space: nowrap;
	}
	.breadcrumb ol {
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
	}
}

/* --------------------------------------------------------- contents page */
#pagetitle {
	background-color: #eff3f9;
	padding: 20px 0;
	margin-bottom: 60px;
}
#pagetitle h1 {
	color: #1765b4;
	font-size: 2.125rem;
	letter-spacing: 0.075em;
	margin: 0;
}

.page_contents {
	margin-bottom: 60px;
}

.anchor_contents {
	margin-top: -70px;
	padding-top: 70px;
	pointer-events: none;
}

.img50 {
	width: 50%;
	margin: 0 auto;
}
.img60 {
	width: 60%;
	margin: 0 auto;
}

#tohome {
	margin-bottom: 60px;
}
#tohome a {
	font-size: 1rem;
	font-weight: bold;
	color: #333;
	letter-spacing: 0.05em;
	margin: 0 auto;
	padding-bottom:4px;
	width: 185px;
	position: relative;
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack:justify;
	-webkit-justify-content: space-between;
	justify-content:space-between;
}
#tohome a::after {
	content: "";
	width: 185px;
	height: 2px;
	background-color: #1765b4;
	position: absolute;
	bottom: 0;
	left: -1px;
	transform: scale(1,1);
	transform-origin: left top;
	transition: all .5s;
}
#tohome a:hover {
	color: #1765b4;
}
#tohome a:hover::after {
	transform: scale(0.15,1);
}
#tohome img {
	width: 25px;
	height: 22px;
}

@media screen and (max-width: 1199px) {
	.anchor_contents {
		margin-top: 0;
		padding-top: 0;
	}
}
@media screen and (max-width: 999px) {
	#pagetitle h1 {
		font-size: 2rem;
	}
	.img50 {
		width: 100%;
	}
	.img60 {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle {
		margin-bottom: 40px;
	}
	#pagetitle h1 {
		font-size: 1.875rem;
	}
	.page_contents {
		margin-bottom: 40px;
	}
	.page_contents:last-of-type {
		margin-bottom: 50px;
	}
	#tohome {
	    margin-bottom: 50px;
	}
}
@media screen and (max-width: 479px) {
	#pagetitle {
		margin-bottom: 30px;
	}
	#pagetitle h1 {
		font-size: 1.625rem;
		line-height: 1.6;
	}
	.page_contents {
	    margin-bottom: 30px;
	}
}

/* --------------------------------------------------------- footer */
footer {
	width: 100%;
	padding: 60px 0 20px 0;
	font-size: 1rem;
	border-top: 1px solid #ddd;
}
footer h1 {
	border-bottom: 1px solid #eee;
	padding-bottom: 20px;
}
footer h1 img {
	width: 241.5px !important;
	height: 54px !important;
}
footer div {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
	-ms-flex-pack:justify;
	-webkit-justify-content: space-between;
	justify-content:space-between;
}
footer div ul {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;
}
footer div li a {
	color: #333;
	letter-spacing: 0.025em;
	padding-left: 15px;
	background: url(../../images/icon_arrow.png) left 0 top 7px no-repeat;
	margin-left: 40px;
}
footer div li a:hover {
	text-decoration: underline;
}
footer small {
	display: block;
	text-align: right;
	font-size: 0.625rem;
	color: #666;
}

@media screen and (max-width: 1199px) {
	footer {
		padding: 40px 0 20px 0;
	}
}
@media screen and (max-width: 999px) {
	footer {
		padding: 30px 0 20px 0;
	}
	footer h1 {
		text-align: center;
	}
	footer div {
		display: block;
		text-align: center;
	}
	footer div ul {
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	footer div li:first-of-type a {
		margin-left: 0;
	}
	footer small {
		margin-top: 20px;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	footer h1 {
		margin-top: 12px;
	}
}
@media screen and (max-width: 599px) {
	footer {
		font-size: 0.875rem;
	}
	footer div ul {
		-ms-flex-pack: start;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-ms-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
		width: 80%;
		margin: 0 auto;
	}
	footer div li {
		width: 48%;
		text-align: left;
	}
	footer div li:nth-of-type(odd) {
		margin-right: 4%;
	}
	footer div li a {
		margin-left: 0;
	}
}
@media screen and (max-width: 479px) {
	footer h1 {
		margin-top: 0;
		line-height: 1.7;
	}
	footer h1 img {
		width: 200px !important;
		height: 44px !important;
	}
	footer div ul {
		width: 90%;
	}
	footer div p {
		line-height: 1.7;
	}
}
@media screen and (max-width: 399px) {
	footer div ul {
		width: 100%;
	}
	footer div li {
		width: 49%;
	}
	footer div li:nth-of-type(odd) {
		margin-right: 2%;
	}
}

/* --------------------------------------------------------- pagetop */
.pagetop {
	position:fixed;
	right: 30px;
	bottom: 60px;
  	z-index: 70;
	width: 99px;
	height: 44px;
}
.pagetop a {
	display: block;
	width: 99px;
	height: 44px;
	text-align: center;
	overflow: hidden;
}
.pagetop a .Svg02 {
	width: 99px;
	height: 44px;
	fill: #1765b4;
}

@media screen and (max-width: 767px) {
	.pagetop {
		position: static;
		width: 100%;
		background: #777777;
		padding: 10px 0;
	}
	.pagetop a {
		width: 100%;
	}
	.pagetop a .Svg02 {
		fill: #fff;
	}
}
