@charset "UTF-8";

/*!00Basic*/
/*!01ヘッダ*/
/*!02FV*/
/*!03 TOPコンテント*/
/*!04 問題*/
/*!05 解決*/
/*!06サンプル*/
/*!07 TOP CONTACT*/
/*!10footer*/
/*!11ロゴ*/
/*!99共通パーツ*/





/*!00Basic*/
* {
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.08em;
	line-height: 2em;
}

html {
	width: 100%;
	min-width: 320px;
	scroll-behavior: smooth;
}

body {
	background: url(/images/bg.jpg) repeat;
	background-size: 100%;
	height: auto;
	min-width: 320px;
	overflow-x: hidden;
	
}
.wrap {
}

img {
	max-width: 100%;
}

.hover:hover {
	color: #11258e;
	transition: .2s;
}

.babas {
	font-family: "Bebas Neue", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
}
.vdl {
font-family: "vdl-logona", sans-serif;
font-weight: 600;
font-style: normal;
font-size: 24px;
letter-spacing: 0.13em;
margin-bottom: 16px;
}
.babas2 {
	font-family: "Bebas Neue", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 28px;
}
.vdl2 {
font-family: "vdl-logona", sans-serif;
font-weight: 600;
font-style: normal;
font-size: 32px;
letter-spacing: 0.13em;
margin-bottom: 16px;
}
.vdl_mini {
font-family: "vdl-logona", sans-serif;
font-weight: 600;
font-style: normal;
font-size: 18px;
letter-spacing: 0.13em;
margin-left: 8px;
}

.ten {
	font-family: "ten-mincho", serif;
	font-weight: 400;
	font-style: bold;
}

.gold {
	color: #cbb040;
	line-height: 1em;
}

.font32 {
	font-size: 32px;
}


/*フェードイン用 Class*/
/*時間差1 下から*/
.js-fade {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 1s,visibility 1s, transform 1s;
}

.scroll {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
/*時間差2 下から*/
.js-fade2 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 0.3s;
}

.scroll2 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
/*時間差3 下から*/
.js-fade3 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 0.6s;
}

.scroll3 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

/*時間差1 右から*/
.js-fade_x {
	opacity: 0;
	visibility: hidden;
	transform: translateX(48px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 1s;
}

.scroll_x {
	opacity: 1;
	visibility: visible;
	transform: translateX(0px);
}

/*時間差1 左から*/
.js-fade_x2 {
	opacity: 0;
	visibility: hidden;
	transform: translateX(-48px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 1s;
}

.scroll_x2 {
	opacity: 1;
	visibility: visible;
	transform: translateX(0px);
}




/*ゆっくり1 下から*/
.js-fade_slow {
	opacity: 0;
	visibility: hidden;
	transform: translateY(32px);
	transition: opacity 2s,visibility 2s, transform 2s;
	transition-duration: 1s;
}

.scroll_slow {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

/*ゆっくり2 下から*/
.js-fade_slow2 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(32px);
	transition: opacity 2s,visibility 2s, transform 2s;
	transition-duration: 1.5s;
}

.scroll_slow2 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

/*ゆっくり3 下から*/
.js-fade_slow3 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(32px);
	transition: opacity 2s,visibility 2s, transform 2s;
	transition-duration: 2s;
}

.scroll_slow3 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}





/*!01ヘッダ*/
header {
	display: block;
	position: fixed;
	width: 100%;
	padding: 0 32px 0 0;
	margin: 0;
	z-index: 4;
	/* アニメーションの変化時間 */
	transition: 0.5s;
}

