/*
サイズについて
幅1120=1098×1.02=100vw
*/

@charset "UTF-8";

body {
	white-space :nowrap;
	font-size: 1.4rem;
	font-weight: 300;
}

.inner {
	width: 100%;
	padding: 0;
}



.area_cont {
    padding-bottom: 0px;
}



main > div:nth-of-type(2n+1)  {
	background-color: #fbfbfd;
}





.f_item_athird   {
	margin-right: 2vw;
	margin-bottom: 2vw;
	padding: 0px 0px 0px;
	text-align: center;
	width: 31.2%;
}




.f_item_athird_fix   {
	/* margin-right: 2vw; */
	padding: 12px 10px 0px;
	text-align: center;
	width: 33.0%;
}


.f_item_athird_fix:nth-of-type(2n)    {
	padding: 12px 0px 0px;
	width: 34%;
}




.f_item_half  {
	margin-right: 0vw;
	margin-bottom: 2vw;
	padding: 0px 5px 10px;
	text-align: center;
	width: 47.8vw;
}

.f_item_free  {
	margin-right: 0vw;
	margin-bottom: 2vw;
	padding: 30px 0px 40px;
	text-align: center;
	width: 47.8vw;
}





.f_container2 .f_item_half {
    width: 50%;
}

.f_container2 .f_item_free {
    width: 35.6%;
}



.f_item_full  {
	margin-bottom: 0px;
	padding-top: 3rem;
	padding-right: 2.4rem;
	padding-left: 2.4rem;
	padding-bottom: 3rem;
	text-align: center;
	width: 100vw;
	/* background-color: #f8fcff; */
	/* border-radius: 10px; */
	/* box-shadow: 0px 0px 8px 8px rgba(0,0,0,0.01); */
}




.f_item_half h2 {
    padding-top: 10px;
}





.nolink {
    pointer-events: none;
}





.f_item_full > div {
    padding-bottom: 0px;
}


/*
header
*/
header {
	padding: 14px 14px 14px 14px;
	position: fixed;
	top: 0;
	width: 100%;
	background-color: #fbfbfd;
	display: flex;
	/* box-shadow: 0px 4px 40px 0px rgba(0,0,0,0.1); */
	z-index: 5;
}
header .inner{
	display: flex;
	align-items: flex-end;
}
nav {
	margin: 0 0 0 auto;
}
ul {
	list-style: none;
	margin: 0;
}
li {
	/* margin: 0 15px 0 0; */
	/* font-size: 14px; */
}





#header h1 {
    width: 20em;
    align-items: center;
    line-height: 0.7em;
}






/* bager menu */
 
#header #navi {
  transition: all .6s;
  overflow-y: auto;
  padding-top: 40px;
  width: 300px;
  height: 100vh;
  z-index: 200;
  top: 0;
  right: -320px;
  background-color: #fff;
  position: fixed;
}
 
#header .nav_btn {
  width: 44px;
  height: 44px;
  z-index: 300;
  top: 18px;
  right: 20px;
  cursor: pointer;
  position: absolute;
}
 
.hamburger_line {
  transition: all .6s;
  width: 30px;
  height: 3px;
  left: 5px;
  background-color: #555;
  position: absolute;
}
 
.hamburger_line1 {top: 4px;}
.hamburger_line2 {top: 17px;}
.hamburger_line3 {top: 30px;}
 
.nav_bg {
  opacity: 0;
  transition: all .6s;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  top: 0;
  left: 0;
  visibility: hidden;
  background-color: #000;
  cursor: pointer;
  position: fixed;
}
#header #navi li {
padding: 20px;
font-size: 18px;
border-bottom: 1px solid #ccc;
}

/* 表示された時用のCSS */
.nav_open #header #navi { right: 0; }
 
.nav_open .nav_bg {
  opacity: .8;
  visibility: visible;
}
 
.nav_open .hamburger_line1 {
  transform: rotate(45deg);
  top: 20px;
}
 
.nav_open .hamburger_line2 {
  width: 0;
  left: 50%;
}
 
