@charset "utf-8";
a:hover{
	opacity: 1;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

 @keyframes rotateAnimsp {
  0% { transform: translateX(100vw);}
  100% { transform: translateX(-1640px);}
 }
 @keyframes rotateAnim01 {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
 }
 @keyframes rotateAnim02 {
    0% {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-200%);
    }
 }

@keyframes circle {
  0% { transform: rotate(0deg); }
  50%{ transform: rotate(180deg); }
  100% { transform: rotate(360deg); } 
}
/*====================================================================================

SP用（bleak_point:680px）

====================================================================================*/
@media screen and (max-width:680px){
	.sp_none{
		display: none;
	}
/*=======================================================================
各種ラッパー用CSS
=======================================================================*/	
#wrapper {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
	font-size: 16px;
}

/*#wrapper.top_wrap::before{
	content: '';
	background: url("../img/sp_main_bg@2x.jpg")no-repeat center 0/cover;
	width: 100%;
	height: 100vh;
	display: block;
	position: fixed;
	top: 0;
}*/
	.top_main_bg_wrap {
		width: 100%;
		height: 100vh;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		background: url("../img/sp_main_bg@2x.jpg")no-repeat center 0/cover;
	}
	.top_main_bg_wrap_on {
		background: url("../img/sp_main_bg2@2x.jpg")no-repeat center 0/cover;
	}
#h_wrapper {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	position: relative;
}

header#PAGE_TOP {
	position: relative;
	text-align: left;
}

.cnt_wp {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#cnt_wrapper {
	margin: 0 auto;
	text-align: left;
	position: relative;
}

#f_wrapper {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

footer#f_cnt {
	width: 100%;
	margin: 0 auto;
	position: relative;
	text-align: left; 
}

.in_wrap{
	width: 100%;
	padding: 0 10px;
	margin: 0 auto;
	position: relative;
	max-width: 100%;
	box-sizing: border-box;
}	
	
	
	
/*=======================================================================
ヘッダ
=======================================================================*/
header h2.header_logo{
	display: none;
}
header .mv_cnt{
	width: 100%;
	height: 100vh;
	position: relative;
	z-index: 111 ;
}

header .mv_cnt .mv_slide{
	display: flex;
	width: calc(100vh * 1.0212);
	height: 100vh;
	position: absolute;
	top:  15px;
	left: -110px;
	z-index: -1;
}	
header .mv_cnt .mv_slide .mv_img{
	width: 100%;
	height: auto;
	position: relative;
}

header .mv_cnt .mv_slide .mv_img img{
	width: 100%;
	height: 100%;

}
.mv_slide > .mv_img:not(:first-child) {
	display: none;
}	
	
	
	header .mv_cnt h2.logog {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
	}	
header .mv_cnt h2.header_tit{
	font-size: 6.2vw;
	line-height: 1;
	color: #000;
	position: absolute;
	left: 0;
	bottom: 20px;
	z-index: 1111;
	width: 100%;
	text-align: center;
	text-shadow: 1px 1px 0px rgba(191,220,242,1),1px -1px 0px rgba(191,220,242,1),-1px 1px 0px rgba(191,220,242,1),-1px -1px 0px rgba(191,220,242,1);
	/*text-shadow: 0.5px 0.5px 0px rgba(0,0,0,1),-0.5px -0.5px 0px rgba(0,0,0,1);*/
}
header .mv_cnt h2.header_tit span{
	display: block;
	margin-top: 10px;
}
header .mv_cnt h2.header_tit::after{
	content: '';
	background: url("../img/icon01@2x.png")no-repeat center 0/contain;
	width: 24px;
	height: 36px;
	display: block;
	margin: 20px auto 0;
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}	
header h2.header_logo{
	width: 402px;
	height: 43px;
	position: absolute;
	top: 48px;
	left: 50px;
	z-index: 1115;
	display: none;
}
header h2.header_logo img{
	width: 100%;
}

	
	
.header_nav{
	width: 100%;
	position: fixed;
	top: 0;
	
	z-index: 1000;
}
.header_nav .bg_white{
	height: 60px;
	background: #FFFFFF;
	display: flex;
}
.header_nav .header_nav_logo{
	width: 220px;
	height: 40px;
	position: relative;
	top: 10px;
	left: 10px;
}

