@charset 'UTF-8';

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

	トップページ

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */



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

	レイアウト

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		max-width: none;
		/* max-width: 1920px; 固定幅レイアウト時 */
		width: 100%;
		min-height: 50vh;
		display: block;
		margin: 0 auto;
	}

	.inner_wrap {
		position: relative;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		width: 100%;
	}

	.inner_wrap {
		position: relative;
	}
}





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

	メインビジュアル

================================================================================ */
@keyframes main_top_animation_fade {
	0% { opacity: 0; }
	6% { opacity: 1; }
	34% { opacity: 1; }
	40%, 100% { opacity: 0; }
}
@keyframes main_top_animation_scale {
	0% { transform: scale(1); }
	40%, 100% { transform: scale(1.06); }
}

.box_main_top_image {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.box_main_top_image span {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: center center;
	animation-name: main_top_animation_fade, main_top_animation_scale;
	animation-duration: 18s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	opacity: 0;
}
.box_main_top_image span:nth-of-type(1) {
	animation-delay: 0s; 
}
.box_main_top_image span:nth-of-type(2) {
	animation-delay: 6s; 
}
.box_main_top_image span:nth-of-type(3) {
	animation-delay: 12s; 
}


.box_main_top_image span img {
	min-width: 100%;
	min-height: 100%;
	width: 100%;;
	height: auto;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.main_top {
		position: relative;
	}
	.main_top_in {
		position: relative;
		width: 100%;
	}


	/* キャッチコピー */
	.box_main_top_text {
		position: absolute;
		bottom: 7vw;
		left: 0;
		z-index: 1;
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		color: #ffffff;
	}
	.box_main_top_text p {
		font-size: 2.08vw;
		font-weight: 900;
		letter-spacing: 0.05em;
		line-height: 1;
		padding: 0.4em 0.1em 0.5em 2em;
	}
	.box_main_top_text span {
		color: #f4b00d;
	}


	/* 画像 */
	.box_main_top_image {
		height: 43.33vw;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.main_top {
		position: relative;
	}
	.main_top_in {
		position: relative;
		width: 100%;
	}


	/* キャッチコピー */
	.box_main_top_text {
		position: relative;
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		color: #ffffff;
		text-align: center;
	}
	.box_main_top_text p {
		font-size: 5vw;
		font-weight: 900;
		letter-spacing: 0.05em;
		line-height: 1.5;
		padding: 0.4em;
	}
	.box_main_top_text span {
		color: #f4b00d;
	}


	/* 画像 */
	.box_main_top_image {
		height: 117vw;
	}
}





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

	メイン画像

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.main_top {
		position: relative;
	}
	.main_top_in {
		position: relative;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.main_top {
		position: relative;
	}
	.main_top_in {
		position: relative;
	}
}





/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	ここからコンテンツ内容

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



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

	NEWS

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_news {
		position: relative;
		padding: 120px 0;
	}

	/* 見出し */
	.title01 {
		text-align: center;
	}
	.title01 h2 {
		font-size: 32px;
	}
	.title01 h2 span {
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		-webkit-background-clip: text;
		color: transparent;
		font-size: 1.25em;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
	}


	/* NEWS */
	.post_wrap {
		margin-top: 40px;
	}
	.post_wrap ul {
		font-size: 0;
		letter-spacing: -0.4em;
		text-align: center;
	}
	.post_wrap ul li {
		display: inline-block;
		vertical-align: top;
		text-align: left;
		font-size: 16px;
		width: 300px;
	}
	.post_wrap ul li:not(:first-of-type) {
		margin-left: 45px;
	}
	.post_thumb img {
		width: 100%;
		height: 200px;
		object-fit: cover;
		font-family: 'object-fit: cover;'; /* IE対策 */
	}
	.post_icon_box  {
		margin-top: 0.3em;
	}
	.post_icon_box .blog_icon {
		margin-right: 0.5em;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_news {
		position: relative;
		padding: 16vw 4vw;
	}

	/* 見出し */
	.title01 {
		text-align: center;
	}
	.title01 h2 {
		font-size: 5.5vw;
	}
	.title01 h2 span {
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		-webkit-background-clip: text;
		color: transparent;
		font-size: 1.25em;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
	}


	/* NEWS */
	.post_wrap {
		margin-top: 6vw;
	}
	.post_wrap ul {
		text-align: center;
	}
	.post_wrap ul li {
		text-align: left;
		font-size: 4vw;
	}
	.post_wrap ul li:not(:first-of-type) {
		margin-top: 12vw;
	}
	.post_thumb img {
		width: 100%;
		height: 60vw;
		object-fit: cover;
		font-family: 'object-fit: cover;'; /* IE対策 */
	}
	.post_icon_box  {
		margin-top: 0.3em;
	}
	.post_icon_box .blog_icon {
		margin-right: 0.5em;
	}
}





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

	ナガクラって？

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_greeting {
		background-color: #f9f9f1;
		padding: 120px 0;
	}
	.row_greeting .left {
		width: 38% !important;
	}
	.row_greeting .left img {
		width: 385px;
	}
	.row_greeting .right {
		width: 62% !important;
		padding-left: 60px;
	}

	/* 見出し */
	.row_greeting .title01 {
		text-align: left;
		margin-left: -0.25em;
	}
	.row_greeting .title01 h2 span {
	}

	/* テキスト */
	.row_greeting .text {
		margin-top: 1.5em;
		font-size: 18px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_greeting {
		background-color: #f9f9f1;
		padding: 16vw 4vw;
	}
	.row_greeting .left {
	}
	.row_greeting .left img {
	}
	.row_greeting .right {
		margin-top: 6vw;
	}

	/* 見出し */
	.row_greeting .title01 {
	}
	.row_greeting .title01 h2 span {
	}

	/* テキスト */
	.row_greeting .text {
		margin-top: 1.5em;
		font-size: 4vw;
	}
}





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

	事業案内

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_info {
		margin-top: 120px;
	}
	.row_info_in {
		margin-top: 75px;
	}
	.row_info_in .left {
		width: 50% !important;
		margin-right: 50px;
	}
	.row_info_in .right {
		width: 50% !important;
		margin-left: 50px;
	}

	/* リンク */
	.link_box {
		position: relative;
	}
	.link_box a {
		display: block;
		color: #000000;
	}
	.link_box a::before {
		position: absolute;
		content: "";
		display: block;
		width: 70px;
		height: 70px;
		top: -25px;
		left: -25px;
		z-index: 1;
	}
	.link_box01 a::before {
		background: url(../img/icon_info01.png) center top / contain no-repeat;
	}
	.link_box02 a::before {
		background: url(../img/icon_info02.png) center top / contain no-repeat;
	}
	.link_box03 a::before {
		background: url(../img/icon_info03.png) center top / contain no-repeat;
	}
	.link_box04 a::before {
		background: url(../img/icon_info04.png) center top / contain no-repeat;
	}
	.link_box_img {
	}
	.link_box_text{
		font-size: 18px;
		margin-top: 0.4em;
	}
	.link_box_text h3 {
		font-size: 26px;
	}
	.link_box_text p {
		margin-top: 0.3em;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_info {
		padding: 0 8vw;
		margin-top: 16vw;
	}
	.row_info_in {
		margin-top: 12vw;
	}
	.row_info_in .left {
	}
	.row_info_in .right {
		margin-top: 12vw;
	}

	/* リンク */
	.link_box {
		position: relative;
	}
	.link_box a {
		display: block;
		color: #000000;
	}
	.link_box a::before {
		position: absolute;
		content: "";
		display: block;
		width: 11vw;
		height: 11vw;
		top: -4vw;
		left: -4vw;
		z-index: 1;
	}
	.link_box01 a::before {
		background: url(../img/icon_info01.png) center top / contain no-repeat;
	}
	.link_box02 a::before {
		background: url(../img/icon_info02.png) center top / contain no-repeat;
	}
	.link_box03 a::before {
		background: url(../img/icon_info03.png) center top / contain no-repeat;
	}
	.link_box04 a::before {
		background: url(../img/icon_info04.png) center top / contain no-repeat;
	}
	.link_box_img {
	}
	.link_box_text{
		font-size: 4vw;
		margin-top: 0.4em;
	}
	.link_box_text h3 {
		font-size: 6.875vw;
	}
	.link_box_text p {
		margin-top: 0.3em;
	}
}





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

	Q&A

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_faq {
		margin-top: 120px;
	}
	a.faq_box {
		position: relative;
		display: table;
		width: 100%;
		background: url(../img/bg_faq.png) left -40px top 50% / auto auto no-repeat,#f9f9f1;
		color: #000000;
	}
	a.faq_box::after {
		position: absolute;
		content: "";
		display: block;
		background: url(../img/arrow2.png) center top / contain no-repeat;
		width: 36px;
		height: 36px;
		top: 50%;
		margin-top: -18px;
		right: 20px;
	}
	a.faq_box h2 {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		width: 17%;
		font-size: 40px;
		font-weight: 400;
		color: #ffffff;
		padding-bottom: 0.2em;
	}
	a.faq_box p {
		display: table-cell;
		vertical-align: middle;
		width: 83%;
		font-size: 22px;
		color: #000000;
		padding: 40px 100px 40px 40px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_faq {
		margin-top: 16vw;
	}
	a.faq_box {
		position: relative;
		display: block;
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		color: #ffffff;
		padding: 4vw 16vw 4vw 4vw;
	}
	a.faq_box::after {
		position: absolute;
		content: "";
		display: block;
		background: url(../img/arrow.png) center top / contain no-repeat;
		width: 8vw;
		height: 8vw;
		top: 50%;
		margin-top: -4vw;
		right: 3vw;
	}
	a.faq_box h2 {
		font-size: 6.875vw;
		font-weight: 600;
		line-height: 1.2;
	}
	a.faq_box p {
		font-size: 4vw;
	}
}




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

	ナガクラについて

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_nagakura {
		margin-top: 120px;
	}

	/* リンク
	----------------------------------------------- */
	.row_nagakura .link_common {
		margin-top: 40px;
	}
	.link_common ul {
		font-size: 0;
		letter-spacing: -0.4em;
		text-align: center;
	}
	.link_common ul li {
		display: inline-block;
		font-size: 22px;
		letter-spacing: 0;
	}
	.link_common ul li:not(:first-child) {
		margin-left: 40px;
	}
	.link_common ul li a {
		position: relative;
		display: block;
		width: 300px;
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		color: #ffffff;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		line-height: 1.3;
		padding: 0.8em 0 0.9em;
	}
	.link_common ul li a::after {
		position: absolute;
		content: "";
		display: block;
		background: url(../img/arrow.png) center top / contain no-repeat;
		width: 18px;
		height: 18px;
		top: 50%;
		margin-top: -9px;
		right: 10px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_nagakura {
		margin-top: 16vw;
	}

	/* リンク
	----------------------------------------------- */
	.row_nagakura .link_common {
		margin-top: 6vw;
	}
	.link_common ul {
		text-align: center;
	}
	.link_common ul li {
		display: block;
		font-size: 4vw;
	}
	.link_common ul li:not(:first-child) {
		margin-top: 2vw;
	}
	.link_common ul li a {
		position: relative;
		display: block;
		width: 80vw;
		background: #0086ff;
		background: linear-gradient( to right, #0086ff 0%, #60acf0 100% );
		color: #ffffff;
		font-size: 4vw;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		line-height: 1.3;
		padding: 0.8em 0 0.9em;
		margin-left: auto;
		margin-right: auto;
	}
	.link_common ul li a::after {
		position: absolute;
		content: "";
		display: block;
		background: url(../img/arrow.png) center top / contain no-repeat;
		width: 5vw;
		height: 5vw;
		top: 50%;
		margin-top: -2.5vw;
		right: 3vw;
	}
}




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

	パララックス

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.parallax01 {
		position: relative;
		background: url(../img/parallax01.jpg) center top / cover no-repeat fixed;
		width: 100%;
		height: 47.91vw;
		margin-top: 120px;
	}
	/* Safariハック */
	_:lang(x)+_:-webkit-full-screen-document, .parallax01 {
		background: url(../img/parallax01.jpg) center top / cover no-repeat;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.parallax01 {
		position: relative;
		background: url(../img/parallax01.jpg) center top / cover no-repeat;
		width: 100%;
		height: 80vw;
		margin-top: 16vw;
	}
}





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

	お問い合わせ

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_contact {
		background-color: #52adff;
		padding: 60px 0;
	}

	/* 見出し */
	.title02 {
		text-align: center;
	}
	.title02 h2 {
		font-size: 40px;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		color: #ffffff;
	}

	/* 見出し下テキスト */
	.row_contact .text {
		text-align: center;
		font-size: 18px;
		color: #ffffff;
		margin-top: 40px;
	}

	/* 白いボックス */
	.row_contact_in {
		background-color: #ffffff;
		padding: 30px 0;
		margin-top: 40px;
	}
	.row_contact_in .left {
		width: 50% !important;
	}
	.row_contact_in .right {
		width: 50% !important;
		padding: 0 80px 0 40px;
	}

	/* TEL */
	.tel_box {
		text-align: center;
	}
	.tel_box_a {

	}
	.tel_box_a a {
		pointer-events: none;
		color: #0086ff;
		font-size: 50px;
		font-weight: 600;
		line-height: 1;
	}
	.tel_box_a a span {
		font-size: 0.5em;
	}
	.tel_box p {
		margin-top: 0.5em;
		font-size: 18px;
	}

	/* お問い合わせ */
	.row_contact_in .right .link_common ul li {
		width: 100%;
	}
	.row_contact_in .right .link_common ul li a {
		width: 100%;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_contact {
		background-color: #52adff;
		padding: 16vw 4vw;
	}

	/* 見出し */
	.title02 {
		text-align: center;
	}
	.title02 h2 {
		font-size: 6.875vw;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		color: #ffffff;
	}

	/* 見出し下テキスト */
	.row_contact .text {
		text-align: center;
		font-size: 3.5vw;
		color: #ffffff;
		margin-top: 6vw;
	}

	/* 白いボックス */
	.row_contact_in {
		background-color: #ffffff;
		padding: 4vw;
		margin-top: 6vw;
	}
	.row_contact_in .left {
	}
	.row_contact_in .right {
		margin-top: 3vw;
	}

	/* TEL */
	.tel_box {
		text-align: center;
	}
	.tel_box_a {

	}
	.tel_box_a a {
		color: #0086ff;
		font-size: 6.875vw;
		font-weight: 600;
		line-height: 1;
	}
	.tel_box_a a span {
		font-size: 0.5em;
	}
	.tel_box p {
		margin-top: 0.5em;
		font-size: 3.5vw;
	}

	/* お問い合わせ */
	.row_contact_in .right .link_common {
		margin-top: 0;
	}
	.row_contact_in .right .link_common ul li {
		width: 100%;
	}
	.row_contact_in .right .link_common ul li a {
		width: 100%;
	}
}