@charset "utf-8";
/* CSS Document */

/**/

header,
p.hide,
hr{
  /*
  display:none;
*/}

main a,footer a{
  text-decoration: none !important;
}
/*--------------------------------------------------------------------------------
 HOME
--------------------------------------------------------------------------------*/

/* mv ------------------------------------------------------------------------*/
.mv{
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width:767px){
  .mv{
    height:55vw;
    background:url(assets/images2/mv-sp.png) center center / cover no-repeat;
  }
  .mv h1{
    width:70%;
  }
}
@media screen and (min-width:768px){
  .mv{
    height:650px;
    background:url(assets/images2/mv.png) center center / auto 100% no-repeat;
  }
  .mv h1{
    width: 80%;
    max-width: 805px;
  }
}

/* main-inner ------------------------------------------------------------------------*/
.main-inner{
  background:rgba(192,233,252,.7);
}
.main-inner .container{
  background:#fff;
}

/*--------------------------------------------------------------------------------
 lead
--------------------------------------------------------------------------------*/
.lead .box-text span{
  display: inline-block;
  color:#000;
  line-height:1.36;
  font-weight:400;
}
.lead .b-img{
  width:85%;
  max-width:870px;
  margin:auto;
}
@media screen and (max-width:767px){
  .lead .box-text{
    text-align: center;
    padding:12vw 0 10vw;
  }
  .lead .box-text span{
    font-size:4.5vw;
  }
  .lead .b-img{
    margin-bottom:10vw;
  }
}
@media screen and (min-width:768px){
  .lead .box-text{
    padding:95px 50px 70px;
  }
  .lead .box-text span{
    font-size:28px;
  }
  .lead .b-img{
    margin-bottom:100px;
  }
}

/*--------------------------------------------------------------------------------
 STORIES
--------------------------------------------------------------------------------*/

/* h2 */
#STORIES .box-text h2,
#DESIGNCENTER .box-text h2,
#STORIES .box-text h2 span{
  line-height:1;
  color:#000;
}
#STORIES .box-text h2{
  background:#E4E4E4;
  font-weight:700;
  padding:.8em;
}
#STORIES .box-text h2 span{
  display:inline-block;
  position: relative;
  padding:0 .9em;
  margin-left:.6em;
  font-weight: 500;
}
#STORIES .box-text h2 span::after,
#STORIES .box-text h2 span::before{
  content:"";
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  width:.8em;
  height:3px;
  background:#000;
}
#STORIES .box-text h2 span::before{
  left:0;
}
#STORIES .box-text h2 span::after{
  right:0;
}
#DESIGNCENTER .box-text h2 p,
#DESIGNCENTER .box-text h2 span{
  display: inline-block;
  color:inherit;
  font-weight: inherit;
}
#DESIGNCENTER .box-text h2 span{
  transform: translateY(.05em)
}
#SINGLE #DESIGNCENTER > .b-lnk{
  display: flex;
  justify-content: center;
}
#SINGLE #DESIGNCENTER > .b-lnk a{
  margin:0;
}
@media screen and (max-width:767px){
  #STORIES .box-text{
    padding:0;
    margin-bottom:5vw;
  }
  #STORIES .box-text h2,
  #DESIGNCENTER .box-text h2,
  #STORIES .box-text h2 span{
    font-size:4vw;
    text-align: center;
  }
  #STORIES .box-text h2{
    margin-bottom:5vw;
  }
  #DESIGNCENTER .box-text h2{
    margin-bottom:0 !important;
    line-height:1.3;
  }
  #STORIES .box-text p{
    font-size:3.2vw;
    line-height:1.5;
    text-align: center;
  }
  #DESIGNCENTER .box-text h2 p,
  #DESIGNCENTER .box-text h2 span{
    font-size:34px;
    color:inherit;
    font-weight: inherit;
  }
  #SINGLE #DESIGNCENTER > .b-lnk a{
    width:40vw;
  }
  #SINGLE #DESIGNCENTER > .b-lnk a.m-form{
    margin-left:2vw;
  }
}
@media screen and (min-width:768px){
  #STORIES .box-text{
    margin-bottom:40px;
  }
  #STORIES .box-text h2,
  #DESIGNCENTER .box-text h2,
  #STORIES .box-text h2 span{
    font-size:28px;
  }
  #STORIES .box-text h2{
    margin-bottom:40px;
  }
  #DESIGNCENTER .box-text h2 p,
  #DESIGNCENTER .box-text h2 span{
    font-size:34px;
    color:inherit;
    font-weight: inherit;
  }
  #SINGLE #DESIGNCENTER > .b-lnk a{
    width:330px;
  }
  #SINGLE #DESIGNCENTER > .b-lnk a.m-form{
    margin-left:20px;
  }
}

/* tag-list -----------*/
.tag-list li,
.e-post-cat{
  display: inline-block;
  padding:.4em .7em .3em;
  line-height:1;
  border-style: solid;
}
.tag-list li{
  margin-top: .5em;
}
.tag-list li::before,
.e-post-cat::before{
  content:"#";
}
.tag-list li.active,
.tag-list li:hover{
  color:#fff;
}
.tag-list li:hover{
  cursor: pointer;
}
.tag-list li.active{
  cursor: default;
}

/* */
*[data-cat="all"]{
  color:#0072AD;
  border-color:rgba(0,144,173,.3);
}
li[data-cat="all"].active,
li[data-cat="all"]:hover{
  background:#0072AD;
}

li[data-cat="one-people"]{
  color:#938075;
  border-color:rgba(147,128,117,.3);
}
li[data-cat="one-people"].active,
li[data-cat="one-people"]:hover{
  background:#938075;
}

*[data-cat="two-households"]{
  color:#FF98CB;
  border-color:rgba(255,152,203,.3);
}
li[data-cat="two-households"].active,
li[data-cat="two-households"]:hover{
  background:#FF98CB;
}

