@charset "UTF-8";


/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

	/* header
  ---------------------------------------------------------------------- */
	#header-area {
		position: fixed;
		z-index:10000;
		width: 100%;
		height: 100px;
		overflow: hidden;
		background-color: var(--bg-primary-color);
		transition: .3s;
		box-shadow: 0 10px 10px rgba(0,0,0,.025);
	}
	#header-area.scroll {
		height: 90px;
	}
	#header-area::-webkit-scrollbar {
		display: none;
	}
	#mainheader {
		width: 100%;
		height: 100%;
		z-index: 1000;
	}
	#mainheader .mainheader__inr {
		z-index: 9999;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100%;
		padding: 0 40px;
	}
	#mainheader .logo_wrap {
	}
	#mainheader .logo {
		height: 100%;
		max-width: min( 22vw , 344px);
		position: relative;
		/* background-color: #FFF; */
	}
	#mainheader .logo a {
		display: block;
		/* padding: 15px; */
		position: relative;
	}
	#mainheader .logo a img {
		max-width: 100%;
		width: 344px;
		height: auto;
		display: block;
		transition: opacity 0.6s ease;
	}
	#mainheader .logo a img.logo-hover {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
	}
	#mainheader .logo a:hover img.logo-hover {
		opacity: 1;
	}
	#mainheader .logo a:hover img.logo-default {
		opacity: 0;
	}



	/* fnav
  ---------------------------------------------------------------------- */

	.fnav__list {
		display: flex;
		align-items: center;
		gap: 0 1.5em;
		/* gap: 0 0.8em; */
	}
	.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: min(1vw , 1.6rem);
		/* font-size: min(1.28572vw , 1.8rem); */
		font-weight: 500;
		letter-spacing: 0.08em;
		line-height: 1.2;
		position: relative;
		/* background-color: #FFF; */
	}
	.fnav__list>li>a:hover {
		color: #ee6da8;
	}

	/* .fnav__list>li:hover>a {
		background-color: #1fb17c;
		opacity: 1;
	} */
	/* .gn01 ,
	.gn02 ,
	.gn03 {
		color: var(--primary-color);
	}
	.gn04 {
	}
	.fnav__list>li:hover>a.gn04 {
	}
	.gn05 {
	} */
	/* .fnav__list>li:hover>a.gn05 {
	}*/
	.gn07 {
		color: #fff;
		/* background-color: #ee6da8; */
		border-radius: 64px;
		padding: 14px 2.3vw;
		cursor: pointer;
		white-space: nowrap;
		transition: 0.3s all ease;
		position: relative;
		z-index: 1;
	}
	.gn07::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-color: #ee6da8;
		position: absolute;
		inset: 0;
		border-radius: 64px;
		transition: transform 0.3s ease;
		z-index: -1;
	}
	.fnav__list>li>a.gn07:hover {
		color: #FFF;
	}
	.gn07:hover::before {
		transform: scale(1.1);
	}
	.fnav__list>li>a.gn07::after {
		display: none;
	}
	/*.fnav__list>li:hover>a.gn06 {
	}
	.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: 100%;
		position: relative;
		background-color: #828282;
		color: #FFF;
	}
	.footer__inr {
		padding: 95px 0 40px;
		position: relative;
	}
	.footer__inr__contents {
		position: relative;
		display: flex;
		justify-content: space-between;
		gap: 2%;
	}
	.footer__wrap {
		width: calc(100% / 2);
	}
	.footer__logo {
		width: 55.07937%;
		text-align: left;
		margin-bottom: 15px;
	}
	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}
	.footer__movie {
		width: 460px;
		margin-left: auto;
		text-align: center;
	}
	.footer__movie__copy ,
	.footer__movie__note {
		text-align: center;
	}
	.footer__movie__copy {
		font-size: 1.8rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.5;
		margin-bottom: 15px;
	}
	.footer__movie__note {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-bottom: 10px;
		text-align: right;
	}
	.footer__movie__video {
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 20px;
		overflow: hidden;
		background-color: #000;
		margin-bottom: 10px;
	}
	.footer__movie__video video {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.footer__address {
		font-size: 1.9rem;
		letter-spacing: 0.02em;
		padding-bottom: 30px;
        margin-bottom: 30px;
		border-bottom: #FFF 1px solid;
	}
	.footer__address .hp__name {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}
	.footer__address .hp__address {
		font-size: 1.6rem;
	}
	.footerNotice {
		margin-bottom: 30px;
	}
	.footer__tel {
		line-height: 1.2;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.footer__tel .footer__tel__box {
		margin-bottom: 30px;
	}
	.footer__tel .footer__tel__box h4 {
		width: fit-content;
		padding: 0.1em 0.5em 0.2em;
		font-size: 1.6rem;
		line-height: 1;
		border: 1px solid #FFF;
		margin-bottom: 10px;
	}
	.footer__tel .f__phone {
		font-size: clamp(1.8vw, 2.2vw , 3.6rem );
		font-family: "Montserrat", sans-serif;
		letter-spacing: 0.02em;
		line-height: 1;
		pointer-events: none;
	}
	.footer__tel .f__fax {
		font-size: clamp(1.8vw, 2.2vw , 3.6rem );
		font-family: "Montserrat", sans-serif;
		letter-spacing: 0.02em;
		line-height: 1;
	}
	.footer__tel__box {
		width: 48%;
	}
	.footer__tel #f__daihyo {
		order: 10;
	}
	.footer__tel #f__chiki {
		order: 20;
	}
	.footer__tel #f__gairai__only {
		order: 30;
	}
	.footer__tel #f__BKP {
		order: 40;
	}
	.footer__tel__box .f__phone ,
	.footer__tel__box .f__fax {
		position: relative;
		padding-left: 40px;
	}
	.footer__tel__box .f__phone {
		display: block;
		margin-bottom: 10px;
	}
	.footer__tel__box .f__phone::before {
		content: "";
		display: inline-block;
		width: 30px;
		height: 30px;
		background: url("../images/icon_phone.svg") center no-repeat;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 0.16em;
	}
	.footer__tel__box .f__fax::before {
		content: "";
		display: inline-block;
		width: 30px;
		height: 30px;
		background: url("../images/icon_fax.svg") center no-repeat;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 0.1em;
	}



	#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__contact__link {
		margin-bottom: 5px;
	}
	.footer__conttact {
		display: flex;
		flex-direction: column;
		justify-content: center;
		max-width: 340px;
		height: 70px;
		/* 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;
		flex-wrap: wrap;
		gap: 5px 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: #828282;
		padding: 0.9em 1em;
		text-align: right;
		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: #ee6da8;
		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: var(--bg-primary-color);
		height: 21.33334vw;
	}

	#spnav ul {
		display: flex;
		width: 100%;
		justify-content: flex-end;
		align-items: center;
	}

	#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: 45.86667vw;
		/* width: 40%; */
		margin-right: 4.93334vw;
	}
	#spnav ul li:last-of-type {
		width: 21.33334vw;
		height: 21.33334vw;
		/* border-bottom-left-radius: 4vw; */
	}
	#spnav ul li:nth-of-type(2){
		width: 24vw;
		height: 6vw;
	}
	#spnav ul li:nth-of-type(4) {
		/* background-color: #8bd1e5; */
		/* background-color: #5bc69f; */
	}
	#spnav ul li:nth-of-type(2) a {
		color: #FFF;
		font-size: 3.46667vw;
	}
	#spnav ul li:nth-of-type(2) a::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-color: #ee6da8;
		position: absolute;
		inset: 0;
		background: #ee6da8;
		border-radius: 20vw;
		transition: transform 0.3s ease;
		z-index: -1;
	}
	/* #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: 45.86667vw;
	}
	#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: 12vw;
		/* width: 6.5vw; */
		max-width: 100%;
	}

	.hamburger__inr span {
		display: block;
		width: 100%;
		height: 2px;
		position: relative;
		background-color: #595656;
		transition: ease all .5s;
	}

	header.scroll .hamburger__inr span {
		background-color: #595656;
	}

	.open .hamburger__inr span {
		background-color: #595656;
	}

	.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: #595656;
	}

	.open .hamburger__inr span:nth-child(2) {
		display: none;
	}

	.open .hamburger__inr span:nth-child(3) {
		top: 50%;
		transform: rotate(-45deg);
		background-color: #595656;
	}

	.hamburger__txt {
		color: #595656;
		line-height: 1;
		letter-spacing: 0;
		font-size: 3.46667vw;
		text-align: center;
		transition: color 0.3s;
		position: relative;
		bottom: 1.5vw;
	}

	.open .hamburger__txt {
		color: #ffffff;
	}

	.open #spnav ul li:first-of-type {
		/* background-color: #fff; */
	}

	.open .hamburger__txt {
		color: #595656;
	}


	/* 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;
  }

  #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: #828282;
		color: #FFF;
	}

	.footer__inr {
		position: relative;
		padding: 10vw 0 0;
	}

	.footer__inr__contents {
		display: flex;
		flex-direction: column;
	}
	#footer_search {
		order: 10;
	}
	#footer__address {
		order: 20;
		margin-bottom: 5vw;
	}
	#footer__nav {
		order: 30;
	}
	#footer__movie {
		order: 25;
	}
	.footer__wrap {
		width: 100%;
		margin: 0 auto 6vw;
		color: #FFF;
	}

	.footer__movie {
		width: 100%;
		text-align: center;
	}
	.footer__movie__copy ,
	.footer__movie__note {
		text-align: center;
	}
	.footer__movie__copy {
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.5;
		margin-bottom: 2vw;
	}
	.footer__movie__note {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-bottom: 3vw;
		text-align: right;
	}
	.footer__movie__video {
		width: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 4vw;
		overflow: hidden;
		background-color: #000;
		margin-bottom: 2vw;
	}
	.footer__movie__video video {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.footer__logo {
		width: 69.33334vw;
		margin-bottom: 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;
		padding-bottom: 5.33334vw;
		margin-bottom: 5.33334vw;
		border-bottom: #FFF 1px solid;
	}
	.footer__address .hp__name {
		margin-bottom: 2.66667vw;
	}
	.footer__address .hp__address {
	}
	.footerNotice {
		margin-bottom: 6.66667vw;
	}
	.footerNotice p {
		line-height: 1.5;
	}
	.footer__tel {
		font-size: 1.6rem;
		font-weight: 500;
		display: flex;
		flex-direction: column;
	}
	/* .footer__tel .telTtl {
		font-weight: bold;
	}

	.footer__tel .telDecSmall {
		font-weight: bold;
	}
	.footer__tel a.fax {
		pointer-events: none;
	} */
	.footer__nav {
		/* display: none; */
	}
	/* .footer__tel {
		line-height: 1.2;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	} */
	.footer__tel .footer__tel__box {
		margin-bottom: 5.33334vw;
	}
	.footer__tel .footer__tel__box h4 {
		width: fit-content;
		padding: 0.1em 0.3em 0.2em;
		font-size: 1.3rem;
		line-height: 1;
		border: 1px solid #FFF;
		margin-bottom: 3.33334vw;
	}
	.footer__tel .f__phone {
		font-size: 2.4rem;
		font-family: "Montserrat", sans-serif;
		letter-spacing: 0.02em;
		line-height: 1;
		color: #FFF;
		width: fit-content;
	}
	.footer__tel .f__fax {
		font-size: 2.4rem;
		font-family: "Montserrat", sans-serif;
		letter-spacing: 0.02em;
		line-height: 1;
		width: fit-content;
	}
	.footer__tel__box {
	}
	.footer__tel #f__daihyo {
		order: 10;
	}
	.footer__tel #f__chiki {
		order: 30;
	}
	.footer__tel #f__gairai__only {
		order: 20;
	}
	.footer__tel #f__BKP {
		order: 40;
	}
	.footer__tel__box .f__phone ,
	.footer__tel__box .f__fax {
		position: relative;
		padding-left: 6.26667vw;
	}
	.footer__tel__box .f__phone {
		display: block;
		margin-bottom: 2.66667vw;
	}
	.footer__tel__box .f__phone::before {
		content: "";
		display: inline-block;
		width: 4vw;
		height: 5.06667vw;
		background: url("../images/icon_phone.svg") center no-repeat;
		background-size: contain;
		position: absolute;
		left: 0.1em;
		top: 0.13em;
	}
	.footer__tel__box .f__fax::before {
		content: "";
		display: inline-block;
		width: 5.06667vw;
		height: 4.66667vw;
		background: url("../images/icon_fax.svg") center no-repeat;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 0.2em;
	}



	.footer__conttact {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 80vw;
		height: 16.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: 6vw;
	}
	.footer__nav ul {
		display: flex;
		justify-content: space-around;
		flex-direction: column;
		justify-self: anchor-center;
		gap: 2.5vw 0;
	}
	.footer__nav li {
		line-height: 1.5;
	}
	.footer__nav a {
		font-size: 1.3rem;
		/* 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: #828282;
		padding: 1.2em 0 2em;
		text-align: right;
	}


	/* 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) */

/* ======================================================================
   2026-10-02 追加：フッターメニュー／SPメニュー（アコーディオン）
   ====================================================================== */
.footer__sitemap {
	background-color: #828282;
	color: #FFF;
}
.footer__sitemap a {
	color: #FFF;
}

@media (min-width: 1001px) {
	/* SP専用サブメニューはPCでは出さない */
	.fnav__list_subnav.subnav--sp {
		display: none !important;
	}

	.footer__sitemap {
		padding: 0 0 40px;
	}
	.footer__sitemap__inr {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		padding-top: 40px;
		border-top: 1px solid rgba(255, 255, 255, .4);
	}
	.footer__sitemap__col {
		flex: 1;
	}
	.footer__sitemap__block + .footer__sitemap__block {
		margin-top: 22px;
	}
	.footer__sitemap__ttl {
		font-size: 1.6rem;
		font-weight: bold;
		letter-spacing: 0.06em;
		line-height: 1.5;
		margin-bottom: 10px;
	}
	.footer__sitemap__sub li {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-bottom: 6px;
		padding-left: 1em;
		position: relative;
	}
	.footer__sitemap__sub li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.75em;
		width: 6px;
		height: 1px;
		background-color: rgba(255, 255, 255, .7);
	}
	.footer__sitemap a:hover {
		opacity: .7;
	}
	.footer__sitemap__other {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 30px;
		margin-top: 30px;
		padding-top: 20px;
		border-top: 1px solid rgba(255, 255, 255, .4);
	}
	.footer__sitemap__other li {
		font-size: 1.3rem;
	}
}

