@charset "UTF-8";
* {
	box-sizing: border-box;
	transition: .3s;
}


body,
html {
	-moz-osx-font-smoothing: grayscale;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: transparent;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background-color: #ccc;
	font-size: 1.2rem;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
img {
	/*width: 100%;*/
	height: auto;
	font-size: 1.0rem;
	display: block;
}
body {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background-color: #FFF;
	font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
}
body .base {
	position: relative;
	background: #eee;
}


/* 横幅1601px */
@media print, screen and (min-width:1601px) {
/* main */
main {
    position: relative;
    width: 100%;
    font-size: calc(100vw / 37.5)
}
main section {
    width: 100%;
}
main .sec-01,
main .sec-03 {
    background-color: #FFF;
}
main .sec-02,
main .sec-04 {
  background-color: #eee;
  background-image:
    radial-gradient(#fff 10%, transparent 10%),
    radial-gradient(#fff 10%, transparent 10%);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
  padding: 0vw 0 2vw;
}
.sec-02 {
    padding: 2vw 0 2vw;
}
.sec-03 {
    padding:2vw 2vw 2vw;
}
.sec-04 {
    padding:2vw 2vw 2vw;
}
.sec-04 h3,
.sec-03 h3,
.sec-02 h3 {
    font-size: 2.333333vw;
    line-height: 1.1667;
    font-weight: bold;
    text-align: center;
    color: #009c00;
}
.sec-04 p,
.sec-03 p,
.sec-02 p {
    font-size: 1.3333333vw;
    font-weight: bold;
    text-align: center;
    color: #009c00;
    padding: 0 0 21px;
}

/* header */
header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	background-color: #eee;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    width: 100%;
}

header article{ 
	position: relative;
	width: 1600px;
    margin: 0 auto;
 }

header .logo {
	position: absolute;
/*	width: 5rem;*/
/*	height: 5rem;*/
	width: auto;
	height: 100%;
	background-color: #EEE;
	z-index: 999;
/*    padding: 0.5vw;*/
    padding: 0.4% 0;
    margin-left: 1.2%;
}
header .logo a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	text-align: center;
}
header .logo a picture{
	height: 100%;
}
header .logo a img {
/*	margin: 0 auto 0.2vw;*/
/*	width: 6rem;*/
	width: auto;
	height: 100%;
}
header .logo a span {
	font-size: 0.8rem;
	line-height: 0.8rem;
	font-weight: bold;
	display: block;
}
header .right {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	position: relative;
}
header .header-bar {
	width:1600px;
	height: 90px;
	padding-bottom: 20px;
}
header .header-bar {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
header .header-bar .read {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-left: 5rem;
}
header .header-bar .read span {
    font-size: 1.6rem;
    font-weight: bold;
    display: block;
    width: 100%;
    line-height: 1rem;
    width: 500px;
}
header .header-bar ul {
	display: -wbkit-flex;
	display: flex;
	width:850px;
	margin-right:200px;
}
header .header-bar ul li {
	padding: 0 7px;
}
header .header-bar ul li:not(:last-of-type){
	border-right: 1px solid #000;
}
header .header-bar ul li a {
	font-size: 0.7rem;
	color: #000;
	line-height: 0.8rem;
	display: block;
}

header .header-bar ul li a:hover {
	color: #3da0b4;
}

header .tel-box {
	height: auto;
	display: -webkit-flex;
	display: flex;
	padding:;
	-webkit-align-items: center;
	align-items: center;
	position: absolute;
    right: 0;
}

header .tel-box .tel-logo {
	width: 65px;
	height: 2.33333rem;
	overflow: hidden;
	background-color: #009c00;
}
header .tel-box .tel-logo img {
	object-fit: content;
	object-position: center center;
	width: 100%;
	height: 100%;
}
header .tel-box .tel-num {
	font-size: 1.8rem;
    line-height: 2.33333rem;
    font-weight: bold;
}
header .sp-switch {
	width: 149px;
	height: 149px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	background-color: #009c00;
	color: #FFF;
	margin: 0 0 0 2px;
	display: none;
}
header .sp-switch img {
	width: 80px;
	height: 80px;
	display: block;
}
header .sp-switch img.open {
	display: block;
}
header .sp-switch.active img.open {
	display: none;
}
header .sp-switch img.close {
	display: none;
}
header .sp-switch.active img.close {
	display: block;
}
header .header-menu {
	width: 100%;
    background-color: #FFF;
}
header .header-menu ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 1600px;
	height: 4.33333vw;
	margin: 0 auto;
	position: relative;
}
header .header-menu ul li {
	padding:0 0 0 3vw;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
header .header-menu ul li.link-box {
	padding: 0;
	width: 11vw;
	height: 4.33333vw;
/*	position: absolute;*/
/*	right: 11.2vw;*/
}
header .header-menu ul li.link-box.yellow {
	background-color: #ffe05f;
/*	right: 0;*/
}

header .header-menu ul li.link-box.yellow:hover {
	  transform: scale(1.05);
}

header .header-menu ul li.link-box.green {
	background-color: #009c00;
	margin: 0 0 0 auto;
}

header .header-menu ul li.link-box.green:hover {
	  transform: scale(1.05);
}

header .header-menu ul li a {
	font-size: 1rem;
	line-height: 1rem;
	text-align:  center;
	font-weight: 500;
	color: #000;
}
header .header-menu ul li a:hover {
	color: #3da0b4;
}
header .header-menu ul li.link-box a {
	font-size: 1rem;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
header .header-menu ul li.link-box.yellow a {
	color: #000;
}
header .header-menu ul li.link-box.green a {
	color: #FFF;
}
/* footer */
footer {
	position: relative;
}
footer .contact {
	padding: 3vw 0 3vw;
	background-color: #000;
	text-align: center;
}
footer .contact .btn-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 0 1vw;
}
footer .contact .btn-wrap a {
	display: block;
	width: 30vw;
	height: 5vw;
	border-radius: calc(85px / 2);
	line-height: 5vw;
	font-size: 2vw;
	font-weight: bold;
	text-align: center;
	margin: 0 8px 8px 8px;
}
footer .contact .btn-wrap a.yellow {
	background-color: #ffe05f;
	color: #000;
}
footer .contact .btn-wrap a.yellow:hover {
	  transform: scale(1.05);
}


footer .contact .btn-wrap a.green {
	background-color: #009c00;
	color: #FFF;
}

footer .contact .btn-wrap a.green:hover {
	  transform: scale(1.05);
}


footer .contact .tel-box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 auto 12px;
}
footer .contact .tel-box .tel-logo {
	width: 56px;
	height: 38px;
	background-color: #009c00;
	margin: 0 10px 0 0;
}
footer .contact .tel-box .tel-logo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
footer .contact .tel-box .tel-num {
	font-size: 36px;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
}

footer .contact .info {
	font-size: 1vw;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
}

footer .contact .tel-box > p {
	color: #FFF;
	font-size: 18px;
	line-height: 1;
	text-align: center;
}
footer .contact .qre-box .sub-ttl{
	margin-top: 25px;
	color: #FFF;
	font-size: 19px;
	font-weight: bold;
	line-height: 1;
}
footer .contact .qre-box picture{
	margin: 9px auto 0;
	width: 106px;
}
footer .contact .qre-box .info{
	margin-top: 14px;
	color: #FFF;
	font-size: 13px;
	font-weight: bold;
	line-height: 21px;
}
footer .btm-link {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 26px 0;
}
footer .btm-link .link-box {
	margin: 0 4vw;
}
footer .btm-link .link-box .head {
	font-size: 14px;
	font-weight: bold;
	line-height: 26px;
	margin: 0 0 5px;
	color: #333;
	width: 100%;
}
footer .btm-link .link-box .dd_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
footer .btm-link .link-box .dd {
	font-size: 0.833333vw;
	line-height: 1.3333vw;
	margin: 0;
}
footer .btm-link .link-box .dd li {
	position: relative;
}
footer .btm-link .link-box .dd li a {
	color: #333;
	display: block;
	width: 100%;
	padding: 0 0 0 1.5vw;
	background: url('../images/common/icn_arw-gray.png') .3em center no-repeat;
	background-size: auto .8em;
}

footer .btm-link .link-box .dd li a:hover {
	color: #3da0b4;
}

footer .footer-menu {
	height: 2vw;
	border-top: 2px solid #bdbdbd;
	border-bottom: 1px solid #949494;
	padding: 1vw 0 2vw 0	;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
footer .footer-menu ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
}
footer .footer-menu ul li {
	border-right: 2px solid #d9d9d9;
	height: 1vw;
}
footer .footer-menu ul li:last-of-type {
	border-right: none;
}
footer .footer-menu ul li a {
	padding: 0 1vw 0 1.333333vw;
	display: block;
	text-align: center;
	font-size: 1vw;
	line-height: 1vw;
	color: #000;
}

footer .footer-menu ul li a:hover {
	color: #3da0b4;
}

footer .copy {
	height: 53px;
	background-color: #333;
	color: #FFF;
	text-align: center;
	font-size: 0.8rem;
	line-height: 3rem;
}
footer .copy a {
	color: #FFF;
	font-size: 13px;
	line-height: 53px;
}

#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 40px;
  bottom: 40px;
  background: #3f98ef;
  opacity: 0.6;
  border-radius: 50%;
}

#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
content: '\f102';
font-size: 35px;
color: #fff;
position: absolute;
width: 35px;
height: 35px;
top: -10px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}

