@charset "UTF-8";

/* !Base -------------------------------------------------------------- */
:root {
  --orange: #f57f31;
  --green: #08b800;
}
a {	color: #000; text-decoration: none; }
a:hover { color: #000; text-decoration: none;}
html { 
	font-size: 62.5%; overflow-y: scroll;
}
body {
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	line-height: 1.667;
	color: #000;
	background: #f5f5f5;
}
.bold2 {
	font-weight: 900;
}
.bold {
	font-weight: 700;
}
.semi-bold {
	font-weight: 600;
}
.medium {
	font-weight: 500;
}
.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: #000; }
.orange { color: #f57f31; }
.green { color: #08b800; }
.gray { color: #676767; }
.bg_white { background: #fff; }
.bg_black { background: #000; }
.bg_orange { background: #f57f31; }
.bg_green {
	background: rgb(58,204,158);
	background: linear-gradient(90deg, #00cd9d 0%, #01b900 100%);
}
.bg_gray {
	background: #fff;
	background: linear-gradient(180deg, #fff 0%, rgba(236,236,236,1) 100%);
}
.bg_lgray {	background: #f5f5f5; }
.bg_dgray { background: #414141; }
.shadow { box-shadow: 22px 8px 35px rgba(21,116,151,.18); }
.shadow2 { box-shadow: 3px 2px 7px rgba(20,16,19,.35); }
@media screen and (max-width: 1600px) {
.shadow { box-shadow: 1.375vw 0.5vw 2.188vw rgba(21,116,151,.18); }
}
@media screen and (max-width: 1024px) {
}
.br35 { border-radius: 35px; }
.br19 { border-radius: 19px; }
.br10 { border-radius: 10px; }
.fz65 { font-size: 65px; }
.fz45 { font-size: 45px; }
.fz42 { font-size: 42px; }
.fz30 { font-size: 30px; }
.fz26 { font-size: 26px; }
.fz25 { font-size: 25px; }
.fz24 { font-size: 24px; }
.fz23 { font-size: 23px; }
.fz22 { font-size: 22px; }
.fz20 { font-size: 20px; }
.fz19 { font-size: 19px; }
.fz18 { font-size: 18px; }
.fz17 { font-size: 17px; }
.fz16 { font-size: 16px; }
.fz15 { font-size: 15px; }
h2 { font-size: 45px; line-height: 1.58; font-weight: 900; }
h3,h4,h5 { font-size: 30px; line-height: 1.66; font-weight: 700; }
strong { font-weight: 700; }
.lh19 {line-height:1.85;}
.lh18 {line-height:1.8;}
.lh17 {line-height:1.67;}
.lh16 {line-height:1.6;}
.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;}
.ls004 {letter-spacing:0.04em;}
.ls005 {letter-spacing:0.05em;}
.ls008 {letter-spacing:0.08em;}
.ls01 {letter-spacing:0.1em;}
.ls015 {letter-spacing:0.15em;}
.ls02 {letter-spacing:0.19em;}
.ls025 {letter-spacing:0.25em;}
.ls03 {letter-spacing:0.3em;}
.ls04 {letter-spacing:0.4em;}
figcaption { line-height: 1.5; margin-top: 0.5em; }
.r_over { transition: all 0.3s;}
.r_over:hover { filter: brightness(110%);}
.r_over2 { transition: all 0.3s;}
.r_over2:hover { filter: brightness(300%) contrast(30%);}
.r_over3 { transition: all 0.3s;}
.r_over3:hover { filter: brightness(130%);}
.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: 1920px) {
}
@media screen and (max-width: 1813px) {
}
@media screen and (max-width: 1700px) {
}
@media screen and (max-width: 1364px) {
body { font-size: 1.32vw; }
.fz65 { font-size: 4.765vw; }
.fz45 { font-size: 3.299vw; }
.fz42 { font-size: 3.079vw; }
.fz30 { font-size: 2.199vw; }
.fz26 { font-size: 1.906vw; }
.fz25 { font-size: 1.833vw; }
.fz24 { font-size: 1.76vw; }
.fz23 { font-size: 1.686vw; }
.fz22 { font-size: 1.613vw; }
.fz20 { font-size: 1.466vw; }
.fz19 { font-size: 1.393vw; }
.fz18 { font-size: 1.32vw; }
.fz17 { font-size: 1.246vw; }
.fz16 { font-size: 1.173vw; }
.fz15 { font-size: 1.1vw; }
h2 { font-size: 3.299vw; }
h3,h4,h5 { font-size: 2.199vw; }
.br35 { border-radius: 2.566vw; }
}
@media screen and (max-width: 1024px) {
body { font-size: 1.758vw; }
.fz65 { font-size: 6.348vw; }
.fz45 { font-size: 4.395vw; }
.fz42 { font-size: 4.102vw; }
.fz30 { font-size: 2.93vw; }
.fz26 { font-size: 2.539vw; }
.fz25 { font-size: 2.441vw; }
.fz24 { font-size: 2.344vw; }
.fz23 { font-size: 2.246vw; }
.fz22 { font-size: 2.148vw; }
.fz20 { font-size: 1.953vw; }
.fz19 { font-size: 1.855vw; }
.fz18 { font-size: 1.758vw; }
.fz17 { font-size: 1.66vw; }
.fz16 { font-size: 1.563vw; }
.fz15 { font-size: 1.465vw; }
h2 { font-size: 4.395vw; }
h3,h4,h5 { font-size: 2.93vw; }
.br35 { border-radius: 3.418vw; }
.tab-taC { text-align: center !important;}
}
@media screen and (max-width: 540px) { /*520px*/
body { font-size: 3.462vw; }
.fz65 { font-size: 12.5vw; }
.fz45 { font-size: 8.654vw; }
.fz42 { font-size: 8.077vw; }
.fz30 { font-size: 5.769vw; }
.fz26 { font-size: 5vw; }
.fz25 { font-size: 4.808vw; }
.fz24 { font-size: 4.615vw; }
.fz23 { font-size: 4.423vw; }
.fz23 { font-size: 4vw; }
.fz22 { font-size: 4.231vw; }
.fz22 { font-size: 4vw; }
.fz20 { font-size: 3.846vw; }
.bg_topics .fz20 { font-size: 3.733vw; }
.fz19 { font-size: 3.654vw; }
.fz18 { font-size: 3.462vw; }
.fz18-2 { font-size: 3.73vw; }
.fz17 { font-size: 3.269vw; }
.fz16 { font-size: 3.077vw; }
.fz15 { font-size: 2.885vw; }
h2 { font-size: 6.267vw; }
.bg_topics h2 { font-size: 5.9vw; }
h3,h4,h5 { font-size: 4.267vw; }
.flow h3 { font-size: 5.3vw; }
.br35 { border-radius: 6.731vw; }
.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; }
.dib { display: inline-block; }


/* toggle menu sp */
#header nav{
} 
.drawer{
}
 
/*ナビゲーション部分*/

.menu ul li a {
}
@media screen and (max-width: 1024px) {
	.menu { 
		background: #f5f5f5;
		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: 100%;
		height: 100%;
		overflow-y: auto;
		scrollbar-width: none;
		overscroll-behavior: none;
	}
	.menu_ul_wrap {
		width: 100%;
		min-height: 100.1%;
		min-height: calc(100% + 1px);
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 14vh 0;
	}
	.menu ul:not(.sp-menu-sub) {
		width: 100%;
		display: flex;
		flex-direction: column;
	}
	.menu ul:not(.sp-menu-sub) li {
		width: 100%;
		padding: 2.1vw 7vw;
	}
	.menu ul:not(.sp-menu-sub) li {
		border-bottom: 1px solid #c6c6c6;
	}
	
	.menu ul li a {
		font-size: 3.5vw;
		color: #151515;
	}
	.menu ul.sp-menu-sub {
		padding: 0 7vw;
	}
	.menu ul.sp-menu-sub li {
		padding: 1vw 0;
		font-size: 2.5vw;
	}
	.menu ul.sp-menu-sub li a {
		color: #494949;
		font-size: 2.5vw;
	}
	.menu ul.sp-menu-sub li:nth-child(2)::before,
	.menu ul.sp-menu-sub li:nth-child(3)::before {
		content: "|";
		margin-left: 1em;
		margin-right: 1em;
	}
	 
	.menu.open {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	 
	.Toggle {
		display: block;
		position: fixed;
		cursor: pointer;
		z-index: 4;
		width: 10.352vw;
		height: 10.352vw;
		top: 1.5vw;
		right: 1.7vw;
		line-height: 1;
		background: #343434;
		border-radius: 1.33vw;
	}
	.Toggle span {
		display: block;
		position: absolute;
		left: 3.2vw;
		transition: all .3s;
	}
	.Toggle span:nth-child(1),
	.Toggle span:nth-child(2),
	.Toggle span:nth-child(3) {
		width: 4vw;
		border-bottom: solid 2px #fff;
	}
	.Toggle span:nth-child(1) {
		top: 3.6vw;
	}
	.Toggle span:nth-child(2) {
		top: 5.1vw;
	}
	.Toggle span:nth-child(3) {
		top: 6.6vw;
	}
	.Toggle.active {
	}
	.Toggle.active span:nth-child(1),
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
		top: 5.3vw;
	}
	.Toggle.active span {
		left: 2.8vw;
	}
	.Toggle.active span:nth-child(1) {
		width: 5vw;
		top: 5vw;
		transform: rotate(-45deg);
	}
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
		width: 5vw;
		top: 5vw;
		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;
	}
	.header-sp-contact {
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		cursor: pointer;
		z-index: 2;
		width: 10.352vw;
		height: 10.352vw;
		top: 1.5vw;
		right: 13.5vw;
		line-height: 1;
		border-radius: 1.33vw;
	}
	.header-sp-contact span {
		font-size: 2vw;
		color: #fff;
		text-align: center;
	}
	.header-sp-contact span::before {
		content: "";
		background: url(../images/icon-line-white.svg) no-repeat;
		background-size: contain;
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 4.883vw;
		height: 4.59vw;
		margin-bottom: 0.391vw;
	}
	.menu ul li:not(.menu-contact) a span {
		position: relative;
	}
	li.menu-contact {
		display: none;
	}
	.sp-menu-btn {
		padding: 7vw 5vw;
	}
}
@media screen and (max-width: 540px) {
	.menu { 
		padding: 0;
	}
	.menu_ul_wrap {
		padding: 17vh 0;
	}
	.menu ul:not(.sp-menu-sub) li {
	}
	.menu ul li a {
		font-size: 4.67vw;
	}
	.menu ul.sp-menu-sub li {
		font-size: 3.2vw;
	}
	.menu ul.sp-menu-sub li a {
	}
	
	 
	.Toggle {
		width: 13.3vw;
		height: 13.3vw;
		top: 2.133vw;
		right: 2.667vw;
	}
	.Toggle span {
		left: 4vw;
	}
	.Toggle span:nth-child(1),
	.Toggle span:nth-child(2),
	.Toggle span:nth-child(3) {
		width: 5.3vw;
	}
	.Toggle span:nth-child(1) {
		top: 4.4vw;
	}
	.Toggle span:nth-child(2) {
		top: 6.3vw;
	}
	.Toggle span:nth-child(3) {
		top: 8.2vw;
	}
	.Toggle.active span {
		left: 3.8vw;
	}
	.Toggle.active span:nth-child(1) {
		width: 6vw;
		top: 6.3vw;
		transform: rotate(-45deg);
	}
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
		width: 6vw;
		top: 6.3vw;
		transform: rotate(45deg);
	}
	.menu ul li.menu-contact {
	}
	.menu ul li.menu-contact a {
	}
	.header-sp-contact {
		width: 13.3vw;
		height: 13.3vw;
		top: 2.133vw;
		right: 18vw;
	}
	.header-sp-contact span {
		font-size: 2.667vw;
	}
	.header-sp-contact span::before {
		width: 6.667vw;
		height: 6.267vw;
		margin-bottom: 0.533vw;
	}
	.home .menu ul li.menu-0 a span::before,
	.about .menu ul li.menu-1 a span::before,
	.program .menu ul li.menu-2 a span::before,
	.gallery .menu ul li.menu-3 a span::before,
	.price .menu ul li.menu-4 a span::before,
	.recruit .menu ul li.menu-6 a span::before,
	.single-blog .menu ul li.menu-5 a span::before,
	.archive .menu ul li.menu-5 a span::before {
		left: -8.8vw;
		width: 5.733vw;
		height: 5.867vw;
	}
}

/* toggle menu pc */
@media screen and (min-width: 1025px) {
	.Toggle {
		display: none;
	}
	.menu {
		height: 5.211vw;
		position: fixed;
		top: 0;
		right: 0;
	}
	.menu_ul_wrap {
		height: 100%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.menu ul {
		height: 100%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.menu ul li {
		padding: 0 0.947vw;
	}
	.menu ul li:not(.menu-contact) {
	}
	.menu ul li a {
		color: #000;
		width: 100%;
		height: 100%;
		display: block;
		white-space: nowrap;
		font-size: 0.947vw;
	}
	.menu ul li:not(.menu-contact) a span {
		padding-bottom: 0.211vw;
	}
	.menu ul li:not(.menu-contact) a span:hover {
		border-bottom: 4px solid #f57f31;
		border-bottom-width: 0.211vw;
	}
	.menu ul li.menu-contact {
		height: 3.105vw;
		margin-left: 0.211vw;
	}
	.menu ul li.menu-contact a {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		width: 13.789vw;
		height: 100%;
		font-size: 1.053vw;
		transition: all .2s;
		border-radius: 1.579vw;
	}
	.menu ul li.menu-contact a:hover {
		filter: brightness(110%);
	}
	.menu ul li.menu-contact a span {
		position: relative;
		padding-left: 2.316vw;
	}
	.menu ul li.menu-contact a span::before {
		position: absolute;
		content: "";
		display: block;
		background: url(../images/icon-line-white.svg) no-repeat;
		background-size: contain;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		width: 1.737vw;
		height: 1.632vw;
	}
	.header-sp-contact {
		display: none;
	}
	.header-cover {
		display: none;
	}
}
@media screen and (min-width: 1900px) {
	.menu {
		height: 99px;
	}
	.menu ul li {
		padding: 0 18px;
	}
	.menu ul li a {
		font-size: 18px;
	}
	.menu ul li:not(.menu-contact) a span {
		padding-bottom: 4px;
	}
	.menu ul li:not(.menu-contact) a span:hover {
		border-bottom-width: 4px;
	}
	.menu ul li.menu-contact {
		height: 59px;
		margin-left: 4px;
	}
	.menu ul li.menu-contact a {
		width: 262px;
		height: 100%;
		font-size: 20px;
		border-radius: 30px;
	}
	.menu ul li.menu-contact a span {
		padding-left: 44px;
	}
	.menu ul li.menu-contact a span::before {
		width: 33px;
		height: 31px;
	}
}


/* !header -------------------------------------------------------------- */
#header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 5;
	display: flex;
	justify-content: space-between;
	height: 99px;
	/*background: #fff;*/
}
#header.change-color {
	/*background: #fff;*/
}
.home #contents {
}
@media screen and (max-width: 1700px) {
	#header {
	}
}
@media screen and (max-width: 1024px) {
	#header {
	}
}
@media screen and (max-width: 540px) {
	#header {
		height: 13.3vw;
	}
}


/* !logo -------------------------------------------------------------- */
.logo,
.footer_logo {
	padding: 0;
}
.logo,
.footer_logo {
	width: 170px;
	height: 198px;
	/*background: #f5f5f5;*/
	mix-blend-mode: multiply;
	position: fixed;
	z-index:5;
	left: 27px;
	top: 18px;
}
.footer_logo {
	position: inherit;
	margin-left: auto;
	margin-right: auto;
}
.logo a,
.footer_logo a {
	display: block;
}
.logo a img,
.footer_logo a img {
	width: 100%;
	height: 100%;
}
.footer_logo a {
}
@media screen and (max-width: 1900px) {
	.logo {
		width: 8.947vw;
		height: 10.421vw;
		left: 1.421vw;
		top: 0.947vw;
	}
}
@media screen and (max-width: 1364px) {
	.footer_logo {
		width: 12.463vw;
		height: 14.516vw;
	}
	.logo-eastdaily {
		width: 14.076vw;
	}
}
@media screen and (max-width: 1024px) {
	.logo {
		width: 16.602vw;
		height: 19.336vw;
		left: 2.637vw;
		top: 1.074vw;
	}
	.footer_logo {
		width: 16.602vw;
		height: 19.336vw;
	}
	.logo-eastdaily {
		width: 18.75vw;
	}
}
@media screen and (max-width: 540px) {
	.logo {
		width: 22.667vw;
		height: 26.4vw;
		left: 4.533vw;
		top: 1.467vw;
	}
	.footer_logo {
		width: 22.667vw;
		height: 26.4vw;
	}
	.logo-eastdaily {
		width: 25.6vw;
	}
}


.container {
	width: 88%;
	max-width: 1200px;
	margin: 0 auto;
}
.container-min {
	width: 88%;
	max-width: 1200px;
	margin: 0 auto;
}
.container100 {
	width: 100%;
	margin: 0 auto;
}
.container1600 {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}
.container1920 {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
.container-left {
	margin-left: 0;
	margin-right: auto;
}
.container-right {
	margin-right: 0;
	margin-left: auto;
}
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 1024px) {
	.container-min {
		width: 60%;
	}
}
@media screen and (max-width: 540px) {
	.container-min {
		width: 88%;
	}
}


/* !btn -------------------------------------------------------------- */
a.btn_01 {
	display: inline-block;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: .95;
	transition: all .2s;
	font-weight: 600;
	font-size: 25px;
	width: 446px;
	height: 76px;
	border-radius: 38px;
}
a.btn_01.bg_green {
	color: #fff;
}
a.btn_01.bg_gray {
	color: #08b800;
}
a.btn_01::after {
	background: url(../images/btn_arrow_green.png) no-repeat;
	background-size: contain;
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s;
	right: 34px;
	width: 20px;
	height: 16px;
}
a.btn_01.bg_green::after {
	background-image: url(../images/btn_arrow_white.png);
}
a.btn_01.taC {
	margin: 0 auto;
	text-align: center;
}
a.btn_01 span {
	position: relative;
	padding-left: 30px;
}
a.btn_01 span::before {
	background: url(../images/btn_icon_green.png) no-repeat;
	background-size: contain;
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s;
	left: -28px;
	width: 42px;
	height: 40px;
}
a.btn_01.bg_green span::before {
	background-image: url(../images/icon-line-white.svg);
}
a.btn_01.btn_01_long {
	font-size: 22px;
	width: 471px;
}
a.btn_01.btn_01_long span {
	padding-left: 0;
	padding-right: 30px;
}
a.btn_01.btn_01_long span::before {
	content: none;
}
@media screen and (min-width: 1025px) {
	a.btn_01:hover::after {
		right: 29px;
	}
	a.btn_01:hover,
	.submitbtnWrap:hover {
		filter: brightness(105%);
	}
}
@media screen and (max-width: 1900px) {
	.mv_txt a.btn_01 {
		font-size: 1.316vw;
		width: 23.474vw;
		height: 4vw;
		border-radius: 2vw;
	}
	.mv_txt a.btn_01::after {
		right: 1.789vw;
		width: 1.053vw;
		height: 0.842vw;
	}
	.mv_txt a.btn_01 span {
		padding-left: 1.579vw;
	}
	.mv_txt a.btn_01 span::before {
		left: -1.474vw;
		width: 2.211vw;
		height: 2.105vw;
	}
}
@media screen and (max-width: 1364px) {
	a.btn_01 {
		font-size: 1.833vw;
		width: 32.698vw;
		height: 5.572vw;
		border-radius: 2.786vw;
	}
	a.btn_01::after {
		right: 2.493vw;
		width: 1.466vw;
		height: 1.173vw;
	}
	a.btn_01 span {
		padding-left: 2.199vw;
	}
	a.btn_01 span::before {
		left: -2.053vw;
		width: 3.079vw;
		height: 2.933vw;
	}
	a.btn_01.btn_01_long {
		font-size: 1.613vw;
		width: 34.531vw;
	}
	a.btn_01.btn_01_long span {
		padding-left: 0;
		padding-right: 2.199vw;
	}
}
@media screen and (max-width: 1024px) {
	a.btn_01 {
		font-size: 2.441vw;
		width: 43.555vw;
		height: 7.422vw;
		border-radius: 3.711vw;
		margin: 0 auto;
	}
	a.btn_01::after {
		right: 3.32vw;
		width: 1.953vw;
		height: 1.563vw;
	}
	a.btn_01 span {
		padding-left: 2.93vw;
	}
	a.btn_01 span::before {
		left: -2.734vw;
		width: 4.102vw;
		height: 3.906vw;
	}
	.mv_txt a.btn_01 {
		font-size: 3.333vw;
		width: 59.467vw;
		height: 10.133vw;
		border-radius: 5.067vw;
	}
	.mv_txt a.btn_01::after {
		right: 4.533vw;
		width: 2.667vw;
		height: 2.133vw;
	}
	.mv_txt a.btn_01 span {
		padding-left: 4vw;
	}
	.mv_txt a.btn_01 span::before {
		left: -3.733vw;
		width: 5.6vw;
		height: 5.333vw;
	}
	a.btn_01.btn_01_long {
		font-size: 2.148vw;
		width: 45.996vw;
	}
	a.btn_01.btn_01_long span {
		padding-left: 0;
		padding-right: 2.93vw;
	}
}
@media screen and (max-width: 540px) {
	a.btn_01 {
		font-size: 4vw;
		width: 68.667vw;
		height: 10.133vw;
		border-radius: 5.067vw;
	}
	a.btn_01::after {
		right: 4.533vw;
		width: 2.667vw;
		height: 2.133vw;
	}
	a.btn_01 span {
		padding-left: 4vw;
	}
	a.btn_01 span::before {
		left: -10vw;
		width: 5.6vw;
		height: 5.333vw;
	}
	.mv_txt a.btn_01 {
		font-size: 3.733vw;
		width: 66.7vw;
		height: 12vw;
		border-radius: 6vw;
	}
	.mv_txt a.btn_01::after {
		right: 4.533vw;
		width: 2.667vw;
		height: 2.133vw;
	}
	.mv_txt a.btn_01 span {
		padding-left: 4vw;
	}
	.mv_txt a.btn_01 span::before {
		left: -10vw;
		width: 5.6vw;
		height: 5.333vw;
	}
	a.btn_01.btn_01_long {
		font-size: 3.86vw;
		width: 73.3vw;
	}
	a.btn_01.btn_01_long span {
		padding-left: 0;
		padding-right: 4vw;
	}
}


/* !flex -------------------------------------------------------------- */
.flex,
.flex_pc,
.flex_all,
.flex_pcpro {
	display: flex;
	justify-content: space-between;
}
.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-w53 {
	width: 53%;
}
.flex-w52 {
	width: 52%;
}
.flex-w48 {
	width: 48%;
}
.flex-w47 {
	width: 47%;
}
.flex-w46 {
	width: 46%;
}
.flex-w45 {
	width: 45%;
}
.flex-w42 {
	width: 42.1%;
}
@media screen and (max-width: 1024px) {
	.flex_pc {
		display: block;
	}
	.flex_pc .flex-w53,
	.flex_pc .flex-w48,
	.flex_pc .flex-w47,
	.flex_pc .flex-w46 {
		width: 100%;
	}
}
@media screen and (max-width: 820px) {
	.flex_pcpro {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.flex {
		display: block;
	}
	.flex_sp {
		display: flex;
	}
	.flex-w52,
	.flex-w45 {
		width: 100%;
	}
}


.fl_r {
	float: right;
}
.fl_l {
	float: left;
}


/* !行間設定 -------------------------------------------------------------- */
.pd0	{ padding: 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;}
.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;}
.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;}
.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;}
.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;}
.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: 5.5vw; }
.tab-mt2 { margin-top: 9vw; }
.tab-pd { padding: 3vw 0; }
}
@media screen and (max-width: 540px) {
.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;}
.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;}
.pl5	{ padding-left: 10vw;}
.pb1	{ padding-bottom: 2vw;}
.pb15	{ padding-bottom: 3vw;}
.pb2	{ padding-bottom: 4vw;}
.pb25	{ padding-bottom: 5vw;}
.pb3	{ padding-bottom: 6vw;}
.pb35	{ padding-bottom: 7vw;}
.pb4	{ padding-bottom: 8vw;}
.pb45	{ padding-bottom: 9vw;}
.pb5	{ padding-bottom: 10vw;}
.pb6	{ padding-bottom: 12vw;}
.pb7	{ padding-bottom: 14vw;}
.price .pb7	{ padding-bottom: 2vw;}
.single-blog .pb7	{ padding-bottom: 1vw;}
.pb8	{ padding-bottom: 16vw;}
.pb9	{ padding-bottom: 18vw;}
.about .pb9	{ padding-bottom: 3vw;}
.program .pb9	{ padding-bottom: 3vw;}
.post-type-archive-recruit .pb9	{ padding-bottom: 3vw;}
.post-type-archive-gallery .pb9	{ padding-bottom: .1vw;}
.contact .pb9	{ padding-bottom: .1vw;}
.privacy-policy .pb9	{ padding-bottom: .1vw;}
.n404 .pb9	{ padding-bottom: .1vw;}
.pb10	{ padding-bottom: 20vw;}
.pb-f	{ padding-bottom: 25vw;}
.sp-mt { margin-top: 3vw; }
.sp-mt2 { margin-top: 6vw; }
.sp-mt3 { margin-top: 9vw; }
.sp-mt4 { margin-top: 12vw; }
.sp-mt5 { margin-top: 25vw; }
.sp-pt { padding-top: 18vw; }
.sp-pb { padding-bottom: 6vw; }
.sp-pb2 { padding-bottom: 9vw; }
.tab-mt { margin-top: 17vw; }
.tab-mt2 { margin-top: 12vw; }
.tab-pd { padding: 10vw 0; }
}
@media screen and (min-width: 541px) {
.pt5-pc { padding-top: 5em;}
}


