@charset "UTF-8";
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {}
/* =====================================
	全体設定
===================================== */
.test {
	font-family: "Noto Sans JP", serif;
	font-family: "Sora", sans-serif;
}
figure {
	display: block;
	margin: 0;
}

a {
	color:#222222;
	text-decoration:none;
}
a:active {
	color:#333333;
	text-decoration:none;
}
body {
	margin: 0;
	height: 100%;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	color: #222222;
	background-color: #ffffff;
}
@media screen and (min-width: 768px) {
.dsp_pc {
	display: block;
}
.inl_pc {
	display: inline;
}
.dsp_sp {
	display: none;
}
.inl_sp {
	display: none;
}
a {
	color:#222222;
	text-decoration:none;
	transition : 0.3s;
}
a:hover {
	color:#01b6d1;
	text-decoration:none;
	transition : 0.3s;
}
html {
}
#wrapper {
	position: relative;
	min-width: 1240px;
	margin: 0 auto;
	color:#333333;
	font-size: 16px;
	/*letter-spacing: 0.025em;*/
	line-height: 1.8;
	padding-top: 92px;
	font-feature-settings: "palt";
}
* html #wrapper {
	height:100%;
}

}


@media screen and (max-width: 767px) {
	body {
		overflow-x: hidden;
		font-family: "Noto Sans JP", serif;
		font-weight: 400;
	}
	#wrapper {
		overflow-x: hidden;
		position: relative;
		line-height: 1.7;
		font-size: calc(26/750*100vw);
		color:#333333;
		font-feature-settings: "palt";
	}
	#wrapper img {
		width: 100%;
		height: auto;		
	}
	
	.dsp_pc {
		display: none;
	}
	.inl_pc {
		display: none;
	}
	.dsp_sp {
		display: block;
	}
	.inl_sp {
		display: inline;
	}
}
/* =====================================
	header
===================================== */
@media screen and (min-width: 768px) {
	
header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 200;
	width: 100%;
	min-width: 1200px;
	height: 92px;
	/*background: rgba(255,255,255,0.5);*/
	background: #f9f8f8;
}
header h1 {
	padding: 22px 0 0 32px;
}
header nav {
	z-index: 1;
	position: absolute;
	right: 150px;
	top: 38px;	
	height: auto;
}
header nav ul {
	display: flex;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.0;
	letter-spacing: 0.05em;
}
header nav ul li {
	margin-left: 18px;
}
header nav ul li a {
	position: relative;
}
header nav ul li a:hover {
	position: relative;
	color: #01b6d1;
	transition : 0.3s;
}
header nav ul li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -37px;
	display: block;
	width: 0;
	height: 3px;
	background: #01b6d1;
	transition : 0.3s;
}
header nav ul li a:hover::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -37px;
	display: block;
	width: 100%;
	height: 3px;
	background: #01b6d1;
}
	
header .sns_btn {
	z-index: 1;
	position: absolute;
	right: 30px;
	top: 31px;	
}
header .sns_btn ul {
	display: flex;
	align-items: center;
}
header .sns_btn ul li {
	margin-left: 12px;
}
header .sns_btn ul li img {
	display: block;
}
header .gnav.sp_nav {
	display: none;
}

.navarea {
	padding-top: 108px;
	margin-top: -108px;
}
.menu_cont {
	display: block !important;
	}

}


