@charset "utf-8";
/*---hambugermenu---*/
.navi_title {
    background: #666;
    color: #fff;
    font-size: 21px;
    font-weight: bold;
    padding: 20px;
    position: relative;
    /*width: 924px;*/
    overflow: hidden;
}
.navi_title span {
    display: inline-block;
    font-size: 14px;
    font-weight: normal;
    position: absolute;
    right: 20px;
    top: 30px;
}

.mod_headerbar_in_nav_category dl dt {
    background-color: #3e3e3e;
    color: #ffffff;
    font-size: 115%;
    line-height: 1.3;
    font-weight: bold;
    padding: 12px 0 6px 25px;
}

.mod_headerbar_in_nav_category{
	border-bottom:1px solid #6f6e6e;
}
/* common
-----------------------------------------*/
.yuMincho{
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.pcOnly {
    display: block !important;
}

.spOnly {
    display: none !important;
}

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

    .pcOnly {
        display: none !important;
    }

    .spOnly {
        display: block !important;
    }

}

/* anchor ----------------------- */
.anchor {
	margin-top: -40px!important;
	padding-top: 40px!important;
	}
/* ex_clearfix
-----------------------------------------*/ 
.ex_clearfix:after {
  content: "";
  clear: both;
  display: block;
}
#sections .ex_marginB0{
 margin-bottom:0px!important;
}
#sections .ex_marginBS{
 margin-bottom:10px!important;
}
#sections .ex_marginBM{
 margin-bottom:20px!important;
}
#sections .ex_marginBL{
 margin-bottom:30px!important;
}
#sections .ex_marginBLL{
 margin-bottom:80px!important;
}
#sections .ex_marginT0{
 margin-top:0px!important;
}
#sections .ex_marginTSS{
 margin-top:5px!important;
}
#sections .ex_marginTS{
 margin-top:10px!important;
}
#sections .ex_marginTM{
 margin-top:20px!important;
}
#sections .ex_marginTL{
 margin-top:30px!important;
}
#sections .ex_marginTLL{
 margin-top:80px!important;
}
.mod_headerbar,
.mod_headerbar_in{
	z-index: 1000!important;
}
/* mod_all_section
-----------------------------------------*/ 
.mod_all_section{
  margin: 0 auto;
  width: 100%;
  line-height: 1.6;
  font-size: 1.13em;
}

.mod_all_section img {
	max-width: 100%;
	height: auto;
}
	
@media screen and (max-width: 1024px) { 
  .mod_all_section{
    width:1024px;
  }
}

@media screen and (max-width: 640px) {
  .mod_all_section{
    width:auto;
  }
}
/* mod_wide_section
-----------------------------------------*/ 
.mod_wide_section{
  margin: 0 auto;
  width: 1200px;
  line-height: 1.6;
  font-size: 1.13em;
}

.mod_wide_section img {
	max-width: 100%;
	height: auto;
}
	
@media screen and (max-width: 1024px) { 
  .mod_wide_section{
    width:1024px;
  }
}

@media screen and (max-width: 640px) {
  .mod_wide_section{
    width:auto;
  }
}

/* mod_section
-----------------------------------------*/ 
.mod_section{
  margin: 0 auto;
  width: 967px;
  line-height: 1.6;
  font-size: 1.13em;
}

.mod_section img {
	max-width: 100%;
	height: auto;
	}
@media screen and (max-width: 640px) {
  .mod_section{
    width:auto;
  }
.section-inner {
	margin: 0 2.60416%;
	}
}

/* ------------------------

.mod_billboard

------------------------ */

.mod_billboard{
    display : flex;
    flex-wrap : wrap;
	align-items: top;
	justify-content: center;
}
.mod_billboard img {
	max-width: 100%;
	height: auto;
	}
.mod_billboard_left{
    width: 606px;
}

.mod_billboard_right{
    width: 594px;
}

@media screen and (max-width: 640px) {
.mod_billboard_left{
    width: 100%;
}

.mod_billboard_right{
    width: 100%;
}
}

/*-------------------------
   .link_wrapper
-------------------------*/
.link_wrapper{
	margin: 4em auto 4em;
}
.link_wrapper a{
	color: #000;
	text-decoration: none;
}
/*-------------------------
   btn_link_column
-------------------------*/
.btn_link_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.btn_link_column::after{
    content:"";
    display: block;
    width: 24%;
}

.btn_link_column .column{
    width: 24%;
}

.btn_link_column .column:nth-child(n+5){
	margin-top: 1em;
}
@media screen and (max-width: 640px) {
.btn_link_column::after{
    width: 48%;
}

.btn_link_column .column{
    width: 48%;
}
.btn_link_column .column:nth-child(n+3){
	margin-top: 0.6em;
}
}

