@charset "utf-8";
/* CSS Document */
/*====================================
top
====================================*/
/* 共通箇所
--------------------------------------*/
#top .sec_ttl {
	font-size: 2.2rem;
	letter-spacing: 3px;
	font-weight: 300;
	text-align: center;
	color: #000;
}
#top .more_btn{
	display: block;
	border: solid 1px #999;
	color: #999;
	font-size: 1.6rem;
	letter-spacing: 1px;
	padding: 2.4vw;
	text-align: center;
	width: 50vw;
	box-sizing: border-box;
	margin: 0 auto;
	margin-top: 4.83vw;
}

@media screen and (min-width: 600px) {
	#top .sec_ttl {
		font-size: 20px;
	}
	#top .more_btn{
		font-size: 13px;
		padding: 20px;
		width: 300px;
	}
}
@media screen and (min-width: 1100px) {
	#top .sec_ttl {
		width: 200px;
		text-align: left;
	}
	#top .more_btn{
		position: absolute;
		width: 53px;
		top: 40px;
		right: 0;
		font-size: 10px;
		padding: 2px 10px 3px 10px;
		display: inline-block;
		margin-top: 0;
		transition: 0.3s ease-in-out;
	}
	#top .more_btn:hover {
		text-decoration: none;
		border: solid 1px #FE3F96;
		background: #FE3F96;
		color: #FFF;
	}
}

/* メインビジュアル
--------------------------------------*/
#top .sec_main{
	position: relative;
	box-sizing: border-box;
}
@media screen and (max-width: 599px) {
	#top #main_slider {
		height: 120vw;
		max-height: calc(100vh - 50px);
	}
	#top #main_slider .swiper-slide img{
		height: 100%;
		width: auto;
	}
	#top .sec_main .catch{
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		pointer-events: none;
		background: url(../img/top/main_cover_bg.png);
		background-size: 3px;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 3;
	}
	#top .sec_main .catch span{
		color: #FFF;
		font-size: 3rem;
	}
	#top .sec_main .pc_main{
		display: none;
	}
}
@media screen and (min-width: 600px) {
	#top .sec_main {
		padding-top: 10px;
		margin-bottom: 20px;
	}
	#top #main_slider,
	#top .sec_main .catch{
		display: none;
	}
}
@media screen and (min-width: 1100px) {
	#top .sec_main {
		width: 1300px;
		margin: 0 auto;
		margin-bottom: 20px;
	}
}

/* メニュー
--------------------------------------*/
#top .sec_menu {
	padding-top: 7vw;
}
#top .sec_menu ul{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
#top .sec_menu li{
	width: calc( (100% - 2.4vw) / 2);
	margin-bottom: 2.4vw;
}
#top .sec_menu li .on-txt{
	display: none;
}

@media screen and (max-width: 599px) {
	#top .sec_menu li .on-txt{
		display: none !important;
	}
	#top .sec_menu li .off-img{
		opacity: 1 !important;
	}
}

@media screen and (min-width: 600px) {
	#top .sec_menu {
		padding: 0 20px;
	}
	#top .sec_menu ul{
		justify-content: flex-start;
	}
	#top .sec_menu li{
		width: calc( (100% - 4.8vw) / 3);
	}
	#top .sec_menu li:not(:nth-child(3n)){
		margin-right: 2.4vw;
	}
}
@media screen and (min-width: 1100px) {
	#top .sec_menu {
		width: 1100px;
		margin: 0 auto;
		padding: 0;
	}
	#top .sec_menu li {
		width: 260px;
		margin-right: 20px;
		margin-bottom: 15px;
	}
	#top .sec_menu li:not(:nth-child(3n)){
		margin-right: 20px;
	}
	#top .sec_menu li:nth-child(4n) {
		margin-right: 0;
	}
	#top .sec_menu li a{
		display: inline-block;
		position: relative;
		overflow: hidden;
		background: rgba(254, 63, 150, 0.8);
		width: 260px;
		height: 261px;
	}
	#top .sec_menu li img{
		width: 260px;
		height: 261px;
	}
	#top .sec_menu li a .on-txt {
		text-align: center;
		width: 260px;
		height: 261px;
		display: none;
		position: absolute;
		top: 0;
		left: 0;
	}
	#top .sec_menu li a .on-txt span {
		font-size: 20px;
		color: #FFF;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: 20px;
		margin: auto;
	}
}


#top .sec_works {
	padding-top: 12vw;
}
#top .sec_works .sec_head{
	margin-bottom: 5vw;
}
#top .sec_works .swiper-container,
#top .sec_works .swiper-container *{
	box-sizing: border-box;
}
#top .sec_works .swiper-container{
	padding-top: 1px;
}
#top .sec_works .swiper-slide .item{
	display: block;
	width: 100%;
}
#top .sec_works .swiper-slide img{
	width: 100%;
	border: solid 1px #DDD;
}

@media screen and (min-width: 600px) {
	#top .sec_works {
		padding-top: 25px;
	}
	#top .sec_works .sec_head{
		margin-bottom: 15px;
	}
}
@media screen and (min-width: 960px) {
	#top .sec_works .slider_wrap{
		width: 900px;
		margin: 0 auto;
	}
}
@media screen and (min-width: 1100px) {
	#top .sec_works {
		width: 1100px;
		margin: 0 auto;
	}
	#top .sec_works .slider_wrap{
		width: 1100px;
	}
	#top .sec_works .more_btn{
		top: 25px;
	}
}


#top .sec_blog {
	padding-top: 12vw;
}
#top .sec_blog .sec_head{
	margin-bottom: 5vw;
}
#top .sec_blog .swiper-container,
#top .sec_blog .swiper-container *{
	box-sizing: border-box;
}
#top .sec_blog .swiper-slide .img{
	width: 100%;
	height: 49vw;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
}
#top .sec_blog .swiper-slide .img img{
	height: 100%;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#top .sec_blog .swiper-slide .no_img{
	padding-top: 40%;
	font-size: 1.4rem;
	color: #FFF;
	text-align: center;
	height: 18.11vw;
	background: #999;
}
#top .sec_blog .swiper-slide .inner{
	padding:1.81vw 1.81vw 3.62vw 1.81vw;
}
#top .sec_blog .swiper-slide .icon {
	margin-bottom: 5px;
}
#top .sec_blog .swiper-slide .icon .blog_cat{
	display: inline-block;
	padding: 5px;
	font-size: 1rem;
	color:#FFF;
}
#top .sec_blog .swiper-slide .title {
	font-size:1.3rem;
	margin-bottom: 0.6vw;
	color: #444;
	line-height: 1.4;
	height: 9.66vw;
}
#top .sec_blog .swiper-slide .date {
	color: #777;
	text-align: right;
	font-size: 1.3rem;
}
#top .sec_blog .swiper-container{
	padding-top: 1px;
}
#top .sec_blog .swiper-slide{
	border: solid 1px #DDD;
	box-sizing: border-box;
}

@media screen and (min-width: 600px) {
	#top .sec_blog {
		padding-top: 40px;
	}
	#top .sec_blog .sec_head{
		margin-bottom: 15px;
	}
	#top .sec_blog .swiper-slide .img{
		height: 36vw;
	}
	#top .sec_blog .swiper-slide .title{
		height: 3.5vw;
	}
}
@media screen and (min-width: 960px) {
	#top .sec_blog .slider_wrap{
		width: 900px;
		margin: 0 auto;
	}
	#top .sec_blog .swiper-slide .img{
		height: 220px;
	}
	#top .sec_blog .swiper-slide .inner{
		padding:10px;
	}
	#top .sec_blog .swiper-slide .icon .blog_cat{
		height: 18px;
		line-height: 18px;
		padding: 0 5px;
		font-size: 10px;
	}
	#top .sec_blog .swiper-slide .title {
		font-size: 13px;
		margin-bottom: 5px;
		line-height: 1.4;
	}
	#top .sec_blog .swiper-slide .date {
		font-size: 13px;
	}
}

