@charset "UTF-8";

/* ------------------------------------------------------------ */
/* reset
/* ------------------------------------------------------------ */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
	padding: 0;
	margin: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
}

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

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
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%;
	font-weight: normal;
}

q:before,
q:after {
	content: '';
}

abbr,
acronym {
	border: 0;
}

/* ------------------------------------------------------------ */
/* link
/* ------------------------------------------------------------ */
a {
	text-decoration: none;
}

a:link {
	color: #004aa2;
}

a:visited {
	color: #336699;
}

a:hover {
	color: #3399ff;
	text-decoration: underline;
}

a:active {
	color: #3399ff;
	text-decoration: underline;
}

img {
	border: 0;
}

body {
	-webkit-text-size-adjust: 100%;
}

a img:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}

/* ------------------------------------------------------------ */
/* Header
/* ------------------------------------------------------------ */
#header {
	width: 960px;
	height: 100%;
	margin: 10px auto;
	overflow: hidden;
}

/* ------------------------------------------------------------ */
/* sitetitle
/* ------------------------------------------------------------ */
.sitetitle_box {
	float: left;
	margin: 25px 0 0 0;
}

#sitetitle a {
	width: 230px;
	height: 47px;
	display: block;
	text-indent: -3000px;
	background-image: url(../img/sitetitle.png);
	background-repeat: no-repeat;
	background-size: 230px 47px;
}

.header_access {
	margin: 10px 0 0 0;
	overflow: hidden;
	height: 40px;
}

.header_access p {
	margin: 12px 10px 0 75px;
	padding-left: auto;
	float: left;
}

#acces {
	float: left;
}

#openbtn {
	display: none;
}

#g-nav {
	display: none;
}

/* ------------------------------------------------------------ */
/* contact_access
/* ------------------------------------------------------------ */
#contact_access {
	float: right;
}

#contact_access li {
	float: left;
}

#acces a {
	width: 130px;
	height: 40px;
	display: block;
	text-indent: -3000px;
	background-position: 0 0;
	background-image: url(../img/access.png);
}

#contact {
	width: 200px;
	height: 40px;
	margin: 0 15px 0 0;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/header.png);
}

.tel {
	display: inline-block;
	margin: 8px 0 8px 10px;
	padding: 3px 0px 0px 45px;
	height: 26px;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/tel.png);
	background-repeat: no-repeat;
	text-indent: -3000px;
}

.fax {
	display: inline-block;
	margin: 8px 5px 8px 3px;
	padding: 3px 0px 0px 45px;
	height: 26px;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/fax.png);
	background-repeat: no-repeat;
	text-indent: -3000px;
	position: relative;
	left: 8px;
}

#navs{
	border-bottom: 1px solid #cccccc;
}

/* ------------------------------------------------------------ */
/* topimg
/* ------------------------------------------------------------ */
.topimg {
	margin: 0 auto;
	width: 960px;
}

/* ------------------------------------------------------------ */
/* pagetop
/* ------------------------------------------------------------ */
#pagetop {
	clear: both;
	position: relative;
	width: 960px;
	margin: 0 auto;
}

#pagetop a {
	float: right;
	padding: 8px 2em 6px;
	display: block;
	font-weight: bold;
	color: #ffffff;
	background: #003d7f;
}

#pagetop a:hover {
	padding: 7px 2em 6px;
	color: #003d7f;
	background: #fafafa;
	border: 1px solid #dcdcdc;
	border-bottom: none;
	text-decoration: none;
}

/* ------------------------------------------------------------ */
/* footer
/* ------------------------------------------------------------ */
#footer_outer {
	clear: both;
	width: 100%;
	margin: 0 auto;
	background: #fafafa;
	border-top: 1px solid #dcdcdc;
}

#footer {
	clear: both;
	width: 960px;
	margin: 0 auto;
	padding: 20px 0;
	overflow: hidden;
}

/* ------------------------------------------------------------ */
/* credit
/* ------------------------------------------------------------ */
.credit {
	width: 160px;
	height: 22px;
	text-indent: -3000px;
	background-image: url(../img/credit.png);
	background-size: 160px 22px;
}

/*.------------------------------------------------------------.*/
/*.adress
/*.------------------------------------------------------------.*/
address {
	margin-top: 10px;
	font-size: 0.8em;
	color: #666666;
	line-height: 180%;
	overflow: hidden;
}

address span {
	display: block;
}

/*.------------------------------------------------------------.*/
/*.footer Access
/*.------------------------------------------------------------.*/
#footer .access {
	color: #666666;
}

#footer .access_list {
	margin: 10px 0;
}