.header_nav .header_nav_logo img{
	width: 100%;
}
.header_nav nav {
	position: absolute;
	right: 0;
	display: none;
}
.header_nav nav ul{
	display: flex;
}
.header_nav nav ul li{
	position: relative;
}
.header_nav nav ul li:nth-of-type(n + 2){
	margin-left: 30px;
}
.header_nav nav ul li a{
	letter-spacing: 0.05em;
	line-height: 64px;
	position: relative;
}
.header_nav nav ul li:not(:last-child) a::after{
	content: '';
	background: url("../img/icon03@2x.png")no-repeat center 0/contain;
	width: 8px;
	height: 10px;
	display: inline-block;
	position: relative;
	margin-left: 15px;
}
.header_nav nav ul li:last-child{
	width: 206px;
	height: 64px;
	background: #050505;
	text-align: left;
	padding-left: 30px;
	box-sizing: border-box;
	border-radius: 32px 0 0 32px;
	font-family: 'Noto Sans JP', sans-serif;
}
.header_nav nav ul li:last-child a{
	color: #fff;
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 64px;
}
.header_nav nav ul li:last-child a::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
}	
.g_menu{
		width: 50px;
		height: 50px;
		position: fixed;
		right: 5px;
		top: 5px;
		text-indent: -9999px;
		cursor: pointer;
		box-sizing: border-box;
		z-index: 1112;
		color: #333;
	}
	.g_menu span{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		height: 1px;
		width: 30px;
		border-bottom: 1px solid #333;
		display: none;
	}
	.g_menu::before {
		content: '';
		height: 1px;
		width: 25px;
		background: #333;
		position: absolute;
		top: 22px;
		left: 0px;
		right: 0px;
		margin: auto;
		transition: all 0.5s;
	}
	.g_menu::after {
		content: '';
		height: 1px;
		width: 25px;
		background: #333;
		position: absolute;
		bottom: 22px;
		left: 0px;
		right: 0;
		margin: auto;
		transition: all 0.5s;
	}
	
	.g_menu.active span{
		display: none;
	}
	.g_menu.active::before {
		transform: rotate(205deg);
		top: 51%;
	}
	.g_menu.active::after {
		transform: rotate(-205deg);
		top: 50%;
	}
	.g_menu.active_bg{
		background: rgba(72,90,126,0.8);
	}
	.g_menu.active{
		background: none;
	}
	.sp_gnav.active{
		transform: translateX(0%);

	}
	
	.sp_gnav{
		background: rgba(0,0,0,0.5);
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1111;
		transition: all 0.7s;
		padding: 20px;
		box-sizing: border-box;
		
		transform: translateX(100%);
	}	
	.sp_gnav .bg{
		background: rgba(255,255,255,1);
		border-radius: 10px;
		padding: 15px;
	}
	.sp_gnav ul{
		text-align: left;
	}
	.sp_gnav ul div{
	}
	.sp_gnav ul div:nth-of-type(n + 2){
		margin-top: 20px;
	}
	.sp_gnav ul div li{
		font-size: 14px;
	}
	.sp_gnav ul div li::before{
		content: '';
		width: 10px;
		height: 1px;
		background: #333;
		display: inline-block;
		position: relative;
		top: -5px;
		margin-right: 10px;
	}
	.sp_gnav ul div:nth-of-type(2) li:first-child{
		display: block;
		width: 100%;
	}
	.sp_gnav ul div:nth-of-type(2) li:nth-of-type(n + 2){
		margin-left: 20px;
	}
.spnav_box {
	margin-top: 30px;
}
.spnav_box p.tel a{
	color: #FFA81C;
	letter-spacing: 0.05em;
	line-height: 2;
	font-size: 34px;
	margin-bottom: 10px;
}
.spnav_box p.tel a span{
	font-size: 22px;
}
.spnav_box p.txt00{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.7142;
	color: #1A1A1A;
}
.spnav_box a.link02{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 45px;
	position: relative;
	margin-top: 30px;
	padding: 0px 0 0px 30px;
	display: block;
}
.spnav_box a.link02::before{
	content: '';
	background: url("../img/icon07@2x.png")no-repeat center 0/contain;
	width: 45px;
	height: 45px;
	display: inline-block;
	position: absolute;
	left: 20px;
	margin-right: 10px;
}
/*=======================================================================
サイド メニュー
=======================================================================*/






/*=======================================================================
トップページ　メイン
=======================================================================*/
.top_block_01{
	position: relative;
	padding: 60px 0 120px;
	background: #E4F3FF;
}

.top_block_01 .sc_txt_wrap{
	display: flex;
	position: absolute;
	bottom: -1px;
	overflow: hidden;
}
.top_block_01 .sc_txt{
	padding: 0 10px;
	display: block;
}
.top_block_01 .sc_txt:first-child{
	width: 1617px;
	height: 60px;
	display: block;
	animation: rotateAnim01 50s -25s linear infinite;
}
.top_block_01 .sc_txt:last-child{
	width: 1617px;
	height: 60px;
	display: block;
	animation: rotateAnim02 50s linear infinite;
}
.top_block_01 .sc_txt img{
	width: 100%;
}	
.top_block_01 p.txt00{
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 2;
	text-align: center;
	
}
.top_block_01 p.txt00 span:nth-of-type(n + 2){
	display: block;
	margin-top: 45px;
}
.top_block_01 h3{
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.4545;
	text-align: center;
	margin-top: 70px;
}


.news_block{
	background: #F0F8FF;
	padding: 45px 0 45px;
}
.news_block .flex{
}
.news_block .flex .left_box{
	width: 185px;
}
.news_block .flex .left_box h2{
	font-size: 34px;
	font-weight: 500;
	line-height: 1.318;
	margin-bottom: 35px;
}
.news_block .flex .right_box{
}
.news_block	a.link01{
	position: absolute;
	top: 0;
	right: 10px;
}
a.link01{
	width: 185px;
	height: 54px;
	letter-spacing: 0.15em;
	line-height: 54px;
	border-radius: 27px;
	background: #0A0A0A;
	display: block;
	padding-left: 20px;
	box-sizing: border-box;
	color: #fff;
	position: relative;
}
a.link01::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
}
a.link01:hover{
	border: 1px solid #0A0A0A;
	background: none;
	color: #0A0A0A;
}	
a.link01:hover::after{
	filter: brightness(0);
}
.news_block .flex .right_box dl{
	border-bottom: 1px solid #B9C9D1;
}
.news_block .flex .right_box dl .line{
	border-top: 1px solid #B9C9D1;
	padding: 25px 0;
	letter-spacing: 0.04em;
	line-height: 1.6;
}
.news_block .flex .right_box dl .line dt time{
	margin-bottom: 5px;
}
.news_block .flex .right_box dl .line dt h4{
	font-weight: bold;
	text-decoration: underline;
}
.news_block .flex .right_box dl .line dd{
	line-height: 1.5;
	letter-spacing: 0;
	margin-top: 15px;
}
.news_block .flex .right_box dl .line a:hover dt h4{
	text-decoration: underline;
}

h3.sec_tit01{
	font-size: 33px;
	font-weight: 500;
	line-height: 1.0909;
	margin-bottom: 10px;
}
h2.sec_tit02{
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3461;
}


