@charset "UTF-8";

/* !Base -------------------------------------------------------------- */
:root {
  --blue: #88C4CD;
  --dblue: #17a9c1;
  --gold: #b49b72;
  --gray: #797979;
  --red: #FE6060;
}
a {	color: inherit; text-decoration: none; }
a:hover { color: inherit; text-decoration: none;}
a.underline { border-bottom: 1px solid; }
a.white:hover { color: var(--gold); }
a.hgold:hover { color: var(--gold); }
a.blue { color: #17a9c1; }
.detail_news a { color: #17a9c1; }
.detail_news a:hover { border-bottom: 1px solid; }
html { 
	font-size: 62.5%; overflow-y: scroll;
}
body {
	font-size: 16px;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	line-height: 2;
	color: #333;
}
.mincho {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
.Garamond {
	font-family: "Cormorant Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.lato {
	font-family: "Lato", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.bold {
	font-weight: 600;
}
.normal {
	font-weight: 400;
}
p { padding: 1em 0; }
img { max-width: 100%; height: auto; }
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.marker { background:linear-gradient(transparent 60%, #FCFAD8 60%, #FCFAD8 100%, #fff 100%);}
.white { color: #fff; }
.black { color: #333; }
.black2 { color: #000; }
.gray { color: #797979; }
.blue { color: var(--blue); }
.red { color: #FE6060; }
.gold { color: var(--gold); }
.bg_white { background: #fff; }
.bg_black { background: #000; }
.bg_blue { background: var(--blue); }
.bg_gold { background: var(--gold); }
.bg_gray { background: #4A4A4A; }
.bg_lgray { background: #F5F5F5; }
.bg_lgray2 { background: #F9F9F9; }
.bg_lgray3 { background: #fafafa; }
.shadow { filter: drop-shadow(0px 2px 4px rgba(0,0,0,.2)); }
.shadow2 { box-shadow: 0px .125em .375em rgba(0,0,0,.1); }
.br50 { border-radius: 1.75em; }
.br15 { border-radius: 1.5em; }
.br8 { border-radius: .5em; }
.fz88 { font-size: 5.5em; }
.fz64 { font-size: 4em; }
.fz56 { font-size: 3.5em; }
.fz48 { font-size: 3em; }
.fz40 { font-size: 2.5em; }
.fz32 { font-size: 2em; }
.fz28 { font-size: 1.75em; }
.fz24 { font-size: 1.5em; }
.fz20 { font-size: 1.25em; }
.fz18 { font-size: 1.125em; }
.fz16 { font-size: 1em; }
.fz14 { font-size: .875em; }
.fz12 { font-size: .75em; }
.fz10 { font-size: .625em; }
.fz88 { font-size: 88px; }
.fz64 { font-size: 64px; }
.fz56 { font-size: 56px; }
.fz48 { font-size: 48px; }
.fz40 { font-size: 40px; }
.fz36 { font-size: 36px; }
.fz32 { font-size: 32px; }
.fz28 { font-size: 28px; }
.fz26 { font-size: 26px; }
.fz24 { font-size: 24px; }
.fz20 { font-size: 20px; }
.fz18 { font-size: 18px; }
.fz17 { font-size: 17px; }
.fz16 { font-size: 16px; }
.fz14 { font-size: 14px; }
.fz12 { font-size: 12px; }
.fz10 { font-size: 10px; }
h1,.h1,h2,h3,h4,h5 { line-height: 1.5; font-weight: 400; padding: 0; }
.h1 { font-size: 32px; }
h2,.detail_news h1 { font-size: 28px; }
h3,h4,h5,.detail_news h2 { font-size: 20px; }
strong { font-weight: 600; }
.lh25 {line-height:2.5;}
.lh24 {line-height:2.4;}
.lh23 {line-height:2.3;}
.lh22 {line-height:2.2;}
.lh21 {line-height:2.1;}
.lh20 {line-height:2.0;}
.lh19 {line-height:1.9;}
.lh18 {line-height:1.8;}
.lh17 {line-height:1.7;}
.lh165 {line-height:1.65;}
.lh16 {line-height:1.6;}
.lh155 {line-height:1.56;}
.lh15 {line-height:1.5;}
.lh14 {line-height:1.4;}
.lh13 {line-height:1.3;}
.lh12 {line-height:1.2;}
.lh11 {line-height:1.1;}
.lh10 {line-height:1;}
.ls00 {letter-spacing:0;}
.ls002 {letter-spacing:0.02em;}
.ls003 {letter-spacing:0.03em;}
.ls004 {letter-spacing:0.04em;}
.ls005 {letter-spacing:0.05em;}
.ls008 {letter-spacing:0.08em;}
.ls01 {letter-spacing:0.1em;}
.ls02 {letter-spacing:0.2em;}
.ls03 {letter-spacing:0.3em;}
.ls04 {letter-spacing:0.4em;}
figcaption { line-height: 1.4; margin-top: 0.5em; }
.r_over { transition: all 0.2s;}
.r_over:hover { filter: brightness(105%);}
.r_over2 { transition: all 0.2s;}
.r_over2:hover { filter: brightness(80%);}
.r_over3 { transition: all 0.2s;}
.r_over3:hover { filter: brightness(88%) saturate(1.5);}
.r_over4 { transition: all 0.3s;}
.r_over4:hover { filter: brightness(94%) contrast(104%);}
.r_over5 { transition: all 0.3s;}
.r_over5:hover { filter: brightness(80%);}
.t-03 { transition: all 0.3s;}
.hdn { display: none; }
@media screen and (max-width: 1440px) {
body { font-size: 1.111vw; }
.fz88 { font-size: 6.111vw; }
.fz64 { font-size: 4.444vw; }
.fz56 { font-size: 3.889vw; }
.fz48 { font-size: 3.333vw; }
.fz40 { font-size: 2.778vw; }
.fz36 { font-size: 2.5vw; }
.fz32 { font-size: 2.222vw; }
.fz28 { font-size: 1.944vw; }
.fz26 { font-size: 1.806vw; }
.fz24 { font-size: 1.667vw; }
.fz20 { font-size: 1.389vw; }
.fz18 { font-size: 1.25vw; }
.fz17 { font-size: 1.181vw; }
.fz16 { font-size: 1.111vw; }
.fz14 { font-size: 0.972vw; }
.fz12 { font-size: 0.833vw; }
.fz10 { font-size: 0.694vw; }
.h1 { font-size: 2.222vw; }
h2,.detail_news h1 { font-size: 1.944vw; }
h3,h4,h5,.detail_news h2 { font-size: 1.389vw; }
}
@media screen and (max-width: 1024px) { /*1100px*/
body { font-size: 1.455vw; }
.fz88 { font-size: 8vw; }
.fz64 { font-size: 5.818vw; }
.fz56 { font-size: 5.091vw; }
.fz48 { font-size: 4.364vw; }
.fz40 { font-size: 3.636vw; }
.fz36 { font-size: 3.273vw; }
.fz32 { font-size: 2.909vw; }
.fz28 { font-size: 2.545vw; }
.fz26 { font-size: 2.364vw; }
.fz24 { font-size: 2.182vw; }
.fz20 { font-size: 1.818vw; }
.fz18 { font-size: 1.636vw; }
.fz17 { font-size: 1.545vw; }
.fz16 { font-size: 1.455vw; }
.fz14 { font-size: 1.273vw; }
.fz12 { font-size: 1.091vw; }
.fz10 { font-size: 0.909vw; }
.h1 { font-size: 2.909vw; }
h2,.detail_news h1 { font-size: 2.545vw; }
h3,h4,h5,.detail_news h2 { font-size: 1.818vw; }
.tab-taC { text-align: center !important;}
}
@media screen and (max-width: 540px) { /*500px*/
body { font-size: 3.2vw; }
.fz88 { font-size: 17.6vw; }
.fz64 { font-size: 12.8vw; }
.fz64 { font-size: 10vw; }
.post-type-archive-ear .fz64 { font-size: 8.5vw; }
.fz56 { font-size: 11.2vw; }
.fz48 { font-size: 9.6vw; }
.fz40 { font-size: 8vw; }
.fz36 { font-size: 6.15vw; }
.fz32 { font-size: 6.4vw; }
.fz32 { font-size: 5.2vw; }
.fz28 { font-size: 5.6vw; }
.point .fz28 { font-size: 4.5vw; }
.fz26 { font-size: 5.2vw; }
.fz24 { font-size: 4.8vw; }
.fz20 { font-size: 4vw; }
h1.fz20 { font-size: 3.59vw; }
.fz18 { font-size: 3.6vw; }
.fz17 { font-size: 3.2vw; }
.fz16 { font-size: 3.2vw; }
.fz14 { font-size: 2.8vw; }
.fz12 { font-size: 2.4vw; }
.fz10 { font-size: 2vw; }
#header .fz12 { font-size: 2.2vw; }
.h1 { font-size: 6.15vw; }
h2,.detail_news h1 { font-size: 4.8vw; }
h3,h4,h5,.detail_news h2 { font-size: 3.7vw; }
.sp-taC { text-align: center !important;}
}
.sp,
.pro,
.tab,
.protabonly {
	display: none;
}
@media screen and (max-width: 1024px) {
	.pc {
		display: none;
	}
	.pro,
	.protabonly {
		display: block;
	}
}
@media screen and (max-width: 820px) {
	.pcpro,
	.notabonly {
		display: none;
	}
	.tab {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.sp,
	.notabonly {
		display: block;
	}
	.nosp,
	.protabonly {
		display: none !important;
	}
}
.mw100 { width: 100%; height: auto;}
.mw90 { width: 90%; margin: 0 5%;}
.mw72 { width: 100%; max-width: 72vw; margin: 0 auto; }
.mw60 { max-width: 60vw; margin: 0 auto;}
.dib { display: inline-block; }
.ofh { overflow: hidden; }


/*ナビゲーション部分*/

.header-inner {
	height: 100%;
}
.menu li:not(.nav-tel) a {
	display: flex;
	align-items: center;
	height: 100%;
	width: 100%;
}
@media screen and (max-width: 1024px) {
	.menu { 
		background: #404040;
		transition: 0.3s ease;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		position: fixed;
		z-index: 3;
		right: 0;
		top: 0;
		display: flex;
		align-items: center;
		padding: 0;
		width: 50%;
		height: 100%;
		overflow-y: scroll;
		scrollbar-width: none;
		overscroll-behavior: none;
		font-size: 2.4vw;
	}
	.nav-wrap {
		height: 100%;
		min-height: 100.1%;
		min-height: calc(100% + 1px);
		padding: 15% 6% 20%;
	}
	.nav-wrap {
		width: 100%;
	}
	.openmenu {
		width: 100%;
	}
	.openmenu li:last-child {
		padding-bottom: 2vw;
	}
	.menu ul li a {
		color: #fff;
		padding: .35em 0;
	}
	.nav-open > a {
		pointer-events: none;
		position: relative;
	}
	.nav-open > a::after {
		content: "";
		display: block;
		width: .55em;
		height: .38em;
		clip-path: polygon(50% 75%, 100% 0, 100% 25%, 50% 100%, 0 25%, 0 0);
		background: #fff;
		margin-left: .2em;
		position: absolute;
		right: 0;
		top: 45%;
	}
	.nav-open.open > a::after {
		transform: rotate(180deg);
	}
	.nav-slide {
		display: none;
	}
	ul.menu-toggle li a {
		letter-spacing: 0.05em;
		padding: .7em 0;
		display: block;
		border-bottom: 1px solid rgba(255,255,255,.5);
		position: relative;
		width: 100%;
		font-size: 0.875em;
	}
	ul.menu-toggle li a::after {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1.143em;
		height: 1.143em;
		display: block;
		content: "";
		background: url(../images/arrow.svg) no-repeat;
		background-size: 100%;
		background-position: top;
	}
	 
	.menu.open {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	 
	.Toggle {
		display: block;
		position: fixed;
		cursor: pointer;
		z-index: 4;
		width: 9vw;
		height: 9vw;
		top: 0;
		right: 0;
		line-height: 1;
	}
	.Toggle span {
		display: block;
		position: absolute;
		right: 27.5%;
		transition: all .3s;
	}
	.Toggle span:nth-child(1),
	.Toggle span:nth-child(2) {
		width: 45%;
		border-bottom: solid 1px #333;
	}
	.Toggle span:nth-child(1) {
		top: 42%;
	}
	.Toggle span:nth-child(2) {
		width: 29%;
		top: 58%;
	}
	.Toggle.active span {
		right: 22%;
		border-bottom: solid 1px #fff;
	}
	.Toggle.active span:nth-child(1) {
		width: 54%;
		top: 50%;
		transform: rotate(-45deg);
	}
	.Toggle.active span:nth-child(2) {
		width: 54%;
		top: 50%;
		transform: rotate(45deg);
	}
	.header-cover {
		background-color: rgba(8,18,15,.5);
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		transition: opacity .2s ease;
		z-index: 2;
	}
	.menu.open + .header-cover {
		opacity: 1;
		visibility: visible;
	}
	.menu ul li.nav-insta a {
		padding: 1em 0;
	}
}
@media screen and (max-width: 540px) {
	.menu { 
		font-size: 4.1vw;
		width: 71.8%;
	}
	.nav-wrap {
		padding: 22% 6% 20%;
	}
	.openmenu li:last-child {
		padding-bottom: 3vw;
	}
	.Toggle {
		width: 15.9vw;
		height: 15.9vw;
	}

}

/* toggle menu pc */
@media screen and (min-width: 1025px) {
	.Toggle {
		display: none;
	}
	.menu {
		height: 100%;
	}
	.nav-wrap {
		height: 100%;
	}
	.menu li:not(.nav-tel) a {
		font-size: .875em;
	}
	ul.openmenu {
		display: flex;
		height: 100%;
	}
	ul.openmenu > li:not(.nav-tel) > a {
		padding: 0 .85em;
		letter-spacing: 0.03em;
	}
	.nav-slide {
		position: fixed;
		left: 0;
		top: 6.944vw;
		background: #404040;
		width: 100%;
		padding: 1em 0 2em;
		transition: .2s ease;
		visibility: hidden;
		opacity: 0;
	}
	.nav-open:hover > .nav-slide {
		visibility: visible;
		opacity: 1;
	}
	.nav-open > a {
		position: relative;
	}
	.nav-open > a::after {
		content: "";
		display: block;
		width: .55em;
		height: .38em;
		clip-path: polygon(50% 75%, 100% 0, 100% 25%, 50% 100%, 0 25%, 0 0);
		background: var(--gold);
		margin-left: .2em;
	}
	.nav-open:hover > a::after {
		transform: rotate(180deg);
	}
	.nav-open > a::before {
		content: "";
		display: block;
		width: 1.15em;
		height: .71em;
		clip-path: polygon(50% 0, 100% 100%, 0 100%);
		background: #404040;
		position: absolute;
		bottom: 0;
		left: 45%;
		transform: translateX(-50%);
		transition: .2s ease;
		visibility: hidden;
		opacity: 0;
	}
	.nav-open:hover > a::before {
		visibility: visible;
		opacity: 1;
	}
	ul.menu-toggle {
		display: flex;
		flex-wrap: wrap;
		width: 93.5%;
		max-width: 1345px;
		margin: 0 auto;
	}
	ul.menu-toggle li {
		width: 17.6%;
		margin-right: 3%;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	ul.menu-toggle li:nth-child(5n) {
		margin-right: 0;
	}
	ul.menu-toggle li a {
		letter-spacing: 0.05em;
		padding: .5em 0;
		color: #fff;
		display: block;
		border-bottom: 1px solid rgba(255,255,255,.7);
		position: relative;
	}
	ul.menu-toggle li a:hover {
		color: var(--gold);
		border-bottom: 1px solid var(--gold);
	}
	ul.menu-toggle li a::after {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1.143em;
		height: 1.143em;
		display: block;
		content: "";
		background: url(../images/arrow.svg) no-repeat;
		background-size: 100%;
		background-position: top;
	}
	ul.menu-toggle li a:hover::after {
		background-position: bottom;
	}
	.nav-link a:hover {
		color: var(--gold);
	}
	.header-cover {
		display: none;
	}
	.header-inner {
		padding-top: .7em;
	}
}
@media screen and (min-width: 1441px) {
	.nav-slide {
		top: 100px;
	}
}


.nav-tel {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	line-height: 1.3;
}
.header-option {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 1.6875em;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 93.5%;
	max-width: 1345px;
	margin: 0 auto;
	line-height: 1;
}
.header-lang {
	cursor: pointer;
	margin-left: .8em;
}
@media screen and (min-width: 1025px) {
	.nav-tel {
		padding-left: .5em;
	}
}
@media screen and (max-width: 1440px) {
	.header-lang img {
		height: 1.6875em;
	}
	.icon-instagram {
		width: 1.25em;
	}
}
@media screen and (max-width: 1024px) {
	.header-option {
		left: inherit;
		transform: none;
		right: 12vw;
		height: 9vw;
		width: auto;
	}
	.nav-tel {
		color: #fff;
		border-top: 1px solid #515151;
		margin-top: 3vw;
		padding-top: 3vw;
	}
	.nav-tel .fz26 {
		font-size: 3.385vw;
		letter-spacing: 0.08em;
	}
	.nav-tel .fz10 {
		font-size: 1.302vw;
		letter-spacing: 0.08em;
	}
	.header-lang img {
		height: 3.516vw;
	}
	.icon-instagram {
		width: 2.604vw;
	}
}
@media screen and (max-width: 540px) {
	.header-option {
		right: 14vw;
		height: 15.9vw;
	}
	.header-lang img {
		height: 5.4vw;
	}
	.icon-instagram {
		width: 4vw;
	}
	.nav-tel {
		padding-top: 3.5vw;
	}
	.nav-tel .fz26 {
		font-size: 6.667vw;
	}
	.nav-tel .fz10 {
		font-size: 2.564vw;
	}
}


/* !header -------------------------------------------------------------- */
#header {
	position: fixed;
	z-index: 5;
	width: 100%;
	height: 100px;
	background: #fff;
}
#contents {
	padding-top: 100px;
}
@media screen and (max-width: 1440px) {
	#header {
		height: 6.944vw;
	}
	#contents {
		padding-top: 6.944vw;
	}
}
@media screen and (max-width: 1024px) {
	#header {
		height: 9vw;
	}
	#contents {
		padding-top: 9vw;
	}
}
@media screen and (max-width: 540px) {
	#header {
		height: 15.9vw;
	}
	#contents {
		padding-top: 15.9vw;
	}
}


/* !logo -------------------------------------------------------------- */
.logo {
	padding: 0;
}
.logo a {
	display: block;
	color: var(--gold);
	font-size: 18px;
	margin-top: .22em;
	line-height: 1.5;
}
.logo a img {
	margin-right: .44em;
	vertical-align: bottom;
}
@media screen and (min-width: 1025px) {
	#header .logo a {
		padding-bottom: .5em;
	}
}
@media screen and (max-width: 1440px) {
	.logo a {
		font-size: 1.25vw;
	}
	.logo a img {
		width: 1.611em;
	}
}
@media screen and (max-width: 1024px) {
	.logo a {
		font-size: 1.758vw;
	}
	#footer .logo a {
		font-size: 2vw;
	}
}
@media screen and (max-width: 540px) {
	.logo a {
		font-size: 3.2vw;
	}
	#footer .logo a {
		font-size: 4vw;
	}
}


/*基準1440*/
.container {
	width: 80%;
	max-width: 1140px;
	margin: 0 auto;
}
.container2 {
	width: 80%;
	max-width: 1140px;
	margin: 0 auto;
}
.container736 {
	width: 73.6%;
	margin: 0 auto;
}
.container784 {
	width: 55%;
	max-width: 784px;
	margin: 0 auto;
}
.container1345 {
	width: 93.5%;
	max-width: 1345px;
	margin: 0 auto;
}
.container1440 {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}
.container1920 {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
.container100 {
	width: 100%;
	margin: 0 auto;
}
.container95 {
	width: 95.1%;
	margin: 0 auto;
}
@media screen and (max-width: 1024px) {
	.container {
		width: 90%;
	}
	.container2 {
		width: 90%;
	}
	.container784 {
		width: 72%;
	}
	.container736 {
		width: 90%;
	}
}
@media screen and (max-width: 540px) {
	.container {
		width: 90%;
	}
	.container2 {
		width: 80%;
	}
	.container736 {
		width: 100%;
	}
}


/* !btn -------------------------------------------------------------- */
a.btn_01 {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: var(--gold);
	font-size: .875em;
}
a.btn_01 span {
	position: relative;
	padding-right: 1.8em;
}
a.btn_01 span::after {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.143em;
	height: 1.143em;
	display: block;
	content: "";
	background: url(../images/arrow.svg) no-repeat;
	background-size: 100%;
	background-position: bottom;
	transition: .2s;
}
a.btn_01.taC {
	margin: 0 auto;
}
.submitbtnWrap {
	margin: 0 auto;
	width: 12em;
	max-width: 100%;
}
.submitbtnWrap input {
	width: 100%;
	height: 100%;
	background: #ccc;
	color: #fff;
	text-align: center;
	border-radius: .5em;
	padding: .6em;
}
.pcheck:has(input:checked) .submitbtnWrap input,
.submitbtnWrap.submitbtnWrap_confirm input {
	background: var(--blue);
}
.pcheck:has(input:checked) .submitbtnWrap input:hover,
.submitbtnWrap.submitbtnWrap_confirm input:hover {
	background: #67b2be;
}
@media screen and (min-width: 1025px) {
	a.btn_01:hover span::after {
		right: -4px;
	}
	a.btn_01:hover span::before {
		right: -3px;
	}
}
a.btn_02 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: var(--gold);
	height: 3.5em;
	border-radius: 1.8em;
	background: #fff;
	border: 1px solid var(--gold);
	min-width: 16.56em;
	max-width: 100%;
	transition: .2s;
}
a.btn_02:hover {
	color: #fff;
	background: var(--gold);
}


/* !行間設定 -------------------------------------------------------------- */
.pd0	{ padding: 0; }
.pd02	{ padding: 0.2em 0; }
.pd03	{ padding: 0.3em 0; }
.pd04	{ padding: 0.4em 0; }
.pd05	{ padding: 0.5em 0; }
.pd07	{ padding: 0.7em 0; }
.pd08	{ padding: 0.8em 0; }
.pd1	{ padding: 1em 0; }
.pd15	{ padding: 1.5em 0; }
.pd2	{ padding: 2em 0; }
.pd25	{ padding: 2.5em 0; }
.pd3	{ padding: 3em 0; }
.pd35	{ padding: 3.5em 0; }
.pd4	{ padding: 4em 0; }
.pd45	{ padding: 4.5em 0; }
.pd5	{ padding: 5em 0; }
.pd6	{ padding: 6em 0; }
.pd7	{ padding: 7em 0; }
.pd8	{ padding: 8em 0; }
.mg05	{ margin: 0.5em auto; }
.mg1	{ margin: 1em auto; }
.mg15	{ margin: 1.5em auto; }
.mg2	{ margin: 2em auto; }
.mg25	{ margin: 2.5em auto; }
.mg3	{ margin: 3em auto; }
.mg4	{ margin: 4em auto; }
.mg5	{ margin: 5em auto; }
.mt05	{ margin-top: 0.5em;}
.mt1	{ margin-top: 1em;}
.mt15	{ margin-top: 1.5em;}
.mt18	{ margin-top: 1.8em;}
.mt2	{ margin-top: 2em;}
.mt25	{ margin-top: 2.5em;}
.mt3	{ margin-top: 3em;}
.mt35	{ margin-top: 3.5em;}
.mt4	{ margin-top: 4em;}
.mt45	{ margin-top: 4.5em;}
.mt5	{ margin-top: 5em;}
.mt6	{ margin-top: 6em;}
.mt8	{ margin-top: 8em;}
.mt9	{ margin-top: 9em;}
.mr05	{ margin-right: 0.5em;}
.mr1	{ margin-right: 1em;}
.mr15	{ margin-right: 1.5em;}
.mr2	{ margin-right: 2em;}
.mr25	{ margin-right: 2.5em;}
.mr3	{ margin-right: 3em;}
.mr4	{ margin-right: 4em;}
.mr5	{ margin-right: 5em;}
.ml05	{ margin-left: 0.5em;}
.ml1	{ margin-left: 1em;}
.ml15	{ margin-left: 1.5em;}
.ml2	{ margin-left: 2em;}
.ml25	{ margin-left: 2.5em;}
.ml3	{ margin-left: 3em;}
.ml4	{ margin-left: 4em;}
.ml5	{ margin-left: 5em;}
.mb05	{ margin-bottom: 0.5em;}
.mb1	{ margin-bottom: 1em;}
.mb15	{ margin-bottom: 1.5em;}
.mb2	{ margin-bottom: 2em;}
.mb25	{ margin-bottom: 2.5em;}
.mb3	{ margin-bottom: 3em;}
.mb35	{ margin-bottom: 3.5em;}
.mb4	{ margin-bottom: 4em;}
.mb45	{ margin-bottom: 4.5em;}
.mb5	{ margin-bottom: 5em;}
.mb6	{ margin-bottom: 6em;}
.pt05	{ padding-top: 0.5em;}
.pt1	{ padding-top: 1em;}
.pt15	{ padding-top: 1.5em;}
.pt2	{ padding-top: 2em;}
.pt25	{ padding-top: 2.5em;}
.pt3	{ padding-top: 3em;}
.pt35	{ padding-top: 3.5em;}
.pt4	{ padding-top: 4em;}
.pt45	{ padding-top: 4.5em;}
.pt5	{ padding-top: 5em;}
.pt6	{ padding-top: 6em;}
.pt7	{ padding-top: 7em;}
.pt8	{ padding-top: 8em;}
.pt9	{ padding-top: 9em;}
.pt10	{ padding-top: 10em;}
.pr05	{ padding-right: 0.5em;}
.pr1	{ padding-right: 1em;}
.pr15	{ padding-right: 1.5em;}
.pr2	{ padding-right: 2em;}
.pr25	{ padding-right: 2.5em;}
.pr3	{ padding-right: 3em;}
.pr35	{ padding-right: 3.5em;}
.pr4	{ padding-right: 4em;}
.pr5	{ padding-right: 5em;}
.pl03	{ padding-left: 0.3em;}
.pl05	{ padding-left: 0.5em;}
.pl1	{ padding-left: 1em;}
.pl15	{ padding-left: 1.5em;}
.pl2	{ padding-left: 2em;}
.pl25	{ padding-left: 2.5em;}
.pl3	{ padding-left: 3em;}
.pl35	{ padding-left: 3.5em;}
.pl4	{ padding-left: 4em;}
.pl45	{ padding-left: 4.5em;}
.pl5	{ padding-left: 5em;}
.pb05	{ padding-bottom: 0.5em;}
.pb1	{ padding-bottom: 1em;}
.pb15	{ padding-bottom: 1.5em;}
.pb2	{ padding-bottom: 2em;}
.pb25	{ padding-bottom: 2.5em;}
.pb3	{ padding-bottom: 3em;}
.pb35	{ padding-bottom: 3.5em;}
.pb4	{ padding-bottom: 4em;}
.pb45	{ padding-bottom: 4.5em;}
.pb5	{ padding-bottom: 5em;}
.pb6	{ padding-bottom: 6em;}
.pb7	{ padding-bottom: 7em;}
.pb8	{ padding-bottom: 8em;}
.pb9	{ padding-bottom: 9em;}
.pb10	{ padding-bottom: 10em;}
.pb-f	{ padding-bottom: 15em;}
@media screen and (max-width: 1024px) {
/*.pd08	{ padding: 1.2vw 0; }
.pd1	{ padding: 1.5vw 0; }
.pd15	{ padding: 2.25vw 0; }
.pd2	{ padding: 3vw 0; }
.pd25	{ padding: 3.75vw 0; }
.pd3	{ padding: 4.5vw 0; }
.pd35	{ padding: 5.25vw 0; }
.pd4	{ padding: 6vw 0; }
.pd45	{ padding: 6.75vw 0; }
.pd5	{ padding: 7.5vw 0; }
.pd6	{ padding: 9vw 0; }
.pd7	{ padding: 10.5vw 0; }
.pd8	{ padding: 12vw 0; }
.mg1	{ margin: 1.5vw auto; }
.mg15	{ margin: 2.25vw auto; }
.mg2	{ margin: 3vw auto; }
.mg25	{ margin: 3.75vw auto; }
.mg3	{ margin: 4.5vw auto; }
.mg4	{ margin: 6vw auto; }
.mg5	{ margin: 7.5vw auto; }
.mt05	{ margin-top: 0.75vw;}
.mt1	{ margin-top: 1.5vw;}
.mt15	{ margin-top: 2.25vw;}
.mt2	{ margin-top: 3vw;}
.mt25	{ margin-top: 3.75vw;}
.mt3	{ margin-top: 4.5vw;}
.mt35	{ margin-top: 5.25vw;}
.mt4	{ margin-top: 6vw;}
.mt45	{ margin-top: 6.75vw;}
.mt5	{ margin-top: 7.5vw;}
.mt6	{ margin-top: 9vw;}
.mt8	{ margin-top: 12vw;}
.mt9	{ margin-top: 13.5vw;}
.mr1	{ margin-right: 1.5vw;}
.mr15	{ margin-right: 2.25vw;}
.mr2	{ margin-right: 3vw;}
.mr25	{ margin-right: 3.75vw;}
.mr3	{ margin-right: 4.5vw;}
.mr4	{ margin-right: 6vw;}
.mr5	{ margin-right: 7.5vw;}
.ml1	{ margin-left: 1.5vw;}
.ml15	{ margin-left: 2.25vw;}
.ml2	{ margin-left: 3vw;}
.ml25	{ margin-left: 3.75vw;}
.ml3	{ margin-left: 4.5vw;}
.ml4	{ margin-left: 6vw;}
.ml5	{ margin-left: 7.5vw;}
.mb1	{ margin-bottom: 1.5vw;}
.mb15	{ margin-bottom: 2.25vw;}
.mb2	{ margin-bottom: 3vw;}
.mb25	{ margin-bottom: 3.75vw;}
.mb3	{ margin-bottom: 4.5vw;}
.mb35	{ margin-bottom: 5.25vw;}
.mb4	{ margin-bottom: 6vw;}
.mb45	{ margin-bottom: 6.75vw;}
.mb5	{ margin-bottom: 7.5vw;}
.mb6	{ margin-bottom: 9vw;}
.pt1	{ padding-top: 1.5vw;}
.pt15	{ padding-top: 2.25vw;}
.pt2	{ padding-top: 3vw;}
.pt25	{ padding-top: 3.75vw;}
.pt3	{ padding-top: 4.5vw;}
.pt35	{ padding-top: 5.25vw;}
.pt4	{ padding-top: 6vw;}
.pt45	{ padding-top: 6.75vw;}
.pt5	{ padding-top: 7.5vw;}
.pt6	{ padding-top: 9vw;}
.pt7	{ padding-top: 10.5vw;}
.pt8	{ padding-top: 12vw;}
.pt10	{ padding-top: 15vw;}
.pr1	{ padding-right: 1.5vw;}
.pr15	{ padding-right: 2.25vw;}
.pr2	{ padding-right: 3vw;}
.pr25	{ padding-right: 3.75vw;}
.pr3	{ padding-right: 4.5vw;}
.pr35	{ padding-right: 5.25vw;}
.pr4	{ padding-right: 6vw;}
.pr5	{ padding-right: 7.5vw;}
.pl1	{ padding-left: 1.5vw;}
.pl15	{ padding-left: 2.25vw;}
.pl2	{ padding-left: 3vw;}
.pl25	{ padding-left: 3.75vw;}
.pl3	{ padding-left: 4.5vw;}
.pl35	{ padding-left: 5.25vw;}
.pl4	{ padding-left: 6vw;}
.pl45	{ padding-left: 6.75vw;}
.pl5	{ padding-left: 7.5vw;}
.pb1	{ padding-bottom: 1.5vw;}
.pb15	{ padding-bottom: 2.25vw;}
.pb2	{ padding-bottom: 3vw;}
.pb25	{ padding-bottom: 3.75vw;}
.pb3	{ padding-bottom: 4.5vw;}
.pb3-0	{ padding-bottom: 0;}
.pb35	{ padding-bottom: 5.25vw;}
.pb4	{ padding-bottom: 6vw;}
.pb45	{ padding-bottom: 6.75vw;}
.pb5	{ padding-bottom: 7.5vw;}
.pb6	{ padding-bottom: 9vw;}
.pb7	{ padding-bottom: 10.5vw;}
.pb8	{ padding-bottom: 12vw;}
.pb9	{ padding-bottom: 13.5vw;}
.pb10	{ padding-bottom: 15vw;}
.pb-f	{ padding-bottom: 20vw;}*/
.tab-mt { margin-top: 2vw; }
.tab-mt2 { margin-top: 5vw; }
.tab-pt { padding-top: 5vw; }
.tab-pd { padding: 3vw 0; }
}
@media screen and (max-width: 540px) {
.pd02	{ padding: 0.1em 0; }
.pd08	{ padding: 2vw 0; }
.pd1	{ padding: 2vw 0; }
.pd15	{ padding: 3vw 0; }
.pd2	{ padding: 4vw 0; }
.pd25	{ padding: 5vw 0; }
.pd3	{ padding: 6vw 0; }
.pd35	{ padding: 7vw 0; }
.pd4	{ padding: 8vw 0; }
.pd45	{ padding: 9vw 0; }
.pd5	{ padding: 10vw 0; }
.pd6	{ padding: 12vw 0; }
.pd7	{ padding: 14vw 0; }
.pd8	{ padding: 16vw 0; }
.mg1	{ margin: 2vw auto; }
.mg15	{ margin: 3vw auto; }
.mg2	{ margin: 4vw auto; }
.mg25	{ margin: 5vw auto; }
.mg3	{ margin: 6vw auto; }
.mg4	{ margin: 8vw auto; }
.mg5	{ margin: 10vw auto; }
.mt1	{ margin-top: 2vw;}
.mt15	{ margin-top: 3vw;}
.mt2	{ margin-top: 4vw;}
.mt25	{ margin-top: 5vw;}
.mt3	{ margin-top: 6vw;}
.mt35	{ margin-top: 7vw;}
.mt4	{ margin-top: 8vw;}
.mt45	{ margin-top: 9vw;}
.mt5	{ margin-top: 10vw;}
.mt6	{ margin-top: 12vw;}
.mt8	{ margin-top: 16vw;}
.mt9	{ margin-top: 18vw;}
.mr1	{ margin-right: 2vw;}
.mr15	{ margin-right: 3vw;}
.mr2	{ margin-right: 4vw;}
.mr25	{ margin-right: 5vw;}
.mr3	{ margin-right: 6vw;}
.mr4	{ margin-right: 8vw;}
.mr5	{ margin-right: 10vw;}
.ml1	{ margin-left: 2vw;}
.ml15	{ margin-left: 3vw;}
.ml2	{ margin-left: 4vw;}
.ml25	{ margin-left: 5vw;}
.ml3	{ margin-left: 6vw;}
.ml4	{ margin-left: 8vw;}
.ml5	{ margin-left: 10vw;}
.mb1	{ margin-bottom: 2vw;}
.mb15	{ margin-bottom: 3vw;}
.mb2	{ margin-bottom: 4vw;}
.mb25	{ margin-bottom: 5vw;}
.mb3	{ margin-bottom: 6vw;}
.mb35	{ margin-bottom: 7vw;}
.mb4	{ margin-bottom: 8vw;}
.mb45	{ margin-bottom: 9vw;}
.mb5	{ margin-bottom: 10vw;}
.mb6	{ margin-bottom: 12vw;}
.pt1	{ padding-top: 2vw;}
.pt15	{ padding-top: 3vw;}
.pt2	{ padding-top: 4vw;}
.pt25	{ padding-top: 5vw;}
.pt3	{ padding-top: 6vw;}
.pt35	{ padding-top: 7vw;}
.pt4	{ padding-top: 8vw;}
.pt45	{ padding-top: 9vw;}
.pt5	{ padding-top: 10vw;}
.pt6	{ padding-top: 12vw;}
.pt7	{ padding-top: 14vw;}
.pt8	{ padding-top: 16vw;}
.pt9	{ padding-top: 18vw;}
.pt10	{ padding-top: 20vw;}
.pr1	{ padding-right: 2vw;}
.pr15	{ padding-right: 3vw;}
.pr2	{ padding-right: 4vw;}
.pr25	{ padding-right: 5vw;}
.pr3	{ padding-right: 6vw;}
.pr35	{ padding-right: 7vw;}
.pr4	{ padding-right: 8vw;}
.pr5	{ padding-right: 10vw;}
.pl1	{ padding-left: 2vw;}
.pl15	{ padding-left: 3vw;}
.pl2	{ padding-left: 4vw;}
.pl25	{ padding-left: 5vw;}
.pl3	{ padding-left: 6vw;}
.pl35	{ padding-left: 7vw;}
.pl4	{ padding-left: 8vw;}
.pl45	{ padding-left: 9vw;}
.pl5	{ padding-left: 10vw;}
.pb1	{ padding-bottom: 2vw;}
.pb15	{ padding-bottom: 3vw;}
.pb2	{ padding-bottom: 4vw;}
.pb25	{ padding-bottom: 5vw;}
.pb3	{ padding-bottom: 6vw;}
.pb3-2	{ padding-bottom: 19vw;}
.pb35	{ padding-bottom: 7vw;}
.pb4	{ padding-bottom: 8vw;}
.pb45	{ padding-bottom: 9vw;}
.pb5	{ padding-bottom: 10vw;}
.pb6	{ padding-bottom: 12vw;}
.pb7	{ padding-bottom: 14vw;}
.pb8	{ padding-bottom: 16vw;}
.pb9	{ padding-bottom: 18vw;}
.pb10	{ padding-bottom: 20vw;}
.pb-f	{ padding-bottom: 25vw;}
.tab-mt { margin-top: 3vw; }
.tab-mt2 { margin-top: 9vw; }
.tab-pt { padding-top: 0; }
.tab-pd { padding: 10vw 0; }
.sp-pt	{ padding-top: 8vw;}
.sp-mt0 { margin-top: 0; }
.sp-mt { margin-top: 3vw; }
.sp-mt2 { margin-top: 6vw; }
.sp-mt3 { margin-top: 9vw; }
.sp-mt4 { margin-top: 12vw; }
.sp-mt5 { margin-top: 15vw; }
.sp-pt { padding-top: 5vw; }
.sp-pl { padding-left: 2vw; }
.sp-pb { padding-bottom: 6vw; }
.sp-pb2 { padding-bottom: 9vw; }
}


/* !flex -------------------------------------------------------------- */
.flex,
.flex_pc,
.flex_all {
	display: flex;
	justify-content: space-between;
}
.iflex {
	display: inline-flex;
}
.aic {
	align-items: center;
}
.ais {
	align-items: start;
}
.aie {
	align-items: flex-end;
}
.flwWrap {
	flex-wrap: wrap;
}
.jcs {
	justify-content: start;
}
.jcc {
	justify-content: center;
}
.jcr {
	justify-content: flex-end;
}
.jc-se {
	justify-content: space-evenly;
}
.fd-rr {
	flex-direction: row-reverse;
}
.fd-column {
	flex-direction: column;
}
.flex-sh0 {
	flex-shrink: 0;
}
.order-1 {
	order: 1;
}
.order-2 {
	order: 2;
}
.flex-w100 {
	width: 100%;
}
.flex-w63 {
	width: 63%;
}
.flex-w62 {
	width: 62.4%;
}
.flex-w60 {
	width: 60%;
}
.flex-w49 {
	width: 49%;
}
.flex-w46 {
	width: 46%;
}
.flex-w40 {
	width: 40%;
}
.flex-w37 {
	width: 37%;
}
.flex-w34 {
	width: 34.04%;
}
.flex-col-1 {
	width: 100%;
}
.flex-col-2 {
	width: 49%;
	margin-left: 2%;
}
.flex-col-2:nth-child(2n-1) {
	margin-left: 0;
}
.flex-col-2min {
	width: 47.37%;
}
.flex-col-3 {
	width: 28.1%;
}
.flex-col-3w {
	width: 31.1%;
}
.flex-col-4 {
	width: 23.43%;
	margin-left: 2.09%;
}
.flex-col-4:nth-child(4n-3) {
	margin-left: 0;
}
.flex-col-6 {
	width: 15.8%;
}
@media screen and (max-width: 1024px) {
	.flex_pc {
		display: block;
	}
	.flex_pc [class^="flex-w"],
	.flex_pc [class^="flex-col-"] {
		width: 100%;
	}
}
@media screen and (max-width: 540px) {
	.flex {
		display: block;
	}
	.flex [class^="flex-w"],
	.flex [class^="flex-col-"] {
		width: 100%;
		margin-left: 0;
	}
	.flex_sp {
		display: flex;
	}
	.flex [class^="pr"]	{ padding-right: 0;}
	.flex [class^="pl"]	{ padding-left: 0;}
	.sp-w70 {
		width: 70%;
	}
}


/* !mv -------------------------------------------------------------- */
.mv_slide_wrapper {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	height: 30em;
	max-height: 90vh;
	position: relative;
	overflow: hidden;
}
@media screen and (min-width: 541px) {
	.mv_slide_wrapper {
		overflow: hidden;
	}
}
#mv_slide {
	width: 1920px;
}
@media screen and (max-width: 1905px) {
	#mv_slide {
		margin-left: calc(calc(100% - 119em) /2);
		margin-right: calc(calc(100% - 119em) /2);
	}
}
@media screen and (min-width: 541px) and (max-width: 1440px) {
	#mv_slide {
		width: 120em;
	}
}
#mv_slide .slider-img {
	width: 62.5em;
	max-width: 1032px;
	padding: 0 .5em;
}
#mv_slide img {
	width: 100%;
	object-fit: cover;
}
.mv_slide_txt_wrap {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 16.2em;
	left: calc(calc(calc(100% - 1440px) /2) + 16.2em);
	transform: translateY(-50%);
}
.mv_txt_1 {
	font-size: 2em;
	line-height: 1.4;
	padding: 0;
}
.mv_txt_2 {
	line-height: 2.25;
	padding: 1.1em 0 0;
}
@media screen and (max-width: 1440px) {
	.mv_slide_txt_wrap {
		left: 16.2em;
	}
}
@media screen and (max-width: 1024px) {
	.mv_slide_wrapper {
		font-size: 1.3vw;
	}
	.mv_slide_txt_wrap {
		left: 10em;
	}
}
@media screen and (max-width: 540px) {
	.mv_slide_wrapper {
		height: 113.1vw;
		font-size: 3vw;
	}
	#mv_slide {
		margin-left: 0;
		margin-right: 0;
		width: inherit;
		height: 107.7vw;
	}
	#mv_slide .slider-img {
		padding: 0;
	}
	.mv_slide_txt_wrap {
		left: 5vw;
		top: 55%;
		width: 90%;
	}
	.mv_txt_2 {
		line-height: 2;
	}
	#mv_slide .slick-dots {
		bottom: -6.8vw;
	}
	#mv_slide .slick-dots li {
		width: 10.3vw;
		height: 2px;
		margin: 0 3px;
	}
	#mv_slide .slick-dots li button {
		margin: 0;
		padding: 0;
		width: 10.3vw;
		height: 2px;
		line-height: 1;
	}
	#mv_slide .slick-dots li button:before {
		width: 100%;
		height: 2px;
		content: "";
		background: #e4e4e4;
		opacity: 1;
	}
	#mv_slide .slick-dots li.slick-active button:before {
		opacity: 1;
		background: var(--gold);
	}
}


