@charset "utf-8";
/* CSS Document */


/*共有*/
.pc{display:block;}
.sp{display:none;}
.page_wrap{
	overflow: hidden;
	width: 100%;
	position: absolute;
  }

/*タイトル*/
.title{font-size:42px;text-align:center;margin-bottom:1em;line-height:1.1em;}

/*マージン*/
.mt3{margin-top:3%;}
.mt5{margin-top:5%;}

/*ナビ*/
.navi{}
.navi h4{color:#C9F;padding:0 0 0.2em 1em;line-height:1em;}
.navi_inner{margin-bottom:1em;}

/*メインイメージ*/
.main_bg{background:url(../img/main_bg.webp) center bottom no-repeat;background-size:100%;height:50vw;}

.infinite{
	max-width:1000px;
	width:75%;
	animation:0.8s linear fade2;
	position: absolute;
	top:-15vw;
	right:-12vw;
  }

@keyframes fade2{
  0%{
	  opacity:0;
	  transform:scale(0) rotateZ(0);
	  }
  100%{
	  opacity:1;
	  transform:scale(1) rotateZ(359deg);
	  }
}




.logo{max-width:230px;width:26%;position:relative;top:1.5vw;left:1vw;}
.copy{
	opacity: 0;
	max-width:570px;
	width:57%;
	position:relative;
	top:8vw;
	left:0;
	font-size:8vw;
	line-height:1.1;
	font-weight:700;
	color:#000;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	-1px 1px 0 #fff,  1px -1px 0 #fff,
	1px 0 0 #fff, -1px  0 0 #fff,
	0 1px 0 #fff,  0 -1px 0 #fff;
	}
.copy .big_size{font-size:1.5em;}
.copy .purple{color:#52357e;}


/*ミッション*/
.mission_wrap{padding:0 0 5vw;}
.mission_wrap h2{font-size:7vw;line-height:1.1em;text-align:center;}
.mission_wrap p{font-size:3.5vw;line-height:1.1em;text-align:center;display:block;margin-top:0.5em;}


/*お知らせ*/
.information_wrap{
	padding:8vw 0;
	padding:5vw 0;
	background:#f6f6f6;
	}
.information_wrap .left{float:left;width:23%;}
.information_wrap .left h3{color:#52357e;font-size:5vw;line-height:1em;}
.information_wrap .right{float:right;width:77%;}
.information_wrap .right a{color:#333;}
.information_wrap .right a:hover{color:#F60;}
.information_wrap .right ul{display:table;width:100%;border-bottom:1px #333 dashed;}
.information_wrap .right li{display:table-cell;padding:1em 0;line-height:1.2em;}
.information_wrap .right ul:first-child li{padding-top:0;}
.information_wrap .right li.day{width:6em;}
.information_wrap .right li.category{width:5em;padding-right:1em;}
.information_wrap .right li.category span{
	font-size:0.8em;
	display:block;
	line-height:1em;
	padding:0.2em 0.5em;
	text-align:center;
	border-radius: 1.5em;
	}
.information_wrap .right li.cate1 span{background:#36F;color:#FFF;}
.information_wrap .right li.cate2 span{background:#F00;color:#FFF;}


	
.information_wrap .btn_list{}
.information_wrap .btn_list:hover{}
.information_wrap .btn_list span{
	color:#333;
	display:block;
	margin-right:35px;
	width:6em;
	margin-top:0.2em;
	background:url(../img/list_arrow.webp) center right no-repeat;
	background-size:20px;
	line-height:1em;
	}
.information_wrap .btn_list span:hover{
	color:#96C;
	background:url(../img/list_arrow_h.webp) center right no-repeat;
	background-size:20px;
	}

/*グループ*/
.group_wrap{
	background:url(../img/group_bg.webp) top center no-repeat;
	background-size:contain;
}

.group_wrap .wrap{position:relative;height:70vw;}
.img_circle{
	opacity:0;
	max-width:500px;
	width:45%;
	position:absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	}
.circle{animation:1s linear circle;animation-fill-mode:forwards;}
	
@keyframes circle{
  0%{
	  opacity:0;
	  transform:translate(-50%, -50%) rotate(0deg);
	  }
  100%{
	  opacity:1;
	  transform:translate(-50%, -50%) rotate(359deg);
	  }
}	
	
	
.circle_logo{
	opacity:0;
	max-width:330px;
	width:30%;
	position:absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	}
.logo_shinplace{
	opacity:0;
	max-width:219px;
	width:20%;
	position:absolute;
	top: 50%;
	left: 50%;
    transform: translate(90%, -230%);
    -webkit-transform: translate(90%, -230%);
    -ms-transform: translate(90%, -230%);
	}
.logo_pic{
	opacity:0;
	max-width:192px;
	width:17.5%;
	position:absolute;
	top: 41%;
	left: 55%;
    transform: translate(130%, 0%);
    -webkit-transform: translate(130%, 0%);
    -ms-transform: translate(130%, 0%);
}
.logo_ifactory{
	opacity:0;
	max-width:286px;
	width:26%;
	position:absolute;
	top: 47%;
	left: 75%;
    transform: translate(-50%, 250%);
    -webkit-transform: translate(-50%, 250%);
    -ms-transform: translate(-50%, 250%);
	}
.logo_kaimeido{
	opacity:0;
	max-width:180px;
	width:16.6%;
	position:absolute;
	top: 41%;
	left: 50%;
    transform: translate(-280%, -0%);
    -webkit-transform: translate(-280%, -0%);
    -ms-transform: translate(-280%, -0%);
	}
.logo_cocokara{
	opacity:0;
	max-width:232px;
	width:21%;
	position:absolute;
	top: 50%;
	left: 50%;
    transform: translate(-180%, -170%);
    -webkit-transform: translate(-180%, -170%);
    -ms-transform: translate(-180%, -170%);
	}
.logo_rehaspo{
	opacity:0;
	max-width:180px;
	width:16.6%;
	position:absolute;
	top: 73%;
	left: 63%;
    transform: translate(-280%, -10%);
    -webkit-transform: translate(-280%, -10%);
    -ms-transform: translate(-280%, -10%);
	}

.group_wrap .wrap .open{animation:0.8s linear open;animation-fill-mode:forwards;}

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



/*写真左*/
.photo_left{padding-bottom:5vw;}
.photo_left .left{width:56%;max-width:620px;float:left;}
.photo_left .left img{border-radius:15px;}
.photo_left .right{width:41%;max-width:460px;float:right;}
.photo_left .right h3{font-size:2.5vw;margin-bottom:1vw;}
.photo_left .right p{line-height:1.8em;}

.photo_left .btn_wrap{margin-top:2vw;}
.photo_left .btn_wrap li{padding-bottom:0.5vw;float:left;width:32%;margin-right:2%;}
.photo_left .btn_wrap li:last-child{margin-right:0;}
.photo_left .btn_wrap li a{border:1px #ddd solid;display:block;}
.photo_left .btn_wrap li a:hover img {
	opacity:1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

/*写真右*/
.photo_right{padding-bottom:5vw;}
.photo_right .left{width:41%;max-width:460px;float:left;}
.photo_right .left h3{font-size:2.5vw;margin-bottom:1vw;}
.photo_right .left p{line-height:1.8em;}
.photo_right .right{width:56%;max-width:620px;float:right;}
.photo_right .right img{border-radius:15px;}

.photo_right .btn_wrap{margin-top:2vw;}
.photo_right .btn_wrap li{padding-bottom:0.5vw;float:left;width:32%;margin-right:2%;}
.photo_right .btn_wrap li:last-child{margin-right:0;}
.photo_right .btn_wrap li a{border:1px #ddd solid;display:block;}
.photo_right .btn_wrap li a:hover img {
	opacity:1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

/*企業ボタン*/
.btn_shinplace:hover{background:#eFF;}
.btn_cocokara:hover{background:#eFe;}
.btn_kaimeido:hover{background:#eFF;}
.btn_ifactory:hover{background:#FFC;}
.btn_pic:hover{background:#FeF;}

/*フッター*/
footer{padding:5vw 0 0;background:#f6f6f6;}
footer a{color:#333;}
footer address{text-align:center;display:block;padding:5vw 0;line-height:1.2em;}
footer address img{max-width:220px;margin:0 auto 1.5vw;width:50%;}
footer .copyright{text-align:center;padding:0.2em 0;font-size:0.8em;}

.ftr_link1{width:20em;margin:0 auto 1vw;}
.ftr_link1 li{
	font-size:0.8em;
	float:left;
	padding:0.2em 1em;
	border-right:1px #888 solid;
	line-height:1em;
	}
.ftr_link1 li:last-child{border-right:none;}

.ftr_link2{width:27em;margin:0 auto 1vw;}
.ftr_link2 li{
	font-size:0.8em;
	float:left;
	padding:0.2em 1em;
	border-right:1px #888 solid;
	line-height:1em;
	}
.ftr_link2 li:last-child{border-right:none;}

.ftr_link3{width:23em;margin:0 auto 1vw;}
.ftr_link3 li{
	font-size:0.8em;
	float:left;
	padding:0.2em 1em;
	border-right:1px #888 solid;
	line-height:1em;
	}
.ftr_link3 li:nth-child(3){border-right:none;}
.ftr_link3 li:last-child{border-right:none;}

/*サブページ*/
.subpage .header_wrap{
	background-image:url(../img/sub_infinite.webp), url(../img/main_bg.webp);
	background-repeat:no-repeat, no-repeat;
	background-size:50vw,100%;
	background-position:top right,top center;
	}

.subpage .header_wrap h2{color:#52357e;line-height:1em;font-size:7vw;padding:8vw 0 15vw;}
.subpage .header_wrap h2 span{display:block;font-size:0.4em;font-weight:normal;line-height:1em;color:#333;}
.subpage main{padding-bottom:10vw;}
.pankuzu{font-size:0.9em;padding:1vw 0 5vw;}

/*会社概要*/
.table{width:100%;line-height:1.4em;}
.table tr{border-bottom:1px #888 solid;}
.table tr:first-child{border-top:1px #888 solid;}
.table th{font-weight:normal;}
.table td{padding:1em;}

.profile_table th{padding:1em;width:7em;vertical-align:top;text-align:left;}
.history_table th{padding:1em;width:10em;vertical-align:top;text-align:left;}

.profile_wrap{padding-bottom:10vw;}
.profile_wrap h3{font-size:3.4vw;margin-bottom:2vw;}
.profile_wrap h3 span{font-size:0.7em;font-weight:normal;color:#52357e;padding-left:0.5em;}

.history_wrap{padding-bottom:5vw;}
.history_wrap h3{font-size:3.4vw;margin-bottom:2vw;}
.history_wrap h3 span{font-size:0.7em;font-weight:normal;color:#52357e;padding-left:0.5em;}

/*お問い合わせ*/
.contact_wrap{}
.form_table{width:100%;}
.form_table dl{display:table;width:100%;}
.form_table dt{
	display:table-cell;
	border:1px #888 solid;
	border-right:none;
	border-bottom:none;
	padding:1em;
	font-weight:normal;
	background:#52357e;
	color:#FFF;
	text-align:left;
	vertical-align:top;
	width:30%;
	padding-right:70px;
	line-height:1.2em;
	}
.form_table dt.icon_hissu{background:#52357e url(../img/icon_hissu.webp) top right no-repeat;background-size:60px;}
.form_table dd{
	display:table-cell;
	border:1px #888 solid;
	border-bottom:none;
	padding:1em;
	width:auto;
	}

.form_table dl:last-child dt{border-bottom:1px #888 solid;}
.form_table dl:last-child dd{border-bottom:1px #888 solid;}

.selectbox {
    position: relative;
}

.selectbox::before,
.selectbox::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.selectbox::before {
    right: 0;
    display: inline-block;
    width: 2.3em;
    height: 2.2em;
    border-radius: 0 3px 3px 0;
    background-color: #52357e;
    content: '';
}

.selectbox::after {
    position: absolute;
    top: 50%;
    right: 1.4em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
}

.selectbox select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 230px;
    height: 2.8em;
    padding: .4em 3.6em .4em .8em;
    border: 2px solid #52357e;
    border-radius: 3px;
    color: #333333;
    font-size: 0.8em;
    cursor: pointer;
}

.selectbox select:focus {
}


.contact_wrap .item{padding:0.2em;width:-webkit-fill-available;width:-moz-available;}
.contact_wrap .text_area{padding:0.2em;height:10em;width:-webkit-fill-available;width:-moz-available;}


.form_btn_wrap{padding:3vw 0;text-align:center;}
.form_btn_wrap .submit{
	font-wize:36px;
	padding:0.5em 2em;
	border-radius:2em;
	border:none;
	background:#52357e;
	color:#FFF;
	cursor: pointer;
	}
.form_btn_wrap .submit:hover{background:#74579f;}

.form_btn_wrap .back{
	margin-top:0.7em;
	font-wize:36px;
	padding:0.5em 2em;
	border-radius:2em;
	border:none;
	background:#666;
	color:#FFF;
	cursor: pointer;
	}

.table_up_text{padding-bottom:1em;display:block;text-align:center;}

/*ポップアップ*/
dialog{
  border: none;
  border-radius: 8px;
  padding: 1.5rem;
  max-width:500px;
  width:90%;
  text-align:center;
}

dialog a{
	border:none;
	outline:none;
	border-radius: 8px;
	background:#6C0;
	color:#FFF !important;
	display:block;
	width:10em;
	font-size:30px;
	margin:0.5em auto;
	line-height:1em;
	padding:0.3em 0.5em;
	}
dialog a:hover{background:#063;}



/* 背景の暗転 */
dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.point{cursor:pointer;}
.a_tag{border: 1px #ddd solid;}




@media screen and (min-width:1240px) {}
	
@media screen and (min-width:1100px) {
.main_bg{height:650px;}
.copy{
	font-size:85px;
	}
	
/*ミッション*/
.mission_wrap{padding:0 0 50px;}
.mission_wrap h2{font-size:70px;}
.mission_wrap p{font-size:35px;}

/*お知らせ*/
.information_wrap .left h3{font-size:42px;}
.information_wrap .left{width:20%;}
.information_wrap .right{width:80%;}

.information_wrap .btn_list span{
	font-size:24px;
	}
	
/*グループ*/
.group_wrap{}
.group_wrap .wrap{position:relative;height:900px;}

/*写真左*/
.photo_left .right h3{font-size:32px;margin-bottom:10px;}


/*写真右*/
.photo_right .left h3{font-size:32px;margin-bottom:10px;}

/*フッター*/
footer address{padding:40px 0;}
.ftr_link1{margin:0 auto 20px;}
.ftr_link2{margin:0 auto 20px;}
.ftr_link3{margin:0 auto 20px;}


/*サブページ*/
.subpage .header_wrap{
	background-image:url(../img/sub_infinite.webp), url(../img/main_bg.webp);
	background-repeat:no-repeat, no-repeat;
	background-size:50vw,100%;
	background-position:top right,top center;
	}

.subpage .header_wrap h2{font-size:80px;padding:90px 0 160px;}
.subpage main{padding-bottom:100px;}
.pankuzu{padding:10px 0 50px}

/*会社概要*/
.profile_wrap h3{font-size:42px;}
.history_wrap h3{font-size:42px;}

.profile_wrap{padding-bottom:100px;}
.history_wrap{padding-bottom:50px;}


}

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

@media screen and (max-width:760px) {
/*共通*/
.pc{display:none;}
.sp{display:block;}

/*タイトル*/
.title{font-size:6vw;}

/*ナビ*/
.navi h4{padding:0 0 0.2em 0;}

/*ミッション*/
.mission_wrap{padding:5vw 0 8vw;}
.mission_wrap h2{font-size:7vw;}

/*お知らせ*/
.information_wrap{padding:8vw 0;}
.information_wrap .left{float:none;width:100%;}
.information_wrap .left h3{text-align:center;font-size:8vw;margin-bottom:20px;line-height: 1em;}
.information_wrap .right{float:none;width:100%;}
.information_wrap .right li{font-size:0.9em;}
.information_wrap .right li.day{width:6em;}
.information_wrap .right li.category{display:none;width:5em;padding-right:0.5em;}

.information_wrap .btn_list{background:#52357e;border-radius:20px;margin:5vw auto 0;width:80%;}
.information_wrap .btn_list:hover{color:#fff;background:#96C;}
.information_wrap .btn_list span{
	color:#fff;
	display:block;
	width:6.3em;
	padding:0.4em 0 0.4em;
	background:url(../img/list_arrow_w.webp) center right no-repeat;
	background-size:20px;
	margin: 0 auto;
	line-height:1em;
	}
.information_wrap .btn_list span:hover{
	color:#fff;
	background:url(../img/list_arrow_w.webp) center right no-repeat;
	background-size:20px;
	}


/*写真左*/
.photo_left{padding-bottom:5vw;margin-bottom:7vw;border-bottom:1px #888 solid;}
.photo_left.last{border-bottom:none;}

.photo_left .left{width:100%;max-width:none;float:none;}
.photo_left .right{width:100%;max-width:none;float:none;}
.photo_left .right h3{font-size:6vw;text-align:center;padding:4vw 0 2vw;}

.photo_left .btn_wrap{margin-top:3vw;}
.photo_left .btn_wrap li{padding-bottom:3vw;}


/*写真右*/
.photo_right{padding-bottom:5vw;margin-bottom:7vw;border-bottom:1px #888 solid;}
.photo_right .left{width:100%;max-width:none;float:none;}
.photo_right .left h3{font-size:6vw;text-align:center;padding:4vw 0 2vw;}
.photo_right .right{width:100%;max-width:none;float:none;}

.photo_right .btn_wrap{margin-top:3vw;}
.photo_right .btn_wrap li{padding-bottom:3vw;}


/*フッター*/
footer{padding:0;}
.ftr_link1{width:100%;margin:0 auto 3vw;border-top:1px #888 solid;
}
.ftr_link1 li{
	font-size:4vw;
	float:none;
	padding:0;
	border-right:none;
	line-height:1em;
	}
.ftr_link1 li a{
	color:#FFF;
	display:block;
	padding:1.5em 1em 1.5em 5vw;
	background:#52357e url(../img/icon_arrow.svg) 0.5em center no-repeat;
	background-size:2vw;
	border-bottom:1px #fff solid;
}
.ftr_link1 li a:hover{
	background:#74579f url(../img/icon_arrow.svg) 0.5em center no-repeat;
	background-size:2vw;
	}
	
	

/*会社概要*/
.profile_wrap th{width:4em;padding:1em 0;}
.profile_wrap td{padding:1em 0 1em 1em;}
.history_table th{display:block;width:100%;float:left;padding:1em 0 0;}
.history_table td{display:block;width:100%;float:left;padding:0.5em 0 1em;font-size:0.9em;}

.profile_wrap{padding-bottom:10vw;}
.profile_wrap h3{font-size:6vw;}
.history_wrap{padding-bottom:10vw;}
.history_wrap h3{font-size:6vw;}



/*お問い合わせ*/
.form_table{width:100%;}
.form_table dl{display:block;}
.form_table dt{display:block;width:auto;border:none;padding:0.5em;width:auto;}
.form_table dd{display:block;border:none;padding:0.5em 0;width:auto;}

.form_table dl:last-child dt{border-bottom:none;}
.form_table dl:last-child dd{border-bottom:none;}

}