@media (max-width: 1000px) {
	/* 子ページのない項目：＋ではなく＞ */
	.fnav__list>li>a.nochild::after {
		width: 3vw;
		height: 3vw;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
	}
	/* 子ページのある項目：＋／－（画像がないためCSSで描画） */
	.fnav__list>li.subnav__switch>a::after {
		background:
			linear-gradient(#FFF, #FFF) center / 100% 2px no-repeat,
			linear-gradient(#FFF, #FFF) center / 2px 100% no-repeat;
	}
	.fnav__list>li.subnav__switch>a.active::after {
		background: linear-gradient(#FFF, #FFF) center / 100% 2px no-repeat;
	}
	.fnav__list_subnav.subnav--sp {
		padding: 2vw 4vw 0 4vw;
	}
	.fnav__list_subnav.subnav--sp .fnav__list__subnav__inner,
	.fnav__list_subnav.subnav--sp .fnav__list__subnav__inner__wrap {
		margin-bottom: 4vw;
	}

	/* フッターメニュー：SPは大見出しのみ2列 */
	.footer__sitemap {
		padding: 0 0 6vw;
	}
	.footer__sitemap__inr {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 4vw;
		width: 89.33334vw;
		margin: 0 auto;
		padding-top: 6vw;
		border-top: 1px solid rgba(255, 255, 255, .4);
	}
	.footer__sitemap__col {
		display: contents;
	}
	.footer__sitemap__sub {
		display: none;
	}
	.footer__sitemap__ttl {
		font-size: 3.73334vw;
		font-weight: bold;
		line-height: 1.5;
		padding: 2vw 0 2vw 1em;
		position: relative;
	}
	.footer__sitemap__ttl::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 2.5vw;
		height: 2.5vw;
		background: url('/images/icon_arrrow_gt_white.svg') center / contain no-repeat;
	}
	.footer__sitemap__other {
		display: flex;
		flex-wrap: wrap;
		gap: 2vw 5vw;
		width: 89.33334vw;
		margin: 4vw auto 0;
		padding-top: 4vw;
		border-top: 1px solid rgba(255, 255, 255, .4);
	}
	.footer__sitemap__other li {
		font-size: 3.2vw;
	}
}

/* ======================================================================
   2026-10-27 追加：SPメニュー整形／フッター幅統一／フッター動画
   ====================================================================== */
/* フッター動画：中央の再生ボタン */
.footer__movie__video {
	position: relative;
}
.footer__movie__play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 72px;
	height: 72px;
	margin: -36px 0 0 -36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	cursor: pointer;
	transition: transform .3s, background-color .3s;
}
.footer__movie__play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -11px 0 0 -7px;
	border-style: solid;
	border-width: 11px 0 11px 19px;
	border-color: transparent transparent transparent #ee6da8;
}
.footer__movie__play:hover {
	transform: scale(1.08);
}
.footer__movie__video.is-playing .footer__movie__play {
	display: none;
}

