html {
	box-sizing: border-box;
	overflow-y: scroll;
	font-size: 62.5%; /* 10px = 1rem */
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: 'Noto Sans JP',sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.6;
	color: #333;
	background-color: #fff;
	overflow-x: hidden;
}

.clearfix::after{
	content: ".";
	display: block;
	height: 0; 
	font-size: 0;
	line-height: 0;
	clear: both;
	visibility: hidden;
}

h1, h2, h3, h4, h5, h6,strong,em{
	font-weight: 700;
}

input, textarea, select, optgroup, option, button {
	font: inherit;
}
button, input[type="button"], input[type="submit"] {
	border: none;
	cursor: pointer;
}

a:link{
	color: #004098;
}

a:visited{
	color: #935cbd;
}

a:hover{
	color: #6e2376;
}
a:active{
	color: #d1526d;
}

a,
a img{
	transition-duration: .3s;
	-webkit-transition-duration: .3s;
}

a:hover,
a img:hover{
	opacity: 0.7;
}

h1, h2, h3, h4, h5, h6{
	line-height: 1.2;
	letter-spacing: .03em;
}

h2{font-size: 4.4rem;margin: 0 0 1.2rem 0;color: #333;}
h3{font-size: 2.6rem;margin: 0 0 2rem 0;color: #333;}
h4{font-size: 2.2rem;margin: 0 0 1.8rem 0;color: #333;}
h5{font-size: 1.8rem;margin: 0 0 1.4rem 0;color: #333;}
h6{font-size: 1.6rem;margin: 0 0 1.2rem 0;color: #333;}

p{
	text-align: justify;
	line-height: 2.1;
	letter-spacing: .1rem;
}

.tc{text-align: center;}

.sp,
.sp_iso,
.sp_tablet,
.tablet{display: none !important;}

.pc,
.pc_iso{display: block !important;}
.pc_inline{display: inline;}

/***************
* header
***************/
header{
	position: fixed;
	display: flex;
	display: -webkit-flex;
	justify-content: left;
	width: 100%;
	padding: 0 30px;
	z-index: 999;
	transition-duration: .3s;
	-webkit-transition-duration: .3s;
}

header.scrolled{
	background: rgba(110, 35, 118,0.8);
	/*background: rgba(255, 255, 255,0.5);*/
	backdrop-filter: blur(10px);
	box-shadow:
	0px 0.6px 0.7px rgba(0, 0, 0, 0.008),
	0px 1.3px 1.6px rgba(0, 0, 0, 0.012),
	0px 2.5px 3px rgba(0, 0, 0, 0.015),
	0px 4.5px 5.4px rgba(0, 0, 0, 0.018),
	0px 8.4px 10px rgba(0, 0, 0, 0.022),
	0px 20px 24px rgba(0, 0, 0, 0.03)
	;
	transition-duration: .3s;
	-webkit-transition-duration: .3s;
}


header .wrp{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

header .wrp h1{
	width: 190px;
	margin: 0 50px 0 0;
	padding: 30px 0;
}

header .wrp nav ul{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 2em;
	list-style: none;
	margin: 1em 0;
	padding: 0;
	text-indent: none;
}

header .wrp nav ul li a{
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	letter-spacing: .05em;
}

header .wrp nav ul li:last-child a{
	color: #6e2376;
}


/***************
* hero
***************/

#hero{
	position: relative;
	width: 100%;
	height: 100vh;
}

#hero .hero_copy{
	position: absolute;
	top: 50%;
	left:20%;
	-webkit-transform: translate(-20%, -50%);
	transform: translate(-20%, -50%);
	z-index: 2;
}

#hero .hero_copy h2{
	font-size: 5.4rem;
	color: #fff;
}

#hero .hero_copy .sub{
	margin: 0 0 0 5px;
	font-size: 2.2rem;
	color: #fff;
}

#hero .image{
	position: absolute;
/*	top: 0;
	left: 0;
	width: 100%;*/
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	height: 100vh;
	width: 166.6vh;
	min-width: 100vw;
	overflow: hidden;
}

#hero .image img{
/*	width: 100%;
	height: auto;*/
	height: 100%;
	width: 100%;
	max-width: initial;
}


