@charset "utf-8";

* {
box-sizing: border-box;
}
body {
background-color: #EFEFEF;
}
.contents_area {
margin-bottom: 30vh;
}
.cont_box {
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  font-weight: 500;
}
.core_box ol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100vh;
  margin: auto;
  padding: 0;
}
.core_box ol li {
  color: #000;
  text-align: left;
}
.cont_box_txt {
  width: 100%;
  margin: 10vh auto;
  padding: 0;
  font-weight: 500;
}
/*** 左にイメージ ***/
.cont_box_l {
  width: 100%;
  height: 100vh;
  margin: 20vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_l ol {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100vh;
  margin: auto;
  padding: 0;
}
.cont_box_l ol li {
  color: #000;
  text-align: left;
  height: 100vh;
}
.cont_box_l ol li:first-of-type {
width: 48%;
height: auto;
margin-right: 5%;
line-height: 1em;
}
.cont_box_l ol li:first-of-type img {
width: 100%;
height: auto;
}
.cont_box_l ol li:last-of-type {
width: 40%;
height: auto;
}

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

.cont_box_txt {
  width: 100%;
  margin: 3vh auto;
  padding: 0;
  font-weight: 500;
}
.cont_box_l {
  width: 100%;
  height: auto;
  margin: 3vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_l ol {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap-reverse;
  width: 100%;
  height: auto;
  margin: auto;
  padding: 0;
}
.cont_box_l ol li {
width: 100%;
  color: #000;
  text-align: left;
  height: auto;
}
.cont_box_l ol li:first-of-type {
width: 90%;
height: auto;
margin: 2em auto;
line-height: 1em;
}
.cont_box_l ol li:first-of-type img {
width: 100%;
height: auto;
}
.cont_box_l ol li:last-of-type {
width: 90%;
height: auto;
margin: 2em auto;
}
}

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

.cont_box_txt {
  margin: 3vh auto;
}
.cont_box_l {
  margin: 2vh 0 0;
}
}

