/*===============================================
●smart.css 画面の横幅が768px以下
===============================================*/
@media screen and (max-width: 767px) {

.pc {display: none;}
html {
  overflow-x: hidden;
}
body::-webkit-scrollbar {  /* Safari 対応 */
        display:none;!important
}
body a {
  color: #000;
}

.drawer--right .drawer-hamburger {
}
.drawer--right.drawer-open .drawer-hamburger {
  right: 0!important;
}
.drawer-menu {
    margin: 62px 0 0!important;
    border-top: 1px solid #EEE;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100% - 62px);
    padding-bottom: 30px;
}
.drawer-menu::-webkit-scrollbar {
  width: 8px;
}
.drawer-menu::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 4px;
}
.drawer-menu::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}
.drawer-menu li .menu-parent,
.drawer-menu li a {
    display: block;
    padding: 3vw 4vw;
    font-size: 3.7vw;
    line-height: 1.2em;
    color: #000;
    border-bottom: 1px solid #EEE;
    position: relative;
}
.drawer-menu li a::after {
    content: "";
    width: 1em;
    height: 1em;
    background: url(../img/head-menu-arrow.svg) no-repeat center center / contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.5em;
    margin: auto;
    pointer-events: none;
    transform: rotate(-90deg);
}
.drawer-menu li.line a {
  padding: 3vw 4vw 3vw 14vw;
  background: url(../images/spmenu-line.svg) left 4vw center no-repeat;
  background-size: 8vw auto;
}
.drawer-menu li.insta a {
  padding: 3vw 4vw 3vw 14vw;
  background: url(../images/spmenu-insta.svg) left 4vw center no-repeat;
  background-size: 8vw auto;
}
.drawer-menu li.sunhomes a {
  padding: 2vw 4vw;
}
.drawer-menu li.sunhomes a img {
  height: 8vw;
}
.drawer-menu li.btmmag {
  height: 62px;
}
.drawer-nav {
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
}
#sp-nav {
    width: 70vw;
    right: -71vw;
}
.drawer-open #sp-nav {
    right: 0;
}
.menu-parent {
  position: relative;
  padding-right: 1em;
  cursor: pointer;
  background-color: #fff;
  transition: background-color 0.3s;
}
.menu-parent::before,
.menu-parent::after {
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.3s;
  font-size: 1em;
  color: #3E3735;
}
.menu-parent::before {
  content: '＋';
  opacity: 1;
}
.menu-parent::after {
  content: '－';
  opacity: 0;
}
.menu-parent.active::before {
  opacity: 0;
}
.menu-parent.active::after {
  opacity: 1;
}
.menu-parent.active {
  background-color: #eee;
}
.menu-child {
  display: none;
}

.sp-nav-sns {
    position: absolute;
    top: 13px;
    left: 20px;
    width: 90px;
    display: flex;
    justify-content: space-between;
}
.sp-nav-sns .line {
  display: block;
  width: 35px;
  height: 35px;
  background: url(../img/sns-line.svg) center / contain no-repeat;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}
.sp-nav-sns .insta {
  display: block;
  width: 35px;
  height: 35px;
  background: url(../img/sns-insta.png) center / contain no-repeat;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}


#fixhead {
  z-index: 99;
  background: rgba(255, 255, 255, 0.7);
  width: 100%;
  height: 12.5vw;
  position: fixed;
  top: 0;
  left: 0;
}
#fixhead .tagline {
  display: none;
}
.home #fixhead .toplogo, #fixhead .toplogo a {
  width: 46vw;
  height: 9vw;
  background: url(../img/head-logo.svg) center / contain no-repeat;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  top: 1.7vw;
  left: 2vw;
}
#fixhead ul {
  display: none;
}
#fixhead .contact {
  display: none;
}

.home {
    background: url(../img/bg-w-wall.jpg) center top / 210vw auto;
}

.home .mainslide {
  position: relative;
}
.home .mainslide .slick div {
  position: relative;
  background: #CCC;
}
.home .mainslide .slick .tagline img {
  width: 100vw;
  height: 146vw;
  object-fit: cover;
  object-position: 63% 0;
}
.home .mainslide .slick .tagline h2 {
  position: absolute;
  top: 20.5vw;
  left: 8vw;
  font-weight: 700;
  font-size: 6vw;
  line-height: 1.4em;
  text-shadow: 2px 2px 10px #fff ,
              -2px 2px 10px #fff ,
              2px -2px 10px #fff ,
              -2px -2px 10px #fff;
}
.home .mainslide .topinfo {
  background: #FFF;
  width: auto;
  position: relative;
  display: flex;
  margin: 3vw auto;
}
.home .mainslide .topinfo a {
  font-size: 3.5vw;
  line-height: 4.5vw;
  padding: 3vw 4vw;
  color: #000;
  width: 74vw;
}
.home .mainslide .topinfo a.tolist {
  background: #000;
  color: #FFF;
  text-align: center;
  padding: 0;
  width: 26vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.home .mainslide .slick_pause {
  width: 9vw;
  height: 9vw;
  position: absolute;
  top: 134vw;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
  background: url(../img/locslide-pause.svg) center / cover no-repeat;
  text-indent:150%;
  white-space: nowrap;
  overflow: hidden;
  border: none;
}
.home .mainslide .slick_pause.paused {
	background: url(../img/locslide-play.svg) center / cover no-repeat;
}
.home .mainslide .slick .arrow {
  width: 9vw;
  position: absolute;
  top: 134vw;
  z-index: 10;
}
.home .mainslide .slick .arrow.arleft {
  left: calc(50vw - 15vw);
}
.home .mainslide .slick .arrow.aright {
  right: calc(50vw - 15vw);
}
.home .mainslide .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.home .mainslide .slick-dots {
  position: absolute;
  top: 127vw;
  z-index: 10;
}

.home .slick-list {
  padding: 0;
}
.home .slick-dots {
  bottom: -2vw;
  height: 5vw;
}
.home .slick-dots li {
  width: 7vw;
  height: 1.5vw;
  background: #FFF;
}
.home .slick-dots li.slick-active button, .home .slick-dots li:hover button {
  background: #000;
}
.home .slick-dots li button {
  padding: 0;
  line-height: 0.8vw;
  width: 7vw;
  height: 1.5vw;
  border: 1.6px solid #000;
}
.home .slick-dots li button:before {
  display: none;
}

.home .intro {
  background: url(../img/bg-w-wall.jpg) center top / 210vw auto;
  padding: 0 5vw;
}
.home .intro .inner {
  font-feature-settings: 'palt';
  box-sizing: border-box;
  padding: 35vw 0 7vw;
  background: #7BAB81 url(../img/ysg-logo.svg) center 8vw / 25vw no-repeat;
  text-align: center;
}
.home .intro .inner h2 {
  font-weight: 800;
  font-size: 5.5vw;
  line-height: 1.5em;
}
.home .intro .inner p {
  font-weight: 400;
  font-size: 3.75vw;
  line-height: 1.4em;
  margin: 3vw 0;
}
.home .intro .inner p .spbr {
  margin-bottom: 5vw;
}
.home .intro .inner a {
  display: block;
  width: fit-content;
  font-size: 3.5vw;
  line-height: 11.25vw;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 15vw 0 5vw;
  margin: 6vw 0 0 10vw;
}
.home .intro .aboutmenu {
  background: url(../img/aboutmenu-bg_pc.jpg) center / cover no-repeat;
}
.home .intro .aboutmenu ul {
  display: flex;
  flex-wrap: wrap;
  padding: 5vw 6vw 7vw;
  justify-content: space-between;
}
.home .intro .aboutmenu li {
  width: 47%;
}
.home .intro .aboutmenu li a {
  font-weight: 600;
  font-size: 3.4vw;
  line-height: 11.3vw;
  color: #FFF;
  display: block;
  border-bottom: 2px dotted #FFF;
  background: url(../img/intro-menu-arrow.svg) right center / 4vw auto no-repeat;
}

.home .bislink {
  background: url(../img/bg-w-wall.jpg) center top / 210vw auto;
  font-feature-settings: 'palt';
  box-sizing: border-box;
  padding: 10vw 0 2vw;
  width: 100vw;
  overflow: hidden;
}
.home .bislink .tosales {
  box-sizing: border-box;
  background: #D6DBD0;
  margin:0 5vw 38vw;
  padding: 8vw 5vw 1vw;
  position: relative;
  box-shadow: 1vw 1vw 2vw rgba(0, 0, 0, 0.3);
}
.home .bislink .tosales h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
}
.home .bislink .tosales p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 5vw 0 1.5vw;
}
.home .bislink .tosales img {
  max-width: 90vw;
  margin: 4vw 0 -10vw;
}
.home .bislink .tosales a {
  display: block;
  width: fit-content;
  font-size: 3.5vw;
  line-height: 11.25vw;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 15vw 0 5vw;
  position: absolute;
  bottom: -27vw;
  left: 12vw;
}

.home .bislink .torent {
  box-sizing: border-box;
  background: #D6DBD0;
  margin:0 5vw 38vw;
  padding: 8vw 5vw 1vw;
  position: relative;
  box-shadow: 1vw 1vw 2vw rgba(0, 0, 0, 0.3);
}
.home .bislink .torent h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
}
.home .bislink .torent p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 5vw 0 1.5vw;
}
.home .bislink .torent img {
  max-width: 90vw;
  margin: 4vw 0 -10vw -10vw;
}
.home .bislink .torent a {
  display: block;
  width: 49vw;
  font-size: 3.5vw;
  line-height: 11.25vw;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 15vw 0 5vw;
  position: absolute;
  bottom: -27vw;
  left: 12vw;
}

