@charset "UTF-8";
@import url(./reset.css);
@import url('https://fonts.googleapis.com/css2?family=Junge&display=swap');

* {
	box-sizing: border-box;
}

html {
	overflow: auto;
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: normal;
	font-size: 15px;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	line-height: 1;
	color: #13384D;
	background-color: #fff;
	overflow: hidden;
	letter-spacing: 0.05em;
}

img {
	border: none;
	vertical-align: bottom;
	height: auto;
}

.clearfix:after {
	content: ""; 
	display: block; 
	height: 0; 
	font-size:0;	
	clear: both; 
	visibility:hidden;
}

.mb0 { margin-bottom: 0px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }
.mb3em { margin-bottom: 3em !important; }
.mb4em { margin-bottom: 4em !important; }
.mb5em { margin-bottom: 5em !important; }
.mb6em { margin-bottom: 6em !important; }
.pt0 { padding-top: 0px !important; }
.pb0 { padding-bottom: 0px !important; }
.pt60 { padding-top: 60px !important; }
.pb60 { padding-bottom: 60px !important; }
.aligncenter { text-align: center; }
.alignright { text-align: right; }
.aligncenter { text-align: center; }
.bold { font-weight: 900; }
.nowrap { white-space: nowrap; }
.red { color: #f00; }


.mincho {
	font-family: "shippori-mincho", sans-serif;
	font-weight: 600;
	font-style: normal;
	opacity: 0;
}
html.wf-active .mincho {
	opacity: 1;
}
.en {
  font-family: "Junge", cursive !important;
  font-weight: 400;
  font-style: normal;
}

@media screen and (max-width: 767px){
	.pcOnly{
		display: none !important;
	}
}

@media screen and (min-width: 768px){
	.spOnly{
		display: none !important;
	}
}

#wrapper {
	width: 100%;
	position: relative;
	margin: 0 auto;
}

@media screen and (max-width: 767px){
	
	#wrapper {
		min-width: 100%;
	}
	
}

#js-menuBk {
	display: none;
	position: fixed;
	z-index: 99;
	top: 90px;
	left: 0;
	width: 100%;
	height: calc( 100% - 90px );
	background: rgba(0,0,0,0.35);
}

@media screen and (max-width: 999px){
	
	#js-menuBk {
		display: none;
	}
	
}
	
/*------ヘッダーメニュー-----*/

header {
	position: fixed;
	left: 0;
	top: 0;
	background-color: rgba(255,255,255,0);
	width: 100%;
	z-index: 9999;
	transition: all 0.3s ease;
}
header.showIn {
	background-color: rgba(255,255,255,0.85);
}
header .inner {
	display: flex;
	justify-content: space-between;
	max-width: 1366px;
	margin: 0 auto;
	height: 90px;
	padding: 0 20px;
}
header .logo {
	margin-top: 30px;
}
header .logo a {
	display: block;

}
header .logo img {
	max-width: 330px;
	width: 100%;
	height: auto;
}
header .pc_navi_inner a {
	text-decoration: none;
	color: #13384D;
	transition: all 0.3s ease;
}
header .pc_navi_inner a:hover {
	opacity: 0.6;
}
header .pc_navi {
	display: flex;
}
header .pc_navi_inner {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	margin-right: 30px;
	white-space: nowrap;
}
.local_nav {
	display: flex;
	font-size: 12px;
	margin: 0 0 8px;
}
.local_nav li {
	margin-left: 30px;
}
.global_nav {
	display: flex;
}
.global_nav > li {
	margin-left: 40px;
}
.global_nav > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 0;
}
.global_nav .has_child {
	position: relative;
}
.global_nav .has_child > a::before {
	content: '';
	width: 7px;
	height: 7px;
	border-bottom: 2px solid #5D3483;
	border-right: 2px solid #5D3483;
	display: inline-block;
	transform: rotate(45deg) translateY(-2px);
	margin-right: 1em;
}
.global_nav .child {
	position: absolute;
	left: -300px;
	top: 51px;
	z-index: 999;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	transition: all 0.3s ease;
	background: #fff;
	width: 700px;
	display: flex;
	padding: 45px;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.15);
}
.global_nav > li:hover .child {
	max-height: 9999px;
	visibility: visible;
	opacity: 1;
	top: 51px;
}

