@charset "utf-8";

/* CSS Document */
@media screen and (min-width: 800px) {
	br.u800 {
		display: none;
	}
}

body {
	overflow: hidden;
}

.fonts {
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Outfit', sans-serif;
}

h2,
h3,
h4,
.sec_head .text_jp,
.sec_faq .sec_body ul li .title,
.sec_cap p,
.sec_faq li .text,
.f-noto-b {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: -0.04em;
}

footer small,
.f-outfit {
	font-family: 'Outfit', sans-serif;
	font-weight: 500;
}

p {
	color: #222;
	font-size: 16px;
	line-height: 2.1875;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-style: normal;
}

.sec_exp .sec_body p {
	font-family: 'Outfit', sans-serif;
	font-weight: 500;
}

a:hover {
	opacity: 0.6;
}

@media screen and (max-width: 767px) {
	p {
		font-size: 3.8vw;
	}
}

main {
	position: relative;
	z-index: 1;
}

.wrap {
	position: relative;
}

@media screen and (min-width: 1200px) {
	.only_sp1200 {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.only_sp767 {
		display: none;
	}

	.slick-slide img.only_sp767 {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.only_pc768 {
		display: none;
	}

	.slick-slide img.only_pc768 {
		display: none;
	}
}

.wrapper {
	position: relative;
}

a:hover {
	opacity: 0.6;
}

/* header */

header {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	z-index: 999;
	transition: 0.3s all ease;
}

header .header_inner {
	text-align: right;
}

header .header_left {
	position: absolute;
	left: 24px;
	top: 17px;
}

header .header_left h1 a {
	display: block;
}

header .header_left h1 img {
	width: 218px;
	height: 153px;
}

header .header_right {
	display: inline-block;
	height: auto;
	vertical-align: top;
}

header .header_right ul {
	font-size: 0;
	text-align: right;
}

header .header_right ul li {
	display: inline-block;
	font-family: a-otf-ud-shin-go-pr6n, sans-serif;
	font-weight: 800;
	font-style: normal;
	vertical-align: top;
}

header .header_right ul li a {
	display: block;
	font-size: 16px;
	line-height: 86px;
	height: 86px;
}

header .header_right ul li.btn01 a {
	padding: 0 1em;
}

.scroll header {
	position: fixed;
}

.scroll header .header_inner {
	background: rgba(255, 255, 255, 0.90);
}

.scroll header .header_left {
	position: absolute;
	left: 24px;
	top: 3px;
}

.scroll header .header_left h1 img {
	width: auto;
	height: 57px;
}

.scroll header .header_right ul li a {
	display: block;
	font-size: 16px;
	line-height: 60px;
	height: 60px;
}

.scroll header .header_right ul li#line_btn a::before {
	width: 220px;
	height: 60px;
	border-top: 60px solid transparent;
	border-right: 60px solid #000;
}

.scroll header .header_right ul li#line_btn a .grad {
	width: 210px;
	height: 50px;
	line-height: 50px;
}

.sec_cap p {
	display: none;
}

@media screen and (min-width: 1031px) {
	header .header_right ul li#line_btn {
		margin-left: 15px;
	}

	header .header_right ul li#line_btn a {
		padding: 5px;
		position: relative;
	}

	header .header_right ul li#line_btn a::before {
		content: "";
		display: table-cell;
		width: 220px;
		height: 86px;
		border-top: 86px solid transparent;
		border-right: 86px solid #000;
		background-color: #6C6C6C;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}

	header .header_right ul li#line_btn a::after {
		content: "";
		display: table-cell;
		width: 220px;
		height: 43px;
		border-bottom: 43px solid #222;
		border-left: 43px solid transparent;
		border-right: 43px solid transparent;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
	}

	header .header_right ul li#line_btn a .grad {
		background: rgb(51, 48, 48);
		background: linear-gradient(180deg, rgba(51, 48, 48, 1) 0%, rgba(118, 116, 116, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333030", endColorstr="#767474", GradientType=1);
		width: 210px;
		height: 76px;
		line-height: 76px;
		color: #FFF;
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		position: relative;
		z-index: 2;
	}
}

@media screen and (max-width: 1030px) {
	.spbtn_wrap {
		position: fixed;
		top: 12px;
		right: 12px;
		display: table-cell;
		width: 30px;
		height: 30px;
		z-index: 999;
	}

	.spbtn_wrap:hover {
		opacity: 0.6;
	}

	.spbtn_wrap .border {
		position: absolute;
		width: 30px;
		height: 2px;
		display: table-cell;
		background-color: #454545;
		transition: 0.3s all ease;
		transform-origin: 15px 1px;
	}

	.spbtn_wrap .border:nth-child(1) {
		top: 8px;
		left: 50%;
		transform: translateX(-50%);
	}

	.spbtn_wrap .border:nth-child(2) {
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
	}

	.spbtn_wrap .border:nth-child(3) {
		bottom: 8px;
		left: 50%;
		transform: translateX(-50%);
	}

	.open .spbtn_wrap .border:nth-child(1) {
		width: 28px;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(0) rotate(45deg);
	}

	.open .spbtn_wrap .border:nth-child(2) {
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		width: 0;
	}

	.open .spbtn_wrap .border:nth-child(3) {
		width: 28px;
		bottom: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(50%) rotate(-45deg);
	}


	header .header_right {
		position: fixed;
		right: -100%;
		top: 0;
		width: 100%;
		background-color: #FFF;
		height: 100vh;
		overflow-y: scroll;
		padding-top: 104px;
		transition: 0.3s all ease;
	}

	header.open .header_right {
		right: 0;
	}

	header .header_right nav {
		text-align: right;
	}

	header .header_right nav ul {
		display: inline-block;
		padding-right: 31px;
	}

	header .header_right ul li.btn01 {
		display: block;
		margin-left: 0;
		margin-bottom: 24px;
		text-align: right;
	}

	header .header_right ul li.btn01:nth-last-child(1) {
		margin-bottom: 0;
	}

	header .header_right ul li.btn01 a {
		display: block;
		font-size: 15px;
		line-height: 30px;
		height: 30px;
		border-right: 2px solid #454545;
		padding-right: 18px;
	}

	header .header_right ul li#line_btn {
		margin-top: 41px;
	}

	header .header_right ul li .grad {
		display: none;
	}

	header .header_right ul li#line_btn a {
		width: 268px;
		height: 173px;
		background: url("../img/line_btn.png") center center no-repeat;
		background-size: 100% auto;
	}

	header .header_left {
		left: 1.2%;
		top: 2.6%;
	}

	header .header_left h1 img {
		width: 40vw;
		height: auto;
	}

}



/* fv */

.sec_fv {
	background-color: #FFF;
	position: relative;
}

.sec_fv .fv_inner {
	height: 820px;
	background: url("../img/bg_black.jpg") center center no-repeat;
	background-size: auto 100%;
	position: relative;
}

.sec_fv .fv_inner .fv_bg_slash {
	display: table-cell;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding-top: 100px;
}

