@charset "utf-8";

/* heightmap */
/* z-idnex:
110: search_modal
100: header
95: menu
90: nav
85: body.single picture#eyecatch
80: single h2.fixed_title
*/

/* var */
:root {
  --bgc1: #9F9C93;
  --bgc2: #6F7E66;
  --bgc3: #E4EFDE;
}

/* usage: background-color: var(--bgc1); */

/* -------------------------------------------- */
/* common ------------------------------------- */
/* -------------------------------------------- */

html {
	overflow-y: scroll;
}

body {
	padding: 0;
	overflow-x: auto;
	overflow-y: auto;
	-webkit-text-size-adjust: none;
	-webkit-user-select: default;
	-webkit-font-smoothing: antialiased;
	font-family: YakuHanJP, "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, "Jost", sans-serif;
	/*text-shadow: 0 1px 1px #000000;*/
	font-size: 16px;
	line-height:32px;
	color:#000000;
}

.adpb {
	font-family: 'Jost';
}

.minc {
	font-family: serif;
}


h1,h2,h3,h4,h5,h6 {
	font-weight:bold;
	margin: 0;
	padding: 0;
}

ul,
p,
form {
	margin: 0;
	padding: 0;
}

input {
	outline: none;
}

li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-indent: 0;
}

a {
	text-decoration: none;
	color: #2B2A2B;
}

a:hover {
	text-decoration: none;
	color:#2B2A2B;
}

a img {
	border: none;
}

.fbox {
	zoom: 100%;
}

.fbox:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

sup {
	position:relative;
	top:-0.4em;
	_top:0px;
}

.hd {
	text-indent:-9999px;
}

.opa60 {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";

	-webkit-transition: all .1s;
	-moz-transition: all .1s;
	-ms-transition: all .1s;
	-o-transition: all .1s;
	transition: all .1s;
}

.opa60:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";

	-webkit-transition: all .1s;
	-moz-transition: all .1s;
	-ms-transition: all .1s;
	-o-transition: all .1s;
	transition: all .1s;
}

#mbflg { /* flg obj for mobile css detection for js */
	width:1px;
	height:1px;
	position:absolute;
	left:-1px;
	top:0;
	overflow:hidden;
}

.show_only_pc.inline {
	display:inline;
}

.show_only_mobile {
	display:none;
}

.noborder {
	border:none !important;
}

.bold {
	font-weight:bold;
}

.fs_xl { font-size: 2.5rem; /* 40px based on 16px root */ }
.fs_ll { font-size: 1.875rem; /* 30px */ }
.fs_l { font-size: 1.375rem; /* 22px */ }
.fs_m { font-size: 1.125rem; /* 18px */ }
.fs_s { font-size: 0.875rem; /* 14px */ }
.fs_ss { font-size: 0.750rem; /* 12px */ }
.fs_sss { font-size: 0.625rem; /* 10px */ }