.news_list a {
	line-height: 1.8;
	padding: 1.1em 0;
	display: flex;
}
.news_list a:hover {
	color: var(--blue);
}
.news_span {
	display: flex;
	white-space: nowrap;
	align-items: start;
	padding-right: 1em;
	line-height: 1.6;
	padding-top: .12em;
}
.news_cat {
	font-size: .875em;
	display: inline-block;
	border: 1px solid;
	border-radius: 1em;
	margin-right: 1.5em;
	padding: 0 1.1em;
	color: var(--blue);
	letter-spacing: 0.06em;
}
.news_list li {
	border-bottom: 1px solid #E7E7E7;
}
.mv_topnews_box .news_list li {
	border-bottom: none;
}
.news_day {
	color: #797979;
}
@media screen and (max-width: 540px) {
	.news_list a {
		font-size: 3.59vw;
		line-height: 2;
		padding: 1em 0 .8em;
		display: block;
	}
	.news_span {
		margin-bottom: .3em;
	}
}


.mv_topnews_box {
	position: absolute;
	right: 0;
	bottom: 0;
	border-top-left-radius: .5em;
	background: #4a4a4a;
}
.mv_topnews_box:hover {
	background: #404040;
}
.mv_topnews_box .news_list a {
	font-size: .875em;
	color: #fff;
	padding: 1em 1.5em;
}
.mv_topnews_box .news_list a:hover {
	color: var(--gold);
}
.mv_topnews_box .news_list a .news_cat {
	color: #fff;
}
.mv_topnews_box .news_list a:hover .news_cat {
	color: var(--gold);
}
.mv_topnews_box .news_day {
	color: inherit;
}
@media screen and (max-width: 1024px) {
	.mv_topnews_box .news_list a {
		font-size: 1em;
	}
}
@media screen and (max-width: 540px) {
	.mv_topnews_box {
		background: #FAFAFA;
		width: 100%;
		border-top-left-radius: 0;
		position: inherit;
		margin-top: 5.4vw;
	}
	.mv_topnews_box .news_list a {
		font-size: 3.59vw;
		color: #333;
		padding: 1em 1em .8em;
	}
	.mv_topnews_box .news_list a:hover {
		color: #333;
	}
	.mv_topnews_box .news_list a .news_cat {
		color: var(--gold);
		border-color: var(--gold);
	}
	.mv_topnews_box:hover {
		background: #FAFAFA;
	}
}


