@charset "UTF-8";


/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

	/* header
  ---------------------------------------------------------------------- */
	#header-area {
		position: fixed;
		z-index:10000;
		width: 262px;
		height: 100vh;
		overflow-y: auto;
		background-color: var(--bg-primary-color);
		padding-right: 20px;
	}
	#header-area::-webkit-scrollbar {
	    	display: none;
	}
	#mainheader {
		width: 100%;
		z-index: 1000;
	}
	#mainheader .mainheader__inr {
		height: 100%;
		z-index: 9999;
		position: relative;
	}
	#mainheader .logo_wrap {
		margin-bottom: 5px;
	}
	#mainheader .logo {
		height: 100%;
		max-width: 242px;
		position: relative;
		background-color: #FFF;
	}
	#mainheader .logo a {
		display: block;
		padding: 15px;
	}
	#mainheader .logo a img {
		width: 100%;
		height: auto;
	}


	/* fnav
  ---------------------------------------------------------------------- */

	.fnav__list {
		margin-bottom: 20px;
	}
	.fnav__list>li {
		margin-bottom: 4px;
		/* border-bottom: 1px solid #1fb17c; */
	}
	.fnav__list>li:last-of-type {
		margin-bottom: 0;
		/* border-bottom: none; */
	}
	.fnav__list>li>a {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-align: left;
		width: 100%;
		/* height: calc((100 / 1600 ) * 100vw); */
		height: calc((80 / 1080 ) * 100vh);
		/* height: calc((100 / 885 ) * 100vh); */
		/* max-height: 100px; */
		max-height: 80px;
		padding-left: 1em;
		font-size: 1.8rem;
		font-weight: bold;
		letter-spacing: 0.08em;
		line-height: 1.2;
		position: relative;
		background-color: #FFF;
	}
	.fnav__list>li:hover>a {
		background-color: #1fb17c;
		opacity: 1;
	}
	.gn01 ,
	.gn02 ,
	.gn03 {
		color: var(--primary-color);
	}
	.gn04 {
		color: #66aad7;
	}
	.fnav__list>li:hover>a.gn04 {
		background-color: #66aad7;
	}
	.gn05 {
		color: #fa9800;
	}
	.fnav__list>li:hover>a.gn05 {
		background-color: #fa9800;
	}
	.gn06 {
		color: #66aad7;
	}
	.fnav__list>li:hover>a.gn06 {
		background-color: #66aad7;
	}
	.fnav__list>li:hover a.gn01 ,
	.fnav__list>li:hover a.gn02 ,
	.fnav__list>li:hover a.gn03 ,
	.fnav__list>li:hover a.gn04 ,
	.fnav__list>li:hover a.gn05 ,
	.fnav__list>li:hover a.gn06 {
		color: #FFF;
	}
	.fnav__list>li:hover>a.gn01::after ,
	.fnav__list>li:hover>a.gn02::after ,
	.fnav__list>li:hover>a.gn03::after ,
	.fnav__list>li:hover>a.gn04::after ,
	.fnav__list>li:hover>a.gn06::after {
	        content: "";
	        display: block;
	        width: 0;
	        height: 0;
	        border-style: solid;
	        border-top: 16px solid transparent;
	        border-bottom: 16px solid transparent;
	        border-left: 12px solid rgba(31, 177, 124, 1);
	        border-right: 0;
	        position: absolute;
	        right: -10px;
	        top: 50%;
	        transform: translateY(-50%);
	}
	.fnav__list>li:hover>a.gn04::after {
		border-left: 12px solid rgba(102, 170, 215, 1);
	}
	.fnav__list>li:hover>a.gn06::after {
		border-left: 12px solid rgba(102, 170, 215, 1);
	}
	.fnav__list2 {
		margin-bottom: 15px;
		padding-left: 2rem;
	}
	.fnav__list2>li {
		line-height: 1;
		margin-bottom: 10px;
	}
	.fnav__list2>li:last-of-type {
		margin-bottom: 0;
	}
	.fnav__list2>li>a {
		display: inline-block;
		width: 100%;
		padding-left: 1em;
		font-size: 1.3rem;
		font-weight: normal;
		letter-spacing: 0.08em;
		line-height: 1.2;
		position: relative;
		color: var(--third-color);
	}
	.fnav__list2>li>a::before {
		content: ">";
		font-family: serif;
		font-size: 1.5rem;
		line-height: 1;
		position: absolute;
		left: 0;
	}
	.mainheader_search {
		margin-bottom: 15px;
		padding-left: 1em;
	}
	.mainheader_search form {
		position: relative;
		display: inline-block;
		width: 210px;
	}
	.mainheader_search form input[type="text"] {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 38px;
		border: 1px solid #cccccc;
		border-radius: 10px;
		overflow: hidden;
		font-size: 1.4rem;
		padding-left: 1em;
	}
	.mainheader_search form input[type="submit"] {
		display: inline-block;
		width: 38px;
		height: 38px;
		background: url('/images/icon_serch_gray.svg') center no-repeat;
		background-size: 18px;
		position: absolute;
		top: 0;
		right: 0;
		border: none;
		/* border: 1px solid #cccccc; */
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
	}
	.mainheader__tel {
		padding-left: 10px;
	}
	.mainheader__telNumber {
		color: #005083;
		font-size: 29px;
		line-height: 1.2;
		font-weight: bold;
	}
	.mainheader__telNumber::before {
		content: "";
		display: inline-block;
		width: 21px;
		height: 26px;
		background: url('/images/icon_tel_black.svg') center no-repeat;
		background-size: contain;
		position: relative;
	}

	.mainheader__address {
		color: #005083;
		font-size: 12px;
		font-weight: normal;
		text-align: center;
	}


	/* fnav__list_subnav
  ---------------------------------------------------------------------- */
	.fnav__list_subnav {
	    display: none;
	    /* width: calc(100vw - 242px); */
	    width: auto;
	    background-color: rgba(93, 189, 164, .9);
	    color: #FFF;
	    position: fixed;
	    z-index: 8000;
	    top: 90px;
	    left: 250px;
	    padding: 50px;
	    overflow: visible;
	}
	.fnav__list_subnav.gn04In {
		background-color: rgba(102, 170, 215, .85);
	}
	.fnav__list_subnav.gn06In {
		background-color: rgba(102, 170, 215, .85);
	}
	.fnav__list_subnav::before {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: -20px;
	    width: 20px;
	    height: 100%;
	    background: transparent;
	}
	.fnav__list_subnav::after {
/* 		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 16px solid transparent;
		border-bottom: 16px solid transparent;
		border-right: 12px solid rgba(93, 189, 164, .85);
		border-left: 0;
		position: absolute;
		left: -10px;
		top: 20%; */
	}
	.fnav__list_subnav h3 {
		text-align: center;
		font-weight: bold;
		width: fit-content;
		margin-bottom: 30px;
		color: rgba(255, 255, 255, 0.6);
		font-size: 1.8rem;
	}
	.fnav__list_subnav h3 a {
		font-size: 1.6rem;
		font-weight: bold;
		padding-left: 1em;
		position: relative;
		color: rgba(255, 255, 255, 1.0);
		font-size: 1.6rem;
	}
	.fnav__list_subnav h3 a::before {
		content: "";
		display: inline-block;
		width: 7px;
		height: 12px;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		transition: .6s;
	}
	.fnav__list_subnav h3 a:hover::after {
		right: 5px;
	}
	.fnav__list__subnav__inner {
		display: flex;
		justify-content: space-between;
		gap: 50px;
	}
	.fnav__list__subnav__inner__wrap {
	}
	.fnav__list__subnav__inner__wrap>h4 {
		color: rgba(255, 255, 255, .6);
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.fnav__list__subnav__inner__wrap>h4>a {
		color: #FFF;
		position: relative;
	}
	.fnav__list__subnav__inner__wrap>h4>a::after {
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		right: -1em;
		top: 50%;
		transform: translateY(-40%);
		transition: .6s;
	}
	.fnav__list__subnav__inner__wrap>h4>a:hover::after {
		right: -1.2em;
	}
	.fnav__list__subnav__inner__wrap .sub__list {
	}
	.fnav__list__subnav__inner__wrap .sub__list>li {
		margin-bottom: 20px;
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a {
		font-size: 1.6rem;
		color: #FFF;
		position: relative;
		padding-left: 1em;
	}
/* 	.fnav__list__subnav__inner__wrap .sub__list>li>a::before {
		content:"・";
	} */
	.fnav__list__subnav__inner__wrap .sub__list>li>a::before {
		content: "";
		display: inline-block;
		width: 7px;
		height: 12px;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-40%);
		transition: .6s;
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a:hover::after {
		right: -1.2em;
	}
	.fnav__list__subnav__inner__wrap .sub__list2 {
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li>a {
		color: #FFF;
		/* text-indent: -1em; */
		/* padding-left: 1em; */
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li>a::before {
		content:"‐";
	}

	.fnav__list__subnav__inner__wrap .sub__list2>li>a::after {
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		right: -1em;
		top: 50%;
		transform: translateY(-40%);
		transition: .6s;
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li>a:hover::after {
		right: -1.2em;
	}

	.pcmg30 {
		margin-bottom: 30px;
	}


	/* sp
  ---------------------------------------------------------------------- */
	#spnav,
	.hamburger {
		display: none;
	}


	/* footer
  ---------------------------------------------------------------------- */
	.footer {
		width: calc(100% - 262px);
		margin-left: auto;
		position: relative;
		background-color: #f9f9f9;
	}
	.footer__inr {
		padding: 35px 0 55px;
		position: relative;
		border-top: 2px solid #1fb17c;
	}
	.footer__inr__contents {
		position: relative;
		display: flex;
		justify-content: space-between;
		gap: 2%;
	}
	.footer__wrap {
		width: calc(100% / 3);
	}
	.footer__logo {
		width: 90.0569%;
		text-align: left;
		margin-bottom: 15px;
	}
	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}
	.footer__address {
		font-size: 1.9rem;
		letter-spacing: 0.02em;
	}
	.footer__tel {
		font-weight: 600;
		color: #4b4b4b;
		font-family: Arial, "Helvetica Neue", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", Meiryo, sans-serif;
		line-height: 1.2;
	}
	.footer__tel .telTtl {
		font-size: clamp(0.3vw, 1.5vw, 2.8rem);
	}
	.footer__tel a {
		font-size: clamp(1.8vw, 2.2vw , 3.6rem );
		letter-spacing: 0.02em;
		line-height: 1;
		color: #4b4b4b;
		pointer-events: none;
	}
	.footer__tel .telDecSmall {
		font-size: clamp(0.3vw, 1.3vw, 1.6rem);
	}
	.footer__tel a.fax {
		pointer-events: none;
	}
	#footer_search {
		padding-top: 10px;
/* 		display: flex;
		flex-direction: column;
		align-items: center; */
	}
	.footer_search {
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
	}
	.footer_search form {
		position: relative;
		display: inline-block;
		width: 100%;
		margin: 0 auto 35px;
	}
	.footer_search form input[type="text"] {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 57px;
		border: 1px solid #cccccc;
		border-radius: 10px;
		overflow: hidden;
		font-size: 1.8rem;
		padding-left: 1em;
	}
	.footer_search form input[type="submit"] {
		display: inline-block;
		width: 62px;
		height: 57px;
		background: url('/images/icon_serch.svg') center no-repeat var(--primary-color);
		background-size: 30px;
		position: absolute;
		top: 0;
		right: 0;
		border: none;
		border: 1px solid #cccccc;
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
	}
	.footer__conttact {
		display: flex;
		flex-direction: column;
		justify-content: center;
		max-width: 340px;
		height: 90px;
		/* margin: 0 auto; */
		background-color: var(--primary-color);
		color: #FFF;
		font-size: clamp(1vw, 1.6vw, 2.2rem);
		text-align: center;
		position: relative;
		border-radius: 10px;
	}
	.footer__conttact::before {
		content: "";
		display: inline-block;
		width: 32px;
		height: 18px;
		background: url('/images/icon_contact.svg') center no-repeat;
		background-size: contain;
		position: absolute;
		top: 50%;
		left: 30px;
		transform: translateY(-50%);
	}
	.footer__conttact::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 12px solid #FFF;
		border-right: 0;
		position: absolute;
		top: 50%;
		right: 30px;
		transform: translateY(-50%);
		opacity: .6;
	}
	#footer__nav {
		padding-top: 10px;
/* 		display: flex;
		flex-direction: column;
		align-items: flex-end; */
	}
	.footer_bnr {
		width: 76.7046%;
        display: flex;
        flex-direction: column;
        height: 100%;
        margin-left: auto;
	}
	.footer_bnr ul {
		/* margin-bottom: 50px */
		margin-top: auto;
	}
	.footer_bnr ul li {
		margin-bottom: 15px;
	}
	.footer_bnr ul li img {
		width: 100%;
	}
	.footer__nav {
		margin-top: auto;
		/* width: 76.7046%; */
	}
	.footer__nav ul {
		display: flex;
		gap: 50px;
	}
	.footer__nav ul li {
		/* margin-bottom: 5px; */
	}
	.footer__nav a {
		font-size: min(2vw, 1.5rem);
		/* font-size:  clamp(1.5vw , 1.3rem , 1.6rem); */
		/* font-size: 1.8rem; */
		/* padding-left: 1em; */
		position: relative;
	}
/* 	.footer__nav a::before {
		content: ">";
		font-size: 1.5rem;
		line-height: 1.5;
		font-family: serif;
		position: absolute;
		left: 0;
		top: 2px;
	} */
	.footer__conttact {

	}
	.copyright {
		font-size: 1.2rem;
		letter-spacing: 0.08em;
		color: #fff;
		background-color: var(--third-color);
		padding: 0.9em 1em;
		text-align: center;
		position: relative;
		z-index: 100;
	}


	/* quickmenu
  ---------------------------------------------------------------------- */
	#quickmenu {
		position: fixed;
		z-index: 5000;
		top: 50%;
		right: -250px;
		transform: translateY(-50%);
		width: 250px;
		border: 2px solid #5bc69f;
		background-color: #FFF;
		padding: 10px;
		transition: 0.5s;
	}
	#quickmenu.active {
		right: 0;
	}
	.btn_quickmenu {
		display: block;
		position: absolute;
		left: -54px;
		top: 0;
	}
	.btn_quickmenu::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-right: 15px solid #FFF;
		border-left: 0;
		position: absolute;
		bottom: 50px;
		left: 50%;
		transform: translateX(-50%);
	}
	#quickmenu.active .btn_quickmenu::after {
		border-left: 15px solid #FFF;
		border-right: 0;
	}
	.quickmenu_list1 {
		margin-bottom: 20px;
	}
	.quickmenu_list1 li {
		border: 1px solid #CCC;
		margin-bottom: 10px;
	}
	.quickmenu_list1 li a {
		padding: 0.3em 1.5em;
		font-size: 1.8rem;
		position: relative;
	}
	.quickmenu_list1 li:nth-child(3) {
		display: none;
	}
	.quickmenu_list1 li a::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0.2em;
	}
	.quickmenu_list1 li a.quickmenu_gn01::before {
		width: 18px;
		height: 18px;
		background: url('../images/icon_calendar.svg') center / contain no-repeat;
	}
	.quickmenu_list1 li a.quickmenu_gn02::before {
		width: 18px;
		height: 18px;
		background: url('../images/icon_clock.svg') center / contain no-repeat;
	}
	.quickmenu_list1 li a.quickmenu_gn03::before {
		width: 18px;
		height: 18px;
		background: url('../images/icon_tel_black.svg') center / contain no-repeat;
	}
	.quickmenu_list1 li a.quickmenu_gn04::before {
		width: 18px;
		height: 18px;
		background: url('../images/icon_access.svg') center / contain no-repeat;
	}
	.quickmenu_list2 {
		margin-bottom: 15px;
	}
	.quickmenu_list2 li {
		margin-bottom: 5px;
	}
	.quickmenu_list2 li a {
		padding: 0.3em 1.5em;
		font-size: 1.6rem;
		position: relative;
	}
	.quickmenu_list2 li a::before {
		content: ">";
		display: inline-block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0.2em;
	}

	.quickmenu_search form {
		position: relative;
		display: inline-block;
		width: 100%;
		margin: 0 auto ;
	}
	.quickmenu_search form input[type="text"] {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 40px;
		border: 1px solid #cccccc;
		overflow: hidden;
		font-size: 1.6rem;
		padding-left: 1em;
		padding-right: 40px;
	}
	.quickmenu_search form input[type="submit"] {
		display: inline-block;
		width: 35px;
		height: 40px;
		background: url('/images/icon_serch.svg') center no-repeat var(--primary-color);
		background-size: 20px;
		position: absolute;
		top: 0;
		right: 0;
		border: none;
		border: 1px solid #cccccc;
	}



} /* End @media (min-width: 1001px) */