.fc_white { color:#FFF; }
.fc_wg { color: #AFAFAF; }

/* for contact form7 abs validation */
.use-floating-validation-tip span.wpcf7-not-valid-tip {
	top:1em !important;
	width:30em !important;
}

.wpcf7-validates-as-required.wpcf7-not-valid {
	background-color:#FFBCCC;
}

.wpcf7-validates-as-required.wpcf7-not-valid + .wpcf7-not-valid-tip {
	display:none;
}

/* common end */


/* contents */

body {
	position:relative;
}

/* -------------------------------------------- */
/* header ------------------------------------- */
/* -------------------------------------------- */

header {
	width:100vw;
	height: 100dvh;
	display:block;
	background :url(../images/image_forest.jpg) #000 center center no-repeat;
	background-position: center center;
	background-size:cover;
	position:relative;
}

header h1 {
	width:217px;
	height:54px;
	background-image:url(../images/fdb_logo_mono_wg.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size:contain;
	position:fixed;
	left:89px;
	top:14px;
	z-index:90;
}

header h1.fill_white {
	background-image:url(../images/fdb_logo_mono_wh.png);
}

header h2 {
	position:fixed;
	left:331px;
	top:26px;
	vertical-align:top;
	z-index:90;
}

.tx_mirai_catch {
    background: url(../images/tx_footer_mirai.svg) center center no-repeat;
    background-size: contain;
}

header .tx_mirai_catch {
    position:absolute;
    top:calc(50% - 35px);
    left:0;
    right:0;
    margin:0 auto;
    width: 515px;
    height: 59px;
}

header .tx_mirai_alpb {
	font-family: "Fraunces", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: italic;
	font-variation-settings:
		"SOFT" 0,
		"WONK" 0;
	position:absolute;
    top:calc(50% - 35px);
	width:100%;
	text-align:center;
	font-size:60px;
	color:#FFFFFF;
}

.tx_mirai_en {
    background: url(../images/tx_footer_mirai_alpb.svg) center center no-repeat;
    background-size: contain;
}

header .tx_mirai_en {
    width: 278px;
    height: 30px;
    position:absolute;
    
}

header .tx_mirai_jp {
	top:calc(50% + 30px);
	position:absolute;
	width:100%;
	text-align:center;
	color:#FFFFFF;
}

header #ic_scroll {
	width: 20px;
	height: 150px;
	background: url(../images/ic_scroll.svg) center top no-repeat;
    background-size: contain;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    margin:0 auto;
}

/* scroll 線の描写 */
#ic_scroll::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
	left: -5px;
    /*線の形状*/
	width: 2px;
	height: 150px;
	background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 3.4s ease-in-out infinite;
	opacity:0;
}

/* scroll 高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:80px;
		opacity: 1;
	}
	100%{
		height:0;
		top:150px;
		opacity: 0;
	}
}

header #bt_open_menu {
	position:fixed;
	left:32px;
	top:32px;
	z-index:90;
}

header #bt_open_menu svg {
	display:block;
}

.fill_wg { fill:#AFAFAF; }
.fill_white { fill:#FFFFFF; color:#FFFFFF; }

/* header end */

/* -------------------------------------------- */
/* menu          ------------------------------ */
/* -------------------------------------------- */

/* menu */
#menu {
	background-color: var(--bgc2);
	width:344px;
	height:100dvh;
	position:fixed;
	top:0px;
	z-index:95;
	overflow-y:auto;
	left: -100%;
	filter:drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.2));
	z-index:95;
}

#menu #bt_close_menu {
	position:absolute;
	left:16px;
	top:16px;
}

#menu .wrapper {
	padding: 80px 48px 0 30px;
	color:#FFFFFF;
}

#menu #menu_logo {
	background:url(../images/fdb_logo_mono_wh.png) transparent no-repeat center center;
	width:210px;
	height:47px;
	background-size:contain;
	margin:0 auto 40px auto;
}

#menu #menu_mirai {
	width:100%;
	border-radius: 15px;
	border:2px solid #FFF;
	position:relative;
	height:200px;
	background:url(../images/image_forest.jpg) center center no-repeat;
	background-size: cover;
}

#menu .tx_mirai_catch {
    position:absolute;
    top:calc(50% - 29px);
    left:0;
    right:0;
    margin:0 auto;
    width: 226px;
    height: 29px;
}

#menu .tx_mirai_en {
    width: 174px;
    height: 15px;
    position:absolute;
    top:calc(50% + 5px);
    left:0;
    right:0;
    margin:0 auto;
}

.menu_links {
	margin-top:60px;
	padding:0 16px;
}

.menu_links h1 {
	border-bottom: 1px solid #FFF;
}

.menu_links h1 a {
	color:#FFF;
	display:block;
	padding-right:10px;
	width:calc(100% -10px);
	background:url(../images/ic_gt.svg) right center no-repeat;
	background-size: 7px 10px;
}

.menu_links ul {
	margin-top:20px;
}

.menu_links ul li {
	margin-top:10px;
}

.menu_links ul li a {
	color:#FFF;
	display:block;
	height:2em;
	line-height:2em;
	padding-right:10px;
	width:calc(100% -10px);
	background:url(../images/ic_gt.svg) right center no-repeat;
	background-size: 7px 10px;
}

#menu_copyright {
	position:absolute;
	bottom:30px;
	left:0;
	text-align:center;
	width:100%;
	color:#FFF;
}


/* -------------------------------------------- */
/* general pages ------------------------------ */
/* -------------------------------------------- */

.contents {
	width:100%;
	display:block;
	background-color:#FFF;
	padding-top:0px;
}

.contents > .wrapper {
	position:relative;
	width:100%;
	margin:0 auto;
}

section#intro1 {
	background-color:#FFF;
	width:100%;
	padding-top:100px;
}

section#intro1,
section#intro2,
section#intro3 {
	text-align:center;
}

section#intro1 .text {
	line-height:2em;
}