/*** 右にイメージ ***/
.cont_box_n {
  width: 100%;
/*  height: 100vh;*/
  margin: 20vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_n ol {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto 5rem;
  padding: 0;
}
.cont_box_n ol li {
  color: #000;
  text-align: left;
}
.cont_box_n ol li:first-of-type {
width: 45%;
height: auto;
margin-right: 5%;
}

.cont_box_n ol li:nth-of-type(2) {
width: 45%;
height: auto;
line-height: 1em;
}
.cont_box_n ol li:lnth-of-type(2) img {
width: 100%;
height: auto;
}
.cont_box_n ol li:last-of-type {
width: 100%;
height: auto;
margin: 4rem 0 4rem 5%;
}

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

/*** 右にイメージ ***/
.cont_box_n {
  width: 100%;
/*  height: 100vh;*/
  margin: 20vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_n ol {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto 5rem;
  padding: 0;
}
.cont_box_n ol li {
  color: #000;
  text-align: left;
}
.cont_box_n ol li:first-of-type {
width: 90%;
height: auto;
margin: auto;
margin-bottom: 6rem;
order: 1;
}

.cont_box_n ol li:nth-of-type(2) {
width: 100%;
height: auto;
line-height: 1em;
text-align: right;
order: 3;
}
.cont_box_n ol li:nth-of-type(2) img {
width: 95%;
height: auto;
}
.cont_box_n ol li:last-of-type {
width: 90%;
height: auto;
margin: auto;
margin-bottom: 6rem;
order: 2;
}
}



/*** CSR用 ***/
.cont_box_csr {
  width: 100%;
  height: 100vh;
  margin: 20vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_csr ol {
  display: flex;
  justify-content: space-between;
  align-items:flex-start;
  flex-wrap: wrap;
  width: 90%;
  height: 100vh;
  margin: auto;
  padding: 0;
}
.cont_box_csr ol li {
  color: #000;
  text-align: left;
  height: 100vh;
}
.cont_box_csr ol li:first-of-type {
width: 100%;
height: auto;
}
.cont_box_csr ol li:nth-of-type(2) {
width: 32.5%;
height: auto;
}
.cont_box_csr ol li:last-of-type {
width: 67.5%;
height: auto;
}
.cont_box_csr ol li .csr_tbox {
vertical-align: middle;
}
.cont_box_csr ol li table {
width: 100%;
height: 100%;
}
.cont_box_csr ol li table tr td {
width: auto;
padding: 0 0 0 6%;
vertical-align: middle;
}

@media screen and (max-width:850px){
/*** CSR用 ***/
.cont_box_csr {
  width: 100%;
  height: auto;
  margin: 5vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_csr ol {
  display: flex;
  justify-content: space-between;
  align-items:flex-start;
  flex-wrap: wrap;
  width: 90%;
  height: auto;
  margin: auto;
  padding: 0;
}
.cont_box_csr ol li {
  color: #000;
  text-align: left;
  height: 100vh;
}
.cont_box_csr ol li:first-of-type {
width: 100%;
height: auto;
}
.cont_box_csr ol li:nth-of-type(2) {
width: 32.5%;
height: auto;
}
.cont_box_csr ol li:last-of-type {
width: 67.5%;
height: auto;
}
.cont_box_csr ol li .csr_tbox {
vertical-align: middle;
}
.cont_box_csr ol li table {
width: 100%;
height: 100%;
}
.cont_box_csr ol li table tr td {
width: auto;
padding: 0 0 0 6%;
vertical-align: middle;
}
}

@media screen and (max-width:470px){
.cont_box_csr {
  width: 100%;
  height: auto;
  margin: 5vh 0 0;
  padding: 0;
  font-weight: 500;
}
.cont_box_csr ol {
  display: flex;
  justify-content: space-around;
  align-items:flex-start;
  flex-wrap: wrap;
  width: 90%;
  height: auto;
  margin: auto;
  padding: 0;
}
.cont_box_csr ol li {
  color: #000;
  text-align: left;
  height: 100vh;
}
.cont_box_csr ol li:first-of-type {
width: 100%;
height: auto;
}
.cont_box_csr ol li:nth-of-type(2) {
width: 56%;
height: auto;
}
.cont_box_csr ol li:last-of-type {
width: 35%;
height: auto;
}
.cont_box_csr ol li .csr_tbox {
vertical-align: middle;
}
.cont_box_csr ol li table {
width: 100%;
height: 100%;
}
.cont_box_csr ol li table tr td {
display: block;
width: 100%;
padding: 0 0 0 6%;
vertical-align: middle;
}
.csr_copy_sp {
width: 90%;
margin: 1em auto;
}
}
/******** rubi *******/
ruby {
margin: 0;
padding: 0;
}
ruby rt {
font-size: 50%;
margin: 0 0 -0.5em;;
padding: 0;
}

/***** base *****/
.main_title {
width: 100%;
height: 100vh;
background-color: #EFEFEF;
padding: 0 0 0 0;
box-sizing: border-box;
display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
 .bg_info {

}
.main_title h1.title_copy {
font-size: 6vw;
font-weight: normal;
line-height: 1.0em;
}
.main_title ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
}
.main_title ul li {
margin: 0;
padding: 0;
position: absolute;
}
.main_title ul li:first-of-type {
width: auto;
top: 34vh;
left: 10vw;
	z-index: 20;
}
.main_title ul li:last-of-type {
	width: 55vw;
	height: 100vh;
	top: 0;
	right: 0;
	z-index: 10;
	overflow: hidden;
}
.main_title ul li:last-of-type img {
	width: 55vw;
}
.pankuzu {
position: absolute;
bottom: 5%;
left: 10vw;
z-index: 50;
font-size: 1vw;
}


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

.contents_area {
margin-bottom: 5vh;
}

.main_title ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
}
.main_title ul li {
margin: 0;
padding: 0;
position: absolute;
}
.main_title ul li:first-of-type {
width: auto;
top: 34vh;
left: 10vw;
	z-index: 20;
}
.main_title ul li:last-of-type {
	width: 55vw;
	height: 100vh;
	top: 0;
	right: 0;
	z-index: 10;
	overflow: hidden;
}
.main_title ul li:last-of-type img {
	width: auto;
	height: 100vh;
}
.pankuzu {
position: absolute;
bottom: 5%;
left: 10vw;
z-index: 50;
font-size: 2vw;
}
}
@media screen and (max-width:470px){

.main_title h1.title_copy {
font-size: 11vw;
font-weight: normal;
line-height: 1.0em;
}
.main_title ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
}
.main_title ul li {
margin: 0;
padding: 0;
position: absolute;
}
.main_title ul li:first-of-type {
width: auto;
top: 25vh;
left: 10vw;
	z-index: 20;
}
.main_title ul li:last-of-type {
	width: 80vw;
	height: 80vh;
	top: 40vh;
	left: 0;
	right: 0;
	z-index: 10;
	margin: auto;
	overflow: hidden;
}
.main_title ul li:last-of-type img {
	width: auto;
	height: auto;
	max-height: 400px;
}
.pankuzu {
position: absolute;
top: 15vh;
left: 10vw;
z-index: 50;
font-size: 3.8vw;
}
}