@media screen and (max-width: 767px) {
	
	header {
		z-index: 200;
		position: fixed;
		width: 100%;
		height: calc(110/750*100vw);
		background: #f9f8f8;
	}
	header.active {
		z-index: 200;
		position: fixed;
		width: 100%;
		height: calc(110/750*100vw);
		background: #f9f8f8;
	}
	header h1 {
		/*z-index: 102;*/
		position: relative;
		width: calc(410/750*100%);
		padding: calc(24/750*100%) 0 0 calc(20/750*100%);
	}
	.sp_head{
		z-index: 102;
		position: absolute;
		width: 100%;
		height: calc(110/750*100vw);
		background: #f9f8f8;
	}

	/*=============================
	.btn-trigger
	=============================*/
	.sp_btn {
		/*z-index: 102;*/
		position: absolute;
		right: calc(40/750*100vw);
		top: calc(37/750*100vw);
	}
	.btn-trigger {
		position: relative;
		right: 0;
		width: calc(46/750*100vw);
		height: calc(36/750*100vw);
		cursor: pointer;
	}
	.btn-trigger span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: calc(4/750*100vw);
	  background-color: #1ec7e0;
	  border-radius: calc(4/750*100vw);
	}
	.btn-trigger, .btn-trigger span {
	  display: inline-block;
	  transition: all .5s;
	  box-sizing: border-box;
	}
	.btn-trigger span:nth-of-type(1) {
	  top: 0;
	  left: 0;
	}
	.btn-trigger span:nth-of-type(2) {
	  top: calc(16/750*100vw);
	  left: 0;
	}
	.btn-trigger span:nth-of-type(3) {
	  bottom: 0;
	}


	/*=============================
	#btn01
	=============================*/
	#btn01.active span:nth-of-type(1) {
	  transform: translateY(calc(16/750*100vw)) rotate(-45deg);
	  left: 0;
	}
	#btn01.active span:nth-of-type(2) {
	  opacity: 0;
	}
	#btn01.active span:nth-of-type(3) {
	  transform: translateY(calc(-16/750*100vw)) rotate(45deg);
	}


	div.overlay {
		width: 100%!important;
		height: 100%;
		z-index: 1;
		/*background-color: #000000;
		opacity: 0.6;*/
	}
	header .menu_cont {
		display: none;
		z-index: 100;
		position: fixed;
		right: 0;
		top: 0;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling:touch;
		/*background: rgba(255,255,255,1);*/
	}
	.menu_cont.open-menu {
		display: block;
	}
	.menu_cont .inner {
		/*pointer-events: auto;*/
		/*width: calc(490/750*100vw);*/
		margin: calc(110/750*100vw) 0 0;
		padding: 0 0 calc(120/750*100vw);
		background: #f9f8f8;
	}
	.menu_cont .gnav ul {
		margin-bottom: calc(60/750*100vw);
	}
	.menu_cont .gnav.sp_nav ul {
		border-top: calc(4/750*100vw) solid #fff;
		margin-bottom: 0;
	}
	.menu_cont .gnav ul li {
		margin-bottom: 0;
		border-bottom: calc(4/750*100vw) solid #fff;
		font-size: calc(32/750*100vw);
	}
	.menu_cont .gnav ul li a {
		position: relative;
		display: block;
		box-sizing: border-box;
		width: 100%;
		height: calc(120/750*100vw);
		padding-left: calc(50/750*100vw);
		line-height: calc(110/750*100vw);
		background: url("../img/index/sp/arrow01.png") calc(688/750*100vw) center no-repeat;
		background-size: calc(22/750*100vw) auto;
	}
	.menu_cont .gnav.sp_nav ul li a {
		padding-left: calc(30/750*100vw);
		background: url("../img/index/sp/arrow01.png") calc(668/750*100vw) center no-repeat;
		background-size: calc(22/750*100vw) auto;
	}
	.menu_cont .gnav.sp_nav ul li.un_t a {
		border-left: calc(20/750*100vw) solid #1ca7f6;
	}
	.menu_cont .gnav.sp_nav ul li.un_o a {
		border-left: calc(20/750*100vw) solid #768ee6;
	}
	.menu_cont .gnav.sp_nav ul li.hi_t a {
		border-left: calc(20/750*100vw) solid #f28389;
	}
	.menu_cont .gnav.sp_nav ul li.hi_o a {
		border-left: calc(20/750*100vw) solid #f49975;
	}
	.menu_cont .gnav.sp_nav ul li.ca_t a {
		border-left: calc(20/750*100vw) solid #12cf97;
	}
	.menu_cont .gnav.sp_nav ul li.ca_o a {
		border-left: calc(20/750*100vw) solid #a4d21a;
	}
	.menu_cont .gnav.sp_nav ul li.temp a {
		border-left: calc(20/750*100vw) solid #e0c21d;
	}
	.menu_cont .sns_btn ul {
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: calc(53/750*100vw);
	}
	.menu_cont .sns_btn li {
	}
	.menu_cont .sns_btn li:first-child {
		width: calc(70/750*100vw);
	}
	.menu_cont .sns_btn li:nth-child(2) {
		width: calc(68/750*100vw);
	}
	.menu_cont .sns_btn li:last-child {
		width: calc(58/750*100vw);
	}
	.menu_cont .sns_btn li img {
		display: block;
	}


}
@media screen and (min-width: 768px) {
/*	
header.following {
	z-index: 10;
	position: fixed;
	top: 0;
	width: 100%;
}
#menu_cont {
	display: none;
	opacity: 0;
}
*/
}

/* =====================================
	content
===================================== */

@media screen and (min-width: 768px) {


#rootpass.free {
	margin: 15px auto 30px 100px;
	line-height: 1.0;
	font-size: 13px;
}
#rootpass {
	width: 1080px;
	margin: 18px auto 45px;
	line-height: 1.0;
	font-size: 11px;
}

.portal {
	z-index: 10;
	position: fixed;
	right: 0;
	top: 197px;	
	/*top: 224px;*/	
	/*width: 250px;*/
}
.portal .close_btn {
	position: absolute;
	left: -12px;
	top: -12px;
	cursor: pointer;
}
.portal .s_btn {
	display: none;
}
.portal.size .s_btn {
	display: block;
}
.portal.size .l_btn {
	display: none;
}
.portal.size .close_btn {
	display: none;
}
.portal_sp {
	display: none!important;
}

}

@media screen and (max-width: 767px) {
	
	#rootpass {
		display: none;
	}
	.portal {
		display: none;
	}
	.portal_sp {
		z-index: 100;
		position: fixed;
		left: 0;
		bottom: 0;
	}
}