/*-------------------------
   btn_link
-------------------------*/
.btn_link{
	text-align: center;
	background: #FFF;
	line-height: 1.4;
	transition: 0.3s;
	position: relative;
	box-sizing: border-box;
	min-height: 70px;
	border: 4px solid #e6e6e6;
	background: rgb(196,197,198);
	background: linear-gradient(90deg, rgba(196,197,198,1) 0%, rgba(173,174,175,1) 100%);
	border-radius: 50px;
	display: block;
	transition: 0.3s;
}
.btn_link_active{
	background: rgb(34,175,227);
	background: linear-gradient(90deg, rgba(34,175,227,1) 0%, rgba(108,196,214,1) 100%);
}

.btn_link p{
	position: absolute;
	color: #FFF;
	font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: block;
	width: 100%;
}
.btn_link:hover{
	background: rgb(34,175,227);
	background: linear-gradient(90deg, rgba(34,175,227,1) 0%, rgba(108,196,214,1) 100%);
    opacity: 0.8;
}
.btn_link_active:hover{
    opacity: 1.0;
}
a.btn_link,
a.btn_link:link,
a.btn_link:visited,
a.btn_link:hover,
a.btn_link:focus,
a.btn_link:active,
a.btn_link p,
a.btn_link:hover p,
.two_one_column a.btn_link,
.two_one_column a.btn_link:hover,
.two_one_column a.btn_link p,
.two_one_column a.btn_link:hover p {
	color: #fff !important;
	text-decoration: none !important;
}

.btn_link:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url("../img/icon_btn_link.png");
	background-size: contain;
	width: 24px;
	height: 24px;
	content: "";
}

@media screen and (max-width: 640px) {
.btn_link p{
	font-size: 3.6vw;
}
.btn_link:after {
	right: 10px;
	width: 4vw;
	height: 4vw;
}
}
/*-------------------------
   .lead_wrapper
-------------------------*/
.lead_wrapper{
	margin: 4em auto 20em;
    background: linear-gradient(180deg, #FFF 0%, #FFF 35%, #f0f0f1 35%, #f0f0f1  100%);
}
.lead_wrapper a{
	color: #000;
	text-decoration: none;
}
@media screen and (max-width: 640px) {
.lead_wrapper{
	margin: 4em auto 6em;
    background: linear-gradient(180deg, #FFF 0%, #FFF 12%, #f0f0f1 12%, #f0f0f1  100%);
}
}
/*-------------------------
   .lead_block
-------------------------*/
.lead_block{
	position: relative;
	height: 900px;
}

.lead_block_illust{
	position: absolute;
	top:20px;
	left: 20px;
}
.lead_block_h2{
	position: absolute;
	top:0;
	left: 180px;
}

.lead_block_h2_speech {
	position: relative;
	display: inline-block;
	margin-left: 30px;
	padding: 20px 40px; 
	border: 3px solid #00acbf;
	border-radius: 20px;
	background-color: #ffffff;
	text-align: left;
	line-height: 1.5;
	color: #00acbf;
	width: 3000px;
	font-size: 168%;
	font-weight: bold;
}


.lead_block_h2_speech span.big {
	font-size: 150%;
}

.lead_block_h2_speech::before {
	content: "";
	position: absolute;
	top: 63%;
	left: 0;
	border-style: solid;
	border-width: 10px 30px 10px 0;
	border-color: transparent #00acbf transparent transparent;
	translate: -100% -50%;
}

.lead_block_h2_speech::after {
	content: "";
	position: absolute;
	top: 63%;
	left: 0;
	border-style: solid;
	border-width: 6.8px 20.5px 6.8px 0;
	border-color: transparent #ffffff transparent transparent;
	translate: -100% -50%;
}

@media screen and (max-width: 640px) {
.lead_block{
	height: 380vw;
}

.lead_block_illust{
	position: absolute;
	top: 6vw;
	left: 0;
	width: 16vw;
}
	
.lead_block_h2{
	position: absolute;
	top:0;
	left: 14vw;
}
.lead_block_h2_speech {
	font-size: 4vw;
	padding: 2vw 3vw; 
}
}
/*-------------------------
   lead_column
-------------------------*/
.lead_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
	position: absolute;
	top: 200px;
	left: 0;
	width: 100%;
}

.lead_column::after{
    content:"";
    display: block;
    width: 32%;
}

.lead_column .column{
    width: 32%;
}

.lead_column .column .column_inner{
	position: relative;
}

.lead_column .column .column_inner .lead_block_h3{
	font-size: 125%;
	text-align: center;
	padding: 0.8em 0 0;
	color: #00acbf;
	font-weight: bold;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 120px;
	z-index: 10;
}

.speech_01{
	background: url("../img/bg_lead_block_speech_01.png") no-repeat;
	background-size: contain;
}
.speech_02{
	background: url("../img/bg_lead_block_speech_02.png") no-repeat;
	background-size: contain;
}
.speech_03{
	background: url("../img/bg_lead_block_speech_03.png") no-repeat;
	background-size: contain;
}
.lead_block_column_img{
	position: absolute;
	top:104px;
	left: 0;
}

.lead_block_column_img p{
	text-align: center;
	margin-top: 0.8em;
	font-size: 113%;
}

@media screen and (max-width: 640px) {
.lead_column{
	top: 30vw;
}
.lead_column::after{
    content:"";
    display: block;
    width: 100%;
}

.lead_column .column{
    width: 80%;
	margin: 0 auto;
	display: block;
}
	
.lead_column .column:nth-child(2){
	position: absolute;
	top:104vw;
	left: 10vw;
}
.lead_column .column:nth-child(3){
	position: absolute;
	top:208vw;
	left: 10vw;
}
	
.lead_column .column .column_inner .lead_block_h3{
	font-size: 4.6vw;
}
}
/*-------------------------
   lead_summar
-------------------------*/
.lead_summar{
	width: 800px;
	height: 390px;
	margin: 0 auto;
	background: url("../img/bg_lead_summary.png") no-repeat;
	background-size: contain;
	position: absolute;
	top: 620px;
	left: 120px;
}



.lead_summar h4{
	font-size: 150%;
	line-height: 1.4;
	text-align: center;
	padding: 0.8em 0 0;
	color: #00acbf;
	font-weight: bold;
}

.lead_summar .summar_01{
	position: absolute;
	top:50px;
	left: 90px;
}

.lead_summar .summar_02{
	position: absolute;
	top:32px;
	left: 320px;
}

.lead_summar .summar_03{
	position: absolute;
	top:32px;
	left: 524px;
}

.lead_summar p{
	font-size: 168%;
	font-weight: bold;
	position: absolute;
	top:240px;
	left: 40px;
	color: #FFF;
}


.lead_summar p span {
	font-size: 150%;
}

@media screen and (max-width: 640px) {
.lead_summar{
	width: 100vw;
	height: 100vw;
	top: 340vw;
	left: 0;
}
.lead_summar h4{
	font-size: 3.6vw;
	line-height: 1.2;
}

.lead_summar .summar_01{
	top:6vw;
	left: 9vw;
}

.lead_summar .summar_02{
	top: 4vw;
	left: 38vw;
}

.lead_summar .summar_03{
	top: 2vw;
	left: 68.5vw;
}
.lead_summar p{
	font-size: 4vw;
	top:28vw;
	left: 4vw;
}
}

/*-------------------------
   .request_wrapper
-------------------------*/
.request_wrapper{
	background: #f0f0f1;
	margin: 2em auto 4em;
}

/*-------------------------
   .request_one_block
-------------------------*/
.request_one_block {
	background: #497bad;
}

/*-------------------------
   .request_one_triangle
-------------------------*/
.request_one_triangle {
	width: 100%;
	padding-top: 40px;
	position: relative;
	overflow: hidden;
}
.request_one_triangle::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	left: 50%;
	border-top: 40px solid #497bad;
	border-left: 50vw solid transparent;
	border-right: 50vw solid transparent;
	transform: translateX(-50%);
}
/*-------------------------
   .request_two_block
-------------------------*/
.request_two_block {
	background: #56afa5;
}