@media screen and (min-width: 1100px) {
	#top .sec_blog {
		width: 1100px;
		margin: 0 auto;
	}
	#top .sec_blog .slider_wrap{
		width: 1100px;
	}
	#top .sec_blog .swiper-slide .img{
		height: 150px;
	}
	#top .sec_blog .swiper-slide .no_img{
		padding-top: 65px;
		font-size: 16px;
		height: 150px;
	}
	#top .sec_blog .swiper-slide .icon {
		margin-bottom: 3px;
	}
	#top .sec_blog .swiper-slide .title {
		height: 40px;
	}
	#top .sec_blog .swiper-slide a:hover .title{
		text-decoration: underline;
	}
}


#top .sec_news {
	padding-top:12vw;
}
#top .sec_news .sec_inner{
	border: solid 1px #DDD;
	padding: 4.83vw;
}
#top .sec_news .sec_head{
	margin-bottom:4.83vw;
}
#top .sec_news .js--scr {
	height:60.38vw;
	overflow-y: scroll;
}
#top .sec_news .news_list{
	padding-right: 2.4vw;
}
#top .sec_news .news_list li {
	padding-top: 1.81vw;
	padding-bottom: 1.81vw;
}
#top .sec_news .news_list li:not(:last-child) {
	border-bottom: dotted 1px #DDD;
}
#top .sec_news .news_list li a{
	padding-left: 2.4vw;
	display: block;
	width: 100%;
	border-left: solid 1px #CCC;
}
#top .sec_news .news_list li.news a {
	border-left: solid 1px #CC66B3;
}
#top .sec_news .news_list li.seminar a {
	border-left: solid 1px #9C6;
}
#top .sec_news .news_list li.recruit a {
	border-left: solid 1px #66B3CC;
}
#top .sec_news .news_list li.event a {
	border-left: solid 1px #96C;
}
#top .sec_news .news_list li .date {
	font-size: 1.3rem;
	color: #777;
	margin-bottom: 1.2vw;
}
#top .sec_news .news_list li .title {
	font-size: 1.3rem;
	color: #000;
	line-height: 1.4;
}
#top .sec_news .bnr_block {
	text-align: center;
	padding: 4.83vw 4.83vw 2.41vw 4.83vw ;
	border: solid 1px #DDD;
	background: #EEEEF0;
	box-sizing: border-box;
}
#top .sec_news .bnr_block .bnr_list{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
#top .sec_news .bnr_block .bnr_list li{
	margin-bottom: 2.4vw;
	width: calc((100% - 2.4vw) / 2);
}

@media screen and (min-width: 600px) {
	#top .sec_news {
		padding-top: 40px;
	}
	#top .sec_news .sec_inner{
		padding: 22px 20px;
	}
	#top .sec_news .sec_head{
		margin-bottom: 15px;
	}
	#top .sec_news .js--scr {
		height: 300px;
	}
	#top .sec_news .bnr_block .bnr_list{
		justify-content:flex-start;
	}
	#top .sec_news .bnr_block .bnr_list li{
		width: calc((100% - 4.8vw) / 3);
	}
	#top .sec_news .bnr_block .bnr_list li:not(:nth-child(3n)){
		margin-right: 2.4vw;
	}
}
@media screen and (min-width: 1100px) {
	#top .sec_news {
		width: 1100px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	#top .sec_news .sec_inner{
		flex:1;
	}
	#top .sec_news .js--scr {
		height:140px;
	}
	#top .sec_news .news_list{
		padding-right: 20px;
	}
	#top .sec_news .news_list li {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#top .sec_news .news_list li a{
		padding-left:10px;
	}
	#top .sec_news .news_list li .date {
		font-size: 10px;
		margin-bottom: 10px;
	}
	#top .sec_news .news_list li .title {
		font-size: 12px;
	}
	#top .sec_news .more_btn{
		top: 22px;
		right: 20px;
	}
	#top .sec_news .bnr_block {
		width: 260px;
		margin-left: 20px;
		text-align: center;
		padding: 76px 0;
		display: none;
	}
	#top .sec_news .bnr_block .bnr_list{
		flex-direction: column;
	}
	#top .sec_news .bnr_block .bnr_list li{
		margin-bottom:10px;
		width: 100%;
	}
	#top .sec_news .bnr_block .bnr_list li:not(:nth-child(3n)){
		margin-right: 0;
	}
	#top .sec_news .bnr_block .bnr_list li:last-child{
		margin-bottom: 0;
	}
}


#top .sec_bnr {
	padding-top: 7vw;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#top .sec_bnr .bnr_box{
	width: calc((100% - 2.4vw) / 2);
	margin-bottom: 2.41vw;
}
#top .sec_bnr .bnr_box img{
	border:solid 1px #DDD;
	box-sizing:border-box;
}
#top .sec_bnr .bnr_box .txt{
	font-size: 1.3rem;
	line-height: 1.3;
	color:#777777;
	margin-top: 1.2vw;
}
@media screen and (min-width: 600px) {
	#top .sec_bnr {
		justify-content:flex-start;
		padding-top: 40px;
	}
	#top .sec_bnr .bnr_box{
		width: calc((100% - 4.8vw) / 3);
	}
	#top .sec_bnr .bnr_box:not(:nth-child(3n)){
		margin-right: 2.4vw;
	}
}
@media screen and (min-width: 1100px) {
	#top .sec_bnr {
		width: 1100px;
		margin: 0 auto;
	}
	#top .sec_bnr .bnr_box{
		width: 260px;
	}
	#top .sec_bnr .bnr_box:not(:nth-child(3n)){
		margin-right: 0;
	}
	#top .sec_bnr .bnr_box:not(:nth-child(4n)){
		margin-right: 20px;
	}
	#top .sec_bnr .bnr_box .txt{
		font-size: 13px;
		margin-top: 10px;
	}
}


/*====================================
concept
====================================*/
#concept .sec_main{
	text-align: center;
	padding-top: 10vw;
	padding-bottom: 20vw;
	box-sizing: border-box;
}
#concept .sec_main .sec_ttl{
	margin-bottom: 4.83vw;
	font-size: 2.2rem;
	line-height: 1.3;
	color: #222;
}
#concept .sec_main .sec_txt {
	line-height: 2;
	font-size: 1.3rem;
}
#concept .sec_main .sec_txt .pc{
	display: none;
}

@media screen and (min-width: 600px) {
	#concept .sec_main {
		padding-top: 90px;
		padding-bottom: 90px;
	}
	#concept .sec_main .sec_ttl{
		font-size: 40px;
		margin-bottom: 45px;
	}
	#concept .sec_main .sec_txt {
		font-size: 16px;
		line-height: 3;
	}
	#concept .sec_main .sec_txt .pc{
		display: block;
	}
	#concept .sec_main .sec_txt .sp{
		display: none;
	}
}


/*====================================
domain
====================================*/
#domain .sec_head{
	padding-top: 10vw;
}
#domain .sec_head .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	line-height: 1.3;
	color: #222;
	text-align: center;
}
#domain .sec_head .sec_txt{
	line-height: 2;
	font-size: 1.3rem;
	color: #555;
	text-align: center;
}

@media screen and (min-width: 600px) {
	#domain .sec_head{
		padding-top: 110px;
	}
	#domain .sec_head .sec_ttl{
		margin-bottom:10px;
		font-size: 40px;
	}
	#domain .sec_head .sec_txt{
		font-size: 16px;
		line-height: 1.8;
	}
}

