@charset "utf-8";
/* Copyright 2019 FSFIELD All Rights Reserved. */

@media screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */

	/* common.css上書き
	---------------------------------------------- */
	#footer::before{display: none;}

	/* グローバルナビアクティブ
	---------------------------------------------- */
	.nav_global ul li.g01 a{color: #2158DA;}


	/* バナー
	---------------------------------------------- */

	.bnr_wrapper {
		display: flex;
		flex-direction: column;
		gap: 10px;
		position: fixed;
		right: 36px;
		bottom: 20px;
		z-index: 4;
	}

	.bnr_instagram{
		position: relative;
	}

	.bnr_instagram.hide{display: none;}

	.bnr_instagram a{
		display: block;
		filter: drop-shadow(0px 6px 16px rgba(0,0,0,0.25));
		width: 240px;
	}

	.bnr_instagram img{
		width: 100%;
		height: auto;
		transition: .3s;
	}

	.bnr_instagram a img.sp{display: none;}

	.bnr_instagram a:hover img{filter: brightness(1.2);}

	.bnr_instagram .close{
        width: 17px;
        height: 17px;
        background: #ffffff;
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
	}

	.bnr_instagram .close::before,
	.bnr_instagram .close::after{
		content: "";
		display: block;
		background: #2E2E2E;
		width:14px;
		height: 2px;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -1px;
		margin-left: -8px;
	}

	.bnr_instagram .close::before{transform: rotate(45deg);}
	.bnr_instagram .close::after{transform: rotate(-45deg);}



	.bnr_line{
		position: relative;
	}

	.bnr_line.hide{display: none;}

	.bnr_line a{
		display: block;
		filter: drop-shadow(0px 6px 16px rgba(0,0,0,0.25));
		width: 240px;
	}

	.bnr_line img{
		width: 100%;
		height: auto;
		transition: .3s;
	}

	.bnr_line a img.sp{display: none;}

	.bnr_line a:hover img{filter: brightness(1.2);}

	.bnr_line .close{
        width: 24px;
        height: 24px;
        background: #ffffff;
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
	}

	.bnr_line .close::before,
	.bnr_line .close::after{
		content: "";
		display: block;
		background: #2E2E2E;
		width:16px;
		height: 2px;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -1px;
		margin-left: -8px;
	}

	.bnr_line .close::before{transform: rotate(45deg);}
	.bnr_line .close::after{transform: rotate(-45deg);}



	/* メインビジュアル
	---------------------------------------------- */
	#main{
		background: url("../img/home/img_main01.jpg") no-repeat center top;
		background-size: cover;
		height: 80vh;
		min-height: 600px;
		position: relative;
		margin-top: -110px;
	}

	.txt_main{
		display:-webkit-flex;/*--safari用--*/
		display:flex;
		position: absolute;
		top: 12vw;
		left: 50%;
		margin-left: -350px;
	}

	/* ナビ
	---------------------------------------------- */
	.nav_home{
		width: 1200px;
		margin: -60px auto 0;
		display:-webkit-flex;/*--safari用--*/
		display:flex;
		-webkit-flex-wrap:wrap;/*--safari用--*/
		flex-wrap:wrap;
		-webkit-justify-content:space-between;/*--safari用--*/
		justify-content:space-between;
		position: relative;
		z-index: 1;
	}

	.nav_home_inner{width: 588px;}

	.nav_home_inner:nth-child(1),
	.nav_home_inner:nth-child(2){margin-bottom: 25px;}

	.nav_home_inner a{
		background: #0F1F59;
		display:-webkit-flex;/*--safari用--*/
		display:flex;
		color: #FFF;
	}

	.nav_home_inner .image{
		width: 294px;
		height: 294px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}

	.nav_home_inner:nth-child(1) .image{background-image: url("../img/home/img_nav_home01.jpg");}
	.nav_home_inner:nth-child(2) .image{background-image: url("../img/home/img_nav_home02.jpg");}
	.nav_home_inner:nth-child(3) .image{background-image: url("../img/home/img_nav_home03.jpg");}
	.nav_home_inner:nth-child(4) .image{background-image: url("../img/home/img_nav_home04.jpg");}

	.nav_home_inner .inner{
		width: 294px;
		padding: 80px 30px 0;
	}

	.nav_home_inner .ttl{
		background: url("../img/ico_arrow01.png") no-repeat 0 bottom;
		background-size: 24px;
		font-size: 2rem;
		font-weight: bold;
		margin-bottom: 10px;
		padding-bottom: 22px;
		transition: all 0.3s;
	}

	.nav_home_inner:hover .ttl{background-position: 10px bottom;}

	/* お知らせ
	---------------------------------------------- */
	#news{
		background: #091442;
		padding: 160px 0;
		margin-top: -60px;
		color: #FFF;
	}

	.news_inner{
		width: 1200px;
		margin: 0 auto;
		display:-webkit-flex;/*--safari用--*/
		display:flex;
		-webkit-justify-content:space-between;/*--safari用--*/
		justify-content:space-between;
		-webkit-align-items:center;/*--safari用--*/
		align-items:center;
	}

	.news_inner h2{
		font-size: 2rem;
		line-height: 1.2;
		font-weight: bold;
		padding-right: 50px;
	}

	.wrap_article_home{
		border-left: 1px solid #253570;
		border-right: 1px solid #253570;
		padding: 0 50px;
		width: 940px;
		min-height: 210px;
	}

	/*--記事--*/
	.article_home{margin-bottom: 20px;}

	.article_home:last-of-type{margin-bottom: 0;}

	.article_home a{
		display:-webkit-flex;/*--safari用--*/
		display:flex;
		color: #FFF;
	}

	.article_home h3{transition: all .2s;}

	.article_home a:hover h3{color: #A3DAFE;}

	.article_home a time{
		font-family: Oswald !important;
		display: block;
		color: #7382B3;
		margin-right: 40px;
		padding-top: 2px;
	}

	/*--ボタン--*/
	.news_inner .btn_news{
		padding-left: 20px;
		font-size: 1.4rem;
	}

	.news_inner .btn_news a{
		background: url("../img/ico_arrow01.png") no-repeat 0 bottom;
		background-size: 24px;
		display: block;
		color: #FFF;
		padding-bottom: 22px;
		transition: all 0.3s;
	}

	.news_inner .btn_news a:hover{background-position: 10px bottom;}

	/* 採用情報
	---------------------------------------------- */
	#recruit{
		background: url("../img/home/bg_recruit02.png") no-repeat center top;
		background-size: cover;
		height: 500px;
		position: relative;
	}

	.recruit_inner{
		background: #FFF;
		box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3);
		width: 1200px;
		position: absolute;
		top: -60px;
		left: 50%;
		margin-left: -600px;
		display:-webkit-flex;/*--safari用--*/
		display:flex;
	}

	.recruit_inner .image{
		background: url("../img/home/img_recruit02.jpg") no-repeat center;
		width: 50%;
		min-height: 295px;
	}

	.recruit_inner .inner{width: 50%;}

	.recruit_inner .inner a{
		display: block;
		color: #333;
		height: 100%;
		padding: 90px 30px 0;
	}

	.recruit_inner .inner h2{
		font-size: 2rem;
		font-weight: bold;
		background: url("../img/ico_arrow01.png") no-repeat 0 bottom;
		background-size: 24px;
		padding-bottom: 22px;
		margin-bottom: 15px;
		transition: all 0.3s;
	}

	.recruit_inner .inner a:hover h2{background-position: 10px bottom;}


}/*--@media--*/