a:hover {
	color: #3da0b4;
}

/*　以下レスポンシブ　*/
header div.sp-hide { display: none;}

footer .gnav { display: none; }

.gnav,
.gnav--honbu,
.gnav--links {
    display:none;
}


}


@media print, screen and (min-width:1280px) and ( max-width:1600px) {
header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	background-color: #eee;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	min-width: 1280px;
    max-width: 1600px;

}

header article{ 
	position: relative;
	width: 100%;
    margin: 0 auto;
 }
header .logo {
    position: absolute;
/*    width: 4vw;*/
 	width: auto;
	height: 100%;
    z-index: 999;
    padding: 0.4% 0;
    margin-left: 1.5%;
}
header .logo a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 3px 0 0;
	text-align: center;
}
header .logo a picture{
  height: 100%;
}
header .logo a img {
	/*margin: 0 auto 0.2vw;
	width: 3.5vw;*/
	width: auto;
	height: 100%;
}
header .logo a span {
	font-size: 0.83333333vw;
	line-height: 0.83333333vw;
	font-weight: bold;
	display: block;
}
header .right {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
}
header .header-bar {
	width:100%;
	height: 3rem;
	padding: 1vw 0vw 1vw 1vw;
}
header .header-bar {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
header .header-bar .read {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	font-size: 0.8vw;
	line-height: 1vw;
	margin-left: 4vw;

}
header .header-bar .read span {
	font-weight: bold;
	font-size: 1rem;
	line-height: 1rem;
}
header .header-bar ul {
	display: -wbkit-flex;
	display: flex;
	margin-right: 35%;
}
header .header-bar ul li {
	padding: 0 7px;
}
header .header-bar ul li:not(:last-of-type){
	border-right: 1px solid #000;
}
header .header-bar ul li a {
	font-size: 0.7VW;
	color: #000;
	line-height: 0.8VW;
	display: block;
}

header .header-bar ul li a:hover {
	color: #3da0b4;
}

header .tel-box {
	height: auto;
	display: -webkit-flex;
	display: flex;
	padding: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position: absolute;
	right: 0;
}
header .tel-box .tel-logo {
	margin: 0 1vw 0 0;
	width: 3rem;
	height: 2rem;
	overflow: hidden;
	background-color: #009c00;
}
header .tel-box .tel-logo img {
	object-fit: content;
	object-position: center center;
	width: 100%;
	height: 100%;
}
header .tel-box .tel-num {
	font-size: 2rem;
	line-height: 2rem;
	font-weight: bold;
}
header .sp-switch {
	width: 149px;
	height: 149px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	background-color: #009c00;
	color: #FFF;
	margin: 0 0 0 2px;
	display: none;
}
header .sp-switch img {
	width: 80px;
	height: 80px;
	display: block;
}
header .sp-switch img.open {
	display: block;
}
header .sp-switch.active img.open {
	display: none;
}
header .sp-switch img.close {
	display: none;
}
header .sp-switch.active img.close {
	display: block;
}
header .header-menu {
	width: 100vw;
	background-color: #FFF;
	margin-left:0vw;
}
header .header-menu ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: auto;
}
header .header-menu ul li {
	padding: 0 0 0 3vw;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
header .header-menu ul li.link-box {
	padding: 0;
	width: 11vw;
	height: 4.33333vw;
}
header .header-menu ul li.link-box.yellow {
	background-color: #ffe05f;
/*	margin: 0 0 0 auto;*/
}

header .header-menu ul li.link-box.yellow:hover {
	  transform: scale(1.05);
}



header .header-menu ul li.link-box.green {
	background-color: #009c00;
	margin: 0 0 0 auto;
/*	margin: 0 0 0 0.2vw;*/
/*	position: absolute;*/
/*    right: 11.2vw;*/
}

header .header-menu ul li.link-box.green:hover {
	  transform: scale(1.05);
}


header .header-menu ul li a {
	font-size: 1vw;
	line-height: 1;
	text-align:  center;
	font-weight: bold;
	color: #000;
}
header .header-menu ul li a:hover {
	color: #3da0b4;
}
header .header-menu ul li.link-box a {
	font-size: 1vw;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
header .header-menu ul li.link-box.yellow a {
	color: #000;
}
header .header-menu ul li.link-box.green a {
	color: #FFF;
}


/**
* header end
*/
footer {
	position: relative;
}
footer .contact {
	padding: 3vw 0 3vw;
	background-color: #000;
	text-align: center;
}
footer .contact .btn-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 0 1vw;
}
footer .contact .btn-wrap a {
	display: block;
	width: 30vw;
	height: 5vw;
	border-radius: calc(85px / 2);
	line-height: 5vw;
	font-size: 2vw;
	font-weight: bold;
	text-align: center;
	margin: 0 8px 8px 8px;
}
footer .contact .btn-wrap a.yellow {
	background-color: #ffe05f;
	color: #000;
}
footer .contact .btn-wrap a.yellow:hover {
	  transform: scale(1.05);
}


footer .contact .btn-wrap a.green {
	background-color: #009c00;
	color: #FFF;
}

footer .contact .btn-wrap a.green:hover {
	  transform: scale(1.05);
}


footer .contact .tel-box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 auto 12px;
}
footer .contact .tel-box .tel-logo {
	width: 56px;
	height: 38px;
	background-color: #009c00;
	margin: 0 10px 0 0;
}
footer .contact .tel-box .tel-logo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
footer .contact .tel-box .tel-num {
	font-size: 36px;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
}