.top_block_02{
	position: relative;
	padding: 60px 0 90px;
}
.top_block_02 h2.sec_tit02{
	color: #AAEC14;
	
}
.top_block_02 p.txt01{
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 2;
	padding-left: 10px;
	padding-top: 0px;
	margin:60px 0 60px;
	position: relative;
}
.top_block_02 p.txt01::before{
	content: '';
	background: url("../img/icon04@2x.png")no-repeat center 0/contain;
	width: 150px;
	height: 60px;
	display: block;
	position: absolute;
	left: -20px;
	top: -25px;
}
h4.vertical{
	writing-mode: vertical-rl;
	font-size: 30px;
	letter-spacing: 0.15em;
	line-height: 1.1;
	position: relative;
	z-index: 1;
}
h4.vertical::after{
	content: '';
	background: url("../img/icon05@2x.png")no-repeat center 0/contain;
	width: 37px;
	height: 37px;
	display: block;
	position: absolute;
	top: 50px;
	left: 0px;
	right: 0;
	margin: auto;
	z-index: -1;
}
h4.vertical span{
	display: block;
	position: relative;
}
h4.vertical span.s_left{
	margin-right: 10px;
	position: relative;
	margin-top: 25px;
}
.top_block_02 h4.vertical{
	position: absolute;
	bottom: 80px;
	right: 20px;
	white-space: nowrap;
}
.top_block_02 h4.vertical span.s_left{
	color: #AAED14;
}
.top_block_02 h4.vertical span.s_right{
	color: #0086CC;
}
.top_block_02 a.link01{
	margin: 50px 0 0 auto;
	display: block;
}

.top_block_02 .img_wrap{
	width: 63.02vw;
	height: 220px;
	position: relative;
	border-radius: 0 265px 265px 0;
	overflow: hidden;
}
.top_block_02 .img_wrap .sc_img_line {
	transform: rotate(12deg);
	width: calc(100% + 100px);
}
.top_block_02 .img_wrap .sc_img_line:nth-of-type(1){
	position: relative;
	margin-top: 0px;
}
.top_block_02 .img_wrap .sc_img_line:nth-of-type(2){
	position: relative;
	left: -40px;
	margin-top: -2px;
}
.top_block_02 .img_wrap .sc_img_line:nth-of-type(3){
	position: relative;
	left: -45px;
	margin-top: 6px;
}

.top_block_02 .img_wrap .sc_img_line ul{
	display: flex;
}
.top_block_02 .img_wrap .sc_img_line ul li{
	width: 134px;
	height: 80px !important; 
	margin: 0 2.5px;
}
.top_block_02 .img_wrap .sc_img_line ul li img{
	width: 100%;
}

	
.top_block_02 .img_wrap img{
	width: 100%;
}


.top_block_03{
	background: url("../img/top_bg_01@2x.png")no-repeat center 0/cover;
	position: relative;
	padding: 60px 0 55px;
}
.top_block_03 h2.sec_tit02,
.top_block_03 h3.sec_tit01{
	color: #fff;
}
.top_block_03 ul{
	display: flex;
	margin-top: 35px;
	position: relative;
	padding: 0 10px;
	box-sizing: border-box;
}
.top_block_03 ul li{
	width: 100%;
	margin: 0 10px;
	padding: 50px 0px 0;
	box-sizing: border-box;
	position: relative;
}
.top_block_03 ul li p.num{
	width: 100px;
	height: 100px;
	font-size: 25px;
	font-weight: 500;
	font-style: italic;
	line-height: 100px;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 0;
}
.top_block_03 ul li p.num::after{
	content: '';
	background: url("../img/top_icon01@2x.png")no-repeat center 0/cover;
	width: 100px;
	height: 100px;
	display: block;
	position: absolute;
	top: 0;
	animation: circle 40s linear infinite; 
}
.top_block_03 ul li .img_wrap{
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
	margin: 0 0 20px auto;
}
.top_block_03 ul li .img_wrap img{
	width: 100%;
}
.top_block_03 ul li p.txt01{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3333;
	margin-bottom: 7px;
	color: #fff;
}
.top_block_03 ul li p.txt02{
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3461;
	color: #fff;
}



.top_block_04{
	position: relative;
	padding: 60px 0 60px;
}
.top_block_04 .img_wrap.img01{
	width: 63.02vw;
	height: 220px;
	position: relative;
	border-radius:265px 0 0 265px ;
	overflow: hidden;
	margin: 0 0 0 auto;
}
.top_block_04 .img_wrap .sc_img_line {
	transform: rotate(-12deg);
	width: calc(100% + 100px);
}
.top_block_04 .img_wrap .sc_img_line:nth-of-type(1){
	position: relative;
	margin-top: -20px;
	left: -20px;
}
.top_block_04 .img_wrap .sc_img_line:nth-of-type(2){
	position: relative;
	left: 0px;
	margin-top: 4px;
}
.top_block_04 .img_wrap .sc_img_line:nth-of-type(3){
	position: relative;
	left: 0px;
	margin-top: 8px;
}

.top_block_04 .img_wrap .sc_img_line ul{
	display: flex;
}
.top_block_04 .img_wrap .sc_img_line ul li{
	width: 134px;
	height: 80px !important; 
	margin: 0 2.5px;
}
.top_block_04 .img_wrap .sc_img_line ul li img{
	width: 100%;
	transform: rotate(-1,1);
}