*[data-cat="two-people"]{
  color:#F18D1E;
  border-color:rgba(241,141,30,.3);
}
li[data-cat="two-people"].active,
li[data-cat="two-people"]:hover{
  background:#F18D1E;
}

*[data-cat="three-people"]{
  color:#39AF4A;
  border-color:rgba(57,175,74,.3);
}
li[data-cat="three-people"].active,
li[data-cat="three-people"]:hover{
  background:#39AF4A;
}

*[data-cat="four-people"]{
  color:#2E86AB;
  border-color:rgba(46,134,171,.3);
}
li[data-cat="four-people"].active,
li[data-cat="four-people"]:hover{
  background:#2E86AB;
}

*[data-cat="other"]{
  color:#6e6e6e;
  border-color:rgba(110,110,110,.3);
}
li[data-cat="other"].active,
li[data-cat="other"]:hover{
  background:#6e6e6e;
}

.e-post-cat{
  margin-left:0;
}
@media screen and (max-width:767px){
  .tag-list{
    width:90%;
    margin:auto;
    text-align: center;
    font-size:0;
  }
  .tag-list li{
    width:32%;
    margin:.8vw .4vw 0 .4vw;
    transition-duration: .2s;
    font-size:2.5vw;
    border-width:4px;
  }
  .e-post-cat{
    font-size:3vw;
    border-width:3px;
  }
}
@media screen and (min-width:768px){
  .tag-list li{
    border-width:4px;
    transition-duration: .2s;
  }
  #STORIES .tag-list li+li{
    margin-left:12px;
  }
  .e-post-cat{
    font-size:14px;
    border-width:3px;
  }
}


/* stories-list -----------------------------------------------------------------*/

.stories-list article .b-post-hd,
.stories-list article div.b-post-ttl,
.stories-list article div.b-post-detail,
.m-plan-lnk{
  width:100%;
}

/* stories-list */
.stories-list{
  width:100%;
  margin-top:50px;
  display: flex;
  justify-content:left;
  flex-wrap: wrap;
  display:none;
}
.stories-list.active{
  display: flex;
}
/* article */
.stories-list article{
  overflow: hidden;
  transition-duration: .8s;
  transform: translateY(0);
}
.stories-list article.none{
  transform: translateY(50px);
  opacity: 0;
}
.stories-list article.move{
  transform: translateY(0);
  opacity: 1;
}
@media screen and (max-width:767px){
  .stories-list article{
    width:95%;
    margin:auto;
    background:#f4f4f4;
  }
  .stories-list article+article{
    margin-top:2.5vw;
  }
}
@media screen and (min-width:768px){
  .stories-list article{
    width:calc(100% / 3);
    position: relative;
    border-right:2px solid #D7D7D7;
  }
  .stories-list article::after{
  content:"";
  display: block;
  width:calc(100% + 2px);
  height:2px;
  background:#D7D7D7;
  position: absolute;
  bottom:0;
  left:0;
  }
  .stories-list article:nth-child(3n+1)::after{
    left:30px;
  }
  .stories-list article:nth-child(3n){
    border-right:0 none;
  }
  .stories-list article:nth-child(3n)::after{
    left:auto;
    right:30px;
  }
  .stories-list article:nth-child(3n+2){
    transition-delay: .2s;
  }
  .stories-list article:nth-child(3n){
    transition-delay: .4s;
  }
}
/* a */
.stories-list article a{
  display: flex; flex-direction: column;
  width:100%; height:100%;
  padding:15px 30px 40px;
}
.latest-box article a{padding:20px 25px 25px;}
.stories-list article a *:not(.e-post-cat){
  color:#000;
}
@media screen and (max-width:767px){
  .stories-list article a{
    padding:4vw 3vw 40px;
  }
}


/* post-hd */
.stories-list article .b-post-hd{
  text-align: left;
  margin-bottom:10px;
}
.stories-list article .e-post-cat{
  display: inline-block;
}

/* post-ttl */
.stories-list article .b-post-ttl{
}
.stories-list article .b-post-ttl p{
  width:100%;
  line-height:1.2em;;
	font-weight: 700;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: 0.02em;
}
@media screen and (max-width:767px){
  .stories-list article div.b-post-ttl p{
    font-size:6vw;
  }
}
@media screen and (min-width:768px){
  .stories-list article div.b-post-ttl p{
    font-size:24px;
  }
}

/* post-detail */
.stories-list article .b-post-detail{
  margin:auto 0 15px;
  padding:14px 0 0;
  border-bottom:1px solid #666;
}
.stories-list article .b-post-detail dl{
  display: flex;
  width:100%;
  border-top:1px solid #666;
}
.stories-list article .b-post-detail *{
  color: #666 !important;
}

.stories-list article div.b-post-detail span{letter-spacing: 0.05em; }
.stories-list article div.b-post-detail dt,
.stories-list article div.b-post-detail dd{ padding:0.7em 0 0.6em;}

.stories-list article div.b-post-detail dt{ width:auto; flex-shrink: 0;}
.stories-list article div.b-post-detail dt::before{
  content:"";
  display: inline-block;width:11px;height:10px;
  background:url(assets/images2/arrow-small.svg) center left / contain no-repeat;
  margin:0;
}
.stories-list article div.b-post-detail .e-post-family dt::after{content:"：";}

.stories-list article div.b-post-detail dt,
.stories-list article div.b-post-detail dd,
.stories-list article div.b-post-detail dd span{
  margin:0;
  line-height:1.3;
  text-align: left;
}
.stories-list article div.b-post-detail dd span{
  letter-spacing: -.03em;
}
dl.e-post-family span+span::before{content:" + ";}
dl.e-post-size span+span::before{content:"　";}
@media screen and (max-width:767px){
.stories-list article div.b-post-detail dt,
.stories-list article div.b-post-detail dd,
.stories-list article div.b-post-detail dd span{
  font-size:3vw;
  }
  .stories-list article div.b-post-detail dt::before{
    width:2vw;
    height:2vw;
    margin-right:.3em;
  }
}
@media screen and (min-width:768px){
.stories-list article div.b-post-detail dt,
.stories-list article div.b-post-detail dd,
.stories-list article div.b-post-detail dd span{
  font-size: 12px;
  }
}