footer .contact .info {
	font-size: 1vw;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
}

footer .contact .tel-box > p {
	color: #FFF;
	font-size: 18px;
	line-height: 1;
	text-align: center;
}
footer .contact .qre-box .sub-ttl{
	margin-top: 25px;
	color: #FFF;
	font-size: 19px;
	font-weight: bold;
	line-height: 1;
}
footer .contact .qre-box picture{
	margin: 9px auto 0;
	width: 106px;
}
footer .contact .qre-box .info{
	margin-top: 14px;
	color: #FFF;
	font-size: 13px;
	font-weight: bold;
	line-height: 21px;
}
footer .btm-link {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 26px 0;
}
footer .btm-link {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 26px 0;
}
footer .btm-link .link-box {
	margin: 0 4vw;
}
footer .btm-link .link-box .head {
	font-size: 14px;
	font-weight: bold;
	line-height: 26px;
	margin: 0 0 5px;
	color: #333;
	width: 100%;
}
footer .btm-link .link-box .dd_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
footer .btm-link .link-box .dd {
	font-size: 0.833333vw;
	line-height: 1.3333vw;
	margin: 0;
}
footer .btm-link .link-box .dd li {
	position: relative;
}
footer .btm-link .link-box .dd li a {
	color: #333;
	display: block;
	width: 100%;
	padding: 0 0 0 1.5vw;
	background: url('../images/common/icn_arw-gray.png') .3em center no-repeat;
	background-size: auto .8em;
}