.top_block_04 .img01 img{
	width: 100%;
}
.top_block_04 h4.vertical{
	position: absolute;
	top: 0;
	left: 20px;
	white-space: nowrap;
}
.top_block_04 h4.vertical span.s_left{
	color: #E87A93;
}
.top_block_04 h4.vertical span.s_right{
	color: #0086CC;
}
.top_block_04 .flex{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
.top_block_04 .flex .cnt01{
	width: 300px!important;
	box-sizing: border-box;
	overflow: hidden;
	margin: 0 auto;
}
.top_block_04 .flex .cnt01{
	height: 380px;
}
.top_block_04 .flex .cnt01 li{
	width: 100%;
	margin: 0 auto;
} 
.top_block_04 .flex .cnt01 li:nth-of-type(n + 2){
	margin-top: 40px;
}
.top_block_04 .flex .cnt01 li .img_wrap{
	width: 300px;
	height: 300px;
	overflow: hidden;
	border-radius: 10px;
	position: relative;
	margin: 0 auto;
} 
.top_block_04 .flex .cnt01 li .img_wrap img{
	width: 100%;
}
.top_block_04 .flex .cnt01 li .img_wrap p.yakusyoku{
	font-size: 15px;
	letter-spacing: 0.15em;
	line-height: 1.5;
	text-align: right;
	position: absolute;
	top: 20px;
	right: 20px;
}
.top_block_04 .flex .cnt01 li .img_wrap p.name{
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: right;
	position: absolute;
	top: 73px;
	right: 20px;
}
.top_block_04 .flex .cnt01 li p.txt01{
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin-top: 25px;
}

.top_block_04 .flex .cnt02{
	padding-top: 30px;
}
.top_block_04 .flex .cnt02 h2.sec_tit02{
	color: #E87A93;
}
.top_block_04 .flex .cnt02 p.txt01{
	width: 100%;
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 2;
	padding-left: 10px;
	box-sizing: border-box;
	padding-top: 30px;
	margin:36px 0 40px;
	position: relative;
}
.top_block_04 .flex .cnt02 p.txt01::before{
	content: '';
	background: url("../img/icon04@2x.png")no-repeat center 0/contain;
	width: 150px;
	height: 60px;
	display: block;
	position: absolute;
	left: -20px;
	top: 0;
}	 
.top_block_04 .flex .cnt02 .img_wrap{
	width: 360px;
	height: 360px;
	overflow: hidden;
	border-radius: 50%;
	margin: 0 auto 0;
}
.top_block_04 .flex .cnt02 .img_wrap img{
	width: 100%;
}
.top_block_04 .flex .cnt02 .top_message{
	width: 300px;
	height: 70px;
	background: #CC586A;
	border-radius: 0 45px 45px 0;
	position: relative;
	top: -120px;
	left: 0px;
}
.top_block_04 .flex .cnt02 .top_message a{
	display: block;
	padding: 10px 0 10px 30px;
	color: #fff;
}
.top_block_04 .flex .cnt02 .top_message a::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
}
.top_block_04 .flex .cnt02 .top_message p.sub{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.2;
	margin-bottom: 5px;
}
.top_block_04 .flex .cnt02 .top_message h3{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.2;
}
	
	
	
	
	
	
	
	
	
	
	
.blog_block h3.sec_tit01{
	font-size: 34px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 10px;
}
.blog_block h2.sec_tit02{
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}	
a.link01{
	width: 155px;
	height: 45px;
	font-size: 14px;
	letter-spacing: 0.15em;
	line-height: 45px;
	border-radius: 27px;
	background: #0A0A0A;
	display: block;
	padding-left: 15px;
	box-sizing: border-box;
	color: #fff;
	position: relative;
}
a.link01::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
}
	
.blog_block{
	background: url("../img/top_bg_02@2x.png")no-repeat center 0/cover;
	padding: 60px 0 ;
}
.blog_block .flex{
	
}
.blog_block h2.sec_tit02{
	color: #F5C468;
	margin-left: 0px;
	padding-top: px;
}
.blog_block a.link01{
	position: absolute;
	right: 10px;
	top: 0;
}
.blog_block ul{
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.blog_block ul li{
	width: calc((100% / 3) - 20px);
	letter-spacing: 0.05em;
	
}
.blog_block ul li time{
	font-size: 16px;
	line-height: 1;
	margin-bottom: 10px;
	color: #6E6145;
	display: block;
}
.blog_block ul li .img_wrap{
	width: 100%;
	height: 215px;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}
.blog_block ul li .img_wrap::before{
	content: '';
	display: block;
	padding-top: 63.25%;
}
.blog_block ul li .img_wrap img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	object-fit: cover;
}
.blog_block ul li p.txt01{
	font-size: 18px;
	line-height: 1.7777;
	font-weight: bold;
	margin-top: 20px;
	box-sizing: border-box;
	color: #070707;
}
	.blog_block ul li:hover p.txt01{
		color: #F5C468;
	}


.recruit_block{
	position: relative;
	padding: 60px;
	z-index: 1;
}
.recruit_block::before{
	content: '';
	background: url("../img/top_img_14@2x.png")no-repeat center 0/contain;
	width: 120%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -20px;
	right: -20px;
	margin: auto;
	z-index: -1;
}
.recruit_block a{
	width: 100%;
	border: 5px solid #fff;
	display: block;
	padding: 30px 15px 60px;
	box-sizing: border-box;
	margin: 0 auto;
	letter-spacing: 0.05em;
	font-weight: 500;
	text-align: center;
	color: #fff;
}
.recruit_block a p.sub{
	font-size: 14px;
	margin-bottom: 15px;
}
.recruit_block a h2{
	font-size: 24px;
	line-height: 52px;
	position: relative;
}
.recruit_block a h2::after{
	content: '';
	background: url("../img/icon06@2x.png")no-repeat center 0/contain;
	width: 32px;
	height: 32px;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -40px;
	margin: auto;
}
/*=======================================================================
フッタ
=======================================================================*/
#f_wrapper{
	position: relative;
	background: #fff;
	border-radius: 20px 20px 0 0;
}
#f_wrapper footer{
	padding: 60px 10px 75px;
	box-sizing: border-box;
}
footer .flex{
}
	footer .left_box{
		text-align: center;
	}