.header_logo {
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap:wrap;
}
.header_logo p {
	width: 124px;
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
.header_logo .h1_logo {
	width: 190px;
	color: #fff;
	font-size: 34px;
	letter-spacing: 0.1em;
	line-height: 1em;
	font-family: "vdl-logona", sans-serif;
	font-weight: 700;
	font-style: italic;
	margin-left: -8px;

}
.header_logo h1 .kakko2 {
	position: relative;
	left: 8px;
	width: 0; display: inline-block;
	overflow: visible;
	margin-right: 24px;
}

/*ロゴ*/
.ttl {
	max-width: auto;
	background: #252227;
	border-radius: 0 0 32px 0;
	padding: 16px 16px 16px 32px;
}
/*PCメニュー*/
.pc_nav a {
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	display: inline-block;
}
.pc_nav a:hover {
	transition: .2s;
	cursor: pointer;
}

.underlayer .pc_nav a:hover {
	transition: .2s;
	
}

/*ヘッダお問い合わせボタン*/
.contact {
	width: 280px;
	background: #000;
	border-radius: 500px;
	margin-top: 16px;
}

.contact:hover img {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;

}


/*!02FV*/
.fv {
	width: 100%;
	/*height: 100%;*/
	padding: 132px 0 0 0;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
	max-width: 1500px;
}

.fv img {
	width: 100%;
	max-width: 1500px;
	margin: 0 0 32px;
	padding-left: 0;
	padding-right: 0;
}

.fv_text {
	padding: 32px 0;

}
.fv_text img {
	max-width: 1000px;
	width: 90%;
	
}

.fv_text_wrap {
		display: flex;
		justify-content: flex-start;
		flex-direction: row;
		flex-wrap:wrap;
		align-items: flex-end;
}

.fv_text h3 {
	letter-spacing: 0.15em;
	line-height: 1.5em;
	font-family: "ten-mincho-text", serif;
	font-weight: 400;
	font-style: normal;
	
	display: inline-block;
	float: right;
	
	position: relative;
	top: 8px;
	right: 56px;
}
.fv_text .h3_01 {
	letter-spacing: 0.15em;
	line-height: 1.5em;
	font-family: "ten-mincho-text", serif;
	font-weight: 400;
	font-style: normal;
	
	display: inline-block;
	float: right;
	
	position: relative;
	top: 8px;
	right: 56px;
}
.fv_text h3 span {
	background: #f5c401;
	display: inline-block;
	margin: 8px 0;
	letter-spacing: 0.15em;
	line-height: 1.5em;
	font-family: "ten-mincho-text", serif;
	font-weight: 400;
	font-style: normal;
	padding: 0 4px;
	font-size: 36px;
}
.fv_text .h3_01 span {
	background: #f5c401;
	display: inline-block;
	margin: 8px 0;
	letter-spacing: 0.15em;
	line-height: 1.5em;
	font-family: "ten-mincho-text", serif;
	font-weight: 400;
	font-style: normal;
	padding: 0 4px;
	font-size: 36px;
}
.fv_text h2 {
	padding: 0 0 0 0;
	font-size: 104px;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	font-family: "ten-mincho-text", serif;
	font-weight: 400;
	font-style: normal;
}
.fv_text .h2_fv_text {
	padding: 0 0 0 0;
	font-size: 104px;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	font-family: "ten-mincho-text", serif;
	font-weight: 400;
	font-style: normal;
}


.h0_2 {
	height: 0;
	overflow: visible;
	position: relative;
}

/*!03 TOPコンテント*/
.content_container {
	padding: 32px 32px;
	width: auto;
}

.main_p {
	font-size: 20px;
	color: #161414;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 2em;
}

.box_l {
	width: 680px;
	padding-right: 0px;
	position: relative;
	left: 128px;
}

.box_r {
	width:calc(100% - 680px);
	padding-left: 32px;
	display: flex;
	justify-content: center;
	flex-direction: row;
	flex-wrap:wrap;
	align-items: center;
}

.box_r img {
	max-width: 560px;
	width: 100%;
}


/*!04 問題*/

.problem_ttl {
	width: 960px;
	background: url(/images/problem_ttl.png) no-repeat;
	background-size: cover;
	border-radius: 0 16px 16px 0;
	padding: 32px;
}
.problem_ttl_text {
	display: block;
	position: relative;
	bottom: 32px;
}
.problem_ttl_text h5 {
	display: block;
	width: 100%;
	color: #fff;
	text-align: center;
	font-family: "Bebas Neue", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 32px;

}
.problem_ttl_text h2 {
	display: block;
	width: 100%;
	color: #fff;
	text-align: center;
	font-family: "vdl-logona", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 32px;
	letter-spacing: 0.13em;
}

.problem_img {
	width:calc(100% - 1000px);
	text-align: left;
	margin-left: 0px;
}
.problem_img img {
	max-width: 200px;
	margin: 0 auto 0 20%;
	position: relative;
	bottom: 48px;
}

.problem {
	position: relative;
	bottom: 60px;
	padding: 0 32px;
}

.problem01 {
	background: #fff;
	border: 4px solid #161414;
	padding: 24px;
	border-radius: 16px;
	margin: 0 auto 32px auto;
	max-width: 1100px;
}
.problem01 img {
	width: 70px;
	margin-right: 24px;
}
.problem01 p {
	font-size: 22px;
	width:calc(100% - 100px);
}
.problem02 {
	
	padding: 0;
	margin: 0 auto 0 auto;
	max-width: 1100px;
}


/*!05 解決*/

.yellow_ttl h2 {
	font-family: "vdl-logona", sans-serif !important;
	font-weight: 800;
	font-style: italic;
	font-size: 84px;
	letter-spacing: 0.15em;
	line-height: 1.7em;
	margin-bottom: 16px;
}



.solve_ttl {
	width: 100%;
	overflow: hidden;
	margin: 32px 0;
	padding: 64px 0;
}
.solve_ttl1 {
	width:calc(100% + 64px);
	padding: 88px 0px 0px;
	background: #f5c401;
	transform: rotate(-2.5deg);
	overflow: hidden;
	position: relative;
	right: 32px;
}
.solve_ttl2 {
	background: url(/images/solve2.png) no-repeat left bottom;
	background-size: 480px;
	
	position: relative;
	margin-left: 28px;
	margin-right: 28px;
	right: 16px;
}
.solve_ttl3 {
	background: url(/images/solve1.png) no-repeat right bottom;
	background-size: 450px;
}
.solve_ttl4 {
	margin: 0 auto;
	text-align: center;
	max-width: 850px;
	padding: 0 32px 80px;
	transform: rotate(2.5deg);
	position: relative;
	left: 16px;
}
.solve_ttl4 img {
	max-width: 100%;
}
.solve_ttl4 p {
	background: #fff;
	border-radius: 16px;
	padding: 32px;
	margin: 48px auto 0;
	text-align: left;
	font-size: 22px;
	line-height: 2.5em;
}
.solve_ttl4 h3 {
	background: #fff;
	border-radius: 16px;
	line-height: 2em;
}
.solve_ttl4 .h3_01 {
	background: #fff;
	border-radius: 16px;
	line-height: 2em;
}
.solve_ttl4 p span {
	display: inline-block;
	background: #ffe822;
	line-height: 1em !important;
}


.yellow_four {
	width:calc(25% - 16px);
	margin: 0 0 8px 0 !important;
	padding: 16px 8px !important;
	text-align: center;
	font-size: 16px !important;
	text-align: center !important;
}

.w30per {
	width: 365px;
}
.w70per {
	width:calc(100% - 400px);
}

.w30per h5 {
	display: block;
	width: 100%;
	color: #071e81;
	text-align: left;
	font-family: "Bebas Neue", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;

}
.w30per h2 {
	display: block;
	width: 100%;
	color: #161414;
	text-align: left;
	font-family: "vdl-logona", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 30px;
	letter-spacing: 0.13em;
	margin-bottom: 32px;
}
.w30per h2 span {
	line-height: 1em;
	display: inline-block;
	background: #dde3eb;
	padding: 4px;
}

.w70per h3 {
	font-size: 20px;
}

.ul_func {
	border: 4px solid #161414;
	background: #fff;
	padding: 24px 40px;
	margin: 24px 0 0;
	border-radius: 16px;
	min-height: 365px;
}
.ul_func h4 {
	width:calc(50% - 24px);
	font-size: 16px;
}
.ul_func h4::before {
  content: "・";
}

.ul_func h4 span {
	font-size: 18px;
}

.ul_func2 {
	min-height: 160px;
}

.btn_b {
	max-width: 680px;
	background: url(/images/btn_b2.png) no-repeat;
	background-size: 100%;
	display: inline-block;
}

.btn_b:hover img {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;

}





/*!06サンプル*/

.sample_ttl {
	width: 100%;
	padding: 88px 24px 64px;
	background: #f5c401;
	overflow: hidden;
	margin: 64px 0;
	text-align: center;
}
.sample_ttl img {
	margin: 0 auto;
	width: 600px;
}

.sample_ttl2 {
	max-width: 700px;
	margin: 0 auto;
}

.sample_ttl_img {
	width: 200px;
}

.sample_ttl3 {
 width: auto;
}

.sample_ttl3_footer {
 width: 600px;
}

.sample_ttl3 h4 {
	font-size: 18px;
	text-align: right;
	margin-bottom: 24px;
	line-height: 1em;
	font-weight: bold;
	margin-right: 0;
}
.sample_ttl3 h3 {
	font-family: "vdl-logona", sans-serif;
	font-weight: 600;
	font-style: italic;
	font-size: 100px;
	letter-spacing: 0.13em;
	margin-bottom: 16px;
	line-height: 1em;
}
.sample_ttl3 h3 span {
	font-size: 56px;
}
.sample_ttl3 h3 .kakko1 {
	position: relative;
	bottom: 40px;
	width: 0; display: inline-block;
	overflow: visible;
	margin-right: 52px;
	
}
.sample_ttl3 h3 .kakko2 {
	position: relative;
	left: 8px;
	width: 0; display: inline-block;
	overflow: visible;
}

.sample_ttl3 h2 {
	font-size: 30px;
	text-align: center;
	line-height: 1em;
}

/*!PC画面*/
.sample_center {
	text-align: center;
	padding: 0 24px 8px;
	font-size: 24px;
	border-bottom: 5px solid #161414;
	display: inline-block;
	margin-bottom: 48px;
}
.service_list {

	width: 100%;
	min-height: 300px;
}

.service_list_text {
	width:calc(50% - 40px);
}
.service_list_text h3 {

	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7em;
	margin-bottom: 24px;
	font-size: 24px;
}
.service_list_text p {

	letter-spacing: 0.1em;
	line-height: 2em;
	font-weight: 600;
	font-size: 18px;
}
.service_list_img {
	width: 50%;
}
.service_list_img img {
	width:calc(100% - 32px);
	margin-left: 32px;
}

.service_list_img2 {
	width: 50%;
}
.service_list_img2 img {
	width:calc(100% - 32px);
	margin-right: 32px;
	position: relative;
	right: 48px;
}
.sample_last {
	border: 4px solid #161414;
	background: #fff;
	margin: 32px auto 32px;
	border-radius: 16px;
	overflow: hidden;
}

.threebox {
	margin-top: 64px;
}

.three {
	border: 4px solid #161414;
	background: #fff;
	border-radius: 16px;
	width:calc(33.33% - 24px);
}
.three_in {
	padding: 24px;
	margin-top: 32px;
}
.three_in h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5em;
	margin-bottom: 16px;
}
.three_in p {
	font-size: 16px;
}