dl.e-post-size span{ display: none; }
dl.e-post-size span:nth-child(1),
dl.e-post-size span:nth-child(2){ display: inline}

/* post-thumbnail */
.b-post-thumb{
  display: block; align-self: end; margin:0;
  width:100%;
  flex-shrink: 0;
  /*! max-height:178px; */
}
@media screen and (max-width:767px){
  .b-post-thumb{ max-height:71.5vw;}
}

/* m-plan-lnk */
.m-plan-lnk{
  display:flex;
  align-items:center;
  justify-content: center;
  align-self: flex-end; 
  letter-spacing:0.05em;
  line-height:1;
  background: #0072AD;
  color:#fff !important;
  margin-left:auto;
  margin-right:auto;
  font-weight: 700;
}
.m-plan-lnk::after{
  content:"";
  display: block;
  margin-left:0.3em;
  background:url(assets/images2/arw-circle.png) center center / contain no-repeat;
}

@media screen and (max-width:767px){
  .m-plan-lnk{
    width:55%;
    height:7vw;
    margin-top:3vw;
    font-size:3vw;
  }
  .m-plan-lnk::after{
    width:3vw;
    height:3vw;
  }
}

@media screen and (min-width:768px){
  .m-plan-lnk{
    width:65%;
    height:35px;
    margin-top:20px;
    font-size:13px;
    transition-duration: .5s;
  }
  article a:hover .m-plan-lnk{
    background:#4A98F2;
    transition-duration: .5s;
  }
  .m-plan-lnk::after{
    width:16px;
    height:16px;
  }
}

.stories-list article a:hover{ animation: stories-p 0.5s forwards; }
@keyframes stories-p{
    0% { background-color:rgba(255,255,255,0);}
    100% {  background-color:rgba(255,255,255,0.3); }
}
@media screen and (max-width:767px){
  .stories-list{ width:100%; margin:20px auto 0;}
  .stories-list article a::after{
     width:40px; height:40px; top:50%; transform: translateY(-50%);
  }
  .stories-list article p{ position: static;}
}

.next{ width:100%; min-width:100%;}
.next a{
  display: block;width: 250px; margin:0 auto; padding:20px 0 10px;
  border:7px solid #c2c2c2; text-align: center !important;
  color:#666; line-height: 1.0em; letter-spacing: 0.1em;
}
.next a::after{
  content:"";
  display: block;width:24px;height:12px; margin:10px auto 0;
  background:url(assets/images/arrow-more.svg) center center / contain no-repeat;
}
.next a:hover{ animation: listmore 0.5s forwards; }
@keyframes listmore{
    0% { background:#fff; color:#666;}
    100% { background:#c2c2c2; color:#000; }
}


/*--------------------------------------------------------------------------------
 DESIGNCENTER
#DESIGNCENTER .b-flex,
#DESIGNCENTER .b-imgWrap{
  display: flex;
}
#DESIGNCENTER figure{
  margin:0;
}
#DESIGNCENTER figcaption{
  text-align: left;
  line-height:1.56;
  letter-spacing: .05em;
}
#DESIGNCENTER .b-lnk a{
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  background:#3173B3;
  color:#fff;
  line-height:1.2;
  padding:1em;
  margin:auto;
  font-weight: 700;
}
#DESIGNCENTER .b-lnk a.m-dc{
  background:#000d57;
}
#DESIGNCENTER .b-lnk a.m-form{
  background:#999;
}
#DESIGNCENTER .b-lnk a.m-madori{
  flex-direction: row-reverse;
}
#DESIGNCENTER .b-lnk a::after{
  content:"";
  display: block;
  background:url(assets/images2/arw.png) center center / contain no-repeat;
  transform: translateY(.1em);
  margin-left:.3em;
}
#DESIGNCENTER .b-lnk a.m-madori::after{
  transform: translateY(.1em) rotate(180deg);
  margin-right:.3em;
  margin-left:0;
}
@media screen and (max-width:767px){
  #DESIGNCENTER{
    padding:12vw 0 15vw;
  }
  #DESIGNCENTER .box-text{
    padding:0;
  }
  #DESIGNCENTER .b-flex{
    display: block;
  }
  #DESIGNCENTER h3{
    width:100%;
  }
  #DESIGNCENTER .b-box{
    width:90vw;
    margin: auto;
    margin-top:5vw;
  }
  #DESIGNCENTER .b-imgWrap{
    justify-content: space-between;
  }
  #DESIGNCENTER .b-imgWrap img{
    width:48.5%;
  }
  #DESIGNCENTER figcaption{
    margin-top:.5em;
    margin-bottom:1em;
    font-size:16px;
  }
  #DESIGNCENTER > .b-lnk {
    margin-top:2vw;
  }
  #DESIGNCENTER .b-lnk a{
    min-height:10vw;
    width:82vw;
    font-size:2.3vw;
    line-height:1;
    margin-top:2vw;
  }
  #DESIGNCENTER .b-lnk a br{
    display: none
  }
  #DESIGNCENTER .b-lnk a::after{
    width:16px;
    height:16px;
  }
}
@media screen and (min-width:768px){
  #DESIGNCENTER{
    padding:80px 0 100px;
  }
  #DESIGNCENTER .b-flex{
    margin-top:50px;
  }
  #DESIGNCENTER h3,
  #DESIGNCENTER .b-box{
    width:50%;
  }
  #DESIGNCENTER .b-box{
    padding-left:30px;
  }
  #DESIGNCENTER .b-imgWrap{
    justify-content: space-between;
  }
  #DESIGNCENTER .b-imgWrap img{
    width:48.5%;
  }
  #DESIGNCENTER figcaption{
    padding-right:25px;
    margin-top:.5em;
  }
  #DESIGNCENTER .b-lnk a{
    min-height:65px;
    width:400px;
  }
  #DESIGNCENTER .b-lnk a::after{
    width:15px;
    height:15px;
  }
  #DESIGNCENTER .b-box a{
    width:55%;
    margin-top:26px;
    transition-duration: .2s;
  }
  #DESIGNCENTER .b-lnk a:hover{
    background:#4A98F2;
    transition-duration: .5s;
  }
  #DESIGNCENTER > .b-lnk{
    margin:90px auto 0;
  }
}

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

/*--------------------------------------------------------------------------------
 single
--------------------------------------------------------------------------------*/
@media screen and (max-width:767px){
  #SINGLE .container{
    padding-top:8vw;
  }
}
@media screen and (min-width:768px){
  #SINGLE .container{
    padding-top:40px;
  }
}
@media screen and (min-width:768px){
  #SINGLE .container{
    padding-top:70px;
  }
}
#SINGLE h1{
  width: 100%;
  font-size:2.63rem; line-height:1.3em !important;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: 0.02em;
  margin-bottom:60px;
  letter-spacing: 0;
}
/*
#SINGLE h1::before{
  content:"";
  display: block; width:231px;height:16px;
  margin:0 auto 13px 2px;
  background:url(assets/images/lead-planning.svg) left center / contain no-repeat;
}
*/
@media screen and (max-width:767px){
  #SINGLE h1{
    font-size:20px;
    padding-top:4vw;
    margin-bottom:30px;
  }
}
@media screen and (min-width:768px){
  #SINGLE h1{
    padding-top:25px;
  }
}