footer .left_box .footer_logo a {
	display: block;
	margin-bottom: 7px;
}
footer .left_box .footer_logo a img{
	width: 198px;
	height: 43px;
}
footer .left_box .footer_logo a span{
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.25;
	margin-left: 15px;
	color: #211F1F;
	padding-top: 5px;
}
footer .left_box p.tel a{
	color: #FFA81C;
	letter-spacing: 0.05em;
	line-height: 2;
	font-size: 34px;
	margin-bottom: 10px;
}
footer .left_box p.tel a span{
	font-size: 32px;
}
footer .left_box p.txt00{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.7142;
	color: #1A1A1A;
}
footer .left_box a.link02{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 45px;
	position: relative;
	margin-top: 30px;
	padding: 0px 0 0px 64px;
	display: block;
}
footer .left_box a.link02::before{
	content: '';
	background: url("../img/icon07@2x.png")no-repeat center 0/contain;
	width: 45px;
	height: 45px;
	display: inline-block;
	position: absolute;
	left: 0;
	margin-right: 10px;
}
footer .left_box a.link02:hover{
	color: #FFA81C;
}
footer .right_box nav{
	display: none;
}
footer .right_box nav ul{
	display: flex;
	margin-bottom: 75px;
}
footer .right_box nav ul div:nth-of-type(n + 2){
	margin-left: 30px;
}
footer .right_box nav ul li{
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
footer .right_box nav ul div:nth-of-type(2) li:nth-of-type(n + 2){
	padding-left: 33px;
}
footer .right_box nav ul li a{
	color: #101010;
}
footer .right_box .logo{
	width: 100%;
	height: 80px;
	display: block;
	margin: 20px 0 0 auto;
	border: 1px solid #707070;
	padding: 18px 15px;
	box-sizing: border-box;
}
footer .right_box .logo img{
	width: 160px;
	height: 34px;
}
footer .right_box .logo span{
	font-size: 15px;
	display: inline-block;
	font-weight: 500;
	line-height: 1.25;
	margin-left: 10px;
	padding-top: 5px;
	color: #211F1F;
}


.copy {
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.15em;
	display: block;
	margin: 30px auto 0;
	text-align: center;
}	
	
	
/************/	
}
/*====================================================================================

PC用（bleak_point:680px）

====================================================================================*/
@media screen and (min-width: 681px){
.pc_none{
		display: none;
	}
/*=======================================================================
各種ラッパー用CSS
=======================================================================*/
#wrapper {
	width: 100%;
	min-width: 1080px;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
}
#wrapper.top_wrap::before{
	content: '';
	background: url("../img/top_main_bg@2x.jpg")no-repeat center 0/cover;
	width: 100%;
	height: 100vh;
	display: block;
	position: fixed;
	top: 0;
}

#h_wrapper {
	width: 100%;
	height: 100vh;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
#h_wrapper_recruit {
	width: 100%;
	height: 450px;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
header#PAGE_TOP {
	position: relative;
	text-align: left;
}

.cnt_wp {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#cnt_wrapper {
	margin: 0 auto;
	text-align: left;
	position: relative;
}

#f_wrapper {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

footer#f_cnt {
	width: 1080px;
	margin: 0 auto;
	position: relative;
	text-align: left; 
}

.in_wrap{
	width: 1080px;
	margin: 0 auto;
	position: relative;
	max-width: 100%;
}

/*=======================================================================
ヘッダ
=======================================================================*/
header h2.header_logo{
	width: 462px;
	height: 64px;
	position: absolute;
	top: 50px;
	left: 50px;
	z-index: 1115;
}
header h2.header_logo img{
	width: 100%;
}

header .mv_cnt{
	width: 100%;
	height: 100vh;
	background: url("../img/main_bg@2x.jpg")no-repeat center right;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	z-index: 111 ;
}
header .mv_cnt .mv_slide{
	display: flex;
	width: 62.81vw;
	min-width: 800px;
	height: auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
}	
header .mv_cnt .mv_slide .mv_img{
	width: 100%;
	height: auto;
	position: relative;
}

header .mv_cnt .mv_slide .mv_img img{
	width: 100%;
	height: 100%;

}
.mv_slide > .mv_img:not(:first-child) {
	display: none;
}

header .mv_cnt h2.header_tit{
	font-size: 3vw;
	font-weight: bold;
	letter-spacing: 0.078em;
	line-height: 1.25;
	color: #000;
	position: absolute;
	top: 56%;
	left: 50px;
	text-shadow: 1px 1px 0px rgba(255,255,255,1);
}
	/*@media screen and (max-width: 1480px){
		header .mv_cnt h2.header_tit{
			font-size: 4vw;	
		}
	}*/	
	
header .mv_cnt h2.header_tit span{
	display: block;
	margin-top: 15px;
}
header .mv_cnt h2.header_tit::after{
	content: '';
	background: url("../img/icon01@2x.png")no-repeat center 0/contain;
	width: 24px;
	height: 36px;
	display: block;
	margin: 40px auto 0;
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}




.header_nav{
	width: 100%;
	padding-top: 46px;
	position: fixed;
	bottom: 0;
	
	z-index: 1000;
}
.header_nav .bg_white{
	height: 64px;
	background: #FFFFFF;
	display: flex;
}
.header_nav .header_nav_logo{
	width: 250px;
	height: 54px;
	position: relative;
	left: 40px;
	bottom: 20px;
}
.header_nav::before{
	content: '';
	width: 331px;
	height: 46px;
	background: #fff;
	border-radius: 20px 20px 0 0;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.header_nav .header_nav_logo img{
	width: 100%;
}
.header_nav nav {
	position: absolute;
	right: 0;
}
.header_nav nav ul{
	display: flex;
}
.header_nav nav ul li{
	position: relative;
}
.header_nav nav ul li:nth-of-type(n + 2){
	margin-left: 30px;
}
.header_nav nav ul li a{
	letter-spacing: 0.05em;
	line-height: 64px;
	position: relative;
}
.header_nav nav ul li a:hover{
	color: #7F9ABA;
}
	
.header_nav nav ul li:nth-child(3) a::after{
	content: '';
	background: url("../img/icon03@2x.png")no-repeat center 0/contain;
	width: 8px;
	height: 10px;
	display: inline-block;
	transform: rotate(-270deg);
	position: relative;
	margin-left: 15px;
}
.header_nav nav ul li:not(:last-child) a::after{
	content: '';
	background: url("../img/icon03@2x.png")no-repeat center 0/contain;
	width: 8px;
	height: 10px;
	display: inline-block;
	position: relative;
	margin-left: 15px;
}

.header_nav nav ul li:last-child a{
	width: 206px;
	height: 64px;
	background: #050505;
	text-align: left;
	padding-left: 30px;
	box-sizing: border-box;
	border-radius: 32px 0 0 32px;
	font-family: 'Noto Sans JP', sans-serif;
}
.header_nav nav ul li:last-child a{
	color: #fff;
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 64px;
}
.header_nav nav ul li:last-child a::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
}
.header_nav nav ul li:last-child a:hover{
	border: 1px solid #050505;
	border-right: none;
	background: none;
}
.header_nav nav ul li:last-child a:hover{
	color:#050505;
}
.header_nav nav ul li:last-child a:hover::after{
	filter: brightness(0);
}
/*=======================================================================
Gナビ
=======================================================================*/