#domain .sec_content{
	padding-top: 10vw;
	padding-bottom: 9vw;
}
#domain .sec_content .blc:not(:last-child){
	margin-bottom: 9vw;
}
#domain .sec_content .ttl{
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 2.41vw;
	color: #222;
}
#domain .sec_content .txt{
	font-size: 1.3rem;
	color: #555;
	line-height: 1.8;
}

@media screen and (max-width: 599px) {
	#domain .sec_content .blc_txt{
		margin-bottom: 6vw;
	}
}
@media screen and (min-width: 600px) {
	#domain .sec_content{
		padding-top: 110px;
		padding-bottom: 80px;
	}
	#domain .sec_content .blc{
		display: flex;
		justify-content: space-between;
	}
	#domain .sec_content .blc:not(:last-child){
		margin-bottom: 80px;
	}
	#domain .sec_content .blc_txt,
	#domain .sec_content .blc_img{
		width: 47.09%;
	}
	#domain .sec_content .blc:nth-child(odd) .blc_txt{
		padding-right: 10px;
	}
	#domain .sec_content .blc:nth-child(even) .blc_txt{
		order:2;
		padding-left: 10px;
	}
	#domain .sec_content .blc:nth-child(even) .blc_img{
		order:1;
	}
	#domain .sec_content .ttl{
		font-size: 30px;
		margin-bottom: 20px;
	}
	#domain .sec_content .txt{
		font-size: 16px;
	}
}
@media screen and (min-width: 1100px) {
	#domain .sec_content .ttl{
		font-size: 40px;
	}
}


/*====================================
company
====================================*/
#company #wrap{
	padding-bottom: 0;
}
#company .sec_seek{
	padding-top: 10vw;
	box-sizing: border-box;
}
#company .sec_seek .sec_ttl{
	margin-bottom: 5vw;
	font-size: 2.2rem;
	color: #222;
	text-align: center;
}
#company .sec_seek .blc_txt .box_txt{
	font-size: 1.3rem;
	line-height: 1.8;
	margin-bottom: 5vw;
}
#company .sec_seek .blc_txt .box_txt br{
	display: none;
}
#company .sec_seek .blc_img{
	text-align: center;
}
#company .sec_seek .blc_img img{
	width: 70%;
}

@media screen and (min-width: 600px) {
	#company .sec_seek {
		padding-top: 100px;
	}
	#company .sec_seek .sec_ttl{
		font-size: 40px;
		margin-bottom: 15px;
	}
	#company .sec_seek .blc_txt .box_txt{
		font-size: 16px;
	}
}
@media screen and (min-width: 960px) {
	#company .sec_seek .sec_inner{
		display: flex;
		justify-content: space-between;
	}
	#company .sec_seek .blc_txt{
		width: 65%;
	}
	#company .sec_seek .sec_ttl{
		text-align: left;
	}
	#company .sec_seek .blc_txt .box_txt br{
		display: block;
	}
}
@media screen and (min-width: 1100px) {
	#company .sec_seek {
		width: 1080px;
	}
	#company .sec_seek .blc_txt{
		width: 700px;
	}
	#company .sec_seek .blc_img{
		width: 352px;
		margin-top: -20px;
	}
	#company .sec_seek .blc_img img{
		width: 100%;
	}
}

#company .sec_about{
	padding-top: 12vw;
	padding-bottom: 10vw;
}
#company .sec_about .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	color: #222;
	text-align: center;
}
#company .sec_about .about_tbl{
	width: 100%;
}
#company .sec_about .about_tbl tr th,
#company .sec_about .about_tbl tr td{
	line-height: 1.8;
	color:#333;
	font-size: 1.3rem;
	padding-bottom: 2.4vw;
}
#company .sec_about .about_tbl tr th{
	width: 25%;
}

@media screen and (min-width: 600px) {
	#company .sec_about{
		padding-top: 20px;
		padding-bottom: 110px;
	}
	#company .sec_about .sec_ttl{
		font-size: 40px;
		margin-bottom: 20px;
	}
	#company .sec_about .about_tbl tr th,
	#company .sec_about .about_tbl tr td{
		font-size: 16px;
	}
}
@media screen and (min-width: 960px) {
	#company .sec_about .sec_ttl{
		text-align: left;
	}
	#company .sec_about .about_wrap{
		display: flex;
	}
	#company .sec_about .about_wrap .blc1{
		width: 54.16%;
		border-right: solid 1px #CCC;
		padding-right: 20px;
		box-sizing: border-box;
	}
	#company .sec_about .about_wrap .blc2{
		flex:1;
		padding-left: 20px;
		box-sizing: border-box;
	}
	#company .sec_about .about_tbl tr th,
	#company .sec_about .about_tbl tr td{
		padding-bottom: 0;
	}
	#company .sec_about .about_tbl tr th{
		width: 18.69%;
	}
}
@media screen and (min-width: 1100px) {
	#company .sec_about{
		width: 1080px;
	}
	#company .sec_about .about_wrap .blc1{
		width: 585px;
		padding-right: 50px;
	}
	#company .sec_about .about_wrap .blc2{
		padding-left: 50px;
	}
	#company .sec_about .about_tbl tr th{
		width: 150px;
	}
}

#company .sec_access{
	background: url(../img/company/box03_bg.jpg) no-repeat top center;
	background-size: cover;
	color:#FFF;
	position: relative;
	padding-top: 10vw;
	padding-bottom: 10vw;
}
#company .sec_access:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(../img/company/box03_filter.png);
}
#company .sec_access .sec_inner{
	position: relative;
	z-index: 1;
}
#company .sec_access .sec_ttl{
	margin-bottom: 5vw;
	font-size: 2.2rem;
	text-align: center;
}
#company .sec_access .blc_txt{
	margin-bottom: 8vw;
}
#company .sec_access .box_info.company{
	margin-bottom: 5vw;
}
#company .sec_access .box_info .box_ttl{
	position: relative;
	padding-left: 15px;
	font-size: 1.8rem;
	padding-bottom: 1.81vw;
	border-bottom: solid 1px #FFF;
	margin-bottom: 2.4vw;
}
#company .sec_access .box_info .box_ttl:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: contain;
}
#company .sec_access .box_info.company .box_ttl:before{
	width: 7px;
	height: 15px;
	background-image: url(../img/company/company_icon.png);
	top: 0px;
	left: 2px;
}
#company .sec_access .box_info.access_train .box_ttl:before{
	width: 10px;
	height: 14px;
	background-image: url(../img/company/train_icon.png);
	top: 2px;
	left: 0;
}
#company .sec_access .box_info .box_txt{
	font-size: 1.3rem;
	line-height: 1.8;
}
#company .sec_access .box_info .box_txt li{
	display: flex;
}
#company .sec_access .box_info .box_txt li .ttl{
	width: 20%;
}
#company .sec_access .box_info .box_txt li .txt{
	flex:1;
}
#company .sec_access .blc_map .box_map{
	margin-bottom: 10vw;
	width: 100%;
	padding-top: 60.38vw;
	position: relative;
}
#company .sec_access .blc_map .box_map iframe,
#company .sec_access .blc_map .box_map object,
#company .sec_access .blc_map .box_map embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 60.38vw;
}
#company .sec_access .blc_txt .btn,
#company .sec_access .blc_map .btn{
	display: block;
	border: solid 1px #FFF;
	color: #FFF;
	background-color: rgba(0, 0, 0, 0.4);
	letter-spacing: 1px;
	text-align: center;
	box-sizing: border-box;
}
#company .sec_access .blc_txt .btn{
	display: none;
}
#company .sec_access .blc_map .btn{
	font-size: 1.6rem;
	line-height: 1.4;
	padding: 2.4vw;
	width: 50vw;
	margin: 0 auto;
}