.single-main{
  position: relative;
}
.single-main .e-post-cat{
  position: absolute;
  top:0;
  transform: translateY(-50%);
  text-align: left;
  padding:0.4em 0.8em .5em;
  line-height:1.0em;
}
@media screen and (max-width:767px){
  .single-main{
    width: 100%;
    padding-left: 2.5vw !important;
    padding-right: 2.5vw !important;
  }
  .single-main .e-post-cat{
    left:2.5vw;
    font-size:2.5vw;
  }
}
@media screen and (min-width:768px){
  .single-main .e-post-cat{
    left:40px;
    right:auto;
  }
}



/* REQUEST ANSWER */
.single-lead-inner{
  display: flex; justify-content: space-between;
  width:810px; margin:auto; transform: translateY(-50px);
}
.single-lead-inner > section{
  width:350px; height:350px; background:#2e8db2;
  border-radius: 50%; padding-top:60px;
}
.single-lead-inner > section *{color:#fff; line-height: 1.76em}
.single-lead-inner > section h3{ font-size:1.88rem !important;}
.single-lead-inner > section p{
  font-size:1.03rem;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  font-weight: 300;
}
.single-lead-inner > section+section p{ line-height: 1.5em}
@media screen and (max-width:767px){
  .single-lead-inner{ display: block; width:100%; transform: translateY(0)}
  .single-lead-inner > section{ width:100%; height:auto; border-radius:20px; padding:25px 20px;}
  .single-lead-inner > section h3{
    font-size:2.6vw !important;
  }
  .single-lead-inner > section p{
    text-align:left;
    font-size:2.2vw;
    line-height: 1.76em !important;
  }
}

.single-lead-inner > section:nth-child(1){ position: relative;}
.single-lead-inner > section:nth-child(1)::after{
  content:"";
  display: block;width:115px; height:80px;
  background:url(assets/images/arrow-shin.svg) center left / contain no-repeat;
  position: absolute;z-index: -1;
  right:-50%; top:50%; transform: translate(-57%,-50%);
}
@media screen and (max-width:767px){
  .single-lead-inner > section:nth-child(1){ margin-bottom:58px;}
  .single-lead-inner > section:nth-child(1)::after{
    transform: rotate(90deg) translate(45px,30px);
    width:60px;height:40px;
    bottom:0; left:50%; right:auto; top:auto; z-index: 5;
  }
  
}


#SINGLE,#SINGLE h2{ text-align: center;}
#SINGLE .container >*:not(.mv):not(#DESIGNCENTER):not(.newType):not(.oldType){ padding:0 40px;}
#SINGLE .plan,
#SINGLE .design >*,
#SINGLE .date{ margin-top:70px;}
#SINGLE .design > section:nth-of-type(1){margin-top:0;}
@media screen and (max-width:767px){
  #SINGLE .container >*:not(.mv):not(#DESIGNCENTER){ padding:0 2.5vw;}
  #SINGLE .mv{ margin-bottom:0; }
  #SINGLE >*:not(.mv){ padding:0;}
#SINGLE .plan,
#SINGLE .design >*,
#SINGLE .date{ margin-top:55px;}
}

#SINGLE h2{ font-size:1.8rem;margin-bottom:30px;}
#SINGLE h3{ margin-bottom:15px; line-height:1.0em; font-weight:500;font-size:1.55rem;} 
#SINGLE h3 span{ display: flex; line-height:1.0em !important; align-items:center;font-size:0.8rem !important; margin-left:14px; }
#SINGLE h3 span{ margin:0.5em 0.2em; }
#SINGLE h3 span::before,
#SINGLE h3 span::after{
  content:"";
  display:block; width:1px;
  background:#fff; transform:translateY(1px) ;
}
#SINGLE h2 span::before,
#SINGLE h2 span::after{height:1.43rem;}

#SINGLE h3 span::before,
#SINGLE h3 span::after{height:0.95rem;}