/**************
link btn
**************/

/*************************************/
.bt_link {
  z-index: 100;
  right: 3.31vw;
  bottom: 3.31vw;
}
.btn {
  background: rgba(50, 50, 50, 0.90);;
  border: 1px solid #999;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font-base);
  font-size: 1.00vw;
  font-weight: 400;
  letter-spacing: .14em;
  line-height: 1.25;
  min-width: 17.86vw;
  min-height: 4.63vw;
  padding-inline: 0 4.63vw;
  position: relative;
  text-align: center;
  transition: color .3s ease, background .3s ease;
  will-change: color, background;
}
.bg_g {
  background: rgba(204, 204, 204, 0.90);;
}
.bg_bl {
  background: rgba(50, 50, 50, 0.90);;
}
.btn .btn-text {
  padding: .33vw 1.32vw;
  width: 100%
}
.btn .icon {
  display: block;
  flex-shrink: 0;
  height: 100%;
  width: 5.63vw;
  position: absolute;
  right: 0;
  top: 0
}
.btn .icon:after {
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform .3s ease;
  will-change: transform
}
.btn .icon-arrow:after {
  background-image: url("../img/ic_chevron-right.svg");
  height: 1.58vw;
  width: 0.92vw
}
.btn .icon-share:after {
  background-image: url(../img/ic_share.svg);
  height: .79vw;
  width: .79vw
}
.btn .icon-share02:after {
  background-image: url(../img/ic_share.svg);
  height: .99vw;
  width: .99vw;
  filter: brightness(0) saturate(100%) invert(97%) sepia(95%) saturate(2%) hue-rotate(0deg) brightness(112%) contrast(101%);
  transform: translateZ(0)
}
.btn .icon-plus:after {
  background-image: url(../img/ic_plus.svg);
  height: .79vw;
  width: .79vw
}
@media screen and (max-width:850px){

.bt_link {
  z-index: 100;
  right: 10vw;
  bottom: 10vw;
}
.btn {
  background: rgba(50, 50, 50, 0.90);
  border: 1px solid #999;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font-base);
  font-size: 2.0vw;
  font-weight: 400;
  letter-spacing: .14em;
  line-height: 1.25;
  min-width: 30.86vw;
  min-height: 8.63vw;
  padding-inline: 0 4.63vw;
  position: relative;
  text-align: center;
  transition: color .3s ease, background .3s ease;
  will-change: color, background;
}
.btn .btn-text {
  padding: .33vw 1.32vw;
  width: auto;
}
.btn .icon {
  display: block;
  flex-shrink: 0;
  height: 100%;
  width: 5.63vw;
  position: absolute;
  right: 0;
  top: 0
}
.btn .icon:after {
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform .3s ease;
  will-change: transform
}
.btn .icon-arrow:after {
  background-image: url("../img/ic_chevron-right.svg");
  height: 1.58vw;
  width: 0.92vw
}
.btn .icon-share:after {
  background-image: url(../img/ic_share.svg);
  height: .79vw;
  width: .79vw
}
.btn .icon-share02:after {
  background-image: url(../img/ic_share.svg);
  height: .99vw;
  width: .99vw;
  filter: brightness(0) saturate(100%) invert(97%) sepia(95%) saturate(2%) hue-rotate(0deg) brightness(112%) contrast(101%);
  transform: translateZ(0)
}
.btn .icon-plus:after {
  background-image: url(../img/ic_plus.svg);
  height: .79vw;
  width: .79vw
}
}
@media screen and (max-width:470px){

.bt_link {
  z-index: 100;
  right: 10vw;
  bottom: 10vw;
}
.btn {
  background: var(--btn-primary-bg);
  border: 1px solid #999;
  color: var(--btn-primary-text);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font-base);
  font-size: 5.0vw;
  font-weight: 400;
  letter-spacing: .14em;
  line-height: 1.25;
  min-width: 50.86vw;
  min-height: 12.63vw;
  padding-inline: 0 4.63vw;
  position: relative;
  text-align: center;
  transition: color .3s ease, background .3s ease;
  will-change: color, background;
}
.btn .btn-text {
  padding: .33vw 1.32vw;
  width: 100%
}
.btn .icon {
  display: block;
  flex-shrink: 0;
  height: 100%;
  width: 10.63vw;
  position: absolute;
  right: 0;
  top: 0
}
.btn .icon:after {
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform .3s ease;
  will-change: transform
}
.btn .icon-arrow:after {
  background-image: url("../img/ic_chevron-right.svg");
  height: 3.00vw;
  width: 2.00vw
}
.btn .icon-share:after {
  background-image: url(../img/ic_share.svg);
  height: .79vw;
  width: .79vw
}
.btn .icon-share02:after {
  background-image: url(../img/ic_share.svg);
  height: .99vw;
  width: .99vw;
  filter: brightness(0) saturate(100%) invert(97%) sepia(95%) saturate(2%) hue-rotate(0deg) brightness(112%) contrast(101%);
  transform: translateZ(0)
}
.btn .icon-plus:after {
  background-image: url(../img/ic_plus.svg);
  height: .79vw;
  width: .79vw
}
}