/* フッター幅の統一（サイトマップの罫線をコンテンツ幅に合わせる） */
@media (min-width: 1001px) {
	.footer__sitemap__inr {
		border-top: 0;
		background: linear-gradient(rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)) 20px 0 / calc(100% - 40px) 1px no-repeat;
	}
}

@media (max-width: 1000px) {
	.footer__movie__play {
		width: 16vw;
		height: 16vw;
		margin: -8vw 0 0 -8vw;
	}
	.footer__movie__play::before {
		margin: -2.6vw 0 0 -1.6vw;
		border-width: 2.6vw 0 2.6vw 4.4vw;
	}
	/* フッター幅の統一：SPは 89.33vw（メニューと同じ余白）に揃える */
	.footer .footer__inr__contents,
	.footer .copyright .w1260,
	.footer .footer__sitemap .w1260 {
		width: 89.33334vw;
	}

	/* SPメニュー：診療科・部門などの見出しは背景なし＋左に太い縦罫線 */
	.fnav__list_subnav.subnav--sp .fnav__list__subnav__inner__wrap > h4 {
		background: none;
		color: #FFF;
		font-size: 3.73334vw;
		font-weight: bold;
		line-height: 1.4;
		padding: 0 0 0 2.4vw;
		position: relative;
		margin-bottom: 3vw;
	}

	/* SPメニュー：白いボックス（電話・受付時間・休診日）すべて左揃え */
	#gairai__address_sp {
		margin-top: 7.33334vw;
		padding: 6vw 5.33334vw 6.5vw;
		border-radius: 1.33334vw;
		background-color: #FFF;
		color: #4b4b4b;
		font-size: 3.46667vw;
		line-height: 1.7;
		text-align: left;
	}
	#gairai__address_sp small {
		font-size: 3.2vw;
		color: #777;
	}
	#gairai__address_sp .gb-sec + .gb-sec {
		margin-top: 6vw;
	}
	#gairai__address_sp .gb-sec__ttl {
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.4;
		text-align: left;
		letter-spacing: 0.04em;
		color: #ee6da8;
		padding-left: 2.13334vw;
		position: relative;
		margin-bottom: 2.66667vw;
	}
	#gairai__address_sp .gb-sec__ttl small {
		font-weight: bold;
	}
	#gairai__address_sp .gb-tel {
		line-height: 1.2;
		margin-bottom: 1vw;
	}
	#gairai__address_sp .gb-tel a {
		font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
		font-size: 6.4vw;
		font-weight: bold;
		letter-spacing: 0.02em;
		color: #4b4b4b;
	}
	#gairai__address_sp .gb-tel small {
		margin-left: 1vw;
	}
	#gairai__address_sp .gb-addr {
		font-style: normal;
	}
	#gairai__address_sp .gb-list > div {
		display: grid;
		grid-template-columns: 4.6em 1fr;
		gap: 0 2vw;
		padding: 2vw 0;
		border-bottom: 1px dotted #D8CEC6;
	}
	#gairai__address_sp .gb-list > div:first-child {
		padding-top: 0;
	}
	#gairai__address_sp .gb-list dt {
		font-weight: bold;
	}
	#gairai__address_sp .gb-list dd {
		margin: 0;
	}
	#gairai__address_sp .gb-text {
		text-align: left;
		letter-spacing: normal;
	}
}