/* !fv -------------------------------------------------------------- */
#mv {
	height: 1080px;
	position: relative;
	background: #f5f5f5 url(../images/bg_01.webp) center top no-repeat;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
.mv_slide_wrap {
	position: absolute;
	left: 544px;
	top: 118px;
	width: 831px;
	height: 735px;
	padding: 78px 276px 17px 261px;
}
.mv_slide_wrap::before {
	position: absolute;
	content: "";
	display: block;
	background: url(../images/mv_phone.webp) no-repeat;
	background-size: 100%;
	z-index: 2;
	width: 831px;
	height: 735px;
	left: 0;
	top: 0;
}
#mv_slide .slide-inner {
	width: 297px;
	height: 640px;
}
#mv_slide .slide-inner img {
	width: 100%;
	height: 100%;
}
.mv_illust_wrap {
	position: absolute;
	left: 1215px;
	top: 257px;
	width: 485px;
	height: 495px;
}
#mv_illust .slide-inner {
	width: 485px;
	height: 495px;
}
#mv_illust .slide-inner img {
	width: 100%;
	height: 100%;
}
.dots {
	position: relative;
	top: 898px;
}
#mv .slick-dots li {
    margin: 0 2px;
}
.slick-dots li button:before {
    font-size: 13px;
    opacity: 1;
}
.slick-dots li.slick-active button:before {
    opacity: 1;
    color: var(--orange);
}