.home .tocolumn {
  box-sizing: border-box;
  margin: 5vw;
  padding: 8vw 0;
  background: #FFF;
  box-shadow: 1vw 1vw 2vw rgba(0, 0, 0, 0.3);
}
.home .tocolumn h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
}
.home .tocolumn p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 5vw 0 3vw;
  text-align: center;
}
.home .tocolumn .slick {
  margin: 0 0 5vw -5vw;
  width: 100vw;
}
.home .tocolumn .slick .slick-list {
  padding-bottom: 4vw!important;
}
.home .tocolumn .slick div a {
  display: block;
  width: 92%;
  margin: auto;
  padding: 0;
  color: #000;
  background: #FFF;
  box-shadow: 0.6vw 0.6vw 1.2vw rgba(0, 0, 0, 0.3);
}
.home .tocolumn .slick div a img {
  width: 100%;
  height: 48vw;
  object-fit: cover;
  box-shadow: none;
  margin: 0 0 3vw;
}
.home .tocolumn .slick div a date {
  font-weight: 600;
  font-size: 3.5vw;
  line-height: 1.5em;
  margin: 0 3vw 0;
}
.home .tocolumn .slick div a p {
  font-size: 3.5vw;
  line-height: 1.5em;
  margin: 1vw 3vw;
  text-align: left;
  height: 6em;
}
.home .tocolumn a.tolist {
  display: block;
  width: 49vw;
  font-size: 3.5vw;
  line-height: 11.25vw;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 15vw 0 5vw;
  margin: 0 0 0 12.5vw;
}

.home .bislink .topvoice {
  box-sizing: border-box;
  margin: 5vw;
  padding: 8vw 0;
  background: #FFF;
  box-shadow: 1vw 1vw 2vw rgba(0, 0, 0, 0.3);
}
.home .bislink .topvoice h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
}
.home .bislink .topvoice p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 5vw 0 3vw;
  text-align: center;
}
.home .bislink .topvoice .slick {
  margin: 0 0 5vw -5vw;
  width: 100vw;
}
.home .bislink .topvoice .slick .slick-list {
  padding-bottom: 4vw!important;
}
.home .bislink .topvoice .slick div a {
  display: block;
  width: 92%;
  margin: auto;
  padding: 0;
  color: #000;
  background: #FFF;
  box-shadow: 0.6vw 0.6vw 1.2vw rgba(0, 0, 0, 0.3);
  position: relative;
}
.home .bislink .topvoice .slick div a img {
  width: 100%;
  height: 48vw;
  object-fit: cover;
  box-shadow: none;
  margin: 0 0 3vw;
}
.home .bislink .topvoice .slick div a:after {
  content: '';
  width: 100%;
  height: 48vw;
  background: url(../img/voice-text-bg.svg) center bottom / contain no-repeat;
  position: absolute;
  top:0;
  left: 0;
  z-index: 9;
}
.home .bislink .topvoice .slick div a numv {
  font-weight: 800;
  font-size: 4vw;
  line-height: 1.5em;
  color: #FFF;
  position: absolute;
  left: 3vw;
  top: 40vw;
  z-index: 10;
}
.home .bislink .topvoice .slick div a cat {
  font-size: 2.7vw;
  line-height: 4.4vw;
  color: #FFF;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0 0.6em;
}
.home .bislink .topvoice .slick div a cat.reform {
  background: #D79132;
}
.home .bislink .topvoice .slick div a cat.newbuild {
  background: #79A480;
}
.home .bislink .topvoice .slick div a p {
  font-size: 3.5vw;
  line-height: 1.5em;
  margin: 1vw 3vw;
  text-align: left;
  height: 5em;
}
.home .bislink .topvoice a.tolist {
  display: block;
  width: 49vw;
  font-size: 3.5vw;
  line-height: 11.25vw;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 15vw 0 5vw;
  margin: 0 0 0 12.5vw;
}

.home .bnrs ul {
  width: 75vw;
  margin: 12vw auto;
}
.home .bnrs ul li {
  margin: 4vw 0;
  background: #FFF;
  box-shadow: 0.6vw 0.6vw 1.2vw rgba(0, 0, 0, 0.3);
}
.torecruit {
  background: #FFF;
  width: 90%;
  margin: 12vw auto;
  box-shadow: 0.6vw 0.6vw 1.2vw rgba(0, 0, 0, 0.3);
}

.page {
  padding: 30vw 0 0;
  margin: auto;
}
.page h1 {
  font-weight: 800;
  font-size: 6.5vw;
  line-height: 1.5em;
  position: relative;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 88vw 1fr;
  column-gap: 1.5vw;
  align-items: center;
}
.page h1::before {
  content: '';
  height: 1px;
  border-bottom: 1px solid #999;
}
.page h1::after {
  content: '';
  font-weight: 500;
  font-size: 16.25vw;
  line-height: 1.2em;
  position: absolute;
  color: #E3E2E2;
  bottom: 0.2em;
  left: 6vw;
  z-index: -1;
}
.breadcrumb {
  margin: 0.5em 6vw 0;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 3.3vw;
  line-height: 1.5em;
  justify-content: flex-end;
}
.breadcrumb li:not(:last-of-type)::after {
  content: "≫";
  margin: 0 .4em;
  color: #777; /* 記号の色 */
}


/*建売住宅*/
.page.ready-built h1::after {
  content: 'HOUSE';
}
.page.ready-built .intro {
  background: #D6DBD0;
  position: relative;
  box-shadow: 0px 3px 5px rgba(0, 0, 0, .3);
  margin-top: 50px;
  padding: 0 calc(50% - 600px) 12vw;
}
.page.ready-built .intro ul {
  padding-top: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 3.5vw;
}
.page.ready-built .intro ul li {
  width: 50%;
  border-bottom: 1px solid #000;
}
.page.ready-built .intro ul li a {
  display: block;
  padding: 1em 0 2.2em;
  font-weight: 600;
  text-align: center;
  line-height: 1.4vw;
  background: url(../img/ready-built-menu-arrow.svg) center 2.4em / 1em auto no-repeat;
}