footer .btm-link .link-box .dd li a:hover {
	color: #3da0b4;
}

footer .footer-menu {
	height: 2vw;
	border-top: 2px solid #bdbdbd;
	border-bottom: 1px solid #949494;
	padding: 1vw 0 2vw 0	;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
footer .footer-menu ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
}
footer .footer-menu ul li {
	border-right: 2px solid #d9d9d9;
	height: 1vw;
}
footer .footer-menu ul li:last-of-type {
	border-right: none;
}
footer .footer-menu ul li a {
	padding: 0 1vw 0 1.333333vw;
	display: block;
	text-align: center;
	font-size: 1vw;
	line-height: 1vw;
	color: #000;
}

footer .footer-menu ul li a:hover {
	color: #3da0b4;
}

footer .copy {
	height: 53px;
	background-color: #333;
	color: #FFF;
	text-align: center;
	font-size: 0.8rem;
	line-height: 3rem;
}
footer .copy a {
	color: #FFF;
	font-size: 13px;
	line-height: 53px;
}

#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 40px;
  bottom: 40px;
  background: #3f98ef;
  opacity: 0.6;
  border-radius: 50%;
}

#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
content: '\f102';
font-size: 35px;
color: #fff;
position: absolute;
width: 35px;
height: 35px;
top: -10px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}

