@charset "UTF-8";


/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

	/* header
  ---------------------------------------------------------------------- */
 	#header-area {
		position: fixed;
		z-index:10000;
		top: 0;
		left: 0;
		width: 100%;
		height: 70px;
		background-color: var(--third-color);
		padding: 8px 20px;
	}
	#mainheader {
	}
	#mainheader .mainheader__inr {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#mainheader .logo_wrap {
		display: flex;
		align-items: center;
	}
	#mainheader .logo {
		max-width: 160px;
		position: relative;
		margin-right: 25px;
	}
	#mainheader .logo a {
		display: block;
	}
	#mainheader .logo a img {
		width: 100%;
		height: auto;
	}
	#mainheader .heder_c_copy p {
		font-size: min( 0.9375vw , 1.2rem);
		font-weight: bold;
		color: var(--secondary-color);
	}


	/* fnav
  ---------------------------------------------------------------------- */

	.fnav__list {
		display: flex;
		align-items: center;
		/* gap: 20px; */
		gap: 2.5em;
	}
	.fnav__list>li {
		width: fit-content;
		position: relative;
	}
/* 	.fnav__list>li::after {
		content: "";
		width: 1px;
		height: 40px;
		background-color: #c1c1c1;
		position: absolute;
		right: 0;
		top: 10px;
	} */
	/* .fnav__list>li:first-child::before {
		content: "";
		width: 1px;
		height: 40px;
		background-color: #c1c1c1;
		position: absolute;
		left: 0;
		top: 10px;
	} */
	.fnav__list>li>a {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		text-align: left;
		width: 100%;
		height: 100%;
		font-size: min( 1.25vw , 1.6rem);
		font-weight: bold;
		letter-spacing: 0.08em;
		line-height: 1.2;
		position: relative;
		color: var(--primary-color);
		padding: 10px 0;
	}
	/* .fnav__list>li:hover>a {
		opacity: 1;
		transition: 1s;
		background-color: rgba(128, 2, 2, .15);
	} */
	/* .fnav__list>li>a.active{
		background-color: rgba(128, 2, 2, .15);
	} */
	/* .fnav__list>li>a>span {
		font-size: 1.2rem;
		color: #666666;
	} */
	.gn01 ,
	.gn02 ,
	.gn03 {
	}
	.gn04 {
	}
	.gn05 {
	}

	.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-right: 10px solid transparent;
			border-left: 10px solid transparent;
			border-bottom: 18px solid #800202;
			border-top: 0;
	        position: absolute;
	        left: 50%;
	        transform: translateX(-50%);
	        bottom: -5px;
	        transition: 1s; */
	}

	.fnav__list li.last {

	}
	.fnav__list li.last a {
		display: inline-block;
		line-height: 3;
		color: #FFF;
		padding: 0 1em;
		background-color: var(--bg-fourth-color);
		border-radius: 100px;
	}




	/* fnav__list_subnav
  ---------------------------------------------------------------------- */
	.fnav__list_subnav {
	    display: none;
	    width: calc(100% + 100px);
	    background-color: #800202;
	    color: #FFF;
	    position: absolute;
	    z-index: 8000;
	    top: 60px;
	    left: 50%;
	    transform: translateX(-50%);
	    overflow: visible;
	    letter-spacing: -.05em;
	}
	.fnav__list_subnav::before {
	        content: "";
	        display: block;
	        width: 0;
	        height: 0;
	        border-style: solid;
			border-right: 10px solid transparent;
			border-left: 10px solid transparent;
			border-bottom: 18px solid #800202;
			border-top: 0;
	        position: absolute;
	        left: 50%;
	        transform: translateX(-50%);
	        top: -12px;
}

	.fnav__list_subnav.gn04In {
	}
	.fnav__list_subnav.gn06In {
	}
/* 	.fnav__list_subnav::before {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: -20px;
	    width: 20px;
	    height: 100%;
	    background: transparent;
	} */
	.fnav__list_subnav::after {
	}
	.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 {
		border-bottom: 1px solid rgba(255,255,255,0.7);
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a {
		font-size: 1.6rem;
		color: #FFF;
		position: relative;
		padding: 10px 0;
		padding-left: 1em;
		display: inline-block;
		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: 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: var(--bg-primary-color);
		color: #000;
	}
	.footer__inr {
		padding: 45px 40px 30px;
		position: relative;
	}
	.footer__inr__contents {
		position: relative;
		display: flex;
		justify-content: space-between;
		gap: 2%;
	}
	.footer__wrap {
	}
	.footer__logo {
		width: 236px;
		text-align: left;
	}
	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}
	.footer__address {
		margin-bottom: 20px;
	}
	.footer__sns {
		display: flex;
		gap: 20px;
	}

	.footer__contact {
		margin-bottom: 40px;
	}
	.footer__contact ul {
		display: flex;
		align-items: center;
		gap: 20px;
		justify-content: flex-end;
	}
	#footer__nav {
		padding-top: 10px;