/* =====================================
	footer
===================================== */
@media screen and (min-width: 768px) {

footer {
	z-index: 1;
	position: relative;
	padding: 40px 0 40px;
	background: #f9f8f8;
}
footer .inner {
	padding: 0 125px 35px 60px;
}
footer .footlogo {
	float: left;
}
footer .footlogo .logo {
	margin-bottom: 20px;
}
footer .footlogo .btnarea {
	display: flex;
	align-items: center;
}
footer .footlogo .btnarea .sns_btn {
	display: flex;
	align-items: center;
}
footer .footlogo .btnarea .sns_btn li {
	margin-right: 9px;	
}
footer .footlogo .btnarea .sns_btn li img {
	display: block;
}

a.foot_btn {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 298px;
	height: 60px;
	margin-right: 18px;
	padding-left: 30px;
	line-height: 54px;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	background: #1ec7e0;
	border: 2px solid #1ec7e0;
	border-radius: 100px;
}
a.foot_btn .arrow02 {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	width: 14px;
	height: 2px;
	background: #fff;
}
a.foot_btn .arrow02::before {
	box-sizing: border-box;
	content: '';
	width: 8px;
	height: 8px;
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -1px;
}
a.foot_btn:hover {
	color: #1ec7e0;
	background: #ffffff!important;
	border: 2px solid #1ec7e0;
}
a.foot_btn:hover .arrow02 {
	background-color: #1ec7e0;
}
a.foot_btn:hover .arrow02::before {
	border: 2px solid #1ec7e0;
	border-left: 0;
	border-bottom: 0;
}
	
	
footer .footnav {
	float: right;
	display: flex;
}
footer .footnav a {
}
footer .footnav ul {
	margin-bottom: 45px;
}
footer .footnav ul:first-child {
	margin-right: 60px;
}
footer .footnav ul li {
	margin: 0 0 20px 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.0;
}
footer .footnav ul li:last-child {
	margin: 0 0 0 0;
}
footer small{
	padding: 0 60px 0;
	font-family: "Sora", sans-serif;
	font-size: 10px;
	line-height: 1.0;
}
	

.pt {
	position: absolute;
	right: 20px;
	bottom: 15px;
}

}

@media screen and (max-width: 767px) {
	footer {
		z-index: 1;
		position: relative;
		padding: calc(50/750*100vw) 0 calc(80/750*100vw);
		background: #f9f8f8;
		text-align: center;
	}
	footer .inner {
		width: calc(650/750*100vw);
		margin: 0 auto;
		padding: 0;
	}
	footer .footlogo {
	}
	footer .footlogo .logo {
		margin-bottom: calc(30/750*100vw);
	}
	footer .footlogo .btnarea {
		margin-bottom: calc(70/750*100vw);
	}
	footer .footlogo .btnarea .sns_btn {
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: calc(53/750*100vw);
	}
	footer .footlogo .btnarea .sns_btn li {
	}
	footer .footlogo .btnarea .sns_btn li:first-child {
		width: calc(70/750*100vw);
	}
	footer .footlogo .btnarea .sns_btn li:nth-child(2) {
		width: calc(68/750*100vw);
	}
	footer .footlogo .btnarea .sns_btn li:last-child {
		width: calc(58/750*100vw);
	}
	footer .footlogo .btnarea .sns_btn li img {
		display: block;
	}
	a.foot_btn {
		position: relative;
		display: block;
		box-sizing: border-box;
		width: 100%;
		height: calc(108/750*100vw);
		margin-bottom: calc(60/750*100vw);
		padding-left: calc(54/750*100vw);
		text-align: left;
		line-height: calc(98/750*100vw);
		font-size: calc(28/750*100vw);
		font-weight: 600;
		color: #fff;
		background: #1ec7e0;
		border-radius: calc(100/750*100vw);
	}
	a.foot_btn .arrow02 {
		position: absolute;
		right: calc(43/750*100vw);
		top: 50%;
		transform: translateY(-50%);
		display: inline-block;
		width: calc(25/750*100vw);
		height: calc(3/750*100vw);
		background: #fff;
	}
	a.foot_btn .arrow02::before {
		box-sizing: border-box;
		content: '';
		width: calc(14/750*100vw);
		height: calc(14/750*100vw);
		border: calc(3/750*100vw) solid #fff;
		border-left: 0;
		border-bottom: 0;
		transform: rotate(45deg);
		transform-origin: top right;
		position: absolute;
		top: 50%;
		right: calc(-2/750*100vw);
	}
	
	footer .footnav {
		display: none;
	}
	footer small{
		text-align: center;
		font-family: "Sora", sans-serif;
		font-size: calc(18/750*100vw);
		line-height: 1.0;
	}
	.pt {
		position: absolute;
		right: calc(20/750*100vw);
		bottom: calc(20/750*100vw);
		width: calc(90/750*100vw);
	}
	
}