#footer .access_list li {
	width: 280px;
	margin: 10px 0;
	color: #666666;
	font-size: 0.8em;
	line-height: 180%;
}

/* ------------------------------------------------------------ */
/* copyright
/* ------------------------------------------------------------ */
#copyright {
	clear: both;
	padding: 10px 0 10px;
	font-size: 0.65em;
	color: #eeeeee;
	text-align: center;
	background: #003d7f;
}

/* ------------------------------------------------------------ */
/* Contents
/* ------------------------------------------------------------ */
#contents {
	width: 960px;
	margin: 0 auto 40px;
	color: #333333;
	overflow: hidden;
}

/* ------------------------------------------------------------ */
/* columstitle
/* ------------------------------------------------------------ */
.columstitle {
	width: 960px;
	overflow: hidden;
	margin: 30px 0;
	padding-top: 20px;
}

.columstitle h2 {
	font-size: 1.5em;
	font-weight: bold;
	border-left: 5px solid #424A76;
	overflow: hidden;
	padding-left: 20px;
}

/* ------------------------------------------------------------ */
/* index_colums
/* ------------------------------------------------------------ */

.index_colum {
	float: left;
	margin: 0 20px 20px 0;
	padding: 1px;
	width: 455px;
	height: 100%;
	border: 1px solid #dcdcdc;
	border-bottom: 3px solid #dcdcdc;
}

.index_colum h2 {
	padding: 10px 0;
	font-size: 1.1em;
	color: #003d7f;
	text-align: center;
	background: #f5f5f5;
}

.index_colum p {
	padding: 15px;
	font-size: 1em;
	color: #333333;
	line-height: 180%;
	max-height: 999999px;
}

.colum_p1 {
	height: 350px;
}

.colum_p2 {
	height: 350px;
}

.colum_p3 {
	height: 250px;
}

.colum_p4 {
	height: 250px;
}

.colum1 p {
	width: 95%;
	padding: 0 15px 15px 15px;
	font-size: 1em;
	color: #333333;
	line-height: 180%;
	max-height: 999999px;
}

.colum1 h3 {
	margin: 20px 0;
	padding: 9px 0 9px 15px;
	font-weight: bold;
	background: #e6e6e6;
	font-size: 1.1em;
}

/* ------------------------------------------------------------ */
/* Aside_current
/* ------------------------------------------------------------ */

#contact_access {
	position: relative;
}

#contact_access>ul {
	width: 375px;
	height: 40px;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/header.png);
}

#contact_access #acces {
	position: absolute;
	right: 0;
}

.header_access #acces a:hover {
	background-position: 0 -100%;
}

#utility {
	float: right;
}

.number {
	position: relative;
	top: -3px;
}

/* ------------------------------------------------------------ */
/* pagebody
/* ------------------------------------------------------------ */
.page_body {
	margin: 0 20px 30px 0;
	width: 100%;
	overflow: hidden;
}

.page_body h2 {
	margin-bottom: 15px;
	padding: 10px 10px 10px 15px;
	font-weight: bold;
	background: #e6e6e6;
	font-size: 1.17em;
}

.page_body h3 {
	font-size: 1.1em;
	font-weight: bold;
	color: #003d7f;
	padding: 10px 5px 10px 0;
}

.page_body p {
	padding: 0 0 15px 0;
	color: #333333;
	line-height: 180%;
	max-height: 999999px;
}

.title,
.pagebody p.title,
.pagebody h1 {
	clear: both;
	margin: 15px 0 8px !important;
	padding: 15px 1em;
	font-size: 0.9em;
	font-weight: bold;
	line-height: 180%;
	color: #333333;
	border: 3px double #cccccc;
}

.pagebody h2 {
	clear: both;
	margin: 15px 0 8px;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 180%;
	color: #000000;
}

.img_text {
	border-top: 1px solid #cccccc;
	width: 960px;
	margin: 0 0 25px 0;
	padding: 15px 0 0 0;
	overflow: hidden;
}

.img_text p {
	padding: 0 15px 15px 15px;
	width: 700px;
	overflow: hidden;
}

.img_text .notary {
	padding: 0 0 15px 0;
	height: 100%;
	font-weight: bold;
}

.img_text div {
	float: left;
	border: 5px solid #f6f6f6;
	height: 250px;
}


.google_map {
	width: 100%;
    position: relative;
    padding-top: 56.25%;
}
   