/*-------------------------
   .request_two_triangle
-------------------------*/
.request_two_triangle {
	width: 100%;
	padding-top: 40px;
	position: relative;
	overflow: hidden;
}
.request_two_triangle::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	left: 50%;
	border-top: 40px solid #56afa5;
	border-left: 50vw solid transparent;
	border-right: 50vw solid transparent;
	transform: translateX(-50%);
}

/*-------------------------
   .request_three_block
-------------------------*/
.request_three_block {
	background: #b27791;
}

/*-------------------------
   .request_three_triangle
-------------------------*/
.request_three_triangle {
	width: 100%;
	padding-top: 40px;
	position: relative;
	overflow: hidden;
}
.request_three_triangle::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	left: 50%;
	border-top: 40px solid #b27791;
	border-left: 50vw solid transparent;
	border-right: 50vw solid transparent;
	transform: translateX(-50%);
}

/*-------------------------
   .request_block
-------------------------*/
.request_block{
	position: relative;
	height: 520px;
}

.request_block_illust_01{
	position: absolute;
	top: 140px;
	left: 120px;
}

.request_block_illust_02{
	position: absolute;
	top: 330px;
	left: 640px;
}
.request_box_bubble{
	position: absolute;
	top: 60px;
	left: 280px;
	width: 3000px;
}
.request_block h2{
	position: absolute;
	top: 70px;
	left: 290px;
	font-size: 175%;
	font-weight: bold;
	color: #FFF;
	white-space: nowrap;
	background: url("../img/img_request_box_bubble.png") no-repeat;
	width: 3000px;
	height: 220px;
	padding: 50px 0 0 60px;
	box-sizing: border-box;
}

.request_block h2 span.middle{
	font-size: 125%;
}

.request_block h2 span.big{
	font-size: 150%;
}

.request_block_speech{
	position: absolute;
	top: 330px;
	left: 120px;
	font-size: 125%;
}

.request_block_speech_inner {
    position: relative;
    display: inline-block;
    margin-right: 30px;
    padding: 16px;
    border-radius: 20px;
    background-color: #FFF;
    text-align: left;
    color: #000000;
	height: 140px;
	width: 440px;
}