/* ---------------------------------------------------------------------- */

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

	/* header
  ---------------------------------------------------------------------- */
	#mainheader {
		position: fixed;
		top: 0;
		width: 100vw;
		top: 17vw;
		z-index: 2000;
		background-color: #FAF7F4;
		opacity: 0;
		visibility: hidden;
		overflow: scroll;
		transition: opacity 0.5s , visibility 0.5s;
		padding-bottom: 17vw;
	}

	.open #mainheader {
		/* height: calc(100dvh - 17vw); */
		height: calc(100vh - 17vw);
		opacity: 1;
		background-color: #1fb17c;
		visibility: visible;
		overflow: scroll;
	}

    #mainheader::-webkit-scrollbar {
        display: none;
    }

	#mainheader .logo_wrap {
		margin-bottom: 10vw;
	}

	#mainheader .logo {
		height: 100%;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 2vw;
	}

	#mainheader .logo a {
		display: flex;
		justify-content: center;
		margin: 0 auto;
		width: 68vw;
		height: 100%;
		transition: none;
	}

	#mainheader .logo a img {
		width: auto;
		transform: rotate(0.0001deg);
	}

	.mainheader__inr {
		padding: 8vw 0 4vw;
		height: 100%;
		width: 89.33334vw;
		margin: 0 auto;
		overflow-y: auto;
		/* padding-bottom: 17vw; */
	}
    .mainheader__inr::-webkit-scrollbar {
        display: none;
    }
    .fnav__list>li {
    	position: relative;
    }
	.fnav__list>li>a {
		/* font-size: 3.733334vw; */
		font-size: 4vw;
		color: #FFF;
		letter-spacing: 0.08em;
		font-weight: bold;
		display: block;
		line-height: 1.5;
		padding: 0.6em 1.5em 0.6em 1em;
		position: relative;
		border-top: 1px solid rgba(255, 255, 255, .4);
        /* background: linear-gradient(to bottom, #fbfbfb 0%, #fff 50%, #fff 50%, #f7f7f7 100%); */
	}
	.fnav__list>li.last>a {
		border-bottom: 1px solid rgba(255, 255, 255, .4);
	}
	.fnav__list>li>a:hover {
		opacity: 1;
	}
	.fnav__list>li>a::after {
		content: "";
		display: inline-block;
		width: 4vw;
		height: 4vw;
		background: url('/images/icon_plus_white.svg') center no-repeat ;
		background-size: contain;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 2vw;
	}
	.fnav__list>li>a.noarrow::after {
		display: none;
	}
	.fnav__list>li>a.active::after {
		content: "";
		background: url('/images/icon_minus_white.svg') center no-repeat ;
	}
	.fnav__list>li>a>span {
		display: block;
		color: #1EA264;
		font-size: 1.8rem;
		letter-spacing: 0.08em;
	}


	/* spnav
---------------------------------------------------------------------- */
	#spnav {
		display: flex;
		justify-content: space-between;
		height: 100%;
		width: 100%;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 20000;
		background: #ffffff;
		height: 17vw;
		border-bottom : 1px solid #1fb17c;
	}

	#spnav ul {
		display: flex;
		width: 100%;
		justify-content: flex-end;
	}

	#spnav ul li {
		text-align: center;
		position: relative;
		/* flex: 1; */
		/* width: calc(100% / 5); */
	}

	#spnav ul li:last-child {
		background: #1fb17c;
	}
	#spnav ul li a {
		display: flex;
		flex-direction: column;
		height: 100%;
		align-items: center;
		justify-content: center;
		color: #Fff;
		line-height: 1;
		font-size: 1.86667vw;
		padding: 1.5vw 2vw;
	}

	#spnav ul li {
		width: 17vw;
	}
	#spnav ul li:first-of-type {
		width: 49vw;
		/* width: 40%; */
	}
	#spnav ul li:last-of-type {
		width: 17vw;
		/* border-bottom-left-radius: 4vw; */
	}
	#spnav ul li:nth-of-type(2){
	}
	#spnav ul li:nth-of-type(4) {
		/* background-color: #8bd1e5; */
		/* background-color: #5bc69f; */
	}
	#spnav ul li:nth-of-type(2) a {
		color: #48b6d6;
	}
	#spnav ul li:nth-of-type(3) a {
		color: #ee869a;
	}
	#spnav ul li:nth-of-type(4) a {
		/* color: #5bc69f; */
		/* background-color: #FFF; */
		/* border-top-right-radius: 4vw; */
	}
	#spnav ul li:first-of-type img {
		width: 37.33334vw;
	}
	#spnav ul li:nth-of-type(2) a img ,
	#spnav ul li:nth-of-type(3) a img ,
	#spnav ul li:nth-of-type(4) a img {
		margin-top: 1vw;
		margin-bottom: 2vw;
	}
	#spnav ul li:nth-of-type(2) a img {
		width: 5.33334vw;
	}
	#spnav ul li:nth-of-type(3) a img {
		width: 4vw;
	}
	#spnav ul li:nth-of-type(4) a img {
		width: 5.6vw;
	}
	#spnav ul li:nth-of-type(2) a  > *:first-child {
		/* flex: 1;
		width: 6vw; */
	}
	#spnav ul li:nth-of-type(3) a  > *:first-child {
		/* flex: 1;
		width: 7vw; */
	}