.page.ready-built .intro h2 {
  font-weight: 800;
  text-align: center;
  font-size: 6vw;
  line-height: 1.5em;
  margin: 2em auto 0.8em;
}
.page.ready-built .intro p {
  text-align: justify;
  font-size: 3.75vw;
  line-height: 1.5em;
  padding: 0 8vw;
  margin-top: 1em;
}
.page.ready-built .build {
  padding: 10vw 4vw;
}
.page.ready-built .build h2 {
  font-weight: 800;
  text-align: center;
  font-size: 6vw;
  line-height: 1.5em;
  margin: 1em auto 1.5em;
}
.page.ready-built .build ul {
  margin: 0 4vw;
}
.page.ready-built .build ul li {
  position: relative;
  padding-bottom: 7%;
}
.page.ready-built .build ul li h3 {
  border-bottom: 1px solid #79A480;
  font-feature-settings: 'palt';
  font-weight: 600;
  font-size: 6.25vw;
  line-height: 2.5em;
  text-align: left;
  display: flex;
}
.page.ready-built .build ul li h3 span.nomv {
  border-bottom: 3px solid #79A480;
  font-weight: 500;
  font-size: 10vw;
  width: 1.8em;
  padding-left: 0;
}
.page.ready-built .build ul li h3 span {
  display: block;
  text-align: left;
  padding-left: 0.6em;
  width: 100%;
}
.page.ready-built .build ul li img {
	margin-top: 5vw;
}
.page.ready-built .build ul li p {
  text-align: center;
  font-size: 3.75vw;
  line-height: 1.5em;
  text-align: justify;
  margin: 1.5em 0;
}
.page.ready-built .build ul li a {
  box-sizing: border-box;
  width: 90%;
  display: block;
  color: #FFF;
  text-align: center;
  font-feature-settings: palt;
  font-size: 3.5vw;
  line-height: 3.33em;
  padding: 0 2.3em 0 0;
  margin-left: 1.7em;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
}
.page.ready-built .selling {
  background: #D6DBD0;
  position: relative;
  box-shadow: 0px 0.1vw 0.15vw rgba(0, 0, 0, .3);
  margin-top: 0;
  padding: 10vw calc(50% - 600px) 4vw;
}
.page.ready-built .selling h2 {
  font-weight: 800;
  text-align: center;
  font-size: 6vw;
  line-height: 1.5em;
  margin: 1em auto 0.8em;
}
.page.ready-built .selling p {
  text-align: justify;
  font-size: 3.75vw;
  line-height: 1.5em;
  padding: 0 6vw;
}
.page.ready-built .selling  ul {
  margin: 6vw 6vw 0;
}
.page.ready-built .selling ul li {
  position: relative;
  margin-bottom: 10vw;
}
.page.ready-built .selling ul li h3 {
  border-left: 2vw solid #79A480;
  font-feature-settings: 'palt';
  font-weight: 600;
  font-size: 5vw;
  line-height: 2em;
  padding-left: 0.7em;
  margin: 0 0 0.5em;
}
.page.ready-built .selling ul li p {
  text-align: center;
  font-size: 3.75vw;
  line-height: 1.5em;
  text-align: justify;
  margin: 1.5em 0 0;
}
.page.ready-built .selling ul li a {
  box-sizing: border-box;
  width: 90%;
  display: block;
  color: #FFF;
  text-align: center;
  font-feature-settings: palt;
  font-size: 3.5vw;
  line-height: 3.33em;
  padding: 0 2.3em 0 0;
  margin: 4vw 0 0 1.7em;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
}
.page.ready-built .norm {
  position: relative;
  padding: 10vw 6vw ;
  overflow: auto;
}
.page.ready-built .norm h2 {
  font-weight: 800;
  text-align: center;
  font-size: 5vw;
  line-height: 1.5em;
  margin: 1em auto 1.5em;
}
.page.ready-built .norm dl {
  margin: 6vw 0 0;
}
.page.ready-built .norm dl dt {
  font-feature-settings: 'palt';
}
.page.ready-built .norm dl dt h3 {
  text-align: center;
  font-weight: 800;
  font-size: 5vw;
  line-height: 1.3em;
  margin-bottom: 0.7em;
}
.page.ready-built .norm dl dt p {
  font-size: 3.75vw;
  line-height: 1.66em;
  margin-bottom: 4vw;
}
.page.ready-built .norm dl dd {
  margin-bottom: 8vw;
}
.page.ready-built .normother {
  position: relative;
  padding: 10vw 0;
  overflow: auto;
}
.page.ready-built .normother h2 {
  font-weight: 800;
  text-align: center;
  font-size: 5vw;
  line-height: 1.5em;
  margin: 0 auto 1.5em;
}
.page.ready-built .normother .slick .slick-track {
  display: flex;
}
.page.ready-built .normother .slick .slick-slide {
  height: auto !important;
  margin: 0 8vw 4vw;
  border: 1.2vw solid #7BAB81;
  box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.3);
}
.page.ready-built .normother .slick .slick-slide h3 {
  font-weight: 800;
  text-align: center;
  font-size: 4.5vw;
  line-height: 1.5em;
  margin: 0.3em 4% 0.3em;
}
.page.ready-built .normother .slick .slick-slide p {
  text-align: justify;
  font-size: 3.75vw;
  line-height: 1.5em;
  margin: 0.3em 4vw 4vw;
  word-break: break-all;
}
.page.ready-built .normother a.linkbot {
  box-sizing: border-box;
  width: 80%;
  display: block;
  color: #FFF;
  text-align: center;
  font-feature-settings: palt;
  font-size: 3.5vw;
  line-height: 3.33em;
  padding: 0 2.3em 0 0;
  margin: 6vw 0 0 3.5em;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
}
.page.ready-built .story {
  background: #FFF;
  position: relative;
  padding: 10vw 0;
}
.page.ready-built .story h2 {
  font-weight: 800;
  text-align: center;
  font-size: 6vw;
  line-height: 1.5em;
  margin: 1em auto 1.5em;
}
.page.ready-built .story p {
  text-align: justify;
  font-size: 3.75;
  line-height: 1.5em;
  margin: 0 8vw;
}
.page.ready-built .story .background {
  margin: 10vw 4vw;
  background: url(../img/ready-built-history-bg.jpg) center / cover no-repeat;
  border-radius: 0;
}
.page.ready-built .story .background h2 {
  padding-top: 5vw;
  margin: 0 auto;
}
.page.ready-built .story .background ul {
  margin: 3vw auto 0;
  padding: 0 5vw 5vw 15vw;
  position: relative;
  font-feature-settings: 'palt';
}
.page.ready-built .story .background ul li {
  margin: 0 0 4vw;
}
.page.ready-built .story .background ul li .era {
  font-size: 5.5vw;
  line-height: 1.4em;
  text-align: center;
  color: #FFF;
  background: #8c8c8c;
  border-radius: 1vw;
  width: 36vw;
}
.page.ready-built .story .background ul li:nth-of-type(2) .era {
  background-color: #878787;
}
.page.ready-built .story .background ul li:nth-of-type(3) .era {
  background-color: #7a7a7a;
}
.page.ready-built .story .background ul li:nth-of-type(4) .era {
  background-color: #666666;
}
.page.ready-built .story .background ul li:nth-of-type(5) .era {
  background-color: #424242;
}
.page.ready-built .story .background ul li .box {
  margin-top: 1vw;
  padding: 2vw 3vw;
  background: #FFF;
}
.page.ready-built .story .background ul li .box h3 {
  font-weight: 500;
  font-size: 3.5vw;
  line-height: 1.4em;
  margin-bottom: 0.3em;
}
.page.ready-built .story .background ul li .box p {
  font-size: 2.5vw;
  line-height: 1.7em;
  text-align: justify;
  margin: 0;
}
.page.ready-built .story .background ul li .balloon {
  position: relative;
  display: inline-block;
  margin: 0.3em 0 0 0.8em;
  padding: 0.2em 0.5em 0.5em;
  width: 67vw;
  color: #555;
  font-size: 3.5vw;
  background: #FFF;
  border: solid 2px #7BAB81;
  box-sizing: border-box;
  border-radius: 1em;
}
.page.ready-built .story .background ul li .balloon:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 20%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}
.page.ready-built .story .background ul li .balloon:after {
  content: "";
  position: absolute;
  top: -30px;
  left: 20%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #7BAB81;
  z-index: 1;
}
.page.ready-built .story .background ul li .balloon .at {
  font-weight: 600;
  font-size: 3.25;
  line-height: 1.5em;
  color: #7BAB81;
}
.page.ready-built .story .background ul li .balloon .at span {
  font-weight: 400;
  font-size: 2.5vw;
  color: #000;
}
.page.ready-built .story .background ul li .balloon p {
  font-size: 3.5vw;
  line-height: 1.5em;
  color: #000;
  margin: 0;
  text-align: center;
}
.page.ready-built .story .background ul li .balloon p .green {
  font-weight: 800;
  font-size: 3.8vw;
  color: #7BAB81;
}
.page.ready-built .story a.linkbot {
  box-sizing: border-box;
  width: 80%;
  display: block;
  color: #FFF;
  text-align: center;
  font-feature-settings: palt;
  font-size: 3.5vw;
  line-height: 3.33em;
  padding: 0 2.3em 0 0;
  margin: 6vw 0 0 3.5em;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
}
.page.ready-built .other {
  padding: 10vw 6vw 3vw;
  background: #D6DBD0;
  margin-bottom: 4vw;
}
.page.ready-built .other ul {
}
.page.ready-built .other ul li {
  position: relative;
  margin-bottom: 12vw;
}
.page.ready-built .other ul li h3 {
  font-weight: 800;
  font-size: 5vw;
  line-height: 1.4em;
  text-align: center;
}
.page.ready-built .other ul li p {
  font-size: 3.75vw;
  line-height: 1.66em;
  margin: 0.5em 0 1em;
}
.page.ready-built .other ul li img {
  width: 100%;
}
.page.ready-built .other ul li a.linkbot {
  box-sizing: border-box;
  width: 96%;
  display: block;
  color: #FFF;
  text-align: center;
  font-feature-settings: palt;
  font-size: 3.5vw;
  line-height: 3.33em;
  padding: 0 2.3em 0 0;
  margin: 6vw 0 0 4%;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
}
.page.ready-built .other ul li a.linkbot.pc {
  display: none;
}


/*家づくり*/
.page.build h1::after {
  content: 'BUILD';
}
.page.build .stage {
  background: #F6F6F6;
  padding: 0 0 8vw;
}
.page.build .stage ul.buildnav {
  border-bottom: 1px solid #A8A4A4;
  margin: 4vw 0 0;
  padding: 0 8vw;
  display: flex;
  font-size: 4.5vw;
}
.page.build .stage ul.buildnav li {
  width: 33.3%;
}
.page.build .stage ul.buildnav li a {
  background: url(../img/build-nav-arrow.svg) center 3.1em / 0.9em auto no-repeat;
  line-height: 2.2em;
  padding: 1em 0 1.2em;
  box-sizing: border-box;
  display: block;
  text-align: center;
  transition: none;
}
.page.build .stage ul.buildnav li a.active {
  border-bottom: 5px solid #7BAB81;
  opacity: 1;
}
.page.build .stage h2 {
  margin: 8vw auto;
  text-align: center;
  font-weight: 800;
  font-size: 5.5vw;
  line-height: 1.4em;
}


/*家づくりコンセプト*/
.page.build .stage ul.points {
  margin: 0 8vw;
}
.page.build .stage ul.points li {
  overflow: auto;
  padding-bottom: 10vw;
}
.page.build .stage ul.points li img {
  width: 100%;
}
.page.build .stage ul.points .point .nomv {
  padding-top: 4vw;
  font-weight: bold;
  font-size: 10vw;
  line-height: 1.2em;
  color: #7BAB81;
}
.page.build .stage .embed{
    position: relative;
    width: 100%;
    padding: calc(600 / 560 * 100%) 0 0;
}

.page.build .stage .embed iframe{
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.page.build .stage ul.points h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.4em;
  padding: 0.2em 0 0.5em;
}
.page.build .stage ul.points p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 0.7em 0 0;
  font-feature-settings: 'palt';
}

.page.build .stage .feature {
  border-top: 1px solid #A8A4A4;;
  margin: 0;
  padding: 8vw 0;
}
.page.build .stage .feature h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.2em;
  margin: 0 8vw;
}
.page.build .stage .feature .item_text {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 0.7em 8vw 1em;
}
.page.build .stage .feature ul.item {
  font-size: 3.75vw;
  margin: 0.7em 8vw 1em;
}
.page.build .stage .feature ul.item li {
  line-height: 1.7em;
  display: inline-block;
  padding-right: 1em;
}
.page.build .stage .feature ul.item li::before {
  content: '● ';
}
.page.build .stage .feature .slick,
.page.build .stage .feature .slick2,
.page.build .stage .feature .slick3 {
  margin: 0 0 8vw;
}
.page.build .stage .feature .slick p,
.page.build .stage .feature .slick2 p,
.page.build .stage .feature .slick3 p {
  font-size: 3.75vw;
  line-height: 1.7em;
  padding-top: 0.4em;
}
.page.build .stage .feature .slick p.title,
.page.build .stage .feature .slick2 p.title,
.page.build .stage .feature .slick3 p.title {
  font-size: 3.75vw;
  line-height: 1.7em;
  padding-top: 0.4em;
  font-weight: 800;
  margin-bottom: 1vw;
}
.page.build .stage .feature .slick p.read,
.page.build .stage .feature .slick2 p.read,
.page.build .stage .feature .slick3 p.read {
  font-size: 3.5vw;
  line-height: 1.7em;
  padding-top: 0.4em;
  margin-bottom: 5vw;
}
.page.build .stage .feature .slick .slick-slide,
.page.build .stage .feature .slick2 .slick-slide,
.page.build .stage .feature .slick3 .slick-slide {
  margin: 0 3vw;
}
.page.build .stage .feature .slick .arrow,
.page.build .stage .feature .slick2 .arrow,
.page.build .stage .feature .slick3 .arrow {
  display: none;
}
.page.build .stage .feature .slick-list {
  padding: 0 0 1em;
}
.page.build .stage .feature .slick-dots {
  bottom: -1.5em;
}
.page.build .stage .feature .slick-dots li {
  width: 8vw;
  height: calc(0.5vw + 1.6px);
}
.page.build .stage .feature .slick-dots li.slick-active button {
  background: #000;
}
.page.build .stage .feature .slick-dots li button {
  padding: 0;
  line-height: 0.8vw;
  width: 8vw;
  height: 2vw;
  border: 1.6px solid #000;
}
.page.build .stage .feature .slick-dots li button:before {
  display: none;
}
.dots-box,
.dots-box2 {
	width: 85%;
	margin: auto;
}
.dots-box .slide-dots,
.dots-box2 .slide-dots {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 5vw;
	margin-bottom: 5vw;
}
.dots-box .slide-dots li,
.dots-box2 .slide-dots li {
	font-size: 2.4vw;
	padding: 5px 10px;
	border: 1px solid #333;
	cursor: pointer;
}
.dots-box .slide-dots li button,
.dots-box2 .slide-dots li button {
	display: none;
}
.dots-box .slide-dots li.slick-active,
.dots-box2 .slide-dots li.slick-active {
	background: #ccc;
}
.dots-box .slide-dots li:nth-of-type(1):after{ content: "小上がりタタミルーム"; }
.dots-box .slide-dots li:nth-of-type(2):after{ content: "アイランドキッチン"; }
.dots-box .slide-dots li:nth-of-type(3):after{ content: "ファミリークローゼット"; }
.dots-box .slide-dots li:nth-of-type(4):after{ content: "3畳洗面室"; }
.dots-box .slide-dots li:nth-of-type(5):after{ content: "引戸の採用"; }
.dots-box .slide-dots li:nth-of-type(6):after{ content: "各居室収納"; }