/***************
* first
***************/
#first{
	position: relative;
	padding: 100px 0;
	clip-path: polygon(0 0,0 100%,100% 100%,100% 0);
	/*	background:url(../img/img_growup.webp) center top no-repeat;
	background-size: cover;
	background-attachment: fixed;*/
}
#first::before {
	content: '';
	z-index: -1;
	inset: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	background:url(../img/img_growup.webp) center center no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

#first .wrp{
	width: 1260px;
	margin: 0 auto;
}

#first .wrp h2{
	margin-bottom: 70px;
}

#first .wrp h2,
#first .wrp p{
	color: #fff;
}

#first .wrp p.grow{
	margin: 80px 0 0 0;
	font-size: 7rem;
	font-weight: 300;
	line-height: 1;
}

/***************
* about
***************/
#about{
	padding:100px 0 150px 0;
	background: #6e2376;
	scroll-margin-top: 121px;
}

#about .wrp{
	width: 1260px;
	margin: 0 auto;
}

#about .wrp .col2{
	position: relative;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}

#about .wrp .text{
	width: 650px;
}

#about .wrp .text h2{
	font-size: 5.4rem;
	margin-bottom: 70px;
}

#about .wrp .text h2,
#about .wrp .text p{
	color: #fff;
}

#about .wrp .image{
	margin: 0 -256px 0 0;
}

#about .wrp .image img{
	width: 100%;
	height: auto;
}

#about .wrp .col3{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	margin: 100px 0 0 0;
}

#about .wrp .col3 div{
	width: 32%;
	padding: 60px 40px;
	background: #591c5e;
	border-radius: 20px;
}

#about .wrp .col3 div h3{
	font-size: 2.7rem;
	color: #efea45;
}

#about .wrp .col3 div ul{
	margin: 0;
	padding: 0;
	list-style: none;
	color: #fff;
}

#about .wrp .col3 div ul li{
	position: relative;
	padding: 0 0 0 1.2em;
}

#about .wrp .col3 div ul li:not(:last-child){
	margin-bottom: .3em;
}

#about .wrp .col3 div ul li::before{
	position: absolute;
	content: "●";
	top: 0;
	left: 0;
	color: #efea45;
}

#about .wrp .message{
	width: 980px;
	margin: 60px auto 0 auto;
	padding: 8px 0;
	font-size: 2.7rem;
	color: #fff;
	text-align: center;
	border: 1px solid #fff;
	border-radius: 100vmax;
}

/***************
* workstyle
***************/
.bg_g{
	position: relative;
	background: #eeeeef;
	background: -moz-linear-gradient(180deg, rgba(110,35,118,1) 0%, rgba(110,35,118,1) 2%, rgba(238,238,239,1) 2%, rgba(238,238,239,1) 100%);
	background: -webkit-linear-gradient(180deg, rgba(110,35,118,1) 0%, rgba(110,35,118,1) 2%, rgba(238,238,239,1) 2%, rgba(238,238,239,1) 100%);
	background: linear-gradient(180deg, rgba(110,35,118,1) 0%, rgba(110,35,118,1) 2%, rgba(238,238,239,1) 2%, rgba(238,238,239,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#6e2376",endColorstr="#eeeeef",GradientType=1);
	height: auto;
	box-sizing: content-box;
}

#workstyle{
	position: relative;
	width: 1260px;
	margin: 0 auto;
	padding:100px 0 100px 0;
	background: #fff;
	border-radius: 30px;
	scroll-margin-top: 121px;
}

#workstyle .bg_work{
	position: absolute;
	width: 45%;
	top: 0;
	right: 0;
	height: 100%;
	background: url(../img/img_work.webp) right top no-repeat;
	background-size: cover;
	border-radius: 0 30px 30px 0;
	z-index: 2;
}

#workstyle .col2{
	position: relative;
	width: 100%;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	z-index: 3;
}