.c_copy {
  font-size: clamp(1.3rem, calc(1.4vw + 1.5rem), 4.0rem);
  line-height: 1.3em;
  margin-bottom: 3rem;
}


/********************
information
*********************/
/*** box_base ***/
.aisatsu {
  text-align: center;
  background-image: url(../img/bg_01.jpg);
  background-position: top center;
  background-size: cover;
  margin: 0;
  padding: 0;
/*  position: relative;*/
display: table;
}
.aisatsu .gree_txt {
  vertical-align: middle;
  margin: auto;
  padding: 50px 0;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.8em;
  display: table-cell;
/*      position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);*/
}
.aisatsu .gree_txt h2 {
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
  margin: 0 auto 20px;
  line-height: 1.5em;
}
.aisatsu .gree_txt h1 {
  font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 2.5rem);
  margin: 0;
}
.company_bg {
	background-image: url(../../information/img/bg_information_new2.jpg);
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 60vh;
	display: table;
	vertical-align: middle;
	color: #FFF;
	background-repeat: no-repeat;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.sub_title_box {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.sub_title_box h2 {
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
}
.cont_box_txt .company_box {
width: 90%;
max-width: 900px;
margin: auto auto 3rem;
padding: 0;
}
.cont_box_txt .company_box table {
width: 100%;
border-collapse: collapse;
margin: auto;
font-size: 2.1vh;
line-height: 1.5em;
}
.cont_box_txt .company_box table th {
	border: 1px solid #000;
	background-color: #DDDDDD;
	text-align: left;
	padding: 1rem 1.5rem;
	font-weight: normal;
	vertical-align: top;
	white-space: nowrap;
}
.cont_box_txt .company_box table td {
border: 1px solid #000;
padding: 1rem 2rem;
}
.cont_box_txt ol li {
  color: #000;
  text-align: left;
}
.cont_box_txt .company_box ul {
width: 100%;
margin-top: 17vh;
display: flex;
flex-wrap: wrap;

}
.cont_box_txt .company_box ul li:first-of-type {
width: 100%;
margin-bottom: 1rem;
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
}
.cont_box_txt .company_box ul li:nth-of-type(2) {
width: 100%;
}
.cont_box_txt .company_box ul li:last-of-type {
width: 100%;
height: 50vh;
margin-left: 0%;
margin-top: 2rem;
}

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

.cont_box_txt .company_box {
width: 90%;
margin: auto auto 2rem;
padding: 0;
}
.cont_box_txt .company_box table {
width: 100%;
border-collapse: collapse;
margin: auto;
font-size: 1.5em;
}
.cont_box_txt .company_box table th {
border: 1px solid #000;
background-color: #DDDDDD;
text-align: left;
padding: 1rem 1rem;
font-weight: normal;
vertical-align: top;
display: block;
width: 100%;
}
.cont_box_txt .company_box table td {
border: 1px solid #000;
padding: 1rem 1rem;
display: block;
width: 100%;
}
.cont_box_txt .company_box ul {
width: 100%;
margin-top: 14vh;
display: flex;
flex-wrap: wrap;
}
.cont_box_txt .company_box ul li:first-of-type {
width: 100%;
margin-bottom: 1rem;
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
}
.cont_box_txt .company_box ul li:nth-of-type(2) {
width: 100%;
margin-bottom: 2rem;
}
.cont_box_txt .company_box ul li:last-of-type {
width: 100%;
height: 70vh;
margin-left: 0;
}
}

@media screen and (max-width:470px){
.aisatsu {
	text-align: center;
	background-image: url("../img/bg_01_sp.jpg");
	background-position: top center;
	background-size: cover;
	margin: 0;
	padding: 0;
	/*  position: relative;*/
	display: table;
	background-repeat: repeat-y;
}
.aisatsu .gree_txt {
  vertical-align: middle;
  margin: 0px auto;
  padding: 50px 0;
  font-size: 1.0rem;
  line-height: 1.3em;
/*      position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);*/
}
.aisatsu .gree_txt h2 {
  font-size: 1.3rem;
  margin-bottom: 10px;
  line-height: 1.2em;
}
.aisatsu .gree_txt h1 {
  font-size:1.5rem;
  margin: 0;
}

.company_bg {
	background-image: url(../../information/img/bg_information_new2.jpg);
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 60vh;
	display: table;
	vertical-align: middle;
	color: #FFF;
	background-repeat: no-repeat;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.sub_title_box {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.sub_title_box h2 {
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
}
.cont_box_txt .company_box {
width: 90%;
margin: auto auto 3rem;
padding: 0;
}
.cont_box_txt ol li {
  color: #000;
  text-align: left;
}
.cont_box_txt .company_box ul li:last-of-type {
height: 40vh;
}

.cont_box_txt .company_box table {
font-size: 2.0vh;
}
}



/********************
recruit
*********************/

/***** base *****/
.main_title_rec {
width: 100%;
height: 100vh;
background-color: #EFEFEF;
padding: 0 0 0 0;
box-sizing: border-box;
display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
 .bg_info {

}
.main_title_rec h1.title_copy {
font-size: 8vw;
font-weight: normal;
}
.main_title_rec ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
}
.main_title_rec ul li {
margin: 0;
padding: 0;
position: absolute;
}
.main_title_rec ul li:first-of-type {
width: auto;
top: 34vh;
left: 10vw;
	z-index: 20;
}
.main_title_rec ul li:last-of-type {
	width: 100vw;
	height: 100vh;
	top: 0;
	right: 0;
	z-index: 10;
	overflow: hidden;
	vertical-align: middle;
}
.main_title_rec ul li:last-of-type img {
	width: 100vw;
	margin: 26vh 0 0;
}

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

.main_title_rec ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
}
.main_title_rec ul li {
margin: 0;
padding: 0;
position: absolute;
}
.main_title_rec ul li:first-of-type {
width: auto;
top: 30vh;
left: 10vw;
	z-index: 20;
}
.main_title_rec ul li:last-of-type {
	width: 100vw;
	height: 100vh;
	top: 0;
	right: 0;
	z-index: 10;
	overflow: hidden;
	vertical-align: middle;
	margin: auto;
	text-align: center;
	
}
.main_title_rec ul li:last-of-type img {
	width: 100%;
	max-height: 60vh;
	margin: 26vh auto 0;
}
}
@media screen and (max-width:470px){

.main_title_rec {
width: 100%;
height: 60vh;
}
.main_title_rec h1.title_copy {
font-size: 11vw;
font-weight: normal;
line-height: 1.0em;
}
.main_title_rec ul li:first-of-type {
width: auto;
top: 25vh;
left: 10vw;
	z-index: 20;
}
.main_title_rec ul li:last-of-type {
	width: 100vw;
	height: 60vh;
	top: 10vh;
	left: 0;
	right: 0;
	z-index: 10;
	margin: auto;
	overflow: hidden;
}
.main_title_rec ul li:last-of-type img {
	width: 100%;
	height: auto;
	max-height: 400px;
	
}

}
/********************
PP
*********************/

/***** base *****/
.main_title_pp {
width: 100%;
height: 80vh;
background-color: #EFEFEF;
padding: 0 0 0 0;
box-sizing: border-box;
display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
position: relative;
}
.main_title_pp h1.title_copy {
font-size: 8vw;
font-weight: normal;
margin: 0;
padding: 0;
}
.main_title_pp ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
}
.main_title_pp ul li {
width: auto;
margin: 0;
padding: 0;
top: 26vh;
left: 10vw;
position: absolute;
	z-index: 20;
}
.cont_box_txt .pp_box {
width: 90%;
max-width: 1000px;
margin: auto auto 3rem;
padding: 0;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.5em;
}
.cont_box_txt .pp_box p {
margin: auto auto 3rem;
}
.cont_box_txt .pp_box strong {
font-weight: bold;
font-size: 120%;
}
@media screen and (max-width:850px){
.main_title_pp {
width: 100%;
height: 50vh;
background-color: #EFEFEF;
padding: 0 0 0 0;
box-sizing: border-box;
display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
position: relative;
}
.main_title_pp ul li {
width: auto;
margin: 0;
padding: 0;
top: 20vh;
left: 10vw;
position: absolute;
	z-index: 20;
}
}
@media screen and (max-width:470px){

.main_title_pp {
width: 100%;
height: 30vh;
background-color: #EFEFEF;
padding: 0 0 0 0;
box-sizing: border-box;
display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
position: relative;
}
.main_title_pp ul li {
width: auto;
margin: 0;
padding: 0;
top: 20vh;
left: 10vw;
position: absolute;
	z-index: 20;
}
}
/***********************************
Contact
**********************************/
.con_txt {
margin: 5rem auto;
display: table;
box-sizing: border-box;
}
.con_txt_90 {
margin: 5rem auto;
display: table;
box-sizing: border-box;
width: 90%;
}
.con_txt_90 dl {
width: 100%;
max-width: 800px;
margin: 3rem auto;
}
.con_txt_90 dl dt {
width: 100%;
margin-bottom: 0.5em;
}
.con_txt_90 dl dd {
width: 100%;
margin-bottom: 3rem;
}
.con_txt_90 dl dd input {
  font-size: clamp(1.0rem, calc(1.0vw + 0.8rem), 1.2rem);
  line-height: 1.5em;
  width: 100%;
  height: 3em;
}
.con_txt_90 dl dd textarea {
  font-size: clamp(1.0rem, calc(1.0vw + 0.8rem), 1.2rem);
  line-height: 1.5em;
  width: 100%;
}
.red {
color: #DD0000;
}
.form_btn {
text-align: center;
}
.form_btn .bt_submit {
  font-size: clamp(1.0rem, calc(1.0vw + 0.8rem), 1.2rem);
  line-height: 1.5em;
margin: auto;
padding: 0.5em;
width: 300px;
background-color: #666666;
color: #FFF;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}

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

.con_txt {
margin: 3rem auto;
display: table;
box-sizing: border-box;
}

.con_txt_90 {
margin: 3rem auto;
display: table;
box-sizing: border-box;
width: 90%;
}
}