.dots-box2 .slide-dots li:nth-of-type(1):after{ content: "キッチン"; }
.dots-box2 .slide-dots li:nth-of-type(2):after{ content: "IHクッキングヒーター"; }
.dots-box2 .slide-dots li:nth-of-type(3):after{ content: "食器洗い乾燥機"; }
.dots-box2 .slide-dots li:nth-of-type(4):after{ content: "レンジフード"; }
.dots-box2 .slide-dots li:nth-of-type(5):after{ content: "バスルーム"; }
.dots-box2 .slide-dots li:nth-of-type(6):after{ content: "浴室暖房換気乾燥機"; }
.dots-box2 .slide-dots li:nth-of-type(7):after{ content: "洗面ドレッシング"; }
.dots-box2 .slide-dots li:nth-of-type(8):after{ content: "エコキュート"; }
.dots-box2 .slide-dots li:nth-of-type(9):after{ content: "トイレ"; }
.dots-box2 .slide-dots li:nth-of-type(10):after{ content: "室内ドア"; }
.dots-box2 .slide-dots li:nth-of-type(11):after{ content: "玄関収納"; }
.dots-box2 .slide-dots li:nth-of-type(12):after{ content: "インターホン"; }
.dots-box2 .slide-dots li:nth-of-type(13):after{ content: "照明器具"; }
.dots-box2 .slide-dots li:nth-of-type(14):after{ content: "玄関ドア"; }
.dots-box2 .slide-dots li:nth-of-type(15):after{ content: "網戸"; }


.page.build .stage .pageback a {
  display: block;
  width: fit-content;
  font-size: 3.75vw;
  line-height: 3.33em;
  color: #FFF;
  background: url(../img/backbot-bg_pc.svg) left center / cover no-repeat;
  padding: 0 2.22em 0 5em;
  margin: 4vw auto;
  transform: translate(-0.6em);
}


/*家づくり性能*/
.page.build .stage .main {
  margin: 0 0 8vw;
  width: 100vw;
  aspect-ratio: 440 / 315;
  overflow: hidden;
}
.page.build .stage .main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*.page.build .stage .main {
  margin: 0 0 0 -10vw;
  width: 116vw;
}*/

.page.build .stage ul.perflist {
  margin: 8vw 8vw 0;
}
.page.build .stage ul.perflist li {
  overflow: auto;
  padding-bottom: 8vw;
}
.page.build .stage ul.perflist li img {
  padding-bottom: 2vw;
}
.page.build .stage ul.perflist h3 {
  font-feature-settings: 'palt';
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.2em;
  border-bottom: 1px solid #A8A4A4;
  padding: 0.5em 0;
}
.page.build .stage ul.perflist p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 0.7em 0 0;
  font-feature-settings: 'palt';
}
.page.build .stage .enersave {
  padding: 8vw 8vw 0;
  border-top: 1px solid #A8A4A4;
}
.page.build .stage .enersave h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.2em;
  border-bottom: 1px solid #A8A4A4;
  padding: 0.5em 0;
}
.page.build .stage .enersave p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 0.7em 0 0;
  font-feature-settings: 'palt';
}
.page.build .stage .enersave .esimg {
  margin: 4vw 0 0;
}
.page.build .stage .enersave .esimg img {
  margin-top: 6vw;
}
.page.build .zeh {
  margin: 8vw 0 16vw;
}
.page.build .zeh h2 {
  text-align: center;
  font-feature-settings: 'palt';
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.2em;
  padding: 0 0 6vw;
}
.page.build .zeh .slick {
  margin: 0 0 8vw;
}
.page.build .zeh h3 {
  font-weight: bold;
  font-size: 4.25vw;
  line-height: 1.2em;
  padding: 3vw 0 0;
}
.page.build .zeh .slick p {
  font-size: 3.75vw;
  line-height: 1.7em;
  padding-top: 0.4em;
  word-break: break-word;
}
.page.build .zeh .slick .slick-slide {
  margin: 0 3vw;
}
.page.build .zeh .slick .arrow {
  display: none;
}
.page.build .zeh .slick-list {
  padding: 0 0 1em;
}
.page.build .zeh .slick-dots {
  bottom: -1.5em;
}
.page.build .zeh .slick-dots li {
  width: 7vw;
  height: calc(0.5vw + 1.6px);
}
.page.build .zeh .slick-dots li.slick-active button {
  background: #000;
}
.page.build .zeh .slick-dots li button {
  padding: 0;
  line-height: 0.8vw;
  width: 7vw;
  height: 2vw;
  border: 1.6px solid #000;
}
.page.build .zeh .slick-dots li button:before {
  display: none;
}
.page.build .earthquake {
  padding: 2vw 0 8vw;
}
.page.build .earthquake ul {
  padding: 2vw 8vw;
}
.page.build .earthquake ul li {
  padding-bottom: 8vw;
}
.page.build .stage.earthquake ul h3 {
  font-feature-settings: 'palt';
  font-weight: bold;
  font-size: 4.2vw;
  line-height: 1.2em;
  border-bottom: 1px solid #A8A4A4;
  padding: 0 0 0.5em 1.3em;
  position: relative;
  margin: 4vw 0;
}
.page.build .stage.earthquake ul h3 span {
  float: left;
  position: absolute;
  left: 0;
  top: 0;
}
.page.build .stage.earthquake ul p {
  font-size: 3.75vw;
  line-height: 1.7em;
}


/*家づくり品質*/
.page.build .stage .examination {
  border-bottom: 1px solid #A8A4A4;
  padding: 0 8vw;
}
.page.build .stage .examination h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.4em;
}
.page.build .stage .examination p {
  font-size: 3.75vw;
  line-height: 1.7em;
  margin: 1em 0 8vw;
}
.page.build .stage .examination ul {
}
.page.build .stage .examination ul li {
  padding: 0 0 6vw;
}
.page.build .stage .examination li h4 {
  font-weight: bold;
  font-size: 4.75vw;
  margin: 0.8em 0 0;
}
.page.build .stage .examination li p {
  font-size: 3.75vw;
  margin: 0.7em 0 1.2em;
  word-break: break-word;
}

.page.build .stage .quality {
  padding: 8vw 8vw 0;
}
.page.build .stage .quality h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.4em;
  margin-top: 8%;
}
.page.build .stage .quality p {
  font-size: 3.75vwpx;
  line-height: 1.7em;
  padding: 1em 0 8vw;
}
.page.build .stage .quality .qlist {
  padding-bottom: 2vw;
}
.page.build .stage .quality .qlist li {
  background: #FFF;
  margin-bottom: 8vw;
}
.page.build .stage .quality .qlist li h4 {
  font-weight: bold;
  font-size: 4.75vw;
  margin: 1.2em 5vw 0;
}
.page.build .stage .quality .qlist li p {
  font-size: 3.75vw;
  padding: 2vw 5vw 5vw;
  word-break: break-word;
}

/*保証とアフターサービス*/
.page.after h1::after {
  content: 'AFTER SERVICE';
  bottom: -4rem;
}
.page.after .stage {
  background: #F6F6F6;
  margin-top: 8vw;
  padding: 8vw;
}
.page.after h2 {
  font-weight: 800;
  font-size: 5.5vw;
  line-height: 1.5em;
  text-align: center;
  margin-bottom: 7.8%;
}
.page.after .stage li ul.mt-s {
	margin-top: 1em;
}
.page.after .stage li {
  margin-bottom: 7.8%;
  overflow: auto;
}
.page.after .stage li h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.4em;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #A8A4A4;
}
.page.after .stage li p {
  font-size: 3.75vw;
  line-height: 1.66em;
  margin: 0.5em 0 1em;
}
.page.after .stage li ul {
  margin-left: 4.2%;
}
.page.after .stage li ul li {
  margin-bottom: 4%;
}
.page.after .stage li h4 {
  font-weight: bold;
  font-size: 4.25vw;
  line-height: 1.4em;
}
.page.after .stage li img {
  margin: 0 auto 2%;
  display: block;
}


