img {
	width: 100%;
	height: auto;
}
a:hover {
	text-decoration: none;
}
.hvr-radial-out:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #0c303c;
	border-radius: 100%;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
/*
.hvr-radial-out:hover:before {
	-webkit-transform: scale(2);
	transform: scale(2);
}
*/
.bnr__shared a {
	background: url(../img/shared/bg02.jpg);
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-family: "Cormorant Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	display: block;
	line-height: 1;
	padding: 25px 20px 25px 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.bnr__shared a:hover {
	text-decoration: none;
}
.bnr__shared a::after {
	content: "";
	background: url(../img/shared/arrow2.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 30px;
	height: 4px;
	position: absolute;
	top: 50%;
	margin-top: -2px;
	right: 16px;
}
.bnr__shared a.bg-2 {
	background: #1d83a6;
}
.bnr__shared a.bg-2::after {
	right: 20px;
}
.bnr__web {
	position: relative;
	z-index: 2;
}
.bnr__web a {
	font-size: 15px;
	font-weight: 300;
	text-align: center;
	border: 1px solid #fff;
	display: block;
	line-height: 1;
	padding: 10px 0;
	position: relative;
	overflow: hidden;
	z-index: 1;
	color: #fff;
	transition: all .4s ease;
}
.bnr__web a::after {
	display: none;
}
.bnr__web a:hover {
	text-decoration: none;
	border: 1px solid #181d1e;
}
.bnr__web .hvr-radial-out::before {
	background: #181d1e;
}
.fz14 {
	font-size: 14px !important;
}
.fz20 {
	/* font-size: 20px !important; */
}
.fz18 {
	font-size: 18px !important;
}
.ob-img {
	background-size: cover;
	background-position: center center;
	position: relative;
}
.ob-img img {
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
}
.tel {
	text-align: center;
	line-height: 1;
}
.tel dt {
	font-size: 18px;
	font-family: "Cormorant Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	margin-bottom: 13px;
	letter-spacing: 1px;
}
.tel dd {
	font-size: 34px;
	padding-left: 20px;
	position: relative;
	line-height: 1;
	display: inline-block;
	letter-spacing: -1px;
}
.tel dd::before {
	content: "";
	background: url(../img/shared/tel@2x.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 14px;
	height: 20px;
	position: absolute;
	top: 50%;
	left: 2px;
	margin-top: -10px;
}
a {
	transition: all .4s ease;
}
.icon-ins a:hover {
	opacity: .7;
}
.filter__w {
	filter: brightness(0) invert(1);
}
.d__flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.d__flex.jus {
	justify-content: space-between;
}

.header-nav {
	justify-content: center;
	gap: 40px;
	top: 0;
	left: 0;
	right: auto;
	position: relative;
}
.header-nav .nav {
	gap: 45px;
}
.header-nav .icon-ins {
    width: 26px;
    line-height: 1;
    padding-top: 5px;
}
.header-nav .icon-ins img {
	width: 100%!important;
}

#header h1 {
	text-align: left;
	position: absolute;
	bottom: 10px;
	left: 10px;
	color: #fff;
	z-index: 8;
	line-height: 1.6;
	right: 10px;
	font-size: 12px;
}
.home #header h1 {
	bottom: auto;
	top: 10px;
	right: 105px;
}
#header .logo {
    position: absolute;
    top: 213px;
    z-index: 9;
    width: 45vw;
    left: 50%;
    transform: translateX(-50%);
}
#header .logos {
	width: 136px;
	padding: 17px 0 15px 20px;
}

.home #head-key {
	background: #1d83a6;
}

#footer {
	background: url(../img/shared/bg02.jpg);
	color: #fff;
	padding: 10vw 5vw 30vw;
}


#footer .wrap {
    max-width: 1200px;
    line-height: 2;
	    color: #fff;
}