#SINGLE h2 span::before,
#SINGLE h3 span::before{ margin-right:1.0em;}
#SINGLE h2 span::after,
#SINGLE h3 span::after{ margin-left:1.0em;}

@media screen and (max-width:767px){
#SINGLE h2,
#SINGLE h3{ display:block;font-size:18px;}
#SINGLE h2{ text-align: center; margin-bottom:3vw;}
  #SINGLE h2 span{ justify-content: center; margin-left:0; margin-bottom:15px;}
#SINGLE h2 span,
#SINGLE h3 span{ /*! display: inline-block; */font-size:3.4vw; padding-left:0.3em;}
#SINGLE h2 span::before,
#SINGLE h2 span::after{height:0.95rem;}
}

/* single-plan */
.single-plan-inner{
  display: flex; justify-content: center;
  margin:0 auto 80px;
  line-height: 1.8em;
}
.single-plan-inner > img{ width:auto; height:140px;}
.single-plan-inner dl{
  display: flex;flex-direction: column;
  border-left:1px solid #e2e2e2; text-align: left; margin-left:30px;}
.single-plan-inner dl dt{ border-bottom:1px solid #e2e2e2; }
.single-plan-inner dl dt::before{
  content:"";
  display: inline-block;width:12px;height:12px; margin-left:-12px;
  background:url(assets/images/arrow-bl.svg) center center / contain no-repeat;
}
.single-plan-inner dl dt,
.single-plan-inner dl dd{ padding:0 0.5em 0 1.0em;}
.single-plan-inner dl li{
  display: block;
  font-weight:300;
}
@media screen and (min-width:768px){
}
@media screen and (max-width:767px){
  .single-plan{ margin:50px auto;}
  .single-plan-inner{ width:75%; flex-wrap: wrap; justify-content: space-between; margin-bottom:0;}
  .single-plan-inner > img{ order:2; margin-top:3vw; height:130px;}
  .single-plan-inner dl{ margin-left:0;}
  .single-plan-inner dl:nth-child(2){ order:1; margin-bottom:20px;}
  .single-plan-inner dl:nth-child(3){ width:100%;order:3;}
  .single-plan-inner dl dt,
  .single-plan-inner dl dd{
    font-size:12px;
  }
}

/* single-point */
.single-point{
  width: 96%;
  margin-left:auto;margin-right:auto;
  padding:60px 0 !important;
  background:rgba(46,141,178,0.1);
}
.oldType .single-point ol{padding:0 60px; padding-top:50px;}
.single-point ol li{
  display: flex; align-items: center; padding:18px;
  background:#fff; text-align: left;
  font-size:1.13rem;line-height: 1.55em;
  border: 7px solid #c0dde8;
  font-weight: 300;
}
.single-point ol li+li{ margin-top:25px;}
.single-point ol.type0 li::before{
  content:"";
  display: block; width:67px; min-width: 67px;height:67px; margin-right:18px;
  background-size:contain; background-repeat: no-repeat; background-position:top left;
}
.single-point ol.type0 li:nth-child(1)::before{ background-image:url(assets/images/point01.svg);}
.single-point ol.type0 li:nth-child(2)::before{ background-image:url(assets/images/point02.svg);}
.single-point ol.type0 li:nth-child(3)::before{ background-image:url(assets/images/point03.svg);}
.single-point ol.type0 li:nth-child(4)::before{ background-image:url(assets/images/point04.svg);}
.single-point ol.type0 li:nth-child(5)::before{ background-image:url(assets/images/point05.svg);}
.single-point ol.type0 li:nth-child(6)::before{ background-image:url(assets/images/point06.svg);}
@media screen and (max-width:767px){
  :not(.newType) .single-point{ width:100%;padding:5vw 2.5vw !important; }
  :not(.newType) .single-point .box-photo{ width:100%; margin-left:auto;}
  .single-point ol.type0{ padding:5vw 0 0;}
  .single-point ol.type0 li{ font-size:2.4vw}
  .single-point ol.type0 li::before{
    width:10vw;
    height:10vw;
  }
  .single-point ol.type0 li+li{ margin-top:2vw;}
}
/* latest-box */
.latest-box{ margin-top:50px;}
.latest-box h2{ font-size:1.25rem !important; margin-bottom:0 !important;}
.latest-box .stories-list{ margin-top:20px;}

.links{
  justify-content: space-between;
  width:820px; margin:0 auto 80px; padding:0 !important;
}
.links a{ box-sizing: border-box; width:260px; min-width:260px; border:7px solid #cecece;}
.links a:not(.links-dc){ background:#fff;}
@media screen and (max-width:767px){
  .links{ width:100%;}
}

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

 newType

-------------------------------------*/
@font-face {
  font-family: 'Jellyka';
  src: url('assets/font/Jellyka.woff2') format('woff');
}
.newType :not(.single-main){
  font-family: "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.newType .en{
  font-family: 'Jellyka';
}
/* single-lead -----------------------*/
.newType .single-lead-inner{
  display: block;
  width: 100%;
  max-width: 850px;
  transform: translateY(0);
}
.newType .single-lead-inner section{
  width: 100%;
  height: auto;
  margin: auto;
  border-radius: 18px;
  text-align: left;
}
.newType .single-lead-inner section.b-answer li+li{
  margin-top: 1em;
}
.newType .single-lead-inner section p+p{
  margin-top: .3em;
}
.newType .single-lead-inner section li,
.newType .single-lead-inner section li::before,
.newType .single-lead-inner section p{
  line-height: 1.45em;
}
.newType .single-lead-inner section li{
  position: relative;
  padding-left: 1.2em;
}
.newType .single-lead-inner section li::before{
  position: absolute;
  left: 0;
}
.newType .single-lead-inner section.b-answer li::before{
  top: .18em;
}
.newType .single-lead-inner section li:nth-child(1)::before{ content: "1."; }
.newType .single-lead-inner section li:nth-child(2)::before{ content: "2."; }
.newType .single-lead-inner section li:nth-child(3)::before{ content: "3."; }
.newType .single-lead-inner section li:nth-child(4)::before{ content: "4."; }
.newType .single-lead-inner section li:nth-child(5)::before{ content: "5."; }
.newType .single-lead-inner section li:nth-child(6)::before{ content: "6."; }
.newType .single-lead-inner section li:nth-child(7)::before{ content: "7."; }
.newType .single-lead-inner section li:nth-child(8)::before{ content: "8."; }
.newType .single-lead-inner section li:nth-child(9)::before{ content: "9."; }
.newType .single-lead-inner section li:nth-child(10)::before{ content: "10."; }
.newType .single-lead-inner section p{
  line-height: 1.45em;
}
.newType .single-lead-inner > section:nth-child(1)::after{
  transform: rotate(0) translateX(-50%);
  background:url(assets/images3/arw-blue.png) center bottom / cover;
}
@media screen and (max-width:767px){
  #SINGLE .newType .single-lead{
    margin-bottom: 70px;
  }
  #SINGLE .newType .single-lead h2{
    margin-bottom: 12px;
  }
  .newType .single-lead-inner section{
    padding: 30px 20px
  }
  .newType .single-lead-inner > section+section{
    margin-top: 55px;
  }
  .newType .single-lead-inner > section:nth-child(1)::after{
    width:50px;height:50px;
    bottom: auto; top: 100%; left:50%; right:auto; z-index: 5;
  }
  .newType .single-lead-inner > section.b-answer{
    height: 250px;
    overflow: hidden;
    position: relative;
    transition: all .3s;
  }
  
  .newType .single-lead-inner > section.b-answer.open{
    height: auto;
  }
  .newType .single-lead-inner > section.b-answer.open .more{
    display: none;
  }
  .newType .single-lead-inner > section.b-answer .more{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    text-align: center;
    font-size: 15px;
    background: url(assets/images3/more-bg.png) left top / contain repeat-x;
  }
  .newType .single-lead-inner > section.b-answer .more span{
    display: block;
    width: 90%;
    color: #2e8db2;
    border: 2px solid #2e8db2;
    background: #fff;
  }
  .single-lead-inner > section h3{
    font-size:20px !important;
    text-align: center;
  }
  .newType .single-lead-inner section li+li{
    margin-top: .5em;
  }
  .newType .single-lead-inner section.b-answer li::before{
    top: .0em;
  }
  .newType .single-lead-inner section p{
    font-size: 13px;
  }
}
@media screen and (min-width:768px){
  #SINGLE .newType .single-lead{
    margin-bottom: 70px;
  }
  #SINGLE .newType .single-lead h2{
    margin-bottom: 12px;
  }
  .newType .single-lead-inner section{
    display: flex;
    align-items: center;
    padding: 30px 20px 30px 55px;
  }
  .newType .single-lead-inner > section+section{
    margin-top: 95px;
  }
  .newType .single-lead-inner > section:nth-child(1)::after{
    width:80px;height:80px;
    bottom: auto; top: 100%; left:50%; right:auto; z-index: 5;
  }
  
  .newType .single-lead-inner > section.b-answer .more{
    display: none;
  }
  .newType .single-lead-inner section li+li{
    margin-top: .8em;
  }
  .newType .single-lead-inner > section h3{
    width: 200px;
    min-width: 200px;
    margin: 0;
  }
  .newType .single-lead-inner section p{
    font-size: 16px;
  }
}