/*=======================================================================
Ajax部分
=======================================================================*/








/*=======================================================================
レフト・メイン・ライトコンテンツ 枠
=======================================================================*/



/*=======================================================================
サイド メニュー
=======================================================================*/






/*=======================================================================
トップページ　メイン
=======================================================================*/
.top_block_01{
	position: relative;
	padding: 137px 0 223px;
	background: #E4F3FF;
}
.top_block_01 .sc_txt_wrap{
	display: flex;
	position: absolute;
	bottom: 0;
	overflow: hidden;
}
.top_block_01 .sc_txt{
	padding: 0 20px;
	display: block;
}
.top_block_01 .sc_txt:first-child{
	width: 2345px;
	height: 87px;
	display: block;
	animation: rotateAnim01 50s -25s linear infinite;
}
.top_block_01 .sc_txt:last-child{
	width: 2345px;
	height: 87px;
	display: block;
	animation: rotateAnim02 50s linear infinite;
}
.top_block_01 .sc_txt img{
	width: 100%;
}	
	
.top_block_01 p.txt00{
	font-size: 18px;
	letter-spacing: 0.15em;
	line-height: 2;
	text-align: center;
	
}
.top_block_01 p.txt00 span:nth-of-type(n + 2){
	display: block;
	margin-top: 45px;
}
.top_block_01 h3{
	font-size: 44px;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.4545;
	text-align: center;
	margin-top: 70px;
}


.news_block{
	background: #F0F8FF;
	padding: 80px 0;
}
.news_block .flex{
	display: flex;
	justify-content: space-between;
}
.news_block .flex .left_box{
	width: 185px;
}
.news_block .flex .left_box h2{
	font-size: 44px;
	font-weight: 500;
	line-height: 1.318;
	margin-bottom: 35px;
}
.news_block .flex .right_box{
	width: 825px;
}
a.link01{
	width: 185px;
	height: 54px;
	letter-spacing: 0.15em;
	line-height: 54px;
	border-radius: 27px;
	background: #0A0A0A;
	display: block;
	padding-left: 20px;
	box-sizing: border-box;
	color: #fff;
	position: relative;
}
a.link01::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
}
a.link01:hover{
	border: 1px solid #0A0A0A;
	background: none;
	color: #0A0A0A;
}	
a.link01:hover::after{
	filter: brightness(0);
}
	

.news_block .flex .right_box dl{
	border-bottom: 1px solid #B9C9D1;
}
.news_block .flex .right_box dl .line{
	border-top: 1px solid #B9C9D1;
	padding: 25px 0;
	letter-spacing: 0.15em;
	line-height: 2;
}
.news_block .flex .right_box dl .line dt time{
	
}
.news_block .flex .right_box dl .line dt h4{
	font-weight: bold;
}
.news_block .flex .right_box dl .line dd{
	line-height: 2;
}
	.news_block .flex .right_box dl .line a:hover dt h4{
		text-decoration: underline
	}


h3.sec_tit01{
	font-size: 44px;
	font-weight: 500;
	line-height: 58px;
	margin-bottom: 15px;
}
h2.sec_tit02{
	font-size: 26px;
	font-weight: 500;
	line-height: 1.3461;
}

.top_block_02{
	position: relative;
	padding: 125px 0 140px;
}
	.top_block_02 .in_wrap{
		position: inherit;
	}
.top_block_02 h2.sec_tit02{
	color: #AAEC14;
	
}
.top_block_02 p.txt01{
	font-size: 18px;
	letter-spacing: 0.15em;
	line-height: 2;
	padding-left: 60px;
	padding-top: 60px;
	margin:36px 0 60px;
	position: relative;
}
.top_block_02 p.txt01::before{
	content: '';
	background: url("../img/icon04@2x.png")no-repeat center 0/contain;
	width: 150px;
	height: 60px;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}
h4.vertical{
	writing-mode: vertical-rl;
	font-size: 100px;
	letter-spacing: 0.15em;
	line-height: 1.1;
	position: relative;
	z-index: 1;
}
h4.vertical::after{
	content: '';
	background: url("../img/icon05@2x.png")no-repeat center 0/contain;
	width: 125px;
	height: 125px;
	display: block;
	position: absolute;
	top: 170px;
	left: 10px;
	right: 0;
	margin: auto;
	z-index: -1;
}
h4.vertical span{
	display: block;
	position: relative;
}
h4.vertical span.s_left{
	margin-right: 30px;
	position: relative;
	margin-top: 75px;
}
.top_block_02 h4.vertical{
	position: absolute;
	bottom: 170px;
	right: 0;
	white-space: nowrap;
}
.top_block_02 h4.vertical span.s_left{
	color: #AAED14;
}
.top_block_02 h4.vertical span.s_right{
	color: #0086CC;
}
.top_block_02 a.link01{
	position: absolute;
	bottom: 65px;
	right: 45px;
}
.top_block_02 .img_wrap{
	width: 63.02vw;
	min-width: 695px;
	height: 530px;
	position: relative;
	border-radius: 0 265px 265px 0;
	overflow: hidden;
}
.top_block_02 .img_wrap .sc_img_line {
	transform: rotate(12deg);
	width: calc(100% + 100px);
}
.top_block_02 .img_wrap .sc_img_line:nth-of-type(1){
	position: relative;
	margin-top: -100px;
}
.top_block_02 .img_wrap .sc_img_line:nth-of-type(2){
	position: relative;
	left: -40px;
	margin-top: 10px;
}
.top_block_02 .img_wrap .sc_img_line:nth-of-type(3){
	position: relative;
	left: -45px;
	margin-top: 20px;
}