.global_nav .child .ttl {
	border-right: 1px solid #5D3483;
	width: 150px;
}
.global_nav .child .ttl .en {
	font-size: 13px;
	margin-bottom: 15px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.global_nav .child .ttl .jp {
	font-size: 20px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.global_nav .child .ttl.corp {
	border-right: 1px solid #072d8e;
}
.global_nav .child .ttl.corp .en {
	background-image: linear-gradient(90deg, #072d8e 0%, #006bce 100%);
}
.global_nav .child .ttl.corp .jp {
	background-image: linear-gradient(90deg, #072d8e 0%, #006bce 100%);
}

.global_nav .child .link {
	padding-left: 30px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-weight: normal;
	width: calc( 100% - 150px );
}
.global_nav .child .link p {
	margin-bottom: 25px;
}
.global_nav .child ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -20px;
}
.global_nav .child li {
	width: 50%;
	margin-bottom: 25px;
}
.global_nav .child a {
	text-decoration: none;
	font-size: 15px;
	transition: all 0.3s ease;
}
.global_nav .child a::before {
	content: '-';
	margin-right: 10px;
	display: inline;
}
.global_nav .child a:hover {
	opacity: 1;
	color: #5D3483;
	font-weight: bold;
}
.global_nav .child .corp a:hover {
	color: #072d8e;
}
.btn_online a {
	margin-top: 17px;
	box-shadow: 2px 5px 10px rgba(0,0,0,0.15);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 220px;
	height: 56px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	letter-spacing: 0;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	position: relative;
	z-index: 0;
	text-decoration: none;
}
.btn_online a::before {
	content: '';
	display: inline-block;
	width: 17px;
	height: 16px;
	background: url("../img/common/icon_cart.png") no-repeat 50% 50%;
	background-size: cover;
	margin-right: 0.5em;
}
.btn_online a span {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: normal;
	font-size: 10px;
	display: block;
	margin-top: 0.8em;
}
.btn_online a::after {
	content: '';
	width: 100%;
	height: 100%;
	display: inline-block;
	background-image: linear-gradient(135deg, #9F5DDD 0%, #7AAFFF 100%) !important;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.3s ease;
	z-index: -1;
}
.btn_online a:hover::after {
	opacity: 1;
}

.btn_fixedmenu {
	display: none;
}

.g_navi {
	position: fixed;
	z-index: -9999;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(90deg, #5D3483 0%, #7AAFFF 100%);
	transition: all .3s;
	display: block;
	opacity: 0;
	visibility: hidden;
	padding: 60px 0;
	overflow: auto; /*追加*/
	-webkit-overflow-scrolling: touch; /*追加*/
}

@media screen and (max-width: 1199px){

	header .logo img {
		max-width: 290px;
	}
	.local_nav {
		font-size: 12px;
	}
	.global_nav > li {
		margin-left: 30px;
		font-size: 14px;
	}
	.btn_online a {
		width: 200px;
		font-size: 13px;
	}

	.global_nav .child {
		left: -250px;
		top: 50px;
		width: 640px;
		padding: 40px;
	}
	.global_nav > li:hover .child {
		top: 50px;
	}
	.global_nav .child .ttl {
		border-right: 1px solid #5D3483;
		width: 140px;
	}
	.global_nav .child .ttl .en {
		font-size: 12px;
	}
	.global_nav .child .ttl .jp {
		font-size: 18px;
	}
	.global_nav .child .link {
		padding-left: 30px;
		width: calc( 100% - 140px );
	}
	.global_nav .child a {
		font-size: 13px;
	}
	
}

@media screen and (max-width: 1099px){

	header .logo img {
		max-width: 260px;
	}
	header .pc_navi_inner {
		margin-right: 25px;
	}
	.global_nav > li {
		margin-left: 25px;
		font-size: 13px;
	}
	.btn_online a {
		width: 185px;
		font-size: 12px;
	}
	.global_nav > li:hover .child {
		top: 49px;
	}
}

@media screen and (max-width: 999px){
	
	header {
		/*position: absolute;*/
		width: 100%;
		height: 56px;
		background-color: rgba(255,255,255,1);
	}
	header.showIn {
		background-color: rgba(255,255,255,1);
	}
	header .inner {
		height: 56px;
		padding: 0 125px 0 0;
	}
	header .logo {
		margin: 18px 0 0 15px;
	}
	header .logo img {
		max-width: 210px;
	}
	header .pc_navi {
		display: none;
	}

	/*SP用ボタン*/
	
	.btn_fixedmenu {
		position: fixed;
		right: 0px;
		top: 0px;
		z-index: 999;
		width: 112px;
		display: flex;
	}
	.btn_sponline {
		display: flex;
		justify-content: center;
		align-items: center;
		background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
		color: #fff;
		width: 56px;
		height: 56px;
	}
	.btn_sponline::before {
		content: '';
		display: inline-block;
		width: 25px;
		height: 24px;
		background: url("../img/common/icon_cart.png") no-repeat 50% 50%;
		background-size: cover;
	}
	.btn_spmenu {
		display: block;
		width: 56px;
		height: 56px;
		text-align: center;
		cursor: pointer;
		position: relative;
		background-color: rgba(255,255,255,1);
	}	
	.btn_spmenu span,
	.btn_spmenu::before {
		content: '';
		width: 28px;
		height: 2px;
		position: absolute;
		top: 32px;
		left: 50%;
		margin-left: -14px;
		background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
		transition: all 0.3s ease;
	}
	.btn_spmenu::before {
		transform: translateY(-9px);
	}
	
	/*SP用メニュー*/
	

	.g_navi.is-active {
		z-index: 9999;
		opacity: 1;
		visibility: visible;
	}
	.g_navi_inner {
		width: 100%;
		position: relative;
		padding: 0 30px;
	}
	.g_navi_inner a {
		color: #fff;
		text-decoration: none;
	}
	.g_navi_inner > ul {
		margin-bottom: 25px;
	}
	.g_navi_inner > ul > li {
		margin-bottom: 15px;
	}
	.g_navi_inner > ul > li a {
		display: flex;
		align-items: center;
		height: 46px;
		width: 100%;
		font-size: 18px;
		position: relative;
	}
	.has_child > a::after {
		position: absolute;
		content: '';
		display: inline-block;
		height: 14px;
		width: 14px;
		background: url("../img/common/icon_open.png") no-repeat 50% 50%;
		background-size: 14px;
		top: 50%;
		right: 0;
		margin-top: -7px;
	}
	.has_child.open > a::after {
		background: url("../img/common/icon_close.png") no-repeat 50% 50%;
		background-size: 14px;
	}
	.g_navi_inner .child {
		display: none;
		padding-top: 15px;
		font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
		font-weight: normal;
	}
	.g_navi_inner .child li {
		margin-bottom: 15px;
	}
	.g_navi_inner .child a {
		font-size: 15px;
		height: 30px;
		line-height: 30px;
	}
	.g_navi_inner .child a:before {
		content: '-';
		display: inline;
		margin-right: 10px;
	}
	
	.btn_online_sp {
		border: 1px solid #fff;
		width: 100%;
		max-width: 360px;
		height: 70px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 17px;
		text-decoration: none;
		margin: 0 auto 30px;
		text-align: center;
	}
	.btn_online_sp::before {
		content: '';
		display: inline-block;
		width: 22px;
		height: 21px;
		background: url("../img/common/icon_cart.png") no-repeat 50% 50%;
		background-size: cover;
		margin-right: 0.8em;
	}
	.btn_online_sp span {
		font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
		font-weight: normal;
		font-size: 10px;
		display: block;
		margin-top: 0.8em;
	}
	.btn_insta {
		width: 28px;
		height: 28px;
		display: block;
		margin-left: auto;
	}
	.btn_insta img {
		width: 100%;
	}
	.btn_close {
		position: absolute;
		right: 0px;
		top: 0px;
		display: block;
		width: 56px;
		height: 56px;
		text-align: center;
		cursor: pointer;
		z-index: 999;
	}
	.btn_close span,
	.btn_close::before,
	.btn_close::after {
		content: '';
		width: 28px;
		height: 2px;
		position: absolute;
		top: 28px;
		left: 50%;
		margin-left: -14px;
		background: #fff;
		transition: all 0.3s ease;
	}
	.btn_close span {
		opacity: 0;
	}
	.btn_close::before {
		transform: translateY(0) rotate(30deg);
	}
	.btn_close::after {
		transform: translateY(0) rotate(-30deg);
	}
	
	
}



/*------フッター-----*/

.cta {
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	padding: 150px 50px 70px;
}
.cta .inner {
	max-width: 1100px;
	margin: 0 auto;
	color: #fff;
}
.cta .ttl {
	margin-bottom: 50px;
	position: relative;
	text-align: center;
}
.cta .ttl .jp {
	font-size: 24px;
	display: inline-block;
}
.cta .ttl .jp::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	margin-top: 5px;
}
.cta .ttl .en {
	font-size: 120px;
	opacity: 0.3;
	position: absolute;
	left: 50%;
	bottom: 0;
	white-space: nowrap;
	transform: translateX(-50%);
}
.cta .honbun {
	text-align: center;
	line-height: 1.7;
	margin-bottom: 40px;
	font-size: 16px;
}
.cta a {
	max-width: 580px;
	width: 100%;
	height: 90px;
	border: 1px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 30px;
	color: #fff;
	font-size: 18px;
	line-height: 1.3;
	text-decoration: none;
	transition: all 0.3s ease;
	background-color: rgba(255,255,255,0);
	position: relative;
	z-index: 0;
	box-shadow: 10px 10px 20px rgba(0,0,0,0);
}
.cta a::after {

}
.cta a:hover {
	background-color: rgba(255,255,255,1);
	box-shadow: 5px 5px 20px rgba(0,0,0,0.2);
}
.cta a:hover span {
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.cta a::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url("../img/common/icon_mail.png") no-repeat 50% 50%;
	background-size: cover;
	margin-right: 0.5em;
}
.cta a:hover::before {
	background: url("../img/common/icon_mail_pp.png") no-repeat 50% 50%;
	background-size: cover;
}
.cta .att {
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

@media screen and (max-width: 999px){

	.cta {
		padding: 80px 20px 50px;
	}
	.cta .inner {
		max-width: 400px;
	}
	.cta .ttl {
		margin-bottom: 35px;
	}
	.cta .ttl .en {
		font-size: 60px;
	}
	.cta .honbun {
		line-height: 1.7;
		margin-bottom: 30px;
		font-size: 14px;
		text-align: left;
	}
	.cta a {
		max-width: auto;
		height: 80px;
		margin: 0 auto 30px;
		font-size: 15px;
		padding: 0 15px;
	}
	.cta a::before {
		width: 22px;
		height: 22px;
		margin-right: 0.8em;
	}

}

/*------電話-----*/

.sec_home_contact {
	padding: 40px 50px;
	background-color: #fff !important;
}
.sec_home_contact .inner {
	max-width: 800px;
	margin: 0 auto;
}
.sec_home_contact ul {
	display: flex;
	justify-content: center;
	max-width: 600px;
	width: 100%;
	margin: 0 auto 25px;
}
.sec_home_contact li:first-child {
	margin-right: 50px;
}
.sec_home_contact li .ttl {
	font-size: 15px;
	display: inline-block;
	margin-right: 1em;
	vertical-align: 2px;
}
.sec_home_contact li .ttl::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #13384D;
	margin-top: 3px;
}
.sec_home_contact li .no {
	font-size: 24px;
	display: inline-block;
}
.sec_home_contact li a {
	text-decoration: none;
	color: #000;
	transition: opacity 0.3s ease;
}
.sec_home_contact li a::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("../img/common/icon_tel_bk.png") no-repeat 50% 50%;
	background-size: cover;
	margin-right: 0.5em;
	vertical-align: -3px;
}
.sec_home_contact li a:hover {
	opacity: 0.6;
}
.sec_home_contact .att {
	text-align: center;
	display: flex;
	justify-content: center;
	font-size: 14px;
	line-height: 1.5;
}
.sec_home_contact .att p:first-of-type {
	margin-right: 20px;
}

@media screen and (max-width: 767px){

	.sec_home_contact {
		padding: 40px 20px;
	}
	.sec_home_contact .inner {
		max-width: 400px;
		margin: 0 auto;
	}
	.sec_home_contact ul {
		display: block;
		margin-bottom: 30px;
	}
	.sec_home_contact li:first-child {
		margin: 0 0 30px;
	}
	.sec_home_contact li .ttl {
		font-size: 15px;
	}
	.sec_home_contact li .no {
		font-size: 24px;
	}
	.sec_home_contact li a::before {
		width: 20px;
		height: 20px;
	}
	.sec_home_contact .att {
		text-align: left;
		display: block;
		font-size: 14px;
	}
	.sec_home_contact .att p:first-of-type {
		margin: 0 0 0.7em;
	}

}

/*------フッターリンク-----*/

.ftr {
	background: #f3fafd url("../img/common/bg.png") no-repeat right bottom fixed;
	background-size: 430px;
	padding: 60px 50px 40px;
}
.ftr .inner {
	max-width: 1200px;
	margin: 0 auto;
}
.ftr_logo {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 50px;
}
.ftr_logo a {
	transition: opacity 0.3s ease;
}
.ftr_logo a:hover {
	opacity: 0.6;
}
.ftrlogo img {
	width: 338px;
	height: auto;
}
.ftr_logo .insta img {
	width: 27px;
}
.ftr_link {
	margin-left: auto;
	max-width: 1000px;
	display: flex;
	justify-content: space-between;
}
.ftr_link > div {
	width: 23%;
}
.ftr_link p {
	margin-bottom: 1.5em;
	line-height: 1.5;
}
.ftr_link p a {
	color: #5D3483;
	text-decoration: none;
	transition: all 0.3s ease;
	background-image: linear-gradient(135deg, #5D3483 0%, #5D3483 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ftr_link p a:hover {
	background-image: linear-gradient(135deg, #9F5DDD 0%, #7AAFFF 100%);
}
.ftr_link p span {
	font-size: 11px;
	margin-left: 0.2em;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: normal;
}
.ftr_link ul {
	display: block;
}
.ftr_link li {
	margin-bottom: 1.5em;
	font-size: 13px;
	line-height: 1.3;
}
.ftr_link li a {
	color: #13384D;
	text-decoration: none;
}
.ftr_link li a:hover {
	color: #5D3483;
	font-weight: 600;
}
.ftr_link li::before {
	content: '-';
	display: inline;
	margin-right: 0.5em;
}

.copyright {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.copyright small {
	order: -1;
	font-size: 12px;
	color: #5D3483;
}
.copyright li {
	display: inline-block;
	font-size: 12px;
}
.copyright li::after {
	content: '｜';
	margin: 0 0.5em;
}
.copyright li:last-child::after {
	display: none;
}
.copyright li a {
	color: #13384D;
	text-decoration: none;
}
.copyright li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 767px){
	
	.ftr {
		background: #f3fafd url("../img/common/bg.png") no-repeat right top;
		background-size: 430px;
		padding: 40px 20px 40px;
	}
	.ftr .inner {
		max-width: 400px;
	}
	.ftr_logo {
		margin-bottom: 40px;
	}
	.ftrlogo {
		margin-right: 20px;
	}
	.ftrlogo img {
		max-width: 260px;
		width: 100%;
	}
	
	.ftr_link {
		margin: 0 auto;
		max-width: 400px;
		display: block;
	}
	.ftr_link > div {
		width: 100%;
		margin-bottom: 30px;
	}
	.ftr_link p {
		margin-bottom: 1.5em;
	}
	.ftr_link p a {
		display: block;
	}
	.ftr_link li {
		margin-bottom: 1.2em;
		font-size: 13px;
	}

	.ftr_link ul {
		display: none;
	}
	.ftr_link ul.open {
		display: block;
	}
	.ftr_link .has_child {
		position: relative;
	}
	.ftr_link .has_child::after {
		position: absolute;
		content: '';
		display: inline-block;
		height: 14px;
		width: 14px;
		background: url("../img/common/icon_open_pp.png") no-repeat 50% 50%;
		background-size: 14px;
		top: 50%;
		right: 0;
		margin-top: -7px;
	}
	.ftr_link .has_child.open::after {
		background: url("../img/common/icon_close_pp.png") no-repeat 50% 50%;
		background-size: 14px;
	}
	
	
	
	.copyright {
		display: block;
		margin-top: 40px;
		text-align: center;
	}
	.copyright ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.copyright li {
		width: 50%;
		padding: 10px 0;
		text-align: left;
	}
	.copyright li::after {
		display: none;
	}
	.copyright small {
		font-size: 11px;
	}
}



/*--------------pageTop--------------*/

#pageTop {
	position: absolute;
	right: 20px;
	bottom: 100px;
	z-index: 9998;
	transition: all 0.5s ease;
	text-decoration: none;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #5D3483;
}
#pageTop::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 26px;
	background: url("../img/common/arrow_pagetop.png") no-repeat 50% 50%;
	background-size: cover;
	margin-bottom: 0.5em;
	vertical-align: 2px;
}
#pageTop:hover {
	transform: translateY(-15px);
}

@media screen and (max-width: 999px){
	
	#pageTop {
		right: 15px;
		bottom: 40px;
		font-size: 11px;
	}
	#pageTop::before {
		width: 8px;
		height: 26px;
		vertical-align: 2px;
	}
	#pageTop:hover {
		transform: translateY(0px);
	}
	
}