#workstyle .col2 .text{
	width: 50%;
	padding: 0 0 0 80px;
}

#workstyle .col2 .text h2{
	margin-bottom: 70px;
	color: #6e2376;
}

#workstyle .col2 .text h2 + .sub{
	margin-bottom: 60px;
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1.4;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
}

#workstyle .col2 .text h3{
	position: relative;
	margin-bottom: 13px;
	color: #6e2376;
}

#workstyle .col2 .text h3:nth-of-type(1){
	padding-left: 42px;
}

#workstyle .col2 .text h3:nth-of-type(1)::before{
	position: absolute;
	content: "";
	background: url(../img/icn_work_num1.svg) left top no-repeat;
	width: 20px;
	height: 43px;
	top: -5px;
	left: 3px;
}

#workstyle .col2 .text h3:nth-of-type(2){
	padding-left: 42px;
}

#workstyle .col2 .text h3:nth-of-type(2)::before{
	position: absolute;
	content: "";
	background: url(../img/icn_work_num2.svg) left top no-repeat;
	width: 32px;
	height: 44px;
	top: -7px;
	left: 0;
}

#workstyle .col2 .text h3:nth-of-type(3){
	padding-left: 42px;
}

#workstyle .col2 .text h3:nth-of-type(3)::before{
	position: absolute;
	content: "";
	background: url(../img/icn_work_num3.svg) left top no-repeat;
	width: 32px;
	height: 45px;
	top: -7px;
	left: 0;
}

#workstyle .col2 .text ul{
	margin: 0 0 0 42px;
	padding: 0;
	list-style: none;
}

#workstyle .col2 .text ul li{
	position: relative;
	padding: 0 0 0 1.2em;
}

#workstyle .col2 .text ul:not(:last-child){
	margin-bottom: 30px;
}

#workstyle .col2 .text ul li::before{
	position: absolute;
	content: "●";
	top: 0;
	left: 0;
}

#workstyle .col2 .image{
	width: 420px;
	align-self: flex-end;
	margin: 0 200px -185px 0;
}

#workstyle .col2 .image img{
	width: 100%;
	height: auto;
}

/***************
* function
***************/
#function{
	position: relative;
	width: 1100px;
	margin: 200px auto 0 auto;
	border-radius: 30px;
	scroll-margin-top: 160px;
}

#function h2{
	color: #6e2376;
	margin-bottom: 40px;
}

#function .ttl{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 70px;
}

#function .ttl a{
	position: relative;
	display: block;
	padding: 8px 38px 8px 24px;
	background: #fff;
	border-radius: 100vmax;
	color: #333;
	text-align: center;
	text-decoration: none;
}

#function .ttl a::before,
#function .ttl a::after {
	content: "";
	position: absolute;
	bottom: 16px;
	left: calc(88% - 1px);
	width: 2px;
	height: 9px;
	border-radius: 9999px;
	background-color: #6e2376;
	transform-origin: 50% calc(100% - 1px);
}

#function .ttl a::before {
  transform: rotate(45deg);
}

#function .ttl a::after {
	transform: rotate(-45deg);
}

#function .func_col2{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	width: calc(100% + 10px);
}

#function .func_col2 .user{
	width: 48%;
}

#function .func_col2 .admin{
	width: 48%;
}

#function .user_func{
	position: relative;
	margin: 0 0 0 -10px;
}

#function .user_func .box{
	width: 100%;
	display: flex;
	display: -webkit-flex;
	flex-direction: column;
	margin: 0 10px;
	padding: 54px 40px;
	background: #fff;
	border-radius: 20px;
}

#function .user_func .box .image{
	margin-bottom: 20px;
}

#function .user_func .box .image img{
	width: 100%;
	height: auto;
}

#function .user_func .box .sub{
	margin-bottom: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	color: #6e2376;
	line-height: 1.6;
}

#function .user_func .box .sub + p{
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	margin: 0 0 30px 0;
}

#function .user_func .box .model{
	display: none;
	gap: 0 5px;
	margin: auto 0 0 0;
	padding: 0;
	list-style: none;
}