.request_block_speech_inner::before {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    border-style: solid;
    border-width: 10px 0 10px 30px;
    translate: 100% -50%;
}
.request_block_speech_inner::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 0;
    border-style: solid;
    border-width: 5.8px 0 5.8px 17.4px;
    border-color: transparent transparent transparent #fff;
    translate: 100% -50%;
}
.request_block_speech_inner_one {
    border: 4px solid #c8dde6;
	color: #497bad;
}

.request_block_speech_inner_one::before {
    border-color: transparent transparent transparent #c8dde6;
}

.request_block_speech_inner_two {
    border: 4px solid #e2eada;
	color: #56afa5;
}

.request_block_speech_inner_two::before {
    border-color: transparent transparent transparent #e2eada;
}

.request_block_speech_inner_three {
    border: 4px solid #e2d2d9;
	color: #b27791;
}

.request_block_speech_inner_three::before {
    border-color: transparent transparent transparent #e2d2d9;
}
.request_block_speech_inner p {
	font-size: 100%;
	font-weight: bold;
	position: absolute;
    top: 50%;
    left: 6%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
	
.request_block{
	height: 92vw;
}
.request_block_illust_01{
	width: 26vw;
	height: 26vw;
	top: 20vw;
	left: 8vw;
}

.request_block_illust_02{
	width: 26vw;
	height: 26vw;
	top: 50vw;
	left: 70vw;
}
	
.request_block h2{
	position: absolute;
	top: 6vw;
	left: 34vw;
	font-size: 4vw;
	color: #FFF;
	white-space: nowrap;
	background: url("../img/img_request_box_bubble_sp.png") no-repeat;
	background-size: contain;
	width: 560vw;
	height: 152px;
	padding: 6vw 0 0 10vw;
	box-sizing: border-box;
}
.request_block_speech{
	position: absolute;
	top: 50vw;
	left: 0;
	font-size: 3.6vw;
}
.request_block_speech_inner {
	height: 30vw;
	width: 54vw;
}
.request_block_speech_inner p {
	padding-right: 2vw;
}
}
/*-------------------------
   .request_box
-------------------------*/
 .request_box {
	width: 180px;
	height: 180px;
	color: #fff;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 118%;
}
 .request_box span{
	font-size: 150%;
}

@media screen and (max-width: 640px) {
 .request_box {
	width: 26vw;
	height: 26vw;
	color: #fff;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 4vw;
	position: absolute;
	top: 0;
	left: 4vw;
    line-height: 1.2;
}
}
/*-------------------------
   .request_box
-------------------------*/
.request_explanation{
	padding: 0 0 4em;
}
.request_explanation .caption {
	margin-top: 0.4em
}
.request_explanation .caption_s {
	margin-top: 0.4em
}
.request_explanation h3.ttl_circle{
	font-size: 150%;
	font-weight: bold;
	border-bottom: 1px solid #000;
	text-indent: -1em;
	padding-left: 1em;
	margin: 2em 0 1em;
}
.request_explanation h3.ttl_line{
	font-size: 175%;
	font-weight: bold;
	text-align: center;
	margin: 2em 0 1em;
}

.request_explanation h3.ttl_line span{
	border-bottom: 1px solid #000;
	padding: 0 10px;
}
.request_explanation h4.ttl_box{
	font-size: 135%;
	font-weight: bold;
	text-align: center;
	margin: 2em 0 1em;
	border: 1px solid #000;
	border-radius: 20px;
	padding: 4px 0 0 0;
}
.request_explanation p.lead{
	font-size: 118%;
	text-align: center;
	margin: 0 0 1em;
}

.request_explanation .white_box{
	font-size: 118%;
	text-align: center;
	border: 2px solid #497bad;
	border-radius: 20px;
	margin-top: 0.4em;
	padding: 0.4em 0;
	font-weight: bold;
}
.request_explanation .blue_box{
	font-size: 118%;
	text-align: center;
	border: 2px solid #497bad;
	background: #497bad;
	border-radius: 20px;
	margin-top: 0.4em;
	padding: 0.4em 0;
	color: #fff;
	font-weight: bold;
}
.request_one_arrow_block,
.request_one_other_arrow_block{
	position: relative;
}