/*私たちがサンホームズです*/
.page.about h1::after {
  content: 'ABOUT';
}
.page.about .bggrn {
  background: #7BAB81;
}
.page.about .jumper {
  position: relative;
  margin: 4vw 0 0;
  padding: 2vw 0 0;
  display: flex;
  flex-wrap: wrap;
}
.page.about .jumper li {
  width: calc(100% / 3);
  border-bottom: 1px solid #000;
}
.page.about .jumper li a {
  display: block;
  font-weight: 600;
  font-size: 3.3vw;
  line-height: 1.38em;
  text-align: center;
  padding: 1.38em 0 2em;
  background: url(../img/about-jump-arrow.svg) center 3.1em / 1em auto no-repeat;
}
.page.about #concept {
  padding: 13.33vw 8vw 14vw;
}
.page.about #concept h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  margin: 0 0 1.5em;
  text-align: center;
}
.page.about #concept p {
  font-size: 3.75vw;
  line-height: 1.66em;
}
.page.about #concept .concept-logo {
  margin-bottom: 13.33vw;
}
.page.about #concept .concept-logo img {
	width: 46.5vw;
  margin: 0 auto;
}
.page.about #message {
  padding: 14vw 8vw;
  position: relative;
}
.page.about #message .right {
  overflow: hidden;
  margin: 0 0 8vw;
}
.page.about #message .right img {
  float: left;
  width: 50vw;
}
.page.about #message .right figcaption {
  float: right;
  text-align: center;
  font-size: 5vw;
  line-height: 1.4em;
  margin: 25vw 0 0 5vw;
}
.page.about #message .right figcaption span {
  font-size: 6vw;
  display: block;
}
.page.about #message h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 1em;
}
.page.about #message p {
  font-size: 3.75vw;
  line-height: 1.66em;
}
.page.about .bgpgrn {
  background: #D6DBD0;
}
.page.about #proud {
  margin: 0 6vw;
  padding: 14vw 0;
}
.page.about #proud h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 1.5em;
}
.page.about #proud ul {
  box-sizing: border-box;
  padding: 6vw 0 5vw;
  margin: auto;
  background: #FFF;
}
.page.about #proud ul li {
  padding-bottom: 4%;
}
.page.about #proud ul li:not(:first-child) {
	margin-top: 5.33vw;
}
.page.about #proud ul li .nomv {
  font-size: 10vw;
  line-height: 1em;
  text-align: center;
  font-weight: 600;
  width: 27vw;
  margin: 0 auto 3vw;
  border-bottom: 1px solid #000;
}
.page.about #proud ul li .nomv span {
  font-size: 6vw;
  margin-right: 0.2em;
}
.page.about #proud ul li .point {
  font-weight: 800;
  font-size: 4.5vw;
  line-height: 1.8em;
  text-align: center;
  margin: auto;
  font-feature-settings: 'palt';
}
.page.about #proud ul li .point span {
  color: #7BAB81;
  border-bottom: 1px solid #7BAB81;
}
.page.about #proud ul li a {
  display: block;
  width: 15em;
  text-align: center;
  font-size: 3.5vw;
  line-height: 3.33em;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 3.2em 0 2.2em;
  margin: 1em 0 0 12vw;
  transform: translate(-0.6em);
}
.page.about .bgrgly {
  background: #F7F7F7;
}
.page.about #business {
  padding: 14vw 8vw;
  position: relative;
}
.page.about #business h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 1em;
}
.page.about #business p {
  font-size: 3.75vw;
  line-height: 1.66em;
}
.page.about #business ul li {
  padding: 8vw 0 60vw;
  overflow: auto;
  position: relative;
}
.page.about #business ul li h3 {
  font-weight: 600;
  font-size: 5vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 4vw;
}
.page.about #business ul li img {
  position: absolute;
  bottom: 0;
}
.page.about #business ul li p {
  font-size: 3.75vw;
  line-height: 1.66em;
  text-align: justify;
}
.page.about #numbers {
  padding: 14vw 8vw;
  position: relative;
}
.page.about #numbers h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 1em;
}
.page.about #numbers ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page.about #numbers ul li {
  text-align: center;
  box-sizing: border-box;
  width: 40vw;
  background: #7BAB81;
  margin: 4% 0 0;
  padding: 2% 3% 3%;
  position: relative;
  box-shadow: 0.6vw 0.6vw 1.2vw rgba(0, 0, 0, 0.3);
}
.page.about #numbers ul li:nth-of-type(3) {
  width: 100%;
}
.page.about #numbers ul li h3 {
  color: #FFF;
  font-weight: 800;
  font-size: 3.5vw;
  line-height: 1.5em;
  margin-bottom: 0.3em;
}
.page.about #numbers ul li img {
  border-radius: 3vw;
}
.page.about #numbers ul li p {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 0 10%;
  color: #7BAB81;
  z-index: 2;
  font-feature-settings: 'palt';
  font-weight: 800;
  font-size: 3.75vw;
  line-height: 1.2em;
}
.page.about #numbers ul li:nth-of-type(3) p {
  padding: 0 0 9% 27%;
  color: #7BAB81;
  z-index: 2;
  font-feature-settings: 'palt';
  font-weight: 800;
  font-size: 3.75vw;
  line-height: 1.2em;
}
.page.about #numbers ul li p span {
  font-size: 11vw;
}
.page.about #numbers ul li:nth-of-type(3) p span {
  font-size: 8vw;
}
.page.about #numbers ul li:nth-of-type(5) p span {
  font-size: 7.2vw;
}
.page.about #numbers ul li p span.now {
  font-size: 2.5vw;
  line-height: 1.4em;
  font-weight: 600;
  display: block;
}
.page.about #history {
  padding: 14vw 0;
  position: relative;
}
.page.about #history h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 1.5em;
}
.page.about #history h3 {
  font-feature-settings: 'palt';
  font-weight: 600;
  font-size: 5vw;
  line-height: 1.6em;
  text-align: center;
  margin-bottom: 0.5em;
}
.page.about #history p {
  font-size: 2.75vw;
  line-height: 1.66em;
}
.page.about #history .map {
  overflow: auto;
  padding: 0 0 70vw;
  position: relative;
  margin-bottom: 8vw;
}
.page.about #history .map img {
  width: 84vw;
  position: absolute;
  bottom: 0;
  left: 8vw;
}
.page.about #history .map p {
  text-align: justify;
  padding: 0 8vw;
}
.page.about #history ul {
  padding: 0 8vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page.about #history ul h3 {
  text-align: center;
  width: 100%;
  margin-bottom: 1em;
}
.page.about #history ul li {
  width: 40vw;
}
.page.about #history ul li:nth-of-type(3) {
  margin: auto;
}
.page.about #history ul li p {
  margin: 0.3em 0 1em;
  text-align: center;
  font-size: 3.5vw;
}
.page.about #history a.textbot {
  display: block;
  width: 15em;
  text-align: center;
  font-size: 3.5vw;
  line-height: 3.33em;
  color: #FFF;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  padding: 0 3.2em 0 2.2em;
  margin: 0 0 0 18vw;
  transform: translate(-0.6em);
}
.page.about #outline {
  padding: 0 6vw 14vw;
  position: relative;
}
.page.about #outline h2 {
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
  margin: 0 0 -0.5em;
  padding-top: 14vw;
}
.page.about #outline dl {
  font-feature-settings: 'palt';
}
.page.about #outline dl dt {
  padding: 1.5em 0 0;
  box-sizing: border-box;
  font-weight: 500;
  font-size: 4vw;
  line-height: 1.4em;
  text-align: justify;
}
.page.about #outline dl dd {
  background: url(../img/about-outline-hr_sp.svg) left bottom / contain no-repeat;
  padding: 0.5em 0 calc(1.5em + 3px);
  box-sizing: border-box;
  font-size: 4vw;
  line-height: 1.4em;
  text-align: justify;
}
.page.about #outline dl dd h3 {
  padding: 0 0 0.5em;
  font-size: 4vw;
  font-weight: 600;
  font-feature-settings: 'palt';
}
.page.about #outline dl dd h3::before {
  content: "[";
}
.page.about #outline dl dd h3::after {
  content: "]";
}
.page.about #outline dl dd dt {
  background: none;
  padding: 0 0 0.5em;
  box-sizing: border-box;
  font-size: 4vw;
  line-height: 1.4em;
}
.page.about #outline dl dd dd {
  background: none;
  padding: 0 0 1em;
  box-sizing: border-box;
  font-size: 4vw;
  line-height: 1.4em;
}
.page.about #outline dl dd dd.last {
  padding: 0;
}
.page.about #outline dl dd dl.social {
}
.page.about #outline dl dd dl.social dt {
  padding: 0.5em 0 0.5em;
}
.page.about #outline dl dd dl.social dd {
  padding-top: 0;
}
.page.about #outline dl dd dl.social dd p {
  display: table-cell;
  vertical-align: middle;
}
.page.about #outline dl dd dt.last {
  padding-bottom: 0.5em!important;
}


/*サンホームズの歴史*/
.page.history h1::after {
  content: 'HISTORY';
}
.page.history .intro {
  background: #7BAB81;
  position: relative;
  margin: 10vw 0 0;
  padding: 0 0 6vw;
}
.page.history .intro .main {
  margin: 0;
}
.page.history h2 {
  font-weight: 800;
  font-size: 5.5vw;
  line-height: 1.5em;
  text-align: center;
  font-feature-settings: 'palt';
}
.page.history .intro h2 {
  margin: 10vw auto;
  color: #FFF;
}
.page.history .intro ul {
  background: #FFF;
  padding: 6vw 4vw 1px;
  margin: 0 4vw;
  text-align: justify;
}
.page.history .intro ul li {
  border-top: 1px solid #A8A4A4;
  padding-top: 6vw;
}
.page.history .intro ul li:nth-of-type(1) {
  border-top: none;
  padding-top: 0;
}
.page.history .intro ul li h3 {
  border-left: 1.25vw solid #7BAB81;
  font-weight: 800;
  font-size: 5vw;
  line-height: 1.5em;
  padding-left: 0.5em;
  margin-bottom: -0.5em;
}
.page.history .intro ul li h4 {
  font-weight: 800;
  font-size: 4vw;
  line-height: 1.4em;
  margin: 1.25em 0 -0.8em;
}
.page.history .intro ul li p {
  font-size: 3.75vw;
  line-height: 1.66em;
  margin: 1.66em 0;
}
.page.history .intro ul li .simg {
}
.page.history .intro ul li .simg img {
}
.page.history .intro ul li .simg figcaption {
  font-size: 3.75vw;
  line-height: 1.4em;
  margin: 0.5em 0 1.5em;
}