/*------共通パーツ-----*/

/*------英語日本語コンビタイトル-----*/

.home_ttl {
	margin-bottom: 50px;
	position: relative;
	z-index: 1;
}
.home_ttl .jp {
	font-size: 24px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
.home_ttl .jp::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	margin-top: 5px;
}
.home_ttl .en {
	font-size: 100px;
	position: absolute;
	left: -50px;
	bottom: 0;
	background-image: linear-gradient(90deg, #C9F5FF 0%, #DDB1FD 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	white-space: nowrap;
	opacity: 0.6;
	z-index: -1;
	text-shadow: 0px 4px 4px rgb(255 255 255 / 33%), 0 0 rgb(0 0 0 / 6%);
}


@media screen and (max-width: 999px){

	.home_ttl {
		margin-bottom: 35px;
	}
	.home_ttl .jp {
		font-size: 22px;
	}
	.home_ttl .en {
		font-size: 80px;
		left: -30px;
	}
	
}

@media screen and (max-width: 767px){

	.home_ttl {
		margin-bottom: 30px;
	}
	.home_ttl .jp {
		font-size: 18px;
	}
	.home_ttl .jp::after {
		margin-top: 5px;
	}
	.home_ttl .en {
		font-size: 50px;
		left: -15px;
		bottom: 5px;
	}

}

/*------紫ボタン-----*/

.btn_more {
	width: 100%;
	max-width: 270px;
	height: 70px;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-image: linear-gradient(135deg, #5D3483 0%, #817FF4 100%) !important;
	padding: 0 25px;
	transition: all 0.3s ease;
	box-shadow: 5px 8px 10px rgba(0,0,0,0.15);
	line-height: 1.5;
	position: relative;
	z-index: 0;
}
.btn_more::before {
	content: '';
	width: 100%;
	height: 100%;
	display: inline-block;
	background-image: linear-gradient(135deg, #9F5DDD 0%, #7AAFFF 100%) !important;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.3s ease;
	z-index: -1;
}
.btn_more:hover {
	box-shadow: 0px 0px 0px rgba(0,0,0,0);
}
.btn_more:hover::before {
	opacity: 1;
}
.btn_more::after {
	content: '';
	display: inline-block;
	width: 26px;
	height: 8px;
	background: url("../img/common/arrow_wh.png") no-repeat 50% 50%;
	background-size: cover;
	transition: all 0.3s ease;
}
.btn_more:hover::after {
	transform: translateX(5px);
}
.content > .inner > .btn_more {
	margin: 0 auto;
}
.main_col > .btn_more {
	margin: 0 auto;
}

@media screen and (max-width: 999px){

	.btn_more {
		max-width: 240px;
		height: 60px;
		font-size: 14px;
	}
	
	
}

@media screen and (max-width: 767px){

	.btn_more {
		max-width: 200px;
		height: 50px;
		font-size: 14px;
		padding: 0 15px;
		box-shadow: 3px 5px 7px rgba(0,0,0,0.15);
	}
	.btn_more::after {
		width: 20px;
		height: 6px;
	}

}


/*------見出し-----*/

.hd_a {
	background-color: #f6f7f9;
	font-size: 24px;
	margin-bottom: 50px;
	padding: 15px 20px 15px 30px;
	color: #5d3483;
	line-height: 1.5;
	position: relative;
	display: flex;
	align-items: center;
	font-weight: 700;
	border-left: 3px solid;
	border-image: linear-gradient(180deg, #5D3483 0%, #817FF4 100%) 1;
}

.hd_b {
	border-bottom: 1px solid #dedede;
	padding-bottom: 15px;
	margin-bottom: 40px;
	font-size: 20px;
	font-weight: 700;
}
.hd_b span {
	display: block;
	line-height: 1.5;
	border-left: 4px solid;
	padding-left: 20px;
	border-image: linear-gradient(180deg, #5D3483 0%, #817FF4 100%) 1;
}

.hd_b.corp span {
	border-image: linear-gradient(180deg, #072d8e 0%, #006bce 100%) 1;
}

.hd_c {
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 1em;
	color: #5d3483;
	font-weight: 700;
}

@media screen and (max-width: 999px){
	
	.hd_a {
		font-size: 20px;
		margin-bottom: 30px;
		padding: 12px 20px 12px 25px;
	}

	.hd_b {
		margin-bottom: 30px;
		font-size: 18px;
		padding-bottom: 10px;
	}
	.hd_b span {
		padding-left: 20px;
	}

	.hd_c {
		font-size: 16px;
	}
	
}

@media screen and (max-width: 767px){

	.hd_a {
		font-size: 16px;
		margin-bottom: 30px;
		padding: 10px 20px 10px 20px;
	}
	.hd_b {
		font-size: 16px;
		padding-bottom: 10px;
		margin-bottom: 30px;
	}
	.hd_b span {
		padding-left: 15px;
		border-left: 3px solid;
	}
	.hd_c {
		font-size: 15px;
	}
}

/*------下線タイトル-----*/

/*企業制服*/

.ttl_corp {
	text-align: center;
	margin-bottom: 30px;
}
.ttl_corp .mincho {
	font-size: 24px;
	background-image: linear-gradient(90deg, #072d8e 0%, #006bce 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
.ttl_corp .mincho::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(90deg, #072d8e 0%, #006bce 100%);
	margin-top: 5px;
}

.ttl_corp.lg {
	margin-bottom: 60px;
}
.ttl_corp.lg .mincho {
	font-size: 32px;
}

@media screen and (max-width: 999px){
	
	.ttl_corp {
		margin-bottom: 25px;
	}
	.ttl_corp .mincho {
		font-size: 18px;
	}
	.ttl_corp.lg {
		margin-bottom: 50px;
	}
	.ttl_corp.lg .mincho {
		font-size: 24px;
	}
	
}

@media screen and (max-width: 767px){
	
	.ttl_corp {
		margin-bottom: 20px;
	}
	.ttl_corp .mincho {
		font-size: 16px;
	}
	.ttl_corp.lg {
		margin-bottom: 40px;
	}
	.ttl_corp.lg .mincho {
		font-size: 16px;
	}
	
}


/*学生服*/

.ttl_school {
	text-align: center;
	margin-bottom: 30px;
}
.ttl_school .mincho {
	font-size: 24px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
.ttl_school .mincho::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	margin-top: 5px;
}

.ttl_school.lg {
	margin-bottom: 60px;
}
.ttl_school.lg .mincho {
	font-size: 32px;
}

@media screen and (max-width: 999px){
	
	.ttl_school {
		margin-bottom: 25px;
	}
	.ttl_school .mincho {
		font-size: 18px;
	}
	.ttl_school.lg {
		margin-bottom: 50px;
	}
	.ttl_school.lg .mincho {
		font-size: 24px;
	}
	
}

@media screen and (max-width: 767px){
	
	.ttl_school {
		margin-bottom: 20px;
	}
	.ttl_school .mincho {
		font-size: 16px;
	}
	.ttl_school.lg {
		margin-bottom: 40px;
	}
	.ttl_school.lg .mincho {
		font-size: 16px;
	}
	
}

/*その他*/

.ttl_bk {
	text-align: center;
	margin-bottom: 40px;
}
.ttl_bk .mincho {
	line-height: 1.5;
	font-size: 24px;
	display: inline-block;
}
.ttl_bk .mincho::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #13384D;
	margin-top: 5px;
}
.ttl_bk.sm {
	margin-bottom: 40px;
}
.ttl_bk.sm .mincho {
	font-size: 20px;
}

@media screen and (max-width: 999px){
	
	.ttl_bk {
		margin-bottom: 25px;
	}
	.ttl_bk .mincho {
		font-size: 18px;
	}
	.ttl_bk.sm {
		margin-bottom: 25px;
	}
	.ttl_bk.sm .mincho {
		font-size: 16px;
	}
	
}

@media screen and (max-width: 767px){
	
	.ttl_bk {
		margin-bottom: 30px;
	}
	.ttl_bk .mincho {
		font-size: 16px;
	}
	.ttl_bk.sm {
		margin-bottom: 30px;
	}
	.ttl_bk.sm .mincho {
		font-size: 16px;
	}
	
}

/*------リード＆本文-----*/

.lead_corp {
	font-size: 32px;
	line-height: 1.7;
	text-align: center;
	color: #13384d;
	margin-bottom: 50px;
	font-weight: 700;
}
.corp_intro_honbun {
	max-width: 900px;
	line-height: 1.7;
	font-size: 16px;
	margin: 0 auto 60px;
}

@media screen and (max-width: 999px){
	
	.lead_corp {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.corp_intro_honbun {
		font-size: 15px;
		margin: 0 auto 40px;
	}
	
}

@media screen and (max-width: 767px){

	.lead_corp {
		font-size: 18px;
		margin-bottom: 30px;
	}
	.corp_intro_honbun {
		font-size: 14px;
		margin: 0 auto 30px;
	}
	
}


/*	LOADING	*/

#loading {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
}

#loading .ldgimg {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: none;
	text-align: center;
}
#loading .ldgimg img {
	width: 300px;
	height: auto;
	margin-bottom: 30px;
}

#loading .ldgimg .en {
	font-size: 18px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: 0.05em;
	-moz-animation: ldgtxt 1.5s infinite;
	-webkit-animation: ldgtxt 1.5s infinite;
	-o-animation: ldgtxt 1.5s infinite;
	-ms-animation: ldgtxt 1.5s infinite;
	font-family: 'Open Sans Condensed', sans-serif;
}
#loading .ldg_omoi {
	margin-bottom: 1em;
	font-size: 32px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	white-space: nowrap;
}
#loading span {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 5px;
	background-image: linear-gradient(90deg, #5D3483 0%, #817FF4 100%);
}

#loading span.loaded {
	width: 0;
	height: 0;
	-moz-animation: ldg 1.5s;
	-webkit-animation: ldg 1.5s;
	-o-animation: ldg 1.5s;
	-ms-animation: ldg 1.5s;
}

@media screen and (max-width: 767px){
	
	#loading .ldgimg img {
		max-width: 220px;
		width: 75vw;
		margin-bottom: 30px;
	}
	#loading .ldgimg .en {
		font-size: 14px;
	}
	#loading .ldg_omoi {
		margin-bottom: 1em;
		font-size: 18px;
	}
}