.request_one_arrow_block .change{
    position: absolute;
    top: 32%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.request_one_other_arrow_block .until_now{
    position: absolute;
    top: -20px;
    left: -20px;
	width: 100px;
}
.request_one_other_arrow_block .from_now{
    position: absolute;
    top: -20px;
    right: -20px;
	width: 100px;
}
.request_one_other_arrow_block .change{
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.request_one_arrow_block .change img,
.request_one_other_arrow_block .change img{
	width: 140px;
}

@media screen and (max-width: 640px) {
	
.request_explanation .caption {
	font-size: 3.4vw;
}
.request_explanation .caption_s {
	font-size: 2.8vw;
}
.request_explanation h3.ttl_circle{
	font-size: 5vw;
}
.request_explanation h3.ttl_line{
	font-size: 5.6vw;
}
.request_explanation h4.ttl_box{
	font-size: 5vw;
}
.request_explanation p.lead{
	font-size: 4vw;
}
.request_explanation .white_box,
.request_explanation .blue_box{
	font-size: 3vw;
	border-radius: 10px;
}
.request_one_arrow_block .change{
    top: 8vw;
}
.request_one_other_arrow_block .until_now{
    position: absolute;
    top: -2vw;
    left: -2vw;
	width: 14vw;
}
.request_one_other_arrow_block .from_now{
    position: absolute;
    top: -2vw;
    right: -2vw;
	width: 14vw;
}
.request_one_other_arrow_block .change{
    top: 2vw;
}
.request_one_arrow_block .change{
    top: 8vw;
}
.request_one_arrow_block .change img,
.request_one_other_arrow_block .change img{
	width: 26vw;
}
}

/*-------------------------
   .request_one_other
-------------------------*/
.request_one_other {
	position: relative;
	height: 500px;
}
.request_one_other_h3{
	position: absolute;
	top: 50px;
	left: 0px;
	background: #497bad;
	color: #fff;
	font-weight: bold;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: 1em 0.2em;
	font-size: 138%;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
.request_one_other_h4 {
	z-index: 10;
	position: absolute;
	top: 0px;
	left: 260px;
}
.request_one_other_h4 h4 {
    position: relative;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding: 0 1em;
	background: #497bad;
	color: #fff;
	font-size: 125%;
    font-weight: bold;
    text-align: center;
}

.request_one_other_h4 h4::before,
.request_one_other_h4 h4::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #497bad transparent;
    border-style: solid;
    content: '';
}

.request_one_other_h4 h4::before {
    left: -15px;
    border-width: 25px 0px 25px 15px;
}

.request_one_other_h4 h4::after {
    right: -15px;
    border-width: 25px 15px 25px 0px;
}
.request_one_other_box {
	position: absolute;
	top: 22px;
	right: 0;
	border: 4px solid #cfcfd0;
	border-radius: 20px;
	width: 924px;
	padding: 3em 3em 2em;
	box-sizing: border-box;
	background: #FFF;
}

@media screen and (max-width: 640px) {
.request_one_other {
	height: 60vw;
}
.request_one_other_h3{
	font-size: 4vw;
	top: 8vw;
	padding: 2em 0.1em;
}
.request_one_other_h4 {
	z-index: 10;
	position: absolute;
	top: 0px;
	left: 14vw;
}
.request_one_other_h4 h4 {
	font-size: 3vw;
    height: 30px;
    line-height: 30px;
}
.request_one_other_h4 h4::before {
    left: -15px;
    border-width: 15px 0px 15px 15px;
}

.request_one_other_h4 h4::after {
    right: -15px;
    border-width: 15px 15px 15px 0px;
}
.request_one_other_box {
	position: absolute;
	top: 2vw;
	right: 0;
	width: 88vw;
	padding: 5vw 3vw;
}
}

/*-------------------------
   .request_one_conversation_left
   .request_one_conversation_right
-------------------------*/
.request_one_conversation_left,
.request_one_conversation_right{
	display: table;
}
.request_one_conversation_right{
	margin-left: auto;
}
.request_one_conversation_left_img{
	display: table-cell;
	vertical-align: middle;
	padding-right: 10px;
}
.request_one_conversation_right_img{
	display: table-cell;
	vertical-align: middle;
	padding-left: 10px;
}
.request_one_conversation_left_img img,
.request_one_conversation_right_img img {
	width: 100px;
}

.request_one_conversation_left_text,
.request_one_conversation_right_text{
	display: table-cell;
	vertical-align: middle;
}

.request_one_conversation_left_text_inner {
	position: relative;
	display: inline-block;
	margin-left: 30px;
	padding: 16px;
	border: 2px solid #000000;
	border-radius: 16px;
	background-color: #FFF;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #000000;
	height: 44px;
	width: 440px;
}

.request_one_conversation_left_text_inner::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	border-style: solid;
	border-width: 10px 30px 10px 0;
	border-color: transparent #000000 transparent transparent;
	translate: -100% -50%;
}

.request_one_conversation_left_text_inner::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	border-style: solid;
	border-width: 7.9px 23.7px 7.9px 0;
	border-color: transparent #FFF transparent transparent;
	translate: -100% -50%;
}
.request_one_conversation_right_text_inner {
	position: relative;
	display: inline-block;
	margin-right: 30px;
	padding: 16px;
	border-radius: 16px;
	background-color: #497bad;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #000000;
	height: 44px;
	width: 440px;
}

.request_one_conversation_right_text_inner::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	border-style: solid;
	border-width: 10px 0 10px 30px;
	border-color: transparent transparent transparent #497bad;
	translate: 100% -50%;
}
.request_one_conversation_left_text_inner p,
.request_one_conversation_right_text_inner p{
	font-size: 108%;
	font-weight: bold;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	white-space: nowrap;
	text-align: center;
}
.request_one_conversation_right_text_inner p{
	color: #FFF;
}
@media screen and (max-width: 640px) {
.request_one_conversation_left_img img,
.request_one_conversation_right_img img{
	width: 20vw;
}
.request_one_conversation_left_text_inner{
	height: 10vw;
	width: 58vw;
}
.request_one_conversation_right_text_inner{
	height: 14vw;
	width: 58vw;
}
.request_one_conversation_left_text_inner p,
.request_one_conversation_right_text_inner p {
	font-size: 3.4vw;
}
}