.sec_fv .box {
	width: 94%;
	max-width: 1100px;
	height: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

.sec_fv .box h2 {
	position: absolute;
	bottom: 50px;
	transform: translateX(-100%);
	transition: 0.5s all ease;
	opacity: 0.0;
	transition-duration: 0.5s;
	transition-delay: 0.8s;

}

.ready .sec_fv .box h2 {
	transform: translateX(0);
	opacity: 1.0;
}

.sec_fv .box h2 img {
	width: 524px;
	height: auto;
}

.sec_fv .fv_bg_text {
	position: absolute;
	width: 100%;
	max-width: 1400px;
	display: table-cell;
	height: 100%;
	left: 50%;
	top: 0;
	transform: translateX(150%);
	background: url("../img/fv_bg_textimg.png") center center no-repeat;
	background-size: 100% auto;
	transition: 0.3s all ease;
	transition-delay: 0.8s;
	transition-duration: 0.5s;
}

.ready .sec_fv .fv_bg_text {
	transform: translateX(-50%);
}

.rafaimg {
	position: absolute;
	display: table-cell;
	width: 478px;
	height: auto;
	padding-top: 253%;
	background: url("../img/img_rafa_main.png") center top no-repeat;
	background-size: 100% auto;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	transform-origin: top center;
	z-index: 2;
	opacity: 1;
}

.sec_fv .btn_line {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 3;
}

.sec_fv .btn_line.active {
	position: fixed;
	right: 0;
	bottom: 3%;
	z-index: 901;
	transition: 0.3s all ease;
}

.sec_fv .btn_line.active.fade {
	transform: translateX(100%);
}

.sec_fv .btn_line a {
	display: block;
}

.sec_fv .btn_line a img {
	width: 355px;
	height: auto;
}

.sec_fv .scroll {
	position: absolute;
	left: 4%;
	bottom: -37px;
	display: table-cell;
	width: 1px;
	height: 74px;
	background-color: #FFF;
	z-index: 4;
}

.sec_fv .scroll .img {
	position: absolute;
	display: table-cell;
	background: url("../img/scrolldown.png") center center no-repeat;
	background-size: 100% auto;
	width: 19px;
	height: 104px;
	top: -120px;
	left: 50%;
	transform: translateX(-50%);
}

.sec_fv .scroll .border {
	position: absolute;
	bottom: 0;
	left: 0;
	display: table-cell;
	width: 1px;
	height: 37px;
	background-color: #000;
}

.sec_fv .scroll .circle {
	width: 8px;
	height: 8px;
	display: table-cell;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 1.00);
	;
	position: absolute;
	top: 33px;
	left: -3px;
	-webkit-animation-name: scrollAnime;
	animation-name: scrollAnime;
	-webkit-animation-duration: 3s;
	animation-duration: 3s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

@-webkit-keyframes scrollAnime {
	0% {
		transform: translateY(-37px);
		background-color: rgba(255, 255, 255, 1.00);
	}

	100% {
		transform: translateY(37px);
		background-color: rgba(0, 0, 0, 1.00);
	}
}

@keyframes scrollAnime {
	0% {
		transform: translateY(-37px);
		background-color: rgba(255, 255, 255, 1.00);
	}

	100% {
		transform: translateY(37px);
		background-color: rgba(0, 0, 0, 1.00);
	}
}

.sec_fv .youtube,
.sec_fv .bnr-float {
	position: absolute;
	right: 20px;
	bottom: 250px;
	z-index: 3;
	width: 40vw;
	aspect-ratio: 16 / 9;
}

.sec_fv .bnr-float_link {
	display: block;
	width: 100%;
	height: 100%;
	filter: drop-shadow(2px 4px 6px rgba(0 0 0 / 50%));
}

.sec_fv .youtube iframe,
.sec_fv .bnr-float img {
	width: 100%;
	height: 100%;
}

.sec_fv .bnr-float_img-sp {
	display: none;
}

@media screen and (max-width: 940px) {
	.sec_fv .fv_inner {
		height: 170vw;
		background: url("../img/bg_black.jpg") center center no-repeat;
		background-size: auto 100%;
		position: relative;
	}

	.sec_fv .box h2 {
		position: absolute;
		bottom: 50vw;
	}

	.sec_fv .box h2 img {
		width: 100%;
		height: auto;
	}

	.sec_fv .btn_line {
		bottom: -120px;
	}

	.sec_fv .btn_line a img {
		width: 355px;
		height: auto;
	}

	.sec_fv .fv_bg_text {
		background: url("../img/fv_bg_textimg.png") left center no-repeat;
		background-size: auto 41vw;
	}

	.rafaimg {
		width: 94%;
		max-width: 478px;
		top: 13vw;
	}

	.sec_fv .scroll {
		display: none;
	}

	.sec_fv .youtube,
	.sec_fv .bnr-float {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 10vw;
		z-index: 3;
		text-align: center;
		width: 560px;
		margin: 0 auto;
	}

}

@media screen and (min-width: 767px) and (max-width: 940px) {
	.sec_fv .fv_inner .fv_bg_slash {
		height: 60vw !important;
	}
}

@media screen and (max-width: 767px) {
	.sec_fv .btn_line a {
		display: table-cell;
		background: url("../img/line_btn_sp.png") bottom center no-repeat;
		background-size: 100% auto;
		width: 100vw;
		height: 27.5vw;
	}

	.sec_fv .btn_line {
		bottom: -42vw;
	}

	.sec_fv .btn_line.active {
		bottom: 0;
	}

	.sec_fv .btn_line a img {
		display: none;
	}

	.sec_fv .youtube,
	.sec_fv .bnr-float {
		position: absolute;
		left: 0;
		right: 0;
		bottom: -50px;
		padding: 0 20px;
		width: 100%;
	}

	.sec_fv .bnr-float_img-pc {
		display: none;
	}

	.sec_fv .bnr-float_img-sp {
		display: block;
	}

	.sec_fv .bnr-float img.sp-height-auto {
		height: auto;
	}
}

/* sec_mission */

.sec_change {
	background: url("../img/bg_gray.jpg") top center no-repeat;
	background-size: 100% auto;
	padding: 137px 0 168px;
	position: relative;
}

.sec_change .sec_box {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding-right: 715px;
}

.sec_change .sec_box::after {
	content: "";
	display: table-cell;
	width: 524px;
	height: 294px;
	background: url("../img/mov_img_01.jpg") top center no-repeat;
	background-size: 100% auto;
	position: absolute;
	right: 0;
	top: 0;
	transition: 0.3s all ease;
}

.sec_change .sec_box::before {
	content: "";
	background: url("../img/sec_01_text.png") top left no-repeat;
	background-size: 100% auto;
	display: table-cell;
	width: 396px;
	height: 237px;
	position: absolute;
	left: -105px;
	top: -97px;
}

@media screen and (max-width: 1360px) {
	.sec_change {
		background: url("../img/bg_gray.jpg") top center no-repeat;
		background-size: 100% auto;
		padding: 137px 10% 168px;
		position: relative;
	}

	.sec_change .sec_box {
		padding-right: 60%;
	}

	.sec_change .sec_box::after {
		content: "";
		display: table-cell;
		width: 50%;
		height: 0;
		padding-top: 56.2%;
	}

	.sec_change .sec_box::after {
		content: "";
		display: table-cell;
		width: 50%;
		height: 0;
		padding-top: 56.2%;
	}
}

@media screen and (max-width: 1030px) {
	.sec_change {
		background: url("../img/bg_gray.jpg") top center no-repeat;
		background-size: 100% auto;
		padding: 275px 0 168px;
		position: relative;
	}

	.sec_change .sec_box {
		padding-right: 0;
		width: 90%;
		margin: 0 auto;
	}

	.sec_change .sec_box::before {
		content: "";
		background: url(../img/sec_01_text.png) top left no-repeat;
		background-size: 80% auto;
		display: table-cell;
		width: 80%;
		height: 0;
		padding-top: 59.9%;
		position: absolute;
		left: 0;
		top: -130px;
	}

	.sec_change .sec_box::after {
		content: "";
		display: block;
		width: 100%;
		height: 0;
		padding-top: 56.2%;
		position: static;
		margin-top: 4%;
	}
}

@media screen and (max-width: 767px) {
	.sec_change {
		padding-top: 80vw;
	}
}

.white_slash {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	display: block;
	box-sizing: border-box;
}

.sec_change .textline {
	display: block;
	position: absolute;
	height: 60px;
	width: 120%;
	background: url("../img/sec_01_textline.png") left top repeat-x;
	background-size: auto 100%;
	bottom: 0;
	left: 0;
	transform: rotate(-10.4deg);
	transform-origin: 0 60px;
}

/* sec_mission */

.sec_mission {}

.sec_mission .sec_inner {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

.sec_mission .sec_inner::before {
	content: "";
	display: table-cell;
	width: 218px;
	height: 297px;
	background: url("../img/rafa_art_01.png") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: -27px;
	top: -117px;
	transition: 0.3s all ease;
}

.sec_mission .sec_inner .sec_cap {
	background: url("../img/com01.png") top left no-repeat;
	background-size: 100% auto;
	width: 326px;
	height: 294px;
	display: table-cell;
	position: absolute;
	top: -132px;
	right: -130px;
	z-index: 3;
}

.sec_mission .sec_inner .sec_cap_inner {
	position: absolute;
	top: 82px;
	left: 65px;
	transform: rotate(9deg);
}

.sec_mission .sec_inner .sec_cap p {
	display: none;
}

.sec_mission .sec_head {
	padding-right: 333px;
	position: relative;
	text-align: right;
}

.sec_mission .sec_head::before {
	content: "";
	width: 313px;
	height: 176px;
	display: table-cell;
	background: url("../img/mov_img_02.png") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	right: 0;
	top: 0;
}

.sec_mission .sec_head {
	margin-bottom: 38px;
}

.sec_mission .sec_head h3 {
	display: inline-block;
}

.sec_head .text_en {
	display: block;
	font-size: 60px;
	text-align: right;
	color: #A08230;
	line-height: 80px;
	height: 80px;
	font-family: 'Outfit', sans-serif;
	font-weight: 500;
	margin-bottom: 14px;
}

.sec_head .text_jp {
	display: block;
	font-size: 30px;
	line-height: 1.33;
	color: #222;
	text-align: right;
}

.sec_head .text_jp .small {
	font-size: 20px;
}

.sec_mission .sec_body {
	padding: 58px 100px 58px 596px;
	position: relative;
}

.sec_mission .sec_body::before {
	content: "";
	display: table-cell;
	width: 466px;
	height: 400px;
	background: url("../img/graph.jpg") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 80px;
	top: 0;
}

@media screen and (max-width: 1200px) {
	.sec_mission .sec_inner::before {
		display: none;
	}

	.sec_mission .sec_body {
		padding: 0 0 58px 44%;
		position: relative;
		min-height: 294px;
	}

	.sec_mission .sec_body::before {
		content: "";
		display: table-cell;
		width: 40%;
		height: 0;
		padding-top: 79%;
		background: url("../img/graph.jpg") top left no-repeat;
		background-size: 100% auto;
		position: absolute;
		left: 0;
		top: 0;
	}
}

@media screen and (max-width: 1030px) {
	.sec_mission .sec_head {
		padding-right: 0;
		position: relative;
		text-align: center;
		padding-top: 200px;
	}

	.sec_mission .sec_head h3 {
		display: block;
	}

	.sec_head .text_en {
		text-align: center;
	}

	.sec_head .text_jp {
		text-align: center;
	}

	.sec_mission .sec_head::before {
		content: "";
		width: 313px;
		height: 176px;
		display: table-cell;
		background: url(../img/mov_img_02.png) top left no-repeat;
		background-size: 100% auto;
		position: absolute;
		right: auto;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
	}

	.sec_mission .sec_inner .sec_cap {
		width: 326px;
		height: 294px;
		display: table-cell;
		position: absolute;
		top: -132px;
		right: 50%;
		z-index: 3;
		transform: translateX(300px);
	}

}

@media screen and (max-width: 767px) {
	.sec_mission {
		padding-top: 13.8vw;
		padding-bottom: 8vw;
	}

	.sec_head .text_en {
		font-size: 9.23vw;
		line-height: 1.0;
		height: auto;
		margin-bottom: 3vw;
	}

	.sec_head .text_jp {
		font-size: 4.8vw;
	}

	.sec_mission .sec_head {
		padding-top: 33vw;
	}

	.sec_mission .sec_head::before {
		content: "";
		width: 51.28vw;
		height: 0;
		padding-top: 56%;
		display: table-cell;
		background: url(../img/mov_img_02.png) top left no-repeat;
		background-size: 100% auto;
		position: absolute;
		right: auto;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
	}

	.sec_mission .sec_inner .sec_cap {
		width: 68vw;
		height: 0;
		padding-top: 90%;
		display: table-cell;
		position: absolute;
		top: -30vw;
		right: 50%;
		z-index: 3;
		transform: translateX(80%);
	}

	.sec_mission .sec_inner .sec_cap_inner {
		position: absolute;
		top: 16.8vw;
		left: 13vw;
	}

	.sec_mission .sec_inner .sec_cap p {
		font-size: 3.8vw;
	}

	.sec_mission .sec_body {
		padding: 0;
		position: relative;
	}

	.sec_mission .sec_body p {
		padding-top: 92%;
	}

	.sec_mission .sec_body::before {
		display: block;
		width: 100%;
		height: 0;
		padding-top: 86%;
		background: url(../img/graph.jpg) top left no-repeat;
		background-size: 100% auto;
		position: absolute;
		top: 0;
		left: 0;
		margin-bottom: 4vw;
	}


}

/* sec_project */

.bg_gray_100 {
	background: url("../img/bg_gray_100.jpg") top center no-repeat;
	background-size: auto 100%;
}

.has_white_slash_top {
	position: relative;
}

.white_slash_top {
	position: absolute;
	left: 0;
	top: 0;
	display: table-cell;
	width: 100%;
	box-sizing: border-box;
}

.sec_inner {
	position: relative;
	z-index: 3;
}

.sec_project {
	position: relative;
}

.sec_project .sec_inner {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	padding-top: 105px;
}

.sec_project .sec_inner .sec_cap {
	display: table-cell;
	width: 255px;
	height: 179px;
	background: url("../img/com02.png") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: -42px;
	z-index: 3;
}

.sec_project .sec_head {
	text-align: left;
	padding-left: 333px;
	position: relative;
	min-height: 176px;
}

.sec_project .sec_head::before {
	content: "";
	display: table-cell;
	width: 313px;
	height: 176px;
	background: url("../img/mov_img_03.png") left top no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
}

.sec_project .sec_head h3 {
	text-align: left;
}

.sec_project .sec_head h3>span {
	text-align: left;
}

.sec_project .sec_body {
	padding-bottom: 147px;
	position: relative;
}

.sec_project .sec_body::before {
	content: "";
	display: table-cell;
	width: 395px;
	height: 238px;
	background: url("../img/sec_project_text.png") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	bottom: 59px;
	left: -105px;
	transition: 0.5s all ease;
	transform: translateX(0);
	opacity: 1.0;
}

.sec_project .sec_body .body_inner {
	padding-top: 74px;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding-right: 645px;
	position: relative;
	min-height: 578px;
}

.sec_project .sec_body .body_inner .body_right {
	position: absolute;
	right: 0;
	top: 0;
	display: table-cell;
	width: 603px;
	height: 578px;
	background: url("../img/project_rafa_img.png") top left no-repeat;
	background-size: 100% auto;
	opacity: 1;
}

.sec_project .sec_body.active .body_inner .body_right {
	-webkit-animation-name: scaleAction01;
	animation-name: scaleAction01;
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.sec_project .sec_body .body_inner .body_right .sumi {
	position: absolute;
	right: 0;
	top: 0;
	display: table-cell;
	width: 167px;
	height: 171px;
	background: url("../img/com_rafa.png") top left no-repeat;
	background-size: 100% auto;
}

.sec_project .sec_body .body_inner .body_right .sumi p {
	display: none;
}

@media screen and (max-width: 1200px) {
	.sec_project .sec_body .body_inner {
		padding-right: 50%;
		min-height: 578px;
	}

	.sec_project .sec_body .body_inner .body_right {
		width: 50%;
		height: 0;
		padding-top: 96%;
		background: url("../img/project_rafa_img.png") top left no-repeat;
		background-size: 100% auto;
	}

	.sec_project .sec_body .body_inner .body_right .sumi {
		position: absolute;
		right: -10%;
		top: 0;
		display: table-cell;
		width: 167px;
		height: 171px;
	}
}

@media screen and (max-width: 1030px) {
	.sec_project .sec_head {
		text-align: center;
		padding-left: 0;
		position: relative;
		min-height: 176px;
		padding-top: 185px;
		margin-bottom: 5%;
	}

	.sec_project .sec_head h3 {
		text-align: center;
	}

	.sec_project .sec_head h3>span {
		text-align: center;
		display: block;
	}

	.sec_project .sec_head::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	.sec_project .sec_inner .sec_cap {
		left: 50%;
		transform: translateX(-250px);
	}

	.sec_project .sec_body::before {
		left: 0;
	}

	.sec_project .sec_body .body_inner {
		padding-right: 0;
		min-height: 100%;
		padding-top: 48%;
	}

	.sec_project .sec_body .body_inner .body_right {
		width: 50%;
		height: 0;
		padding-top: 96%;
		background: url(../img/project_rafa_img.png) top left no-repeat;
		background-size: 100% auto;
		right: 50%;
		position: absolute;
	}

	.sec_project .sec_body {
		padding-bottom: 350px;
		position: relative;
	}

	@-webkit-keyframes scaleAction01 {
		0% {
			opacity: 0;
			transform: scale(30%) translateX(45%);
		}

		90% {
			opacity: 1.0;
			transform: scale(100%) translateX(45%);
		}

		95% {
			opacity: 0.6;
			transform: scale(120%) translateX(45%);
		}

		100% {
			opacity: 1;
			transform: scale(100%) translateX(45%);
		}
	}

	@keyframes scaleAction01 {
		0% {
			opacity: 0;
			transform: scale(30%) translateX(45%);
		}

		90% {
			opacity: 1.0;
			transform: scale(100%) translateX(45%);
		}

		95% {
			opacity: 0.6;
			transform: scale(120%) translateX(45%);
		}

		100% {
			opacity: 1;
			transform: scale(100%) translateX(45%);
		}
	}


}

@media screen and (max-width: 767px) {
	.sec_project .sec_inner {
		padding-top: 13vw;
	}

	.sec_project .sec_head {
		min-height: 176px;
		padding-top: 34vw;
		margin-bottom: 5%;
	}

	.sec_project .sec_head::before {
		width: 51vw;
		height: 28.7vw;
	}

	.sec_project .sec_inner .sec_cap {
		display: table-cell;
		width: 54vw;
		height: 38vw;
		left: 50%;
		z-index: 3;
		transform: translateX(-80%) translateY(-15%);
	}

	.sec_project .sec_inner .sec_cap p {
		font-size: 3.8vw;
		text-align: center;
		top: 42%;
		left: 50%;
		transform: translateX(-55%) rotate(-14deg);
		width: 100%;
	}

	.sec_project .sec_body .body_inner .body_right {
		width: 92vw;
		background: url(../img/project_rafa_img.png) top left no-repeat;
		background-size: 100% auto;
		transform: translateX(50%);
		right: 50%;
	}

	.sec_project .sec_body .body_inner {
		padding-top: 90vw;
	}

	.sec_project .sec_body .body_inner .body_right .sumi {
		position: absolute;
		right: -10%;
		top: -5%;
		display: table-cell;
		width: 36vw;
		height: 36.9vw;
	}

	.sec_project .sec_body .body_inner .body_right .sumi p {
		font-size: 3.2vw;
	}

	.sec_project .sec_body {
		padding-bottom: 30vw;
		position: relative;
	}

	.sec_project .sec_body::before {
		width: 70vw;
		height: 42vw;
	}


}

/* sec_reason */

.sec_reason {
	position: relative;
}

.sec_reason .sec_inner {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

.sec_reason .sec_cap {
	position: absolute;
	right: -137px;
	top: -235px;
	display: table-cell;
	width: 326px;
	height: 294px;
	background: url("../img/com03.png") top left no-repeat;
	background-size: 100% auto;
	z-index: 4;
}

.sec_reason .sec_cap p {
	font-size: 16px;
	line-height: 1.5;
	color: #FFF;
	text-align: center;
	position: absolute;
	top: 85px;
	left: 50px;
	transform: rotate(9deg);
}

.sec_reason .sec_head {
	padding-right: 333px;
	position: relative;
	top: -88px;
}

.sec_reason .sec_head::before {
	content: "";
	display: table-cell;
	width: 313px;
	height: 176px;
	background: url("../img/mov_img_04.png") top right no-repeat;
	background-size: 100% auto;
	position: absolute;
	right: 0;
	top: 0;
}

.sec_reason {
	padding-bottom: 247px;
}

.sec_reason .sec_body .box {
	padding-left: 350px;
	position: relative;
	min-height: 190px;
	padding-top: 12px;
	margin-bottom: 80px;
}

.sec_reason .sec_body .box:nth-last-child(1) {
	margin-bottom: 0;
}

.sec_reason .sec_body .box h4 {
	font-size: 30px;
	line-height: 1.33;
	margin-bottom: 1em;
	color: #222;

}

.sec_reason .sec_body .box p {
	max-width: 461px;
}

.sec_reason .sec_body .box:nth-child(1) {
	background: url("../img/mov_img_05.png") left top no-repeat;
	background-size: auto 190px;
	left: 101px;
}

.sec_reason .sec_body .box:nth-child(2) {
	background: url("../img/mov_img_06.png") left top no-repeat;
	background-size: auto 190px;
	left: 161px;
}

.sec_reason .sec_body .box:nth-child(3) {
	background: url("../img/mov_img_07.png") left top no-repeat;
	background-size: auto 190px;
	left: 227px;
}

.sec_reason .sec_body .box {
	opacity: 1;
	transform: translateX(0);
}


@media screen and (max-width: 1200px) {
	.sec_reason .sec_body .box:nth-child(1) {
		left: 0;
	}

	.sec_reason .sec_body .box:nth-child(2) {
		left: 0;
	}

	.sec_reason .sec_body .box:nth-child(3) {
		left: 0;
	}

	.sec_reason .sec_body .box p {
		max-width: 100%;
	}
}

@media screen and (max-width: 1030px) {
	.sec_reason .sec_head {
		padding-right: 0;
		position: static;
		padding-top: 190px;
		margin-bottom: 42px;
	}

	.sec_reason .sec_head::before {
		right: 50%;
		top: 0;
		transform: translateX(50%);
	}

	.sec_reason .sec_cap {
		position: absolute;
		right: 50%;
		top: 0;
		transform: translateX(80%) translateY(-50%);
	}
}

@media screen and (max-width: 767px) {
	.sec_reason .sec_head::before {
		content: "";
		display: table-cell;
		width: 313px;
		height: 176px;
		background: url(../img/mov_img_04.png) top right no-repeat;
		background-size: 100% auto;
		position: absolute;
		right: 0;
		top: 0;
	}

	.sec_reason .sec_head {
		padding-top: 34vw;
		margin-bottom: 5%;
	}

	.sec_reason .sec_head::before {
		width: 51vw;
		height: 28.7vw;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}

	.sec_reason .sec_inner .sec_cap {
		width: 68vw;
		height: 61.3vw;
		padding-top: 0;
		display: table-cell;
		position: absolute;
		top: -30vw;
		right: 50%;
		z-index: 3;
		transform: translateX(80%);
	}

	.sec_reason .sec_inner .sec_cap_inner {
		position: absolute;
		top: 17vw;
		left: 13vw;
		width: 100%;
	}

	.sec_reason {
		padding-top: 12vw;
		padding-bottom: 20vw;
		margin-bottom: 4vw;
	}

	.sec_reason .sec_body .box {
		padding-left: 0;
		position: relative;
		min-height: 0;
		padding-top: 58vw;
		margin-bottom: 9.5vw;
	}

	.sec_reason .sec_body .box p {
		max-width: 100%;
	}

	.sec_reason .sec_body .box:nth-child(1),
	.sec_reason .sec_body .box:nth-child(2),
	.sec_reason .sec_body .box:nth-child(3) {
		background-size: 100% auto;
	}

	.sec_reason .sec_body .box h4 {
		font-size: 5.6vw;
		margin-bottom: 1em;
	}


}

/* sec_flow */

.bg_black {
	background: url("../img/bg_black.jpg") top center no-repeat;
	background-size: 100% auto;
}

.sec_flow {}

.sec_flow .sec_head {
	width: 313px;
	margin: 0 auto;
}

.sec_flow .sec_head .mov_box {
	text-align: center;
	margin: 0 auto 100px;
	position: relative;
}

.sec_flow .sec_head .mov_box::after {
	content: "";
	display: table-cell;
	width: 252px;
	height: 303px;
	background: url("../img/sec_flow_rafa.png") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	right: -331px;
	top: -145px;
	opacity: 1.0;
	transition: 0.3s all ease;
	transform: translateX(0);
}

.sec_flow .sec_head .mov_box .mov {
	position: relative;
}

.sec_flow .sec_head .mov_box .mov img {
	width: 313px;
	height: auto;
}

.sec_flow .sec_head .mov_box .sec_cap {
	position: absolute;
	background: url("../img/com04.png") top left no-repeat;
	background-size: 100% auto;
	display: table-cell;
	width: 255px;
	height: 179px;
	left: -71px;
	top: -107px;
}

.sec_flow .text_box h3 {
	text-align: center;
	color: #FFF;
	padding-top: 12px;
	letter-spacing: 0.1em;
}

.sec_flow .text_box h3>span {
	display: block;
}

.sec_flow .text_box h3 .text_en_02 {
	font-size: 60px;
	font-family: 'Outfit', sans-serif;
	font-weight: 500;
	margin-bottom: 12px;
}

.sec_flow .text_box h3 .text_jp_02 {
	font-size: 30px;
	letter-spacing: -0.04em;
}

.sec_flow .sec_body {
	text-align: center;
	width: 90%;
	max-width: 1100px;
	margin: 100px auto 0;
	position: relative;
}

.sec_flow .sec_body:after {
	content: "";
	position: absolute;
	top: -200px;
	right: 230px;
	display: table-cell;
	width: 155px;
	height: 332px;
	background: url("../img/step_rafa.png") top left no-repeat;
	background-size: 100% auto;

}

.sec_flow .sec_body::before {
	content: "";
	display: table-cell;
	width: 395px;
	height: 238px;
	background: url("../img/sec_flow_text.png") left top no-repeat;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: -106px;
}

.sec_flow .sec_body ul {
	display: inline-block;
	padding-bottom: 300px;
}

.sec_flow .sec_body ul li {
	text-align: center;
}

.sec_flow .sec_body ul .title {
	font-size: 30px;
	color: #FFF;
	line-height: 1.3;
	text-align: center;
	font-family: "a-otf-ud-shin-go-con80-pr6n", sans-serif;
	font-weight: bold;
	font-style: normal;
	position: relative;
	padding-bottom: 10px;
}

.sec_flow .sec_body ul .title img {
	width: 65px;
	height: 65px;
	margin-right: 10px;
}

.sec_flow .sec_body ul .text {
	color: #FFF;
	font-size: 15px;
	line-height: 1.9;
}

.sec_flow .sec_body ul .line {
	width: 4px;
	height: 80px;
	background-color: #fff;
	margin: 40px auto;
}

.sec_flow .sec_body ul .line.arrow {
	position: relative;
}

.sec_flow .sec_body ul .line.arrow:after {
	content: '';
	height: calc(50px / 2);
	width: 20px;
	-webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: #fff;
	position: absolute;
	bottom: -20px;
	left: -8px;
}

.sec_flow .sec_body ul .join {
	color: #FFF;
	background-color: #a08230;
	font-size: 15px;
	position: relative;
	line-height: 1.9;
	padding: 30px 160px;
	border-radius: 10px;
	display: inline-block;
}

.sec_flow .sec_body ul .join:after {
	content: "";
	position: absolute;
	bottom: 5px;
	right: -20px;
	display: table-cell;
	width: 155px;
	height: 332px;
	background: url("../img/step_rafa.png") top left no-repeat;
	background-size: 100% auto;

}

.sec_flow .sec_body ul .join span {
	font-size: 64px;
	display: block;
	margin-bottom: 20px;
}

.sec_flow .sec_body ul li:nth-last-child(1) {
	margin-bottom: 0;
}

.sec_flow .bottom_rafa {
	width: 100%;
	padding-top: 51%;
	background: url("../img/sec_flow_bottom_rafa.png") bottom center no-repeat;
	background-size: 100% auto;
	margin-top: -100px;
	position: relative;
	z-index: 4;
}

.sec_flow .bottom_rafa.active {
	-webkit-animation-name: rafa01;
	animation-name: rafa01;
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}

@-webkit-keyframes rafa01 {
	0% {
		transform: scale(1.0);
		opacity: 1.0;
	}

	75% {
		transform: scale(1.0);
		opacity: 1.0;
	}

	80% {
		transform: scale(1.6);
		opacity: 0.6;
	}

	100% {
		transform: scale(1.0);
		opacity: 1.0;
	}

}

@keyframes rafa01 {
	0% {
		transform: scale(1.0);
		opacity: 1.0;
	}

	75% {
		transform: scale(1.0);
		opacity: 1.0;
	}

	80% {
		transform: scale(1.6);
		opacity: 0.6;
	}

	100% {
		transform: scale(1.0);
		opacity: 1.0;
	}

}

@media screen and (max-width: 1200px) {
	.sec_flow .sec_head .mov_box::after {
		display: none;
	}

	.sec_flow .sec_head .mov_box .mov img {
		width: 51vw;
		height: auto;
	}

	.sec_flow .sec_head {
		width: 100vw;
		margin: 0 auto;
	}

	.sec_flow .text_box h3 .text_en_02 {
		font-size: 9.23vw;
	}

	.sec_flow .text_box h3 .text_jp_02 {
		font-size: 5.6vw;
	}

	.sec_flow .sec_head .mov_box .sec_cap {
		width: 51vw;
		height: 35.7vw;
		left: 50vw;
		top: -20vw;
		transform: translateX(-90%) translateY(0);
	}

	.sec_flow .sec_body:after {
		right: 7vw;

	}
}

@media screen and (max-width: 767px) {

	.sec_flow .sec_head .mov_box {
		margin: 0 auto 10%;
	}

	.sec_flow .sec_body {
		margin-top: 12vw;
	}

	.sec_flow .sec_body::before {
		width: 70vw;
		height: 42vw;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.sec_flow .sec_body:after {
		top: -85px;
		right: -10px;
		width: 77.5px;
		height: 166px;
	}

	.sec_flow .sec_body ul {
		width: 100%;
		padding-bottom: 50vw;
	}

	.sec_flow .sec_body ul .title {
		font-size: 4.8vw;
	}

	.sec_flow .sec_body ul .title img {
		width: 40px;
		height: 40px;
		margin-right: 10px;
	}

	.sec_flow .sec_body ul .text {
		font-size: 3.8vw;
	}

	.sec_flow .sec_body ul .join {
		font-size: 3.8vw;
		padding: 20px 10px;
		width: 100%;
	}

	.sec_flow .sec_body ul .join span {
		font-size: 10vw;
		margin-bottom: 15px;
	}

	.sec_flow .sec_body ul .join:after {
		bottom: 5px;
		right: -10px;
		width: 77.5px;
		height: 166px;
	}

	.sec_flow .bottom_rafa {
		width: 100%;
		padding-top: 102%;
		background: url("../img/sec_flow_bottom_rafa_sp.png") bottom center no-repeat;
		background-size: 100% auto;
		margin-top: -100px;
		position: relative;
		z-index: 4;
	}


}

/* sec_faq */

.sec_faq {
	background-color: rgba(62, 62, 62, 0.04);
	padding-top: 34px;
	padding-bottom: 306px;
	position: relative;
}

.sec_head.head_01 {
	width: 100%;
	max-width: 542px;
	margin: 0 auto;
	padding-top: 118px;
	position: relative;
}

.sec_head.head_01 .sec_cap {
	display: table-cell;
	background: url("../img/com05.png") top left no-repeat;
	background-size: 100% auto;
	width: 280px;
	height: 196.6px;
	position: absolute;
	left: 0;
	top: 0;
}

.sec_head.head_01 .text_en_03 {
	font-size: 60px;
	color: #A08230;
	margin-bottom: 12px;
	display: block;
	text-align: center;
	font-family: 'Outfit', sans-serif;
	font-weight: 500;
}

.sec_head.head_01 .text_jp_03 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.33;
	color: #222;
	margin-bottom: 8px;
	display: block;
	text-align: center;
	letter-spacing: -0.04em;
}

.sec_faq .sec_body {
	width: 90%;
	max-width: 1100px;
	margin: 40px auto 0;
}

.sec_faq .sec_body ul {
	font-size: 0;
}

.sec_faq .sec_body ul li {
	display: inline-block;
	width: 48%;
	margin-right: 2%;
	background-color: #FFF;
	padding: 11px 20px 23px;
	vertical-align: top;
	margin-bottom: 2%;
}

.sec_faq .sec_body ul li:nth-child(2n) {
	margin-right: 0;
}

.sec_faq .sec_body ul li .box {}

.sec_faq .sec_body ul li .title {
	display: block;
	padding-left: 134px;
	position: relative;
	padding-top: 10px;
	font-size: 24px;
	line-height: 1.66;
	padding-bottom: 30px;

}

.sec_faq .sec_body ul li .title::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 0;
	display: table-cell;
	width: 111px;
	height: 71px;
	background: url("../img/icn_q.png") top left no-repeat;
	background-size: 100% auto;
}

.sec_faq .sec_body ul li .text {
	font-size: 15px;
	line-height: 1.9;
}

@media screen and (max-width: 1100px) {
	.sec_faq .sec_body ul li {
		display: block;
		width: 100%;
		margin-right: 0;
		background-color: #FFF;
		padding: 11px 20px 23px;
		vertical-align: top;
		margin-bottom: 2%;
	}
}

@media screen and (max-width: 767px) {
	.sec_faq .white_slash {
		display: none;
	}

	.sec_faq {
		background-color: #FFF;
		padding-bottom: 10vw;
	}

	.sec_faq .sec_body ul li {
		position: relative;
		border: 1px solid #EFEFEF;
		margin-bottom: 4vw;
		transition: 0.3s all ease;
		padding: 20px 20px 23px;
	}

	.sec_faq .sec_body ul li .title {
		display: block;
		position: relative;
		font-size: 4.6vw;
		padding-left: 19vw;
		padding-top: 0;
		padding-bottom: 0;
		padding-right: 8vw;
		background-color: #FFF;
	}

	.sec_faq .sec_body ul li .title br {
		display: none;
	}

	.sec_faq .sec_body ul li .title::before {
		width: 16.4vw;
		height: 15vw;
		background: url(../img/icn_q_sp.png) top left no-repeat;
		background-size: 100% auto;
		position: absolute;
		top: 0;
		transform: translateY(0);
	}

	.sec_faq .btn {
		position: absolute;
		top: 13vw;
		right: 3vw;
		display: table-cell;
		width: 5vw;
		height: 5vw;
	}

	.sec_faq .btn .btn_border {
		display: table-cell;
		width: 5vw;
		height: 3px;
		background-color: #222;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		transition: 0.3s all ease;
	}

	.sec_faq .btn .btn_border:nth-child(2) {
		transform: translateX(-50%) translateY(-50%) rotate(90deg);
	}

	.sec_faq .open .btn .btn_border:nth-child(2) {
		transform: translateX(-50%) translateY(-50%) rotate(0);
	}

	.sec_faq .sec_body ul li .text {
		display: block;
		height: 0;
		transition: 0.3s all ease;
		overflow-y: hidden;
	}

	.sec_faq .sec_body ul li.open .text {
		height: auto;
		transition: 0.3s all ease;
	}

	.sec_faq .sec_body ul li .textin {
		display: block;
		padding-top: 3vw;
		font-size: 3.8vw;
		line-height: 1.8;
	}

	.sec_faq .sec_body ul li .textin br {
		display: none;
	}

	.sec_head.head_01 .text_en_03 {
		font-size: 9.1vw;
		margin-bottom: 0.6em;
	}

	.sec_head.head_01 .text_jp_03 {
		font-size: 5.1vw;
	}



}

/* sec_exp */

.sec_exp {
	position: relative;
	padding-top: 207px;
}

.sec_exp .sec_head {
	padding-top: 280px;
	background: url("../img/sec_exp_rafa.png") top center no-repeat;
	background-size: auto 269px;
	position: absolute;
	top: -222px;
	width: 100%;
}

.sec_exp .sec_head h3 {
	font-size: 35px;
	line-height: 1.34;
	text-align: center;
}

.sec_exp .sec_body {
	position: relative;
}

.sec_exp .sec_body .imgbox {
	display: block;
	width: 100%;
	height: 592px;
	background: url("../img/sec_exp_img.jpg") top center no-repeat;
	background-size: auto 100%;
}

.sec_exp .sec_body p {
	position: absolute;
	right: 120px;
	top: 0;
	transform: translateX(0) translateY(100%) rotate(90deg);
	transform-origin: 100% 100%;
	font-size: 60px;
	color: #A08230;
	font-family: 'Outfit', sans-serif;
	font-weight: 500;
	z-index: 3;
}

@media screen and (max-width: 767px) {
	.sec_exp .sec_head {
		padding-top: 65vw;
		background: url(../img/sec_exp_rafa_sp.png) top center no-repeat;
		background-size: auto 61vw;
		position: static;
		top: 0;
		width: 100%;
	}

	.sec_exp {
		position: relative;
		padding-top: 0;
	}

	.sec_exp .sec_body .imgbox {
		display: block;
		width: 100%;
		height: 74.35vw;
		background: url("../img/sec_exp_img_sp.jpg") top center no-repeat;
		background-size: auto 100%;
		margin-top: 5.6vw;
	}

	.sec_exp .sec_head h3 {
		font-size: 5.64vw;
	}

	.sec_exp .sec_body p {
		position: absolute;
		right: 80px;
		top: -81vw;
		transform: translateX(0) translateY(100%) rotate(90deg);
		transform-origin: 100% 100%;
		font-size: 11.53vw;
		color: #A08230;
		font-family: 'Outfit', sans-serif;
		font-weight: 500;
	}



}

/* sec_message */

.sec_message {
	position: relative;
	padding-bottom: 40px;
}

.sec_message .sec_head {
	position: relative;
	z-index: 3;
	margin-bottom: 90px;
}

.sec_message .sec_body {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}

.sec_message .sec_body::before {
	content: "";
	display: table-cell;
	width: 680px;
	height: 621px;
	background: url("../img/sec_message_img.png") top left no-repeat;
	background-size: 100% auto;
	position: absolute;
	right: 0;
	top: 0;
}

.sec_message .sec_body .box {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding-right: 639px;
}

.sec_message .sec_body .name {
	text-align: right;
	margin-top: 108px;

}

.sec_message .sec_body .name .small {
	font-size: 10px;
	margin-right: 56px;
}

.sec_message .sec_body .name .name_name {
	font-size: 20px;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 1300px) {
	.sec_message .sec_body .box {
		width: 90%;
		max-width: 1100px;
		margin: 0 auto;
		padding-right: 40%;
	}

	.sec_message .sec_body::before {
		content: "";
		display: table-cell;
		width: 40vw;
		height: 36.5vw;
		background: url(../img/sec_message_img.png) top left no-repeat;
		background-size: 100% auto;
		position: absolute;
		right: 0;
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.sec_message .sec_body .box {
		width: 90%;
		max-width: 1100px;
		margin: 0 auto;
		padding-right: 0;
	}

	.sec_message .sec_body::before {
		display: none;
	}

	.sec_message .sec_body {
		padding-bottom: 55vw;
	}

	.sec_message .sec_body .name .name_name {
		font-size: 5.1vw;
	}

	.sec_message .sec_body .name .small {
		font-size: 2.6vw;
		margin-right: 5vw;
	}


}

/* sec_blank */
.sec_blank {
	height: 280px;
}

.sec_blank {}

@media screen and (max-width: 767px) {
	.sec_blank {
		height: 137.5vw;
		position: relative;
	}

	.sec_blank::before {
		content: "";
		display: table-cell;
		width: 100%;
		height: 159vw;
		background: url("../img/sec_message_img.png") top center no-repeat;
		background-size: auto 100%;
		position: absolute;
		top: -48vw;
		left: 0;
	}
}

/* sec_chance */

.sec_chance {}

.sec_chance .sec_head {
	padding-top: 310px;
	background: url("../img/sec_chance_img.png") top center no-repeat;
	background-size: auto 292px;
	position: absolute;
	top: -125px;
	width: 100%;
}

.sec_chance .sec_head.head_01 {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.sec_chance .sec_head.head_01 .sec_cap {
	display: table-cell;
	background: url("../img/com07.png") top left no-repeat;
	background-size: 100% auto;
	width: 255px;
	height: 179px;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-100%);
}

.sec_chance .sec_body {
	padding-top: 350px;
	text-align: center;
	padding-bottom: 19vw;
	position: relative;
}

.sec_chance .sec_body p {
	display: inline-block;
	text-align: center;
}

.sec_chance .btn_area {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	display: block;
	z-index: 900;
}

.sec_chance .btn_area .btn_youtube {
	position: absolute;
	left: 50%;
	bottom: 170px;
	transform: translateX(-580px);
}

.sec_chance .btn_area .btn_youtube a {
	display: block;
}

.sec_chance .btn_area .btn_youtube a:hover {
	opacity: 1.0;
}

.sec_chance .btn_area .btn_youtube a img {
	width: 329px;
	height: auto;
	transition: 0.3s all ease;
	transform: scale(100%);
}

.sec_chance .btn_area .btn_youtube a img:hover {
	transform: scale(105%);
	transform-origin: center center;
}

.sec_chance .btn_area .btn_top {
	position: absolute;
	right: 115px;
	bottom: 77px;
}

.sec_chance .btn_area .btn_top a {
	display: block;
}

.sec_chance .btn_area .btn_top a img {
	width: 208px;
	height: auto;
}


@media screen and (max-width: 1300px) {
	.sec_chance {
		padding-bottom: 16vw;
		box-sizing: border-box;
	}

	.sec_chance .sec_body {
		padding-top: 350px;
		padding-bottom: 0;
	}

	.sec_chance .btn_area {
		position: relative;
		height: 300px;
	}

	.sec_chance .btn_area .btn_youtube {
		position: absolute;
		left: 50%;
		top: 0;
		bottom: auto;
		transform: translateX(-50%);
	}

}

@media screen and (max-width: 767px) {
	.sec_chance .sec_head {
		padding-top: 50vw;
		background: url("../img/sec_chance_img_sp.png") top center no-repeat;
		background-size: auto 56.4vw;
		position: absolute;
		top: -30vw;
		width: 100%;
	}

	.sec_chance .sec_head.head_01 .sec_cap {
		width: 56vw;
		height: 51.4vw;
		position: absolute;
		left: 4%;
		top: -10vw;
		transform: translateX(0);
	}

	.sec_chance .sec_body {
		padding-top: 50vw;
		padding-bottom: 0;
	}

	.sec_chance .sec_body p {
		font-size: 3.2vw;
		width: 90%;
		margin: 0 auto;
		text-align: left;
		padding-bottom: 10vw;
	}

	.sec_chance .btn_area {
		position: static;
		height: auto;
	}

	.sec_chance .btn_area .btn_youtube {
		position: static;
		transform: translateX(0);
	}

	.sec_chance .btn_area .btn_youtube a {
		text-align: center;
	}

	.sec_chance .btn_area .btn_youtube a img {
		width: 100%;
		max-width: 520px;
		height: auto;
	}

	.sec_chance .btn_area .btn_top {
		position: static;
		text-align: right;
		padding: 30px;
	}

	.sec_chance .btn_area .btn_top a {
		display: inline-block;
	}
}

.scArea {}

.sc_LtoR {
	opacity: 1.0;
	transform: translateX(0);
	transition: 0.3s all ease;
}

.sc_RtoL {
	opacity: 1.0;
	transform: translateX(0);
	transition: 0.3s all ease;
}

.sc_BtoT {
	opacity: 1.0;
	transform: translateX(0);
	transition: 0.3s all ease;
}

.sc_t_BtoW {
	position: relative;
}

.sc_t_BtoW_toL {
	position: relative;
}

.sc_t_WtoB {
	position: relative;
}

.sc_t_WtoB_toL {
	position: relative;
}

footer {}

footer .footer_inner {
	position: relative;
	margin: 0 auto;
}

footer .footer_inner .row01 {
	text-align: center;
	padding: 0 90px;
	font-size: 0;
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}

footer .footer_inner .row01 .left {
	display: inline-block;
	width: 50%;
	vertical-align: top;
}

footer .footer_inner .row01 .right {
	display: inline-block;
	width: 50%;
	vertical-align: top;
}

footer .footer_inner .row01 ul {
	display: table;
	width: 100%;
}

footer .footer_inner .row01 ul li {
	display: table-row;
	font-weight: bold;
}

footer .footer_inner .row01 ul li .t_th {
	display: table-cell;
	width: 113px;
	vertical-align: top;
	font-size: 15px;
	line-height: 2.3;
}

footer .footer_inner .row01 ul li .t_td {
	display: table-cell;
	vertical-align: top;
	font-size: 15px;
	line-height: 2.3;
}

footer .footer_inner .row02 {
	width: 100%;
	position: relative;
	height: 230px;
}

footer .footer_inner .row02 .nav {
	background: url("../img/footer_black_tri.png") right bottom no-repeat;
	background-size: auto 185px;
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 185px;
}

footer .footer_inner .row02 .nav ul {
	font-size: 0;
	text-align: right;
	padding-right: 90px;
	position: absolute;
	right: 0;
	top: -20px;
	transform: rotate(-10deg);
	transform-origin: 100% 0;
	z-index: 3;
}

footer .footer_inner .row02 .nav ul li {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	margin-left: 4em;
}

footer .footer_inner .row02 .box {
	width: 94%;
	margin: 0 auto;
	position: absolute;
	bottom: 47px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 901;
}

footer .footer_inner .row02 .box .footer_logo img {
	width: 250px;
	height: auto;
}

footer .footer_inner .row02 .box .copy {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

footer .footer_inner .row02 .box .copy small {
	font-size: 12px;
	color: #FFF;
}

footer .footer_inner .gotop {
	position: absolute;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
}

footer .footer_inner .gotop a {
	display: block;
}

footer .footer_inner .gotop img {
	width: auto;
	height: 280px;
}

@media screen and (max-width: 1300px) {
	footer .footer_inner {
		text-align: center;
	}

	footer .footer_inner .row01 {
		display: inline-block;
	}

	footer .footer_inner .row01 {
		padding: 0 0 350px;
		width: auto;
	}

	footer .footer_inner .row01 .left {
		display: block;
		width: 100%;
		vertical-align: top;
	}

	footer .footer_inner .row01 .right {
		display: block;
		width: 100%;
		vertical-align: top;
	}

	footer .footer_inner .gotop {
		bottom: 160px;
	}

	footer .footer_inner .gotop a {
		padding-left: 50px;
	}

	footer .footer_inner .row02 .box .footer_logo {
		display: none;
	}

	footer .footer_inner .row01 {
		background: url("../img/footer_logo.png") bottom center no-repeat;
		background-size: 350px auto;
		padding: 0 4% 120px;
		margin-bottom: 300px;
	}


}

@media screen and (max-width: 767px) {
	footer .footer_inner .row02 {
		height: 90vw;
	}

	footer .footer_inner .row02 .nav ul {
		padding: 0;
		position: absolute;
		right: 50%;
		top: 0;
		transform: rotate(-10deg) translateX(50%) translateY(5vw);
		transform-origin: 100% 0;
		width: 100%;
		z-index: 3;
	}

	footer .footer_inner .row02 .nav ul li {
		font-size: 2.3vw;
		margin-left: 1em;
	}

	footer .footer_inner .row02 .nav ul li:nth-child(1) {
		margin-left: 1em;
	}

	footer .footer_inner .row02 .nav ul li:nth-child(1),
	footer .footer_inner .row02 .nav ul li:nth-child(2) {
		float: left;
	}

	footer .footer_inner .row02 .nav ul li:nth-last-child(2) {
		margin-right: 1.5em;
	}

	footer .footer_inner .row02 .nav ul li:nth-last-child(1) {
		margin-right: 2.5em;
	}

	footer .footer_inner .gotop {
		bottom: 22px;
		z-index: 1;
	}

	footer .footer_inner .gotop img {
		display: none;
	}

	footer .footer_inner .gotop a {
		display: table-cell;
		width: 80vw;
		height: 92.4vw;
		background: url("../img/gotop_sp.png") center center no-repeat;
		background-size: 100% auto;
		padding: 0;
	}

	footer .footer_inner .row01 {
		background: url("../img/footer_logo.png") bottom center no-repeat;
		background-size: 66vw auto;
		padding: 0 4% 23vw;
		margin-bottom: 0;
	}

	footer .footer_inner .row01 ul li {
		font-size: 3.7vw;
	}

	footer .footer_inner {
		display: block;
		margin: 0 auto;
		padding: 4vw 0 0;
	}

	footer .footer_inner .row02 .box .copy {
		width: 100%;
	}

	footer .footer_inner .row02 .box .copy small {
		width: 100%;
	}

}


/* sec_point */

.sec_point {
	padding-top: 34px;
	padding-bottom: 200px;
	position: relative;
}

.sec_point .sec_head.head_01 {
	padding-top: 0;
	margin-bottom: 120px;
}

.sec_point .sec_head.head_01 .text_jp_03 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.33;
	color: #222;
	margin-bottom: 8px;
	display: block;
	text-align: center;
	letter-spacing: -0.04em;
}

.sec_point .sec_body {
	width: 90%;
	max-width: 1100px;
	margin: 40px auto 0;
}

.sec_point .sec_body ul {
	font-size: 0;
}

.sec_point .sec_body ul li {
	display: inline-block;
	width: 48%;
	margin-right: 2%;
	background-color: #FFF;
	padding: 11px 20px 23px;
	vertical-align: top;
	margin-bottom: 2%;
}

.sec_point .sec_body ul li:nth-child(2n) {
	margin-right: 0;
}

.sec_point .sec_body ul li .box {}

.sec_point .sec_body ul li .title {
	color: #fff;
	display: block;
	position: relative;
	font-size: 24px;
	line-height: 1.66;
	padding: 80px 10px 10px 10px;
	margin-bottom: 30px;
	background-color: #3e3e3e;
	border-radius: 20px;
	text-align: center;
}

.sec_point .sec_body ul li:first-child .title {
	text-align: left;
	padding: 80px 10px 10px 30px;
}

.sec_point .sec_body ul li .title::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	display: table-cell;
	width: 207px;
	height: 54px;
}

.sec_point .sec_body ul li:first-child .title::before {
	background: url("../img/icn_point1.png") top left no-repeat;
	background-size: 100% auto;
}

.sec_point .sec_body ul li:nth-child(2) .title::before {
	background: url("../img/icn_point2.png") top left no-repeat;
	background-size: 100% auto;
}

.sec_point .sec_body ul li:nth-child(3) .title::before {
	background: url("../img/icn_point3.png") top left no-repeat;
	background-size: 100% auto;
}

.sec_point .sec_body ul li:last-child .title::before {
	background: url("../img/icn_point4.png") top left no-repeat;
	background-size: 100% auto;
}


.sec_point .sec_body ul li .title::after {
	content: "";
	position: absolute;
	bottom: 10px;
	right: 10px;
	display: table-cell;
	width: 109px;
	height: 234px;
	background: url("../img/merit_rafa.png") top left no-repeat;
	background-size: 100% auto;
}

.sec_point .sec_body ul li .text {
	font-size: 15px;
	line-height: 1.9;
}

@media screen and (max-width: 1100px) {
	.sec_point .sec_body ul li {
		display: block;
		width: 100%;
		margin-right: 0;
		padding: 11px 20px 23px;
		vertical-align: top;
		margin-bottom: 70px;
	}

	.sec_point .sec_body ul li:last-of-type {
		margin-bottom: 0;
	}

	.sec_point .sec_body ul li .title {
		padding: 80px 10px 20px 10px;
	}

	.sec_point .sec_body ul li:first-child .title {
		text-align: center;
		padding: 80px 10px 20px 10px;
	}

	.sec_point .sec_body ul li:nth-child(3) .title br {
		display: none;
	}
}

@media screen and (max-width: 767px) {

	.sec_point {
		padding-bottom: 50px;
	}

	.sec_point .sec_body ul li {
		padding: 11px 0 23px;
		margin-bottom: 50px;
	}

	.sec_point .sec_body ul li .title {
		font-size: 4.6vw;
		padding: 12vw 10px 10px 10px;
		border-radius: 3vw;
	}

	.sec_point .sec_body ul li:first-child .title {
		text-align: left;
		padding: 12vw 10px 10px 15px;
	}

	.sec_point .sec_body ul li .text {
		font-size: 3.8vw;
	}

	.sec_point .sec_body ul li .title::before {
		width: 33.12vw;
		height: 8.64vw;
	}

	.sec_point .sec_body ul li .title::after {
		bottom: 5px;
		right: 10px;
		width: 21.8vw;
		height: 46.8vw;
		background: url(../img/merit_rafa.png) bottom center no-repeat;
		background-size: 100% auto;
	}
}