a:hover {
	color: #3da0b4;
}

/*　以下レスポンシブ　*/
header div.sp-hide { display: none;}

footer .gnav { display: none; }

.gnav,
.gnav--honbu,
.gnav--links {
    display:none;
}


}

@media print, screen and (min-width:769px) and ( max-width:1279px) {
header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	background-color: #eee;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	min-width: 769px;
    max-width: 1279px;

}

header article{ 
  position: relative;
	width: 100%;
    margin: 0 auto;
 }
header .logo {
	position: absolute;
/*	width: 4rem;*/
/*	padding-top:0vw ;*/
	z-index: 999;
	width: auto;
	height: 100%;
	padding: 0.4% 0;
    margin-left: 1.5%;
}
header .logo a {
	display: block;
	width: 100%;
	height: 100%;
/*	padding: 3px 0 0;*/
	text-align: center;
}
header .logo a picture{
  height: 100%;
}
header .logo a img {
/*	margin: 0 auto 0.2vw;*/
/*	width: 2.5rem;*/
	width: auto;
	height: 100%;
}
header .logo a span {
	font-size: 0.6rem;
	line-height: 0.9rem;
	font-weight: bold;
	display: block;
}
header .right {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
}
header .header-bar {
	width:100%;
	height: 3rem;
	padding: 1vw 0vw 1vw 1vw;
}
header .header-bar {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
header .header-bar .read {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    font-size: 1rem;
    line-height: 1rem;
    margin-left: 3rem;
}
header .header-bar .read span {
	font-weight: bold;
}
header .header-bar ul {
	display: -wbkit-flex;
	display: flex;
	margin-right:  34%;
}
header .header-bar ul li {
	padding: 0 7px;
}
header .header-bar ul li:not(:last-of-type){
	border-right: 1px solid #000;
}
header .header-bar ul li a {
	font-size: 0.7VW;
	color: #000;
	line-height: 0.8VW;
	display: block;
}

header .header-bar ul li a:hover {
	color: #3da0b4;
}

header .tel-box {
	height: auto;
	display: -webkit-flex;
	display: flex;
	padding: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position: absolute;
	right: 0;
}
header .tel-box .tel-logo {
	margin: 0 1vw 0 0;
	width: 3rem;
	height: 2rem;
	overflow: hidden;
	background-color: #009c00;
}
header .tel-box .tel-logo img {
	object-fit: content;
	object-position: center center;
	width: 100%;
	height: 100%;
}
header .tel-box .tel-num {
	font-size: 2rem;
	line-height: 2rem;
	font-weight: bold;
}
header .sp-switch {
	width: 149px;
	height: 149px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	background-color: #009c00;
	color: #FFF;
	margin: 0 0 0 2px;
	display: none;
}
header .sp-switch img {
	width: 80px;
	height: 80px;
	display: block;
}
header .sp-switch img.open {
	display: block;
}
header .sp-switch.active img.open {
	display: none;
}
header .sp-switch img.close {
	display: none;
}
header .sp-switch.active img.close {
	display: block;
}
header .header-menu {
	width: 100%;
	background-color: #FFF;
	margin-left:0;
}
header .header-menu ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: auto;
}
header .header-menu ul li {
	padding: 0 0 0 3vw;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
header .header-menu ul li.link-box {
	padding: 0;
	width: 11vw;
	height: 4.33333vw;
}
header .header-menu ul li.link-box.yellow {
	background-color: #ffe05f;
	margin: 0;
}

header .header-menu ul li.link-box.yellow:hover {
	  transform: scale(1.05);
}



header .header-menu ul li.link-box.green {
	background-color: #009c00;
	margin: 0 0 0 auto;
/*	margin: 0 0 0 0.2vw;*/
/*	position: absolute;*/
/*	right: 11.2vw;*/
}

header .header-menu ul li.link-box.green:hover {
	  transform: scale(1.05);
}


header .header-menu ul li a {
	font-size: 1vw;
	line-height: 1;
	text-align:  center;
	font-weight: bold;
	color: #000;
}
header .header-menu ul li a:hover {
	color: #3da0b4;
}
header .header-menu ul li.link-box a {
	font-size: 1vw;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
header .header-menu ul li.link-box.yellow a {
	color: #000;
}
header .header-menu ul li.link-box.green a {
	color: #FFF;
}


/**
* header end
*/
footer {
	position: relative;
}
footer .contact {
	padding: 3vw 0 3vw;
	background-color: #000;
	text-align: center;
}
footer .contact .btn-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 0 1vw;
}
footer .contact .btn-wrap a {
	display: block;
	width: 30vw;
	height: 5vw;
	border-radius: calc(85px / 2);
	line-height: 5vw;
	font-size: 2vw;
	font-weight: bold;
	text-align: center;
	margin: 0 8px 8px 8px;
}
footer .contact .btn-wrap a.yellow {
	background-color: #ffe05f;
	color: #000;
}
footer .contact .btn-wrap a.yellow:hover {
	  transform: scale(1.05);
}


footer .contact .btn-wrap a.green {
	background-color: #009c00;
	color: #FFF;
}

footer .contact .btn-wrap a.green:hover {
	  transform: scale(1.05);
}


footer .contact .tel-box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 auto 12px;
}
footer .contact .tel-box .tel-logo {
	width: 56px;
	height: 38px;
	background-color: #009c00;
	margin: 0 10px 0 0;
}
footer .contact .tel-box .tel-logo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
footer .contact .tel-box .tel-num {
	font-size: 36px;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
}