.google_map iframe {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mapping {
	width: 100%;
	margin: 0 25px 15px 0;
	background: #fafafa;
	padding-left: 15px;
}

.mapping p {
	width: 90%;
	font-size: 15.2px;
}

.mapping div {
	margin-right: 50px;
	display: inline-block;
}

.mapping div:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -140px;
	left: 210px;
	width: 0;
	height: 0;
	border-width: 20px;
	border-style: solid;
	border-color: transparent;
	border-left-color: #88ccef;
}

.mapping .goal:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -140px;
	left: 210px;
	width: 0;
	height: 0;
	border-width: 20px;
	border-style: solid;
	border-color: transparent;
	border-left-color: none;
}

figcaption {
	width: 15em;
	padding: 0;
	font-size: 12px;
}

/* ------------------------------------------------------------ */
/* トップページ
/* ------------------------------------------------------------ */
.pickup_link {
	padding: 20px;
	text-align: center;
	margin-top: 30px;
	-webkit-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-moz-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-ms-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	background: #fff;
}


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

/* ------------------------------------------------------------ */
/* Header
/* ------------------------------------------------------------ */
	#header {
		width: 100%;
		height: 100%;
		margin: 5px auto;
		overflow: hidden;
	}

	.sitetitle_box {
		float: left;
		margin: 45px 5% 25px 5%;
	}

	#contact_access>ul {
		width: 300px;
		height: 90px;
		font-size: 1.1em;
		font-weight: bold;
		background-image: none;
	}

	#contact_access {
		margin-top: 5px;
	}

	#contact_access li {
	float: right;
	margin-right: 5px;
	padding-right: 10px;
	background-image: url(../img/header.png);
	}

	#contact_access #acces {
		position: absolute;
		right: 5px;
	}

	.header_access {
	width: 300px;
	height: 40px;
	font-weight: bold;
	}

	.header_access p {
		margin: 12px 135px 0 0;
		padding-left: auto;
		float: left;
	}

	.topimg {
		width: 100vw;
	}

	.topimg img {
		width: 100vw;
	}
	
/* ------------------------------------------------------------ */
/* Contents
/* ------------------------------------------------------------ */
	#contents {
		width: 80%;
		margin: 0 auto 40px;
		color: #333333;
		overflow: hidden;
	}

/* ------------------------------------------------------------ */
/* columstitle
/* ------------------------------------------------------------ */
.columstitle {
	width: 100%;
	overflow: hidden;
	margin: 30px 0;
	padding-top: 20px;
}

/* ------------------------------------------------------------ */
/* index_colums
/* ------------------------------------------------------------ */

.index_colum {
	float: left;
	margin: 0 20px 20px 0;
	padding: 1px;
	width: 99%;
	height: 100%;
	border: 1px solid #dcdcdc;
	border-bottom: 3px solid #dcdcdc;
}

.index_colum h2 {
	padding: 10px 0;
	font-size: 1.1em;
	color: #003d7f;
	text-align: center;
	background: #f5f5f5;
}

.index_colum p {
	padding: 15px;
	font-size: 1em;
	color: #333333;
	line-height: 180%;
	max-height: 999999px;
}

/* ------------------------------------------------------------ */
/* pagebody
/* ------------------------------------------------------------ */

	.img_text {
		border-top: 1px solid #cccccc;
		width: 100%;
		margin: 0 0 25px 0;
		padding: 15px 0 0 0;
		overflow: hidden;
	}

	.img_text p {
		padding: 15px 0 15px 15px;
		width: 95%;
		overflow: hidden;
	}

	.img_text div {
		float: left;
		border: 5px solid #f6f6f6;
		height: 250px;
	}



/* ------------------------------------------------------------ */
/* pagetop
/* ------------------------------------------------------------ */
#pagetop {
	clear: both;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

#pagetop a {
	float: right;
	padding: 8px 2em 6px;
	display: block;
	/*font-size: 0.8em;*/
	font-weight: bold;
	color: #ffffff;
	background: #003d7f;
	margin-right: 10%;
}

/* ------------------------------------------------------------ */
/* footer
/* ------------------------------------------------------------ */
#footer_outer {
	clear: both;
	width: 100vw;
	margin: 0 auto;
	background: #fafafa;
	border-top: 1px solid #dcdcdc;
}

#footer {
	clear: both;
	width: 90%;
	margin-left: 10%;
	padding: 20px 0;
	overflow: hidden;
}

}

@media screen and (max-width: 620px) {
/* ------------------------------------------------------------ */
/* Header
/* ------------------------------------------------------------ */
#header {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	border-bottom: 1px solid #cccccc;
}

#header {
position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 75px;
	background-color: #ffffff;
	z-index: 9999;
}

.topimg img {
	margin-top: 75px;
}