@keyframes ldg {
	0% {
		width: 0;
		height: 5px;
	}
	50% {
		width: 100%;
		height: 5px;
	}
	80% {
		width: 100%;
		height: 5px;
	}
	100% {
		width: 100%;
		height: 0;
	}
}

@keyframes ldgtxt {
	0% {
		opacity: 0;
	}
	40% {
		opacity: 100;
	}
	60% {
		opacity: 100;
	}
	100% {
		opacity: 0;
	}
}

/*------アニメーション-----*/

.fadeIn {
	opacity: 0;
	visibility: hidden;
	transition: all 1s ease;
}
.fadeIn.show {
	opacity: 1;
	visibility: visible;
	transform: translate(0,0);
}

.fi_top {
	transform: translate(0,60px);
}

.fi_bottom {
	transform: translate(0,-60px);
}

.fi_right {
	transform: translate(60px,0);
	transition-delay: 0s;
}
.fi_left {
	transform: translate(-60px,0);
	transition-delay: 0s;
}

.delay {
	transition-delay: 0.5s !important;
}




/*------1文字ずつ出現させるためのCSS-----*/

.eachTextAnime span{opacity: 0;}

.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }

@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}

/*------文字左からスライド表示-----*/

/*全共通*/

.slide-in {
  overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
  display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}