@media screen and (min-width: 600px) {
	#company .sec_access{
		padding-top: 55px;
		padding-bottom: 55px;
	}
	#company .sec_access .sec_ttl{
		font-size: 40px;
		margin-bottom: 25px;
	}
	#company .sec_access .box_info.company{
		margin-bottom: 20px;
	}
	#company .sec_access .box_info.access_train{
		margin-bottom: 20px;
	}
	#company .sec_access .box_info .box_ttl{
		padding-top: 5px;
		padding-bottom:9px;
		padding-left: 25px;
		font-size: 18px;
		font-weight: 500;
		margin-bottom: 5px;
	}
	#company .sec_access .box_info.company .box_ttl:before{
		width: 13px;
		height: 29px;
		top: -1px;
		left: 2px;
	}
	#company .sec_access .box_info.access_train .box_ttl:before{
		width: 19px;
		height: 27px;
		top: 0px;
		left: 0;
	}
	#company .sec_access .box_info .box_txt{
		font-size: 14px;
	}
	#company .sec_access .box_info .box_txt li .ttl{
		width: 70px;
	}
}
@media screen and (min-width: 960px) {
	#company .sec_access .sec_inner{
		display: flex;
		justify-content: space-between;
	}
	#company .sec_access .blc_txt{
		flex:1;
		margin-bottom: 0;
		padding-right: 20px;
	}
	#company .sec_access .sec_ttl{
		text-align: left;
	}
	#company .sec_access .blc_txt .btn{
		display: block;
		width: 160px;
		height: 40px;
		line-height: 37px;
		font-size: 14px;
		margin-right: 0;
		margin-left: auto;
	}
	#company .sec_access .blc_map{
		width:50.92%;
	}
	#company .sec_access .blc_map .box_map{
		margin-bottom: 0;
		padding-top: 0;
	}
	#company .sec_access .blc_map .box_map iframe,
	#company .sec_access .blc_map .box_map object,
	#company .sec_access .blc_map .box_map embed{
		position: relative;
		width: 100%;
		height: 400px;
	}
	#company .sec_access .blc_map .btn{
		display: none;
	}
}
@media screen and (min-width: 1100px) {
	#company .sec_access .blc_txt{
		padding-right: 40px;
	}
	#company .sec_access .blc_txt .btn:hover{
		background-color: rgba(255, 255, 255, .2);
	}
	#company .sec_access .blc_map{
		width: 550px;
	}
	#company .sec_access .blc_map .box_map iframe,
	#company .sec_access .blc_map .box_map object,
	#company .sec_access .blc_map .box_map embed{
		width: 550px;
		height: 350px;
	}
}


/*====================================
Member
====================================*/
#member .sec_head{
	padding-top: 10vw;
}
#member .sec_head .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	color: #222;
	text-align: center;
}
#member .sec_head .sec_txt{
	font-size: 1.3rem;
	line-height: 1.8;
	text-align: center;
}
@media screen and (min-width: 600px) {
	#member .sec_head{
		padding-top: 130px;
	}
	#member .sec_head .sec_ttl{
		font-size: 40px;
		margin-bottom: 50px;
	}
	#member .sec_head .sec_txt{
		font-size: 16px;
	}
	#member .sec_head .sec_txt .sp{
		display: none;
	}
}

#member .sec_member{
	padding-top: 12vw;
}
#member .sec_member .member_wrap{
	box-sizing: border-box;
	width: 100%;
	display: flex;
	flex-wrap:wrap;
}
#member .sec_member .member_box{
	box-sizing: border-box;
	padding:2.8vw;
	border:solid 1px #DDD;
	margin-bottom: -1px;
}
#member .sec_member .member_box .box_txt{
	padding-top:2.4vw;
	font-size: 1rem;
	line-height: 1.3;
}
#member .sec_member .member_box .box_txt .position{
	margin-bottom: 1.2vw;
}

@media screen and (max-width: 600px) {
	#member .sec_member .member_box{
		width: 50%;
	}
	#member .sec_member .member_box:nth-child(odd){
		margin-right: -1px;
	}
}
@media screen and (min-width: 600px) and (max-width: 1100px){
	#member .sec_member .member_box{
		width: calc(100% / 3);
	}
	#member .sec_member .member_box:not(:nth-child(3n)){
		margin-right: -1px
	}
}
@media screen and (min-width: 600px) {
	#member .sec_member{
		padding-top: 60px;
	}
	#member .sec_member .member_box .box_txt{
		padding-top: 15px;
		font-size: 13px;
	}
	#member .sec_member .member_box .box_txt .position{
		margin-bottom: 0;
	}
}
@media screen and (min-width: 1100px) {
	#member .sec_member{
		width: 1000px;
	}
	#member .sec_member .member_box{
		padding: 20px;
		width: 25%;
	}
	#member .sec_member .member_box:not(:nth-child(4n)){
		margin-right: -1px
	}
}


/*====================================
Works
====================================*/
#works #wrap{
	position: static;
}
#works .sec_head{
	padding-top: 10vw;
}
#works .sec_head .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	color: #222;
	text-align: center;
}
#works .sec_head .sec_txt{
	font-size: 1.3rem;
	line-height: 1.8;
	text-align: center;
}
@media screen and (min-width: 600px) {
	#works .sec_head{
		padding-top: 130px;
	}
	#works .sec_head .sec_ttl{
		font-size: 40px;
		margin-bottom: 50px;
	}
	#works .sec_head .sec_txt{
		font-size: 16px;
	}
	#works .sec_head .sec_txt .sp{
		display: none;
	}
}

/* カテゴリー
--------------------------------------*/
#works .sec_works{
	padding-top: 12vw;
}
#works .sec_works .cat_list{
	display: flex;
	flex-wrap:wrap;
	width: 100%;
	margin-bottom: 5vw;
}
#works .sec_works .cat_list .item{
	box-sizing: border-box;
	width: calc(100% / 3);
	text-align: center;
	font-size: 1.4rem;
	padding: 3.6vw 1.5vw;
	color:#222;
	background-color: #DDD;
}
#works .sec_works .cat_list .item.on{
	background-color: #000;
	color:#FFF;
}
@media screen and (max-width: 1100px) {
	#works .sec_works .cat_list .item:not(:nth-child(3n)){
		border-right: solid 1px #FFF;
	}
	#works .sec_works .cat_list .item:not(:nth-last-child(-n+3)){
		border-bottom: solid 1px #FFF;
	}
}
@media screen and (min-width: 600px) {
	#works .sec_works{
		padding-top: 60px;
	}
	#works .sec_works .cat_list{
		margin-bottom: 30px;
	}
	#works .sec_works .cat_list .item{
		height: 30px;
		padding:0;
		line-height: 30px;
	}
}
@media screen and (min-width: 1100px) {
	#works .sec_works .cat_list .item{
		width: calc(100% / 6);
		cursor: pointer;
		transition: all .5s;
	}
	#works .sec_works .cat_list .item:hover{
		background-color: #000;
		color:#FFF;
	}
	#works .sec_works .cat_list .item:not(:last-child){
		border-right: solid 1px #FFF;
	}
}