/*-------------------------
   .request_two_conversation_right
-------------------------*/
.request_two_conversation_right{
	display: table;
	margin-left: auto;
}
.request_two_conversation_right_img{
	display: table-cell;
	vertical-align: middle;
	padding-left: 10px;
}
.request_two_conversation_right_img img {
	width: 100px;
}

.request_two_conversation_right_text{
	display: table-cell;
	vertical-align: middle;
}

.request_two_conversation_right_text_inner {
	position: relative;
	display: inline-block;
	margin-right: 30px;
	padding: 16px;
	border-radius: 16px;
	background-color: #56afa5;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #000000;
	height: 80px;
	width: 600px;
}

.request_two_conversation_right_text_inner::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	border-style: solid;
	border-width: 10px 0 10px 30px;
	border-color: transparent transparent transparent #56afa5;
	translate: 100% -50%;
}

.request_two_conversation_right_text_inner p{
	font-size: 108%;
	font-weight: bold;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	white-space: nowrap;
	text-align: center;
	color: #FFF;
}
@media screen and (max-width: 640px) {
.request_two_conversation_right_img img{
	width: 20vw;
}
.request_two_conversation_right_text_inner{
	height: 26vw;
	width: 60vw;
}
.request_two_conversation_right_text_inner p {
	font-size: 3.4vw;
}
}


/*-------------------------
   btn_type_column
-------------------------*/
.btn_type_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.btn_type_column::after{
    content:"";
    display: block;
    width: 32%;
}

.btn_type_column .column{
    width: 32%;
}

.btn_type_column .column:nth-child(n+4){
	margin-top: 1em;
}
.btn_type_column a{
	color: #000;
	text-decoration: none;
}
@media screen and (max-width: 640px) {
.btn_type_column::after{
    width: 49%;
}

.btn_type_column .column{
    width: 49%;
}
.btn_type_column .column:nth-child(n+3){
	margin-top: 0.6em;
}
}
/*-------------------------
   btn_type
-------------------------*/
.btn_type{
	text-align: center;
	background: #FFF;
	border: 1px solid #333333;
	line-height: 1.4;
	transition: 0.3s;
}
.btn_type:hover{
    opacity: 0.7;
}
.btn_type_inner{
	position: relative;
	min-height: 100px;
	box-sizing: border-box;
}
.btn_type_inner:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url("../img/icon_btn_type.png");
	background-size: contain;
	width: 24px;
	height: 24px;
	content: "";
}

.btn_type_01{
	border-top: 10px solid #fad05b;
}
.btn_type_02{
	border-top: 10px solid #aadbf5;
}
.btn_type_03{
	border-top: 10px solid #f9e0ca;
}
.btn_type_04{
	border-top: 10px solid #cececf;
}
.btn_type_05{
	border-top: 10px solid #e2005a;
}
.btn_type_06{
	border-top: 10px solid #86c9ab;
}
.btn_type_07{
	border-top: 10px solid #919191;
}
.btn_type_08{
	border-top: 10px solid #ea6c00;
}
.btn_type_09{
	border-top: 10px solid #003d6d;
}
.btn_type_inner_text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 100%;
}
.btn_type p.main{
	font-size: 118%;
	font-weight: bold;
	margin-bottom: 0.2em;
}
.btn_type p.main span{
	font-size: 88%;
}
.btn_type p.sub{
	font-size: 88%;
}

@media screen and (max-width: 640px) {
.btn_type_inner:after {
	width: 4vw;
	height: 4vw;
	right: 8px
}
.btn_type p.main{
	font-size: 3.6vw;
}
.btn_type p.sub{
	font-size: 3vw;
}
}

/*-------------------------
   type_speech
-------------------------*/
.type_speech {
	position: relative;
	display: inline-block;
	margin-top: 2.4em;
	padding: 18px 0;
	border: 2px solid #56afa5;
	border-radius: 16px;
	background-color: #FFF;
	line-height: 1.5;
	color: #56afa5;
	font-size: 150%;
	font-weight: bold;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}

.type_speech::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 10px 30px 10px;
	border-color: transparent transparent #56afa5;
	translate: -50% -100%;
}

.type_speech::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 7.9px 23.7px 7.9px;
	border-color: transparent transparent #FFF;
	translate: -50% -100%;
}

@media screen and (max-width: 640px) {
.type_speech{
	font-size: 5vw;
}
}

/*-------------------------
   js-modal-video
-------------------------*/
.slider_indoor,
.slider_outdoor{
	text-align: center;
}

.slider_indoor div.img,
.slider_outdoor div.img{
	width: 200px;
	text-align: center;
	padding: 0 10px;
	box-sizing: border-box;
	transition: 0.3s;
}