.h0 {
	height: 0;
	overflow: visible;
	position: relative;
	bottom: 80px;
}


.formbox {
	border: 4px solid #161414;
	background: #fff;
	margin: 32px auto 32px;
	overflow: visible;
	text-align: center;
}
.formbox form {
	max-width: 800px;
	margin: 32px auto 48px;
	text-align: left;
}

.formbox_ttl {
	background: #1f2ba0;
	color: #fff;
	height: 160px;
	
}
.formbox_ttl h3 {
	font-size: 34px;
	padding: 24px 16px 0px;
	color: #fff;
}
.formbox_ttl h6 {
	font-size: 14px;
	margin: 0 auto 16px;
	color: #fff;
}

.h0_form {
	height: 0;
	overflow: visible;
}
.h0_form img {
	width: 140px;
	position: relative;
	bottom: 24px;
}

.top_contact_tbl {
	margin: 64px auto;
}




/*!07 TOP CONTACT*/

.hissu {
	background: #000f9c;
	font-size: 10px;
	color: #fff;
	padding: 4px;
	border-radius: 4px;
	display: inline-block;
	margin: 0 0 0 8px;
	line-height: 1.2em;
	position: relative;
	bottom: 2px;
}
.nini {
	background: #000f9c;
	font-size: 10px;
	color: #fff;
	padding: 4px;
	border-radius: 4px;
	display: inline-block;
	margin: 0 8px 0 0;
	line-height: 1.2em;
}