.nav_open .hamburger_line3 {
  transform: rotate(-45deg);
  top: 20px;
}
/*
*/


















/*
*/

                                                /* .first */
.first .inner {
	background-position: 10px 0px;
	/* height: 1580px; */
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	padding: 0 0 4rem 0;
}



.inner > div {
	width: 100%;
}

.flcon_01 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.flit_01-01 {
	flex-basis: 100%;
	text-align: center;
	padding-top: 12px;
	padding-bottom: 6px;
}
.flit_01-02 {
	flex-basis: 100%;
	text-align: center;
	background-image: url(../images/bg_top1.png);
	background-position-x: center;
	background-position-y: center;
	background-size: 120vw;
	}
.flit_01-03 {
	padding: 1.2vw 0rem 0rem 0rem;
	flex-basis: 100%;
	text-align: center;
	background-image: url(../images/bg_top2.png);
	background-position-x: center;
	background-position-y: center;
	background-repeat: no-repeat;
	background-size: 84vw;
	}





#logo_hd {
	width: 4.4rem;
	height: auto;
	vertical-align: middle;
}

#logo_top {
	width: 14.6vw;
	height:auto;
}

#img_cap_top {
	width: 86vw;
	height: auto;
}




                                                /* .second */

.inner .h1_blue {
	padding-top: 20px;
	padding-bottom: 10px;
}
.h1_blue h1{
	color: #946134;
	font-size: 34px;
	font-weight: 500;
	text-align: center;
	padding-top: 2px;
	padding-bottom: 2px;
}
#tok h1{
	color: #383838;
	font-size: 3.2rem;
	font-weight: 600;
	text-align: center;
	padding-top: 2px;
	padding-bottom: 10px;
	border-bottom: solid 1px #dfdfdf;
	position: relative;
}
#tok h1 .h1-lead {
  display: block;
  font-size: 0.55em; /* または clamp(0.8rem, 2vw, 1.2rem) など */
  font-weight: normal;
}

#tok h1:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 1px #424242;
	bottom: -1px;
	width: 30%;
	left: 35%;
}



.h1_blue p {
	color: #4D4D4D;
	/* font-size: 18px; */
	font-weight: 300;
	text-align: center;
}
.second .inner {
	padding-top: 0px;
}









#gamen_button {
	padding-top: 18px;
	padding-bottom: 0px;
}
#gamen_button a {
	display: block;
	width: 100%;
	height: 62px;
	background-color: #FFFFFF;
	border: 1px solid #f7931f;
	border-radius: 32px;
	text-align: center;
	color: #f7931f;
	font-size: 3.3vw;
	font-weight: 400;
	margin-bottom: 12px;
	/* padding-top: 14px; */
	box-shadow: 0px 0px 14px 14px rgba(0, 0, 0,0) ,0px 4px 4px 4px rgba(0, 0, 0,0.06);
	transition: all 0.6s;
	line-height: 12px;
	position: relative;
}
#gamen_button a:hover  {
	background-color: #FFFFFF;
	border: 1px solid #f7931f;
	color: #f7931f;
	box-shadow: 0px 0px 14px 14px rgba(11, 127, 197,0.1) ,0px 4px 4px 4px rgba(0, 0, 0,0.06);
	transition: all 0.4s;
}


#gamen_button a>div {
	position:absolute;
	top: 47%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
}




#toi_button {
	padding-top: 88px;
	padding-bottom: 0px;
}
#toi_button a {
	display: block;
	width: 83vw;
	height: 62px;
	background-color: #f7931f;
	border: 1px solid #f7931f;
	border-radius: 32px;
	text-align: center;
	color: #ffffff;
	font-size: 17px;
	font-weight: 400;
	margin-bottom: 22px;
	padding-top: 14px;
	/* box-shadow: 0px 0px 14px 14px rgba(0, 0, 0,0) ,0px 4px 4px 4px rgba(0, 0, 0,0.06); */
	transition: all 0.6s;
	margin: 0 auto;
}
#toi_button a:hover  {
	background-color: #FFFFFF;
	border: 1px solid #f7931f;
	color: #f7931f;
	box-shadow: 0px 0px 14px 14px rgba(11, 127, 197,0.1) ,0px 4px 4px 4px rgba(0, 0, 0,0.06);
	transition: all 0.4s;
}















														/* .third */




										/* 画像上から .second */


										/* .fourth */