.slider_indoor div.img:hover,
.slider_outdoor div.img:hover{
    opacity: 0.7;
}
.slider_indoor div.img a,
.slider_outdoor div.img a{
	color: #000;
	text-decoration: none;
}
.slider_indoor div.img p,
.slider_outdoor div.img p{
	margin-top: 0.4em;
  width: 200px;
}

.slider_indoor div.img p:after,
.slider_outdoor div.img p:after{
	display: inline;
	color: #666;
	content: " \f138";
	font-family: FontAwesome;
	font-size: 120%;
}


/*-------------------------
  slick-content
-------------------------*/
.slick-content {
  position: relative;
}

.slick-slide {
  padding-left: 25px;
  padding-right: 25px;
}

.slick-content-child {
  padding: 15px;
}

.slick-content__img {
  width: 100%;
}

.slick-content-img {
  display: block;
  overflow: hidden;
  text-align: center;
}

.slick-content-img img {
  width: 100%;
  height: auto;
}

.slick-content-img img:hover {
  transform: scale(1.1);
  transition: .5s;

}
.slick-content .slick-dots {
  width: 30%;
  display: table !important ;
  margin: 10px auto 0;
}
.slick-content .slick-dots li {
  display: table-cell;
	padding: 0 4px;
}
.slick-content .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 100%;
  height: 2px;
  padding: 0;
	margin: 0 4px 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  transition: all .1s ease-out;
  border-bottom: 4px solid #CCCCCC;
  background: none;
}
.slick-content .slick-dots li.slick-active button {
  height: 3px;
  border-bottom: 4px solid #595757;
}
.slick-content .slick-dots li button:before{
  display: none;
}

/* Slick Arrow */

.slide-arrow {
	width: 55px;
	height: 51px;
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: none;
	background: none;
}

.prev-arrow {
	left: 25.7vw;
	padding-left: 5px;
	background: url("../img/icon_arrow_left.png");
	content: "";
	
}

.next-arrow {
	right: 25.7vw;
	padding-right: 5px;
	background: url("../img/icon_arrow_right.png");
}
@media screen and (max-width: 640px) {
.slick-slide {
  padding-left: 0;
  padding-right: 0;
}

.slick-content-child {
  padding: 2vw;
}
.slick-content .slick-dots {
  width: 60%;
}
.slide-arrow {
	width: 33px;
	height: 30px;
}
.prev-arrow {
	left: 2vw;
	background-size: contain;
}

.next-arrow {
	right: 2vw;
	background-size: contain;
}
}
/*-------------------------
   .map_box
-------------------------*/
.map_box{
	width: 940px;
	margin: 2em auto 10em;
}

.map_box_inner{
	position: relative;
}
.map_box_baloon{
	width: 240px;
	position: absolute;
	bottom: -140px;
	right: -40px;
	background: url("../img/bg_map_box_baloon.png") no-repeat;
	aspect-ratio: 1/1;
}

.map_box_baloon_inner{
	position: relative;
	width: 240px;
	height: 240px;
}
.map_box_baloon_inner p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 240px;
	text-align: center;
	color: #FFF;
	font-size: 125%;
}
.map_box_baloon_inner a{
	color: #FFF;
}
.btn_toilet{
	position: absolute;
	top:80px;
	left: 276px;
}

.btn_bedroom{
	position: absolute;
	top:80px;
	left: 710px;
}

.btn_living{
	position: absolute;
	top:420px;
	left: 120px;
}
.btn_dining{
	position: absolute;
	top:430px;
	left: 440px;
}
.btn_kitchen{
	position: absolute;
	top:420px;
	left: 620px;
}

.btn_washroom{
	position: absolute;
	top:480px;
	left: 800px;
}

.btn_exterior{
	position: absolute;
	top:620px;
	left: 110px;
}
.btn_side_entrance{
	position: absolute;
	top:620px;
	left: 260px;
}
.btn_outdoor_living{
	position: absolute;
	top:620px;
	left: 580px;
}
@media screen and (max-width: 640px) {
.map_box{
	width: auto;
}
	
.map_box_inner{
	position: relative;
}
.map_box_baloon{
	width: 36vw;
	position: absolute;
	bottom: -34vw;
	right: -2vw;
	background: url("../img/bg_map_box_baloon.png") no-repeat;
	background-size: cover;
	aspect-ratio: 1/1;
}

.map_box_baloon_inner{
	position: relative;
	width: 36vw;
	height: 36vw;
}
.map_box_baloon_inner p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 36vw;
	text-align: center;
	color: #FFF;
	font-size: 3vw;
}
.btn_toilet{
	top:6vw;
	left: 28vw;
}

.btn_bedroom{
	top:6vw;
	left: 74vw;
}

.btn_living{
	top:42vw;
	left: 16vw;
}
.btn_dining{
	top:42vw;
	left: 44vw;
}
.btn_kitchen{
	top:42vw;
	left: 66vw;
}

.btn_washroom{
	top:46vw;
	left: 80vw;
}