/* リスト
--------------------------------------*/
#works .sec_works ul{
	display: flex;
	flex-wrap: wrap;
}
#works .sec_works ul li{
	border: 1px solid #DDD;
	box-sizing: border-box;
	cursor: pointer;
	margin-right: -1px;
	margin-bottom: -1px;
	padding: 3vw;
	transition: 0.3s;
}
#works .sec_works ul.col4 li{
	width: calc(100% / 2);
}
#works .sec_works ul li img{
	width: 100%;
}
#works .sec_works .works_name{
	font-size: 1.4rem;
	color: #555;
	text-align: center;
	margin-top: 2vw;
}
.work_item-enter-active,
.work_item-move{
	transition: transform 0.5s, opacity 0.5s;
}
.work_item-leave-active{
	transition: transform 0.5s, opacity 0.5s;
	transform: translateY(-10px);
}
.work_item-enter-to,
.work_item-leave{
	opacity: 1;
}
.work_item-enter,
.work_item-leave-to{
	opacity: 0;
}

@media screen and (min-width: 600px) {
	#works .sec_works ul li{
		padding: 15px 20px;
	}
	#works .sec_works .works_name{
		font-size: 14px;
		margin-top: 18px;
	}
}
@media screen and (min-width: 960px) {
	#works .sec_works ul.col4 li{
		width: calc(100% / 4);
	}
}
@media screen and (min-width: 1100px) {
	#works .sec_works ul li{
		padding: 20px 30px;
	}
	#works .sec_works ul li:hover{
		background-color: #ECECEC;
	}
}

/* ポップアップ
--------------------------------------*/
.popup-enter-active,
.popup-leave-active{
	transition: 0.5s;
}
.popup-enter,
.popup-leave-to{
	opacity: 0;
}
.popup-enter-to,
.popup-leave{
	opacity: 1;
}

.popup{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3000;
}
.popup_back{
	background-color: rgba(0, 0, 0, 0.8);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.popup_inner{
	background-color: #fff;
	padding: 6.03vw 4.83vw;
	box-sizing: border-box;
	width: 90.33%;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.popup_close{
	position: absolute;
	display: block;
	cursor: pointer;
	z-index: 2;
	width: 40px;
	height: 40px;
	top: -50px;
	right: 0;
}
.popup_close span{
	position: absolute;
	height: 1px;
	width: 30px;
	top: 50%;
	left: 50%;
	background-color: #fff;
	pointer-events: none;
}
.popup_close span:first-child{
	transform: translate(-50%,-50%) rotate(-45deg);
}
.popup_close span:last-child{
	transform: translate(-50%,-50%) rotate(45deg);
}

@media screen and (min-width: 600px) {
	.popup_inner{
		padding: 40px;
	}
}
@media screen and (min-width: 960px) {
	.popup_inner{
		max-width: 900px;
	}
}

/* ポップアップ内容
--------------------------------------*/
#works .works_detail .box_name{
	font-size: 2rem;
	margin-bottom: 4vw;
}
#works .works_detail .box_info{
	margin-bottom: 3.01vw;
}
#works .works_detail .box_info .item{
	display: flex;
}
#works .works_detail .box_info .item:not(:last-child){
	margin-bottom: 2vw;
}
#works .works_detail .box_info .item_ttl{
	width: 25%;
}
#works .works_detail .box_info .item_ttl span{
	display: block;
	width: 100%;
	border: solid 1px #555;
	padding:1.81vw 1vw;
	font-size: 1.1rem;
	text-align: center;
	box-sizing: border-box;
}
#works .works_detail .box_info .item_txt{
	flex:1;
	padding-left: 1.81vw;
	font-size: 1.3rem;
	line-height: 1.6;
	padding-top: 1vw;
}
#works .works_detail .box_contact{
	font-size: 1.3rem;
}

@media screen and (max-width: 959px) {
	#works .works_detail .blc_img{
		margin-bottom: 5vw;
		text-align: center;
	}
	#works .works_detail .blc_img img{
		max-width: 460px;
	}
}
@media screen and (min-width: 600px) {
	#works .works_detail .box_name{
		font-size: 18px;
		margin-bottom: 25px;
	}
	#works .works_detail .box_info{
		margin-bottom: 25px;
	}
	#works .works_detail .box_info .item:not(:last-child){
		margin-bottom:15px;
	}
	#works .works_detail .box_info .item_ttl{
		width: 90px;;
	}
	#works .works_detail .box_info .item_ttl span{
		padding:8px;
		font-size: 11px;
	}
	#works .works_detail .box_info .item_txt{
		padding-left: 15px;
		font-size: 14px;
		padding-top: 3px;
	}
	#works .works_detail .box_contact{
		font-size: 14px;
	}
}
@media screen and (min-width: 960px) {
	#works .works_detail-inner{
		display: flex;
	}
	#works .works_detail .blc_img{
		width: 49%;
		text-align: center;
	}
	#works .works_detail .blc_content{
		flex:1;
		padding-left: 20px;
	}
}
@media screen and (min-width: 1100px) {
	#works .works_detail-inner{
		max-width: 1100px;
	}
	#works .works_detail .blc_img{
		width: 505px;
	}
	#works .works_detail .box_contact a:hover{
		text-decoration: underline;
	}
}

/*====================================
service
====================================*/
#service .sec_head{
	padding-top: 10vw;
}
#service .sec_head .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	line-height: 1.3;
	color: #222;
	text-align: center;
}
#service .sec_head .sec_txt{
	line-height: 2;
	font-size: 1.3rem;
	color: #555;
	text-align: center;
}

@media screen and (max-width: 599px) {
	#service .sec_head .sec_txt br{
		display: none;
	}
}
@media screen and (min-width: 600px) {
	#service .sec_head{
		padding-top: 110px;
	}
	#service .sec_head .sec_ttl{
		margin-bottom:20px;
		font-size: 40px;
	}
	#service .sec_head .sec_txt{
		font-size: 16px;
		line-height: 1.8;
	}
}

#service .sec_content{
	padding-top: 10vw;
	padding-bottom: 9vw;
}
#service .sec_content .blc:not(:last-child){
	margin-bottom: 9vw;
}
#service .sec_content .ttl{
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 2.41vw;
	color: #222;
}
#service .sec_content .txt{
	font-size: 1.3rem;
	color: #555;
	line-height: 1.8;
}
#service .sec_content .blc_img{
	text-align: center;
}

@media screen and (max-width: 599px) {
	#service .sec_content .blc_txt{
		margin-bottom: 6vw;
	}
}
@media screen and (max-width: 1099px) {
	#service .sec_content .blc:nth-child(1) .blc_img img{
		width: 75%;
	}
	#service .sec_content .blc:nth-child(2) .blc_img img{
		width: 80%;
	}
	#service .sec_content .blc:nth-child(3) .blc_img img{
		width: 70%;
	}
	#service .sec_content .blc:nth-child(5) .blc_img img{
		width: 60%;
	}
	#service .sec_content .blc:nth-child(6) .blc_img img{
		width: 70%;
	}
}
@media screen and (min-width: 600px) {
	#service .sec_content{
		padding-top: 110px;
		padding-bottom: 80px;
	}
	#service .sec_content .blc{
		display: flex;
		justify-content: space-between;
	}
	#service .sec_content .blc:not(:last-child){
		margin-bottom: 80px;
	}
	#service .sec_content .blc_txt,
	#service .sec_content .blc_img{
		width: 49.54%;
	}
	#service .sec_content .blc:nth-child(odd) .blc_txt{
		padding-right: 10px;
	}
	#service .sec_content .blc:nth-child(even) .blc_txt{
		order:2;
		padding-left: 10px;
	}
	#service .sec_content .blc:nth-child(even) .blc_img{
		order:1;
	}
	#service .sec_content .ttl{
		font-size: 30px;
		margin-bottom: 20px;
	}
	#service .sec_content .txt{
		font-size: 16px;
	}
}
@media screen and (min-width: 1100px) {
	#service .sec_content .ttl{
		font-size: 40px;
	}
}