/* !decoration -------------------------------------------------------------- */
.nmr {
	margin-right: -0.5em;
}
.line-gold {
	position: relative;
	padding-bottom: .9em;
}
.line-gold::after {
	position: absolute;
	content: "";
	background: var(--gold);
	display: block;
	width: 56px;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (max-width: 1440px) {
	.line-gold::after {
		width: 3.889vw;
	}
}
@media screen and (max-width: 1024px) {
	.line-gold::after {
		width: 5.091vw;
	}
}
@media screen and (max-width: 540px) {
	.line-gold::after {
		width: 11.2vw;
	}
}
.txt-tate {
	writing-mode: vertical-rl;
}
.line-right {
	position: relative;
}
.line-right::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #F0E7D7;
	left: 0;
	top: 50%;
	z-index: -1;
}
.line-right span {
	display: inline-block;
	padding-right: .8em;
	background: #fff;
}


.btn-blue {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: .5em;
	background: var(--blue);
	box-shadow: 0px 2px 8px rgba(0,0,0,.2);
	color: #fff !important;
	line-height: 1.5;
	transition: all .2s;
}
.btn-blue:hover {
	background: #67b2be;
}
.btn-blue-iconleft {
	padding: 1em 1.5em;
}
.btn-blue-icon {
	background: #fff;
	border-radius: 50%;
	width: 4.5em;
	height: 4.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn-blue-icon img {
	width: 2.5em;
}
.btn-blue-iconleft .btn-blue-icon {
	margin-right: 1.5em;
}
.arrow2 {
	position: relative;
}
.arrow2::after,
.arrow2::before {
	position: absolute;
	content: "";
	display: block;
	right: 1.25em;
	top: 50%;
	transition: .2s;
}
.arrow2::after {
	background: rgba(255,255,255,.8);
	width: 1.25em;
	height: 1px;
}
.arrow2::before {
	background: #fff;
	width: .4em;
	height: 1px;
	transform: translateY(-0.15em) rotate(40deg);
}
.arrow2:hover::after,
.arrow2:hover::before {
	right: .8em;
}
@media screen and (max-width: 1024px) {
	.btn-blue-iconleft {
		padding: 1em;
	}
	.btn-blue-iconleft .btn-blue-icon {
		margin-right: 1em;
	}
	.btn-blue .fz16 {
		letter-spacing: 0;
	}
}
@media screen and (max-width: 540px) {
	.btn-blue .fz16 {
		font-size: 2.9vw;
	}
}


/* !contents -------------------------------------------------------------- */
.bg_01 {
	background: url(../images/bg_01.webp) center no-repeat;
	background-size: cover;
}
.bg_02 {
	background: url(../images/bg_02.webp) center no-repeat;
	background-size: cover;
}
.bg_03 {
	background: url(../images/bg_03.webp) center no-repeat;
	background-size: cover;
}
.bg_04 {
	background: url(../images/bg_04.webp) center no-repeat;
	background-size: cover;
}
@media screen and (min-width: 541px) {
	 .merit-02 {
		 margin-top: 4.2em;
	 }
}
@media screen and (max-width: 540px) {
	 .merit-01,
	 .merit-02,
	 .merit-03 {
		 margin-top: 6vw;
	 }
}

.txt-message {
	position: relative;
}
.txt-message::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 10em;
	height: 100%;
	background: url(../images/txt-message.webp) no-repeat;
	background-size: auto 100%;
	display: inline-block;
}
@media screen and (max-width: 540px) {
	.txt-message::before {
		content: none;
	}
	.sp-messimg {
		padding: 3% 10% 8% 15%;
	}
}