/* 	#spnav ul li a img {
		width: 100%;
	} */

	/* hamburger
---------------------------------------------------------------------- */
	.hamburger {
		position: relative;
		width: 100%;
		height: 100%;
		flex-shrink: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 1.5vw 2vw;
		cursor: pointer;
	}

	.hamburger__inr {
		display: block;
		flex: 1;
		position: relative;
		margin-bottom: 5px;
		width: 6.5vw;
		max-width: 100%;
	}

	.hamburger__inr span {
		display: block;
		width: 100%;
		height: 2px;
		position: relative;
		background-color: #fff;
		transition: ease all .5s;
	}

	header.scroll .hamburger__inr span {
		background-color: #ffffff;
	}

	.open .hamburger__inr span {
		background-color: #ffffff;
	}

	.hamburger__inr span:nth-child(1) {
		top: 30%;
	}

	.hamburger__inr span:nth-child(2) {
		top: 49%;
	}

	.hamburger__inr span:nth-child(3) {
		top: 69%;
	}

	.open .hamburger__inr span:nth-child(1) {
		top: 53%;
		transform: rotate(45deg);
		background-color: #FFF;
	}

	.open .hamburger__inr span:nth-child(2) {
		display: none;
	}

	.open .hamburger__inr span:nth-child(3) {
		top: 50%;
		transform: rotate(-45deg);
		background-color: #FFF;
	}

	.hamburger__txt {
		color: #ffffff;
		line-height: 1;
		letter-spacing: 0;
		font-size: 2.7vw;
		text-align: center;
		transition: color 0.3s;
	}

	.open .hamburger__txt {
		color: #ffffff;
	}

	.open #spnav ul li:first-of-type {
		background-color: #fff;
	}

	.open .hamburger__txt {
		color: #FFF;
	}


	/* fnav
  ---------------------------------------------------------------------- */


	.fnav__list2 {
		margin-bottom: 4vw;
		padding-left:4vw;
	}
	.fnav__list2>li {
		margin-bottom: 0;
	}
	.fnav__list2>li:last-of-type {
		margin-bottom: 0;
	}
	.fnav__list2>li>a {
		display: inline-block;
		width: 100%;
		padding-left: 1em;
		font-size: 3.8vw;
		font-weight: normal;
		letter-spacing: 0.08em;
		line-height: 1.2;
		position: relative;
		color: var(--third-color);
	}
	.fnav__list2>li>a::before {
		content: ">";
		font-family: serif;
		position: absolute;
		left: 0;
	}
	.mainheader_search {
		margin-bottom: 4vw;
		padding-left: 1em;
	}
	.mainheader_search form {
		position: relative;
		display: inline-block;
		width: 100%;
	}
	.mainheader_search form input[type="text"] {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 8vw;
		border: 1px solid #cccccc;
		border-radius: 2vw;
		overflow: hidden;
		font-size: 1.4rem;
		padding-left: 1em;
	}
	.mainheader_search form input[type="submit"] {
		display: inline-block;
		width: 8vw;
		height: 8vw;
		background: url('/images/icon_serch_gray.svg') center no-repeat;
		background-size: 4vw;
		position: absolute;
		top: 0;
		right: 0;
		border: none;
		/* border: 1px solid #cccccc; */
		border-top-right-radius: 2vw;
		border-bottom-right-radius: 2vw;
	}
	.mainheader__tel {
		padding-left: 1rm;
	}
	.mainheader__telNumber {
		color: #005083;
		font-size: 4vw;
		line-height: 1.2;
		font-weight: bold;
		text-align: center;
	}
	.mainheader__telNumber::before {
		content: "";
		display: inline-block;
		width: 4vw;
		height: 4vw;
		background: url('/images/icon_tel_black.svg') center no-repeat;
		background-size: contain;
		position: relative;
	}

	.mainheader__address {
		color: #005083;
		font-size: 3.33334vw;
		font-weight: normal;
		text-align: center;
	}


	/* fnav__list_subnav
  ---------------------------------------------------------------------- */
	.fnav__list_subnav {
	    display: none;
	    width: 100%;
	    /* background-color: rgba(93, 189, 164, 1); */
	    color: #FFF;
	    overflow: visible;
	    padding: 4vw;
	}
	.fnav__list_subnav.gn04In {
		background-color: rgba(102, 170, 215, 1);
/* 		width: 100vw;
		position: relative;
		left : -5.5vw;
		padding-left: 10vw; */
	}
	.fnav__list_subnav.gn06In {
		background-color: rgba(102, 170, 215, 1);
/* 		width: 100vw;
		position: relative;
		left : -5.5vw;
		padding-left: 10vw; */
	}
	.fnav__list_subnav::before {
	    /* content: "";
	    position: absolute;
	    top: 0;
	    left: -20px;
	    width: 20px;
	    height: 100%;
	    background: transparent; */
	}
	.fnav__list_subnav::after {
		/* content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 16px solid transparent;
		border-bottom: 16px solid transparent;
		border-right: 12px solid rgba(93, 189, 164, .85);
		border-left: 0;
		position: absolute;
		left: -10px;
		top: 180px; */
	}
	.fnav__list_subnav h3 {
		font-size: 3.73334vw;
		font-weight: bold;
		width: fit-content;
		color: rgba(255, 255, 255, 0.6);
		margin-bottom: 4vw;
	}
	.fnav__list_subnav h3 a {
		font-size: 3.73334vw;
		font-weight: bold;
		padding-left: 1em;
		position: relative;
		color: rgba(255, 255, 255, 1.0);
	}
	.fnav__list_subnav h3 a::before {
		content: "";
		display: inline-block;
		width: 3vw;
		height: 3vw;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.fnav__list__subnav__inner {
		/* display: flex;
		justify-content: space-between; */
		margin-bottom: 6vw;
	}
	.fnav__list__subnav__inner__wrap {
		margin-bottom: 8vw;
	}
	.fnav__list__subnav__inner__wrap>h4 {
		color: rgba(255, 255, 255, .6);
		font-size: 3.73334vw;
		margin-bottom: 2vw;
	}
	.spmg8 {
		margin-bottom: 8vw;
	}
	.fnav__list__subnav__inner__wrap>h4>a {
		color: #FFF;
		position: relative;
		padding-right: 1em;
		padding-left: 1em;
		display: inline-block;
		width: fit-content;
		margin: 0 auto;
	}
	.fnav__list__subnav__inner__wrap>h4>a::after {
		content: "";
		display: inline-block;
		width: 2vw;
		height: 2vw;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-40%);
		/* transition: .6s; */
	}
	.fnav__list__subnav__inner__wrap .sub__list {
		display: flex;
		flex-direction: column;
		/* flex-wrap: wrap; */
		gap: 2%;
	}
	.fnav__list__subnav__inner__wrap .sub__list>li {
		font-size: 3.73334vw;
		margin-bottom: 2.5vw;
		padding-left: 1em;
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a {
		color: #FFF;
		padding-left: 1em;
		display: inline-block;
		position: relative;
		width: 100%;
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a::before {
		/* content:"・"; */
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a::before {
		content: "";
		display: inline-block;
		width: 2.5vw;
		height: 2.5vw;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-40%);
		/* transition: .6s; */
	}
	.fnav__list__subnav__inner__wrap .sub__list2 {
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li {
		font-size: 3.8vw;
		margin-bottom: 2.5vw;
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li>a {
		color: #FFF;
		/* text-indent: -1em; */
		/* padding-left: 1em; */
		position: relative;
		padding-right: 1em;
		display: inline-block;
		width: 100%;
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li>a::before {
		content:"‐";
	}
	.fnav__list__subnav__inner__wrap .sub__list2>li>a::after {
		content: "";
		display: inline-block;
		width: 2.5vw;
		height: 2.5vw;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
		position: absolute;
		right: 2vw;
		top: 50%;
		transform: translateY(-40%);
		/* transition: .6s; */
	}



	/* mainheader_search_sp
  ---------------------------------------------------------------------- */
	  .mainheader_search_sp {
	 }
	  .mainheader_search_sp .mainheader_search {
	  	width: 80vw;
	  	margin: 0 auto 8vw;
	  	padding-left: 0;
  	}
	.mainheader_search_sp .mainheader_search form input[type="text"] {
	    display: inline-block;
	    position: relative;
	    width: 100%;
	    height: 10.66667vw;
	    border: 1px solid #FFF;
	    border-radius: 1.33334vw;
	    overflow: hidden;
	    font-size: 1.4rem;
	    padding-left: 1em;
	    padding-right: 12vw;
	}
	.mainheader_search_sp .mainheader_search form input[type="submit"] {
	    display: inline-block;
	    width: 10.66667vw;
	    height: 10.66667vw;
	    background: url('/images/icon_serch_green.svg') center no-repeat #bae7d6;
	    background-size: 5.33334vw;
	    position: absolute;
	    z-index: 10;
	    top: 0;
	    right: 0;
	    border: 1px solid #FFF;
	    border-top-right-radius: 1.33334vw;
	    border-bottom-right-radius: 1.33334vw;
	}


	/* gairai__address_sp
  ---------------------------------------------------------------------- */
  #gairai__address_sp {
  	margin-top: 7.33334vw;
  	border-radius: 1.33334vw;
  	background-color: #FFF;
  	padding: 6vw 4.66667vw;
  }
/*   #gairaiInfo .txtArea {
    margin-bottom: 10vw;
  } */
  #gairai__address_sp .top__gairai__Logowrap {
    margin-bottom: 4vw;
  }
  #gairai__address_sp .top__gairai__Logowrap .top__gairai__logo {
    width: 53.33334vw;
    text-align: center;
    margin: 0 auto 2.66667vw;
  }
  #gairai__address_sp .top__gairai__logo a ,
  #gairai__address_sp .top__gairai__logo img {
    display: block;
    width: 100%;
  }
  #gairai__address_sp .top__gairai__tel {
    font-weight: 600;
    color: #4b4b4b;
    font-family: Arial, "Helvetica Neue", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", Meiryo, sans-serif;
    text-align: center;
  }
  #gairai__address_sp .top__gairai__tel .telTtl {
  }
  #gairai__address_sp .top__gairai__tel a {
    font-size: 2.3rem;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #4b4b4b;
    /* pointer-events: none; */
  }
  #gairai__address_sp .top__gairai__address {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
  }
  #gairai__address_sp .top__gairai__time {
    color: var(--secondary-color);
    margin-bottom: 6vw;
  }
  #gairai__address_sp .top__gairai__time .ch4_1 {
  	font-size: calc( ( 36 / 750 ) * 100vw);
  }
  #gairai__address_sp .top__gairai__time .youbi {
    letter-spacing: normal;
    margin-bottom: 2vw;
    font-weight: bold;
  }
  #gairai__address_sp .top__gairai__time .hosoku {
    font-size: 1.3rem;
    margin-bottom: 1vw;
  }
  #gairai__address_sp .top__gairai__time .hosoku span {
    font-size: 2.53334vw;
  }
  #gairai__address_sp .top__gairai__time .cbtn {
    margin: 4vw auto 2vw;
    padding-left: 1.5em;
  }
  #gairai__address_sp .top__gairai__time .youbi_small {
    text-align: center;
    font-size: 1.15rem;
    font-weight: bold;
  }
  #gairai__address_sp .top__gairai__Dayoff p {
    padding-left: 1.25em;
    font-weight: bold;
    color: var(--secondary-color);
  }
  .top__gairai__Dayoff .ch4_1 {
  	font-size: calc( ( 36 / 750 ) * 100vw);
  }


	/* footer
  ---------------------------------------------------------------------- */
	.footer {
		position: relative;
		background-color: #f9f9f9;
	}

	.footer__inr {
		position: relative;
		padding: 10vw 0 0;
		border-top: 2px solid #1fb17c;
	}

	.footer__inr__contents {
		display: flex;
		flex-direction: column;
	}
	#footer_search {
		order: 10;
	}
	#footer__address {
		order: 20;
		margin-bottom: 10vw;
	}
	#footer__nav {
		order: 30;
	}
	.footer__wrap {
		width: 100%;
		margin: 0 auto 6vw;
		color: #4b4b4b;
	}

	.footer__logo {
		width: 60vw;
		margin:0 auto 4vw;
	}

	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}

	.footer__address {
		font-size: 1.3rem;
		line-height: 1.5;
		letter-spacing: 0.02em;
		text-align: center;
		margin-bottom: 3vw;
	}

	.footer__tel {
		font-size: 1.6rem;
		font-weight: 500;
		text-align: center;
		display: flex;
		flex-direction: column;
		/* justify-self: anchor-center; */
		width: fit-content;
		margin: 0 auto;
	}

	.footer__tel .telTtl {
		font-weight: bold;
	}

	.footer__tel a {
		font-size: 2.6rem;
		font-weight: bold;
		letter-spacing: 0.02em;
		line-height: 1;
		color: #4b4b4b;
	}
	.footer__tel .telDecSmall {
		font-weight: bold;
	}
	.footer__tel a.fax {
		pointer-events: none;
	}

	.footer__nav {
		/* display: none; */
	}

	#footer_search {
		display: flex;
		flex-direction: column;
		align-items: center
	}
	.footer_search {
	}
	.footer_search form {
		position: relative;
		display: inline-block;
		width: 60vw;
		margin: 0 auto 4vw;
	}
	.footer_search form input[type="text"] {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 8vw;
		border: 1px solid #cccccc;
		border-radius: 1vw;
		overflow: hidden;
		font-size: 1.6rem;
		padding-left: 1em;
	}
	.footer_search form input[type="submit"] {
		display: inline-block;
		width: 8vw;
		height: 8vw;
		background: url('/images/icon_serch.svg') center no-repeat var(--primary-color);
		background-size: 1.2rem;
		position: absolute;
		top: 0.4vw;
		right: 0;
		border: none;
		border: 1px solid #cccccc;
		border-top-right-radius: 1vw;
		border-bottom-right-radius: 1vw;
	}
	.footer__conttact {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 80vw;
		height: 21.33334vw;
		margin: 0 auto;
		background-color: var(--primary-color);
		color: #FFF;
		font-size: 1.6rem;
		text-align: center;
		position: relative;
		border-radius: 1.33334vw;
	}
	.footer__conttact::before {
		content: "";
		display: inline-block;
		width: 4.66667vw;
		height: 3.33334vw;
		background: url('/images/icon_contact.svg') center no-repeat;
		background-size: contain;
		position: absolute;
		top: 50%;
		left: 6.66667vw;
		transform: translateY(-50%);
	}
	.footer__conttact::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 1.33334vw solid transparent;
		border-bottom: 1.33334vw solid transparent;
		border-left: 1.6vw solid #FFF;
		border-right: 0;
		position: absolute;
		top: 50%;
		right: 6.66667vw;
		transform: translateY(-50%);
		opacity: .6;
	}
	#footer__nav {
		display: flex;
		flex-direction: column-reverse;
		margin-bottom: 10vw;
	}
	.footer__nav ul {
		letter-spacing: 0.05em;
		font-weight: 500;
		margin-bottom: 4vw;
	}
	.footer_bnr {
		width: 52vw;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
	}
	.footer_bnr ul li {
		margin-bottom: 2vw;
	}
	.footer__nav {
		margin: 0 auto;
		margin-top: 8vw;
	}
	.footer__nav ul {
		display: flex;
		justify-content: space-around;
		/* flex-direction: column; */
		/* justify-self: anchor-center; */
	}
	.footer__nav li {
		line-height: 1.5;
	}
	.footer__nav a {
		font-size: 1.4rem;
		/* padding-left: 1em; */
		position: relative;
	}
	.footer__nav a::before {
		/* content: ">";
		font-size: 3vw;
		font-family: serif;
		position: absolute;
		left: 0;
		top: 0.8vw; */
	}
	.footer__conttact {

	}

	.copyright {
		/* font-size: 1.2rem; */
		font-size: 0.7rem;
		letter-spacing: 0.08em;
		color: #fff;
		background-color: var(--third-color);
		padding: 1.2em 0;
		text-align: center;
	}


	/* quickmenu
  ---------------------------------------------------------------------- */
	#quickmenu {
		width: 100vw;
		position: fixed;
		left: calc(50% - 50vw);
		bottom: -65vw;
		/* margin: 6vw auto; */
		z-index: 1000;
		transition: 0.5s;
	}
	#quickmenu.active {
		bottom: 0;
		z-index: 1600;
	}
	.btn_quickmenu {
		display: block;
		position: relative;
	}
	.btn_quickmenu::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 2.13334vw solid transparent;
		border-left: 2.13334vw solid transparent;
		border-bottom: 3.73334vw solid #ffffff;
		border-top: 0;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 16vw;
	}
	#quickmenu.active .btn_quickmenu::after {
		border-top: 3.73334vw solid #ffffff;
		border-bottom: 0;
	}
	.btn_quickmenu:hover {
		opacity: 1;
	}
	#quickmenu .quickmenu_inner_sp {
		/* display: none; */
		border: 2px solid #5bc69f;
		background-color: #5bc69f;
		padding: 4vw;
	}
	#quickmenu .quickmenu_side {
		border-radius: 4vw;
		padding: 4vw;
		background-color: #f0fcfd;
	}
	.quickmenu_list1 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.quickmenu_list1 li {
		width: 49%;
		border: 1px solid #CCC;
		margin-bottom: 2vw;
	}
	.quickmenu_list1 li:nth-last-child(1) ,
	.quickmenu_list1 li:nth-last-child(2) {
		margin-bottom: 0;
	}
	.quickmenu_list1 li a {
		padding: 0.3em 1.2em;
		font-size: 3.33334vw;
		position: relative;
		display: block;
		background-color: #FFF;
	}
	.quickmenu_list1 li a::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0.2em;
	}
	.quickmenu_list1 li a.quickmenu_gn01::before {
		width: 2.5vw;
		height: 2.5vw;
		background: url('../images/icon_calendar.svg') center / contain no-repeat;
	}
	.quickmenu_list1 li a.quickmenu_gn02::before {
		width: 2.5vw;
		height: 2.5vw;
		background: url('../images/icon_clock.svg') center / contain no-repeat;
	}
	.quickmenu_list1 li a.quickmenu_gn03::before {
		width: 2.5vw;
		height: 2.5vw;
		background: url('../images/icon_tel_black.svg') center / contain no-repeat;
	}
	.quickmenu_list1 li a.quickmenu_gn04::before {
		width: 2.5vw;
		height: 2.5vw;
		background: url('../images/icon_access.svg') center / contain no-repeat;
	}
	.quickmenu_list2 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 2vw;
	}
	.quickmenu_list2 li {
		width: 48%;
		margin-bottom: 1vw;
		line-height: 1.2;
	}
	.quickmenu_list2 li:nth-last-child(1) ,
	.quickmenu_list2 li:nth-last-child(2) {
		margin-bottom: 0;
	}
	.quickmenu_list2 li a {
		padding: 0 1.2em;
		font-size: 3.33334vw;
		position: relative;
	}
	.quickmenu_list2 li a::before {
		content: ">";
		display: inline-block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0.2em;
	}

	.quickmenu_search form {
		position: relative;
		display: inline-block;
		width: 100%;
		margin: 0 auto ;
	}
	.quickmenu_search form input[type="text"] {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 8vw;
		border: 1px solid #cccccc;
		overflow: hidden;
		font-size: 3.33334vw;
		padding-left: 1em;
		padding-right: 8vw;
	}
	.quickmenu_search form input[type="submit"] {
		display: inline-block;
		width: 8vw;
		height: 8vw;
		background: url('/images/icon_serch.svg') center no-repeat var(--primary-color);
		background-size: 4vw;
		position: absolute;
		top: 0.6vw;
		right: 0;
		border: none;
		border: 1px solid #cccccc;
	}


} /* End @media (max-width:1000px) */