.top_block_02 .img_wrap .sc_img_line ul{
	display: flex;
}
.top_block_02 .img_wrap .sc_img_line ul li{
	width: 425px;
	height:261px !important; 
	margin: 0 6.5px;
}
.top_block_02 .img_wrap .sc_img_line ul li img{
	width: 100%;
}
.top_block_02 .img_wrap img{
	width: 100%;
}


.top_block_03{
	background: url("../img/top_bg_01@2x.png")no-repeat center 0/cover;
	position: relative;
	padding: 140px 0 135px;
}
.top_block_03 h2.sec_tit02,
.top_block_03 h3.sec_tit01{
	color: #fff;
}
.top_block_03 ul{
	display: flex;
	margin-top: 35px;
	position: relative;
	
}
.top_block_03 ul li{
	width: 505px !important ;
	margin: 0 25px;
	padding: 50px 0px 0;
	position: relative;
}
.top_block_03 ul li p.num{
	width: 145px;
	height: 145px;
	
	font-size: 30px;
	font-weight: 500;
	font-style: italic;
	line-height: 145px;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 0;
}
.top_block_03 ul li p.num::after{
	content: '';
	background: url("../img/top_icon01@2x.png")no-repeat center 0/cover;
	width: 145px;
	height: 145px;
	display: block;
	position: absolute;
	top: 0;
	animation: circle 40s linear infinite; 
}
	
.top_block_03 ul li .img_wrap{
	width: 400px;
	height: 240px;
	border-radius: 10px;
	overflow: hidden;
	margin: 0 0 27px auto;
}
.top_block_03 ul li .img_wrap img{
	width: 100%;
}
.top_block_03 ul li p.txt01{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3333;
	margin-bottom: 7px;
	color: #fff;
}
.top_block_03 ul li p.txt02{
	font-size: 26px;
	font-weight: 500;
	line-height: 1.3461;
	color: #fff;
}



.top_block_04{
	position: relative;
	padding: 140px 0 80px;
}
.top_block_04 h4.vertical{
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
}
.top_block_04 h4.vertical span.s_left{
	color: #E87A93;
}
.top_block_04 h4.vertical span.s_right{
	color: #0086CC;
}	
	
.top_block_04 .img01{
	width: 63.02vw;
	min-width: 695px;
	height: 530px;
	position: relative;
	border-radius: 265px 0 0 265px ;
	overflow: hidden;
	margin: 0 0 0 auto;
}
.top_block_04 .img_wrap.img01.reverse .sc_img_line img {
	transform: rotate(-1,1);
}
.top_block_04 .img_wrap.img01 .sc_img_line {
	transform: rotate(-12deg);
	width: calc(100% + 100px);
}
.top_block_04 .img_wrap.img01 .sc_img_line:nth-of-type(1){
	position: relative;
	margin-top: -100px;
	left: -38px;
}
.top_block_04 .img_wrap.img01 .sc_img_line:nth-of-type(2){
	position: relative;
	left: 0px;
	margin-top: 13px;
}
.top_block_04 .img_wrap.img01 .sc_img_line:nth-of-type(3){
	position: relative;
	left: 0px;
	margin-top: 22px;
}	
.top_block_04 .img_wrap.img01 .sc_img_line ul{
	display: flex;
}
.top_block_04 .img_wrap.img01 .sc_img_line ul li{
	width: 425px;
	height:261px !important; 
	margin: 0 6.5px;
}
.top_block_04 .img_wrap.img01 .sc_img_line ul li img{
	width: 100%;
}
.top_block_04 .img_wrap img{
	width: 100%;
}