.page.history .historyofbiz {
  background: #F6F6F6;
  padding: 10vw 4vw;
  position: relative;
}
.page.history .historyofbiz h2 {
  position: absolute;
  top:18vw;
  left:0;
  right: 0;
  margin: auto;
}
.page.history .historyofbiz dl {
  background: #FFF;
  padding: 20vw 4vw 0;
  overflow: auto;
  display: flex;
  flex-wrap: wrap;
}
.page.history .historyofbiz dl h2 {
  margin: 0 auto;
}
.page.history .historyofbiz dl dt {
  border-bottom: 3px solid #7BAB81;
  width: 22%;
  float: left;
  padding: 4vw 0;
  box-sizing: border-box;
  text-align: center;
  font-feature-settings: 'palt';
  font-weight: 500;
  font-size: 3.6vw;
  line-height: 4vw;
}
.page.history .historyofbiz dl dt span {
  display: block;
  font-size: 3.2vw;
}
.page.history .historyofbiz dl dd {
  border-bottom: 1px solid #7BAB81;
  width: 78%;
  float: left;
  padding: 0 0 0 1em;
  box-sizing: border-box;
  font-size: 4vw;
  line-height: 6vw;
  display: table;
}
.page.history .historyofbiz dl dd p {
  display: table-cell;
  vertical-align: middle;
}
.page.history .results {
  padding: 10vw 0;
}
.page.history .results h3 {
  margin: 1.1em 0 1em;
  font-weight: 500;
  font-size: 5vw;
  line-height: 1.4em;
  text-align: center;
}
.page.history .results .map {
  margin-bottom: 8%;
  overflow-x: scroll;
}
.page.history .results .map img {
  max-width: 200%;
  width: 200%;
}
.page.history .results .accordion ul li {
  padding: 6vw 6vw 0;
}
.page.history .results .accordion ul li:nth-of-type(odd) {
  background: #F7F8F8;
}
.page.history .results .accordion h3 {
  border-top: 1px solid #A8A4A4;
  font-size: 4.5vw;
  line-height: 14vw;
  margin: 0;
  padding: 0 6vw;
  text-align: left;
  background: url(../img/acd-arrow-down.svg) center right 6vw / 1em auto no-repeat;
}
.page.history .results .accordion h3.Open {
  background: url(../img/acd-arrow-up.svg) center right 6vw / 1em auto no-repeat;
}
.page.history .results .accordion ul li .year {
  font-weight: 800;
  font-size: 4.8vw;
  line-height: 1.2em;
  margin: 0 0 6vw;
  text-align: center;
}
.page.history .results .accordion ul li .year span {
  font-size: 3.73vw;
}
.page.history .results .accordion ul.photo3 li {
  position: relative;
}
.page.history .results .accordion ul.photo3 li figure {
  padding-bottom: 8vw;
  overflow: auto;
}
.page.history .results .accordion ul.photo3 li img {
  float: left;
  width: 40vw;
}
.page.history .results .accordion ul.photo3 li h4 {
  margin: 0 0 0.5em 44vw;
  font-weight: 800;
  font-size: 4.25vw;
  line-height: 1.4em;

}
.page.history .results .accordion ul.photo3 li p {
  margin: 0 0 0 44vw;
  font-size: 3.5vw;
  line-height: 1.4em;
}
.page.history .cont {
  display: none;
}
.page.history .cont.Open {
  display: block;
}

.page.history .results .accordion ul.text4 li {
  padding-bottom: 4vw;
}
.page.history .results .accordion ul.text4 li .year {
  width: 25vw;
  text-align: center;
  float: left;
}
.page.history .results .accordion ul.text4 li .year span {
  font-size: 0.75em;
  display: block;
}
.page.history .results .accordion ul.text4 li figure {
  padding-left: 30vw;
  margin: auto;
}
.page.history .results .accordion ul.text4 li figure h4 {
  font-size: 4.25vw;
  line-height: 1.5em;
  font-weight: 800;
}
.page.history .results .accordion ul.text4 li p {
  margin: 0 0 4vw;
  font-size: 3.5vw;
  line-height: 1.4em;
}

.page.history .results .accordion ul.text1 li {
  padding-bottom: 8vw;
}
.page.history .results .accordion ul.text1 li .year {
  width: 25vw;
  text-align: center;
  float: left;
}
.page.history .results .accordion ul.text1 li .year span {
  font-size: 0.75em;
  display: block;
}
.page.history .results .accordion ul.text1 li p {
  margin-left: 30vw;
  font-size: 3.5vw;
  font-weight: 800;
  line-height: 1.4em;
}



/*お部屋を借りる*/
.page.rent h1::after {
  content: 'RENT';
}
.page.rent .intro {
  margin-top: 10vw;
  padding-bottom: 8vw;
  background: #D5DACF;
  position: relative;
  box-shadow: 0px 0.75vw 1.2vw rgba(0, 0, 0, .3);
}
.page.rent .intro .main {
  width: 100vw;
  margin: 0 auto 10vw;
  position: relative;
}
.page.rent .intro .main img {
  width: 100vw;
  height: 57.5vw;
  object-fit: cover;
}
.page.rent .intro .main ul {
  position: absolute;
  top: 6.5vw;
  left: 0;
  right: 0;
}
.page.rent .intro .main ul li {
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
  margin-bottom: 2vw;
}
.page.rent .intro .main ul li:nth-of-type(1) {
  height: 5.5vw;
  background: url(../img/rent-intro-a-room-made.svg) center / contain no-repeat;
}
.page.rent .intro .main ul li:nth-of-type(2) {
  height: 6.5vw;
  background: url(../img/rent-intro-individual.svg) center / contain no-repeat;
}
.page.rent .intro h2 {
  margin: 0 auto 4vw;
  font-feature-settings: 'palt';
  font-weight: 800;
  font-size: 5.8vw;
  line-height: 1.5em;
  text-align: center;
}
.page.rent .intro p {
  font-size: 3.75vw;
  line-height: 1.66em;
  text-align: justify;
  margin: 0 8vw;
}
.page.rent .col-gr {
  background: #F6F6F6;
}
.page.rent .col-gr .todoketai {
  padding: 10vw 0;
  position: relative;
}
.page.rent .col-gr .todoketai img {
  width: 66vw;
  margin: 0 auto 30vw;
}
.page.rent .col-gr .todoketai h2 {
  margin: 0 auto 4vw;
  font-feature-settings: 'palt';
  font-weight: 800;
  font-size: 5.8vw;
  line-height: 1.5em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #000;
  width: fit-content;
}
.page.rent .col-gr .todoketai p {
  font-size: 3.75vw;
  line-height: 1.66em;
  text-align: justify;
  margin: 0 8vw;
}
.page.rent .col-gr .todoketai a {
  display: block;
  color: #FFF;
  font-size: 3.75vw;
  line-height: 3.33em;
  padding: 0 5em 0 4em;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  width: fit-content;
  position: absolute;
  top: 82vw;
  left: 24vw;
}
.page.rent .col-gr .roomtour {
  margin: 0;
  padding: 0 0 10vw;
}
.page.rent .col-gr .roomtour .left {
}
.page.rent .col-gr .roomtour h2 {
  text-align: center;
  margin: 0 auto 4vw;
  padding-bottom: 0.3em;
  font-feature-settings: 'palt';
  font-weight: 800;
  font-size: 5.8vw;
  line-height: 1.5em;
  border-bottom: 1px solid #000;
  width: 90vw;
}
.page.rent .col-gr .roomtour p {
  font-size: 3.75vw;
  line-height: 1.66em;
  text-align: justify;
  margin: 0 8vw 8vw;
}
.page.rent .col-gr .roomtour .tiktok {
  width: 100%;
  display: block;
}
.page.rent .tovoice {
  padding: 14vw 0 10vw;
}
.page.rent .tovoice h2 {
  font-weight: 800;
  font-size: 5.8vw;
  line-height: 1.5em;
  text-align: center;
}
.page.rent .tovoice p {
  font-size: 3.75vw;
  line-height: 1.66em;
  text-align: center;
  margin: 1.5em auto;
}
.page.rent .tovoice .slick a {
  margin: auto;
  width: 96%;
  display: block;
}
.page.rent .linecontact {
  padding: 41vw 0 8vw;
  background: url(../img/rent-line-bg_sp.jpg) center / cover no-repeat;
  position: relative;
}
.page.rent .linecontact img {
  width: 28.25vw;
  position: absolute;
  top: 8vw;
  left: 10vw;
}
.page.rent .linecontact h2 {
  position: absolute;
  top: 13vw;
  left: 44vw;
  font-weight: 800;
  font-size: 5.8vw;
  line-height: 1.5em;
}
.page.rent .linecontact p {
  font-size: 3.75vw;
  line-height: 1.66em;
  text-align: justify;
  margin: 0 8vw 8vw;
}
.page.rent .linecontact a {
  display: block;
  color: #FFF;
  font-size: 3.75vw;
  line-height: 3.33em;
  padding: 0 5em 0 4em;
  margin: 0 0 0 15vw;
  background: url(../img/bot-bg-gn_pc.svg) right center / cover no-repeat;
  width: 11em;
}
.page.rent .aboutcol {
  padding: 62vw 8vw 12vw;
  background: url(../img/rent-outline-bg_sp.jpg) center top / 100% auto no-repeat;
}
.page.rent .aboutcol dl {
  padding-top: 16vw;
  margin-bottom: 1.8em;
  background: url(../img/head-logo.svg) left top / 100% auto no-repeat;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.75vw;
  line-height: 1.6em;
}
.page.rent .aboutcol dl dt {
  width: 5em;
  border-bottom: 3px solid #85A883;
  text-align: center;
  padding: 0.7em 0;
}
.page.rent .aboutcol dl dd {
  width: calc(100% - 5em);
  border-bottom: 1px solid #85A883;
  box-sizing: border-box;
  padding: 0.7em 0 0.7em 1em;
}
.page.rent .aboutcol a.toabout {
  display: block;
  color: #FFF;
  font-size: 3.75vw;
  line-height: 3.33em;
  padding: 0 4.5em 0 3em;
  margin: 0 0 0 10vw;
  background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
  width: 11em;
}