.btn_exterior{
	top:64vw;
	left: 0vw;
}
.btn_side_entrance{
	top:64vw;
	left: 26vw;
}
.btn_outdoor_living{
	position: absolute;
	top:64vw;
	left: 60vw;
}
}
/*-------------------------
   inline_box
-------------------------*/
.inline_box{
	max-width: 728px;
	background: #FFF;
	padding: 20px 20px;
	box-sizing: border-box;
	margin: 0 auto;
	line-height: 1.6;
	text-align: center;
}

.inline_box img {
	max-width: 100%;
	height: auto;
	}

.inline_box_text {
	font-size: 88%;
	margin: 1em auto 0;
	text-align: left;
}

.inline_box_text table+table,
.inline_box_text table+p,
.inline_box_text p+p{
	margin-top: 0.4em;
}
@media screen and (max-width: 640px) {
.inline_box{
	width: 94vw;
}
.inline_box h3 {
	font-size: 5vw;
}
.inline_box_text table th{
	white-space: nowrap;
}
}

/*-------------------------
   .conclusion_wrapper
-------------------------*/
.conclusion_wrapper{
	margin: 2em auto 4em;
}

.conclusion_arrow_01{
	text-align: center;
}

.conclusion_box_01{
	position: relative
}
.conclusion_box_01 p{
	position: absolute;
	top: 80px;
	left: 260px;
	font-size: 150%;
	font-weight: bold;
}
.conclusion_arrow_02{
	text-align: center;
	margin: 2em auto;
}
.conclusion_box_02{
	position: relative
}
.conclusion_box_02 p{
	position: absolute;
	top: 50px;
	left: 60px;
	font-size: 175%;
	font-weight: bold;
	color: #00acbf;
}

.conclusion_box_02 p span{
	font-size: 150%;
}
@media screen and (max-width: 640px) {
.conclusion_arrow_01 img{
	width: 20vw;
}
.conclusion_box_01 p{
	position: absolute;
	top: 8vw;
	left: 30vw;
	font-size: 4.6vw
}
.conclusion_arrow_02{
	text-align: center;
	margin: 2em auto 0;
}
.conclusion_arrow_02 img{
	width: 20vw;
}
.conclusion_box_02 p{
	position: absolute;
	top: 12vw;
	left: 6vw;
	font-size: 4vw;
}

.conclusion_box_02 p span{
	font-size: 150%;
}
}
/*-------------------------
   js-modal-video
-------------------------*/
.modal-video-close-btn{position:absolute;z-index:2;top:-35px!important;right:10px!important;}
	
/*-------------------------
   eachTextAnime
-------------------------*/
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
/*-------------------------
   c-marker
-------------------------*/
.c-marker {
    background: -webkit-linear-gradient(left, rgb(255,250,153) 50%, transparent 50%);
    background: -moz-linear-gradient(left, rgb(255,250,153) 50%, transparent 50%);
    background: linear-gradient(left, rgb(255,250,153) 50%, transparent 50%);
    background-repeat: no-repeat;
    background-size: 200% .8em; 
    background-position: 100% .5em;
    transition: 2s;
    transition-delay: 1.5s; 
}
.c-marker.is-active{
    background-position: 0% .5em;
}
/*-------------------------
   js-fadeUp
-------------------------*/
.js-fadeUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s, transform 1.5s; 
	z-index: 1;
}
.js-fadeUp.is-inview {
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: 0.5s; 
}

.js-fadeUp-01 {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s, transform 1.5s; 
	z-index: 1;
}

.js-fadeUp-01.is-inview {
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: 0.5s; 
}

.js-fadeUp-02 {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s, transform 1.5s; 
	z-index: 1;
}

.js-fadeUp-02.is-inview {
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: 0.75s; 
}

.js-fadeUp-03 {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s, transform 1.5s; 
	z-index: 1;
}

.js-fadeUp-03.is-inview {
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: 1s; 
}

.js-fadeUp-04 {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s, transform 1.5s; 
	z-index: 1;
}

.js-fadeUp-04.is-inview {
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: 1.25s; 
}
/*-------------------------
   two_column
-------------------------*/
.two_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.two_column::after{
    content:"";
    display: block;
    width: 50%;
}

.two_column .column{
    width: 50%;
}

.two_column .column p{
	font-size: 93%;
	margin-top: 0.4em;
	font-weight: bold;
}

/*-------------------------
   two_one_column
-------------------------*/
.two_one_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.two_one_column::after{
    content:"";
    display: block;
    width: 48%;
}

.two_one_column .column{
    width: 48%;
}

@media screen and (max-width: 640px) {
.two_one_column::after{
    width: 100%;
}

.two_one_column .column{
    width: 100%;
}
}

/*-------------------------
   two_one_column
-------------------------*/
.two_two_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.two_two_column::after{
    content:"";
    display: block;
    width: 48%;
}

.two_two_column .column{
    width: 48%;
}

/*-------------------------
   three_column
-------------------------*/
.three_three_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.three_three_column::after{
    content:"";
    display: block;
    width: 32%;
}

.three_three_column .column{
    width: 32%;
}