footer .contact .info {
	font-size: 1vw;
	line-height: 1;
	font-weight: bold;
	color: #FFF;
}

footer .contact .tel-box > p {
	color: #FFF;
	font-size: 18px;
	line-height: 1;
	text-align: center;
}
footer .contact .qre-box .sub-ttl{
	margin-top: 25px;
	color: #FFF;
	font-size: 19px;
	font-weight: bold;
	line-height: 1;
}
footer .contact .qre-box picture{
	margin: 9px auto 0;
	width: 106px;
}
footer .contact .qre-box .info{
	margin-top: 14px;
	color: #FFF;
	font-size: 13px;
	font-weight: bold;
	line-height: 21px;
}
footer .btm-link {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 26px 0;
}
footer .btm-link {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 26px 0;
}
footer .btm-link .link-box {
	margin: 0 4vw;
}
footer .btm-link .link-box .head {
	font-size: 14px;
	font-weight: bold;
	line-height: 26px;
	margin: 0 0 5px;
	color: #333;
	width: 100%;
}
footer .btm-link .link-box .dd_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
footer .btm-link .link-box .dd {
	font-size: 0.833333vw;
	line-height: 1.3333vw;
	margin: 0;
}
footer .btm-link .link-box .dd li {
	position: relative;
}
footer .btm-link .link-box .dd li a {
	color: #333;
	display: block;
	width: 100%;
	padding: 0 0 0 1.5vw;
	background: url('../images/common/icn_arw-gray.png') .3em center no-repeat;
	background-size: auto .8em;
}

footer .btm-link .link-box .dd li a:hover {
	color: #3da0b4;
}

footer .footer-menu {
	height: 2vw;
	border-top: 2px solid #bdbdbd;
	border-bottom: 1px solid #949494;
	padding: 1vw 0 2vw 0	;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
footer .footer-menu ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
}
footer .footer-menu ul li {
	border-right: 2px solid #d9d9d9;
	height: 1vw;
}
footer .footer-menu ul li:last-of-type {
	border-right: none;
}
footer .footer-menu ul li a {
	padding: 0 1vw 0 1.333333vw;
	display: block;
	text-align: center;
	font-size: 1vw;
	line-height: 1vw;
	color: #000;
}

footer .footer-menu ul li a:hover {
	color: #3da0b4;
}

footer .copy {
	height: 53px;
	background-color: #333;
	color: #FFF;
	text-align: center;
	font-size: 0.8rem;
	line-height: 3rem;
}
footer .copy a {
	color: #FFF;
	font-size: 13px;
	line-height: 53px;
}

#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 40px;
  bottom: 40px;
  background: #3f98ef;
  opacity: 0.6;
  border-radius: 50%;
}

#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
content: '\f102';
font-size: 35px;
color: #fff;
position: absolute;
width: 35px;
height: 35px;
top: -10px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}

a:hover {
	color: #3da0b4;
}

/*　以下レスポンシブ　*/
header div.sp-hide { display: none;}

footer .gnav { display: none; }

.gnav,
.gnav--honbu,
.gnav--links {
    display:none;
}


}