/*ご契約の流れ*/
.page.flow h1::after {
  content: 'FLOW';
}
.page.flow .pageintro {
  margin: 12.5vw 6vw;
  width: auto;
  font-size: 3.75vw;
  line-height: 6.25vw;
}
.page.flow ul {
  counter-reset:item;
  margin: 12.5vw 6vw;
  width: auto;
}
.page.flow ul li {
  position: relative;
  padding-left: 18vw;
  margin: 0 0 8vw;
}
.page.flow ul li:before {
  counter-increment: item;
  content: counter(item);
  font-weight: bold;
  color: #FFF;
  width: 16vw;
  height: 16vw;
  font-weight: 800;
  font-size: 4.1vw;
  line-height: 16vw;
  text-align: center;
  background: url(../img/flow-no-bg.svg) left center / contain no-repeat;
  display: block;
  position: absolute;
  left: -2vw;
  top: 0;
  z-index: 2;
}
.page.flow ul li h2 {
  font-weight: 800;
  font-size: 5.5vw;
  line-height: 1.2em;
  padding: 0 0 3vw;
  background: url(../img/flow-h2-bg.svg) center bottom / auto 1px no-repeat;
}
.page.flow ul li p {
  margin: 0.7em 0 0;
  font-size: 3.75vw;
  line-height: 6.25vw;
}
.page.flow .proviso {
  font-size: 3.75vw;
  line-height: 6.25vw;
  width: auto;
  margin: 10vw 6vw;
}
.page.flow ul .period {
  background: url(../img/flow-period-1w-sp.svg) center / 8vw auto no-repeat;
  width: 8vw;
  height: 105vw;
  position: absolute;
  left: 2vw;
  top: 0;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}
.page.flow ul .period.second {
  height: 82vw;
}
.page.flow ul .period.last {
  background: url(../img/flow-period-2w-sp.svg) center / 8vw auto no-repeat;
  height: 87vw;
}

.page.voicetop h1::after {
  content: 'VOICE';
}
.page.voicetop .tabs ul {
  text-align: center;
  width: fit-content;
  margin: 9vw auto 6vw;
  border-left: 1px solid #000;
  display: flex;
}
.page.voicetop .tabs ul li {
  border-right: 1px solid #000;
  padding: 0 1vw;
}
.page.voicetop .tabs ul li a {
  font-size: 3.6vw;
  line-height: 5.3vw;
  color: #000;
  display: block;
  padding: 0 1.5vw;
  opacity: 1;
}
.page.voicetop .tabs ul li.active a {
  background: #DCD3C7;
}
.page.voicetop input[type="radio"] {
  position: absolute;
  left: -9999px;
}
.page.voicetop .filters {
  text-align: center;
  width: fit-content;
  margin: 9vw auto 6vw;
  border-left: 1px solid #000;
  display: flex;
}
.page.voicetop .filters li {
  border-right: 1px solid #000;
  padding: 0 1vw;
}
.page.voicetop .filters label {
  cursor: pointer;
  transition: all 0.2s;
  font-size: 3.6vw;
  line-height: 5.3vw;
  color: #000;
  display: block;
  padding: 0 1.5vw;
}
.page.voicetop .volist {
  width: 90vw;
  margin: 6vw auto;
}
.page.voicetop .volist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page.voicetop .volist ul li {
  width: 48%;
  position: relative;
  padding-bottom: 8.5vw;
  margin-bottom: 7vw;
}
.page.voicetop .volist ul li .num {
  font-weight: 800;
  font-size: 4.6vw;
  line-height: 6vw;
  margin: -8.5vw 0 0;
  padding: 1vw 3vw;
  color: #FFF;
  position: relative;
  z-index: 3;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}
.page.voicetop .volist ul li .num::before {
  content: 'Voice.';
  font-size: 3.5vw;
}
.page.voicetop .volist ul li .cat {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 2.66vw;
  line-height: 4.3vw;
  color: #FFF;
  background: #79A480;
  padding: 0 2.5vw;
}
.page.voicetop .volist ul li.rfm .cat {
  background: #D79132;
}
.page.voicetop .volist ul li h2 {
  font-feature-settings: 'palt';
  font-size: 3.2vw;
  line-height: 5vw;
  margin: 2.5vw 0;
}
.page.voicetop .volist ul li a {
  position: absolute;
  bottom: 0;
  left: 15%;
  display: block;
width: fit-content;
font-size: 3.3vw;
line-height: 8.5vw;
color: #FFF;
background: url(../img/bot-bg_pc.svg) right center / cover no-repeat;
padding: 0 10vw 0 5vw;
position: absolute;
bottom: 0;
}


/*お客様の声個別*/
.page.voicepost h1::after {
  content: 'VOICE';
}
.page.voicepost .read {
  margin: 0 5vw;
  padding: 8vw 0;
  text-align: center;
  font-size: 4vw;
  line-height: 1.5em;
}
.page.voicepost .cat {
  overflow: auto;
}
.page.voicepost .cat span {
  display: block;
  float: right;
  font-size: 3.75vw;
  line-height: 2em;
  color: #FFF;
  background: #79A480;
  padding: 0 3vw;
}
.page.voicepost .cat.reform span {
  background: #D79132;
  margin: 0 5vw;
}
.page.voicepost h2 {
  margin: 8vw 5vw 2vw;
  font-weight: bold;
  font-size: 5.5vw;
  line-height: 1.4em;
}
.page.voicepost .postmeta {
  margin: 0 5vw;
  font-size: 3.75vw;
  line-height: 1.5em;
}
.page.voicepost .qalist {
  margin: 8vw 5vw;
}
.page.voicepost .qalist dt {
  font-weight: bold;
  font-size: 5vw;
  line-height: 1.3em;
  border-bottom: 1px solid #A8A4A4;
  padding: 0 0 2vw;
}
.page.voicepost .qalist dd {
  font-size: 3.75vw;
  line-height: 1.5em;
  margin: 5vw 0 8vw;
}
.page.voicepost .photos {
  background: #E4E3E3;
  padding: 1px 0;
}
.page.voicepost .photos ul {
  margin: 6vw 0;
  text-align: center;
}
.page.voicepost .photos ul h3 {
  font-weight: bold;
  font-size: 5vw;
  line-height: 1.3em;
  margin-bottom: 2vw;
}
.page.voicepost .photos ul li {
  display:  inline-block;
  margin: 0 1vw;
  font-size: 3vw;
  line-height: 1.5vw;
}
.page.voicepost .photos ul li img {
  max-height: 45vw;
  max-width: 45vw;
  display: block;
  margin-bottom: 2vw;
}
.page.voicepost .pageback {
  margin: 8vw auto;
}
.page.voicepost .pageback a {
  display: block;
  width: fit-content;
  font-size: 3.5vw;
  line-height: 11.25vw;
  color: #FFF;
  background: url(../img/backbot-bg_sp.svg) left center / cover no-repeat;
  padding: 0 8vw 0 17vw;
  margin: auto;
  transform: translate(-3vw);
}
.lity-container .lity-close {
position: absolute!important;
right: -10px!important;
top: -35px!important;
}


/*住まいコラム*/
.page.columntop h1::after {
  content: 'COLUMN';
}
.page.columntop .read {
  margin: 4vw auto 0;
  border-top: 1px solid #A8A4A4;
  padding: 11vw 0;
  font-feature-settings: 'palt';
  font-size: 5vw;
  line-height: 1.5em;
  text-align: center;
}
.page.columntop .columnwrap {
  background: #EDEBE6;
}
.page.columntop .category {
  margin: 0 5vw;
  padding: 11vw 0;
}
.page.columntop .category h2 {
  text-align: center;
  font-weight: bold;
  font-size: 4.25vw;
  line-height: 1.5vw;
 }