/* ------------------------------------------------------------ */
/* sitetitle
/* ------------------------------------------------------------ */
.sitetitle_box {
	float: left;
	margin: 15px 0 0 10px;
}

.header_access {
	width: 140px;
	margin: 5px 5px 0 0;
	overflow: hidden;
}

.header_access p {
	font-size: 12px;
	margin: 0 5px 0 0;
	padding-left: auto;
	float: right;
}

#acces {
	float: left;
}

/* ------------------------------------------------------------ */
/* contact_access
/* ------------------------------------------------------------ */
#contact_access>ul {
	display: none;
}

#contact_access {
	margin: 5px 5px 0 0;
}

#contact_access #acces {
	position: absolute;
	top: 22px;
	right: 5px;
}

#contact_access li {
	float: right;
}

#contact_access li a {
	height: 40px;
	display: block;
	text-indent: -3000px;
	background-position: 0 0;
}

#acces a {
	width: 130px;
	height: 40px;
	display: block;
	text-indent: -3000px;
	background-position: 0 0;
	background-image: url(../img/access.png);
}

#contact {
	width: 400px;
	height: 40px;
	margin: 0 15px 0 0;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/header.png);
}

#contact_access li a:hover {
	background-position: 0 -100%;
}

.tel {
	display: inline-block;
	margin: 8px 0 8px 10px;
	padding: 3px 0px 0px 45px;
	height: 26px;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/tel.png);
	background-repeat: no-repeat;
	text-indent: -3000px;
}

.fax {
	display: inline-block;
	margin: 8px 5px 8px 3px;
	padding: 3px 0px 0px 45px;
	height: 26px;
	font-size: 1.1em;
	font-weight: bold;
	background-image: url(../img/fax.png);
	background-repeat: no-repeat;
	text-indent: -3000px;
	position: relative;
	left: 8px;
}

/* ------------------------------------------------------------ */
/* Contents
/* ------------------------------------------------------------ */
#contents {
	width: 90%;
	margin: 0 auto 40px;
	color: #333333;
	overflow: hidden;
}

/* ------------------------------------------------------------ */
/* トップページ
/* ------------------------------------------------------------ */
.pickup_link {
	padding: 20px;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	-webkit-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-moz-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	-ms-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
	background: #fff;
}

/* ------------------------------------------------------------ */
/* index_colums
/* ------------------------------------------------------------ */

.index_colum {
	float: left;
	margin: 0 20px 20px 0;
	padding: 1px;
	width: 98%;
	height: 100%;
	border: 1px solid #dcdcdc;
	border-bottom: 3px solid #dcdcdc;
}

/* ------------------------------------------------------------ */
/* pagetop
/* ------------------------------------------------------------ */

#pagetop a {
	float: right;
	padding: 8px 2em 6px;
	display: block;
	font-weight: bold;
	color: #ffffff;
	background: #003d7f;
	margin-right: 5%;
}

/* ------------------------------------------------------------ */
/* footer
/* ------------------------------------------------------------ */

#footer {
	clear: both;
	width: 95%;
	margin-left: 5%;
	padding: 20px 0;
	overflow: hidden;
}

.header_access {
	display: none;
}

#g-nav{
    position:fixed;
    z-index: 999;
	top: 76px;;
    right: -120%;
	width:100%;
    height: 100vh;
	/* background:rgba(255,255,255,0.95); */
	background-color: #fafafa;
	transition: all 0.6s;
	display: block;
}

#g-nav.panelactive{
    right: 0;
}

#g-nav ul {
    position: absolute;
    z-index: 999;
	width: 100%;
    top:30.5%;
    left:100%;
    transform: translate(-50%,-50%);
}

#contact_menu {
	position: absolute;
    z-index: 999;
    top:60%;
    left: 5%;
}

#g-nav li{
	list-style: none;
	border-left: 4px solid #424A76;
}

#g-nav li a{
	color: black;
	background-color: #dcdcdc;
	text-decoration: none;
	padding:5px;
	margin-bottom: 15px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}

.openbtn{
	position:fixed;
    z-index: 9999;
	top:10px;
	right: 0px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: black;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}

.anchor {
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}

#footer .access_list li {
	width: 95%;
	margin: 10px 0;
	color: #666666;
	font-size: 0.8em;
	line-height: 180%;
}
}

@media screen and (max-width: 561px) {
	
	.mapping div:after {
		content: "";
		display: inline-block;
		position: relative;
		top: 7.5px;
		left: 80px;
		width: 0;
		height: 0;
		border-top: 20px solid #88ccef;
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
	}
}