.map iframe {
	width: 100%;
}
@media screen and (max-width: 1440px) {
	.map iframe {
		height: 22.222vw;
	}
}
@media screen and (max-width: 1024px) {
	.map iframe {
		height: 29.091vw;
	}
}
@media screen and (max-width: 540px) {
	.map iframe {
		height: 50vw;
	}
}


.zi2 {
	z-index: 2;
	position: relative;
}


/* !footer
---------------------------------------------------------- */
.btn_footer_1,
.btn_footer_2,
.btn_footer_3,
.btn_footer_4 {
	width: 22.5em;
	height: 4.5em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	line-height: 1.25;
	border-radius: 2.3em;
	transition: .2s;
}
.btn_footer_1:hover,
.btn_footer_2:hover {
	color: #fff;
}
.btn_footer_1 {
	background: #B49B72;
	background: linear-gradient(0deg,rgba(180, 155, 114, 1) 0%, rgba(214, 189, 147, 1) 100%);
}
.btn_footer_2 {
	background: #88C4CD;
	background: linear-gradient(0deg,rgba(136, 196, 205, 1) 0%, rgba(156, 219, 229, 1) 100%);
}
.btn_footer_3,
.btn_footer_4 {
	border: 1px solid #fff;
}
.btn_footer_3 {
	padding-bottom: .2em;
	letter-spacing: 0.07em;
}
.btn_footer_1:hover,
.btn_footer_2:hover {
	filter: brightness(85%) contrast(115%);
}
.btn_footer_3:hover,
.btn_footer_4:hover {
	border: 1px solid var(--gold);
	color: var(--gold);
}