.page.columntop .category .search-box {
  display: flex;
  flex-wrap: wrap;
  margin: 5vw 0 0;
}
.page.columntop .category .search-box li {
  width: 43%;
  font-size: 3.75vw;
  line-height: 7vw;
  font-feature-settings: 'palt';
}
.page.columntop .category .search-box li:nth-of-type(even) {
  width: 57%;
}
.page.columntop .category .search-box li input[type="checkbox"] {
  position: relative;
  width: 3.75vw;
  height: 3.75vw;
  border: 1px solid #000;
  vertical-align: -1.25vw;
  margin-right: 0.5em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.page.columntop .category .search-box li input[type="checkbox"]:checked:before {
  position: absolute;
  top: 0px;
  left: 1.1vw;
  transform: rotate(50deg);
  width: 0.75vw;
  height: 2.2vw;
  border-right: 0.5vw solid #000;
  border-bottom: 0.5vw solid #000;
  content: '';
}
.page.columntop .columnlist {
  margin: 0 5vw;
}
.page.columntop .columnlist ul {
  border-top: 1px solid #A8A4A4;
}
.page.columntop .columnlist ul li {
  border-bottom: 1px solid #A8A4A4;
  padding: 9vw 4vw;
  position: relative;
  transition: all .5s ease-out;
}
.page.columntop .columnlist ul li.is-hide {
  height: 0;
  min-height: 0;
  opacity: 0;
  padding: 0;
  overflow: hidden;
}
.page.columntop .columnlist ul li img {
  float: left;
  display: block;
  width: 100％;
  height: 58.5vw;
  object-fit: cover;
  margin-bottom: 7vw;
}
.page.columntop .columnlist ul li .cat {
  font-size: 3.8vw;
  line-height: 6.5vw;
  float: right;
  width: 35vw;
  border: 1px solid #817556;
  color: #817556;
  text-align: center;
  background: #FFF;
}
.page.columntop .columnlist ul li .date {
  font-size: 4.5vw;
  line-height: 6.5vw;
}
.page.columntop .columnlist ul li h2 {
  margin: 5vw 0;
  font-weight: bold;
  font-size: 5vw;
  line-height: 1.7em;
  font-feature-settings: 'palt';
}
.page.columntop .columnlist ul li h2 a {
  text-decoration: underline;
}
.page.columntop .columnlist ul li p {
  font-size: 3.75vw;
  line-height: 1.8em;
  text-align: justify;
}
.page.columntop .pagenation {
  padding: 10vw 0;
}
.page.columntop .pagenation ul {
  text-align: center;
}
.page.columntop .pagenation ul li {
  display: inline-block;
  width: 8.5vw;
  margin: 0 1.2vw;
}
.page.columntop .pagenation ul li a {
  font-size: 3.75vw;
  line-height: 8vw;
  padding-bottom: 0.5vw;
  text-align: center;
  display: block;
  border: 1px solid #666;
}

.no-article {
    font-size: 3.5vw;
    text-align: center;
    padding: 2em 0px 0px;
}


/*住まいコラム記事*/
.page.columnpost h1::after {
  content: 'COLUMN';
}
.page.columnpost .columnwrap {
  background: #EDEBE6;
  margin-top: 4vw;
  padding: 8vw 8vw 0;
  position: relative;
}
.page.columnpost .cat {
  font-size: 3.5vw;
  line-height: 6.5vw;
  min-width: 36vw;
  border: 1px solid #817556;
  color: #817556;
  text-align: center;
  background: #FFF;
  position: absolute;
  top: 18vw;
  left: 8vw;
}
.page.columnpost .date {
  font-size: 4.5vw;
  line-height: 1.5em;
}
.page.columnpost h2 {
  font-weight: bold;
  font-size: 5.5vw;
  line-height: 1.4em;
  margin: 18vw 0 8vw;
}
.page.columnpost .main {
  margin: 8vw 0;
}
.page.columnpost .col {
  padding-top: 20vw;
  margin: -20vw 0 8vw;
  overflow-y: auto;
}
.page.columnpost .col h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.4em;
  border-bottom: 1px solid #A8A4A4;
  padding-bottom: 4vw;
  margin: 0 0 6vw;
}
.page.columnpost .main p {
	font-size: 3vw;
	line-height: 1.66em;
	margin: 1vw 0;
}
.page.columnpost .col p {
  font-size: 3.75vw;
  line-height: 1.66em;
  margin: 3vw 0;
}
.page.columnpost .col .check {
  font-size: 3.75vw;
  line-height: 1.66em;
  margin: 1.66em 0 0;
}
.page.columnpost .col .check li {
  display: grid;
  grid-template-columns: 2em auto;
  margin-bottom: 0.5em;
}
.page.columnpost .col .check li::before {
  content: '';
  height: 1.66em;
  background: url(../img/column-check.svg) left 0.13em / 1.4em no-repeat;
}
.page.columnpost .col img {
  height: auto;
  margin: 6vw 0;
}
.page.columnpost .jumper {
  border: 1px solid #817556;
  padding: 4vw 5vw;
  margin: 8vw 0;
  color: #817556;
  background: #FFF;
}
.page.columnpost .jumper h3 {
  font-weight: bold;
  font-size: 4.75vw;
  line-height: 1.4em;
  margin: 0 0 3vw;
}
.page.columnpost .jumper ul {
  font-size: 3.5vw;
  line-height: 1.66em;
}
.page.columnpost .jumper ul li a {
  text-decoration: underline;
}
.page.columnpost .jumper ul li:before {
  content: '○ ';
}
.page.columnpost .jumper ul li.matome {
  margin-top: 1.66em;
}
.page.columnpost .jumper ul li.matome:before {
  display: none;
}
.page.columnpost #matome.col p {
  margin: 0 0 6vw;
}
.page.columnpost #matome.col h4 {
  font-weight: bold;
  font-size: 4.25vw;
  line-height: 1.5em;
}
.page.columnpost .editor {
  border: 1px solid #817556;
  padding: 8vw 7vw 7vw;
  margin: 10vw 0 0;
  background: #FFF;
  position: relative;
}
.page.columnpost .editor h4 {
  font-size: 4vw;
  line-height: 2.2em;
  width: fit-content;
  padding: 0 1.5em;
  margin: auto;
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  border-radius: 1.1em;
  color: #FFF;
  background: #817556;
}
.page.columnpost .editor img {
  width: 27.5vw;
  height: 31.5vw;
  object-fit: cover;
  float: left;
}
.page.columnpost .editor .emeta {
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
  font-size: 4.5vw;
  line-height: 1em;
  padding: 1em 0 1.5em 0;
}
/*.page.columnpost .editor .emeta {
  display: table-cell;
  vertical-align: middle;
  height: 31.5vw;
  font-weight: bold;
  font-size: 4.5vw;
  line-height: 1em;
  padding: 0 0 0.5em 4vw;
}*/
.page.columnpost .editor p {
  font-size: 3.75vw;
  line-height: 1.6em;
  margin: 0;
  text-align: justify;
}
.page.columnpost .pagenation {
  padding: 15vw 0;
}
.page.columnpost .pagenation ul {
  text-align: center;
}
.page.columnpost .pagenation ul li {
  display: inline-block;
  min-width: 2.66vw;
  margin: 0 1.2vw;
  font-size: 4vw;
  line-height: 8.75vw;
}
.page.columnpost .pagenation ul li a {
  min-width: 8.75vw;
  padding-bottom: 0.44vw;
  text-align: center;
  display: block;
  border: 1px solid #666;
}
.page.columnpost .pagenation ul li a.back {
  padding: 0 1em 0.44vw;
}


/*旧リクルートページ先輩からのメッセージ修正*/
#lower_wrap #record_about .btn-box.flex .message-box {
  padding-top: 10px;
}


.footcontact {
  background: #7BAB81;
  padding: 5vw;
  margin: 0 5vw;
}
.footcontact h2 {
  color: #FFF;
  font-weight: 800;
  font-size: 6vw;
  line-height: 1.5em;
  text-align: center;
}
.footcontact ul {
  width: 76vw;
  margin: 0 auto;
}
.footcontact ul li a {
  color: transparent;
  font-size: 0.2vw;
  line-height: 0.2vw;
  display: block;
  border: 1px solid #7BAB81;
  border-radius: 3vw;
  position: relative;
  height: 27vw;
  margin: 4vw auto;
}
.footcontact ul li a span {
  position: absolute;
  bottom: 4vw;
  left: 0;
  right: 0;
  color: #000;
  font-size: 3vw;
  line-height: 1.5vw;
  margin: auto;
  text-align: center;
}
.footcontact ul li:nth-of-type(1) a {
  background: url(../img/bottm-bnr-tel_sp.svg) center / cover;
}
.footcontact ul li:nth-of-type(2) a {
  background: url(../img/bottm-bnr-mail_sp.svg) center / cover;
}
.footcontact ul li:nth-of-type(3) a {
  background: url(../img/bottm-bnr-form_sp.svg) center / cover;
}

#foot {
  font-feature-settings: 'palt';
}
#foot .inner {
  padding: 5vw;
  max-width: 1400px;
  margin: auto;
  position: relative;
  overflow: auto;
}
#foot .inner .left h2 {
  font-weight: 600;
  padding-top: 17vw;
  background: url(../img/head-logo.svg) left top / auto 14.5vw no-repeat;
  font-size: 5.5vw;
  line-height: 1.5em;
  margin: 0;
}
#foot .inner .left p {
  font-size: 600;
  font-size: 4vw;
  line-height: 1.8em;
}
#foot .inner .left p a {
  color: #000;
}
#foot .inner .left p .gmap {
  padding-left: 1.5em;
  background: url(../img/gmap-pin.svg) left center / auto 5vw no-repeat;
  text-decoration: underline;
  display: block;
}
#foot .inner .left .sns {
  margin: 1vw 0 0;
  width: 26vw;
  display: flex;
  justify-content: space-between;
}
#foot .inner .left .sns .line {
  display: block;
  width: 11vw;
  height: 11vw;
  background: url(../img/sns-line.svg) center / contain no-repeat;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}
#foot .inner .left .sns .insta {
  display: block;
  width: 11vw;
  height: 11vw;
  background: url(../img/sns-insta.png) center / contain no-repeat;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}

#foot .inner .fmenu {
  margin: 4vw 0 0;
  font-weight: 600;
}
#foot .inner .fmenu ul {
  width: 100%;
}
#foot .inner .fmenu ul li a {
  display: block;
  font-size: 4vw;
  line-height: 2em;
  color: #000;
}
#foot .inner .fmenu ul li li a {
  font-size: 3.6vw;
  line-height: 2em;
}
#foot .inner .fmenu ul li li a:before {
  content:'-　';
}

.copyright {
  font-size: 2.8vw;
  line-height: 15vw;
  text-align: center;
  color: #FFF;
  background: #7BAB81;
  padding-bottom: 12vw;
}

.backtotop {
  position: fixed;
  bottom: 10vw;
  bottom: 22vw;
  right: 5vw;
  width: 14vw;
  height: 14vw;
  z-index: 99;
}

/*画面下固定問い合わせ*/
.bfix {
  height: 0;
}
.bfix.effect {
  position: relative;
}
.bfix.effect #fix-menu {
  bottom: 0;
  z-index: 0;
}
.bfix.effect #fix-menu.open {
  height: 43vw;
}
#fix-menu {
  height: 12vw;
  width: 100vw;
  position: fixed;
  bottom: 0;
  overflow: hidden;
  transition: all .5s;
  z-index: 101;
}
#fix-menu.effect {
  position: relative;
}
#fix-menu.open {
  height: 43vw;
}
#fix-menu .fmenu-btn {
  height: 12vw;
  width: 100vw;
  background: url(../img/fix-contact_sp.svg) center / auto 13vw;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}
#fix-menu.open .fmenu-btn {
  background: url(../img/fix-contact_open_sp.svg) center / auto 13vw;
}
#fix-menu .fmenu-btn .closebot {
  position: absolute;
  top: 0;
  width: 100vw;
  opacity: 0;
}
#fix-menu.open .fmenu-btn .closebot {
  opacity: 1;
}
#fix-menu ul {
  display: flex;
  font-size: 0;
  margin: 0;
}
#fix-menu ul li a {
  display: block;
  width: 33.3vw;
  height: 31vw;
  text-indent:100%;
  white-space: nowrap;
  overflow: hidden;
}
#fix-menu ul li:nth-child(1) a {
  background: url(../img/fix-contact-tel_sp.svg) center / cover;
}
#fix-menu ul li:nth-child(2) a {
  background: url(../img/fix-contact-mail_sp.svg) center / cover;
  box-sizing: border-box;
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
}
#fix-menu ul li:nth-child(3) a {
  background: url(../img/fix-contact-form_sp.svg) center / cover;
}


#end {}
}