/*====================================
news
====================================*/
/* archive */
#news .sec_archive{
	padding-top: 10vw;
}
#news .sec_archive .news_list{
	border: solid 1px #DDD;
}
#news .sec_archive .news_item{
	display: block;
	padding:2.41vw;
}
#news .sec_archive .news_item:not(:last-child){
	border-bottom: solid 1px #DDD;
}
#news .sec_archive .news_item .item_inner{
	border-left: solid 2px #99CC66;
	padding-left: 1.81vw;
}
#news .sec_archive .news_item .date{
	font-size: 1.1rem;
	margin-bottom: 1.2vw;
}
#news .sec_archive .news_item .ttl{
	font-size: 1.4rem;
	line-height: 1.3;
}

@media screen and (min-width: 600px) {
	#news .sec_archive{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	#news .sec_archive .news_item{
		padding:20px;
	}
	#news .sec_archive .news_item .date{
		font-size: 16px;
		margin-bottom: 5px;
	}
	#news .sec_archive .news_item .ttl{
		font-size: 24px;
	}
}
@media screen and (min-width: 1100px) {
	#news .sec_archive .news_item:hover{
		background-color: #DDD;
	}
	#news .sec_archive .news_item .item_inner{
		border-left: solid 3px #99CC66;
		padding-left: 10px;
	}
}

/* single */
#news .sec_single{
	padding-top: 10vw;
}
#news .sec_single .news_blc{
	border: solid 1px #DDD;
	padding:2.41vw 2.41vw 3.62vw 2.41vw;
}
#news .sec_single .box_head{
	border-left: solid 2px #99CC66;
	padding-left: 1.81vw;
	margin-bottom: 	2.41vw;
}
#news .sec_single .box_head .date{
	font-size: 1.1rem;
	margin-bottom: 1.2vw;
}
#news .sec_single .box_head .ttl{
	font-size: 1.4rem;
	line-height: 1.3;
}
#news .sec_single .box_content{
	font-size: 1.3rem;
	line-height: 1.6;
}
#news .sec_single .box_content p{
	margin-top: 1em;
	margin-bottom: 1em;
}
#news .sec_single .box_content a{
	text-decoration: underline;
}
#news .sec_single .box_content img{
	width: auto;
	height: auto;
	max-width: 100%;
}

@media screen and (min-width: 600px) {
	#news .sec_single{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	#news .sec_single .news_blc{
		padding:20px 20px 30px 20px;
	}
	#news .sec_single .box_head{
		border-left: solid 3px #99CC66;
		padding-left: 10px;
	}
	#news .sec_single .box_head .date{
		font-size: 16px;
		margin-bottom: 5px;
	}
	#news .sec_single .box_head .ttl{
		font-size: 24px;
	}
	#news .sec_single .box_content{
		font-size: 16px;
	}
	#news .sec_single .box_content a:hover{
		text-decoration: none;
	}
}

/*====================================
blog
====================================*/
/* カテゴリ
--------------------------------------*/
#blog .sec_cat_list{
	display: flex;
	padding-top: 10vw;
	margin-bottom: 2vw;
}
#blog .sec_cat_list .item{
	background-color: #DDD;
	color: #222;
	text-align: center;
	padding: 1.81vw;
	display: block;
	font-size: 1.5rem;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	#blog .sec_cat_list{
		flex-wrap: wrap;
	}
	#blog .sec_cat_list .item{
		width: 50%;
	}
	#blog .sec_cat_list .item:nth-child(n+3){
		border-top: solid 1px #FFF;
	}
	#blog .sec_cat_list .item:nth-child(odd){
		border-right: solid 1px #FFF;
	}
}
@media screen and (min-width: 600px) {
	#blog .sec_cat_list{
		padding-top: 100px;
		margin-bottom: 30px;
	}
	#blog .sec_cat_list .item{
		padding: 7px;
		font-size: 16px;
		width: 25%;
	}
	#blog .sec_cat_list .item:not(:last-child){
		border-right: solid 1px #FFF;
	}
}

/* カテゴリー色 */
#blog .sec_cat_list .item.on{
	color: #fff;
}
#blog .sec_cat_list .item.all.on{
	background-color: #222;
}
#blog .sec_cat_list .item.event.on,
#blog .b-event .cat{
	background-color: #96C;
}
#blog .sec_cat_list .item.news.on,
#blog .b-news .cat{
	background-color: #CC66B3;
}
#blog .sec_cat_list .item.seminar.on,
#blog .b-seminar .cat{
	background-color: #9C6;
}

/* archive
--------------------------------------*/
#blog .sec_archive .blog_list{
	border: solid 1px #DDD;
}
#blog .sec_archive .blog_item{
	display: flex;
	padding: 2.41vw;
}
#blog .sec_archive .blog_item:not(:last-child){
	border-bottom: solid 1px #DDD;
}
#blog .sec_archive .blog_item .blc_content{
	flex:1;
	padding-right: 1.81vw;
}
#blog .sec_archive .blog_item .blc_head{
	display: flex;
	align-items: center;
	margin-bottom: 1.81vw;
}
#blog .sec_archive .blog_item .blc_head .cat{
	padding: 1.2vw;
	font-size: 1.1rem;
	color: #FFF;
	margin-right: 1.2vw;
}
#blog .sec_archive .blog_item .blc_head .date{
	color: #777;
	font-size: 1.2rem;
}
#blog .sec_archive .blog_item .ttl{
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1.4;
	color: #000;
}
#blog .sec_archive .blog_item .blc_img{
	width: 36.23vw;
}
@media screen and (max-width: 599px) {
	#blog .sec_archive .blog_item .txt{
		display: none;
	}
}
@media screen and (min-width: 600px) {
	#blog .sec_archive .blog_item{
		padding:20px;
	}
	#blog .sec_archive .blog_item .blc_content{
		padding-right: 20px;
	}
	#blog .sec_archive .blog_item .blc_head{
		margin-bottom: 15px;
	}
	#blog .sec_archive .blog_item .blc_head .cat{
		padding: 2px 5px;
		font-size: 10px;
		margin-right: 10px;
	}
	#blog .sec_archive .blog_item .blc_head .date{
		font-size: 13px;
	}
	#blog .sec_archive .blog_item .ttl{
		font-size: 20px;
		margin-bottom: 25px;
	}
	#blog .sec_archive .blog_item .txt{
		font-size: 13px;
		line-height: 1.8;
		color: #555;
	}
}
@media screen and (min-width: 1100px) {
	#blog .sec_archive .blog_item:hover{
		background-color: #DDD;
	}
	#blog .sec_archive .blog_item .ttl{
		font-size: 24px;
		margin-bottom: 25px;
	}
	#blog .sec_archive .blog_item .txt{
		font-size: 16px;
	}
	#blog .sec_archive .blog_item .blc_img{
		width: 385px;
	}
	#blog .sec_archive .blog_item .blc_img img{
		max-width: 100%;
	}
}

/* loading */
.blog_loading{
	margin-top: 15px;
	text-align: center;
}
.blog_loading.is--deactive{
	display: none;
}
@media screen and (max-width: 599px) {
	.blog_loading img{
		width: 10vw;
	}
}
@media screen and (min-width: 600px) {
	.blog_loading img{
		width: 64px;
	}
}