@media screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */

	/* common.css上書き
	---------------------------------------------- */
	#footer::before{display: none;}


	/* バナー
	---------------------------------------------- */
	.bnr_wrapper{
		display: flex;
		flex-direction: column;
		gap: 8px;
		right: 0;
		bottom: 10px;
		margin: 0 10px;
		position: fixed;
		z-index: 10;
	}

	.bnr_line {
		position: relative;
	}

	.bnr_line.hide{display: none;}

	.bnr_line a{
		width: 100%;
		filter: drop-shadow(0px 6px 16px rgba(0,0,0,0.25));
	}

	.bnr_line a img{
		width: 100%;
		height: auto;
	}

	.bnr_line a img.pc{display: none;}
	.bnr_line a img.sp{display: block;}

	.bnr_line .close{
		width: 20px;
		height: 20px;
	}

	.bnr_line .close::before,
	.bnr_line .close::after{
		width:8px;
		margin-left: -4px;
	}

	.bnr_line .close{
		width: 24px;
		height: 24px;
		background: #ffffff;
		position: absolute;
		top: 0px;
		right: 0px;
		cursor: pointer;
	}

	.bnr_line .close::before,
	.bnr_line .close::after{
		content: "";
		display: block;
		background: #2E2E2E;
		width:16px;
		height: 2px;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -1px;
		margin-left: -8px;
	}

	.bnr_line .close::before{transform: rotate(45deg);}
	.bnr_line .close::after{transform: rotate(-45deg);}


	.bnr_instagram {
		position: relative;
	}

	.bnr_instagram.hide{display: none;}

	.bnr_instagram a{
		width: 100%;
		filter: drop-shadow(0px 6px 16px rgba(0,0,0,0.25));
	}

	.bnr_instagram a img{
		width: 100%;
		height: auto;
	}

	.bnr_instagram a img.pc{display: none;}
	.bnr_instagram a img.sp{display: block;}

	.bnr_instagram .close{
		width: 20px;
		height: 20px;
	}

	.bnr_instagram .close::before,
	.bnr_instagram .close::after{
		width:8px;
		margin-left: -4px;
	}

	.bnr_instagram .close{
		width: 20px;
		height: 20px;
		background: #ffffff;
		position: absolute;
		top: 0px;
		right: 0px;
		cursor: pointer;
	}

	.bnr_instagram .close::before,
	.bnr_instagram .close::after{
		content: "";
		display: block;
		background: #2E2E2E;
		width:16px;
		height: 2px;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -1px;
		margin-left: -8px;
	}

	.bnr_instagram .close::before{transform: rotate(45deg);}
	.bnr_instagram .close::after{transform: rotate(-45deg);}


	/* メインビジュアル
	---------------------------------------------- */
	#main{
		background: url("../img/home/img_main01.jpg") no-repeat center top;
		background-size: cover;
		height: 80vh;
		position: relative;
		margin-top: -85px;
	}

	.txt_main{
		position: absolute;
		top: calc(72px + 13vw);
		width: 100%;
	}

	.txt_main p{text-align: center;}

	.txt_main01{margin-bottom: 5px;}

	.txt_main01 img{width: 53.6vw;}

	.txt_main02 img{width: 60.1vw;}

	/* ナビ
	---------------------------------------------- */
	.nav_home{
		margin: -30px 0 0;
		padding: 0 30px;
		position: relative;
		z-index: 1;
	}

	.nav_home_inner{margin-bottom: 15px;}

	.nav_home_inner:last-of-type{margin-bottom: 0;}

	.nav_home_inner a{
		background: #0F1F59;
		display:-webkit-flex;/*--safari用--*/
		display:flex;
		color: #FFF;
	}

	.nav_home_inner .image{
		width: 50%;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		padding-top: 50%;
	}

	.nav_home_inner:nth-child(1) .image{background-image: url("../img/home/img_nav_home01.jpg");}
	.nav_home_inner:nth-child(2) .image{background-image: url("../img/home/img_nav_home02.jpg");}
	.nav_home_inner:nth-child(3) .image{background-image: url("../img/home/img_nav_home03.jpg");}
	.nav_home_inner:nth-child(4) .image{background-image: url("../img/home/img_nav_home04.jpg");}

	.nav_home_inner .inner{
		padding: calc((100vw - 60px)*0.047);
		width: 50%;
	}

	.nav_home_inner .inner .ttl{
		background: url("../img/ico_arrow01.png") no-repeat right 1.35vw;
		background-size: 5.6vw;
		display: inline-block;
		font-size: calc((100vw - 60px)*0.05);
		padding: calc((100vw - 60px)*0.013) 7.5vw calc((100vw - 60px)*0.044) 0;
		line-height: 1;
		font-weight: bold;
	}

	.nav_home_inner .inner .txt{font-size: calc((100vw - 60px)*0.038);}

	/* お知らせ
	---------------------------------------------- */
	#news{
		background: #091442;
		padding: 90px 30px;
		margin-top: -30px;
		color: #FFF;
	}

	.news_inner h2{
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: bold;
		margin-bottom: 35px;
	}

	/*--記事--*/
	.article_home{border-bottom: 1px solid #253570;}

	.article_home:first-of-type{border-top: 1px solid #253570;}

	.article_home a{
		display: block;
		color: #FFF;
		padding: 13px 0;
	}

	.article_home a:hover h3{color: #A3DAFE;}

	.article_home a time{
		font-family: Oswald !important;
		display: block;
		color: #7382B3;
	}

	/*--ボタン--*/
	.news_inner .btn_news{
		text-align: center;
		margin-top: 35px;
	}

	.news_inner .btn_news a{
		background: url("../img/ico_arrow01.png") no-repeat right center;
		background-size: 21px;
		display: inline-block;
		color: #FFF;
		padding-right: 28px;
	}

	/* 採用情報
	---------------------------------------------- */
	#recruit{
		background: url("../img/home/bg_recruit02.png") no-repeat center;
		background-size: cover;
		padding: 0 30px;
		height: 400px;
		position: relative;
	}

	.recruit_inner{
		background: #FFF;
		box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3);
		width: calc(100% - 60px);
		position: absolute;
		top: -30px;
	}

	.recruit_inner .image{
		background: url("../img/home/img_recruit02.jpg") no-repeat center;
		background-size: cover;
		width: 100%;
		height: 42vw;
	}

	.recruit_inner .inner a{
		display: block;
		color: #333;
		font-size: 1.3rem;
		padding: 30px 20px;
	}

	.recruit_inner .inner h2{
		background: url("../img/ico_arrow01.png") no-repeat right center;
		background-size: 21px;
		display: inline-block;
		font-weight: bold;
		font-size: 1.6rem;
		line-height: 1;
		margin-bottom: 15px;
		padding-right: 28px;
	}


}/*--@media--*/