.concept_box {
	margin:40px auto 100px auto;
	color:#FFF;
}

#reversed_landfinding {
	background:url(../images/image_koremade_pc.png) center top no-repeat;
	background-size:contain;
	width:960px;
	height:360px;
}

.ic {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	margin:0 auto;
}

.concept_box .ic.ic_heart {
	background-image: url(../images/ic_heart.svg);
	width:55px;
	height:46px;
}

.concept_box .ic.ic_home {
	background-image: url(../images/ic_home.svg);
	width:55px;
	height:50px;
}

.concept_box .ic.ic_land {
	background-image: url(../images/ic_land.svg);
	width:62px;
	height:18px;
}

.concept_box .text {
	margin:20px auto 30px auto;
}

section#intro1 .text:last-child {
	margin-bottom:0;
}

.concept_box .ic.ic_arrow_down {
	background-image: url(../images/ic_arrow_down.svg);
	width:14px;
	height:30px;
	margin-bottom:30px;
}

.ic_tri_down {
	background-image: url(../images/ic_tri_right.svg);
	width:8px;
	height:14px;
}

.ic_open_menu {
	/*background-image: url(../images/bt_open_menu.svg);*/
	width:25px;
	height:17px;
}

.ic_close_menu {
	background-image: url(../images/bt_close_menu.svg);
	width:17px;
	height:17px;
}

#fdb_plusone_concept {
	background:url(../images/image_korekara_pc.png) center top no-repeat;
	background-size:contain;
	width:960px;
	height:360px;
}

.concept_box .ic.ic_cycle {
	background-image: url(../images/ic_cycle.svg);
	width:166px;
	height:155px;
}

.ic_wealth {
	background-image: url(../images/ic_wealth.svg);
	width:1em;
	height:1em;
	display:inline-block;
	vertical-align:top;
	margin-right:0.2em;
}

/* intro1 v2 */
section#intro1.v2 {
	padding-top:150px;
	padding-bottom:135px;
}

.v2 > h2 + div {
	margin-top:115px;
}

.v2 > div + div {
	margin-top:1em;
}

.v2 > h2:nth-of-type(n + 2) {
	margin-top:115px;
}

#intro1.v2 picture {
	margin-top:80px;
	display:block;
}

.v2 > h3 {
	margin-top:115px;
}

.v2 > h3 + div {
	margin-top:60px;
}

.fdb_sections > a {
	display:flex;
	width:680px;
	margin: 0 auto;
	border:1px solid #AFAFAF;
	border-radius: 10px;
}

.fdb_sections > a figure {
	width:200px;
	height:150px;
	display:block;
	
}

.fdb_sections > a figure img {
	object-fit:cover;
	width:200px;
	height:150px;
	border-radius: 8px 0 0 8px;
}

.fdb_sections > a .text {
	padding: 0 20px;
	display:flex;
	align-items:center;
	text-align:left;
}

/* intro2 */

section#intro2 div.wrapper {
	
	padding-top:100px;
	background-color:var(--bgc3);
}

#intro2 > .wrapper > .text {
	margin-top:40px;
}


#intro2 h1 {
	vertical-align:top;
}

#intro2 h1 span {
	vertical-align:top;
}

#intro2 h1 span.ic_wealth {
	vertical-align:middle;
}

.ul {
	border-bottom: 2px solid #000;
}

#intro2 .text {
	margin-top:100px;
	line-height:1.8em;
	padding-bottom:100px;
}

#intro2 picture {
	display:block;
	width:1128px;
	height:auto;
	margin: 0 auto;
}

#intro2 picture img {
	width:1128px;
	height:734px;
	object-fit:cover;
	object-position:center center;
	display:block;
}

#intro2 picture:first-of-type {
	margin:0 auto 100px auto;
	width:100vw;
	left: 50%;
	transform: translateX(-50%);
	position:relative;
	display:block;
}

#intro2 picture:first-of-type img {
	width:100vw;
	height:572px;
	object-fit:cover;
	object-position:center center;
	display:block;
}

#intro2 picture:nth-of-type(n+2) {
	margin-bottom:40px;
}

/* 箸休めゾーン */
#rest {
	/*display: flex;
	justify-content: center;
	align-items: center;*/
	
	width: 100vw;
	height: 510px;
	
	position: relative;
	clip-path: inset(0);
	z-index: 2;
}

#rest_bg {
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	content: '';
	width: 100vw;
	height: 100vh;
	background-image: url(../images/image_forest.jpg);
	
	background-attachment: scroll;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