@media print, screen and (max-width: 768px) {

header {
	position: fixed;
  z-index : 1;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	background-color: #eee;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	background-color: #EEE;
}
header .logo {
	position: fixed;
	top: 0;
	width: 16vw;
	height: 16vw;
	padding-top:1vw ;
	border-radius:0;
	background-color: #FFF;
	z-index: 1;
}
header .logo a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 3px 0 0;
	text-align: center;
}
header .logo a img {
	margin: 0 auto 0.2vw;
	width: 10vw;
}
header .logo a span {
	display: none;
}

header .right {
	display: none;
}

header .sp-read {
	padding: 2vw;
	margin-left:15vw;
	width: 60vw;
	height: 16vw;
	position: fixed;
	top: 0;
	background-color: #FFF;
}

header .sp-read h2.read {
    position: fixed;
    font-size: 3.333333vw;
    line-height: 11.8vw;
    margin-left: -3vw;
    vertical-align: middle;
    font-weight: bold;
}

header .sp-read h2.pc-read {display: none;
}

header nav.header-menu ul{
	display:none;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 0px;
  top   : 0px;
  width : 16vw;
  height: 16vw;
  cursor: pointer;
  text-align: center;
  background-color: #009c00;
}
/*　ハンバーガーボタン　*/
.sp-tel-box {
  display : block;
  position: fixed;
  z-index : 1;
  right : 16vw;
  top   : 0px;
  width : 16vw;
  height: 16vw;
  text-align: center;
  background-color: #000;
  color: #FFF;
  font-size: 1.83333333vw;
	line-height: 1.83333333vw;
	font-weight: bold;
}

.sp-tel-box img {
	margin: 4vw auto 0.2vw;
	width: 12vw;
}



.hamburger span {
  display : block;
  position: absolute;
  width   : 9vw;
  height  : 1vw ;
  left    : 3.3333vw;
  background : #FFF;
  border-radius: 10px;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 5vw;
}
.hamburger span:nth-child(2) {
  top: 7.5vw;
}
.hamburger span:nth-child(3) {
  top: 10vw;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1),
.hamburger.active span:nth-child(3) {
  width : 14px;
}
.hamburger.active span:nth-child(1){
  -webkit-transform:    translate(-1px,5px) rotate(-45deg);
  -moz-transform   : translate(-1px,5px) rotate(-45deg);
  transform        : translate(-1px,5px) rotate(-45deg);
}
.hamburger.active span:nth-child(3){
 
  -webkit-transform: translate(-1px,-5px) rotate(45deg);
  -moz-transform   : translate(-1px,-5px) rotate(45deg);
  transform        : translate(-1px,-5px) rotate(45deg);
}

.hamburger.active{
	background: none;
}

nav.globalMenuSp {
  position:fixed;
  z-index : 1;
  top  : 0;
  left : 0;
  color: #000;
  background: #000;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%;
}