/* single-point -----------------------*/
.newType .single-point{
  width: 100%;
  max-width: 980px;
  background: #fff;
  padding: 0 !important;
  position: relative;
}
.newType .single-point .type0{
  display: none;
}
.newType .single-point ol li{
  border: 0;
  padding: 0;
  position: absolute;
  z-index: 1;
}
.single-point ol.numbering-box{
  display: none
}
.newType .single-point ol.numbering-box{
  display: block;
}
.newType .single-point ol li p{
  width: 100%;
  cursor: pointer;
  z-index: 1;
}
.newType .single-point ol li:nth-child(1)::before{
  display: none;
}


@media screen and (max-width:767px){
  .newType .single-point{
    margin-bottom: 70px;
  }
  .newType .single-point ol li{
    width: 6.5%;
  }
  .newType .single-point ol li:nth-last-child(1){
    top: 5.5%;
    left: 52%;
  }
}

@media screen and (min-width:768px){
  .newType .single-point{
    margin-bottom: 100px;
  }
  .newType .single-point ol{
    padding:0;
  }
  .newType .single-point ol li{
    width: 3.8%;
  }
}

/* modal -----------------------*/
#body-in.modalOpen.fixed .header__container.fixed,
#body-in.modalOpen .header-area{
  display: none;
}
.modal{
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(240,240,240,.95);
  z-index: 100;
  transition: all .5s;
  opacity: 0;
  pointer-events: none;
}
.modal.open{
  opacity: 5;
  pointer-events: auto;
}
.modalInner{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
}
.modalInner .close{
  position: absolute;
  background: url(assets/images3/modal-close.png) center center / contain no-repeat;
  cursor: pointer;
}
.modalContent{
  width: 90%;
  max-width: 520px;
}
.modalContent dl{
  position: relative;
  margin-bottom: 2em;
  line-height: 1.5;
}
.modalContent dl::before{
  content:"";
  display: block;
  position: absolute;
  background-size: contain;
  top: 0;
  left: 0;
  transform: translateY(-.5em);
}
.modalContent dt,
.modalContent dd{
  text-align: left;
}
.modalContent dt{
  margin-bottom: .3em;
  text-align: left;
  font-weight: bold;
}


