@charset "utf-8";

/* for smartphones */

@media only screen and (max-width : 768px) {
	/* var */
	:root {
	  --sidemargin: 36px;
	  --automargin: 72px;
	}

	@media only screen and (max-width : 390px) {
		/* var */
		:root {
		  --sidemargin: 16px;
		  --automargin: 32px;
		}
		/* usage: margin: 0 var(--sidemargin) 0 var(--sidemargin); */
		/* usage: width: calc(100% - var(--automargin)); */
	}

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

body {
	font-size:14px;
	line-height:24px;
}

.show_only_pc {
	display:none;
}

.show_only_mobile {
	display:block;
}

.show_only_mobile.inline {
	display:inline;
}

.show_only_pc.inline {
	display:none;
}

.fs_xl { font-size:1.06rem; }
.fs_ll { font-size:1.06rem; }
.fs_l { font-size:0.875rem; }
.fs_m  {
	/* font-size: 0.8125rem; */
	font-size: 1rem;
}

/* header */
header {
	height:100dvh;
	height:100lvh;
}

header h1, header h1.fill_white {
	background:none;
}

header h2 {
	display:none;
}

header .tx_mirai_catch {
	width: 304px;
	height: 35px;
	top: calc(50% - 40px)
}

header .tx_mirai_en {
	top: calc(50% + 5px)
}

header #ic_scroll {
	width: 15px;
	height: 132px;
}

#ic_scroll::after {
    height: 132px;
}

@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:40px;
		opacity: 1;
	}
	100%{
		height:0;
		top:132px;
		opacity: 0;
	}
}

header #bt_open_menu {
	width:30px;
	height:22.5px;
}

header #bt_open_menu {
	left:16px;
	top:16px;
}

header .tx_mirai_alpb {
	top:calc(50% - 130px);
	line-height:110%;
}

#horizontal_carousel_images02 picture {
	width:195px;
	height:141px;
}

/* contents */

.contents {
	padding-top:40px;
}

.contents > .wrapper {
	width:calc(100vw - var(--automargin));
	width:100%;
}

section#intro1 {
	padding-top:0;;
}

.concept_box {
	margin: 40px auto;
	padding: 0;
}

#reversed_landfinding {
	background: url(../images/image_koremade_sp.png) center top no-repeat;
	background-size:contain;
	width: calc( 100vw - var(--automargin) );
	height: calc( (100vw - var(--automargin)) / 326 * 424 );
}

#fdb_plusone_concept {
    background: url(../images/image_korekara_sp.png) center top no-repeat;
    background-size: contain;
    width: 326px;
    height: 451px;
	width: calc( 100vw - var(--automargin) );
	height: calc( (100vw - var(--automargin)) / 326 * 451 );
}

section#intro2 div.wrapper {
	padding-top:60px;
	background-color:#FFF;
}

section#intro1.v2 {
	padding-top:20px;
	padding-bottom:60px;
}

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

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

#intro1.v2 picture {
	width:80vw;
	margin:20px auto 0 auto;
}

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

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

#intro1.v2 picture img {
	width:80vw;
	height:72vw;
	object-fit:contain;
}

.fdb_sections > a {
	width:calc(100vw - 16px);
	margin: 0 auto;
}

.fdb_sections > a figure {
	width:calc((100vw - 16px) * 0.3);
	height:calc((100vw - 16px) * 0.3 / 200 * 150);
}

.fdb_sections > a figure img {
	width:calc((100vw - 16px) * 0.3);
	height:calc((100vw - 16px) * 0.3 / 200 * 150);
	height:auto;
}



#intro2 .text {
	margin-top:40px;
	padding-bottom:60px;
}

#intro2 picture {
	width:100vw;
	position: relative;
    left: 50%;
    transform: translateX(-50%);
}

#intro2 picture img {
	width:100%;
	height:100%;
}

#intro2 picture:first-of-type {
	margin-bottom:30px;
	height:65vw;
}

#intro2 picture:first-of-type img {
	height:100%;
}

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

section#intro2.v2 div.wrapper  {
	background-color: var(--bgc3);
}

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

#rest {
	height:48vw;
}

#rest_bg {
	height: 100lvh;
}

section#intro3 {
	width: calc(100vw - (var(--sidemargin)*3) );
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    padding: 60px calc(var(--sidemargin)/2*3);
}

section#intro3 .text {
	margin: 30px 0;
	text-align:left;
}

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

section#intro3 .image_wrapper picture img {
	width:100%;
	margin:0 auto;
}

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

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

section#intro4 {
	width: calc(100vw - (var(--sidemargin)*3) );
	padding: 60px calc(var(--sidemargin)/2*3);
}

section#intro4 .text {
	margin-top:30px;
	text-align:left;
}

#hor_car_box {
	margin-top:40px;
	width:100vw;
	left: 50%;
	transform: translateX(-50%);
	position:relative;
}

#horizontal_carousel_images picture {
	width:188px;
	height:141px;
}

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

.bt_with_shadow {
	width:100%;
	box-sizing: border-box;
}

footer #footer_bt_contact {
	width:220px;
	height:35px;
	line-height:35px;
}

footer #copyright_text span:first-child {
	display:block;
	font-size:80%;
}

footer #copyright_text span:last-child {
	display:block;
	font-size:80%;
}

#menu {
	width:100vw;
}

#menu .wrapper {
	padding-left:calc(var(--sidemargin)*2);
	padding-right:calc(var(--sidemargin)*2);
}


/* @media arc end */
}