/********************
Real Estate
*********************/
/*** box_base ***/
.realestate {
  text-align: center;
  background-image: url(../img/bg_03.jpg);
  background-position: top center;
  background-size: cover;
  margin: 0;
  padding: 0;
display: table;
}
.realestate .realestate_txt {
  vertical-align: middle;
  margin: auto;
  padding: 50px 0 0;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.8em;
  display: table-cell;
}
.realestate .realestate_txt h2 {
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
  margin: 3rem auto 5rem;
  line-height: 1.5em;
}
.realestate .realestate_txt h1 {
  font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 2.5rem);
  margin: 0;
}
.realestate .realestate_txt .re_image_box {
	width: 100%;
	height: 100vh;
	position: relative;
	background-image: url(../../realestate/img/img04.jpg);
	background-position: center 0%;
	background-size: cover;
	background-repeat: no-repeat;
}
.realestate .realestate_txt .re_image_box .txt_01 {
position: absolute;
font-weight: 600;
text-align: left;
top: 10vh;
left:6vw;
}
.realestate .realestate_txt .re_image_box .txt_02 {
position: absolute;
font-weight: 600;
text-align: left;
top:12vh;
right: 2vw;
}
.realestate .realestate_txt .re_image_box .txt_03 {
position: absolute;
font-weight: 600;
text-align: left;
bottom: 10vh;
right: 1.5vw;
}


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