#footer {
	padding: 6em 0 3em;
}

.footer_nav a {
	display: block;
}
.footer_nav a:hover {
	color: var(--gold);
}
.footer_nav > ul > li {
	padding: .37em 0;
}
.footer_nav > ul > li > ul {
	margin-top: 1em;
}
.footer_nav > ul > li > ul > li a {
	line-height: 1.85;
	padding: .12em 0;
}
.footer_nav > ul > li > ul > li a::before {
	content: "";
	display: inline-block;
	background: #CDCDCD;
	height: 1px;
	width: .5em;
	margin-right: .5em;
	vertical-align: .3em;
}
.footer-mt {
	margin-top: 1.4em;
}
.footer-dot::before {
	content: "";
	display: inline-block;
	background: #CDCDCD;
	height: .34em;
	width: .34em;
	border-radius: 50%;
	margin-right: .5em;
	margin-left: 1.3em;
	vertical-align: .2em;
}

.copyright {
	text-align: right;
	color: #A3A3A3;
}
@media screen and (max-width: 1024px) {
	#footer {
		padding: 7vw 0 4vw;
		text-align: center;
	}
	#footer .fz12:not(.copyright) {
		font-size: 1.3vw;
	}
	.copyright {
		text-align: center;
	}
}
@media screen and (max-width: 540px) {
	#footer {
		padding: 10vw 0 5vw;
	}
	#footer .fz12:not(.copyright) {
		font-size: 2.8vw;
	}
}


a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}
@media screen and (max-width: 1440px) {
	a.anchor {
		padding-top: 6.944vw;
		margin-top: -6.944vw;
	}
}
@media screen and (max-width: 1024px) {
	a.anchor {
		padding-top: 9vw;
		margin-top: -9vw;
	}
}
@media screen and (max-width: 540px) {
	a.anchor {
		padding-top: 15.9vw;
		margin-top: -15.9vw;
	}
}


/* !Clearfix
---------------------------------------------------------- */
.clearfix::after,
.contactForm dd::after,
.block-course-price dd::after {
	content: '';
	display: block;
	height: 0;
	overflow: hidden;
	clear: both;
}

/* !tel
---------------------------------------------------------- */
@media (min-width: 541px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}