nav.globalMenuSp ul {
  background: #ffec5a;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li.yellow { background: #FFBC00; }
nav.globalMenuSp ul li.green { background: #009C00; }


nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  font-size: 1rem;
  padding: 1rem 0;
  text-decoration :none;
}

nav.globalMenuSp ul li.yellow a { font-weight: bold; color: #FFF;  }
nav.globalMenuSp ul li.green a { font-weight: bold; color: #FFF; }

nav.globalMenuSp ul li:hover,
nav.globalMenuSp ul li.yellow a:hover,
nav.globalMenuSp ul li.green a:hover
{
  background :#ddd;
}


/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}


footer .contact {
    padding: 3vw 0 3vw;
    background-color: #eee;
    background-image: radial-gradient(#fff 10%, transparent 10%), radial-gradient(#fff 10%, transparent 10%);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    text-align: center;
    padding: 6vw 0;
}
footer .contact .btn-wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0 0 1vw;
}
footer .contact .btn-wrap a {
    display: block;
    width: 68vw;
    height: 10vw;
    border-radius: calc(85px / 2);
    line-height: 10vw;
    font-size: 4vw;
    font-weight: bold;
    text-align: center;
    margin: 0 2px 2px 2px;
}
footer .contact .btn-wrap a.yellow {
    background-color: #ffec5a;
    color: #000;
}
footer .contact .btn-wrap a.green {
    background-color: #009c00;
    color: #FFF;
}

footer .contact .tel-box .tel-num {
    font-size: 8vw;
    line-height: 1;
    font-weight: bold;
    color: #000;
}
footer .contact .info {
    font-size: 6vw;
    line-height: 1;
    font-weight: bold;
    color: #000;
}
footer .contact .tel-box {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0 auto 2px;
}
footer .contact .tel-box .tel-logo {
    width: 10vw;
    height: 7vw;
    background-color: #009c00;
    margin: 0 10px 0 0;
}
footer .contact .info {
    font-size: 2.8vw;
    line-height: 1;
    font-weight: bold;
    color: #000;
}
footer .contact .qre-box{ display: none; }

footer .link-box { display: none; }


footer .btm-link {
	padding: 2vw 2vw 1vw 2vw;
	background-color: #000;
}

.gnav,
.gnav--honbu,
.gnav--links {
    display: flex;
    height: 10vw;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 2vw;
}
.gnav > li,
.gnav--honbu > li,
.gnav--links > li {/*親階層のみ幅を25%にする*/
    width: 100%;
}
/*全てのリスト・リンク共通*/
.gnav li,
.gnav--honbu li,
.gnav--links li {
    list-style: none;
    position: relative;
}

.gnav li a,
.gnav--honbu li a {
    background: #eaeaea;
    border-radius:10px;
    color: #000;
    display: block;
    height: 10vw;
    line-height: 10vw;
    font-size: 4vw;
    text-align: left;
    text-decoration: none;
    width: 100%;
    padding-left: 4vw;
    font-weight: 600;
}
.gnav--links li a {
    background: #ffec5a;
    border-radius:10px;
    color: #000;
    display: block;
    height: 10vw;
    line-height: 10vw;
    font-size: 3vw;
    text-align: center;
    text-decoration: none;
    width: 100%;
    font-weight: 600;
}
.gnav--links li:nth-child(1) {
	margin-right: 1vw;
}

/*子階層以降共通*/
.gnav li li,
.gnav--honbu li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
    z-index: 2;
}
.gnav li li a,
.gnav--honbu li li a {
    border-top: 1px solid #eee;
    height: 10vw;
    line-height: 10vw;
    padding-left: 8vw;
}
.gnav li:hover > ul > li,
.gnav--honbu li:hover > ul > li {
    height: 10vw;
    overflow: visible;
}
.gnav li ul li ul, 
.gnav--honbu li ul li ul {
    left: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}

/*aの背景色を指定*/   
.gnav li:hover a {/*親階層*/
    background: #ffec5a;
    color: #000;
}
.gnav--honbu li:hover a {/*親階層*/
    background: #009c00;
    color: #FFF;
}
.gnav li li a {/*子階層*/
    background: #ffec5a;
}
.gnav--honbu li li a {/*子階層*/
    background: #009c00;
}
.gnav li li:hover a {
    background: #ffec5a;
}
.gnav--honbu li li:hover a {
    background: #009c00;
}


/*リストに「▶︎」を付ける*/
.gnav > li > ul:before{/*子階層*/
    border: 2vw solid transparent;
    border-top: 2vw solid #000;
    content: "";
    right: 3vw;
    position: absolute;
    top: 8vw;
    transform: translateY(-100%);
}

.gnav li ul li ul:before {/*孫階層*/
    border: 2vw solid transparent;
    border-top: 2vw solid #000;
    content: "";
    right: 3vw;
    position: absolute;
    top: 8vw;
    transform: translateY(-100%);
}

.footer-menu{ 
	padding:0 5vw 5vw 5vw ;
	background: #000;
	color: #FFF;
	font-weight: 500;
}

.footer-menu ul li {
    border-bottom: 1px solid #FFF;
    font-size: 0.8rem;
    line-height: 2.8rem;
}

footer .copy {
    font-size: 0.5rem;
    line-height: 1rem;
    text-align: center;
}

}

/* セコム Web Sticker追加 231204*/
#web-sticker-pc{
	display: block;
	position: absolute;
	right: 4%;
}
#web-sticker-pc input[type="image"]{
	width: 6vw;
	height: auto;
	margin: 0;
	padding: 0;
	max-width: 80px;
}
#web-sticker-sp{display: none;}

@media print, screen and (max-width: 768px) {
#web-sticker-pc{display: none;}
#web-sticker-sp{
	display: flex;
	justify-content: center;
	padding-top: 5vw;
}
#web-sticker-sp input[type="image"]{
	width: 70px;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
}
}