.realestate {
  text-align: center;
  background-image: url(../img/bg_03.jpg);
  background-position: top center;
  background-size: cover;
  margin: 0;
  padding: 0;
display: table;
}
.realestate .realestate_txt {
  vertical-align: middle;
  margin: auto;
  padding: 50px 0 0;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.8em;
  display: table-cell;
}
.realestate .realestate_txt h2 {
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
  margin: 3rem auto 5rem;
  line-height: 1.5em;
}
.realestate .realestate_txt h1 {
  font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 2.5rem);
  margin: 0;
}
.realestate .realestate_txt .re_image_box {
	width: 100%;
	height: 60vh;
	position: relative;
	background-image: url("../../realestate/img/img04_sp.jpg");
	background-position: center top;
	background-size: contain;
	background-repeat: no-repeat;
}
.realestate .realestate_txt .re_image_box .txt_01 {
position: absolute;
font-weight: 600;
text-align: center;
top: 5vh;
left:0;
right: 0;
margin: auto;
}
.realestate .realestate_txt .txt_02 {
font-weight: 600;
text-align: center;
margin: 3rem 0;
}
.realestate .realestate_txt .txt_03 {
font-weight: 600;
text-align: center;
margin-bottom: 5rem;
}
}
@media screen and (max-width:470px){
.refd {
font-size: 90%;
margin-top: -10px;
}
.realestate {
  text-align: center;
  background-image: url(../img/bg_03.jpg);
  background-position: top center;
  background-size: cover;
  margin: 0;
  padding: 0;
display: table;
}
.realestate .realestate_txt {
  vertical-align: middle;
  margin: auto;
  padding: 50px 0 0;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.8em;
  display: table-cell;
}
.realestate .realestate_txt h2 {
  font-size: clamp(1.5rem, calc(1.0vw + 1.3rem), 2.0rem);
  margin: 3rem auto 5rem;
  line-height: 1.5em;
}
.realestate .realestate_txt h1 {
  font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 2.5rem);
  margin: 0;
}
.realestate .realestate_txt .re_image_box {
	width: 100%;
	height: 40vh;
	position: relative;
	background-image: url("../../realestate/img/img04_sp.jpg");
	background-position: center top;
	background-size: contain;
	background-repeat: no-repeat;
}
.realestate .realestate_txt .re_image_box .txt_01 {
position: absolute;
font-weight: 600;
text-align: center;
top: 1.5vh;
left:0;
right: 0;
margin: auto;
}
.realestate .realestate_txt .txt_02 {
font-weight: 600;
text-align: center;
margin: 2rem 0;
font-size: 4vw;
}
.realestate .realestate_txt .txt_03 {
font-weight: 600;
text-align: center;
margin-bottom: 5rem;
}
}