#rest .mask {
	background-color:rgba(0,0,0,0.3);
	width:100vw;
	height:100%;
	position: absolute;
	left:0;
	top:0;
}

section#intro3 {
	color:#FFFFFF;
	background-color: var(--bgc2);
	padding-top:120px;
	padding-bottom:140px;
}

section#intro3 .text {
	margin: 40px 0 80px 0;
}
section#intro3 .image_wrapper {
	width:774px;
	margin:0 auto;
	display: flex;
}

section#intro3 .image_wrapper picture {
	width:342px;
	display:block;
	margin:0;
}

section#intro3 .image_wrapper picture img {
	width:100%;
	display:block;
}

section#intro3 .image_wrapper .ic {
	margin: auto;
	
}

section#intro4 {
	padding:120px 0;
	text-align:center;
}

section#intro4 .text {
	margin-top:40px;
}

section#intro4 .bt_wrapper {
	margin-top:60px;
}

.bt_with_shadow {
	display:block;
	width:342px;
	height:60px;
	line-height:60px;
	margin:0 auto;
	color:#2B2A2B;
	text-align:center;
	background-color:#FFFFFF;
	border: 1px solid #2B2A2B;
	border-radius: 30px;
}

#hor_car_box {
	width:100vw;
	overflow-x:hidden;
	margin-top:100px;
}

#horizontal_carousel_images {
	display:flex;
	flex-wrap:nowrap;
	width:100%;
	justify-content: flex-start;
}

#horizontal_carousel_images picture {
	display:block;
	width:326px;
	height:245px;
	flex-shrink:0;
}

#horizontal_carousel_images picture img {
	object-fit:cover;
	object-position:center center;
	width:100%;
	height:100%;
	display:block;
}

/* カルーセル02 */
#hor_car_box02 {
	width:100vw;
	overflow-x:hidden;
}

#horizontal_carousel_images02 {
	display:flex;
	flex-wrap:nowrap;
	width:100%;
	justify-content: flex-start;
}

#horizontal_carousel_images02 picture {
	display:block;
	width:500px;
	height:360px;
	flex-shrink:0;
}

#horizontal_carousel_images02 picture img {
	object-fit:cover;
	object-position:center center;
	width:100%;
	height:100%;
	display:block;
}

/* general pages end */


/* -------------------------------------------- */
/* footer ------------------------------------- */
/* -------------------------------------------- */

section#section_mirai {
	width:100%;
	background:url(../images/image_forest_hor.jpg) center center no-repeat;
	background-size:cover;
	padding: 110px 0 75px;
}

section#section_mirai div#tx_mirai_catch {
	width:515px;
	height:59px;
	background:url(../images/tx_footer_mirai.svg) center center no-repeat;
	background-size:contain;
	margin: 0 auto;
}

section#section_mirai div#tx_mirai_en {
	margin:10px auto 0 auto;
	width:278px;
	height:30px;
	background:url(../images/tx_footer_mirai_alpb.svg) center center no-repeat;
	background-size:contain;
}

#bt_footer_view_detail {
	margin:38px auto 0 auto;
	width:200px;
	height:48px;
	display:block;
	background:url(../images/bt_see_detail.png) center center no-repeat;
	background-size:contain;
}

footer {
	width:100%;
	background-color:#2B2A2B;
	padding:40px 0 30px 0;
}

footer #footer_logo {
	width:232px;
	height:52px;
	background:url(../images/fdb_logo_mono_wh.png) center center no-repeat;
	background-size:contain;
	margin:0 auto;
}

footer #footer_bt_contact {
	width:900px;
	height:40px;
	line-height:40px;
	border:2px solid #FFF;
	border-radius:20px;
	margin: 30px auto 0 auto;
	display:block;
	text-align:center;
	color:#FFF;
	text-decoration:none;
}

footer #copyright_text {
	margin-top:50px;
	text-align:center;
}

footer a,
footer a:hover {
	color:#FFF;
	text-decoration:none;
}

footer #copyright_text span:first-child {
	margin-right:20px;
}

/* css animation */
.hovanim01{
	-webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;

	background-color: #FFF;
	border-radius:0 0 18px 0;
	-moz-border-radius:0 0 18px 0;
	-webkit-border-radius:0 0 18px 0;
}

.hovanim01:hover{
	-webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;

	background-color: #fbbb01;
}

.grecaptcha-badge { visibility: hidden; }