#footer img {
	width: 100%;
	height: auto;
}
#footer .set1 {
	padding-bottom: 10vw;
}
#footer .set1 .wrap {
}
#footer .set1 .set1__left {
	text-align: center;
}
#footer .set1 .set1__left .logo {
	width: 35vw;
	margin: 0 auto 5vw;
}
#footer .set1 .set1__left .text {
	font-size: 13px;
	line-height: 24px;
	margin-bottom: 8vw;
}
#footer .set1 .set1__left .tel {
	margin-bottom: 5vw;
}
#footer .set1 .set1__left .bnr__web {
    width: 70vw;
    margin: 0 auto;
}
#footer .set1 .set1__left .bnr__web a {
    padding: 16px 0;
}
#footer .set1 .set1__center {
	letter-spacing: 1px;
	line-height: 2;
	padding-top: 7vw;
}
#footer .set1 .set1__center p {
	font-size: 14px;
	line-height: 25px;
}
#footer .set1 .set1__center p a {
	position: relative;
}
#footer .set1 .set1__center p a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 22px;
	right: 0;
	height: 1px;
}
#footer .set1 .set1__center p a:hover {
	text-decoration: none;
}
#footer .set1 .set1__center p a:hover::after {
	display: none;
}
#footer .set1 .set1__center p a img {
	width: 11px;
	display: inline-block;
	position: relative;
	top: -2px;
	height: auto;
	margin: 0 5px;
}
#footer .set1 .set1__center p + p {
	margin-top: 13px;
}
#footer .set1 .set1__right {
	margin-top:8vw;
	padding: 8vw;
	background: rgba(0, 0, 0, 0.2);
}
#footer .set1 .set1__right h4{
	padding-bottom:4vw;
}
#footer .set1 .set1__right .col{
	padding-bottom:6vw;
}

#footer .set1 .set1__right p {
	line-height: 2;
	font-size: 14px;
	
	padding: 5vw;
	box-sizing: border-box;
}
#footer .set2 {
	padding-top: 0;
}
#footer .footer-nav {
	margin-bottom: 10vw;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	padding-bottom: 10vw;
}

#footer .footer-nav .nav-top {
	margin-bottom: 5vw;
	padding-left: 5vw;
	padding-right: 0;
	display: flex;
	justify-content: space-between;
}
#footer .footer-nav .nav-top .nav2.nav-top__left {width: 40%;}
#footer .footer-nav .nav-top .nav2.nav-top__right {width: 59%;}
#footer .footer-nav .nav-top .nav2 li {
	position: relative;
	margin: 5px 0;
}

#footer .footer-nav .nav-top .nav2 ul li {
	float: none;
	width: auto;
}

#footer .footer-nav .nav-top .nav2 li a {
	position: relative;
	font-size: 20px;
}
#footer .footer-nav .nav-top .nav2 li a::before {
	content: "";
	background: #fff;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	top: 9px;
	left: -20px;
	position: absolute;
	opacity: 0;
	visibility: hidden;
}
#footer .footer-nav .nav-top .nav2 li a.active, #footer .footer-nav .nav-top .nav2 li a:hover {
	text-decoration: none;
}
#footer .footer-nav .nav-top .nav2 li a.active::before, #footer .footer-nav .nav-top .nav2 li a:hover::before {
	opacity: 1;
	visibility: visible;
}
#footer .footer-nav .nav-top .nav2 li ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	gap: 0;
}
#footer .footer-nav .nav-top .nav2 li ul li a {
	padding: 0 12px;
	font-size: 13px;
	display: inline-block;
}
#footer .footer-nav .nav-top .nav2 li ul li a::after, #footer .footer-nav .nav-top .nav2 li ul li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: rgba(255, 255, 255, 0.3);
	margin-left: 0;
	opacity: 1;
	visibility: visible;
}
#footer .footer-nav .nav-top .nav2 li ul li a:hover {
	opacity: .6;
}
#footer .footer-nav .nav-top .nav2 li ul li a::after {
	left: auto;
	right: 0;
}
#footer .footer-nav .nav-top .nav2 .menu-item {
	position: relative;
	margin-bottom: 0;
}
#footer .footer-nav .nav-top .nav2 .menu-item .menu-item__sub {
	position: relative;
	margin-left: 7px;
}
#footer .footer-nav .nav-top .icon-ins {
	width: 26px;
}
#footer .footer-nav .nav-bot .nav-other {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	gap: 20px;
}
#footer .footer-nav .nav-bot .nav-other li a {
	font-size: 13px;
}
#footer .footer-nav .nav-bot .nav-other li a:hover {
	text-decoration-line: underline;
	text-underline-offset: 6px;
}
#footer .set2 .footer__add {
	position: relative;
	text-align: center;
	color: #d2cdc6;
}
#footer .set2 .footer__add .access-btn {
	position: relative;
	font-size: 12px;
	color: #d2cdc6;
	text-align: center;
	cursor: pointer;
	line-height: 1;
	letter-spacing: 0px;
	display: inline-block;
}
#footer .set2 .footer__add .access-btn::before {
	content: "";
	background: url(../img/shared/icon_copy.png) no-repeat;
	width: 13px;
	height: 11px;
	position: absolute;
	top: 2px;
	left: -22px;
}
#footer .set2 .footer__add .access-btn span:hover {
	text-decoration-line: underline;
	text-underline-offset: 6px;
}
#footer .set2 .footer__add .access-btn span.copied {
	text-decoration: none;
}
#footer .set2 .footer__add #socialbuttons {
	text-align: center;
	margin-bottom: 7vw;
}
#footer .set2 .footer__add address {
	text-align: center;
	font-size: 11px;
	color: #d2cdc6;
}
#footer .set2 .footer__add address a {
	padding-left: 20px;
}
.pagetop {
	position: fixed;
	width: 68px;
	height: 68px;
	bottom: 25px;
	right: 25px;
	z-index: 123;
	cursor: pointer;
	transition: all .4s ease;
	opacity: 0;
	visibility: hidden;
}
.pagetop:hover {
	opacity: .4!important;
}
.has-nav .pagetop {
	opacity: 1;
	visibility: visible;
}
.menu-toggle {
	opacity: 1;
	visibility: visible;
	background: #000;
	z-index: 123;
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	transition: clip-path 0.8s ease-in-out;

}