/* 		display: flex;
		flex-direction: column;
		align-items: flex-end; */
	}
	.footer__nav {
		margin-top: auto;
		/* width: 76.7046%; */
	}
	.footer__nav ul {
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #FFF;
		padding-bottom: 10px;
	}
	.footer__nav ul li {
	}
	.footer__nav ul li::after {
		content: "/";
	}
	.footer__nav ul li:last-of-type::after {
		content: "";
	}
	.footer__nav a {
		font-size: min(2vw, 2rem);
		padding: 0.2em 1em;
		position: relative;
	}
	.footer__nav li:first-child a {
		padding-left: 0;
	}
	.footer__nav li:last-child a {
		padding-right: 0;
	}
	.footer__nav .footer__nav_pc2 {
		margin-top: 7px;
		border-bottom: none;
		padding-bottom: 0;
		justify-content: space-between;
	}
	.footer__tel__no a {
		font-size: 2.6rem;
		position: relative;
		padding-left: 40px;
	}
	.footer__tel__no a::before {
		content: "";
		display: inline-block;
		width: 24px;
		height: 24px;
		background: url('/images/icon_tel2.svg') center no-repeat;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.footer__contact__link a {
		text-align: center;
		background-color: #FFF;
		color: #7d0001;
		font-size: 1.8rem;
		position: relative;
		padding: 0.2em 2em;
	}
	.footer__contact__link a::before {
		content: "";
		display: inline-block;
		width: 22px;
		height: 17px;
		background: url('/images/icon_contact2.svg') center no-repeat;
		background-size: contain;
		position: relative;
		bottom: -2px;
		margin-right: 10px;
	}

	.copyright {
		font-size: 1.2rem;
		letter-spacing: 0.08em;
		padding: 0.9em 1em;
		text-align: right;
		position: relative;
		z-index: 100;
	}


} /* End @media (min-width: 1001px) */