/* SPメニュー：見出しの縦罫線を細く・短く（20261027） */
@media (max-width: 1000px) {
	.fnav__list_subnav.subnav--sp .fnav__list__subnav__inner__wrap > h4::before,
	#gairai__address_sp .gb-sec__ttl::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		width: 0.8vw;
		height: 0.9em;
		transform: translateY(-50%);
		border-radius: 1px;
		background-color: #FFF;
	}
	#gairai__address_sp .gb-sec__ttl::before {
		background-color: #ee6da8;
	}
}

/* フッターの罫線を上部（住所下の線：白1px）に統一（20261027） */
.footer__sitemap__other {
	border-top-color: #FFF;
}
@media (min-width: 1001px) {
	.footer__sitemap__inr {
		background: linear-gradient(#FFF, #FFF) 20px 0 / calc(100% - 40px) 1px no-repeat;
	}
}
@media (max-width: 1000px) {
	.footer__sitemap__inr {
		border-top-color: #FFF;
	}
}

/* フッター動画の見出しに枠（電話番号ラベルと同じ白1px）（20261027） */
.footer__movie__copy {
	display: table;
	margin-left: auto;
	margin-right: auto;
	padding: 0.2em 1em;
	border: 1px solid #FFF;
	line-height: 1.4;
}

/* サイト内検索（No.5）（20261027） */
.mainheader_search form input[type="submit"] {
	cursor: pointer;
	background-image: url('/images/icon_search_gray.svg');
}
@media (min-width: 1001px) {
	#mainheader .mainheader_search--pc {
		margin: 0 0 0 18px;
		padding: 0;
		align-self: center;
		order: 2;
	}
	#mainheader .mainheader_search--pc form {
		width: 190px;
	}
	#mainheader .mainheader_search--pc input[type="text"] {
		font-family: inherit;
		color: #595656;
		height: 36px;
		border-radius: 18px;
		padding: 0 40px 0 14px;
		font-size: 14px;
		background: #FFF;
	}
	#mainheader .mainheader_search--pc input[type="submit"] {
		height: 36px;
		width: 40px;
		background-size: 17px;
	}
}
@media (max-width: 1000px) {
	.mainheader_search_sp .mainheader_search {
		width: 100%;
		margin: 0 0 6vw;
	}
	.mainheader_search_sp .mainheader_search form input[type="text"] {
		font-family: inherit;
		color: #595656;
		background: #FFF;
		border-radius: 999px;
		padding-left: 1.2em;
	}
	.mainheader_search_sp .mainheader_search form input[type="submit"] {
		background: url('/images/icon_search_pink.svg') center / 5.33334vw no-repeat transparent;
		border: none;
	}
}
/* PCで幅が狭いとき（1001〜1279px）は虫眼鏡だけ表示し、押すと入力欄が開く */
@media (min-width: 1001px) and (max-width: 1365px) {
	#mainheader .mainheader_search--pc {
		margin-left: 10px;
	}
	#mainheader .mainheader_search--pc form {
		width: 38px;
		height: 36px;
	}
	#mainheader .mainheader_search--pc input[type="text"] {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		width: 38px;
		padding: 0;
		cursor: pointer;
		transition: width .3s;
	}
	#mainheader .mainheader_search--pc input[type="text"]::placeholder {
		color: transparent;
	}
	#mainheader .mainheader_search--pc input[type="text"]:focus {
		width: 230px;
		padding: 0 40px 0 14px;
		cursor: text;
	}
	#mainheader .mainheader_search--pc input[type="text"]:focus::placeholder {
		color: #999;
	}
	#mainheader .mainheader_search--pc input[type="submit"] {
		z-index: 2;
		width: 38px;
	}
	#mainheader .mainheader_search--pc form:not(:focus-within) input[type="submit"] {
		pointer-events: none;
	}
}
.mainheader_search form input[type="text"]:focus {
	outline: none;
	border-color: #ee6da8;
}
/* ナビゲーションを右寄せにして、検索欄のすぐ左に並べる */
@media (min-width: 1001px) {
	#mainheader .mainheader__inr > .fnav__list:not(.for_sp) {
		margin-left: auto;
	}
}
/* SPメニュー白ボックス：PCの表記に合わせた電話・受付時間（20261028） */
@media (max-width: 1000px) {
	#gairai__address_sp .gb-list > div {
		grid-template-columns: 6.5em 1fr;
		align-items: baseline;
	}
	#gairai__address_sp .gb-list a.gb-tel {
		font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
		font-size: 4.8vw;
		font-weight: bold;
		letter-spacing: 0.02em;
		color: #4b4b4b;
		line-height: 1.3;
	}
	#gairai__address_sp .gb-addr {
		display: block;
		margin-top: 2.5vw;
		font-size: 3.2vw;
		color: #6b6b6b;
	}
}