.top_block_04 .flex{
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.top_block_04 .flex .cnt01{
	width: 300px;
	height: 982px;
	overflow: hidden;
}
.top_block_04 .flex .cnt01{
	
}
	.top_block_04 .flex .cnt01 .slick-track{
		position: relative;
		top: 130px;
	}
.top_block_04 .flex .cnt01 li{
	
} 
.top_block_04 .flex .cnt01 li:nth-last-of-type(n + 2){
	margin-bottom: 40px;
}
.top_block_04 .flex .cnt01 li .img_wrap{
	width: 300px;
	height: 300px;
	overflow: hidden;
	border-radius: 10px;
	position: relative;
} 
.top_block_04 .flex .cnt01 li .img_wrap img{
	width: 100%;
}
.top_block_04 .flex .cnt01 li .img_wrap p.yakusyoku{
	font-size: 15px;
	letter-spacing: 0.15em;
	line-height: 1.5;
	text-align: right;
	position: absolute;
	top: 20px;
	right: 20px;
}
.top_block_04 .flex .cnt01 li .img_wrap p.name{
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: right;
	position: absolute;
	top: 73px;
	right: 20px;
}
.top_block_04 .flex .cnt01 li p.txt01{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin-top: 25px;
}

.top_block_04 .flex .cnt02{
	width: 700px;
	padding-top: 60px;
}
.top_block_04 .flex .cnt02 h2.sec_tit02{
	color: #E87A93;
}
.top_block_04 .flex .cnt02 p.txt01{
	width: 640px;
	font-size: 18px;
	letter-spacing: 0.15em;
	line-height: 2;
	padding-left: 60px;
	padding-top: 60px;
	margin:36px 0 40px;
	position: relative;
}
.top_block_04 .flex .cnt02 p.txt01::before{
	content: '';
	background: url("../img/icon04@2x.png")no-repeat center 0/contain;
	width: 150px;
	height: 60px;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}	 
.top_block_04 .flex .cnt02 .img_wrap{
	width: 360px;
	height: 360px;
	overflow: hidden;
	border-radius: 50%;
	margin: 0 0 0 auto;
}
.top_block_04 .flex .cnt02 .img_wrap img{
	width: 100%;
}
.top_block_04 .flex .cnt02 .top_message{
	width: 380px;
	height: 90px;
	background: #CC586A;
	border-radius: 0 45px 45px 0;
	position: relative;
	top: -120px;
	left: 60px;
}
.top_block_04 .flex .cnt02 .top_message a{
	display: block;
	padding: 19px 0 18px 30px;
	color: #fff;
}
.top_block_04 .flex .cnt02 .top_message a::after{
	content: '';
	background: url("../img/icon02@2x.png")no-repeat center 0/contain;
	width: 16px;
	height: 8px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
}
.top_block_04 .flex .cnt02 .top_message p.sub{
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.2;
	margin-bottom: 5px;
}
.top_block_04 .flex .cnt02 .top_message h3{
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.2;
}



.blog_block{
	background: url("../img/top_bg_02@2x.png")no-repeat center 0/cover;
	padding: 140px 0 ;
}
.blog_block .flex{
	display: flex;
}
.blog_block h2.sec_tit02{
	color: #F5C468;
	margin-left: 33px;
	padding-top: 15px;
}
.blog_block a.link01{
	position: absolute;
	right: 0;
	top: 0;
}
.blog_block ul{
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.blog_block ul li{
	width: calc((100% / 3) - 20px);
	letter-spacing: 0.05em;
	
}
.blog_block ul li time{
	font-size: 16px;
	line-height: 1;
	margin-bottom: 10px;
	color: #6E6145;
	display: block;
}
.blog_block ul li .img_wrap{
	width: 100%;
	height: 215px;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}
.blog_block ul li .img_wrap::before{
	content: '';
	display: block;
	padding-top: 63.25%;
}
.blog_block ul li .img_wrap img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	object-fit: cover;
}
.blog_block ul li p.txt01{
	font-size: 18px;
	line-height: 1.7777;
	font-weight: bold;
	margin-top: 25px;
	padding-right: 5px;
	box-sizing: border-box;
	color: #070707;
}
	.blog_block ul li:hover p.txt01{
		color: #F5C468;
	}

.recruit_block{
	position: relative;
	padding: 130px;
	z-index: 1;
}
.recruit_block::before{
	content: '';
	background: url("../img/top_img_14@2x.png")no-repeat center 0/contain;
	width: 906px;
	height: 579px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -1;
}
.recruit_block a{
	width: 360px;
	height: 360px;
	border: 5px solid #fff;
	display: block;
	padding: 90px 30px;
	box-sizing: border-box;
	margin: 0 auto;
	letter-spacing: 0.05em;
	font-weight: 500;
	text-align: center;
	color: #fff;
}
.recruit_block a p.sub{
	font-size: 20px;
	margin-bottom: 15px;
}
.recruit_block a h2{
	font-size: 36px;
	line-height: 52px;
	position: relative;
}
.recruit_block a h2::after{
	content: '';
	background: url("../img/icon06@2x.png")no-repeat center 0/contain;
	width: 64px;
	height: 64px;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -85px;
	margin: auto;
}
/*=======================================================================
フッタ
=======================================================================*/
#f_wrapper{
	position: relative;
	background: #fff;
	border-radius: 20px 20px 0 0;
}
#f_wrapper footer{
	padding: 100px 0 95px;
}
footer .flex{
	display: flex;
	justify-content: space-between;
}
footer .left_box .footer_logo a {
	display: block;
	margin-bottom: 7px;
}
footer .left_box .footer_logo a img{
	width: 198px;
	height: 43px;
}
footer .left_box .footer_logo a span{
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.25;
	margin-left: 15px;
	color: #211F1F;
}
footer .left_box p.tel a{
	color: #FFA81C;
	letter-spacing: 0.05em;
	line-height: 64px;
	font-size: 44px;
	margin-bottom: 10px;
}
footer .left_box p.tel a span{
	font-size: 32px;
}
footer .left_box p.txt00{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.7142;
	color: #1A1A1A;
}
footer .left_box a.link02{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 64px;
	position: relative;
	margin-top: 50px;
	padding: 0px 0 0px 84px;
	display: block;
}
footer .left_box a.link02::before{
	content: '';
	background: url("../img/icon07@2x.png")no-repeat center 0/contain;
	width: 64px;
	height: 64px;
	display: inline-block;
	position: absolute;
	left: 0;
	margin-right: 20px;
}
footer .left_box a.link02:hover{
	color: #FFA81C;
}

footer .right_box nav ul{
	display: flex;
	margin-bottom: 75px;
}
footer .right_box nav ul div:nth-of-type(n + 2){
	margin-left: 30px;
}
footer .right_box nav ul li{
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.125;
}
footer .right_box nav ul div:nth-of-type(2) li:nth-of-type(n + 2){
	padding-left: 33px;
}
footer .right_box nav ul li a{
	color: #101010;
}
footer .right_box nav ul li a:hover{
	color: #7F9ABA;
}
footer .right_box .logo{
	width: 420px;
	height: 80px;
	display: block;
	margin: 0 0 0 auto;
	border: 1px solid #707070;
	padding: 18px 19px;
	box-sizing: border-box;
}
footer .right_box .logo img{
	width: 198px;
	height: 43px;
}
footer .right_box .logo span{
	display: inline-block;
	font-weight: 500;
	line-height: 1.25;
	margin-left: 15px;
	padding-top: 5px;
	color: #211F1F;
}


.copy {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.15em;
	display: block;
	margin: 100px auto 0;
	text-align: center;
}

}

@media screen and (min-width:681px) and ( max-width:1390px) {
	#top_nav li.gnav_acv {
		display: none;
	}
}

/*=======================================================================
clear　clearfix
=======================================================================*/
.clear {
	clear: both;
	visibility: visible;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}
/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}

/* 作成しアップロード後に[overflow:hidden;]は削除（DWデザインビュー用の為） */
.clearfix {
  display: block;
}
}