.background-inside {
    background-color: #323e3c;
    bottom: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left center;
   transition: transform .5s cubic-bezier(.65,.025,.67,.36) .3s, opacity 0s .8s;
    width: 100%;
    z-index: 2;
}
.nav--opened .background-inside {
    opacity: 1;
    transform: scaleX(1);
/*    transition: transform .5s cubic-bezier(.34,.615,.4,.985);*/
}
.menu-toggle .inner {
}
.menu-toggle .inner {
	position: relative;
	background: url(../img/shared/toggle_bg.jpg);
	background-size: cover;
}
.menu-toggle .inner .inner1__contact {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	position: relative;
	z-index: 7;
	opacity: 0;
	visibility: hidden;
	padding: 10vw 5vw 0;
	justify-content: center;
}
.menu-toggle .inner .inner1__contact-right {}
.menu-toggle .inner .logo {
	width: 36vw;
	margin-right: 2vw;
}
.menu-toggle .inner .tel {
	text-align: left;
	color: #fff;
	padding-top: 0;
}
.menu-toggle .inner .tel dt {
	margin-bottom: 12px;
	font-size: 15px;
	padding-left: 8px;
}
.menu-toggle .inner .tel dd {
	padding-left: 25px;
	font-size: 28px;
}
.menu-toggle .inner .tel dd::before {
	left: 10px;
}
.menu-toggle .inner .bnr__web {
	width: 180px;
	padding-top: 15px;
	margin-left: 15px;
}
.menu-toggle .inner .bnr__web a {
	line-height: 1;
	background: none;
	border: 1px solid #fff;
	transition: all .4s ease;
	padding: 16px 0;
}
.menu-toggle .inner .bnr__web a:hover {
	background: #181d1e;
	border: 1px solid #181d1e;
}
.menu-toggle .inner .img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transform: scale(1.2);
	transform-origin: center center;
	transition: transform 0s .6s;
}
.menu-toggle .inner .img img {
	width: 100%!important;
}
.menu-toggle .inner .right {

width: 258px;

margin: 0 auto;

padding: 16vw 0 0;
}
.menu-toggle .inner .inner2 {
	margin: 0 auto;
}
.menu-toggle .inner .inner2 .nav2 {
	margin-bottom: 10vw;
	padding-left: 5vw;
	padding-right: 5vw;
}
.menu-toggle .inner .inner2 .nav2 li {
	position: relative;
}
.menu-toggle .inner .inner2 .nav2 li a {
	position: relative;
	font-size: 22px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	line-height: 1;
	align-items: flex-end;
	color: #fff;
}
.menu-toggle .inner .inner2 .nav2 li a::before {
	content: "";
	background: #fff;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	top: 11px;
	left: -20px;
	position: absolute;
	opacity: 0;
	visibility: hidden;
}
.menu-toggle .inner .inner2 .nav2 li a.active, .menu-toggle .inner .inner2 .nav2 li a:hover {
	text-decoration: none;
}
.menu-toggle .inner .inner2 .nav2 li a.active::before, .menu-toggle .inner .inner2 .nav2 li a:hover::before {
	opacity: 1;
	visibility: visible;
}
.menu-toggle .inner .inner2 .nav2 li a span {
	font-size: 25px;
}
.menu-toggle .inner .inner2 .nav2 li a small {
	font-size: 11px;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	padding-bottom: 6px;
	margin-left: 23px;
}
.menu-toggle .inner .inner2 .nav2 li ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	gap: 0;
	padding-top: 21px;
	padding-left: 7px;
	padding-bottom: 9px;
}
.menu-toggle .inner .inner2 .nav2 li ul li a {
	padding: 0 16px;
	font-size: 14px;
}
.menu-toggle .inner .inner2 .nav2 li ul li a::after, .menu-toggle .inner .inner2 .nav2 li ul li a::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 1px;
	height: 17px;
	background: rgba(255, 255, 255, 0.3);
	margin-left: 0;
	opacity: 1;
	visibility: visible;
}
.menu-toggle .inner .inner2 .nav2 li ul li a::after {
	left: auto;
	right: 0;
}
.menu-toggle .inner .inner2 .nav2 li ul li + li {
	margin-top: 0;
}
.menu-toggle .inner .inner2 .nav2 li + li {
	margin-top: 20px;
}
.menu-toggle .inner .inner2 .nav-other {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 35px;
}
.menu-toggle .inner .inner2 .nav-other li {
	display: inline-block;
	width: 50%;
	position: relative;
	margin-bottom: 20px;
}
.menu-toggle .inner .inner2 .nav-other li::before, .menu-toggle .inner .inner2 .nav-other li::after {
	content: "";
	width: 1px;
	height: 100%;
	border-left: 1px solid #d3d3d3;
	position: absolute;
	top: 0;
	left: 0;
}
.menu-toggle .inner .inner2 .nav-other li::after {
	right: 0;
	left: auto;
}
.menu-toggle .inner .inner2 .nav-other li:nth-child(1)::after,  .menu-toggle .inner .inner2 .nav-other li:nth-child(3)::after {
	display: none;
}
.menu-toggle .inner .inner2 .nav-other a {
	font-size: 15px;
	display: block;
	height: 23px;
	line-height: 23px;
	text-align: center;
	color: #fff;
}
.menu-toggle .inner .inner2 .nav-other a:hover {
	opacity: .7;
	text-decoration-line: underline;
	text-underline-offset: 6px;
}
.menu-toggle .inner .inner2 .icon-ins {
	width: 30px;
	margin: 0 auto;
}
.nav--opened .menu-toggle {

	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.nav--opened .menu-toggle .inner .inner1 .img {
/*
	transform: scale(1);
	transition: transform 1.3s cubic-bezier(0.34, 0.615, 0.4, 0.985) 0.3s;
*/
}



#tokuten {
	position: relative;
	margin-left: 10px;
	margin-right: 10px;
}
#tokuten .box {
	background: url(../img/shared/bg_caro.jpg);
	position: relative;
	padding: 30vw 8vw 10vw;
}
#tokuten .box::before {
	content: "";
	background: #fff;
	position: absolute;
	top: 8px;
	right: 8px;
	bottom: 8px;
	left: 8px;
}
#tokuten .box h2 {
	position: absolute;
	background: #1d83a6;
	width: 210px;
	height: 125px;
	top: -11vw;
	left: 82px;
	z-index: 2;
	color: #fff;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 2;
	font-size: 20px;
}
#tokuten .box .text {
	font-size: 16px;
	color: #006481;
	position: relative;
	z-index: 2;
	line-height: 1.8;
	margin-bottom: 6vw;
}
#tokuten .box .text strong {
	font-weight: 600;
}
#tokuten .box .note {
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 0px;
	z-index: 1;
	position: relative;
}



#ft__fixed {background: #005a75;border-top: 1px solid #217f9d;position: fixed;bottom: 0;left: 0;right: 0;z-index: 1000;transition: all .4s ease;}

#ft__fixed img {
	width: 100%;
	height: auto;
}
.start #ft__fixed {
	opacity: 0;
	visibility: hidden;
}

.nav--opened #ft__fixed {
	opacity: 0!important;
	visibility: hidden!important;
}


#ft__fixed ul {}
#ft__fixed ul li {
	position: relative;
	line-height: 1;
}
#ft__fixed ul li::before {
	content: "";
	border-right: 1px solid #217f9d;
	top: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	width: 1px;
}

#ft__fixed ul li.ft__top::before {
	display: none;
}


#ft__fixed ul li a {
	color: #fff;
	font-size: 12px;
	display: block;
	text-align: center;
	padding: 10px 0 15px;
	letter-spacing: 0.06em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
#ft__fixed ul li small {
	display: block;
	margin-bottom: 5px;
}