#function .user_func .box .model li{
	padding: 3px 10px;
	font-size: 1.4rem;
	color: #6e2376;
	font-weight: 700;
	border: 1px solid #6e2376;
	border-radius: 100vmax;
}

#function .user_func .box .model li.disable{
	color: #9e9e9f;
	border-color: #9e9e9f;
}

#function .admin_ttl{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
	margin: 70px 10px 30px 0;
}

#function .admin_ttl h3{
	margin: 0;
}

.slick-prev{
	position: absolute;
	display: inline-block;
	transform: unset;
	top:50%;
	left: -8px;
	width: 40px;
	height: 40px;
	background: #6e2376;
	text-indent: -9999px;
	border-radius: 100vmax;
	opacity: 1;
	z-index: 100;
}

.slick-next{
	position: absolute;
	display: inline-block;
	transform: unset;
	top: 50%;
	right: -8px;
	width: 40px;
	height: 40px;
	background: #6e2376;
	text-indent: -9999px;
	border-radius: 100vmax;
	opacity: 1;
	z-index: 100;
}

.slick-next::before,
.slick-next::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5px);
  left: 28%;
  width: 16px;
  height: 3px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 1.5px) 50%;
	opacity: 1;
}

.slick-next::before,
.slick-next::before {
  transform: rotate(45deg);
}

.slick-next::after,
.slick-next::after {
  transform: rotate(-45deg);
}

.slick-prev::before,
.slick-prev::after{
  content: "";
  position: absolute;
  top: calc(50% - 1.5px);
  left: 28%;
  width: 16px;
  height: 3px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 1.5px 50%;
	opacity: 1;
}

.slick-prev::before,
.slick-prev::before {
  transform: rotate(45deg);
}

.slick-prev::after,
.slick-prev::after {
  transform: rotate(-45deg);
}

.slick-disabled,
.slick-disabled::before,
.slick-disabled::after{
	opacity: 0.45;
	cursor: default;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{
	opacity: 0.45;
}

#function .admin_func{
	position: relative;
	margin: 0 0 0 -10px;
}

#function .admin_func .box{
	width: 100%;
	margin: 0 10px;
	padding: 54px 40px;
	background: #fff;
	border-radius: 20px;
}

#function .admin_func .box .image{
	margin-bottom: 20px;
}

#function .admin_func .box .image img{
	width: 100%;
	height: auto;
}

#function .admin_func .box .sub{
	margin-bottom: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	color: #6e2376;
	line-height: 1.6;
}

#function .admin_func .box .sub + p{
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	margin: 0 0 30px 0;
}

#function .admin_func .box dl{display: none;}
#function .admin_func .box dl div{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
}

#function .admin_func .box dl div dt{
	font-size: 1.4rem;
}

#function .admin_func .box dl div + div{
	margin: 6px 0 0 0;
}

#function .admin_func .box .model{
	display: none;
	gap: 0 5px;
	margin: auto 0 0 0;
	padding: 0;
	list-style: none;
}

#function .admin_func .box .model li{
	padding: 3px 10px;
	font-size: 1.3rem;
	color: #6e2376;
	font-weight: 700;
	border: 1px solid #6e2376;
	border-radius: 100vmax;
}

#function .admin_func .box .model li.disable{
	color: #9e9e9f;
	border-color: #9e9e9f;
}

/***************
* funclist
***************/
#funclist{
	position: relative;
	width: 1100px;
	margin: 100px auto 0 auto;
	border-radius: 30px;
	scroll-margin-top: 160px;
}

/* tbl_base
-----------------------------------*/

table.tbl_base{
	width:100%;
	border-collapse: collapse;
	border: none;
	line-height: 1.3;
}
table.tbl_base tr{
}
table.tbl_base th,
table.tbl_base td{
	padding: 0.7em 1.1em;
	border-bottom: 1px solid rgb(220,220,220);
	background-color: #fff;
	color:rgb(87,87,87);
}
table.tbl_base th br{
	display:none;
}