/*single
--------------------------------------*/
#blog .sec_single .blog_blc{
	border: solid 1px #DDD;
	padding: 2.41vw 2.41vw 3.62vw 2.41vw;
	box-sizing: border-box;
}
#blog .sec_single .txt{
	font-size: 1.3rem;
	line-height: 1.6;
}
#blog .sec_single .txt p:not(:last-child){
	margin-bottom: 2.41vw;
}
#blog .sec_single .txt p:not(:first-child){
	margin-top: 2.41vw;
}
#blog .sec_single .txt a{
	text-decoration: underline;
}
#blog .sec_single .txt .movie_wrap{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
#blog .sec_single .txt .movie_wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 600px) {
	#blog .sec_single .blog_blc{
		padding: 30px 30px 40px 30px
	}
	#blog .sec_single .txt{
		font-size: 16px;
	}
	#blog .sec_single .txt p:not(:last-child){
		margin-bottom: 20px;
	}
	#blog .sec_single .txt p:not(:first-child){
		margin-top: 20px;
	}
	#blog .sec_single .txt a:hover{
		text-decoration: none;
	}
	#blog .sec_single .img img{
		max-width: 100%;
	}
}

/* sec_head */
#blog .sec_single .sec_head{
	padding-bottom: 2.41vw;
}
#blog .sec_single .sec_head .date{
	color: #777;
	font-size: 1.2rem;
	margin-bottom: 1.81vw;
}
#blog .sec_single .sec_head .ttl{
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #000;
	margin-bottom: 3.5vw;
}

@media screen and (max-width: 1099px) {
	#blog .sec_single .sec_head .blc_content .img{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 599px) {
	#blog .sec_single .sec_head .blc_content .img{
		margin-bottom: 2.41vw;
	}
}
@media screen and (min-width: 600px) {
	#blog .sec_single .sec_head{
		padding-bottom: 25px;
	}
	#blog .sec_single .sec_head .date{
		font-size: 13px;
		margin-bottom: 15px;
	}
	#blog .sec_single .sec_head .ttl{
		font-size: 24px;
		margin-bottom: 25px;
	}
}
@media screen and (min-width: 1100px) {
	#blog .sec_single .sec_head .blc_content{
		display: flex;
	}
	#blog .sec_single .sec_head .blc_content .txt{
		flex:1;
		padding-right: 20px;
		order:1;
	}
	#blog .sec_single .sec_head .blc_content .img{
		width: 505px;
		order:2;
	}
}

/* sec_content */
#blog .sec_single .sec_content{
	border-top: solid 1px #DDD;
}
#blog .sec_single .l--txt:not(:first-child),
#blog .sec_single .l--l_txt_r_img:not(:first-child),
#blog .sec_single .l--l_img_r_txt:not(:first-child),
#blog .sec_single .l--img:not(:first-child),
#blog .sec_single .l--img_img:not(:first-child){
	margin-top: 6.03vw;
}
#blog .sec_single .l--txt:not(:last-child),
#blog .sec_single .l--l_txt_r_img:not(:last-child),
#blog .sec_single .l--l_img_r_txt:not(:last-child),
#blog .sec_single .l--img:not(:last-child),
#blog .sec_single .l--img_img:not(:last-child){
	margin-bottom: 6.03vw;
}

@media screen and (max-width: 1099px) {
	#blog .sec_single .l--l_txt_r_img .blc_txt,
	#blog .sec_single .l--l_img_r_txt .blc_img{
		margin-bottom: 20px;
	}
	#blog .sec_single .l--img_img .img:last-child{
		margin-top: 40px;
	}
}
@media screen and (max-width: 599px) {
	#blog .sec_single .l--l_txt_r_img .blc_txt,
	#blog .sec_single .l--l_img_r_txt .blc_img{
		margin-bottom: 2.41vw;
	}
	#blog .sec_single .l--img_img .img:last-child{
		margin-top: 4.83vw;
	}
}
@media screen and (min-width: 1100px) {
	#blog .sec_single .sec_content{
		padding-top: 25px;
	}
	#blog .sec_single .l--txt:not(:first-child),
	#blog .sec_single .l--l_txt_r_img:not(:first-child),
	#blog .sec_single .l--l_img_r_txt:not(:first-child),
	#blog .sec_single .l--img:not(:first-child),
	#blog .sec_single .l--img_img:not(:first-child){
		margin-top: 40px;
	}
	#blog .sec_single .l--txt:not(:last-child),
	#blog .sec_single .l--l_txt_r_img:not(:last-child),
	#blog .sec_single .l--l_img_r_txt:not(:last-child),
	#blog .sec_single .l--img:not(:last-child),
	#blog .sec_single .l--img_img:not(:last-child){
		margin-bottom: 40px;
	}
	#blog .sec_single .l--l_txt_r_img,
	#blog .sec_single .l--l_img_r_txt{
		display: flex;
	}
	#blog .sec_single .l--l_txt_r_img .blc_txt{
		flex:1;
		padding-right: 30px;
	}
	#blog .sec_single .l--l_img_r_txt .blc_txt{
		flex:1;
		padding-left: 30px;
	}
	#blog .sec_single .l--l_txt_r_img .blc_img,
	#blog .sec_single .l--l_img_r_txt .blc_img{
		width: 505px;
	}
	#blog .sec_single .l--l_txt_r_img .blc_img img,
	#blog .sec_single .l--l_img_r_txt .blc_img img{
		max-width: 100%;
		height: auto;
	}
	#blog .sec_single .l--img_img{
		display: flex;
	}
	#blog .sec_single .l--img_img .img{
		width: 505px;
	}
	#blog .sec_single .l--img_img .img:last-child{
		margin-left: 20px;
	}
	#blog .sec_single .l--img img,
	#blog .sec_single .l--img_img img{
		max-width: 100%;
	}
}

/*====================================
recruit
====================================*/
#recruit .sec_head{
	padding-top: 10vw;
}
#recruit .sec_head .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	line-height: 1.3;
	color: #222;
	text-align: center;
}
#recruit .sec_head .sec_txt{
	line-height: 2;
	font-size: 1.3rem;
	color: #555;
	text-align: center;
}

@media screen and (max-width: 599px) {
	#recruit .sec_head .sec_txt br{
		display: none;
	}
}
@media screen and (min-width: 600px) {
	#recruit .sec_head{
		padding-top: 40px;
	}
	#recruit .sec_head .sec_ttl{
		margin-bottom:10px;
		font-size: 40px;
	}
	#recruit .sec_head .sec_txt{
		font-size: 16px;
		line-height: 1.8;
	}
}

/* カテゴリー
--------------------------------------*/
#recruit .sec_link{
	padding-top: 12vw;
}
#recruit .sec_link .list{
	display: flex;
	flex-wrap:wrap;
	width: 100%;
	margin-bottom: 5vw;
}
#recruit .sec_link .list .item{
	box-sizing: border-box;
	width: calc(100% / 3);
	text-align: center;
	font-size: 1.4rem;
	padding: 3.6vw 1.5vw;
	color:#222;
	background-color: #DDD;
}
#recruit .sec_link .list .item.on{
	background-color: #000;
	color:#FFF;
}
@media screen and (max-width: 1100px) {
	#recruit .sec_link .list .item:not(:nth-child(3n)){
		border-right: solid 1px #FFF;
	}
	#recruit .sec_link .list .item:not(:nth-last-child(-n+3)){
		border-bottom: solid 1px #FFF;
	}
}
@media screen and (min-width: 600px) {
	#recruit .sec_link{
		padding-top: 60px;
	}
	#recruit .sec_link .list{
		margin-bottom: 30px;
	}
	#recruit .sec_link .list .item{
		padding:0;
		height: 30px;
		line-height: 30px;
	}
}
@media screen and (min-width: 1100px) {
	#recruit .sec_link .list .item{
		width: calc(100% / 5);
		cursor: pointer;
		transition: all .5s;
	}
	#recruit .sec_link .list .item:hover{
		background-color: #000;
		color:#FFF;
	}
	#recruit .sec_link .list .item:not(:last-child){
		border-right: solid 1px #FFF;
	}
}