.mv_txt {
	position: absolute;
	z-index: 2;
	top: 308px;
	left: 218px;
}
.mv_title_txt1 {
	border: 2px solid var(--orange);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	width: 512px;
	height: 48px;
	border-radius: 24px;
	margin-bottom: 28px;
}
.mv_title_txt1::after {
	content: "";
	background: var(--orange);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	bottom: -13px;
	width: 23px;
	height: 13px;
}
.mv_title_txt2 {
	font-size: 65px;
	line-height: 1.246;
	letter-spacing: 0.04em;
}
.txt-line {
	display: inline-block;
	background: url(../images/txt-line.png) no-repeat;
	background-size: contain;
	background-position: top;
	text-indent: 101%;
	overflow: hidden;
	white-space: nowrap;
	width: 170px;
	height: 60px;
	margin-right: 13px;
	vertical-align: -6px;
}
.mv_title_txt3 {
	font-size: 20px;
	line-height: 1.85;
}
@media screen and (max-width: 1900px) {
	#mv {
		height: 56.842vw;
		background-size: 101.053vw;
	}
	.mv_slide_wrap {
		left: 28.632vw;
		top: 6.211vw;
		width: 43.737vw;
		height: 38.684vw;
		padding: 4.105vw 14.526vw 0.895vw 13.737vw;
	}
	.mv_slide_wrap::before {
		width: 43.737vw;
		height: 38.684vw;
	}
	#mv_slide .slide-inner {
		width: 15.632vw;
		height: 33.684vw;
	}
	.mv_illust_wrap {
		left: 63.947vw;
		top: 13.526vw;
		width: 25.526vw;
		height: 26.053vw;
	}
	#mv_illust .slide-inner {
		width: 25.526vw;
		height: 26.053vw;
		object-fit: cover;
	}
	#mv_illust .slide-inner {
	}
	.dots {
		top: 47.263vw;
	}
	.slick-dots li button:before {
		font-size: 0.684vw;
	}
	.mv_txt {
		top: 16.211vw;
		left: 11.474vw;
	}
	.mv_title_txt1 {
		font-size: 1.053vw;
		width: 26.947vw;
		height: 2.526vw;
		border-radius: 1.263vw;
		margin-bottom: 1.474vw;
	}
	.mv_title_txt1::after {
		bottom: -0.684vw;
		width: 1.211vw;
		height: 0.684vw;
	}
	.mv_title_txt2 {
		font-size: 3.421vw;
	}
	.txt-line {
		width: 8.947vw;
		height: 3.158vw;
		margin-right: 0.684vw;
		vertical-align: -0.316vw;
	}
	.mv_title_txt3 {
		font-size: 1.053vw;
	}
}
@media screen and (max-width: 1334px) {
}
@media screen and (max-width: 1024px) {
	#mv {
		height: 196.8vw;
		background: #f5f5f5 url(../images/bg_01_sp.webp) center top no-repeat;
		background-size: 100%;
	}
	.mv_slide_wrap {
		left: 11.867vw;
		top: 107.467vw;
		width: 60.933vw;
		height: 69.867vw;
		padding: 0.933vw 29.2vw 2vw 1.067vw;
	}
	.mv_slide_wrap::before {
		background: url(../images/mv_phone_sp.webp) no-repeat;
		background-size: 100%;
		width: 60.933vw;
		height: 69.867vw;
	}
	#mv_slide .slide-inner {
		width: 30.667vw;
		height: 66.933vw;
	}
	.mv_illust_wrap {
		left: 50%;
		top: 129vw;
		width: 44.091vw;
		height: 45vw;
	}
	#mv_illust .slide-inner {
		width: 44.091vw;
		height: 45vw;
	}
	.dots {
		top: 180vw;
	}
	.slick-dots li,
	.slick-dots li button {
		width: 2.667vw;
		height: 2.667vw;
	}
	.slick-dots li button:before {
		font-size: 1.733vw;
	}
	.mv_txt {
		top: 32.8vw;
		left: 0px;
		text-align: center;
		width: 100%;
	}
	.mv_title_txt1 {
		font-size: 3.467vw;
		width: 85.2vw;
		height: 8vw;
		border-radius: 4vw;
		border-width: 1px;
		margin-bottom: 4.2vw;
		margin-left: auto;
		margin-right: auto;
	}
	.mv_title_txt1::after {
		bottom: -2.533vw;
		width: 4.533vw;
		height: 2.533vw;
	}
	.mv_title_txt2 {
		font-size: 8.667vw;
	}
	.txt-line {
		width: 22.667vw;
		height: 8vw;
		margin-right: 1.733vw;
		vertical-align: -0.8vw;
	}
	.mv_title_txt3 {
		font-size: 3.733vw;
		line-height: 1.54;
		margin-top: 1.8vw;
		margin-bottom: 3.3vw;
	}
}
@media screen and (max-width: 540px) {
	.dots {
		top: 178.5vw;
	}
}