table.tbl_base thead th{
	padding:0.5em;
	background-color:rgba(110,36,118);
	color:#fff;
	font-size:2.1rem;
	font-weight:900;
}
table.tbl_base thead th:not(:last-child){
	border-right: solid #fff 1px;
}
table.tbl_base thead td{
}

table.tbl_base tbody tr{
}
table.tbl_base tbody th{
	width:25%;
	background-color:rgb(240,240,240);
	text-align:left;
	font-size: 1.8rem;
}
table.tbl_base tbody th span{
	display:block;
	font-size:0.7em;
}
table.tbl_base tbody th[colspan="4"]{
	padding: 0.3em 1.1em;
	background-color:rgb(160,160,160);
	color:#fff;
	font-size: 2rem;
}
table.tbl_base tbody td{
	width:25%;
	padding:0.3em 1.1em;
	text-align:center;
	line-height: 1;
	font-size:2.4rem;
}

table.tbl_base tbody td span.txt{
	font-size: 2rem;
}
table.tbl_base tbody td span.txt.clr{
	color:rgba(110,36,118);
	font-weight:700;
}

i.icn{
	display:inline-block;
	position: relative;
	width:2.4rem;
	height:2.4rem;
}

i.i_on::before{
	content: "";
	display:block;
	position: absolute;
	height: 1em;
	width: 0.6em;
	top: -5%;
	left: 20%;
	border-bottom:solid rgb(110,36,118) 3px;
	border-right:solid rgb(110,36,118) 3px;
	transform: rotate(45deg);
}


/*料金表*/
table.tbl_base.tbl_price tbody th{
}
table.tbl_base.tbl_price tbody td{
}

table.tbl_base.tbl_price{}
table.tbl_base.tbl_price .em{}
table.tbl_base.tbl_price .em th{
	font-size:2.4rem;
}
table.tbl_base.tbl_price .em td{
	color:rgba(110,36,118);
	font-size:3.6rem;
	font-weight:900;
}

table.tbl_base.tbl_price tbody th{
	font-size:2.2rem;
}
table.tbl_base.tbl_price tbody td{
	padding: 0.5em 1.1em;
	font-size:2.2rem;
}

/***************
* flow
***************/
#flow{
	position: relative;
	width: 1100px;
	margin: 200px auto 0 auto;
	border-radius: 30px;
	scroll-margin-top: 160px;
}

#flow h2{
	margin: 70px 10px 40px 0;
	color: #6e2376;
}


#flow .wrp{
	display: flex;
	display: -webkit-flex;
	flex-wrap: nowrap;
}

#flow .wrp .box{
	position: relative;
	width: 25%;
}

#flow .wrp .box h3{
	margin: 0 0 14px 0;
	font-size: 2.2rem;
}


#flow .wrp .box::before{
	display: block;
	content: "";
	position: absolute;
	top: 8px;
	left: 8px;
}
#flow .wrp .box .image{
	margin-bottom: 18px;
}

#flow .wrp .box .image img{
	width: 100%;
	height: auto;
}

#flow .wrp .box p{
	line-height: 1.6;
}

#flow .wrp .box:nth-child(1) p{
	width: 240px;
	padding: 0 0 0 0;
}

#flow .wrp .box:nth-child(2) p{
	width: 250px;
	padding: 0 0 0 15px;
}

#flow .wrp .box:nth-child(3) p{
	width: 260px;
	padding: 0 0 0 25px;
}

#flow .wrp .box:nth-child(4) p{
	width: 270px;
	padding: 0 0 0 35px;
}

/***************
* support
***************/
#support{
	position: relative;
	width: 1100px;
	margin: 200px auto 0 auto;
	border-radius: 30px;
	scroll-margin-top: 160px;
}

#support h2{
	margin-bottom: 40px;
	color: #6e2376;
}

#support .supimg{
	margin: 0 0 -60px 0;
}

#support .supimg .img{
	position: relative;
	margin: 0 calc(50% - 50vw);
  width: 100vw;
}

#support .supimg img{
	width: 100%;
	height: auto;
}