.newType .modalBox .modal:nth-child(1) .modalContent dl::before{
  background-image: url(assets/images3/no01.png);
}
.newType .modalBox .modal:nth-child(2) .modalContent dl::before{
  background-image: url(assets/images3/no02.png);
}
.newType .modalBox .modal:nth-child(3) .modalContent dl::before{
  background-image: url(assets/images3/no03.png);
}
.newType .modalBox .modal:nth-child(4) .modalContent dl::before{
  background-image: url(assets/images3/no04.png);
}
.newType .modalBox .modal:nth-child(5) .modalContent dl::before{
  background-image: url(assets/images3/no05.png);
}
.newType .modalBox .modal:nth-child(6) .modalContent dl::before{
  background-image: url(assets/images3/no06.png);
}
.newType .modalBox .modal:nth-child(7) .modalContent dl::before{
  background-image: url(assets/images3/no07.png);
}
.newType .modalBox .modal:nth-child(8) .modalContent dl::before{
  background-image: url(assets/images3/no08.png);
}
.newType .modalBox .modal:nth-child(9) .modalContent dl::before{
  background-image: url(assets/images3/no09.png);
}
.newType .modalBox .modal:nth-child(10) .modalContent dl::before{
  background-image: url(assets/images3/no10.png);
}
.newType .modalBox .modal:nth-child(11) .modalContent dl::before{
  background-image: url(assets/images3/no11.png);
}
.newType .modalBox .modal:nth-child(12) .modalContent dl::before{
  background-image: url(assets/images3/no12.png);
}
.newType .modalBox .modal:nth-child(13) .modalContent dl::before{
  background-image: url(assets/images3/no13.png);
}
.newType .modalBox .modal:nth-child(14) .modalContent dl::before{
  background-image: url(assets/images3/no14.png);
}
.newType .modalBox .modal:nth-child(15) .modalContent dl::before{
  background-image: url(assets/images3/no15.png);
}
@media screen and (max-width:767px){
  .modalInner .close{
    width: 25px;
    height: 25px;
    right: 25px;
    top: 15px;
  }
  .modalContent dl{
    padding-left: 50px;
  }
  .modalContent dl::before{
    width: 35px;
    height: 35px;
    margin-top: .3em;
  }
  .modalContent dt{
    font-size: 20px;
  }
  .modalContent dd{
    font-size: 13px;
  }
}
@media screen and (min-width:768px){
  .modalInner .close{
    width: 35px;
    height: 35px;
    right: 30px;
    top: 30px;
  }
  .modalContent dl{
    padding-left: 63px;
  }
  .modalContent dl::before{
    width: 45px;
    height: 45px;
  }
  .modalContent dt{
    font-size: 24px;
  }
  .modalContent dd{
    font-size: 16px;
  }
}

/* ideaWrap -----------------------*/
.ideaWrap{
  
}
.ideaWrap .container{
  width: 100%;
  margin: 0;
  background: #F0F0F0;
}
#SINGLE .ideaWrap h2{
  display: flex;
  justify-content: center;
  color: #2F8CB1;
}
.ideaWrap h2 .jp{
  padding: 0 .5em;
  line-height: 1.1;
  font-weight: bold;
  border-left: 2px solid #2F8CB1;
  border-right: 2px solid #2F8CB1;
}
.ideaWrap .ideaBox{
  width: 94%;
  max-width: 950px;
  margin: auto;
  position: relative;
  background: #fff;
  text-align: left;
}
.ideaWrap .ideaBox .en{
  line-height: 1;
  color: #2F8CB1;
  position: absolute;
}
.ideaWrap .ideaBox .en span::before{
  font-family: 'Jellyka';
}
.ideaWrap .ideaBox:nth-of-type(1) .en span::before{
  content:"1";
}
.ideaWrap .ideaBox:nth-of-type(2) .en span::before{
  content:"2";
}
.ideaWrap .ideaBox:nth-of-type(3) .en span::before{
  content:"3";
}
.ideaWrap .ideaBox:nth-of-type(4) .en span::before{
  content:"4";
}
.ideaWrap .ideaBox:nth-of-type(5) .en span::before{
  content:"5";
}
.ideaWrap .ideaBox:nth-of-type(6) .en span::before{
  content:"6";
}
.ideaWrap .ideaBox:nth-of-type(7) .en span::before{
  content:"7";
}
.ideaWrap .ideaBox:nth-of-type(8) .en span::before{
  content:"8";
}
.ideaWrap .ideaBox:nth-of-type(9) .en span::before{
  content:"9";
}
.ideaWrap .ideaBox:nth-of-type(10) .en span::before{
  content:"10";
}
.ideaBox .right p{
  font-weight: bold;
}
.ideaBox .right p::before{
  content:"■";
  color: #2F8CB1;
}
@media screen and (max-width:767px){
  .ideaWrap{
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50vw);
  }
  #SINGLE .ideaWrap .container{
    padding-bottom: 50px;
  }
  #SINGLE .ideaWrap h2{
    flex-wrap: wrap;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
  #SINGLE .ideaWrap h2 .en{
    font-size: 40px;
  }
  #SINGLE .ideaWrap h2 .jp{
    font-size: 13px;
    margin-top: -1.8em;
  }
  .ideaBox{
    padding: 40px 20px 30px !important;
    margin-top: 40px !important;
  }
  .ideaBox+.ideaBox{
    margin-top: 40px !important;
  }
  .ideaBox .en{
    font-size: 22px;
    top: -1em;
  }
  .ideaBox .en span{
    font-size: 35px;
    font-weight: bold;
  }
  
  .ideaBox .right{
    margin-top: 20px;
  }
}
@media screen and (min-width:768px){
  #SINGLE .ideaWrap .container{
    padding-top: 30px;
    padding-bottom: 60px;
  }
  #SINGLE .ideaWrap h2{
    margin-bottom: 0;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
  .ideaWrap h2 .en{
    font-size: 60px;
    top: -1em;
  }
  .ideaWrap h2 .jp{
    font-size: 15px;
    margin-left: 1em;
    margin-bottom: 2.7em;
  }
  .ideaBox{
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .ideaBox+.ideaBox{
    margin-top: 60px;
  }
  .ideaBox .inner{
    display: flex;
  }
  .ideaBox .left{
    width: 50%;
    min-width: 50%;
    margin-right: 3%;
    padding-top: 28px;
  }
  .ideaBox .en{
    font-size: 32px;
    top: -1em;
  }
  .ideaBox .en span{
    font-size: 60px;
  }
}