.border-bottom {
	display: inline-block;
	position: relative;
	padding-bottom: .5em;
	margin-bottom: .15em;
}
.border-bottom::before {
	position: absolute;
	content: "";
	background: #bbb;
	width: 100%;
	height: 2px;
	bottom: 0;
	left: 0;
	display: block;
}
.border-bottom::after {
	position: absolute;
	content: "";
	background: var(--orange);
	width: 32%;
	height: 2px;
	bottom: 0;
	left: 0;
	display: block;
}
@media screen and (max-width: 1024px) {
	.border-bottom {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.border-bottom {
		padding-bottom: .6em;
		margin-bottom: 0;
	}
}


.bg_02 {
	background: #f5f5f5 url(../images/bg_02.webp) center top repeat-y;
}
@media screen and (max-width: 1900px) {
	.bg_02 {
		background-size: 101.053vw;
	}
}
@media screen and (max-width: 1024px) {
	.bg_02 {
		background: #f5f5f5 url(../images/bg_02_sp.webp) center top repeat-y;
		background-size: 100%;
	}
}
@media screen and (max-width: 540px) {
	.bg_02 {
	}
}

.img_01 {
	position: relative;
}
.img_01 img {
	position: absolute;
	right: -28px;
	top: -110px;
	width: 188px;
}
@media screen and (max-width: 1920px) {
}
@media screen and (max-width: 1364px) {
	.img_01 img {
		right: -2.053vw;
		top: -8.065vw;
		width: 13.783vw;
	}
}
@media screen and (max-width: 1024px) {
	.img_01 img {
		right: -2.734vw;
		top: -10.742vw;
		width: 18.359vw;
	}
	.img_02 {
		width: 76vw;
	}
	.box_01 {
		padding: 15vw 12vw 0;
	}
}
@media screen and (max-width: 540px) {
	.img_01 img {
		right: 0;
		top: -14.667vw;
		width: 25.067vw;
	}
	.box_01 {
		padding: 20vw 0 0;
	}
}

.border-3px {
	border: 3px solid var(--orange);
}
.box_02 {
	padding: 40px 30px 15px;
}
@media screen and (max-width: 1364px) {
	.box_02 {
		padding: 2.933vw 2.199vw 1.1vw;
	}
	.img_03 {
		width: 30.425vw;
	}
}
@media screen and (max-width: 1024px) {
	.box_02 {
		padding: 3.906vw 4vw 1.465vw;
	}
	.box_02 + .box_02 {
		margin-top: 5vw;
	}
}
@media screen and (max-width: 540px) {
	.box_02 {
		padding: 5vw 5vw 3vw;
	}
	.border-3px {
		border-width: 2px;
	}
	.img_03 {
		width: 43vw;
	}
}

.bg_topics {
	background: url(../images/bg_topics.webp) center no-repeat;
	justify-content: start;
	height: 1355px;
	padding-top: 166px;
}
@media screen and (max-width: 1364px) {
	.bg_topics {
		height: 99.34vw;
		padding-top: 12.17vw;
		background-size: 140.762vw;
	}
}
@media screen and (max-width: 540px) {
	.bg_topics {
		justify-content: center;
		background: url(../images/bg_topics_sp.webp) center no-repeat;
		background-size: cover;
		height: 198.8vw;
		padding-top: 0;
	}
	.bg_topics .lh19 {
		line-height: 1.78;
	}
	.txt-topics {
		width: 16.133vw;
	}
}

.border-bottom-white {
	position: relative;
	padding-bottom: .5em;
	margin-bottom: .15em;
}
.border-bottom-white::before {
	position: absolute;
	content: "";
	background: #fff;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	border-radius: 3px;
	width: 134px;
	height: 5px;
}
@media screen and (max-width: 540px) {
	.border-bottom-white {
		padding-bottom: .7em;
		margin-bottom: .2em;
	}
	.border-bottom-white::before {
		border-radius: 0.4vw;
		width: 17.867vw;
		height: 0.667vw;
	}
}

.border-orange {
	position: relative;
}
.border-orange::after,
.border-orange::before {
	position: absolute;
	content: "";
	display: inline-block;
	background: var(--orange);
	bottom: 10%;
	clip-path: polygon(90% 0, 100% 10%, 10% 100%, 0 90%);
	width: 28px;
	height: 28px;
}
.border-orange::after {
	right: -45px;
}
.border-orange::before {
	clip-path: polygon(100% 90%, 90% 100%, 0 10%, 10% 0);
	left: -45px;
}
.btn-wrap {
	padding: 30px 60px 30px 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn-wrap-txt {
	line-height: 1.3;
	font-weight: 700;
	font-size: 42px;
	padding: 0 45px;
}
.btn-wrap-txt2 {
	font-size: 19px;
}
@media screen and (max-width: 1364px) {
	.border-orange::after,
	.border-orange::before {
		width: 2.053vw;
		height: 2.053vw;
	}
	.border-orange::after {
		right: -3.299vw;
	}
	.border-orange::before {
		left: -3.299vw;
	}
	.btn-wrap {
		padding: 2.199vw 4.399vw 2.199vw 2.199vw;
	}
	.btn-wrap-txt {
		font-size: 3.079vw;
		padding: 0 3.299vw;
	}
	.btn-wrap-txt2 {
		font-size: 1.393vw;
	}
}
@media screen and (max-width: 1024px) {
	.border-orange::after,
	.border-orange::before {
		width: 2.734vw;
		height: 2.734vw;
	}
	.border-orange::after {
		right: -4.395vw;
	}
	.border-orange::before {
		left: -4.395vw;
	}
	.btn-wrap {
		padding: 2.93vw 5.859vw 2.93vw 2.93vw;
	}
}
@media screen and (max-width: 540px) {
	.border-orange::after,
	.border-orange::before {
		width: 6.667vw;
		height: 6.667vw;
		bottom: 5%;
	}
	.border-orange::after {
		right: -9vw;
	}
	.border-orange::before {
		left: -9vw;
	}
	.btn-wrap {
		padding: 3vw 0 5vw;
		flex-direction: column;
	}
	.btn-wrap-txt {
		font-size: 4.8vw;
		line-height: 1.4;
		padding: 0 0 2vw;
		text-align: center !important;
	}
}

.box_03 {
	position: relative;
	width: 340px;
}
.box_03::after {
	content: "";
	display: inline-block;
	background: url(../images/arrow.png) no-repeat;
	background-size: contain;
	position: absolute;
	right: -15px;
	top: 98px;
	width: 30px;
	height: 24px;
}
.box_03:last-child::after {
	content: none;
}
.icon_01 {
	width: 223px;
}
@media screen and (max-width: 1364px) {
	.box_03 {
		width: 24.927vw;
	}
	.box_03::after {
		right: -1.1vw;
		top: 7.185vw;
		width: 2.199vw;
		height: 1.76vw;
	}
	.icon_01 {
		width: 16.349vw;
	}
}
@media screen and (max-width: 1024px) {
	.box_03 {
		width: 30.909vw;
	}
	.box_03::after {
		right: -1.364vw;
		top: 8.909vw;
		width: 2.727vw;
		height: 2.182vw;
	}
	.icon_01 {
		width: 20.273vw;
	}
}
@media screen and (max-width: 540px) {
	.box_03 {
		width: 100%;
		text-align: left;
		padding-left: 6vw;
		margin-bottom: 10vw;
	}
	.box_03:last-child {
		margin-bottom: 0;
	}
	.box_03 p {
		padding: .15em 0;
	}
	.box_03::after {
		right: 48%;
		top: inherit;
		bottom: -5.5vw;
		transform: rotate(90deg);
		width: 4.8vw;
		height: 4vw;
	}
	.icon_01 {
		width: 23.73vw;
		margin-right: 4vw;
	}
}

.border-2px {
	border: 2px solid #414141;
}
.box_04 {
	padding-left: 67px;
	padding-right: 67px;
}
.box_05 {
	padding: 55px 0 30px;
}
.box_06 {
	margin-left: 40px;
	margin-right: 40px;
}
.border-bottom-orange {
	position: relative;
	padding-bottom: .5em;
}
.border-bottom-orange::before {
	position: absolute;
	content: "";
	background: var(--orange);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	border-radius: 3px;
	width: 60px;
	height: 3px;
}
.txt-1 {
	padding: .1em 1.6em .2em;
	border-radius: 20px;
	position: relative;
	top: -1em;
}
.ul_list li {
	text-align: left;
	position: relative;
	padding-left: 26px;
	margin-left: 26px;
}
.ul_list li:before {
	content: "";
	background: url(../images/check.png) no-repeat;
	background-size: contain;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 5px;
	width: 18px;
	height: 18px;
}
.num-1 {
	position: relative;
}
.num-1 img {
	position: absolute;
	width: 88px;
	top: -100px;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (max-width: 1364px) {
	.box_04 {
		padding-left: 4.912vw;
		padding-right: 4.912vw;
	}
	.box_05 {
		padding: 4.032vw 0 2.199vw;
	}
	.box_06 {
		margin-left: 2.933vw;
		margin-right: 2.933vw;
	}
	.border-bottom-orange::before {
		width: 4.399vw;
	}
	.txt-1 {
		border-radius: 1.466vw;
	}
	.ul_list li {
		padding-left: 1.906vw;
		margin-left: 1.906vw;
	}
	.ul_list li:before {
		top: 0.367vw;
		width: 1.32vw;
		height: 1.32vw;
	}
	.num-1 img {
		width: 6.452vw;
		top: -7.331vw;
	}
}
@media screen and (max-width: 1024px) {
	.box_04 {
		padding-left: 6.543vw;
		padding-right: 6.543vw;
	}
	.box_05 {
		padding: 5.371vw 0 2.93vw;
	}
	.box_06 {
		margin-left: 3.906vw;
		margin-right: 3.906vw;
	}
	.border-bottom-orange::before {
		width: 5.859vw;
	}
	.txt-1 {
		border-radius: 1.953vw;
	}
	.ul_list li {
		padding-left: 2.539vw;
		margin-left: 2.539vw;
	}
	.ul_list li:before {
		top: 0.488vw;
		width: 1.758vw;
		height: 1.758vw;
	}
	.num-1 img {
		width: 8.594vw;
		top: -9.766vw;
	}
}
@media screen and (max-width: 540px) {
	.box_04 {
		padding-left: 5vw;
		padding-right: 5vw;
		padding-bottom: 7vw;
	}
	.box_05 {
		padding: 7.333vw 0 4vw;
	}
	.box_06 {
		margin-left: 5.333vw;
		margin-right: 5.333vw;
	}
	.border-bottom-orange::before {
		width: 8vw;
	}
	.txt-1 {
		border-radius: 4vw;
	}
	.ul_list {
		margin-bottom: 2vw;
	}
	.ul_list li {
		padding-left: 5vw;
		margin-left: 3.467vw;
	}
	.ul_list li:before {
		top: 0.667vw;
		width: 3.8vw;
		height: 3.8vw;
	}
	.num-1 img {
		width: 11.733vw;
		top: -13.333vw;
	}
}


/* !fixed_btn
---------------------------------------------------------- */
.fixed_btn {
	position: fixed;
	right: 0;
	bottom: 5vh;
	z-index: 10;
}
.fixed_btn a img {
	width: 213px;
	height: 239px;
}
@media screen and (max-width: 1900px) {
	.fixed_btn a img {
		width: 11.211vw;
		height: 12.579vw;
	}
}
@media screen and (max-width: 1024px) {
	.fixed_btn {
		display: none;
	}
}


/* !page-top
---------------------------------------------------------- */
.page-top-wrap {
	height: 276px;
	padding-top: 94px;
}
.page-top {
	/*position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9;
	mix-blend-mode:difference;*/
	color: #131313;
}
.scrollup{
	right: 0;
	bottom: 0;
	height:182px;
	width: 20px;
	display: block;
	position: relative;
	cursor: pointer;
	line-height: 1;
	margin-left: 21px;
}
.scrollup span{
	display: inline-block;
	transform: rotateZ(90deg) translateX(-50%);
	white-space: nowrap;
    position: absolute;
	font-size: 16px;
	left: -34px;
	bottom: -5px;
}
.scrollup span::before{
}
.scrollup::before,
.scrollup::after{
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
	z-index: 2;
	pointer-events: none;
}
.scrollup::before{
	content: "";
	width: 5px;
	height: 5px;
	border: 1px solid #131313;
	position: absolute;
	border-right: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top left;
	top: 0;
	left: 50%;
	/*mix-blend-mode:difference;*/
}
.scrollup::after{
	left: 50%;
	top: 1px;
    width: 1px;
    height: 80px;
	background: #131313;
	/*mix-blend-mode:difference;*/
}
@keyframes scrollupmove{
  0%{
	top: 80px;
  }
  50%{
	top: 0;
  }
}
@keyframes scrollupmove2{
  0%{
	top: 80px;
    height: 1px;
  }
  50%{
	top: 1px;
    height: 80px;
  }
}
@media screen and (min-width: 1025px) {
	.scrollup:hover::before{
		animation: scrollupmove 1s ease-out;
	}
	.scrollup:hover::after{
		animation: scrollupmove2 1s ease-out;
	}
}
@media screen and (max-width: 1920px) {
	.page-top-wrap {
		height: 14.375vw;
		padding-top: 5vh;
	}
	.scrollup{
		height:9.479vw;
		width: 1.042vw;
		margin-left: 1.094vw;
	}
	.scrollup span{
		font-size: 0.833vw;
		left: -1.771vw;
		bottom: -0.26vw;
	}
	.scrollup::after{
		top: 0.052vw;
		height: 4.167vw;
	}
	@keyframes scrollupmove{
	  0%{
		top: 4.167vw;
	  }
	  50%{
		top: 0;
	  }
	}
	@keyframes scrollupmove2{
	  0%{
		top: 4.167vw;
		height: 0.052vw;
	  }
	  50%{
		top: 0.052vw;
		height: 4.167vw;
	  }
	}
}
@media screen and (max-width: 1600px) {
	.page-top-wrap {
	}
	.scrollup span{
		left: -2vw;
		bottom: -0.7vw;
	}
}
@media screen and (max-width: 1024px) {
	.page-top {
		right: 1.953vw;
		bottom: 5vw;
		display: none !important;
	}
	.scrollup{
		height:17.773vw;
		width: 1.953vw;
	}
	.scrollup span{
		font-size: 1.563vw;
		left: -3.32vw;
		bottom: -0.488vw;
		letter-spacing: 0.2em;
	}
	.scrollup::after{
		height: 7.813vw;
	}
	@keyframes scrollupmove{
	  0%{
		top: 7.813vw;
	  }
	  50%{
		top: 0;
	  }
	}
	@keyframes scrollupmove2{
	  0%{
		top: 7.813vw;
	  }
	  50%{
		height: 7.813vw;
	  }
	}
}
@media screen and (max-width: 540px) {
	.page-top {
		right: 2.5vw;
		bottom: 7vw;
	}
	.scrollup{
		height:33.704vw;
		width: 3.704vw;
	}
	.scrollup span{
		font-size: 2.963vw;
		left: -6.296vw;
		bottom: -0.926vw;
	}
	.scrollup::after{
		height: 14.815vw;
	}
	@keyframes scrollupmove{
	  0%{
		top: 14.815vw;
	  }
	  50%{
		top: 0;
	  }
	}
	@keyframes scrollupmove2{
	  0%{
		top: 14.815vw;
	  }
	  50%{
		height: 14.815vw;
	  }
	}
}


/* !footer
---------------------------------------------------------- */
#footer {
	width: 100%;
}
.footer-nav li {
	padding: 0 19px;
}
.footer-nav li:hover a {
	color: var(--orange);
}
.border-bottom-1px {
	border-bottom: 1px solid #9e9e9e;
}
.footer-nav2 li {
	padding: 0 0 0 1.5em;
}
.footer-nav2 li::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 15px;
	background: #b5b5b5;
	margin-right: 1.5em;
	vertical-align: -2px;
}
.footer-nav2 li:first-child::before {
	content: none;
}
.footer-nav2 li a {
	color: #676767;
	font-weight: 400;
}
.copyright {
	background: #2e2e2e;
	color: #bebdbd;
}
@media screen and (max-width: 1334px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 540px) {
}


a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}
@media screen and (max-width: 1920px) {
	a.anchor {
		padding-top: 5.208vw;
		margin-top: -5.208vw;
	}
}
@media screen and (max-width: 1024px) {
	a.anchor {
		padding-top: 9.277vw;
		margin-top: -9.277vw;
	}
}
@media screen and (max-width: 540px) {
	a.anchor {
		padding-top: 23.733vw;
		margin-top: -23.733vw;
	}
}


/* !Clearfix
---------------------------------------------------------- */
.clearfix::after,
.contactForm dd::after {
	content: '';
	display: block;
	height: 0;
	overflow: hidden;
	clear: both;
}
@media screen and (max-width: 1024px) {
.scroll_up {
  transform: translateY(3.906vw);
}
.scroll_up.on {
  transform: translateY(0);
}
}

/* !tel
---------------------------------------------------------- */
@media (min-width: 541px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}