#support .supimg p{
	position:absolute;
	top: 35%;
	-webkit-transform: translate(0, -35%);
	transform: translate(0, -35%);
	font-size: 2.6rem;
	font-weight: 700;
	color: #fff;
}

#support .wrp{
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#support .wrp .box{
	position: relative;
	width: 30%;
}

#support .wrp .box h3{
	margin: 0 0 14px 0;
	font-size: 2.2rem;
}

#support .wrp .box .image{
	margin-bottom: 14px;
}

#support .wrp .box .image img{
	width: 100%;
	height: auto;
}

#support .wrp .box p{
	line-height: 1.6;
}

/***************
* model
***************/
#model{
	position: relative;
	width: 1100px;
	margin: 200px auto 0 auto;
	padding: 0 0 160px 0;
	border-radius: 30px;
	scroll-margin-top: 160px;
}

#model h2{
	margin-bottom: 40px;
	color: #6e2376;
}

#model .ttl{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

#model .ttl a{
	position: relative;
	display: block;
	padding: 8px 38px 8px 24px;
	background: #fff;
	border-radius: 100vmax;
	color: #333;
	text-align: center;
	text-decoration: none;
}

#model .ttl a::before,
#model .ttl a::after {
	content: "";
	position: absolute;
	bottom: 16px;
	left: calc(88% - 1px);
	width: 2px;
	height: 9px;
	border-radius: 9999px;
	background-color: #6e2376;
	transform-origin: 50% calc(100% - 1px);
}

#model .ttl a::before {
  transform: rotate(45deg);
}

#model .ttl a::after {
	transform: rotate(-45deg);
}

#model .modelplan{
	margin: 60px 0 30px 0;
	padding: 60px 80px 50px 80px;
	background: #fff;
	border-radius: 30px;
}

#model .modelplan p{
	font-size: 2rem;
	font-weight: 700;
}

#model .modelplan p span{
	margin: 0 3px 0 0;
	font-size: 3.6rem;
	font-weight: 900;
	color: #6e2376;
	line-height: 1;
}

#model .caution{
	margin: 1em 0 0 0;
	padding: 0;
	list-style: none;
	text-indent: none;
}

#model .caution li{
	position: relative;
	padding: 0 0 0 1.1em;
	font-size: 1.4rem;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
}

#model .caution li::before{
	position: absolute;
	content: "※";
	top: 0;
	left: 0;
}

/***************
* contactform
***************/
#contactform .start{
	width: 1100px;
	margin: 0 auto 160px auto;
	position: relative;
}

#contactform .start .img{
	position: relative;
	margin: 0 calc(50% - 50vw);
  width: 100vw;
}

#contactform .start .img img{
	width: 100%;
	height: auto;
}

#contactform .start p{
	position:absolute;
	width: 1000px;
	top: 45%;
	-webkit-transform: translate(0, -35%);
	transform: translate(0, -35%);
	font-size: 2.6rem;
	font-weight: 700;
	text-align: right;
	color: #fff;
}

#contactform{
	position: relative;
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 100px 0;
	scroll-margin-top: 121px;
}

#contactform h2{
	margin-bottom: 40px;
	color: #6e2376;
}

/***************
* company
***************/
#company{
	position: relative;
}

#company .comimage{
	position: relative;
	margin: 0 calc(50% - 50vw);
  width: 100vw;
}

#company .comimage img{
	width: 100%;
	height: auto;
}

#company .wrp{
	padding: 100px 0;
}

#company .wrp .text{
	width: 1200px;
	margin: 0 auto;
}

#company .wrp .text h2{
	font-size: 2.2rem;
}

#company .wrp .text .col2{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}

#company .wrp .text .col2 .lside{
	width: 48%;
}

#company .wrp .text .col2 .rside{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	width: 48%;
}

#company .wrp .text .col2 .rside .leftlinks{
	width: 31%;
}

#company .wrp .text .col2 .rside .rightlinks{
	width: 65%;
}

#company .wrp .text .col2 .rside ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