#recruit .sec_content{
	padding-bottom: 5vw;
}
#recruit .sec_content .blc_head{
	padding-bottom: 4vw;
	border-bottom: solid 1px #DDD;
}
#recruit .sec_content .recruit_ttl{
	font-size: 2rem;
	color: #222;
	margin-bottom: 3.5vw;
}
#recruit .sec_content .blc_head .txt{
	font-size: 1.3rem;
	line-height: 1.8;
	color: #555;
}
#recruit .sec_content .blc_head .txt p:not(:first-child){
	margin-top: 1.5em;
}
#recruit .sec_content .blc_head .txt p:not(:last-child){
	margin-bottom: 1.5em;
}
#recruit .sec_content .blc_req{
	padding-top: 4vw;
	font-size: 1.3rem;
}
#recruit .sec_content .blc_req .tr{
	display: flex;
	margin-bottom: 1.81vw;
	line-height: 1.8;
}
#recruit .sec_content .blc_req .tr .th{
	width: 30%;
	padding-right: 10px;
	box-sizing: border-box;
}
#recruit .sec_content .blc_req .tr .td{
	flex:1;
}

@media screen and (min-width: 600px) {
	#recruit .sec_content .blc_head{
		padding-bottom: 20px;
	}
	#recruit .sec_content .recruit_ttl{
		font-size: 40px;
		margin-bottom: 20px;
	}
	#recruit .sec_content .blc_head .txt{
		font-size: 16px;
	}
	#recruit .sec_content .blc_req{
		padding-top: 40px;
		font-size: 16px;
	}
	#recruit .sec_content .blc_req .tr{
		margin-bottom: 15px;
	}
	#recruit .sec_content .blc_req .tr .th{
		width:100px;
		padding-right: 10px;
	}
}
@media screen and (min-width: 1100px) {
	#recruit .sec_content .blc_req{
		display: flex;
	}
	#recruit .sec_content .blc_req .box_tbl{
		width: 50%;
		box-sizing: border-box;
	}
	#recruit .sec_content .blc_req .box_tbl:first-child{
		padding-right: 30px;
		border-right: solid 1px #DDD;
	}
	#recruit .sec_content .blc_req .box_tbl:last-child{
		padding-left: 30px;
	}

}



/*====================================
contact
====================================*/
#contact .sec_head{
	padding-top: 10vw;
}
#contact .sec_head .sec_ttl{
	margin-bottom:5vw;
	font-size: 2.2rem;
	color: #222;
	text-align: center;
}
#contact .sec_head .tel{
	font-size: 1.5rem;
	line-height: 1.8;
	text-align: center;
	border-radius: 10px;
	letter-spacing: .05em;
	background-color: #EEE;
	color: #555;
	margin: 0 auto;
	padding:1.81vw;
	width: 60vw;
	box-sizing: border-box;
	display: block;
}
#contact .sec_head .tel .icon{
	position: relative;
	padding-left: 14px;
}
#contact .sec_head .tel .icon:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	background:url(../img/common/tel_icon.png) no-repeat left top;
	background-size: contain;
	width: 9px;
	height: 12px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (min-width: 600px) {
	#contact .sec_head{
		padding-top: 130px;
	}
	#contact .sec_head .sec_ttl{
		font-size: 40px;
		margin-bottom: 40px;
	}
	#contact .sec_head .tel{
		width: 320px;
		font-size: 20px;
		padding: 5px;
	}
	#contact .sec_head .tel .icon{
		padding-left: 17px;
	}
	#contact .sec_head .tel .icon:before{
		width: 14px;
		height: 18px;
	}
}

#contact .sec_contact{
	padding-top: 10vw;
	padding-bottom: 12vw;
}
#contact .sec_contact .sec_txt{
	font-size: 1.3rem;
	margin-bottom: 1.81vw;
}
#contact .sec_contact .sec_txt .kome{
	color: #f00;
	padding-left: 1em;
}

@media screen and (min-width: 600px) {
	#contact .sec_contact{
		padding-top: 25px;
		padding-bottom: 75px;
	}
	#contact .sec_contact .sec_txt{
		margin-bottom: 5px;
		font-size: 16px;
	}
}
@media screen and (min-width: 1100px) {
	#contact .sec_contact{
		width: 1000px;
	}
}


/* 確認画面
--------------------------------------*/
.sec_confirm{
	padding-top: 10vw;
	padding-bottom: 12vw;
}
.sec_confirm .form_tbl td{
	line-height: 1.4;
}
.sec_confirm .submit_box .btn_wrap:first-child{
	margin-bottom: 4vw;
}

@media screen and (min-width:600px) {
	.sec_confirm{
		padding-top: 25px;
		padding-bottom: 75px;
	}
	.sec_confirm .form_tbl th,
	.sec_confirm .form_tbl td{
		padding:20px;
	}
	.sec_confirm .submit_box{
		display: flex;
		justify-content: center;
	}
	.sec_confirm .submit_box .btn_wrap{
		margin: 0;
	}
	.sec_confirm .submit_box .btn_wrap:first-child{
		margin-bottom: 0;
		margin-right: 20px;
	}
}
@media screen and (min-width:1100px) {
	.sec_confirm{
		width: 1000px;
	}
}


/*サンキューページ
--------------------------------------*/
.sec_thankyou{
	font-size: 1.3rem;
	line-height:2;
	padding-top: 10vw;
	padding-bottom: 12vw;
}
.sec_thankyou .ttl{
	margin-bottom: 2.5vw;
}
.sec_thankyou .txt{
	margin-top: 3vw;
	margin-bottom: 5vw;
}
.sec_thankyou a{
	text-decoration: underline;
}

@media screen and (min-width:600px) {
	.sec_thankyou{
		font-size: 14px;
		padding-top: 25px;
		padding-bottom: 75px;
	}
	.sec_thankyou .ttl{
		font-size: 20px;
		margin-bottom: 20px;
	}
	.sec_thankyou .txt{
		margin-top: 40px;
		margin-bottom: 50px;
	}
}
@media screen and (min-width:1100px) {
	.sec_thankyou{
		width: 550px;
	}
	.sec_thankyou a:hover{
		text-decoration: none;
	}
}

/*====================================
404
====================================*/
.sec_404{
	line-height: 2;
	font-size: 1.5rem;
	padding-top: 10vw;
}
.sec_404 .blc{
	padding-top: 4.83vw;
	padding-bottom: 4.83vw;
}
.sec_404 a{
	text-decoration: underline;
}
@media screen and (min-width: 600px) {
	.sec_404{
		font-size: 15px;
		padding-top: 100px;
	}
	.sec_404 .blc{
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
@media screen and (min-width: 1100px) {
	.sec_404{
		width: 900px;
	}
	.sec_404 a:hover{
		text-decoration: none;
	}
}

/*====================================
comingsoon
====================================*/
.sec_comingsoon{
	padding-top: 10vw;
	text-align: center;
}
.sec_comingsoon .sec_ttl{
	font-size: 1.3rem;
	margin-bottom: 3vw;
}
.sec_comingsoon  a{
	font-size: 1.3rem;
}
@media screen and (min-width: 600px) {
	.sec_comingsoon{
		padding-top: 110px;
	}
	.sec_comingsoon .sec_ttl{
		font-size: 17px;
		margin-bottom: 30px;
	}
	.sec_comingsoon  a{
		font-size: 16px;
	}
}
@media screen and (min-width: 1100px) {
	.sec_comingsoon a:hover{
		text-decoration: none;
	}
}

/*====================================
nenga
====================================*/
@media screen and (min-width: 1200px) {
	#nenga .sec_nenga img{
		width: auto;
	}
}



/*====================================

====================================*/
@media screen and (min-width: 600px) {
}