/* ======================================================================
   20261030：ヘッダー（検索・X・Instagram をナビ内へ）／フッター罫線の余白統一
   ====================================================================== */
@media (min-width: 1001px) {
	/* 並び順：…医療機関の方へ → サイト内検索 → X・Instagram → アクセス */
	#mainheader .fnav__list > li.header_search,
	#mainheader .fnav__list > li.header_sns {
		display: flex;
		align-items: center;
		height: 36px;
	}
	#mainheader .fnav__list > li.header_search .mainheader_search--pc {
		order: 0;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
	}
	#mainheader .fnav__list > li.header_search .mainheader_search--pc form {
		display: block;
		position: relative;
		height: 36px;
	}
	#mainheader .fnav__list > li.header_sns {
		gap: 8px;
	}
	#mainheader .fnav__list > li.header_sns > a.header_sns__link {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 36px;
		width: 36px;
		height: 36px;
		border: 1px solid #ccc;
		border-radius: 50%;
		background: #FFF;
		color: #595656;
		transition: color .3s, border-color .3s;
	}
	#mainheader .fnav__list > li.header_sns > a.header_sns__link:hover {
		color: #ee6da8;
		border-color: #ee6da8;
	}
	#mainheader .fnav__list > li.header_sns > a.header_sns__link svg {
		display: block;
	}
}
/* フッターの罫線から文字までを30pxに統一（見た目の文字上端まで） */
@media (min-width: 1001px) {
	.footer__address { margin-bottom: 25px; }
	.footer__sitemap__inr { padding-top: 28px; }
	.footer__sitemap__other { padding-top: 26px; }
}
@media (max-width: 1000px) {
	.footer__address { margin-bottom: calc(5.33334vw + 6px); }
	.footer__sitemap__inr { padding-top: calc(6vw - 5px); }
	.footer__sitemap__other { padding-top: calc(4vw + 10px); }
}