.top_contact_tbl {
	width: 100%;
	max-width: 800px;
	margin: 32px 0 32px;
	padding: 0;
}
.top_contact_tbl tr th {
	font-weight: 400;
	font-size: 16px;
	padding: 24px 8px 0 0px;
	text-align: left;
	width: 280px;
	
}
.top_contact_tbl tr td {
	font-weight: 400;
	font-size: 16px;
	padding: 16px 8px;
}

.btn_send {
	background: #001987;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	padding: 20px 24px;
	text-align: center;
	margin: 0 auto 24px;
	display: inline-block;
	min-width: 320px;
	border-radius: 4px;

}
.btn_send:hover {
	
	background: #1b1818;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
	cursor: pointer;

}


.top_contact_tbl select {
	background: url(https://plusoct.com//img/arrow_bottom.png) no-repeat right 16px center #f9f9f8;
	background-size: 10px;
	padding: 8px;
	border-radius: 4px;
	margin-bottom: 16px;
	width: 240px;
	border: 1px solid #8b8b8b;
}
.top_contact_tbl input[type=text] {
	background: #f9f9f8;
	padding: 8px;
	border-radius: 4px;


	width: 100%;
	border: 1px solid #8b8b8b;
	
}
.top_contact_tbl input[type=email] {
	background: #f9f9f8;
	padding: 8px;
	border-radius: 4px;


	width: 100%;
	border: 1px solid #8b8b8b;
	
}
.top_contact_tbl input[type=tel] {
	background: #f9f9f8;
	padding: 8px;
	border-radius: 4px;


	width: 100%;
	border: 1px solid #8b8b8b;
	
}

/* チェックボックス01 */
input[type=checkbox] {

}


.border {
	text-decoration: underline;
}
.border:hover {
	text-decoration: none;
}

.top_contact_tbl textarea {
	background: #f9f9f8;
	padding: 8px;
	border-radius: 4px;
	

	resize: none;
	width: 100%;
	border: 1px solid #8b8b8b;
}
::placeholder {
  color: #bcbcbc;
  font-size: 0.9em;
}





/*!10 FOOTER*/
.footer_up {
	padding: 32px 24px;
	width: 100%;
	text-align: center;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto; 
}
.footer_up img {
	width: 500px;
	margin: 48px auto 64px;
}
.footer_up p {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	text-align: left;
	letter-spacing: 0.12em;
	line-height: 2.4em;
}









/*!11ロゴ*/



/*ABOUT LOGO*/
/*!11ロゴ*/

.logo_font_about {
	position: relative;
	right: 32px;
}

.logo_font_about .logo_font {
	margin: 32px auto 24px;
}





.logo_font_about .logo_font2 {
	position: relative;
	right: 10px;
}

.logo_font_about .logo_font2 h4 {
	font-size: 20px;
	text-align: center;
	margin-bottom: 24px;
	line-height: 1em;
	font-weight: bold;
	margin-right: 0;
}
.logo_font_about .logo_font2 .h4_logo_font_h {
	font-size: 20px;
	text-align: center;
	margin-bottom: 24px;
	line-height: 1em;
	font-weight: bold;
	margin-right: 0;
}
.logo_font_about .logo_font2 h4 span {
	line-height: 1em;
}
.logo_font_about .logo_font2 .h4_logo_font_h span {
	line-height: 1em;
}
.logo_font_about .logo_font2 h3 .gradetion {
	font-family: "vdl-logona", sans-serif;
	font-weight: 600;
	font-style: italic;
	font-size: 150px;
	letter-spacing: 0.13em;
	margin-bottom: 0px;
	line-height: 1em;
	display: inline-block;
	background: rgb(131,12,26);
	background: linear-gradient(90deg, rgba(131,12,26,1) 0%, rgba(159, 41, 45, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.logo_font_about .logo_font2 h3 span {
	font-size: 56px;
}
.logo_font_about .logo_font2 h3 .kakko1 {
	position: relative;
	bottom: 80px;
	left: 8px;
	width: 0; display: inline-block;
	overflow: visible;
	margin-right: 56px;
	
}
.logo_font_about .logo_font2 h3 .kakko2 {
	position: relative;
	left: 16px;
	width: 0; display: inline-block;
	overflow: visible;
	
}

.logo_font_about .logo_font2 .h3_logo_font2 .gradetion {
	font-family: "vdl-logona", sans-serif;
	font-weight: 600;
	font-style: italic;
	font-size: 150px;
	letter-spacing: 0.13em;
	margin-bottom: 0px;
	line-height: 1em;
	display: inline-block;
	background: rgb(131,12,26);
	background: linear-gradient(90deg, rgba(131,12,26,1) 0%, rgba(159, 41, 45, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.logo_font_about .logo_font2 .h3_logo_font2 span {
	font-size: 56px;
}
.logo_font_about .logo_font2 .h3_logo_font2 .kakko1 {
	position: relative;
	bottom: 80px;
	left: 8px;
	width: 0; display: inline-block;
	overflow: visible;
	margin-right: 56px;
	
}
.logo_font_about .logo_font2 .h3_logo_font2 .kakko2 {
	position: relative;
	left: 16px;
	width: 0; display: inline-block;
	overflow: visible;
	
}




.logo_font_about .logo_font2 h2 {
	font-size: 30px;
	text-align: center;
	line-height: 1em;
}

.logo_font_about .logo_font_h {
	padding-left: 48px;
	padding-right: 0px;
}

.mid_h3 {
	font-family: "vdl-logona", sans-serif;
		font-weight: 600;
		font-style: italic;
		font-size: 34px;
		letter-spacing: 0.13em;
		margin-bottom: 0px;
		line-height: 1em;
		display: inline-block;
		background: rgb(131,12,26);
		background: linear-gradient(90deg, rgba(131,12,26,1) 0%, rgba(198,64,69,1) 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
}
/*ロゴ END*/








/*Footer LOGO*/
.footer_up .logo_font {
	margin: 64px auto 64px;
}



.footer_up .logo_font p {
	font-size: 24px !important;
	font-weight: bold;
	line-height: 1em;
	position: relative;
	bottom: 30px;
}

.footer_up .footer_up .logo_font2 {
	position: relative;
	right: 10px;
}

.footer_up .logo_font2 h4 {
	font-size: 18px;
	text-align: center;
	margin-bottom: 16px;
	line-height: 1em;
	font-weight: bold;
	margin-right: 0;
}
.footer_up .logo_font2 h3 {
	font-family: "vdl-logona", sans-serif;
	font-weight: 600;
	font-style: italic;
	font-size: 100px;
	letter-spacing: 0.13em;
	margin-bottom: 0px;
	line-height: 1em;
}
.footer_up .logo_font2 h3 span {
	font-size: 56px;
}
.footer_up .logo_font2 h3 .kakko1 {
	position: relative;
	bottom: 40px;
	width: 0; display: inline-block;
	overflow: visible;
	margin-right: 64px;
	
}
.footer_up .logo_font2 h3 .kakko2 {
	position: relative;
	left: 16px;
	width: 0; display: inline-block;
	overflow: visible;
	margin-right: 64px;
}

.footer_up .logo_font2 h2 {
	font-size: 30px;
	text-align: center;
	line-height: 1em;
}

.footer_up .logo_font_h {
	padding-left: 32px;
	padding-right: 32px;
}
/*ロゴ END*/






footer {
	padding: 32px;
	width: 100%;
	text-align: center;
}

footer img {
	width: 90px;
	margin: 48px auto;
}
footer p {
	text-align: center;
	font-size: 14px;
	margin-bottom: 40px;
}

copyright {
	font-size: 10px;
	color: #fff;
	font-style: italic;
}


#page-top {
	position: fixed;
	bottom: 0px;
	right: 0px;
	font-size: 77%;
}
#page-top a {
	background: #222;
	text-decoration: none;
	color: #fff;
	width: 88px;
	height: 88px;
	text-align: center;
	display: block;
	padding: 24px;
	transition: .2s;
}

#page-top a:hover {
	text-decoration: none;
	background: #f5c401;
	transition: .2s;
}

#page-top a img {
	width: 100%;
}




/*!99共通パーツ*/

.pc {
	display: block;
}

/*WIDTH*/
.w50per {
	width:calc(50% - 24px);
}
.w50per_no_margin {
	width: 50%;
}
.mw800 {
	width: 100%;
	max-width: 800px !important;
	margin: 0;
}
.mw1200 {
	width: 100%;
	max-width: 1200px !important;
	margin: 0 auto;
}
.mw1600 {
	width: 100%;
	max-width: 1500px !important;
	margin: 0 auto;
}
.mw1500_margin0 {
	width: 100%;
	max-width: 1500px !important;
	margin: 0;
}
.mw1000_margin0 {
	width: 100%;
	max-width: 1000px !important;
	margin: 0;
}


/*text-align*/
.tex_c { text-align: center; }
.tex_l { text-align: left; }
.tex_r { text-align: right; }

/*FLEX*/

.flex {
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap:wrap;
}
.flex_bet {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap:wrap;
}
.flex_end {
	display: flex;
	justify-content: flex-end;
	flex-direction: row;
	flex-wrap:wrap;
}
.flex_center {
	display: flex;
	justify-content: center;
	flex-direction: row;
	flex-wrap:wrap;
}



/*FLEX高さ合わせない*/
.ai_s {
	align-items: flex-start;
}
/*FLEX縦下に設置*/
.ai_e {
	align-items: flex-end;
}
/*FLEX縦センター*/
.ai_c {
	align-items: center;
}

.ai_s {
	align-items: stretch;
}

.reverse {
	flex-direction: row-reverse;
}
/*画像トリミング*/
.tri {
	object-fit: cover;
}
/*画像下の空白を埋める*/
.vab{
vertical-align: bottom;
}

/* line-height */
.lh1 {
	line-height: 1em;
} 
.lh {
	line-height: 1.7em;
}

/* margin */
.m8080 {
	margin: 8px 0 8px 0;
}
.mt8 {
	margin-top: 8px;
}
.mt12 {
	margin-top: 12px;
}
.mt32 {
	margin-top: 32px;
}
.mt64 {
	margin-top: 64px;
}
.mt88 {
	margin-top: 88px;
}
.mt128 {
	margin-top: 128px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb64 {
	margin-bottom: 64px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb96 {
	margin-bottom: 96px;
}
.mb128 {
	margin-bottom: 128px;
}

/* padding */
.p32 {
	padding: 32px;
}
.pt32 {
	padding-top: 32px;
}
.pt80 {
	padding-top: 80px;
}
.pt128 {
	padding-top: 128px;
}

.pb32 {
	padding-bottom: 32px;
}

.pl16 {
	padding-left: 16px;
}
.pr16 {
	padding-right: 16px;
}

/*negative margin*/
.mt-160 {
	margin-top: -60px;
}

.border {
	text-decoration: none;
}
.border:hover {
	text-decoration: underline;
}