.f_container {
	display: flex;
	flex-wrap: wrap;
}

.f_container2 {
	display: flex;
	flex-wrap: wrap;
}

.f_container > .f_item_athird_fix:nth-of-type(3n)  {
	margin-right: 0px;
}

.f_container > .f_item_athird:nth-of-type(3n)  {
	margin-right: 0px;
}


.f_container2 > .f_item_half:nth-of-type(2n)  {
	margin-right: 0px;
}

.f_container2 > .f_item_free:nth-of-type(2n)  {
	margin-right: 0px;
}



.area_cont h2 {
    font-size: 2.4rem;
    font-weight: 800;
    color: #222222;
    /* line-height: 3.2rem; */
    padding-top: 1rem;
    padding-bottom: 0.6rem;
}

.area_cont h3 {
    font-size: 2.4rem;
    font-weight: 800;
    color: #222222;
    line-height: 3.2rem;
    padding-bottom: 1.4rem;
    padding-top: 2rem;
}




.area_cont > div > p {
    word-break: keep-all;
}








figure.pic1 img {
    border-radius: 6px;
    width: 100%;
}






img.img_4_tok {
    padding: 0.8rem 0rem 0rem 0rem;
    width: 86vw;
    height: auto;
}

.flit_01-03 h2 {
    font-size: 4.6vw;
    font-weight: 900;
}

.flit_01-03 span {
    font-size: 7.2vw;
}


.f_container2 h2 {
    font-size: 1.4rem;
    font-weight: 300;
}

.f_rowrap_center {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}



img#img_mailline {
    width: 20rem;
}








										/* アラート */
.balloon1 {
  position: relative;
  display: inline-block;
  margin: 1.2rem 0.5vw;
  padding: 0.8rem 3vw;
  min-width: 120px;
  max-width: 100%;
  /* color: #555; */
  font-size: 1.3rem;
  background: #eeeeee;
  font-weight: 500;
  border-radius: 12px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 8px solid #eeeeee;
}

.balloon1 p {
  margin: 0;
  padding: 0;
}



										

.f_item_full h3 {
    font-size: 2.8rem;
    font-weight: 300;
}



										/* オプション */



#op_etagpro {
    width: 38%;
}

#op_dome {
    width: 23%;
}

#op_walldis {
    width: 34%;
}




#img_op_etagpro {
    width: 56%;
}

#img_op_dome {
    width: 100%;
}

#img_op_walldis {
    width: 100%;
}






.f_item_free>div {
    height: 12rem;
    display: flex;
    align-items: center;
}






.option h3 {
    font-size: 2.0rem;
    font-weight: 200;
    line-height: 2.4rem;
}

.option h3 span {
    font-size: 2.0rem;
    font-weight: 200;
}

.f_item_athird_fix h2 {
    padding: 0rem 0rem 0.4rem 0rem;
    font-size: 2.2rem;
}

.div_4_tok {
    padding: 0.8rem 0rem 0rem 0rem;
}





										/* オプション */



.footer div {
    width: 100%;
    display: flex;
    flex-direction: column;
}



.footer ul {display: flex;flex-direction: column;}

.footer li {
    margin: 0 15px 0 0;
    font-size: 1.4rem;
    font-weight: 300;
}

.footer .ftin {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding-bottom: 3rem;
}

.footer nav {
    margin: 0;
    /* top: -1.6rem; */
    position: relative;
}

.footer #logo_hd {
    width: 4rem;
}

.footer #ttl_hd {
    font-size: 1.6rem;
}

.footer #logo_hayato {
    margin-left: 0rem;
    width: 12rem;
    top: 0.4rem;
    position: relative;
}