/* ヘッダー幅の調整（項目が増えた分の余白確保） */
@media (min-width: 1001px) {
	#mainheader .fnav__list > li > a:not(.header_sns__link) {
		white-space: nowrap;
	}
}
@media (min-width: 1001px) and (max-width: 1279px) {
	#mainheader .mainheader__inr {
		padding: 0 24px;
	}
	#mainheader .mainheader__inr > .fnav__list:not(.for_sp) {
		gap: 0 1em;
	}
	#mainheader .fnav__list > li.header_sns {
		gap: 6px;
	}
}
@media (min-width: 1366px) {
	#mainheader .mainheader__inr > .fnav__list:not(.for_sp) {
		gap: 0 1.1em;
	}
	#mainheader .fnav__list > li.header_search .mainheader_search--pc form {
		width: 150px;
	}
}
@media (max-width: 1000px) {
	.footer__address { margin-bottom: calc(5.33334vw + 7px); }
	.footer__sitemap__inr { padding-top: calc(6vw - 4px); }
	.footer__sitemap__other { padding-top: calc(4vw + 11px); }
}

/* フッター：公式SNS（X・Instagram）をお問い合わせ先エリアの右下に（20261030） */
.footer__sns {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.footer__sns__link {
	display: block;
	line-height: 0;
	transition: opacity .3s;
}
.footer__sns__link:hover {
	opacity: .7;
}
.footer__sns__link img {
	display: block;
	width: 32px;
	height: 32px;
}
@media (min-width: 1001px) {
	#footer__movie {
		display: flex;
		flex-direction: column;
	}
	#footer__movie .footer__sns {
		margin-top: auto;
		margin-bottom: 40px;
		gap: 28px;
	}
}
@media (max-width: 1000px) {
	#footer__movie .footer__sns {
		margin-top: 4vw;
		gap: 24px;
	}
}