#company .wrp .text .col2 .rside ul + p{
	margin-top: 10px;
}

#company .wrp .text dl{
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	gap: 16px 14px;
	font-size: 1.4rem;
}

#company .wrp .text dl dt{
	width: 15%;
}

#company .wrp .text dl dd{
	width: 80%;
}

#company .wrp .text .isomark{
	display: flex;
	display: -webkit-flex;
	justify-content: start;
	width: 303px;
	margin: 30px 0 0 0;
}

#company .wrp .text .isomark img{
	width: 100%;
	height: auto;
}

#company .wrp a{
	position: relative;
	font-size: 1.4rem;
	text-decoration: none;
}

#company .wrp a span{
	display: inline-block;
	width: 12px;
	height: 10px;
	margin-left: 3px;
	background: url(../img/icn_outlink.svg) left top no-repeat;
}

#company .wrp a:hover span{
	background: url(../img/icn_outlink_o.svg) left top no-repeat;
}

/*
#company .wrp a::after{
	position: absolute;
	content: "";
	top: 35%;
	right: -16px;
	width: 12px;
	height: 10px;
	background: url(../img/icn_outlink.svg) left top no-repeat;
}

#company .wrp a:hover::after{
	background: url(../img/icn_outlink_o.svg) left top no-repeat;
}
*/

/***************
* footer
***************/
footer{
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 50px;
	border-top: 1px solid #d1cecd;
}

footer .snslinks{
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	width: 80px;
	margin: -100px -50px 70px auto;
}

footer p{
	font-size: 1.4rem;
	text-align: center;
}

footer p.copy{
	margin:0 auto;
	font-weight: 300;
}

#page-top{
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 70px;
	font-size: 14px;
	line-height: 1;
	z-index: 998;
	transition-duration: .3s;
	-webkit-transition-duration: .3s;
}

#page-top a{
	transition: all .5s ease;
}

#page-top:hover{
	bottom: 25px;
	transition-duration: .3s;
	-webkit-transition-duration: .3s;
}

#page-top img{
	width: 100%;
	height: auto;
}

/***************
* loading
***************/
#loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg_splash.webp) center top no-repeat;
	background-size: cover;
	z-index: 9000;
	overflow: hidden;
}

#loader p{
	position:absolute;
	top: 50%;
	left:50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-size: 6rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1.8;
}

#loader.loaded {
  opacity: 0;
  visibility: hidden;
}

.sk-fading-circle {
  margin: calc(100svh / 5) auto 0 auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.sk-fading-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-fading-circle .sk-circle:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
          animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}
.sk-fading-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
}
.sk-fading-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
      -ms-transform: rotate(60deg);
          transform: rotate(60deg);
}
.sk-fading-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.sk-fading-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
      -ms-transform: rotate(120deg);
          transform: rotate(120deg);
}
.sk-fading-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
      -ms-transform: rotate(150deg);
          transform: rotate(150deg);
}
.sk-fading-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.sk-fading-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
      -ms-transform: rotate(210deg);
          transform: rotate(210deg);
}
.sk-fading-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
      -ms-transform: rotate(240deg);
          transform: rotate(240deg);
}
.sk-fading-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
}
.sk-fading-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
      -ms-transform: rotate(300deg);
          transform: rotate(300deg); 
}
.sk-fading-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
      -ms-transform: rotate(330deg);
          transform: rotate(330deg); 
}
.sk-fading-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s; 
}
.sk-fading-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
          animation-delay: -1s; 
}
.sk-fading-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s; 
}
.sk-fading-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s; 
}
.sk-fading-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
          animation-delay: -0.7s; 
}
.sk-fading-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s; 
}
.sk-fading-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s; 
}
.sk-fading-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}
.sk-fading-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
          animation-delay: -0.3s;
}
.sk-fading-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.sk-fading-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {
  0%, 39%, 100% { opacity: 0; }
  40% { opacity: 1; }
}

@keyframes sk-circleFadeDelay {
  0%, 39%, 100% { opacity: 0; }
  40% { opacity: 1; } 
}