/* lnk -----------------------*/
.consult .b-lnk,
.DESIGNCENTER .box-text .b-lnk{
  width: 81.5%;
  max-width: 380px;
  position: absolute;
  z-index: 5;
  left: 50%;
  transform: translateX( -50% );
}
.consult .b-lnk a,
.DESIGNCENTER .box-text .b-lnk a{
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  height: 100%;
}
.consult .b-lnk a span,
.DESIGNCENTER .box-text .b-lnk a span{
  font-weight: bold;
  color: #fff;
  line-height: 1;
}
.consult .b-lnk a span{
  letter-spacing: .1em;
}
.DESIGNCENTER .box-text .b-lnk a span{
  letter-spacing: .065em;
}
.consult .b-lnk a{
  background: #EF5A24;
}
.DESIGNCENTER .box-text .b-lnk a{
  background: #4D4D4D;
}
.consult .b-lnk a::after,
.DESIGNCENTER .box-text .b-lnk a::after{
  content:"";
  display: block;
  background: url(assets/images3/arw.png) center center / contain no-repeat;
  margin-left: .3em;
}
#SINGLE .consult .b-lnk a::after,
#SINGLE .DESIGNCENTER .box-text .b-lnk a::after{
  width: 1em;
  height: 1em;
}
@media screen and (max-width:767px){
  .consult .b-lnk,
  .DESIGNCENTER .box-text .b-lnk{
    height: 8vw;
  }
  .consult .b-lnk span,
  .DESIGNCENTER .box-text .b-lnk span{
    font-size: 2.9vw;
    font-weight: bold;
  }
  
}
@media screen and (min-width:768px){
  .consult .b-lnk,
  .DESIGNCENTER .box-text .b-lnk{
    height: 50px;
  }
}

/* consult -----------------------*/
.consult .b-ttl{
  position: relative;
  z-index: 2;
}
.consult .b-box{
  position: relative;
  z-index: 1;
}
.consult .b-box::before{
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform-origin: center center;
  transform: translate(-50%,-50%) rotate(45deg);
}
@media screen and (max-width:767px){
  #HOME .consult{
    margin-top: 10vw;
  }
  #HOME .consult .b-ttl{
    margin-bottom: 20px;
  }
  .consult{
    padding: 0 !important;
  }
  #SINGLE .consult .container{
    padding-top: 50px;
  }
  .consult .b-box{
    width: 90%;
    margin: auto;
    padding: 0 !important;
  }
  .consult .b-box::before{
    width: 8%;
    height: 8%;
  }
  .consult .b-lnk{
    width: 56%;
    left: 6.5%;
    transform: translateX(0);
    bottom: 6.5vw;
  }
}
@media screen and (min-width:768px){
  #HOME .consult{
    margin-top: 90px;
    padding-left: 40px;
    padding-right: 40px;
  }
  #HOME .consult .b-ttl{
    margin-bottom: 20px;
  }
  #HOME .consult .container{
    padding-left: 40px;
    padding-right: 40px;
  }
  .consult .b-box::before{
    width: 50px;
    height: 50px;
  }
  .consult .b-lnk{
    bottom: 8%;
  }
  .consult .b-lnk span{
    font-size: 19px;
  }
}

/* DESIGNCENTER -----------------------*/
.DESIGNCENTER{
  background: #fff !important;
}
.DESIGNCENTER .box-text{
  position: relative;
}
.DESIGNCENTER > .b-lnk{
  border: 2px solid #4D4D4D;
  margin: auto;
}
.DESIGNCENTER > .b-lnk a{
  width: 100% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #4D4D4D;
  font-weight: bold;
  letter-spacing: .1em;
  position: relative;
}
.DESIGNCENTER > .b-lnk a::before{
  content:"";
  display: block;
  width: 1.4em;
  height: 1.4em;
  position: absolute;
  left: 10px;
  background: url(assets/images3/arw-bk.png) center center / contain no-repeat;
}
@media screen and (max-width:767px){
  .DESIGNCENTER{
    padding-bottom: 50px;
  }
  .DESIGNCENTER .box-text .b-lnk{
    width: 73%;
    bottom: 20vw;
  }
  .DESIGNCENTER > .b-lnk{
    width: 65%;
    height: 10vw;
    font-size: 3vw;
    margin-top: 3vw;
  }
  .DESIGNCENTER > .b-lnk a::before{
    width: 1.2em;
    height: 1.2em;
  }
}
@media screen and (min-width:768px){
  #HOME .DESIGNCENTER{
    padding-top: 80px;
  }
  .DESIGNCENTER{
    padding: 95px 40px;
  }
  .DESIGNCENTER .box-text{
    padding: 0 40px;
  }
  .DESIGNCENTER .box-text .b-lnk{
    bottom: 16%;
  }
  .DESIGNCENTER .box-text .b-lnk span{
    font-size: 14px;
  }
  .DESIGNCENTER > .b-lnk{
    margin-top:50px;
    width: 475px;
    height: 60px;
  }
  .DESIGNCENTER > .b-lnk a{
    height: 100%;
    font-size: 16px;
  }
}

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

@media screen and (max-width:767px){
  .pc{ display: none;}
}
@media screen and (min-width:768px){
  .sp{ display: none;}
}