/* ---------------------------------------------------------------------- */

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

	/* header
  ---------------------------------------------------------------------- */
	#mainheader {
		position: fixed;
		top: 0;
		width: 100vw;
		top: 20vw;
		z-index: 2000;
		background-color: #FAF7F4;
		opacity: 0;
		visibility: hidden;
		overflow: scroll;
		transition: opacity 0.5s , visibility 0.5s;
		padding-bottom: 20vw;
	}

	.open #mainheader {
		/* height: calc(100dvh - 13.33334vw); */
		height: calc(100vh - 20vw);
		opacity: 1;
		background-color: #FFF;
		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: 90.66667vw;
		margin: 0 auto;
		overflow-y: auto;
	}
    .mainheader__inr::-webkit-scrollbar {
        display: none;
    }
    .header__navi {
    	margin-bottom: 4.66667vw;
    }
    .fnav__list.mainw {
    	width: 100%;
    }
    .fnav__list>li {
    	position: relative;
    	/* border-bottom: 1px solid #c1c1c1; */
    }
	.fnav__list>li>a {
		font-size: 1.8rem;
		color: #000;
		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); */
	}
	.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: 2vw;
		height: 1.6vw;
		background: url('/images/icon_arrow.svg') center no-repeat ;
		background-size: contain;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 4vw;
	}
	.fnav__list>li.subnav__switch>a::before {
        content: "";
        display: block;
        width: 0.3vw;
        height: 1.9vw;
        background-color: #800202;
        position: absolute;
        right: 4.8vw;
        top: 50%;
        transform: translateY(-50%);
        transition: 0.6s;
	}
	.fnav__list>li.subnav__switch>a::after {
        content: "";
        display: block;
        width: 2.1vw;
        height: 0.3vw;
        background-color: #800202;
        background-image: none;
        position: absolute;
        right: 4vw;
        top: 50%;
        transform: translateY(-50%);
	}
	.fnav__list>li.subnav__switch>a.active2::before {
		transform: translateY(-50%) rotate(-90deg);
		opacity: 0;
	}
	.fnav__list>li>a.noarrow::after {
		display: none;
	}
	.fnav__list>li>a>span {
		display: inline-block;
		color: #666;
		font-size: 1rem;
		letter-spacing: 0.08em;
		margin-left: 1.5em;
	}


  .header__navi__phone {
    border-radius: 3vw;
    position: relative;
    padding: 4vw;
    background-color: #3d97d8;
    color: #FFF;
  }
  .header__navi__phone .phone_ttl {
    position: relative;
    z-index: 2;
  }
  .header__navi__phone .phone_ttl h3 {
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.5;
  }
  .header__navi__phone .phone_ttl h3 span {
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
  }
  .header__navi__phone .phone_ttl h3 span::before {
    content: "";
    display: inline-block;
    width: 4.8vw;
    height: 4.8vw;
    background: url('../images/icon_tel.svg') center no-repeat;
    background-size: contain;
    position: absolute;
    left: -5.5vw;
    top: 50%;
    transform: translateY(-50%);
  }
  .header__navi__phone .phone_number {
    position: relative;
    z-index: 2;
    text-align: center;
  }
  .header__navi__phone .phone_number span {
    font-size: 2.2rem;
    font-weight: bold;
  }


	/* spnav
---------------------------------------------------------------------- */
	#spnav {
		width: 100vw;
		height: 20vw;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 20000;
		background: #ffffff;
	}

	#spnav .heder_c_copy {
        font-size: 2.4vw;
        color: var(--secondary-color);
        width: 100%;
        height: 5.33334vw;
        line-height: 5.33334vw;
        background-color: #dee3e7;
        text-align: center;
	}

	#spnav ul {
		display: flex;
		width: 100%;
		justify-content: flex-end;
		height: 14.6666vw;
	}

	#spnav ul li {
		text-align: center;
		position: relative;
		/* flex: 1; */
		/* width: calc(100% / 5); */
	}

	#spnav ul li:last-child {
		background: #FFF;
	}
	#spnav ul li a {
		display: flex;
		flex-direction: column;
		height: 100%;
		align-items: center;
		justify-content: center;
		color: #Fff;
		line-height: 1;
		font-size: 0.7rem;
		padding: 1vw;
	}
	#spnav ul li:first-of-type a {
		justify-content: center;
		/* align-items: flex-start; */
	}
	#spnav ul li:first-of-type a img {
		width: 34.66667vw;
	}

	#spnav ul li {
		width: 13.33334vw;
	}
	#spnav ul li:first-of-type {
		width: 44vw;
	}
	#spnav ul li:last-of-type {
		width: 13.33334vw;
	}
	#spnav ul li:nth-of-type(2){
		width: 41.6vw;
		display: grid;
		place-items: center;
	}
	#spnav ul li:nth-of-type(3){
		/* background-color: #f6ece8; */
	}
	#spnav ul li:nth-of-type(4) {
	}
	#spnav ul li:nth-of-type(2) a {
		color: #FFF;
		display: grid;
		place-items: center;
		font-size: 2.933334vw;
		font-weight: bold;
		background: #f85e68;
		width: 100%;
		height: 10.13334vw;
		border-radius: 100vw;

	}
	#spnav ul li:nth-of-type(3) a {
		color: #800202;
	}
	#spnav ul li:nth-of-type(4) a {
	}
	#spnav ul li:first-of-type img {
		width: 33.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: 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: #000000;
		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: #800202;
		line-height: 1;
		letter-spacing: 0;
		font-size: 0.7rem;
		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__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%;
	    color: #FFF;
	    overflow: visible;
	    padding: 0 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 {
		margin-bottom: 6vw;
	}
	.fnav__list__subnav__inner__wrap {
	}
	.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;
		padding-left: 1em;
	}
	.fnav__list__subnav__inner__wrap .sub__list>li>a {
		color: #444444;
		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(-50%);
		/* 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; */
	}


	/* footer
  ---------------------------------------------------------------------- */
	.footer {
		position: relative;
		background-color: var(--bg-primary-color);
		color: #304d67;
	}

	.footer__inr {
		position: relative;
		padding: 5.33334vw 0 0;
	}

	.footer__inr__contents {
		display: flex;
		flex-direction: column;
	}
	#footer__address {
		padding-bottom: 4vw;
	}
	#footer_nav__link {
		padding-top: 4vw;
	}
	#footer__nav {
		order: 30;
	}
	.footer__wrap {
		width: 100%;
	}
	.footer__copy {
		text-align: center;
		font-size: 4vw;
		letter-spacing: -0.07em;
	}
	.footer__logo {
		width: 54.66667vw;
		margin:0 auto 6.66667vw;
	}
	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}
	.footer__wrap h3 {
		text-align: center;
		font-size: 4.26667vw;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 2.66667vw;
	}
	.footer__address {
		font-size: 3.733334vw;
		line-height: 1.75;
		letter-spacing: 0.02em;
		text-align: center;
		margin-bottom: 3vw;
	}
	.footer__address p {
		text-align: center;
	}
	.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__sns {
		display: flex;
		justify-content: center;
		gap: 4vw;
	}
	.footer__sns img {
		width: 6.13334vw;
	}
	.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__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;
	}
	.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: 2.66667vw;
		letter-spacing: 0.08em;
		color: #b9c2cb;
		background-color: var(--bg-primary-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) */