@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;
	}
}





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

	メイン画像

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.main_top {
		position: relative;
		height: 48vw;
    	background: var(--main-color);
	}
	.main_top_in {
		
	}
	.main_top img {
		object-fit: cover;
		position: absolute;
		right: 2%;
    bottom: -14vw;
    max-height: 64vw;
    width: 45vw;
		filter: drop-shadow(20px 12px 30px #02020233);
	}
	.main_top .c_copy {
		position:absolute;
		left: 5%;
    	top: 20%;
		color: #fff;
		letter-spacing: 4px;
	}
	.main_top .c_copy p {
		line-height: 48px;
		font-size: 1.4vw;
	}
	.main_top .c_copy h2 {
		font-size:4.5vw;
	}
	.main_top .c_copy .small {
		font-size:2.4vw;
		font-weight: 700;
        margin-bottom: 0px;
	}
	.main_top .c_copy .emph {
		font-size:5.6vw;
		padding: 0px 18px;
		margin-right: 10px;
		color:var(--main-color);
		background:#fff;
	}
	.o_name {
		color:#fff;
		background: var(--gradation);
		position:absolute;
		right:5%;
		bottom:4%;
		padding: 0.5vw 4vw;
    	text-align: center;
		font-weight: 500;
	}
	.o_name p {
		 font-size: 3vw;
		 padding:0;
		 line-height:200%;
	}
	.o_name rt {
		letter-spacing: -1.75vw;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
.main_top {
		position: relative;
		height: 150vw;
    	background: var(--gradation);
	    margin-top: 60px;
	}
	.main_top_in {
		
	}
	.main_top img {
		object-fit: cover;
	    position: absolute;
 	   right: -12%;
    bottom: -46vw;
    max-height: 149vw;
		filter: drop-shadow(20px 12px 30px #02020233);
	}
	.main_top .c_copy {
		position:absolute;
		left: 5%;
		top: 10%;
		color: #fff;
	}
	.main_top .c_copy h2 {
		font-size:7.5vw;
	}
	.main_top .c_copy .small {
		font-size:5vw;
		font-weight: 700;
        margin-bottom: 0px;
	}
	.main_top .c_copy .emph {
		font-size:8vw;
		padding: 0px 10px;
		margin-right: 5px;
		color:var(--main-color);
		background:#fff;
	}
	.o_name {
		color:#fff;
		background: var(--gradation);
		position:absolute;
		right:5%;
		bottom:2%;
		padding: 0 20px;
    	text-align: center;
		font-weight: 500;
	}
	.o_name p {
		 font-size: 5vw;
		 padding:0;
		 line-height:200%;
	}
	.o_name rt {
		letter-spacing: -1.75vw;
	}
}





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

	ここからコンテンツ内容

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



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

	section_1　燃える情熱、冷静な判断。

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
		.section_1 {
	       background: linear-gradient(to right, #EEEEEE 0%, #EEEEEE 20%, #ffffff 0%, #ffffff 100%);
		   height: 77vw;
		}
		.section_1 p:not(:first-child) {
			margin-top: 0em;
		}
		h2 {


		}
		.sec_1_ttl {
			position: absolute;
			right: 6%;
			top: 10vw;
		}
		.section_1 h2 {
			font-size: 4vw;
			font-feature-settings: "palt";
		}
		.section_1 h3 {
			font-size: 4vw;
  		    line-height: 140%;
			margin-top: 1vw;
		}
	
		.flex_wrap {
			display: flex;
			justify-content: space-between;
    		align-items: center;
		}
		.flex_wrap .left {
			width: auto;
			height: 53vw;
			object-fit: contain;
			margin-top: -15vw;
			position: relative;
			top: 21vw;
			left: 2vw;
		}
		.section_1 .flex_wrap .left {
			width: auto;
			height: 53vw;
			object-fit: contain;
			margin-top: -15vw;
			position: relative;
			top: 21vw;
			left: 2vw;
		}
		.section_6 .flex_wrap .left {
			width: 44vw;
			height: auto;
			object-fit: contain;
			margin-top: 0;
			position: relative;
			top: -1vw;
			left: 9vw;
		}
		.flex_wrap .txt_box {
			width: 58%;
			margin-top: 0;
			position: absolute;
			top: 31vw;
			left: 38vw;
		}
	     .flex_wrap .txt_box p {
			line-height: 300%;
   			 font-size: 16px;
		}
	}
@media (max-width: 1220px){
		.flex_wrap .txt_box p {
			font-size: 1.2vw;
		}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.section_1 {
	       background: linear-gradient(to right, #EEEEEE 0%, #EEEEEE 20%, #ffffff 0%, #ffffff 100%);
		   padding: 12vw 20px;
		}
		.section_1 p:not(:first-child) {
			margin-top: 0em;
		}
	
		.sec_1_ttl {

		}
		.section_1 h2 {
			font-size: 7vw;
			font-feature-settings: "palt";
		}
		.section_1 h3 {
			font-size: 6vw;
  		    line-height: 140%;
			margin-top: 12px;
		}

		.flex_wrap {
			display: block;
		}
		.flex_wrap .txt_box {   
			margin-top: 8vw;
		}
	     .flex_wrap .txt_box p {
			 line-height: 240%;
    		 font-size: 4vw;
		}
}





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

	section_2　1つでも当てはまったら…

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.section_2 {
		position:relative;
		background-image:url(../img/sec_2_bg.png);
		background-repeat:no-repeat;
		background-size:cover;
		height: 42vw;
    	padding: 6vw 4vw;
	}
	.section_2 h2 {		
			width: fit-content;
		}
	.section_2 .check_list {
		background: #fff;
		padding: 5vw;
		box-shadow:var(--shadow);
		position:absolute;
		top:58%;
		width: 75%;
		}
	.check_list li {
		padding-left:32px;
		position:relative;
		font-weight: 800;
		margin-bottom: 1.5vw;
        font-size: 1.4vw;
	}
	@media (min-width: 1300px) {
.check_list li {
    font-size: 18px;
}
	}

	.check_list li:before,
	.check_list li:after
	{
		content:"";
		display:block;
		position:absolute;
	}
	.check_list li:before{
	    	width: 16px;
			height: 16px;
			border-radius: 100vh;
			background: var(--main-color);
			left: 0;
			top: 0.6vw;
	}
	.check_list li:after{
			border-left: 2px solid #ffffff;
			border-bottom: 2px solid #ffffff;
			width: 8px;
			height: 5px;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			left: 4px;
			top: 1vw;
	}
	}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		.section_2 {
		position:relative;
		background-image:url(../img/sec_2_bg.png);
		background-repeat:no-repeat;
		background-size:cover;
		height: 55vw;
    	padding: 12vw 4vw;
	}
	.section_2 h2 {		
			width: fit-content;
		}
	.section_2 .check_list {
		background: #fff;
		padding: 4vw;
		box-shadow: var(--shadow);
		position:absolute;
		top: 70%;
		width: 90%;
		}
	.check_list li {
		padding-left:25px;
		position:relative;
		font-size: 4vw;
		font-weight: 700;
		margin-bottom: 2vw;
	}

	.check_list li:before,
	.check_list li:after
	{
		content:"";
		display:block;
		position:absolute;
	}
	.check_list li:before{
	    	width: 16px;
			height: 16px;
			border-radius: 100vh;
			background: var(--main-color);
			left: 0;
			top: 8px;
	}
	.check_list li:after{
			border-left: 2px solid #ffffff;
			border-bottom: 2px solid #ffffff;
			width: 8px;
			height: 5px;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			left: 4px;
			top: 13px;
	}
}





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

	section_3　ご相談について

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.section_3 {
           margin-top: 32vw;
			background: linear-gradient(to top, #EEEEEE 0%, #EEEEEE 60%, #ffffff 0%, #ffffff 100%);
			padding-bottom: 120px;
	 }
	.section_3 h2 {
        text-align:center;
		margin-bottom:60px;
	}
		.section_3 	h3{
			text-align: center;
			font-size: 2.4vw;
			margin-bottom: 30px;
		}
		.card_wrap {
			display: flex;
			justify-content:space-evenly;
			max-width: 1300px;
    		margin: 0 auto;
		}
		.card_wrap img {
			width: 100%;
			object-fit: cover;
			}
		

		.card {
			width: 45%;
			background: #fff;
		  box-shadow: var(--shadow);
			position: relative;
		}
		.card ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
    	.section_3 .check_list li {
         padding-left: 25px;
		margin-bottom: 1vw;
	}
		.card p {
			margin-bottom: 30px;
			line-height:38px;
		}
		.section_3 .three_col li {
			width: 33.3%;
    		
		}
	.section_3 .two_col li {
			width: 36%;
    		
		}
		.card_bottom {
			padding: 3vw;
			padding-bottom: 10vw;
		}
	.card .def_btn{
		position: absolute;
		bottom: 2%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		font-size: 1.2vw;
		width: 50%;
		padding: 18px 40px;
	}
	.contact_ttl {
	    text-align:center;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		.section_3 {
           margin-top: 115vw;
			background: linear-gradient(to top, #EEEEEE 0%, #EEEEEE 35%, #ffffff 0%, #ffffff 100%);
			padding-bottom: 8vw;
	 }
	.section_3 h2 {
        text-align:center;
		margin-bottom:30px;
	}
		.section_3 	h3{
			text-align: center;
			font-size: 6vw;
			margin-bottom: 30px;
		}
		.card_wrap {
    		margin: 0 auto;
		}
		.card_wrap img {
			width: 100%;
			object-fit: cover;
			}
		

		.card {
			width: 90%;
    		margin: 40px auto;
			background: #fff;
		 	 box-shadow:var(--shadow);
			position: relative;
		}
		.card ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
		.card p {
			margin-bottom: 40px;
		}
		
	.section_3 ul li {
			
   		}
		.section_3 .check_list li {
		width: 48%;
		font-size: 4vw;
	}
		.card_bottom {
			padding: 3vw;
			padding-bottom: 10vw;
		}
	.card .def_btn{
			font-size: 4vw;
			width: 100%;
	}
	.contact_ttl {
	    text-align:center;
	}
}





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

	section_4 ご利用の流れについて

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.section_4  {
    background: linear-gradient(to top, #cb0000 0%, #f20000 50%, #ffffff 0%, #ffffff 100%);
    padding-top: 14vw;
    padding-bottom: 6vw;
    position: relative;
}
	.section_4 p {
		line-height: 300%;
		height: 100px;
	}
	.section_4 .flex_wrap {
       display: flex;
      align-items: flex-start;
    justify-content: flex-start;
      padding-right: 0px;
	}
	.section_4 .flex_wrap img {
		margin-right: 8vw;
		width: 43vw;
		height: auto;
		top: 16vw;
}
	.section_4 .red{
	   color: var(--main-color);
		 font-size: 2.8vw;
		 font-weight: 800;
	}
	.btn_wrap {
		padding-top: 140px;
		width: 100%;
	}
	.btn_2{
			color: #fff;
			position: relative;
			margin-bottom: 4vw;
			padding-bottom: 2.5vw;
			border-bottom: 1px solid;
			display: block;
			font-size: 2vw;
			line-height: 25px;
	}
	.btn_2:hover {
		color:#DCE84E;;
		opacity:1;
		border-bottom:1px solid #fff;
	}
	.btn_2::before {
			content: "";
			display: block;
			position: absolute;
			width: 28px;
			height: 28px;
			border-radius: 100vh;
			background: #ffffff;
			right: 0px;
	}
	.btn_2::after {
			content: '';
			width: 8px;
			height: 8px;
			border-top: 2px solid #f00;
			border-right: 2px solid #f00;
			transform: rotate(45deg);
			position: absolute;
			right: 11px;
			top: 10px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		.section_4  {
			background: linear-gradient(to top, #cb0000 0%, #f20000 30%, #ffffff 0%, #ffffff 100%);
			padding: 0 20px;
			padding-top: 12vw;
			padding-bottom: 6vw;
			position: relative;
			text-align: center;
}
	.section_4 .flex_wrap img {
			margin-bottom: 20px;
}
	.section_4 p {
		    font-size: 4vw;
	}
	.section_4 .red{
	   color: var(--main-color);
		 font-size: 5vw;
		 font-weight: 800;
	}
	.btn_wrap {
		padding-top: 20vw;
		text-align: left;
    	margin: 0 10px;
	}
	.btn_2{
			color: #fff;
			position: relative;
			margin-bottom: 40px;
			padding-bottom: 30px;
			border-bottom: 1px solid;
			display: block;
			font-size: 5vw;
			line-height: 25px;
	}
	.btn_2:hover {
		color:#DCE84E;
		opacity:1;
		border-bottom:1px solid #fff;
	}
	.btn_2::before {
			content: "";
			display: block;
			position: absolute;
			width: 28px;
			height: 28px;
			border-radius: 100vh;
			background: #ffffff;
			right: 0px;
	}
	.btn_2::after {
			content: '';
			width: 8px;
			height: 8px;
			border-top: 2px solid #f00;
			border-right: 2px solid #f00;
			transform: rotate(45deg);
			position: absolute;
			right: 11px;
			top: 10px;
	}
}




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

	section_5 おしらせ

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
			.section_5 {
				padding-top: 14vw;
			}
			.section_5 h2 {
				text-align:center;
				margin-bottom: 60px;
			}
			/*タブ切り替え全体のスタイル*/
		.tabs {
			margin-top: 50px;
			padding-bottom: 40px;
			background-color: #fff;
		}

		/*タブのスタイル*/
		.tab_item {
				width: calc(100%/6);
				height: 50px;
				line-height: 50px;
				font-size: 18px;
				text-align: center;
				display: block;
				float: left;
				font-weight: bold;
				transition: all 0.2s ease;
				position: relative;
				margin: 0 4vw;
				margin-bottom: 18px;
				left: 13vw;
			    cursor: pointer;
		}
			.tab_item:hover {
			  opacity: 0.75;
			}

			/*ラジオボタンを全て消す*/
			input[name="tab_item"] {
			  display: none;
			}

			/*タブ切り替えの中身のスタイル*/
			.tab_content {
			  display: none;
			  clear: both;
			  overflow: hidden;
			  border-top: 4px solid #f1f1f1;
			}


			/*選択されているタブのコンテンツのみを表示*/
			#all:checked ~ #all_content,
			#programming:checked ~ #programming_content,
			#design:checked ~ #design_content {
			  display: block;
			}

			/*選択されているタブのスタイルを変える*/
/* 			.tabs input:checked + .tab_item:before {
				border-bottom: 4px solid var(--main-color);
				content: '';
				position: absolute;
				left: 50%;
				bottom: -18px;
				display: inline-block;
				width: 100px;
				height: 5px;
				-webkit-transform: translateX(-50%);
				transform: translateX(-50%);
				border-radius: 2px;
			} */
				.tab_item:hover::after {
				transform: scale(1, 1);
			}
			.tab_item::after {
					position: absolute;
					content: '';
					position: absolute;
					left: 4.5vw;
					bottom: -18px;
					display: inline-block;
					width: 8vw;
					height: 5px;
					-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
					border-radius: 2px;
					background: var(--main-color);
					transform: scale(0, 1);
					transform-origin: left top;
					transition: transform 0.3s;
				}
			.section_5 ul {
					display: flex;
					justify-content: center;
					flex-wrap: wrap;
					max-width: 1100px;
					margin: 60px auto;
					width: 70%;
			}
			.section_5 ul li .post_thumb  {
				width: 35%;
		}
			.section_5 ul li .post_thumb img {
					height: 12vw;
					object-fit: cover;
			}
			.section_5 ul li {
				 display: flex;
				justify-content: space-between;
				align-items: start;
				margin: 2vw;
		}
			.section_5 ul li .txt {
				width: 62%;
			}
			.post_title {
				font-weight: 700;
				margin: 16px 0;
				font-size: 16px;
		}
			.post_date {
				font-size: 12px;
		}
			.post_excerpt p {
				font-size:14px;
			}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
				.section_5 {
				padding-top:12vw;
			}
			.section_5 h2 {
				text-align:center;
			}
			/*タブ切り替え全体のスタイル*/
		.tabs {
			margin-top: 30px;
			background-color: #fff;
		}

		/*タブのスタイル*/
		.tab_item {
		  width: calc(100%/3);
			height: 50px;
			line-height: 50px;
			font-size: 16px;
			text-align: center;
			display: block;
			float: left;
			text-align: center;
			font-weight: bold;
			transition: all 0.2s ease;
			position: relative;
			margin-bottom: 18px;
		}
			.tab_item:hover {
			  opacity: 0.75;
			}

			/*ラジオボタンを全て消す*/
			input[name="tab_item"] {
			  display: none;
			}

			/*タブ切り替えの中身のスタイル*/
			.tab_content {
			  display: none;
			  clear: both;
			  overflow: hidden;
			  border-top: 4px solid #f1f1f1;
			}


			/*選択されているタブのコンテンツのみを表示*/
			#all:checked ~ #all_content,
			#programming:checked ~ #programming_content,
			#design:checked ~ #design_content {
			  display: block;
			}

			/*選択されているタブのスタイルを変える*/
			.tabs input:checked + .tab_item:before {
				border-bottom: 4px solid var(--main-color);
				content: '';
				position: absolute;
				left: 50%;
				bottom: -18px;
				display: inline-block;
				width: 60px;
				height: 5px;
				-webkit-transform: translateX(-50%);
				transform: translateX(-50%);
				border-radius: 2px;
			}
			.section_5 ul {
					margin: 30px auto;
			}
			.section_5 ul li .post_thumb  {
				margin-bottom:20px;
		}
			.section_5 ul li .post_thumb img {
				height: 50vw;
				object-fit: cover;
			}
			.section_5 ul li {
				margin: 20px;
		}
			.section_5 ul li .txt {
				
			}
}


