@charset "UTF-8";
@import url(reset.css);
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPMincho:wght@400;700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap");
/* break point ------------------------------ */
/* colors ------------------------------ */
/* text ------------------------------ */
/* Hedding ------------------------------ */
/* animation ------------------------------ */
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/* Basic ------------------------------ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

body {
  background-color: #1B284F;
  font-family: 'Zen Kaku Gothic New','Noto Sans JP','游ゴシック体','Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','メイリオ', Meiryo, Osaka,'ＭＳ Ｐゴシック','MS PGothic', sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 16px;
  font-weight: normal;
  color: #313131;
  line-height: 1.5; }

#wrap {
  position: relative;
  width: 100%;
  max-width: 2560px;
  background-color: #FFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
  overflow: clip;
  margin: 0 auto; }
  @media screen and (max-width: 1023px) {
    #wrap {
      padding-bottom: calc(60px + 2vw); } }
  @media screen and (max-width: 768px) {
    #wrap {
      padding-bottom: calc(max(7vw, 40px) + 10px + 2vw); } }

img {
  max-width: 100%;
  height: auto; }

.sans {
  font-family: 'Zen Kaku Gothic New','Noto Sans JP','游ゴシック体','Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','メイリオ', Meiryo, Osaka,'ＭＳ Ｐゴシック','MS PGothic', sans-serif; }

.serif {
  font-family: 'BIZ UDPMincho','游明朝','Yu Mincho','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ヒラギノ明朝 Pro','Hiragino Mincho Pro','Noto Serif JP',HG明朝B,'ＭＳ Ｐ明朝','ＭＳ 明朝',serif; }

.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.tCenter {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .tCenter.only-pc {
      text-align: inherit; } }

.tRight {
  text-align: right; }
  @media screen and (max-width: 768px) {
    .tRight.only-pc {
      text-align: inherit; } }

.blue {
  color: #1B284F; }

.bold {
  font-weight: bold; }

@media screen and (min-width: 769px) {
  .sp, .tb {
    display: none; } }
 /*
@media screen and (max-width: 959px) {
  .sp, .pc {
    display: none;
  }
}*/
@media screen and (max-width: 768px) {
  .tb, .pc {
    display: none; } }
/* link */
a {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #313131;
  text-decoration: none; }

/* Space ------------------------------ */
.mt0 {
  margin-top: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

/* -------------------------------
   header
------------------------------- */
#header {
  position: relative;
  z-index: 10; }
  #header #logo {
    position: relative; }
    #header #logo span {
      position: absolute;
      top: 15px; }
  #header nav #gNav {
    font-weight: 700; }
    #header nav #gNav > li.drop > p {
      cursor: pointer; }
      #header nav #gNav > li.drop > p::after {
        content: "";
        display: inline-block;
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M16.666%2010.666L12%2015.333L7.333%2010.666%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        vertical-align: middle;
        transition: transform .5s; }
    #header nav #gNav > li.drop > .down {
      background-color: #1B284F;
      padding: 0;
      transition: padding .5s; }
      #header nav #gNav > li.drop > .down > ul {
        background-color: #FFF;
        padding: 10px 20px 20px; }
    #header nav #gNav > li.drop.open > p {
      color: #FA9A1A; }
      #header nav #gNav > li.drop.open > p::before {
        transform: rotate(180deg); }
    #header nav #gNav > li.drop.open > .down {
      padding: 20px; }
  #header nav #spMenu {
    position: fixed;
    z-index: 11; }
    #header nav #spMenu a {
      position: relative;
      display: block;
      padding-top: 30px;
      font-size: .75rem;
      padding: 50px 10px 5px 10px;
      background-color: #FFF; }
      #header nav #spMenu a::before, #header nav #spMenu a::after {
        position: absolute;
        left: 50%;
        display: block;
        content: '';
        width: 40px;
        border-top: 1px solid #000;
        transform: translate(-50%, 0); }
      #header nav #spMenu a::before {
        border-bottom: 1px solid #000;
        top: 20px;
        height: 20px;
        transition: top .25s .25s, height .25s .25s,border-bottom-width 0s .25s, transform .25s; }
      #header nav #spMenu a::after {
        top: 30px;
        height: 1px;
        transition: transform .25s; }
    #header nav #spMenu.open a::before {
      top: 30px;
      height: 1px;
      border-bottom-width: 0;
      transform: translate(-50%, 0) rotate(-45deg);
      transition: top .25s, height .25s,border-bottom-width 0s .25s, transform .25s .25s; }
    #header nav #spMenu.open a::after {
      top: 30px;
      height: 1px;
      transform: translate(-50%, 0) rotate(45deg);
      transition: transform .25s .25s; }
  @media screen and (min-width: 769px) {
    #header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 5px 40px;
      min-height: 100px; }
      #header #logo {
        padding: 0 0 10px;
        min-width: min(341px, 40%);
        max-width: 40%; }
        #header #logo span {
          left: min(76px, 8.5vw);
          font-size: min(0.8125rem, 1.42vw); }
      #header nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center; }
        #header nav #gNav {
          display: flex;
          align-items: center;
          font-size: 1.3125rem; }
          #header nav #gNav > li:nth-child(n+2) {
            margin-left: 30px; }
          #header nav #gNav > li.drop > .down {
            opacity: 0;
            height: 0;
            transition: opacity .5s, height 0s .5s;
            overflow: hidden;
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: flex-start;
            box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.25); }
            #header nav #gNav > li.drop > .down > ul {
              display: flex;
              justify-content: center;
              padding: 20px 40px; }
              #header nav #gNav > li.drop > .down > ul:not(:first-child:last-child) {
                display: grid;
                grid-auto-flow: column;
                grid-template-rows: repeat(4, auto); }
                #header nav #gNav > li.drop > .down > ul:not(:first-child:last-child) > li:nth-child(n+5) {
                  margin-left: 40px; }
              #header nav #gNav > li.drop > .down > ul:first-child {
                border-top-left-radius: 10px;
                border-bottom-left-radius: 10px; }
              #header nav #gNav > li.drop > .down > ul:last-child {
                border-top-right-radius: 10px;
                border-bottom-right-radius: 10px; }
              #header nav #gNav > li.drop > .down > ul:not(:last-child) {
                padding-right: 0; }
              #header nav #gNav > li.drop > .down > ul:first-child:last-child > li:nth-child(n+2) {
                margin-left: 40px; }
              #header nav #gNav > li.drop > .down > ul > li > a {
                display: block;
                padding: 10px 0 10px 1.25em;
                text-indent: -1.25em;
                font-size: 1rem;
                font-weight: 400;
                border-bottom: 1px solid #EEE; }
                #header nav #gNav > li.drop > .down > ul > li > a::before {
                  display: inline-block;
                  content: '-';
                  width: 1.25em;
                  text-indent: 0; }
          #header nav #gNav > li.drop.open > .down {
            opacity: 1;
            height: auto;
            transition: opacity .5s, height 0s; }
        #header nav .cNav {
          grid-gap: 0 10px; }
          #header nav .cNav li a {
            padding: 7px 40px 7px 17px;
            min-height: 50px;
            font-size: .9375rem; }
        #header nav #spNav {
          top: 10px;
          left: 10px; }
        #header nav #gNavFix {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 0;
          overflow: hidden;
          transition: height .5s;
          background-color: #FFF; }
          #header nav #gNavFix.open {
            height: 100%; }
          #header nav #gNavFix ul {
            padding: 80px;
            max-height: 100%;
            overflow: auto;
            text-align: center; }
            #header nav #gNavFix ul.open {
              max-height: 100vh;
              padding: 70px 5px 10px 5px; }
            #header nav #gNavFix ul > li {
              border-bottom: 1px solid #EEE; }
              #header nav #gNavFix ul > li > p,
              #header nav #gNavFix ul > li > a {
                display: block;
                line-height: 1.2;
                font-size: min(1.125rem, 4vw);
                padding: 20px; }
                #header nav #gNavFix ul > li > p span,
                #header nav #gNavFix ul > li > a span {
                  display: inline;
                  font-size: 1em; }
              #header nav #gNavFix ul > li.drop > p {
                cursor: pointer; }
                #header nav #gNavFix ul > li.drop > p::after {
                  content: "";
                  display: inline-block;
                  width: 24px;
                  height: 24px;
                  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M16.666%2010.666L12%2015.333L7.333%2010.666%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
                  background-repeat: no-repeat;
                  background-size: contain;
                  vertical-align: middle;
                  transition: transform .5s; }
              #header nav #gNavFix ul > li.drop > .down {
                background-color: #1B284F;
                padding: 0;
                transition: padding .5s; }
                #header nav #gNavFix ul > li.drop > .down > ul {
                  background-color: #FFF;
                  padding: 10px 20px 20px; }
              #header nav #gNavFix ul > li.drop.open > p {
                color: #FA9A1A; }
                #header nav #gNavFix ul > li.drop.open > p::before {
                  transform: rotate(180deg); }
              #header nav #gNavFix ul > li.drop.open > .down {
                padding: 20px; }
              #header nav #gNavFix ul > li.drop {
                display: grid;
                grid-template-rows: auto 0fr;
                transition: grid-template-rows .5s; }
                #header nav #gNavFix ul > li.drop > p::after {
                  position: relative;
                  top: auto;
                  left: auto;
                  margin: 0; }
                #header nav #gNavFix ul > li.drop > .down {
                  overflow: hidden;
                  padding: 0 20px;
                  transition: padding .5s; }
                  #header nav #gNavFix ul > li.drop > .down > ul:first-child {
                    border-top-left-radius: 10px;
                    border-top-right-radius: 10px; }
                  #header nav #gNavFix ul > li.drop > .down > ul:last-child {
                    border-bottom-left-radius: 10px;
                    border-bottom-right-radius: 10px; }
                  #header nav #gNavFix ul > li.drop > .down > ul:not(:last-child) {
                    padding-bottom: 0; }
                  #header nav #gNavFix ul > li.drop > .down > ul > li {
                    border-bottom: 1px solid #EEE; }
                    #header nav #gNavFix ul > li.drop > .down > ul > li > a {
                      display: block;
                      padding: 10px;
                      font-size: 1rem;
                      font-weight: 400; }
                #header nav #gNavFix ul > li.drop.open {
                  grid-template-rows: auto 1fr; }
        #header nav #spMenu {
          top: 10px;
          right: 100%;
          transition: transform .5s; }
          #header nav #spMenu.disp {
            transform: translate(calc(100% + 10px), 0); } }
  @media screen and (max-width: 1679px) {
    #header {
      padding: 15px 20px; }
      #header nav {
        align-items: center;
        flex-direction: column-reverse; }
        #header nav #gNav {
          font-size: 1.125rem;
          padding-top: 75px;
          padding-right: 15px; }
          #header nav #gNav > li:nth-child(n+2) {
            margin-left: 25px; }
        #header nav .cNav {
          position: fixed;
          top: 15px;
          right: 20px; } }
  @media screen and (max-width: 1023px) {
    #header {
      padding: 1.5vw 2vw; } }
  @media screen and (min-width: 960px) {
    #header nav .cNav {
      flex-direction: column;
      transition: grid-gap .5s;
      margin-left: 60px; }
      #header nav .cNav li:nth-child(1) {
        transition: transform .125s; }
      #header nav .cNav li:nth-child(2) {
        transition: transform .125s .125s; }
      #header nav .cNav li:nth-child(3) {
        transition: transform .125s .25s; }
      #header nav .cNav li a {
        padding: 7px 40px 7px 17px;
        min-height: 50px;
        font-size: .9375rem; }
      #header nav .cNav.fix {
        position: fixed;
        top: 15px;
        right: 20px;
        grid-gap: 0; }
        #header nav .cNav.fix li:nth-child(1) {
          transition: transform .125s .25s;
          transform: translate(calc(200% + 5px), 0); }
        #header nav .cNav.fix li:nth-child(2) {
          transition: transform .125s .125s;
          transform: translate(calc(100% + 5px), calc(100% + 5px)); }
        #header nav .cNav.fix li:nth-child(3) {
          transition: transform .125s;
          transform: translate(5px, calc(200% + 10px)); } }
  @media screen and (max-width: 959px) {
    #header nav #gNav {
      padding-top: 0; }
      #header nav #gNav li {
        text-align: center; }
        #header nav #gNav li span {
          display: block;
          font-size: .75em; }
        #header nav #gNav li.drop > p {
          position: relative; }
          #header nav #gNav li.drop > p::after {
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -10px; }
        #header nav #gNav li.drop > .down > ul > li {
          text-align: left; }
    #header nav .cNav {
      position: fixed;
      top: 100%;
      right: 0;
      width: 100%;
      background-color: rgba(0, 0, 0, 0.9);
      transform: translate(0, -100%);
      z-index: 10;
      padding: 1vw; } }
  @media screen and (max-width: 768px) {
    #header {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      padding: 5px 10px 15px; }
      #header #logo {
        width: 240px; }
        #header #logo span {
          top: 10px;
          left: 54px;
          font-size: .575rem; }
      #header nav {
        display: flex;
        justify-content: center;
        padding-top: 5px; }
        #header nav #gNav {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100vh;
          max-height: 0;
          overflow: hidden;
          background-color: #FFF;
          border-top: 1px solid #EEE;
          transition: max-height .5s, padding .5s;
          z-index: 10; }
          #header nav #gNav.open {
            max-height: 100vh;
            padding: 70px 5px 60px 5px;
            overflow: auto; }
          #header nav #gNav > li {
            border-bottom: 1px solid #EEE;
            margin: 0 !important; }
            #header nav #gNav > li > p,
            #header nav #gNav > li > a {
              display: block;
              line-height: 1.2;
              font-size: min(1.125rem, 4vw);
              padding: 20px; }
              #header nav #gNav > li > p span,
              #header nav #gNav > li > a span {
                display: inline;
                font-size: 1em; }
            #header nav #gNav > li.drop {
              display: grid;
              grid-template-rows: auto 0fr;
              transition: grid-template-rows .5s;
              margin-left: 0 !important; }
              #header nav #gNav > li.drop > p::after {
                position: relative;
                top: auto;
                left: auto;
                margin: 0 -24px 0 0; }
              #header nav #gNav > li.drop > .down {
                overflow: hidden;
                padding: 0 20px;
                transition: padding .5s; }
                #header nav #gNav > li.drop > .down > ul:first-child {
                  border-top-left-radius: 10px;
                  border-top-right-radius: 10px; }
                #header nav #gNav > li.drop > .down > ul:last-child {
                  border-bottom-left-radius: 10px;
                  border-bottom-right-radius: 10px; }
                #header nav #gNav > li.drop > .down > ul:not(:last-child) {
                  padding-bottom: 0; }
                #header nav #gNav > li.drop > .down > ul > li {
                  border-bottom: 1px solid #EEE; }
                  #header nav #gNav > li.drop > .down > ul > li > a {
                    display: block;
                    padding: 10px;
                    font-size: 1rem;
                    font-weight: 400; }
              #header nav #gNav > li.drop.open {
                grid-template-rows: auto 1fr; }
        #header nav .cNav {
          grid-gap: 5px;
          grid-template-columns: repeat(3, 1fr); }
          #header nav .cNav li a {
            font-size: 2.5vw; }
        #header nav #spMenu {
          top: 0;
          right: 0; }
      #header #gNavFix {
        display: none; } }

/* -------------------------------
   footer
------------------------------- */
#footer {
  margin-top: 1px;
  position: relative;
  background-color: #1B284F;
  color: #FFF; }
  #footer a {
    position: relative;
    color: #FFF; }
    #footer a::before {
      content: '';
      display: inline-block;
      width: 1.5em;
      height: 1.5em;
      background-color: #FFF;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%228%22%20height%3D%2212%22%20viewBox%3D%220%200%208%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M1.33325%201.33398L6.33325%206.33398L1.33325%2011.334%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      border-radius: 100%;
      vertical-align: middle;
      text-indent: 0; }
  #footer #pagetop {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }
    #footer #pagetop a {
      display: inline-block;
      text-align: center;
      font-weight: 700; }
      #footer #pagetop a::before {
        display: block;
        margin: 0 auto 5px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M1%200.5H11%22%20stroke%3D%22%231B284F%22/%3E%3Cpath%20d%3D%22M1%207.66602L6%202.66602L11%207.66602%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E"); }
  #footer #fNav {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto; }
    #footer #fNav li {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid rgba(217, 217, 217, 0.1); }
      #footer #fNav li a {
        padding-left: 2em;
        text-indent: -2em; }
        #footer #fNav li a::before {
          margin-right: .5em; }
  #footer #copyright {
    text-align: center;
    font-weight: 400; }
  @media screen and (min-width: 769px) {
    #footer {
      padding: 40px 40px 80px; }
      #footer #pagetop {
        text-align: right; }
      #footer #fNav li {
        grid-gap: 20px;
        padding-bottom: 20px; }
        #footer #fNav li:nth-child(n+2) {
          margin-top: 20px; }
      #footer #copyright {
        margin-top: 80px; } }
  @media screen and (max-width: 1023px) {
    #footer {
      padding: 4vw 4vw 8vw; }
      #footer #pagetop {
        text-align: center; }
      #footer #fNav {
        margin-top: 2vw; }
        #footer #fNav li {
          grid-gap: 2vw;
          padding-bottom: 2vw; }
          #footer #fNav li:nth-child(n+2) {
            margin-top: 2vw; }
      #footer #copyright {
        margin-top: 8vw; } }

/* -------------------------------
   side
------------------------------- */
#sideNav {
  background: white;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 20px;
  border-radius: 10px;
  overflow: hidden; }
  #sideNav dt {
    background-color: #1B284F;
    padding: 20px;
    text-align: center;
    color: #FFF;
    font-size: 1.125rem;
    font-weight: 700; }
  #sideNav dd {
    padding: 0 5px; }
    #sideNav dd ul li {
      border-bottom: 1px solid #D9D9D9; }
      #sideNav dd ul li a {
        display: block;
        padding: 10px 0 10px 30px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2244%22%20height%3D%2244%22%20viewBox%3D%220%200%2044%2044%22%20fill%3D%22none%22%20xmlns%3D%22http://www.w3.org/2000/svg%22%3E%3Cg%20filter%3D%22url(%23filter0_d_195_3463)%22%3E%3Ccircle%20cx%3D%2222%22%20cy%3D%2222%22%20r%3D%2212%22%20fill%3D%22%231B284F%22/%3E%3C/g%3E%3Cpath%20d%3D%22M19.3333%2017.334L24.3333%2022.334L19.3333%2027.334%22%20stroke%3D%22white%22/%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_d_195_3463%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2244%22%20height%3D%2244%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22/%3E%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22%20result%3D%22hardAlpha%22/%3E%3CfeOffset/%3E%3CfeGaussianBlur%20stdDeviation%3D%225%22/%3E%3CfeComposite%20in2%3D%22hardAlpha%22%20operator%3D%22out%22/%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.05%200%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow_195_3463%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow_195_3463%22%20result%3D%22shape%22/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 30px auto; }

/* -------------------------------
   common
------------------------------- */
#pagettl {
  position: relative;
  background-image: url("../img/pagettl.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #FFF;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  #pagettl::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #1B284F;
    opacity: .85;
    z-index: 1; }
  #pagettl > * {
    position: relative;
    z-index: 2;
    font-weight: 500; }
  #pagettl .cNav[data-col="1"] {
    width: 320px; }

.dig-breadcrumb,
.breadcrumbs {
  border-bottom: 1px solid #D9D9D9;
  display: flex;
  white-space: nowrap;
  overflow: auto;
  padding: 30px 0 10px;
  list-style: none;
  max-width: 1280px;
  margin-inline: auto; }
  .dig-breadcrumb > li:nth-child(n+2)::before,
  .breadcrumbs > li:nth-child(n+2)::before {
    display: inline-block;
    content: '>';
    padding: 0 .25em; }

.anchor {
  list-style: none;
  max-width: 1280px;
  margin-inline: auto; }
  .anchor .ttl {
    text-box: trim-both cap alphabetic;
    line-height: 1;
    color: #1B284F; }
    .anchor .ttl::after {
      display: block;
      content: attr(data-en);
      font-family: "Montserrat", sans-serif; }
  .anchor li {
    width: 100%; }
    .anchor li a {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      line-height: 1;
      color: #1B284F;
      padding: 0 10px; }
      .anchor li a::before {
        content: "";
        display: inline-block;
        min-width: 48px;
        min-height: 48px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2268%22%20height%3D%2268%22%20viewBox%3D%220%200%2068%2068%22%20fill%3D%22none%22%20xmlns%3D%22http://www.w3.org/2000/svg%22%3E%3Cg%20filter%3D%22url(%23filter0_d_278_5288)%22%3E%3Ccircle%20cx%3D%2234%22%20cy%3D%2234%22%20r%3D%2224%22%20transform%3D%22rotate(90%2034%2034)%22%20fill%3D%22%231B284F%22/%3E%3C/g%3E%3Cpath%20d%3D%22M43.333%2028.6665L33.333%2038.6665L23.333%2028.6665%22%20stroke%3D%22white%22/%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_d_278_5288%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2268%22%20height%3D%2268%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22/%3E%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22%20result%3D%22hardAlpha%22/%3E%3CfeOffset/%3E%3CfeGaussianBlur%20stdDeviation%3D%225%22/%3E%3CfeComposite%20in2%3D%22hardAlpha%22%20operator%3D%22out%22/%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.05%200%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow_278_5288%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow_278_5288%22%20result%3D%22shape%22/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        vertical-align: middle;
        margin-right: 1em; }

.cNav {
  display: grid;
  justify-content: center;
  font-weight: 900; }
  .cNav li {
    position: relative;
    padding: 5px;
    border-radius: 100px;
    overflow: hidden; }
    .cNav li::before {
      position: absolute;
      top: 5px;
      left: 5px;
      display: block;
      content: '';
      width: calc(100% - 10px);
      height: calc(100% - 10px);
      border-radius: 100px;
      box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
    .cNav li.btnSatei {
      background: linear-gradient(90deg, #EF5B0D 0%, #FA9A1A 100%); }
      .cNav li.btnSatei::before {
        background: linear-gradient(90deg, #EF5B0D 0%, #FA9A1A 100%); }
    .cNav li.btnLine {
      background: linear-gradient(to right, #06C755 0%, #4CC764 100%); }
      .cNav li.btnLine::before {
        background: linear-gradient(to right, #06C755 0%, #4CC764 100%); }
    .cNav li.btnContact {
      background: linear-gradient(90deg, #1B284F 0%, #3E5CB5 100%); }
      .cNav li.btnContact::before {
        background: linear-gradient(90deg, #1B284F 0%, #3E5CB5 100%); }
    .cNav li a {
      position: relative;
      display: flex;
      align-items: center;
      color: #FFF;
      border-radius: 100px;
      border: 3px solid rgba(255, 255, 255, 0.05);
      z-index: 1;
      height: 100%; }
      .cNav li a::before {
        display: block;
        content: '';
        position: absolute;
        top: 50%;
        right: 7px;
        transform: translate(0, -50%);
        width: auto;
        height: 48px;
        max-height: calc(100% - 14px);
        aspect-ratio: 1 / 1;
        border-radius: 100px;
        background: rgba(255, 255, 255, 0.1);
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
      .cNav li a::after {
        display: block;
        content: '';
        position: absolute;
        top: 50%;
        right: 7px;
        width: auto;
        height: 16px;
        aspect-ratio: 1 / 1;
        max-height: calc((100% - 14px) / 3);
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF;
        transform: translate(-100%, -50%) rotate(45deg); }

.stdSec:nth-of-type(even):not([data-bg]) {
  position: relative;
  z-index: 1; }
  .stdSec:nth-of-type(even):not([data-bg])::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    display: block;
    content: '';
    background-image: radial-gradient(#EBEBEB 2px, transparent 2px);
    background-size: 20px 20px;
    background-repeat: repeat;
    background-position: center top;
    z-index: -1;
    width: 100vw;
    height: 100%; }
.stdSec[data-bg] + [data-bg] {
  padding-top: 0; }
.stdSec > .ttl {
  text-align: center;
  color: #1B284F;
  font-weight: 700; }
.stdSec table {
  width: 100%; }
  .stdSec table tr th {
    background-color: #1B284F;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    vertical-align: middle; }
  .stdSec table tr td {
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    background-color: #FFF;
    font-weight: 700;
    vertical-align: middle; }
  .stdSec table tr:nth-child(even) td {
    background-color: #F6F5F5; }
.stdSec > section > .ttl {
  color: #1B284F;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 1px solid #D9D9D9; }

.companySec:nth-of-type(n+2) {
  border-top: 1px solid #D9D9D9; }
.companySec > .ttl {
  color: #1B284F;
  font-weight: 500; }
  .companySec > .ttl::after {
    display: block;
    content: attr(data-en);
    font-family: "Montserrat", sans-serif; }
.companySec > .in {
  line-height: 2; }
  .companySec > .in figure {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px; }
.companySec table {
  width: 100%; }
  .companySec table tr th {
    border-bottom: 1px solid #D9D9D9;
    vertical-align: top; }
  .companySec table tr td {
    border-bottom: 1px solid #D9D9D9; }

.simpleSec {
  line-height: 2; }
  .simpleSec:nth-of-type(n+2) {
    border-top: 1px solid #D9D9D9; }
  .dig-breadcrumb + .simpleSec, .breadcrumbs + .simpleSec {
    border-top: none; }

.contactSec {
  color: #FFF;
  text-align: center;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(180px, 11.1111vw), transparent min(180px, 11.1111vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(270px, 16.6666vw), transparent min(270px, 16.6666vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(360px, 22.2222vw), transparent min(360px, 22.2222vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(450px, 27.7777vw), transparent min(450px, 27.7777vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(540px, 33.3333vw), transparent min(540px, 33.3333vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(630px, 38.8888vw), transparent min(630px, 38.8888vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(720px, 44.4444vw), transparent min(720px, 44.4444vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(810px, 50vw), transparent min(810px, 50vw));
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #1B284F; }
  .contactSec h2 {
    font-weight: 700;
    line-height: 1; }
    .contactSec h2 span {
      display: inline-block;
      font-weight: 400; }
      .contactSec h2 span::before {
        content: '＼'; }
      .contactSec h2 span::after {
        content: '／'; }
  .contactSec .examples {
    display: grid;
    justify-content: center;
    font-weight: 700; }
    .contactSec .examples li {
      display: grid;
      place-items: center;
      width: 100%;
      text-align: center;
      aspect-ratio: 1 / 1;
      border-radius: 100%;
      background-color: #1B284F;
      box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.1); }
      .contactSec .examples li span {
        display: inline; }
      .contactSec .examples li strong {
        color: #FA9A1A; }

.nofailureSec {
  position: relative; }
  .nofailureSec h2.ttl {
    text-align: center;
    font-weight: 700;
    line-height: 1.2; }
    .nofailureSec h2.ttl strong {
      background-image: linear-gradient(to bottom, transparent 50%, #FA9A1A 50%);
      background-size: 100% 100%;
      background-repeat: no-repeat; }
  .nofailureSec > .in {
    max-width: 1280px;
    margin: 0 auto; }

.pointSec {
  position: relative;
  z-index: 1;
  line-height: 2; }
  .pointSec::before {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    display: block;
    content: '';
    background-image: radial-gradient(#EBEBEB 2px, transparent 2px);
    background-size: 20px 20px;
    background-repeat: repeat;
    z-index: -1; }
  .pointSec:nth-of-type(odd)::before {
    background-position: left top; }
  .pointSec:nth-of-type(even)::before {
    background-position: right top; }
  .pointSec > .ttl {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    color: #EF5B0D;
    font-weight: 900;
    text-box: trim-both cap alphabetic;
    line-height: 1;
    text-align: left !important; }
    .pointSec > .ttl[data-num]:not(.obi-num)::before {
      display: inline-block;
      vertical-align: middle;
      content: attr(data-num);
      color: #1B284F;
      font-family: "Montserrat", sans-serif;
      font-weight: 700;
      line-height: .7; }
    .pointSec > .ttl[data-num]:not(.obi-num) > span:not([class]) {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end; }
    .pointSec > .ttl .obi {
      position: relative;
      display: block;
      color: #FFF;
      font-weight: 400;
      z-index: 1;
      padding: .5em;
      width: 100vw; }
      .pointSec > .ttl .obi::before {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        background-color: #1B284F;
        z-index: -1; }
    .pointSec > .ttl:not([data-num]) .obi {
      margin-top: 10px; }
    .pointSec > .ttl.obi-num .obi::after {
      position: absolute;
      bottom: 100%;
      left: 0;
      display: inline-block;
      vertical-align: middle;
      content: attr(data-num);
      color: #1B284F;
      font-family: "Montserrat", sans-serif;
      font-weight: 700;
      line-height: .7; }
  .pointSec > picture {
    display: block; }
  .pointSec .stdBtn {
    margin-inline: initial; }
  .pointSec .btns {
    display: grid;
    grid-auto-flow: column; }
  .pointSec dl dt {
    color: #EF5B0D;
    font-weight: 700; }

.searchSecs section > .ttl {
  color: #FFF;
  font-weight: 700;
  line-height: 1; }
  .searchSecs section > .ttl::before {
    display: block;
    content: attr(data-en);
    font-family: "Montserrat", sans-serif;
    color: #1B284F; }
  .searchSecs section > .ttl span {
    position: relative;
    display: block;
    color: #FFF;
    z-index: 1;
    padding: .33em; }
    .searchSecs section > .ttl span::before {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      width: 100vw;
      height: 100%;
      background-color: #1B284F;
      z-index: -1; }
.searchSecs section:nth-of-type(odd) > .ttl span:before {
  right: 0; }
.searchSecs section:nth-of-type(even) > .ttl span:before {
  left: 0; }
.searchSecs section .pic {
  position: relative;
  display: grid; }
  .searchSecs section .pic::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    background-image: radial-gradient(#EBEBEB 2px, transparent 2px);
    background-size: 20px 20px;
    background-repeat: repeat;
    width: 100%;
    height: 100%; }
  .searchSecs section .pic li a {
    display: block;
    position: relative; }
    .searchSecs section .pic li a::before {
      display: block;
      content: '';
      position: absolute;
      left: 50%;
      top: 100%;
      transform: translate(-50%, -50%);
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22white%22/%3E%3C/svg%3E");
      background-position: center center;
      background-repeat: no-repeat;
      width: 48px;
      height: 48px;
      background-color: #1B284F;
      border-radius: 50%;
      z-index: 1; }
    .searchSecs section .pic li a picture {
      display: block;
      padding-top: 100%; }
      .searchSecs section .pic li a picture img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: translate(-50%, -50%);
        border-radius: 100%;
        overflow: hidden; }
    .searchSecs section .pic li a span {
      position: absolute;
      top: -20px;
      left: 10px;
      display: inline-block;
      background-color: #FFF;
      color: #1B284F;
      padding: .5em .25em;
      box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
      writing-mode: vertical-rl;
      line-height: 1;
      white-space: nowrap; }
.searchSecs section .icon {
  position: relative;
  display: grid; }
  .searchSecs section .icon::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    background-image: radial-gradient(#EBEBEB 2px, transparent 2px);
    background-size: 20px 20px;
    background-repeat: repeat;
    width: 100%;
    height: 100%; }
  .searchSecs section .icon li a {
    display: block;
    position: relative;
    text-align: center; }
    .searchSecs section .icon li a::before {
      display: block;
      content: '';
      position: absolute;
      left: 50%;
      top: 100%;
      transform: translate(-50%, -50%);
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
      background-position: center center;
      background-repeat: no-repeat;
      width: 48px;
      height: 48px;
      background-color: #FFF;
      border-radius: 50%;
      z-index: 3; }
    .searchSecs section .icon li a::after {
      position: absolute;
      top: 10px;
      left: 10px;
      display: block;
      content: '';
      width: calc(100% - 20px);
      aspect-ratio: 1 / 1;
      background: linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 90%);
      filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
      transform: rotate(90deg);
      border-radius: 50%; }
    .searchSecs section .icon li a picture {
      position: relative;
      display: block;
      border-radius: 100%;
      padding-top: 100%;
      background: linear-gradient(90deg, #1B284F -6.52%, #3E5CB5 106.52%);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
      margin-bottom: 40px;
      font-weight: 700;
      z-index: 2; }
      .searchSecs section .icon li a picture::after {
        position: absolute;
        top: 15px;
        left: 15px;
        display: block;
        content: '';
        width: calc(100% - 30px);
        height: calc(100% - 30px);
        background: linear-gradient(90deg, #1B284F 0%, #3E5CB5 100%);
        border-radius: 50%; }
      .searchSecs section .icon li a picture img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: none;
        z-index: 1; }
    .searchSecs section .icon li a span {
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      transform: translate(0, 100%); }

.btnSec {
  text-align: center; }

.stdBtn {
  width: min(400px, 100%);
  margin-inline: auto; }
  .stdBtn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #1B284F;
    color: #FFF;
    border-radius: 100px;
    font-weight: 500;
    padding: 10px 15px;
    line-height: 1.2; }
    .stdBtn a::before {
      content: "";
      display: inline-block;
      min-width: 24px;
      min-height: 24px;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2244%22%20height%3D%2244%22%20viewBox%3D%220%200%2044%2044%22%20fill%3D%22none%22%20xmlns%3D%22http://www.w3.org/2000/svg%22%3E%3Cg%20filter%3D%22url(%23filter0_d_278_5580)%22%3E%3Ccircle%20cx%3D%2222%22%20cy%3D%2222%22%20r%3D%2212%22%20fill%3D%22white%22/%3E%3C/g%3E%3Cpath%20d%3D%22M19.333%2017.3335L24.333%2022.3335L19.333%2027.3335%22%20stroke%3D%22%231B284F%22/%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_d_278_5580%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2244%22%20height%3D%2244%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22/%3E%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22%20result%3D%22hardAlpha%22/%3E%3CfeOffset/%3E%3CfeGaussianBlur%20stdDeviation%3D%225%22/%3E%3CfeComposite%20in2%3D%22hardAlpha%22%20operator%3D%22out%22/%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.05%200%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow_278_5580%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow_278_5580%22%20result%3D%22shape%22/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      vertical-align: middle;
      margin-right: 10px; }

.list {
  list-style: disc;
  padding-left: 20px; }

.featuredlist {
  font-weight: 700;
  font-size: 1.125rem;
  border-top: 1px solid #4c4c4c; }
  .featuredlist li {
    padding: 10px 0 10px 30px;
    border-bottom: 1px solid #4c4c4c;
    text-indent: -30px; }
    .featuredlist li::before {
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      vertical-align: middle;
      border-radius: 10px;
      border: 5px solid #1B284F;
      margin-right: 10px;
      text-indent: 0; }

.postList {
  position: relative;
  display: grid;
  z-index: 1; }
  .postList[data-row] li a {
    display: block; }
  .postList li {
    background: #FFFFFF;
    border-radius: 0px; }
    .postList li a {
      display: block;
      height: 100%;
      box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }
      .postList li a .ttl {
        font-weight: 500; }
      .postList li a img {
        width: 100%;
        object-fit: cover;
        object-position: center;
        aspect-ratio: 4 / 3; }
      .postList li a .price {
        color: #EF5B0D; }

.flowList {
  counter-reset: num;
  display: grid;
  list-style: none; }
  .flowList > li {
    position: relative;
    counter-increment: num;
    background: #FFFFFF;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }
    .flowList > li::before, .flowList > li::after {
      display: block;
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      content: '';
      background-color: #1B284F;
      clip-path: polygon(0 0, 50% 0, 100% 50%, 50% 100%, 0 100%);
      z-index: 1; }
    .flowList > li::before {
      right: 100%; }
    .flowList > li::after {
      left: 100%; }
    .flowList > li:first-child::before, .flowList > li:last-child::after {
      display: none; }
    .flowList > li img {
      width: 100%;
      margin-bottom: 20px; }
    .flowList > li p {
      margin-top: 10px; }
      .flowList > li p.ttl {
        font-weight: 500; }
    .flowList > li .point {
      position: relative;
      border: 1px solid #1B284F;
      padding: 10px 5px 10px 30px;
      list-style: disc;
      margin-top: 40px; }
      .flowList > li .point::before, .flowList > li .point::after {
        position: absolute;
        bottom: 100%;
        display: block;
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        line-height: .75;
        text-box: trim-both cap alphabetic; }
      .flowList > li .point::before {
        left: 10px;
        content: 'POINT'; }
      .flowList > li .point::after {
        right: 0;
        content: "0" counter(num);
        opacity: .05; }
      .flowList > li .point li:nth-child(n+2) {
        margin-top: 5px; }

@keyframes voiceSlideY {
  0% {
    transform: translateY(0); }
  12.5% {
    transform: translateY(-40px); }
  25% {
    transform: translateY(0); }
  37.5% {
    transform: translateY(40px); }
  50% {
    transform: translateY(0); }
  62.5% {
    transform: translateY(-40px); }
  75% {
    transform: translateY(0); }
  87.5% {
    transform: translateY(40px); }
  100% {
    transform: translateY(0); } }
@keyframes voiceSlideX {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }
.voiceList {
  display: flex;
  margin: 180px auto 120px;
  animation: voiceSlideX 20s linear infinite; }
  .voiceList > li {
    position: relative;
    min-width: 100%;
    animation: voiceSlideY 20s linear infinite;
    font-size: 1.125rem; }
    .voiceList > li:nth-of-type(4n+2) {
      animation-delay: -2s; }
    .voiceList > li:nth-of-type(4n+3) {
      animation-delay: -1s; }
    .voiceList > li:nth-of-type(4n+4) {
      animation-delay: -3s; }
    .voiceList > li img {
      width: 100%;
      border-radius: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover; }
    .voiceList > li .bubble {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      bottom: 100%;
      left: 50%;
      transform: translate(-50%, 0);
      width: 100%;
      min-height: 90px;
      text-align: center;
      z-index: 2;
      background-color: #FFF;
      border-radius: 100px;
      filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
      margin-bottom: 10px; }
      .voiceList > li .bubble::after {
        display: block;
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translate(-50%, 0);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        width: 28px;
        height: 14px;
        background-color: #FFF; }
    .voiceList > li .name {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: #FFF;
      border-radius: 100px;
      border: 1px solid #000;
      color: #000;
      font-weight: 700;
      min-width: 180px;
      padding: 5px 10px;
      text-align: center; }
      .voiceList > li .name::after {
        content: "";
        display: inline-block;
        width: 8px;
        height: 14px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%228%22%20height%3D%2214%22%20viewBox%3D%220%200%208%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M1%201L7%207L1%2013%22%20stroke%3D%22black%22/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        vertical-align: middle;
        margin-left: 10px; }

.faqList {
  display: grid;
  grid-gap: 10px; }
  .faqList li {
    position: relative;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 40px;
    padding: 30px;
    z-index: 1;
    display: grid;
    grid-template-rows: auto 0fr;
    transition: grid-template-rows .5s;
    overflow: hidden; }
    .faqList li.open {
      grid-template-rows: auto 1fr; }
      .faqList li.open::before {
        transform: translate(0, 15px) rotate(180deg); }
      .faqList li.open::after {
        transform: translate(0, 15px) rotate(360deg); }
      .faqList li.open p:last-child {
        border-top-width: 1px;
        margin-top: 20px;
        padding-top: 20px; }
    .faqList li::before, .faqList li::after {
      position: absolute;
      display: block;
      content: '';
      width: 30px;
      height: 2px;
      background-color: #000;
      top: 30px;
      right: 30px;
      transition: transform .5s; }
    .faqList li::before {
      transform: translate(0, 15px) rotate(0); }
    .faqList li::after {
      transform: translate(0, 15px) rotate(90deg); }
    .faqList li p {
      padding-left: 3rem;
      text-indent: -3rem; }
      .faqList li p:first-child {
        font-weight: 500;
        padding-right: 40px;
        cursor: pointer; }
        .faqList li p:first-child::before {
          content: 'Q.'; }
      .faqList li p:last-child {
        overflow: hidden;
        border-top: 0 solid #EEE;
        line-height: 2;
        transition: border .125s, margin .5s, padding .5s; }
        .faqList li p:last-child::before {
          content: 'A.'; }
        .faqList li p:last-child::after {
          position: absolute;
          top: 10px;
          left: 10px;
          width: calc(100% - 20px);
          height: calc(100% - 20px);
          display: block;
          content: '';
          background: #FFF;
          border-radius: 30px;
          z-index: -1; }
      .faqList li p::before {
        display: inline-block;
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        text-indent: 0;
        font-size: 2rem;
        color: #1B284F;
        vertical-align: middle;
        line-height: 1;
        margin: -.25em 1rem 0 0; }
    .faqList li[data-icon] p:first-child {
      padding-left: 60px;
      text-indent: -60px; }
      .faqList li[data-icon] p:first-child::before {
        content: '';
        width: 50px;
        height: 50px;
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        margin-right: 10px; }
    .faqList li[data-icon] p:last-child {
      padding-left: 0;
      text-indent: 0; }
      .faqList li[data-icon] p:last-child::before {
        display: none; }
    .faqList li[data-icon][data-icon="mansion"] p:first-child::before {
      background-image: url("../img/icon-mansion.svg"); }
    .faqList li[data-icon][data-icon="house"] p:first-child::before {
      background-image: url("../img/icon-house.svg"); }
    .faqList li[data-icon][data-icon="land"] p:first-child::before {
      background-image: url("../img/icon-land.svg"); }

.newsList {
  border-top: 1px solid #D9D9D9; }
  .newsList li {
    border-bottom: 1px solid #D9D9D9;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2244%22%20height%3D%2244%22%20viewBox%3D%220%200%2044%2044%22%20fill%3D%22none%22%20xmlns%3D%22http://www.w3.org/2000/svg%22%3E%3Cg%20filter%3D%22url(%23filter0_d_195_3463)%22%3E%3Ccircle%20cx%3D%2222%22%20cy%3D%2222%22%20r%3D%2212%22%20fill%3D%22%231B284F%22/%3E%3C/g%3E%3Cpath%20d%3D%22M19.3333%2017.334L24.3333%2022.334L19.3333%2027.334%22%20stroke%3D%22white%22/%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_d_195_3463%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2244%22%20height%3D%2244%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22/%3E%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22%20result%3D%22hardAlpha%22/%3E%3CfeOffset/%3E%3CfeGaussianBlur%20stdDeviation%3D%225%22/%3E%3CfeComposite%20in2%3D%22hardAlpha%22%20operator%3D%22out%22/%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.05%200%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow_195_3463%22/%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow_195_3463%22%20result%3D%22shape%22/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center; }
    .newsList li a {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-gap: 10px 20px;
      padding-right: 40px; }
      .newsList li a .cat {
        display: inline-block;
        background-color: #1B284F;
        color: #FFF;
        padding: .5em 1em;
        font-size: .75em;
        min-width: 8em;
        text-align: center;
        margin-right: 1em;
        white-space: nowrap; }
      .newsList li a time {
        white-space: nowrap; }

.exampleList {
  display: flex;
  flex-wrap: wrap; }
  .exampleList > li {
    text-align: center; }
    .exampleList > li img {
      display: block;
      background-color: #F6F5F5;
      margin-bottom: 10px;
      width: 100%;
      max-height: 200px;
      object-fit: contain;
      overflow: hidden; }

.boxList {
  display: flex;
  margin-top: 40px; }
  .boxList li {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #D9D9D9;
    background-color: #FFF;
    text-align: center;
    color: #1B284F;
    font-weight: 700;
    width: 100%;
    padding: .5em;
    line-height: 1.2; }
    .boxList li:nth-child(n+2) {
      margin-left: 10px; }

.privacyList dt {
  color: #1B284F;
  font-weight: 500;
  margin-bottom: 10px; }
  .privacyList dt:nth-child(n+2) {
    margin-top: 20px; }

.movieWrap {
  position: relative;
  padding-top: 56.25%; }
  .movieWrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

#example > .in > *:not(.exampleList) {
  line-height: 2;
  margin-top: 40px; }

@media screen and (min-width: 769px) {
  #pagettl {
    min-height: 400px;
    font-size: 1.5rem; }
    #pagettl .serif {
      font-size: 4rem; }
    #pagettl .cNav {
      margin-top: 20px; }

  .dig-breadcrumb,
  .breadcrumbs {
    width: calc(100% - 80px); }

  .anchor {
    display: flex;
    margin-top: 150px;
    width: calc(100% - 80px); }
    .anchor ul {
      display: flex;
      width: 75%; }
    .anchor .ttl {
      width: 25%;
      font-size: 1.75rem; }
      .anchor .ttl::after {
        font-size: 1.5rem; }
    .anchor li {
      border-right: 1px solid #D9D9D9; }
      .anchor li:first-child {
        border-left: 1px solid #D9D9D9; }
      .anchor li a {
        position: relative;
        overflow: hidden; }
        .anchor li a::after {
          position: absolute;
          top: 50%;
          left: -100%;
          display: block;
          content: '';
          width: 100px;
          height: 500%;
          background-color: rgba(255, 255, 255, 0.35);
          filter: blur(10px);
          transform: translate(-100%, -50%) rotate(-45deg);
          transition: left 0s;
          z-index: 1; }
        .anchor li a:hover::after {
          left: 100%;
          transform: translate(100%, -50%) rotate(-45deg);
          transition: left .5s, transform .5s; }

  .cNav {
    grid-gap: 30px;
    grid-template-columns: repeat(3, 1fr); }
    .cNav[data-col="1"] {
      grid-template-columns: repeat(1, 1fr); }
    .cNav li::after {
      position: absolute;
      top: 50%;
      left: -200px;
      display: block;
      content: '';
      width: 100px;
      height: 400%;
      background-color: rgba(255, 255, 255, 0.35);
      filter: blur(10px);
      transform: translate(0, -50%) rotate(-45deg);
      transition: left 0s; }
    .cNav li:hover::after {
      left: calc(100% + 200px);
      transition: left 1s; }
    .cNav li a {
      font-size: min(1.3125rem, 1.86vw);
      padding: 7px 55px 7px 22px;
      min-height: 70px; }

  .stdSec {
    width: 1280px;
    max-width: calc(100% - 80px);
    margin-inline: auto;
    padding: 150px 0; }
    .stdSec > .ttl {
      font-size: 3rem;
      margin-bottom: 50px; }
    .stdSec > *:not(.ttl) {
      margin-top: 40px; }
    .stdSec table tr th,
    .stdSec table tr td {
      padding: 20px 40px; }
    .stdSec > section {
      margin-top: 50px; }
      .stdSec > section > .ttl {
        font-size: 2rem;
        margin-bottom: 40px; }
      .stdSec > section > *:not(.ttl) {
        margin-top: 30px; }

  .anchor + .stdSec {
    margin-top: 150px; }

  .companySec {
    width: 1280px;
    max-width: calc(100% - 80px);
    margin-inline: auto;
    padding: 150px 0; }
    .companySec:nth-of-type(n+2) {
      padding-top: 100px; }
    .companySec > .ttl {
      font-size: 3rem; }
      .companySec > .ttl::after {
        font-size: 1.5rem; }
    .companySec > .in {
      padding: 20px 0 0 min(300px, 20%); }
      .companySec > .in > *:nth-child(n+2) {
        margin-top: 40px; }
    .companySec table tr th,
    .companySec table tr td {
      padding: 20px 0; }
    .companySec table tr th {
      width: 180px; }

  .simpleSec {
    width: 1280px;
    max-width: calc(100% - 80px);
    margin-inline: auto;
    padding: 150px 0; }

  .contactSec {
    padding: 100px 40px; }
    .contactSec h2.ttl {
      font-size: 4rem;
      margin-bottom: 50px; }
      .contactSec h2.ttl span {
        font-size: 1.5rem;
        margin-bottom: 20px; }
    .contactSec .examples {
      margin: 50px auto 0;
      max-width: 1050px;
      grid-template-columns: repeat(4, 1fr);
      grid-gap: 30px; }
      .contactSec .examples li {
        font-size: 1.3125rem; }
        .contactSec .examples li strong {
          font-size: 1.5rem; }
    .contactSec .cNav {
      margin: 40px auto 0;
      max-width: 1110px; }

  .nofailureSec {
    padding: 150px 40px; }
    .nofailureSec h2.ttl {
      font-size: 3.5rem;
      margin-bottom: 50px; }
      .nofailureSec h2.ttl strong {
        font-size: 4rem; }

  .pointSec {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: min(100px, 7.5vw) 0; }
    .pointSec:nth-of-type(n+2) {
      margin-top: 100px; }
    .pointSec:nth-of-type(odd) {
      padding-left: min(560px, 50%); }
      .pointSec:nth-of-type(odd)::before {
        left: clamp(-40px, calc(100% - 1000px), 280px); }
      .pointSec:nth-of-type(odd) > picture {
        right: clamp(calc(50% + 40px), calc(100% - 520px), 760px); }
    .pointSec:nth-of-type(even) {
      padding-right: min(560px, 50%); }
      .pointSec:nth-of-type(even)::before {
        right: clamp(-40px, calc(100% - 1000px), 280px); }
      .pointSec:nth-of-type(even) > picture {
        left: clamp(calc(50% + 40px), calc(100% - 520px), 760px); }
    .pointSec > .ttl {
      font-size: min(4rem, 5vw);
      margin-bottom: 0 !important; }
      .pointSec > .ttl[data-num]::before {
        font-size: min(7.5rem, 10vw); }
      .pointSec > .ttl[data-num] > span:not([class]) {
        display: flex;
        width: calc(100% - min(7.5rem,10vw) * 1.275); }
      .pointSec > .ttl .obi {
        font-size: min(2rem, 2.6vw); }
      .pointSec > .ttl.obi-num {
        padding-left: min(9.6rem, 12.8vw); }
        .pointSec > .ttl.obi-num .obi {
          margin-left: max(-9.6rem, -12.8vw); }
          .pointSec > .ttl.obi-num .obi::after {
            font-size: min(7.5rem, 10vw); }
      .pointSec > .ttl .m {
        font-size: min(3rem, 3.75vw); }
      .pointSec > .ttl .s {
        font-size: min(2.25rem, 2.8125vw); }
    .pointSec > picture {
      position: absolute;
      top: min(50px, 3.75vw);
      height: 100%;
      width: calc(100vw - clamp(calc(50% + 40px), calc(100% - 520px), 760px) + max(calc((100vw - 1280px) / 2), 0px));
      width: clamp(calc(50% - 120px), calc(min(50%,560px) + max(calc((100vw - 1390px) / 2), -10px)), 730px);
      z-index: 1; }
      .pointSec > picture img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .pointSec .btns {
      grid-gap: 20px; }
    .pointSec > *:not(.ttl):not(picture) {
      margin-top: 40px; }

  .searchSecs {
    padding: 150px 40px; }
    .searchSecs section {
      max-width: 1280px;
      margin: 0 auto; }
      .searchSecs section:nth-of-type(n+2) {
        margin-top: 100px; }
      .searchSecs section > .ttl {
        width: 680px;
        max-width: calc(100% - 40px);
        font-size: 2rem;
        margin-bottom: 50px !important; }
        .searchSecs section > .ttl::before {
          font-size: 6.75rem; }
      .searchSecs section .pic,
      .searchSecs section .icon {
        max-width: 1280px;
        margin: 0 auto;
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 6.25%; }
        .searchSecs section .pic::before,
        .searchSecs section .icon::before {
          width: 100vw;
          height: calc(100% + 130px); }
        .searchSecs section .pic[data-col="3"] li,
        .searchSecs section .icon[data-col="3"] li {
          transform: translateX(65%); }
        .searchSecs section .pic li:hover picture::before,
        .searchSecs section .icon li:hover picture::before {
          left: 100%;
          transform: translate(100%, -50%) rotate(-45deg);
          transition: left .5s, transform .5s; }
        .searchSecs section .pic li a picture,
        .searchSecs section .icon li a picture {
          position: relative;
          overflow: hidden; }
          .searchSecs section .pic li a picture::before,
          .searchSecs section .icon li a picture::before {
            position: absolute;
            top: 50%;
            left: -100%;
            display: block;
            content: '';
            width: 100px;
            height: 200%;
            background-color: rgba(255, 255, 255, 0.35);
            filter: blur(10px);
            transform: translate(-100%, -50%) rotate(-45deg);
            transition: left 0s;
            z-index: 1; }
        .searchSecs section .pic li a span,
        .searchSecs section .icon li a span {
          font-size: min(1.3125rem, 2vw); }
      .searchSecs section:nth-of-type(odd) .pic::before,
      .searchSecs section:nth-of-type(odd) .icon::before {
        top: -50px;
        left: -40px;
        background-position: left bottom; }
      .searchSecs section:nth-of-type(even) .pic::before,
      .searchSecs section:nth-of-type(even) .icon::before {
        top: -50px;
        left: auto;
        right: -40px;
        background-position: right bottom; }
      .searchSecs section:nth-of-type(even) > .ttl {
        margin: 0 0 0 auto;
        text-indent: 40px; }

  .btnSec {
    padding: 0 40px 150px; }
    .btnSec > *:nth-child(n+2) {
      margin-top: 40px; }

  .stdBtn a {
    position: relative;
    min-height: 80px;
    font-size: 1.3125rem;
    overflow: hidden; }
    .stdBtn a::after {
      position: absolute;
      top: 50%;
      left: -100%;
      display: block;
      content: '';
      width: 100px;
      height: 500%;
      background-color: rgba(255, 255, 255, 0.35);
      filter: blur(10px);
      transform: translate(-100%, -50%) rotate(-45deg);
      transition: left 0s;
      z-index: 1; }
    .stdBtn a:hover::after {
      left: 100%;
      transform: translate(100%, -50%) rotate(-45deg);
      transition: left .5s, transform .5s; }

  .postList {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px;
    max-width: 1280px;
    margin: 0 auto; }
    .postList li a {
      padding-bottom: 40px;
      transition: box-shadow .25s; }
      .postList li a img {
        transition: opacity .25s; }
      .postList li a:hover {
        color: inherit;
        box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.075); }
        .postList li a:hover img {
          opacity: .5; }
      .postList li a p {
        padding: 20px 20px 0; }
        .postList li a p.ttl {
          font-size: 1.125rem; }
        .postList li a p.price {
          font-size: 1.5rem; }
        .postList li a p.address {
          padding-top: 10px; }

  .flowList {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
    max-width: 1280px;
    margin: 0 auto; }
    .flowList > li {
      padding: 10px; }
      .flowList > li::before, .flowList > li::after {
        width: 40px;
        height: 40px; }
      .flowList > li::before {
        margin-right: -10px; }
      .flowList > li::after {
        margin-left: -10px; }
      .flowList > li p {
        padding: 0 10px; }
      .flowList > li .ttl {
        font-size: 1.125rem; }
    .flowList .point::before {
      font-size: 1.5rem; }
    .flowList .point::after {
      font-size: 7.5rem; }

  .voiceList {
    max-width: 330px;
    grid-gap: 50px;
    padding: 0 25px; }

  .faqList li p:first-child {
    font-size: 1.3125rem; }

  .newsList li a {
    padding: 30px 0; }

  .exampleList {
    margin-bottom: 80px; }
    .exampleList li {
      width: calc((100% - 40px * 3) / 4);
      margin-left: 40px; }
      .exampleList li:nth-child(n+5) {
        margin-top: 40px; }
      .exampleList li:nth-child(1) {
        margin-left: 0; }
      .exampleList li:nth-child(5) {
        margin-left: calc(((100% - 40px * 3) / 4 + 40px) / 2); }
      .exampleList li:nth-child(8) {
        margin-left: calc(((100% - 40px * 3) / 4 + 40px)); }
      .exampleList li img {
        border-radius: 50px; }

  .boxList li {
    font-size: 1.5rem; }

  .privacyList dt {
    font-size: 1.5rem; } }
@media screen and (max-width: 1152px) {
  .cNav {
    grid-gap: 10px; }

  .contactSec .examples {
    grid-gap: 10px; } }
@media screen and (max-width: 1023px) {
  div.anchor {
    display: block; }
    div.anchor ul {
      width: 100%; }
    div.anchor .ttl {
      text-align: center;
      width: 100%;
      margin-bottom: 40px; }

  .cNav li a {
    font-size: 1.6vw;
    padding: 7px 5.5vw 7px 2.2vw;
    min-height: max(7vw, 40px); }

  .contactSec {
    padding: 10vw 4vw; }
    .contactSec h2.ttl {
      font-size: 6.4vw;
      margin-bottom: 5vw; }
      .contactSec h2.ttl span {
        font-size: 2.4vw;
        margin-bottom: 2vw; }
    .contactSec .examples {
      margin: 5vw auto 0; }
      .contactSec .examples li {
        font-size: 2.1vw; }
        .contactSec .examples li strong {
          font-size: 2.4vw; }
    .contactSec .cNav {
      margin: 40px auto 0;
      max-width: 1110px; }

  .postList {
    grid-template-columns: repeat(2, 1fr); }

  .flowList {
    grid-template-columns: repeat(3, 1fr); }
    .flowList > li .point::before {
      font-size: 1.5rem; }
    .flowList > li .point::after {
      font-size: 7.5rem; } }
@media screen and (max-width: 768px) {
  #pagettl {
    min-height: 150px;
    font-size: 1rem;
    padding: 10px; }
    #pagettl .serif {
      font-size: 1.5rem; }
    #pagettl .cNav {
      margin-top: 10px; }
      #pagettl .cNav[data-col="1"] {
        width: 320px; }
        #pagettl .cNav[data-col="1"] a {
          width: 100%;
          font-size: .75rem; }

  .dig-breadcrumb,
  .breadcrumbs {
    width: calc(100% - 20px); }

  .anchor {
    margin-top: 40px;
    width: calc(100% - 20px); }
    .anchor .ttl {
      margin-bottom: 20px;
      font-size: 1.25rem; }
      .anchor .ttl::after {
        font-size: 1rem; }
    .anchor li {
      border-bottom: 1px solid #D9D9D9; }
      .anchor li:first-child {
        border-top: 1px solid #D9D9D9; }
      .anchor li a {
        justify-content: flex-start;
        padding: 10px; }
        .anchor li a::before {
          min-width: 32px;
          min-height: 32px;
          background-size: cover;
          margin-right: 10px; }

  .stdSec {
    padding: 80px 20px; }
    .stdSec > .ttl {
      font-size: 1.5rem;
      margin-bottom: 40px; }
    .stdSec > *:not(.ttl) {
      margin-top: 20px; }
    .stdSec table tr th,
    .stdSec table tr td {
      padding: 10px; }
    .stdSec > section {
      margin-top: 40px; }
      .stdSec > section > .ttl {
        font-size: 1.25rem;
        margin-bottom: 30px; }
      .stdSec > section > *:not(.ttl) {
        margin-top: 20px; }

  .anchor + .stdSec {
    margin-top: 80px; }

  .companySec {
    padding: 80px 20px; }
    .companySec > .ttl {
      font-size: 2rem;
      text-align: center;
      margin-bottom: 40px; }
      .companySec > .ttl::after {
        font-size: 1rem; }
    .companySec > .in > *:nth-child(n+2) {
      margin-top: 20px; }
    .companySec table tr th,
    .companySec table tr td {
      padding: 10px 0; }
    .companySec table tr th {
      width: 180px; }

  .simpleSec {
    padding: 80px 20px; }

  .contactSec h2.ttl span {
    font-size: .66em; }
  .contactSec .examples {
    grid-template-columns: repeat(4, 1fr); }
  .contactSec .cNav {
    grid-template-columns: repeat(1, 1fr); }
    .contactSec .cNav li a {
      font-size: 1rem; }

  .nofailureSec {
    padding: 80px 20px; }
    .nofailureSec h2.ttl {
      font-size: 1.75rem;
      margin-bottom: 40px; }
      .nofailureSec h2.ttl strong {
        font-size: 2rem; }

  .pointSec {
    margin: 40px auto 0;
    padding: min(50px, 7.5vw) 0;
    height: auto !important; }
    .pointSec:nth-of-type(n+2) {
      margin-top: 60px; }
    .pointSec:nth-of-type(odd)::before {
      left: -10px; }
    .pointSec:nth-of-type(odd) > picture {
      margin: 0 0 20px -20px;
      width: calc(100% + 20px); }
    .pointSec:nth-of-type(even)::before {
      right: -10px; }
    .pointSec:nth-of-type(even) > picture {
      margin: 0 -20px 20px 0;
      width: calc(100% + 20px); }
    .pointSec:nth-of-type(even) > .ttl .obi::before {
      left: auto;
      right: 0; }
    .pointSec > .ttl {
      font-size: 2rem;
      margin-bottom: 20px; }
      .pointSec > .ttl[data-num]::before {
        font-size: 4rem; }
      .pointSec > .ttl[data-num] > span:not([class]) {
        display: flex;
        width: calc(100% - 4rem * 1.275); }
      .pointSec > .ttl .obi {
        font-size: 1.25rem; }
      .pointSec > .ttl.obi-num {
        padding-left: 5.333rem; }
        .pointSec > .ttl.obi-num .obi {
          margin-left: -5.333rem; }
          .pointSec > .ttl.obi-num .obi::after {
            font-size: 4rem; }
      .pointSec > .ttl .m {
        font-size: 1.5rem; }
      .pointSec > .ttl .s {
        font-size: 1.5rem; }
    .pointSec .btns {
      margin: 20px 0;
      grid-gap: 10px;
      grid-auto-flow: row; }

  .searchSecs {
    padding: 80px 20px; }
    .searchSecs section:nth-of-type(n+2) {
      margin-top: 80px; }
    .searchSecs section > .ttl {
      font-size: 1rem;
      margin-bottom: 30px !important; }
      .searchSecs section > .ttl::before {
        font-size: 2.5rem; }
    .searchSecs section:nth-of-type(even) > .ttl {
      text-indent: 10px; }
    .searchSecs section .pic,
    .searchSecs section .icon {
      max-width: 530px;
      margin: 0 auto;
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 40px 10px; }
      .searchSecs section .pic::before,
      .searchSecs section .icon::before {
        width: 100vw;
        height: calc(100% + 70px); }
      .searchSecs section .pic li,
      .searchSecs section .icon li {
        max-width: 260px; }
        .searchSecs section .pic li a span,
        .searchSecs section .icon li a span {
          font-size: .9135rem; }

  .btnSec {
    padding: 0 20px 80px; }
    .btnSec > *:nth-child(n+2) {
      margin-top: 20px; }

  .stdBtn a {
    min-height: 40px;
    font-size: 1.125rem; }

  .postList {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px 10px; }
    .postList li a {
      padding-bottom: 30px; }
      .postList li a p {
        padding: 20px 10px 0; }
        .postList li a p.ttl {
          font-size: 1.125rem; }
        .postList li a p.price {
          font-size: 1.25rem; }
        .postList li a p.address {
          padding-top: 5px; }

  .flowList {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px; }
    .flowList > li {
      padding: 5px; }
      .flowList > li::before, .flowList > li::after {
        width: 20px;
        height: 20px; }
      .flowList > li::before {
        margin-right: -5px; }
      .flowList > li::after {
        margin-left: -5px; }
      .flowList > li p {
        padding: 0 5px; }

  .voiceList {
    max-width: 320px;
    grid-gap: 20px;
    padding: 0 10px; }

  .faqList {
    margin: 0 -10px; }
    .faqList li {
      padding-left: 20px; }

  .newsList li {
    padding: 15px 0; }
    .newsList li a {
      grid-template-columns: 1fr; }

  .exampleList {
    margin: 0 -10px 40px; }
    .exampleList li {
      width: calc((100% - 40px) / 2);
      margin: 0 10px;
      text-align: left; }
      .exampleList li:nth-child(n+3) {
        margin-top: 20px; }
      .exampleList li img {
        border-radius: 20px;
        padding: 10px; }

  .privacyList dt {
    font-size: 1.125rem; } }
@media screen and (max-width: 480px) {
  .companySec table {
    display: block; }
    .companySec table tr {
      display: block; }
      .companySec table tr th,
      .companySec table tr td {
        display: block; }
      .companySec table tr th {
        margin-top: 10px;
        width: 100%; }
      .companySec table tr td {
        margin-left: 20px;
        width: calc(100% - 20px); }

  .contactSec .examples {
    grid-template-columns: repeat(2, 1fr); }
    .contactSec .examples li {
      font-size: 4.2vw; }
      .contactSec .examples li strong {
        font-size: 4.8vw; }

  .postList {
    grid-template-columns: repeat(1, 1fr); }

  .flowList {
    grid-template-columns: repeat(1, 1fr); }
    .flowList > li::before {
      top: 0;
      left: 50%;
      transform: translate(-50%, -50%) rotate(90deg); }
    .flowList > li::after {
      display: none !important; } }
/* -------------------------------
   home
------------------------------- */
#home #concept > .in .ttl::before {
  display: block;
  content: 'CONCEPT';
  font-family: "Montserrat", sans-serif; }

#mv {
  position: relative;
  background-color: #1B284F;
  overflow: hidden; }
  #mv::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: 'HOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORKHOUSENETWORK';
    min-width: 110vw;
    min-height: 110%;
    color: #1B284F;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.75);
    font-family: "Montserrat", sans-serif;
    opacity: .25;
    text-align: center;
    font-weight: 700;
    word-break: break-all;
    line-height: 1; }
  #mv h2 {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1; }
    #mv h2::before, #mv h2::after {
      display: block;
      content: '';
      position: absolute;
      width: 50%;
      height: 100%;
      z-index: 2;
      background-repeat: no-repeat; }
    #mv h2::before {
      background-image: url("../img/mv_l.png");
      background-position: right bottom; }
    #mv h2::after {
      background-image: url("../img/mv_r.png");
      background-position: left bottom; }
    #mv h2 > span {
      position: relative;
      z-index: 10; }
    #mv h2 #mvCopy01 {
      color: #FA9A1A;
      width: 100%;
      font-weight: 400;
      text-shadow: 0 0 5px rgba(0, 0, 0, 0.75); }
    #mv h2 #mvCopy02 {
      display: flex;
      color: #1B284F;
      writing-mode: vertical-rl;
      font-weight: 700; }
      #mv h2 #mvCopy02 span {
        background-color: #FA9A1A;
        padding: .25em;
        white-space: nowrap; }
    #mv h2 #mvCopy03 {
      color: #FFF;
      font-weight: 700;
      text-shadow: 0 0 5px rgba(0, 0, 0, 0.75); }
      #mv h2 #mvCopy03 span {
        color: #FA9A1A;
        font-size: 1.5em; }
  #mv .cNav {
    position: relative;
    max-width: 100%;
    z-index: 3;
    width: 1060px;
    margin: 0 auto;
    padding: 20px 0; }
    #mv .cNav::before {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      width: 100vw;
      height: 100%;
      background: linear-gradient(180deg, rgba(27, 40, 79, 0.5) 0%, #1B284F 50%, #1B284F 100%); }

#solution {
  position: relative;
  z-index: 1; }
  #solution::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    white-space: nowrap;
    content: 'SOLUTION';
    color: #FFF;
    text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.15), 1px -1px 0 rgba(0, 0, 0, 0.15), 1px 1px 0 rgba(0, 0, 0, 0.15), -1px 1px 0 rgba(0, 0, 0, 0.15);
    font-size: min(360px, 19vw);
    font-weight: 700;
    line-height: .75;
    text-box: trim-both cap alphabetic;
    font-family: "Montserrat", sans-serif;
    z-index: -1; }

#concept {
  color: #FFF;
  background-color: #1B284F; }
  #concept > .in .ttl {
    line-height: 1.2; }
    #concept > .in .ttl strong {
      color: #FA9A1A;
      font-size: 1.5em; }
  #concept > .in p {
    line-height: 2; }
  #concept > p {
    text-align: center; }
  #concept[data-bg="white"] {
    color: initial;
    background-color: #FFF; }
    #concept[data-bg="white"] > .in .ttl {
      color: #1B284F; }
    #concept[data-bg="white"] > p {
      color: #1B284F; }

.homeSec h2.ttl {
  text-align: center;
  color: #1B284F; }
  .homeSec h2.ttl::before {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    content: attr(data-en); }
.homeSec > .in {
  max-width: 1280px;
  margin-inline: auto; }
.homeSec .btn {
  width: 240px;
  margin-inline: auto; }
  .homeSec .btn a {
    position: relative;
    display: block;
    background-color: #1B284F;
    color: #FFF;
    border-radius: 100px;
    font-weight: 500; }
    .homeSec .btn a::after {
      display: block;
      content: '';
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translate(0, -50%);
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22white%22/%3E%3C/svg%3E");
      background-position: center center;
      background-repeat: no-repeat;
      width: 10px;
      height: 20px;
      z-index: 2; }

div.homeSec > .in {
  display: grid;
  grid-gap: 80px; }
div.homeSec section {
  position: relative; }
  div.homeSec section::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    background-color: #D9D9D9; }

.postSec {
  background-image: radial-gradient(#EBEBEB 2px, transparent 2px);
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center top; }
  .postSec header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index: 1; }
    .postSec header h2.ttl {
      font-weight: 400;
      line-height: 1.2;
      color: #FFF; }
      .postSec header h2.ttl.tCenter {
        width: 100%; }
      .postSec header h2.ttl::before {
        display: block;
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        content: attr(data-en); }
      .postSec header h2.ttl::after {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        content: '';
        width: 100vw;
        background-color: #1B284F;
        background-image: radial-gradient(rgba(217, 217, 217, 0.1) 2px, transparent 2px);
        background-size: 20px 20px;
        background-repeat: repeat;
        background-position: center bottom;
        z-index: -1; }
    .postSec header .btn {
      width: 240px; }
      .postSec header .btn a {
        position: relative;
        display: block;
        background-color: #FFF;
        color: #1B284F;
        border-radius: 100px;
        font-weight: 500; }
        .postSec header .btn a::after {
          display: block;
          content: '';
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translate(0, -50%);
          background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
          background-position: center center;
          background-repeat: no-repeat;
          width: 10px;
          height: 20px;
          z-index: 2; }

#differences h2.ttl > * {
  font-size: 1.5em; }
#differences h2.ttl strong {
  display: inline-block;
  line-height: 1;
  text-box: trim-both cap alphabetic;
  background-color: #1B284F;
  color: #FFF;
  border-radius: 10px;
  padding: .5em .5em;
  margin: 0 .25rem; }
#differences table {
  display: block;
  background-blend-mode: screen;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15); }
  #differences table thead {
    display: block; }
  #differences table tr {
    display: grid;
    grid-template-columns: repeat(2, 1fr); }
    #differences table tr th {
      display: block;
      text-align: center;
      color: #FFF;
      padding: 20px; }
      #differences table tr th:nth-child(1) {
        background-color: #288B9A; }
      #differences table tr th:nth-child(2) {
        background-color: #BA68BD; }
    #differences table tr td {
      position: relative;
      display: block;
      border-left: 1px solid #EEE;
      border-right: 1px solid #EEE; }
      #differences table tr td::before {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500; }
      #differences table tr td p:nth-child(n+2) {
        margin-top: .5em; }
      #differences table tr td p strong {
        display: inline-block;
        font-weight: 500; }
        #differences table tr td p strong::before {
          content: "";
          display: inline-block;
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center;
          vertical-align: middle;
          text-indent: 0; }
    #differences table tr:first-child td:nth-child(1) strong::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%20fill%3D%22%23288B9A%22/%3E%3Cpath%20d%3D%22M8%2014L14%2020L23%2011%22%20stroke%3D%22white%22%20stroke-width%3D%223%22/%3E%3C/svg%3E"); }
    #differences table tr:first-child td:nth-child(2) strong::before {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%20fill%3D%22%23BA68BD%22/%3E%3Cpath%20d%3D%22M8%2014L14%2020L23%2011%22%20stroke%3D%22white%22%20stroke-width%3D%223%22/%3E%3C/svg%3E"); }
    #differences table tr:first-child td::before {
      content: 'メリット'; }
    #differences table tr:first-child td::after {
      display: block;
      content: '';
      height: 1px;
      background-color: #EEE;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0); }
    #differences table tr:last-child td {
      border-bottom: 1px solid #EEE; }
      #differences table tr:last-child td::before {
        content: 'デメリット'; }
      #differences table tr:last-child td strong::before {
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%20fill%3D%22%23CCCCCC%22/%3E%3Cpath%20d%3D%22M8%2014L14%2020L23%2011%22%20stroke%3D%22white%22%20stroke-width%3D%223%22/%3E%3C/svg%3E"); }

#knowledge header {
  justify-content: center; }
  #knowledge header h2.ttl {
    text-align: center; }
    #knowledge header h2.ttl span {
      display: block;
      font-size: .5em; }

#voice {
  background: url("../img/voice_bg.png") center center/cover repeat; }

#faq {
  background: url("../img/faq_bg.jpg") center center/cover repeat; }

#company > .in {
  display: grid;
  grid-gap: 40px; }
  #company > .in .map iframe {
    width: 100%;
    height: 360px; }
  #company > .in .txt {
    line-height: 2; }
    #company > .in .txt > *:nth-child(n+2) {
      margin-top: 1em; }

#notice {
  background: url("../img/faq_bg.jpg") center center/cover repeat; }

@media screen and (min-width: 769px) {
  #mv::before {
    font-size: 8.75rem; }
  #mv h2.ttl {
    padding: 40px 0 20px;
    grid-gap: 30px; }
    #mv h2.ttl::before, #mv h2.ttl::after {
      height: calc(100% + 60px);
      bottom: -60px; }
    #mv h2.ttl::before {
      min-width: 840px;
      width: 43.75%;
      right: 56.25%; }
    #mv h2.ttl::after {
      min-width: 584px;
      width: 30.4166%;
      left: 69.5833%; }
    #mv h2.ttl #mvCopy01 {
      font-size: 2rem; }
    #mv h2.ttl #mvCopy02 {
      font-size: 5.625rem;
      grid-gap: 20px; }
      #mv h2.ttl #mvCopy02 span {
        border-radius: 20px; }
    #mv h2.ttl #mvCopy03 {
      font-size: 11.25rem; }
  #mv .cNav {
    grid-gap: 10px; }

  #solution .pointSec:nth-of-type(1) > picture img {
    object-position: right; }

  #concept {
    padding: 200px 40px 100px; }
    #concept > .in {
      position: relative;
      max-width: 1280px;
      margin: 0 auto 150px;
      padding-right: min(560px, 43.75%);
      z-index: 1; }
      #concept > .in > picture {
        position: absolute;
        top: -50px;
        right: 0;
        width: min(720px, 56.25%);
        height: calc(100% + 100px);
        z-index: -1; }
        #concept > .in > picture img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
      #concept > .in .ttl {
        font-size: min(3.75rem, 4.75vw);
        margin-bottom: 40px; }
        #concept > .in .ttl::before {
          margin-bottom: 50px;
          font-size: 1.5rem; }
      #concept > .in p {
        font-size: 1.125rem; }
    #concept > p {
      font-size: min(3.5rem, 4.5vw); }
    #concept[data-bg="white"] > p {
      font-size: min(3rem, 4vw); }

  .postSec {
    padding: 140px 40px; }
    .postSec header {
      max-width: 1280px;
      margin: 0 auto 50px; }
      .postSec header h2.ttl {
        font-size: 3.5rem; }
        .postSec header h2.ttl::before {
          font-size: 1.5rem; }
        .postSec header h2.ttl::after {
          height: calc(100% + 280px); }
      .postSec header .btn a {
        overflow: hidden;
        padding: 10px 30px;
        line-height: 30px;
        transition: box-shadow .5s; }
        .postSec header .btn a:hover {
          box-shadow: 0 0 20px 0 rgba(255, 255, 255, 0.5); }

  .homeSec {
    padding: 150px 40px; }
    .homeSec h2.ttl {
      font-size: 3.5rem;
      margin-bottom: 40px; }
      .homeSec h2.ttl::before {
        font-size: 1.5rem; }
    .homeSec .btn {
      margin-top: 80px; }
      .homeSec .btn a {
        overflow: hidden;
        padding: 10px 30px;
        line-height: 30px; }
        .homeSec .btn a::before {
          position: absolute;
          top: 50%;
          left: -100%;
          display: block;
          content: '';
          width: 100px;
          height: 500%;
          background-color: rgba(255, 255, 255, 0.35);
          filter: blur(10px);
          transform: translate(-100%, -50%) rotate(-45deg);
          transition: left 0s;
          z-index: 1; }
        .homeSec .btn a:hover::before {
          left: 100%;
          transform: translate(100%, -50%) rotate(-45deg);
          transition: left .5s, transform .5s; }

  div.homeSec > .in {
    grid-template-columns: repeat(2, 1fr); }
  div.homeSec[data-col="1"] > .in {
    grid-template-columns: repeat(1, 1fr); }
  div.homeSec section {
    position: relative; }
    div.homeSec section:nth-child(even)::before {
      transform: translate(-40px, 0);
      width: 1px;
      height: 100%; }
    div.homeSec section h2.ttl {
      font-size: 2rem; }
      div.homeSec section h2.ttl::before {
        font-size: 1rem; }
    div.homeSec section .btn {
      margin-top: 40px; }

  #differences h2.ttl {
    font-size: 2rem; }
  #differences table {
    padding: 10px;
    border-radius: 40px;
    max-width: 1020px;
    width: calc(100% - 160px);
    margin: 0 auto;
    position: relative;
    left: 80px; }
    #differences table tr {
      grid-gap: 10px; }
      #differences table tr th {
        font-size: 1.75rem; }
        #differences table tr th:nth-child(1) {
          border-radius: 40px 0 0 0; }
        #differences table tr th:nth-child(2) {
          border-radius: 0 40px 0 0; }
      #differences table tr td p strong {
        font-size: 1.3125rem;
        text-indent: -40px;
        padding-left: 40px; }
        #differences table tr td p strong::before {
          width: 30px;
          height: 30px;
          margin-right: 10px; }
      #differences table tr td:nth-child(1)::before {
        position: absolute;
        left: -30px;
        transform: translate(-100%, 0);
        height: calc(100% - 20px);
        width: 140px;
        font-size: 1.3125rem;
        border-top: 1px solid #EEE; }
      #differences table tr td:nth-child(2)::before {
        display: none; }
      #differences table tr:first-child td {
        padding: 40px 20px 20px; }
        #differences table tr:first-child td::before {
          top: 20px; }
        #differences table tr:first-child td::after {
          width: calc(100% - 40px); }
      #differences table tr:last-child td {
        padding: 20px 20px 40px; }
        #differences table tr:last-child td::before {
          bottom: 20px;
          border-bottom: 1px solid #EEE; }
        #differences table tr:last-child td:nth-child(1) {
          border-radius: 0 0 0 40px; }
        #differences table tr:last-child td:nth-child(2) {
          border-radius: 0 0 40px 0; }

  #knowledge .postList {
    justify-content: center;
    grid-template-columns: repeat(3, 1fr);
    max-width: 960px; }

  #flow {
    padding: 150px 40px; }

  #company > .in {
    grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 768px) {
  #mv::before {
    font-size: 10vw; }
  #mv h2.ttl {
    padding: 10vw 0 30vw;
    grid-gap: 5vw; }
    #mv h2.ttl::before, #mv h2.ttl::after {
      height: 75vw;
      bottom: 0;
      background-size: cover; }
    #mv h2.ttl::before {
      width: 70%;
      right: 30%; }
    #mv h2.ttl::after {
      width: 50%;
      left: 50%;
      z-index: -1; }
    #mv h2.ttl #mvCopy01 {
      font-size: 4vw; }
    #mv h2.ttl #mvCopy02 {
      font-size: 11.25vw;
      grid-gap: 5vw; }
      #mv h2.ttl #mvCopy02 span {
        border-radius: 5vw; }
    #mv h2.ttl #mvCopy03 {
      font-size: 22.5vw; }
  #mv .cNav {
    position: absolute;
    bottom: 0;
    left: 0;
    grid-gap: 5px;
    grid-template-columns: repeat(3, 1fr); }
    #mv .cNav li a {
      font-size: 1.8vw; }

  #concept {
    padding: 80px 20px 40px; }
    #concept > .in {
      max-width: 500px;
      margin: 0 auto; }
      #concept > .in > picture {
        display: block;
        margin: 40px 0; }
      #concept > .in .ttl {
        font-size: 1.75rem;
        margin-bottom: 20px;
        text-align: center; }
        #concept > .in .ttl::before {
          margin-bottom: 30px;
          font-size: 1rem; }
    #concept > p {
      font-size: 1.5rem; }

  .postSec {
    padding: 80px 20px; }
    .postSec header {
      margin-bottom: 40px; }
      .postSec header h2.ttl {
        color: #FFF;
        font-size: 2rem; }
        .postSec header h2.ttl::before {
          font-size: 1rem; }
        .postSec header h2.ttl::after {
          height: calc(100% + 160px); }
      .postSec header .btn a {
        overflow: hidden;
        padding: 10px 50px 10px 30px;
        line-height: 30px; }

  .homeSec {
    padding: 80px 20px; }
    .homeSec h2.ttl {
      font-size: 1.75rem;
      margin-bottom: 40px; }
      .homeSec h2.ttl::before {
        font-size: 1rem; }
    .homeSec .btn {
      margin-top: 40px; }
      .homeSec .btn a {
        overflow: hidden;
        padding: 10px 50px 10px 30px;
        line-height: 30px; }

  div.homeSec section {
    position: relative; }
    div.homeSec section:nth-child(even)::before {
      transform: translate(0, -40px);
      width: 100%;
      height: 1px; }

  #differences {
    padding: 80px 10px; }
    #differences h2.ttl {
      font-size: 1rem; }
      #differences h2.ttl::before {
        margin-bottom: 10px; }
    #differences table {
      padding: 5px;
      border-radius: 20px;
      width: 100%; }
      #differences table tr {
        grid-gap: 5px; }
        #differences table tr th:nth-child(1) {
          border-radius: 20px 0 0 0; }
        #differences table tr th:nth-child(2) {
          border-radius: 0 20px 0 0; }
        #differences table tr td::before {
          background-color: #EEE;
          padding: 5px;
          margin-bottom: 10px; }
        #differences table tr td p strong {
          text-indent: -25px;
          padding-left: 25px; }
          #differences table tr td p strong::before {
            width: 20px;
            height: 20px;
            margin-right: 5px; }
        #differences table tr:first-child td {
          padding: 20px 10px 10px; }
          #differences table tr:first-child td::after {
            width: calc(100% - 20px); }
        #differences table tr:last-child td {
          padding: 10px 10px 20px; }
          #differences table tr:last-child td:nth-child(1) {
            border-radius: 0 0 0 20px; }
          #differences table tr:last-child td:nth-child(2) {
            border-radius: 0 0 20px 0; } }
@media screen and (max-width: 480px) {
  #mv h2.ttl {
    padding: 10vw 0 max(60vw, 200px); }
    #mv h2.ttl::before, #mv h2.ttl::after {
      height: 80vw;
      bottom: max(15vw, 90px);
      background-size: cover; }
    #mv h2.ttl::before {
      width: 70%;
      right: 30%; }
    #mv h2.ttl::after {
      width: 50%;
      left: 50%;
      z-index: -1; }
  #mv .cNav {
    padding: 2vw 5vw;
    grid-template-columns: repeat(1, 1fr); }
    #mv .cNav li {
      width: 100%; }
      #mv .cNav li a {
        font-size: 4vw;
        width: 100%; }

  .postSec {
    position: relative;
    padding-bottom: 170px; }
    .postSec header {
      position: static; }
      .postSec header h2.ttl {
        position: relative;
        text-align: center;
        width: 100%;
        z-index: 1; }
      .postSec header .btn {
        position: absolute;
        bottom: 80px;
        left: 50%;
        transform: translate(-50%, 0); }
        .postSec header .btn a {
          color: #FFF;
          background-color: #1B284F; }
          .postSec header .btn a::after {
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22white%22/%3E%3C/svg%3E"); }

  #knowledge {
    padding-bottom: 80px; } }
/* -------------------------------
   sell
------------------------------- */
body#mansion #pagettl {
  background-image: url("../img/mansion/pagettl.jpg"); }

body#kodate #pagettl {
  background-image: url("../img/kodate/pagettl.jpg"); }

body#tochi #pagettl {
  background-image: url("../img/tochi/pagettl.jpg"); }

body#shueki #pagettl {
  background-image: url("../img/shueki/pagettl.jpg"); }

body#method .pointSec:nth-of-type(1) picture img {
  object-position: left; }

table.brokers tbody tr th {
  width: 25%; }

@media screen and (min-width: 769px) {
  table.brokers tbody tr th {
    width: 25%; }

  body#shueki .exampleList li:nth-child(1),
  body#sumikae_kaikae .exampleList li:nth-child(1),
  body#akiya_akichi .exampleList li:nth-child(1) {
    margin-left: calc(((100% - 40px * 3) / 4 + 40px) / 2); }
  body#shueki .exampleList li:nth-child(4),
  body#sumikae_kaikae .exampleList li:nth-child(4),
  body#akiya_akichi .exampleList li:nth-child(4) {
    margin-top: 40px;
    margin-left: calc(((100% - 40px * 3) / 4 + 40px)); }
  body#shueki .exampleList li:nth-child(5),
  body#sumikae_kaikae .exampleList li:nth-child(5),
  body#akiya_akichi .exampleList li:nth-child(5) {
    margin-left: 40px; } }
@media screen and (max-width: 768px) {
  table.brokers tbody tr {
    display: flex;
    flex-wrap: wrap;
    margin-top: -1px; }
    table.brokers tbody tr th {
      width: 100%; }
    table.brokers tbody tr td {
      width: 50%; } }
/* -------------------------------
   nini & shueki
------------------------------- */
#concept.normal {
  padding-top: 0; }
  #concept.normal > .in > p {
    max-width: 520px; }

.verticalFlowList {
  display: grid;
  grid-gap: 20px;
  list-style: none;
  margin: 0 auto; }
  .verticalFlowList li {
    position: relative;
    border: 1px solid #EEE;
    padding: 10px;
    font-size: .8125rem;
    border-radius: 20px; }
    .verticalFlowList li .ttl {
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #1B284F;
      color: #FFF;
      font-size: .9375rem;
      text-align: center; }
    .verticalFlowList li .notice {
      font-size: .5625rem; }
    .verticalFlowList li:nth-child(n+2)::before {
      display: block;
      position: absolute;
      content: '';
      background-color: #1B284F;
      clip-path: polygon(0 0, 50% 0, 100% 50%, 50% 100%, 0 100%);
      z-index: 1;
      width: 20px;
      height: 20px; }

@media screen and (min-width: 769px) {
  .verticalFlowList {
    grid-auto-flow: column;
    max-width: 1280px; }
    .verticalFlowList li {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 3; }
      .verticalFlowList li .ttl {
        margin: -10px -10px 0;
        padding: 20px 5px;
        border-radius: 20px 20px 0 0; }
      .verticalFlowList li:nth-child(n+2)::before {
        top: 50%;
        right: 100%;
        transform: translate(0, -50%); } }
@media screen and (max-width: 1023px) {
  .verticalFlowList {
    grid-auto-flow: row;
    max-width: 600px; }
    .verticalFlowList li {
      position: relative;
      display: flex;
      align-items: stretch;
      grid-row: auto;
      margin: 0 -10px; }
      .verticalFlowList li .ttl {
        margin: -10px 0 -10px -10px;
        padding: 5px;
        border-radius: 20px 0 0 20px;
        writing-mode: vertical-rl; }
      .verticalFlowList li p:not([class]) {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding: 10px; }
      .verticalFlowList li img {
        width: 130px;
        align-self: center; }
      .verticalFlowList li:nth-child(n+2)::before {
        top: auto;
        bottom: 100%;
        right: 50%;
        transform: translate(50%, 0) rotate(90deg); } }
/* -------------------------------
   buy
------------------------------- */
body#buy .searchTypeList {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  background: #FFFFFF;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
  z-index: 1; }
  body#buy .searchTypeList > li {
    border-left: 1px solid #D9D9D9;
    border-top: 1px solid #D9D9D9; }
    body#buy .searchTypeList > li a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      color: #1B284F; }
      body#buy .searchTypeList > li a::before {
        display: block;
        content: '';
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
        margin: 0 0 10px 0; }
      body#buy .searchTypeList > li a[href*="kodate/shinchiku"]::before {
        background-image: url("../img/icon-newhouse.svg"); }
      body#buy .searchTypeList > li a[href*="kodate/chuko"]::before {
        background-image: url("../img/icon-house.svg"); }
      body#buy .searchTypeList > li a[href*="mansion/chuko"]::before {
        background-image: url("../img/icon-mansion.svg"); }
      body#buy .searchTypeList > li a[href*="tochi"]::before {
        background-image: url("../img/icon-land.svg"); }
      body#buy .searchTypeList > li a[href*="shueki"]::before {
        background-image: url("../img/icon-shuueki.svg"); }
      body#buy .searchTypeList > li a[href*="area"]::before {
        background-image: url("../img/icon-area.svg"); }
      body#buy .searchTypeList > li a[href*="rosen"]::before {
        background-image: url("../img/icon-rosen.svg"); }
    body#buy .searchTypeList > li:nth-child(n+6) a {
      flex-direction: row;
      background-color: #1B284F;
      color: #FFF; }
      body#buy .searchTypeList > li:nth-child(n+6) a::before {
        margin: 0 10px 0 0; }
body#buy .searchThemeList {
  display: grid;
  max-width: 1280px;
  margin: 0 auto; }
  body#buy .searchThemeList li a {
    position: relative;
    display: flex;
    align-items: center;
    background: #FFFFFF;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
    color: #1B284F;
    font-weight: bold;
    padding-right: 60px; }
    body#buy .searchThemeList li a img {
      aspect-ratio: 4 / 3;
      width: auto;
      height: 100%;
      object-fit: cover;
      object-position: center;
      margin-right: 30px; }
    body#buy .searchThemeList li a::after {
      display: block;
      content: '';
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translate(0, -50%);
      background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22white%22/%3E%3C/svg%3E);
      background-position: center center;
      background-repeat: no-repeat;
      width: 48px;
      height: 48px;
      background-color: #1B284F;
      border-radius: 50%;
      z-index: 1; }
body#buy #reineSearchChildSec {
  background: #FFFFFF;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  text-align: center;
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden; }
  body#buy #reineSearchChildSec > .ttl {
    color: #1B284F;
    font-weight: bold;
    margin-bottom: 0 !important; }
    body#buy #reineSearchChildSec > .ttl::before {
      display: inline-block;
      content: '';
      width: 33px;
      height: 40px;
      background: url("../img/icon-search.svg") center center/contain no-repeat;
      vertical-align: middle;
      margin-right: 10px; }
  body#buy #reineSearchChildSec #otherReineSearchSec {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    background: #FFFFFF;
    max-width: 1280px;
    margin: 0 auto;
    overflow: hidden;
    z-index: 1; }
    body#buy #reineSearchChildSec #otherReineSearchSec > li {
      border-left: 1px solid #D9D9D9;
      border-top: 1px solid #D9D9D9; }
      body#buy #reineSearchChildSec #otherReineSearchSec > li a {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        flex-direction: row;
        background-color: #1B284F;
        color: #FFF; }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a::before {
          display: block;
          content: '';
          background-position: center center;
          background-repeat: no-repeat;
          background-size: contain;
          margin: 0 10px 0 0; }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a[href*="area"]::before {
          background-image: url("../img/icon-area.svg"); }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a[href*="rosen"]::before {
          background-image: url("../img/icon-rosen.svg"); }
  body#buy #reineSearchChildSec #areaSec,
  body#buy #reineSearchChildSec #rosenSec,
  body#buy #reineSearchChildSec .reineSearchDetailSec {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows .5s, padding .5s;
    background-color: #F3F4F6; }
    body#buy #reineSearchChildSec #areaSec.open,
    body#buy #reineSearchChildSec #rosenSec.open,
    body#buy #reineSearchChildSec .reineSearchDetailSec.open {
      grid-template-rows: 1fr; }
    body#buy #reineSearchChildSec #areaSec#reineSearchkodawariSec,
    body#buy #reineSearchChildSec #rosenSec#reineSearchkodawariSec,
    body#buy #reineSearchChildSec .reineSearchDetailSec#reineSearchkodawariSec {
      grid-template-rows: auto 0fr; }
      body#buy #reineSearchChildSec #areaSec#reineSearchkodawariSec.open,
      body#buy #reineSearchChildSec #rosenSec#reineSearchkodawariSec.open,
      body#buy #reineSearchChildSec .reineSearchDetailSec#reineSearchkodawariSec.open {
        grid-template-rows: auto 1fr; }
        body#buy #reineSearchChildSec #areaSec#reineSearchkodawariSec.open .ttl::after,
        body#buy #reineSearchChildSec #rosenSec#reineSearchkodawariSec.open .ttl::after,
        body#buy #reineSearchChildSec .reineSearchDetailSec#reineSearchkodawariSec.open .ttl::after {
          content: '-'; }
      body#buy #reineSearchChildSec #areaSec#reineSearchkodawariSec .ttl,
      body#buy #reineSearchChildSec #rosenSec#reineSearchkodawariSec .ttl,
      body#buy #reineSearchChildSec .reineSearchDetailSec#reineSearchkodawariSec .ttl {
        cursor: pointer; }
        body#buy #reineSearchChildSec #areaSec#reineSearchkodawariSec .ttl::after,
        body#buy #reineSearchChildSec #rosenSec#reineSearchkodawariSec .ttl::after,
        body#buy #reineSearchChildSec .reineSearchDetailSec#reineSearchkodawariSec .ttl::after {
          display: inline-block;
          content: '+';
          width: 1em;
          height: 1em;
          background-color: #1B284F;
          color: #FFF;
          text-align: center;
          line-height: 1;
          margin-left: .5em;
          font-family: "Montserrat", sans-serif;
          font-optical-sizing: auto;
          font-style: normal; }
    body#buy #reineSearchChildSec #areaSec > .inner,
    body#buy #reineSearchChildSec #rosenSec > .inner,
    body#buy #reineSearchChildSec .reineSearchDetailSec > .inner {
      min-height: 0;
      overflow: hidden; }
    body#buy #reineSearchChildSec #areaSec section,
    body#buy #reineSearchChildSec #rosenSec section,
    body#buy #reineSearchChildSec .reineSearchDetailSec section {
      display: grid;
      grid-gap: 10px; }
      body#buy #reineSearchChildSec #areaSec section:not(:last-of-type),
      body#buy #reineSearchChildSec #rosenSec section:not(:last-of-type),
      body#buy #reineSearchChildSec .reineSearchDetailSec section:not(:last-of-type) {
        border-bottom: 1px solid #D9D9D9; }
      body#buy #reineSearchChildSec #areaSec section > .ttl,
      body#buy #reineSearchChildSec #rosenSec section > .ttl,
      body#buy #reineSearchChildSec .reineSearchDetailSec section > .ttl {
        font-size: 1.125rem; }
      body#buy #reineSearchChildSec #areaSec section > .inner > ul,
      body#buy #reineSearchChildSec #rosenSec section > .inner > ul,
      body#buy #reineSearchChildSec .reineSearchDetailSec section > .inner > ul {
        display: flex;
        flex-wrap: wrap;
        grid-gap: 5px; }
        body#buy #reineSearchChildSec #areaSec section > .inner > ul label,
        body#buy #reineSearchChildSec #rosenSec section > .inner > ul label,
        body#buy #reineSearchChildSec .reineSearchDetailSec section > .inner > ul label {
          display: block;
          background-color: #FFF;
          padding: .5em 1em; }
          body#buy #reineSearchChildSec #areaSec section > .inner > ul label input,
          body#buy #reineSearchChildSec #rosenSec section > .inner > ul label input,
          body#buy #reineSearchChildSec .reineSearchDetailSec section > .inner > ul label input {
            display: inline-block;
            width: 1em;
            height: 1em;
            margin-right: .5em; }
    body#buy #reineSearchChildSec #areaSec .searchCondList > li,
    body#buy #reineSearchChildSec #rosenSec .searchCondList > li,
    body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li {
      border-bottom: 1px solid #D9D9D9; }
      body#buy #reineSearchChildSec #areaSec .searchCondList > li dl,
      body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl,
      body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl {
        display: grid;
        grid-gap: 10px; }
        body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dt,
        body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dt,
        body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dt {
          font-size: 1.125rem;
          font-weight: 700; }
        body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd ul,
        body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd ul,
        body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd ul {
          display: flex;
          flex-wrap: wrap;
          grid-gap: 5px; }
          body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd ul > li label,
          body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd ul > li label,
          body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd ul > li label {
            display: block;
            background-color: #FFF;
            padding: .5em 1em; }
            body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd ul > li label input,
            body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd ul > li label input,
            body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd ul > li label input {
              display: inline-block;
              width: 1em;
              height: 1em;
              margin-right: .5em; }
          body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd ul > li select,
          body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd ul > li select,
          body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd ul > li select {
            padding: .5em 1em; }
          body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd ul.between li:nth-child(n+2)::before,
          body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd ul.between li:nth-child(n+2)::before,
          body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd ul.between li:nth-child(n+2)::before {
            display: inline-block;
            content: '～';
            padding: 0 .5em; }
    body#buy #reineSearchChildSec #areaSec .check.kodawari,
    body#buy #reineSearchChildSec #rosenSec .check.kodawari,
    body#buy #reineSearchChildSec .reineSearchDetailSec .check.kodawari {
      display: flex;
      flex-wrap: wrap;
      grid-gap: 5px;
      margin-top: 20px; }
      body#buy #reineSearchChildSec #areaSec .check.kodawari > li label,
      body#buy #reineSearchChildSec #rosenSec .check.kodawari > li label,
      body#buy #reineSearchChildSec .reineSearchDetailSec .check.kodawari > li label {
        display: block;
        background-color: #FFF;
        padding: .5em 1em; }
        body#buy #reineSearchChildSec #areaSec .check.kodawari > li label input,
        body#buy #reineSearchChildSec #rosenSec .check.kodawari > li label input,
        body#buy #reineSearchChildSec .reineSearchDetailSec .check.kodawari > li label input {
          display: inline-block;
          width: 1em;
          height: 1em;
          margin-right: .5em; }
  body#buy #reineSearchChildSec .reineSearchBtn {
    margin-top: 20px; }
    body#buy #reineSearchChildSec .reineSearchBtn button {
      display: block;
      background-color: #1B284F;
      color: #FFF;
      border: none;
      text-align: center;
      font-weight: 700; }
      body#buy #reineSearchChildSec .reineSearchBtn button::after {
        content: "";
        display: inline-block;
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M16.666%2010.666L12%2015.333L7.333%2010.666%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        transform: rotate(-90deg);
        vertical-align: middle; }
body#buy .propertySearchCondSec {
  background: #FFFFFF;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  text-align: center;
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden; }
  body#buy .propertySearchCondSec > .ttl {
    color: #1B284F;
    font-weight: bold; }
    body#buy .propertySearchCondSec > .ttl::before {
      display: inline-block;
      content: '';
      width: 33px;
      height: 40px;
      background: url("../img/icon-search.svg") center center/contain no-repeat;
      vertical-align: middle;
      margin-right: 10px; }
  body#buy .propertySearchCondSec dl {
    background-color: #F3F4F6; }
    body#buy .propertySearchCondSec dl dt, body#buy .propertySearchCondSec dl dd {
      display: inline-block;
      color: #1B284F;
      font-weight: bold; }
    body#buy .propertySearchCondSec dl dt {
      margin-left: 5px; }
      body#buy .propertySearchCondSec dl dt::after {
        content: '：'; }
    body#buy .propertySearchCondSec dl dd {
      margin-right: 5px; }
  body#buy .propertySearchCondSec .btn {
    width: 100%;
    margin: 0;
    padding: 0; }
    body#buy .propertySearchCondSec .btn button {
      display: block;
      background-color: #1B284F;
      color: #FFF;
      border: none;
      width: 100%; }
      body#buy .propertySearchCondSec .btn button::after {
        content: "";
        display: inline-block;
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M16.666%2010.666L12%2015.333L7.333%2010.666%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        vertical-align: middle;
        margin-left: 10px; }
body#buy .buyDispOption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-weight: 500;
  max-width: 1280px;
  margin: 0 auto; }
  body#buy .buyDispOption dl {
    display: flex;
    align-items: center;
    background-color: #F3F4F6;
    width: 100%; }
    body#buy .buyDispOption dl dd select {
      border: none;
      padding: .5em 1em; }
  body#buy .buyDispOption .digrePager {
    display: grid;
    grid-auto-flow: column;
    grid-gap: 5px; }
    body#buy .buyDispOption .digrePager a {
      padding: 0 .5em; }
      body#buy .buyDispOption .digrePager a.current {
        color: #FA9A1A; }
body#buy .propertyOutlineSec,
body#buy .propertyDetailSec {
  max-width: 1280px;
  margin: 0 auto; }
  body#buy .propertyOutlineSec > a,
  body#buy .propertyDetailSec > a {
    flex-wrap: wrap;
    background: #FFFFFF;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
    border-radius: 0px 0px 20px 20px;
    overflow: hidden;
    align-items: flex-start; }
  body#buy .propertyOutlineSec .ttl,
  body#buy .propertyDetailSec .ttl {
    grid-area: ttl;
    color: #1B284F;
    font-weight: 700; }
    body#buy .propertyOutlineSec .ttl[data-type],
    body#buy .propertyDetailSec .ttl[data-type] {
      display: flex;
      align-items: flex-start; }
      body#buy .propertyOutlineSec .ttl[data-type]::before,
      body#buy .propertyDetailSec .ttl[data-type]::before {
        content: attr(data-type);
        color: #FFF;
        background-color: #EF5B0D;
        padding: 5px 10px;
        text-align: center;
        min-width: 90px;
        margin-right: 10px;
        margin-top: -5px;
        font-size: 1rem; }
  body#buy .propertyOutlineSec figure,
  body#buy .propertyDetailSec figure {
    grid-area: img;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 5px; }
    body#buy .propertyOutlineSec figure img,
    body#buy .propertyDetailSec figure img {
      border: 1px solid #D9D9D9;
      aspect-ratio: 4 / 3;
      width: 100%;
      height: 100%;
      object-fit: contain; }
      body#buy .propertyOutlineSec figure img:nth-child(n+2),
      body#buy .propertyDetailSec figure img:nth-child(n+2) {
        width: calc((100% - 5px) / 2); }
  body#buy .propertyOutlineSec .propertyBasicInfo,
  body#buy .propertyOutlineSec .propertyDetailInfo,
  body#buy .propertyDetailSec .propertyBasicInfo,
  body#buy .propertyDetailSec .propertyDetailInfo {
    grid-area: info; }
    body#buy .propertyOutlineSec .propertyBasicInfo dl,
    body#buy .propertyOutlineSec .propertyDetailInfo dl,
    body#buy .propertyDetailSec .propertyBasicInfo dl,
    body#buy .propertyDetailSec .propertyDetailInfo dl {
      display: grid;
      grid-template-columns: 110px 1fr; }
      body#buy .propertyOutlineSec .propertyBasicInfo dl dt,
      body#buy .propertyOutlineSec .propertyDetailInfo dl dt,
      body#buy .propertyDetailSec .propertyBasicInfo dl dt,
      body#buy .propertyDetailSec .propertyDetailInfo dl dt {
        margin-top: -1px;
        position: relative;
        padding: 20px 20px 20px 0;
        border-top: 1px solid #D9D9D9;
        border-bottom: 1px solid #D9D9D9;
        font-weight: 500; }
        body#buy .propertyOutlineSec .propertyBasicInfo dl dt::before,
        body#buy .propertyOutlineSec .propertyDetailInfo dl dt::before,
        body#buy .propertyDetailSec .propertyBasicInfo dl dt::before,
        body#buy .propertyDetailSec .propertyDetailInfo dl dt::before {
          display: block;
          content: '';
          position: absolute;
          top: 10px;
          right: 10px;
          width: 1px;
          height: calc(100% - 20px);
          background-color: #D9D9D9; }
      body#buy .propertyOutlineSec .propertyBasicInfo dl dd,
      body#buy .propertyOutlineSec .propertyDetailInfo dl dd,
      body#buy .propertyDetailSec .propertyBasicInfo dl dd,
      body#buy .propertyDetailSec .propertyDetailInfo dl dd {
        margin-top: -1px;
        border-top: 1px solid #D9D9D9;
        border-bottom: 1px solid #D9D9D9;
        padding: 20px 0; }
        body#buy .propertyOutlineSec .propertyBasicInfo dl dd.price,
        body#buy .propertyOutlineSec .propertyDetailInfo dl dd.price,
        body#buy .propertyDetailSec .propertyBasicInfo dl dd.price,
        body#buy .propertyDetailSec .propertyDetailInfo dl dd.price {
          color: #EF5B0D;
          font-size: 1.5rem;
          padding: calc(20px - (2.25rem - 1rem) / 2) 0; }
          body#buy .propertyOutlineSec .propertyBasicInfo dl dd.price span,
          body#buy .propertyOutlineSec .propertyDetailInfo dl dd.price span,
          body#buy .propertyDetailSec .propertyBasicInfo dl dd.price span,
          body#buy .propertyDetailSec .propertyDetailInfo dl dd.price span {
            font-size: 2.25rem; }
body#buy .propertyOutlineSec {
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
  margin-bottom: -1px; }
  body#buy .propertyOutlineSec .pNum {
    grid-area: num;
    text-align: right;
    font-size: .875rem; }
  body#buy .propertyOutlineSec .btn {
    grid-area: btn;
    display: block;
    background-color: #1B284F;
    color: #FFF;
    border: none;
    text-align: center;
    font-weight: 700; }
    body#buy .propertyOutlineSec .btn::after {
      content: "";
      display: inline-block;
      width: 24px;
      height: 24px;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M16.666%2010.666L12%2015.333L7.333%2010.666%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: contain;
      transform: rotate(-90deg);
      vertical-align: middle; }
body#buy .propertyDetailSec h2.ttl {
  display: flex;
  align-items: flex-start; }
  body#buy .propertyDetailSec h2.ttl span {
    color: #FFF;
    background-color: #EF5B0D;
    padding: 5px 10px;
    text-align: center;
    min-width: 90px;
    margin-right: 10px;
    font-size: 1rem; }
body#buy .propertyDetailSec h3.ttl {
  margin: 0 0 20px 0; }
body#buy .propertyDetailSec .propertyFeatures {
  display: flex;
  flex-wrap: wrap;
  font-weight: 500; }
  body#buy .propertyDetailSec .propertyFeatures li {
    white-space: nowrap;
    background-color: #1B284F;
    color: #FFF; }
body#buy .propertyDetailSec .propertyOsusume {
  display: flex;
  background: #FFFFFF;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  margin: 40px 0;
  overflow: hidden; }
  body#buy .propertyDetailSec .propertyOsusume dt, body#buy .propertyDetailSec .propertyOsusume dd {
    display: flex;
    align-items: center;
    font-weight: 700; }
  body#buy .propertyDetailSec .propertyOsusume dt {
    background: linear-gradient(90deg, #EF5B0D 0%, #FA9A1A 100%);
    color: #FFF;
    justify-content: center;
    line-height: 1.2;
    white-space: nowrap; }
  body#buy .propertyDetailSec .propertyOsusume dd {
    color: #EF5B0D; }
body#buy .propertyDetailSec .imgs li {
  float: left;
  background-color: #FFF; }
  body#buy .propertyDetailSec .imgs li a {
    display: block;
    position: relative; }
    body#buy .propertyDetailSec .imgs li a::after {
      position: absolute;
      bottom: 5px;
      right: 5px;
      content: "";
      display: inline-block;
      width: 40px;
      height: 40px;
      background-image: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%20fill%3D%22%231B284F%22%2F%3E%0A%3Cpath%20d%3D%22M17.4793%2021.3391C16.6818%2020.4656%2016.0316%2019.4284%2015.7525%2018.273C14.0318%2011.2249%2023.1505%207.03665%2027.5396%2012.5077C31.2907%2017.1842%2027.3157%2024.0534%2021.2887%2023.2012C20.5097%2023.092%2019.7582%2022.8433%2019.0681%2022.4794L18.2676%2023.6288C18.3289%2023.8593%2018.4516%2024.0352%2018.3811%2024.296L14.6514%2029.6791C13.9245%2030.4221%2013.0166%2029.7125%2012.4124%2029.1848C11.7498%2028.6025%2011.9922%2028.1627%2012.397%2027.538C13.4521%2025.9185%2014.7127%2024.3748%2015.7832%2022.7584C15.9979%2022.4581%2016.3015%2022.4248%2016.645%2022.5158L17.4793%2021.3391ZM17.8627%2019.1979C19.6846%2022.349%2024.3221%2022.5309%2026.4293%2019.571C28.6775%2016.4109%2026.6624%2011.9376%2022.7487%2011.6161C18.5835%2011.2734%2015.774%2015.5859%2017.8627%2019.1979Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain; }
    body#buy .propertyDetailSec .imgs li a img {
      border: 1px solid #D9D9D9;
      aspect-ratio: 4 / 3;
      width: 100%;
      height: 100%;
      object-fit: contain; }
body#buy .propertyDetailSec .contactSec {
  width: 100vw;
  margin: 0 calc((100vw - 100%) / -2); }
  body#buy .propertyDetailSec .contactSec h3.ttl {
    text-align: center;
    color: #FFF;
    font-weight: 700;
    margin: 0 0 40px; }
  body#buy .propertyDetailSec .contactSec .propertyCta {
    background: #FFFFFF;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    border-radius: 20px;
    max-width: 1120px;
    margin: 0 auto; }
    body#buy .propertyDetailSec .contactSec .propertyCta li.tel {
      position: relative; }
      body#buy .propertyDetailSec .contactSec .propertyCta li.tel a {
        display: block;
        position: relative;
        padding-left: 100px;
        text-align: left;
        color: #000; }
        body#buy .propertyDetailSec .contactSec .propertyCta li.tel a::before {
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          content: '';
          width: 87px;
          height: 50px;
          background-image: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2287%22%20height%3D%2250%22%20viewBox%3D%220%200%2087%2050%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_418_8013)%22%3E%0A%3Cpath%20d%3D%22M75.3288%200H0.00146484V49.3797H75.3288V0Z%22%20fill%3D%22%2300A73C%22%2F%3E%0A%3Cpath%20d%3D%22M77.5864%2045.2692C77.5864%2047.8757%2079.6948%2049.9998%2082.2897%2049.9998C84.8846%2049.9998%2086.9992%2047.8757%2086.9992%2045.2692C86.9992%2042.6627%2084.8846%2040.5449%2082.2897%2040.5449C79.6948%2040.5449%2077.5864%2042.6627%2077.5864%2045.2692ZM78.1291%2045.2692C78.1291%2042.9635%2079.9942%2041.0838%2082.2897%2041.0838C84.5852%2041.0838%2086.4503%2042.9635%2086.4503%2045.2692C86.4503%2047.575%2084.5852%2049.4484%2082.2897%2049.4484C79.9942%2049.4484%2078.1291%2047.5687%2078.1291%2045.2692Z%22%20fill%3D%22%23231815%22%2F%3E%0A%3Cpath%20d%3D%22M84.579%2048.3269H83.6745L81.8469%2045.4886H81.0422V48.3269H80.3186V42.0801H82.0777C82.6702%2042.0801%2083.1318%2042.2242%2083.4749%2042.5124C83.818%2042.8006%2083.9864%2043.2016%2083.9864%2043.7154C83.9864%2044.0976%2083.8617%2044.436%2083.6121%2044.7305C83.3626%2045.0249%2083.0133%2045.2254%2082.5767%2045.332L84.5665%2048.3269M81.0484%2044.862H81.9591C82.3396%2044.862%2082.6515%2044.7555%2082.8948%2044.5487C83.1318%2044.3357%2083.2504%2044.0788%2083.2504%2043.7593C83.2504%2043.0638%2082.8262%2042.7129%2081.9779%2042.7129H81.0484V44.8558V44.862Z%22%20fill%3D%22%23231815%22%2F%3E%0A%3Cpath%20d%3D%22M18.9264%2038.3019C14.797%2038.3019%209.66329%2035.1315%209.66329%2028.5839C9.66329%2023.5024%2014.6722%2019.4486%2018.9264%2017.0175C23.1805%2019.4423%2028.1832%2023.5024%2028.1832%2028.5839C28.1832%2035.1315%2023.0558%2038.3019%2018.9264%2038.3019ZM47.3083%2028.4774C47.3083%2023.3959%2052.3172%2019.3358%2056.5651%2016.911C60.8193%2019.3358%2065.822%2023.3959%2065.822%2028.4774C65.822%2035.0187%2060.6945%2038.1954%2056.5651%2038.1954C52.4357%2038.1954%2047.3083%2035.025%2047.3083%2028.4774ZM75.3159%207.68164C67.6621%207.68164%2060.8817%209.59893%2056.2719%2012.0049C51.6685%209.59893%2045.3059%207.68164%2037.6522%207.68164C29.9984%207.68164%2023.6359%209.59893%2019.0324%2012.0049C14.4289%209.59893%207.65473%207.68164%200.000976562%207.68164V12.0049C4.52336%2012.0049%2010.0126%2012.8571%2014.3229%2014.7368C9.66953%2017.8633%205.06605%2022.6002%205.06605%2028.5776C5.06605%2036.4786%2011.7654%2042.5187%2019.0324%2042.5187C26.2994%2042.5187%2032.6744%2036.4786%2032.6744%2028.5776C32.6744%2022.6002%2028.3953%2017.8633%2023.7419%2014.7368C28.0522%2012.8571%2033.1298%2012.0049%2037.6584%2012.0049C42.187%2012.0049%2047.2646%2012.8571%2051.5687%2014.7368C46.9153%2017.8633%2042.6362%2022.6002%2042.6362%2028.5776C42.6362%2036.4786%2049.0112%2042.5187%2056.2782%2042.5187C63.5452%2042.5187%2070.1385%2036.4786%2070.1385%2028.5776C70.1385%2022.6002%2065.6411%2017.8633%2060.9815%2014.7368C65.2918%2012.8571%2070.7935%2012.0049%2075.3159%2012.0049V7.68164Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_418_8013%22%3E%0A%3Crect%20width%3D%2287%22%20height%3D%2250%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A"); }
        body#buy .propertyDetailSec .contactSec .propertyCta li.tel a span {
          display: block;
          font-weight: 700;
          line-height: 1;
          color: #1B284F; }
    body#buy .propertyDetailSec .contactSec .propertyCta li.form p {
      position: relative;
      padding: 5px;
      border-radius: 100px;
      overflow: hidden;
      background: linear-gradient(90deg, #EF5B0D 0%, #FA9A1A 100%);
      width: 100%; }
      body#buy .propertyDetailSec .contactSec .propertyCta li.form p::before {
        position: absolute;
        top: 5px;
        left: 5px;
        display: block;
        content: '';
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        border-radius: 100px;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
      body#buy .propertyDetailSec .contactSec .propertyCta li.form p a {
        position: relative;
        display: flex;
        align-items: center;
        color: #FFF;
        border-radius: 100px;
        border: 3px solid rgba(255, 255, 255, 0.05);
        z-index: 1;
        height: 100%; }
        body#buy .propertyDetailSec .contactSec .propertyCta li.form p a::before {
          display: block;
          content: '';
          position: absolute;
          top: 50%;
          right: 7px;
          transform: translate(0, -50%);
          width: auto;
          height: 48px;
          max-height: calc(100% - 14px);
          aspect-ratio: 1 / 1;
          border-radius: 100px;
          background: rgba(255, 255, 255, 0.1);
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
        body#buy .propertyDetailSec .contactSec .propertyCta li.form p a::after {
          display: block;
          content: '';
          position: absolute;
          top: 50%;
          right: 7px;
          width: auto;
          height: 16px;
          aspect-ratio: 1 / 1;
          max-height: calc((100% - 14px) / 3);
          border-top: 1px solid #FFF;
          border-right: 1px solid #FFF;
          transform: translate(-100%, -50%) rotate(45deg); }
body#buy .propertyDetailSec + .contactSec {
  display: none; }
body#buy .update {
  text-align: right; }
@media screen and (min-width: 769px) {
  body#buy .searchTypeList > li {
    width: 20%; }
    body#buy .searchTypeList > li a {
      min-height: 200px;
      font-size: min(1.3125rem, 2.1vw); }
      body#buy .searchTypeList > li a::before {
        width: 100px;
        height: 100px; }
    body#buy .searchTypeList > li:nth-child(n+6) {
      width: 50%; }
      body#buy .searchTypeList > li:nth-child(n+6) a {
        min-height: 100px;
        font-size: min(1.75rem, 2.8vw); }
        body#buy .searchTypeList > li:nth-child(n+6) a::before {
          width: 60px;
          height: 60px; }
  body#buy .searchThemeList {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px 30px; }
    body#buy .searchThemeList li a {
      height: 120px;
      font-size: min(1.3125rem, 2.1vw); }
      body#buy .searchThemeList li a img {
        transition: opacity .25s; }
      body#buy .searchThemeList li a:hover img {
        opacity: .75; }
  body#buy #reineSearchChildSec {
    margin-bottom: 40px; }
    body#buy #reineSearchChildSec > .ttl {
      padding: 20px;
      font-size: 2rem; }
    body#buy #reineSearchChildSec .btn button {
      padding: 20px; }
    body#buy #reineSearchChildSec #otherReineSearchSec > li {
      width: 50%; }
      body#buy #reineSearchChildSec #otherReineSearchSec > li a {
        position: relative;
        min-height: 100px;
        font-size: min(1.75rem, 2.8vw);
        overflow: hidden; }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a::before {
          width: 60px;
          height: 60px; }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a::after {
          position: absolute;
          top: 50%;
          left: -100%;
          display: block;
          content: '';
          width: 200px;
          height: 500%;
          background-color: rgba(255, 255, 255, 0.25);
          filter: blur(10px);
          transform: translate(-100%, -50%) rotate(-45deg);
          transition: left 0s;
          z-index: 1; }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a:hover::after {
          left: 100%;
          transform: translate(100%, -50%) rotate(-45deg);
          transition: left .5s, transform .5s; }
    body#buy #reineSearchChildSec #areaSec,
    body#buy #reineSearchChildSec #rosenSec,
    body#buy #reineSearchChildSec .reineSearchDetailSec {
      margin: 0 20px;
      padding: 0 20px; }
      body#buy #reineSearchChildSec #areaSec.open,
      body#buy #reineSearchChildSec #rosenSec.open,
      body#buy #reineSearchChildSec .reineSearchDetailSec.open {
        margin: 20px;
        padding: 20px; }
      body#buy #reineSearchChildSec #areaSec > h3,
      body#buy #reineSearchChildSec #rosenSec > h3,
      body#buy #reineSearchChildSec .reineSearchDetailSec > h3 {
        padding: 20px 0;
        font-size: 1.25rem;
        color: #1B284F; }
      body#buy #reineSearchChildSec #areaSec section,
      body#buy #reineSearchChildSec #rosenSec section,
      body#buy #reineSearchChildSec .reineSearchDetailSec section {
        grid-template-columns: 200px 1fr; }
        body#buy #reineSearchChildSec #areaSec section > .ttl,
        body#buy #reineSearchChildSec #rosenSec section > .ttl,
        body#buy #reineSearchChildSec .reineSearchDetailSec section > .ttl {
          padding: 20px; }
        body#buy #reineSearchChildSec #areaSec section > .inner,
        body#buy #reineSearchChildSec #rosenSec section > .inner,
        body#buy #reineSearchChildSec .reineSearchDetailSec section > .inner {
          padding: 20px; }
      body#buy #reineSearchChildSec #areaSec .searchCondList > li dl,
      body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl,
      body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl {
        grid-template-columns: 200px 1fr; }
        body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dt,
        body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dt,
        body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dt {
          padding: 20px; }
        body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd,
        body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd,
        body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd {
          padding: 20px; }
    body#buy #reineSearchChildSec .reineSearchBtn button {
      position: relative;
      overflow: hidden;
      width: 100%;
      padding: 20px;
      font-size: 1.5rem; }
      body#buy #reineSearchChildSec .reineSearchBtn button::after {
        margin-left: 20px; }
      body#buy #reineSearchChildSec .reineSearchBtn button::before {
        position: absolute;
        top: 50%;
        left: -100%;
        display: block;
        content: '';
        width: 200px;
        height: 500%;
        background-color: rgba(255, 255, 255, 0.25);
        filter: blur(10px);
        transform: translate(-100%, -50%) rotate(-45deg);
        transition: left 0s;
        z-index: 1; }
      body#buy #reineSearchChildSec .reineSearchBtn button:hover::before {
        left: 100%;
        transform: translate(100%, -50%) rotate(-45deg);
        transition: left .5s, transform .5s; }
  body#buy .propertySearchCondSec {
    margin-bottom: 40px; }
    body#buy .propertySearchCondSec .ttl {
      padding: 20px;
      font-size: 2rem; }
    body#buy .propertySearchCondSec dl {
      padding: 40px 20px;
      font-size: 1.3125rem; }
    body#buy .propertySearchCondSec .btn button {
      padding: 20px;
      font-size: 1.25rem; }
  body#buy .buyDispOption dl {
    padding: 20px;
    margin-bottom: 40px; }
    body#buy .buyDispOption dl dt:nth-child(n+2) {
      margin-left: 20px; }
  body#buy .propertyOutlineSec + .buyDispOption {
    margin-top: 40px; }
  body#buy .propertyOutlineSec .ttl,
  body#buy .propertyDetailSec .ttl {
    margin: 20px 0 0; }
  body#buy .propertyOutlineSec {
    padding-top: 40px;
    padding-bottom: 40px; }
    body#buy .propertyOutlineSec:first-of-type {
      margin-top: 40px; }
    body#buy .propertyOutlineSec > a {
      display: grid;
      padding: 20px;
      grid-gap: 20px 40px;
      grid-template-columns: 400px 1fr;
      grid-template-areas: "img ttl" "img info" "img num" "btn btn";
      transition: box-shadow .25s; }
      body#buy .propertyOutlineSec > a img {
        transition: opacity .25s; }
      body#buy .propertyOutlineSec > a:hover {
        color: inherit;
        box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.075); }
        body#buy .propertyOutlineSec > a:hover img {
          opacity: .5; }
        body#buy .propertyOutlineSec > a:hover .btn::before {
          left: 100%;
          transform: translate(100%, -50%) rotate(-45deg);
          transition: left .5s, transform .5s; }
    body#buy .propertyOutlineSec .propertyBasicInfo dl:nth-child(n+2) {
      grid-template-columns: 110px 1fr 110px 1fr; }
      body#buy .propertyOutlineSec .propertyBasicInfo dl:nth-child(n+2) dt:nth-of-type(2n) {
        margin-left: 20px; }
    body#buy .propertyOutlineSec .btn {
      position: relative;
      overflow: hidden;
      width: calc(100% + 40px);
      margin: 20px -20px -20px;
      padding: 20px;
      font-size: 1.5rem; }
      body#buy .propertyOutlineSec .btn::after {
        margin-left: 20px; }
      body#buy .propertyOutlineSec .btn::before {
        position: absolute;
        top: 50%;
        left: -100%;
        display: block;
        content: '';
        width: 200px;
        height: 500%;
        background-color: rgba(255, 255, 255, 0.25);
        filter: blur(10px);
        transform: translate(-100%, -50%) rotate(-45deg);
        transition: left 0s;
        z-index: 1; }
  body#buy .propertyDetailSec {
    padding: 150px 40px 0; }
    body#buy .propertyDetailSec h2.ttl {
      margin-bottom: 20px; }
    body#buy .propertyDetailSec h3.ttl {
      font-size: 1.75rem; }
    body#buy .propertyDetailSec .propertyBasicInfo dl:first-child {
      grid-template-columns: 110px 1fr 110px 1fr; }
      body#buy .propertyDetailSec .propertyBasicInfo dl:first-child dt:nth-of-type(2n) {
        margin-left: 20px; }
    body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+2) {
      grid-template-columns: 110px 1fr 110px 1fr 110px 1fr 110px 1fr; }
      body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+2) dt {
        margin-left: 20px; }
        body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+2) dt:nth-of-type(4n+1) {
          margin-left: 0; }
    body#buy .propertyDetailSec .propertyFeatures {
      margin: 40px 0;
      grid-gap: 10px; }
      body#buy .propertyDetailSec .propertyFeatures li {
        padding: 10px 15px; }
    body#buy .propertyDetailSec .propertyOsusume dt {
      padding: 20px;
      width: 200px;
      font-size: 1.5rem; }
    body#buy .propertyDetailSec .propertyOsusume dd {
      padding: 20px;
      font-size: 1.125rem; }
    body#buy .propertyDetailSec .imgs {
      margin: -5px 0 0 -5px; }
      body#buy .propertyDetailSec .imgs li {
        padding: 5px 0 0 5px; }
        body#buy .propertyDetailSec .imgs li:first-child {
          width: 60.1%; }
        body#buy .propertyDetailSec .imgs li:nth-child(n+2) {
          width: 19.95%; }
        body#buy .propertyDetailSec .imgs li:nth-child(n+8) {
          width: 16.6666%; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:first-child {
      grid-template-columns: 140px 1fr 140px 1fr; }
      body#buy .propertyDetailSec .propertyDetailInfo dl:first-child dt:nth-of-type(2n) {
        margin-left: 20px; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) {
      grid-template-columns: 140px 1fr 140px 1fr 140px 1fr 140px 1fr; }
      body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) dt {
        margin-left: 20px; }
        body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) dt:nth-of-type(4n+1) {
          margin-left: 0; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:last-child {
      grid-template-columns: 140px 1fr; }
    body#buy .propertyDetailSec .contactSec {
      margin-top: 150px;
      margin-bottom: 150px; }
      body#buy .propertyDetailSec .contactSec h3.ttl {
        font-size: 2.5rem;
        justify-content: center; }
      body#buy .propertyDetailSec .contactSec .propertyCta {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        min-height: 150px; }
        body#buy .propertyDetailSec .contactSec .propertyCta li {
          display: flex;
          justify-content: center;
          align-items: center;
          justify-content: center;
          padding: 20px; }
          body#buy .propertyDetailSec .contactSec .propertyCta li:nth-child(n+2) {
            border-left: 1px solid #D9D9D9; }
  @keyframes shake {
    0% {
      transform: rotate(-5deg); }
    25% {
      transform: rotate(5deg); }
    50% {
      transform: rotate(-5deg); }
    75% {
      transform: rotate(5deg); }
    100% {
      transform: rotate(0deg); } }
          body#buy .propertyDetailSec .contactSec .propertyCta li.tel a:hover::before {
            animation: shake 0.4s ease-in-out infinite; }
          body#buy .propertyDetailSec .contactSec .propertyCta li.tel a span {
            font-size: 3rem; }
          body#buy .propertyDetailSec .contactSec .propertyCta li.form:hover p::after {
            left: calc(100% + 200px);
            transition: left 1s; }
          body#buy .propertyDetailSec .contactSec .propertyCta li.form p::after {
            position: absolute;
            top: 50%;
            left: -200px;
            display: block;
            content: '';
            width: 100px;
            height: 400%;
            background-color: rgba(255, 255, 255, 0.35);
            filter: blur(10px);
            transform: translate(0, -50%) rotate(-45deg);
            transition: left 0s; }
          body#buy .propertyDetailSec .contactSec .propertyCta li.form p a {
            font-size: 1.3125rem;
            padding: 7px 5.5vw 7px 20px;
            min-height: 60px; }
    body#buy .propertyDetailSec .update {
      margin-top: 40px; } }
@media screen and (max-width: 1023px) {
  body#buy .searchThemeList li a {
    height: 80px; }
    body#buy .searchThemeList li a img {
      margin-right: 10px; }
  body#buy .propertyOutlineSec > a,
  body#buy .propertyDetailSec > a {
    grid-template-columns: 33.3333% 1fr; }
    body#buy .propertyOutlineSec > a .propertyBasicInfo dl:nth-child(n+2),
    body#buy .propertyDetailSec > a .propertyBasicInfo dl:nth-child(n+2) {
      grid-template-columns: 110px 1fr; }
      body#buy .propertyOutlineSec > a .propertyBasicInfo dl:nth-child(n+2) dt:nth-of-type(2n),
      body#buy .propertyDetailSec > a .propertyBasicInfo dl:nth-child(n+2) dt:nth-of-type(2n) {
        margin-left: 0; }
  body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+2) {
    grid-template-columns: 110px 1fr 110px 1fr; }
    body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+2) dt {
      margin-left: 0 !important; }
      body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+2) dt:nth-of-type(2n) {
        margin-left: 20px !important; }
  body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) {
    grid-template-columns: 140px 1fr 140px 1fr; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) dt {
      margin-left: 0 !important; }
      body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) dt:nth-of-type(2n) {
        margin-left: 20px !important; }
  body#buy .propertyDetailSec .contactSec .propertyCta {
    grid-template-columns: repeat(1, 1fr); }
    body#buy .propertyDetailSec .contactSec .propertyCta li:nth-child(n+2) {
      border-left: none;
      border-top: 1px solid #D9D9D9; }
    body#buy .propertyDetailSec .contactSec .propertyCta li.form p {
      max-width: 440px; } }
@media screen and (max-width: 768px) {
  body#buy .searchTypeList > li {
    width: 50%; }
    body#buy .searchTypeList > li a {
      min-height: 100px;
      font-size: min(1.125rem, 3vw); }
      body#buy .searchTypeList > li a::before {
        width: 50px;
        height: 50px; }
    body#buy .searchTypeList > li:nth-child(n+3) {
      width: 33.3333%; }
    body#buy .searchTypeList > li:nth-child(n+6) {
      width: 50%; }
      body#buy .searchTypeList > li:nth-child(n+6) a {
        min-height: 80px;
        font-size: min(1.25rem, 4vw); }
        body#buy .searchTypeList > li:nth-child(n+6) a::before {
          width: 30px;
          height: 30px; }
  body#buy .searchThemeList {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 20px; }
    body#buy .searchThemeList li a {
      height: 60px;
      font-size: min(1.125rem, 3vw);
      padding-right: 40px; }
      body#buy .searchThemeList li a::after {
        width: 32px;
        height: 32px; }
  body#buy #reineSearchChildSec {
    margin-bottom: 20px; }
    body#buy #reineSearchChildSec > .ttl {
      padding: 20px;
      font-size: 1.125rem; }
      body#buy #reineSearchChildSec > .ttl::before {
        width: 17px;
        height: 20px; }
    body#buy #reineSearchChildSec .btn button {
      padding: 10px; }
    body#buy #reineSearchChildSec #otherReineSearchSec > li {
      width: 50%; }
      body#buy #reineSearchChildSec #otherReineSearchSec > li a {
        min-height: 80px;
        font-size: min(1.25rem, 4vw); }
        body#buy #reineSearchChildSec #otherReineSearchSec > li a::before {
          width: 30px;
          height: 30px; }
    body#buy #reineSearchChildSec #areaSec,
    body#buy #reineSearchChildSec #rosenSec,
    body#buy #reineSearchChildSec .reineSearchDetailSec {
      margin: 0 10px;
      padding: 0 10px; }
      body#buy #reineSearchChildSec #areaSec.open,
      body#buy #reineSearchChildSec #rosenSec.open,
      body#buy #reineSearchChildSec .reineSearchDetailSec.open {
        margin: 10px;
        padding: 10px; }
      body#buy #reineSearchChildSec #areaSec > h3,
      body#buy #reineSearchChildSec #rosenSec > h3,
      body#buy #reineSearchChildSec .reineSearchDetailSec > h3 {
        padding: 10px 0;
        font-size: 1.25rem;
        color: #1B284F; }
      body#buy #reineSearchChildSec #areaSec section::before,
      body#buy #reineSearchChildSec #rosenSec section::before,
      body#buy #reineSearchChildSec .reineSearchDetailSec section::before {
        display: none; }
      body#buy #reineSearchChildSec #areaSec section > .ttl,
      body#buy #reineSearchChildSec #rosenSec section > .ttl,
      body#buy #reineSearchChildSec .reineSearchDetailSec section > .ttl {
        padding: 10px; }
      body#buy #reineSearchChildSec #areaSec section > .inner,
      body#buy #reineSearchChildSec #rosenSec section > .inner,
      body#buy #reineSearchChildSec .reineSearchDetailSec section > .inner {
        padding: 0 0 20px; }
      body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dt,
      body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dt,
      body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dt {
        padding: 10px; }
      body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd,
      body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd,
      body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd {
        padding: 0 0 20px; }
        body#buy #reineSearchChildSec #areaSec .searchCondList > li dl dd ul:not(.check),
        body#buy #reineSearchChildSec #rosenSec .searchCondList > li dl dd ul:not(.check),
        body#buy #reineSearchChildSec .reineSearchDetailSec .searchCondList > li dl dd ul:not(.check) {
          justify-content: center; }
    body#buy #reineSearchChildSec .reineSearchBtn button {
      position: relative;
      overflow: hidden;
      width: 100%;
      padding: 20px;
      font-size: 1.125rem; }
      body#buy #reineSearchChildSec .reineSearchBtn button::after {
        margin-left: 20px; }
      body#buy #reineSearchChildSec .reineSearchBtn button::before {
        position: absolute;
        top: 50%;
        left: -100%;
        display: block;
        content: '';
        width: 200px;
        height: 500%;
        background-color: rgba(255, 255, 255, 0.25);
        filter: blur(10px);
        transform: translate(-100%, -50%) rotate(-45deg);
        transition: left 0s;
        z-index: 1; }
      body#buy #reineSearchChildSec .reineSearchBtn button:hover::before {
        left: 100%;
        transform: translate(100%, -50%) rotate(-45deg);
        transition: left .5s, transform .5s; }
  body#buy .propertySearchCondSec {
    margin-bottom: 20px; }
    body#buy .propertySearchCondSec .ttl {
      padding: 10px;
      font-size: 1.125rem; }
      body#buy .propertySearchCondSec .ttl::before {
        width: 17px;
        height: 20px; }
    body#buy .propertySearchCondSec dl {
      padding: 20px 10px; }
    body#buy .propertySearchCondSec .btn button {
      padding: 10px;
      font-size: 1.125rem; }
  body#buy .buyDispOption dl {
    flex-wrap: wrap;
    padding: 10px;
    margin-bottom: 20px; }
    body#buy .buyDispOption dl dt {
      width: 5em; }
      body#buy .buyDispOption dl dt:nth-child(n+2) {
        margin-top: 10px; }
    body#buy .buyDispOption dl dd {
      width: calc(100% - 5em); }
      body#buy .buyDispOption dl dd:nth-child(n+2) {
        margin-top: 10px; }
    body#buy .buyDispOption dl select {
      width: 100%; }
  body#buy .propertyOutlineSec + .buyDispOption {
    margin-top: 20px; }
  body#buy .propertyOutlineSec,
  body#buy .propertyDetailSec {
    padding-top: 20px;
    padding-bottom: 20px; }
    body#buy .propertyOutlineSec:first-of-type,
    body#buy .propertyDetailSec:first-of-type {
      margin-top: 20px; }
    body#buy .propertyOutlineSec > a,
    body#buy .propertyDetailSec > a {
      display: block;
      padding: 10px;
      grid-gap: 10px 20px;
      grid-template-columns: 1fr; }
      body#buy .propertyOutlineSec > a .ttl,
      body#buy .propertyDetailSec > a .ttl {
        padding: 10px 0 20px; }
      body#buy .propertyOutlineSec > a .propertyBasicInfo,
      body#buy .propertyDetailSec > a .propertyBasicInfo {
        margin: 10px 0; }
  body#buy .propertyOutlineSec > a .ttl[data-type] {
    flex-direction: column; }
    body#buy .propertyOutlineSec > a .ttl[data-type]::before {
      margin-bottom: 5px; }
  body#buy .propertyOutlineSec > a .btn {
    position: relative;
    overflow: hidden;
    width: calc(100% + 20px);
    margin: 10px -10px -10px;
    padding: 10px;
    font-size: 1.125rem; }
    body#buy .propertyOutlineSec > a .btn::after {
      margin-left: 10px; }
  body#buy .propertyDetailSec {
    padding: 80px 20px 0; }
    body#buy .propertyDetailSec h2.ttl {
      margin-bottom: 20px;
      flex-direction: column; }
      body#buy .propertyDetailSec h2.ttl span {
        margin-bottom: 5px; }
    body#buy .propertyDetailSec h3.ttl {
      font-size: 1.25rem; }
    body#buy .propertyDetailSec .propertyBasicInfo dl:first-child {
      grid-template-columns: 110px 1fr; }
    body#buy .propertyDetailSec .propertyFeatures {
      margin: 20px 0;
      grid-gap: 5px; }
      body#buy .propertyDetailSec .propertyFeatures li {
        font-size: .75rem;
        padding: 5px 10px; }
    body#buy .propertyDetailSec .propertyOsusume {
      flex-direction: column; }
      body#buy .propertyDetailSec .propertyOsusume dt {
        padding: 10px;
        width: 100%;
        font-size: 1.25rem; }
        body#buy .propertyDetailSec .propertyOsusume dt br {
          display: none; }
      body#buy .propertyDetailSec .propertyOsusume dd {
        padding: 10px;
        font-size: 1rem; }
    body#buy .propertyDetailSec .imgs {
      margin: -5px 0 0 -5px; }
      body#buy .propertyDetailSec .imgs li {
        padding: 5px 0 0 5px; }
        body#buy .propertyDetailSec .imgs li:first-child {
          width: 49.975%; }
        body#buy .propertyDetailSec .imgs li:nth-child(n+2) {
          width: 25.0125%; }
        body#buy .propertyDetailSec .imgs li:nth-child(n+6) {
          width: 25%; }
        body#buy .propertyDetailSec .imgs li a::after {
          width: 20px;
          height: 20px; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:first-child {
      grid-template-columns: 140px 1fr; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) {
      grid-template-columns: 140px 1fr 140px 1fr; }
      body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(2) dt:nth-of-type(2n) {
        margin-left: 20px; }
    body#buy .propertyDetailSec .propertyDetailInfo dl:last-child {
      grid-template-columns: 140px 1fr; }
    body#buy .propertyDetailSec .contactSec {
      margin-top: 80px;
      margin-bottom: 80px; }
      body#buy .propertyDetailSec .contactSec h3.ttl {
        font-size: 1.25rem;
        justify-content: center; }
      body#buy .propertyDetailSec .contactSec .propertyCta {
        max-width: 480px; }
        body#buy .propertyDetailSec .contactSec .propertyCta li {
          display: flex;
          justify-content: center;
          align-items: center;
          justify-content: center;
          padding: 20px 10px; }
          body#buy .propertyDetailSec .contactSec .propertyCta li.tel a {
            font-size: .75rem;
            padding-left: 90px; }
            body#buy .propertyDetailSec .contactSec .propertyCta li.tel a span {
              font-size: 2rem; }
          body#buy .propertyDetailSec .contactSec .propertyCta li.form p {
            max-width: 320px; }
            body#buy .propertyDetailSec .contactSec .propertyCta li.form p a {
              font-size: 1.125rem;
              padding: 7px 5.5vw 7px 20px;
              min-height: 60px; }
    body#buy .propertyDetailSec .update {
      margin-top: 20px; } }
@media screen and (max-width: 480px) {
  body#buy .propertyDetailSec .imgs li:first-child {
    width: 100%; }
  body#buy .propertyDetailSec .imgs li:nth-child(n+2) {
    width: 50%; }
  body#buy .propertyDetailSec .imgs li:nth-child(n+6) {
    width: 25%; }
  body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+1),
  body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(n+1) {
    grid-template-columns: 140px 1fr !important; }
    body#buy .propertyDetailSec .propertyBasicInfo dl:nth-child(n+1) dt:nth-of-type(n+1),
    body#buy .propertyDetailSec .propertyDetailInfo dl:nth-child(n+1) dt:nth-of-type(n+1) {
      margin-left: 0 !important; } }

#telCta {
  background: #FFFFFF;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  max-width: 960px;
  margin: 0 auto; }
  #telCta li.tel {
    position: relative; }
    #telCta li.tel a {
      display: block;
      position: relative;
      text-align: left;
      color: #000; }
      #telCta li.tel a::before {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        content: '';
        background-image: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2287%22%20height%3D%2250%22%20viewBox%3D%220%200%2087%2050%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_418_8013)%22%3E%0A%3Cpath%20d%3D%22M75.3288%200H0.00146484V49.3797H75.3288V0Z%22%20fill%3D%22%2300A73C%22%2F%3E%0A%3Cpath%20d%3D%22M77.5864%2045.2692C77.5864%2047.8757%2079.6948%2049.9998%2082.2897%2049.9998C84.8846%2049.9998%2086.9992%2047.8757%2086.9992%2045.2692C86.9992%2042.6627%2084.8846%2040.5449%2082.2897%2040.5449C79.6948%2040.5449%2077.5864%2042.6627%2077.5864%2045.2692ZM78.1291%2045.2692C78.1291%2042.9635%2079.9942%2041.0838%2082.2897%2041.0838C84.5852%2041.0838%2086.4503%2042.9635%2086.4503%2045.2692C86.4503%2047.575%2084.5852%2049.4484%2082.2897%2049.4484C79.9942%2049.4484%2078.1291%2047.5687%2078.1291%2045.2692Z%22%20fill%3D%22%23231815%22%2F%3E%0A%3Cpath%20d%3D%22M84.579%2048.3269H83.6745L81.8469%2045.4886H81.0422V48.3269H80.3186V42.0801H82.0777C82.6702%2042.0801%2083.1318%2042.2242%2083.4749%2042.5124C83.818%2042.8006%2083.9864%2043.2016%2083.9864%2043.7154C83.9864%2044.0976%2083.8617%2044.436%2083.6121%2044.7305C83.3626%2045.0249%2083.0133%2045.2254%2082.5767%2045.332L84.5665%2048.3269M81.0484%2044.862H81.9591C82.3396%2044.862%2082.6515%2044.7555%2082.8948%2044.5487C83.1318%2044.3357%2083.2504%2044.0788%2083.2504%2043.7593C83.2504%2043.0638%2082.8262%2042.7129%2081.9779%2042.7129H81.0484V44.8558V44.862Z%22%20fill%3D%22%23231815%22%2F%3E%0A%3Cpath%20d%3D%22M18.9264%2038.3019C14.797%2038.3019%209.66329%2035.1315%209.66329%2028.5839C9.66329%2023.5024%2014.6722%2019.4486%2018.9264%2017.0175C23.1805%2019.4423%2028.1832%2023.5024%2028.1832%2028.5839C28.1832%2035.1315%2023.0558%2038.3019%2018.9264%2038.3019ZM47.3083%2028.4774C47.3083%2023.3959%2052.3172%2019.3358%2056.5651%2016.911C60.8193%2019.3358%2065.822%2023.3959%2065.822%2028.4774C65.822%2035.0187%2060.6945%2038.1954%2056.5651%2038.1954C52.4357%2038.1954%2047.3083%2035.025%2047.3083%2028.4774ZM75.3159%207.68164C67.6621%207.68164%2060.8817%209.59893%2056.2719%2012.0049C51.6685%209.59893%2045.3059%207.68164%2037.6522%207.68164C29.9984%207.68164%2023.6359%209.59893%2019.0324%2012.0049C14.4289%209.59893%207.65473%207.68164%200.000976562%207.68164V12.0049C4.52336%2012.0049%2010.0126%2012.8571%2014.3229%2014.7368C9.66953%2017.8633%205.06605%2022.6002%205.06605%2028.5776C5.06605%2036.4786%2011.7654%2042.5187%2019.0324%2042.5187C26.2994%2042.5187%2032.6744%2036.4786%2032.6744%2028.5776C32.6744%2022.6002%2028.3953%2017.8633%2023.7419%2014.7368C28.0522%2012.8571%2033.1298%2012.0049%2037.6584%2012.0049C42.187%2012.0049%2047.2646%2012.8571%2051.5687%2014.7368C46.9153%2017.8633%2042.6362%2022.6002%2042.6362%2028.5776C42.6362%2036.4786%2049.0112%2042.5187%2056.2782%2042.5187C63.5452%2042.5187%2070.1385%2036.4786%2070.1385%2028.5776C70.1385%2022.6002%2065.6411%2017.8633%2060.9815%2014.7368C65.2918%2012.8571%2070.7935%2012.0049%2075.3159%2012.0049V7.68164Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_418_8013%22%3E%0A%3Crect%20width%3D%2287%22%20height%3D%2250%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A");
        background-size: contain;
        background-repeat: no-repeat; }
      #telCta li.tel a span {
        display: block;
        font-weight: 700;
        line-height: 1;
        color: #1B284F; }

#inquirySec {
  width: 100vw;
  margin: 0 calc((100vw - 100%) / -2);
  color: #FFF;
  text-align: center;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(180px, 11.1111vw), transparent min(180px, 11.1111vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(270px, 16.6666vw), transparent min(270px, 16.6666vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(360px, 22.2222vw), transparent min(360px, 22.2222vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(450px, 27.7777vw), transparent min(450px, 27.7777vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(540px, 33.3333vw), transparent min(540px, 33.3333vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(630px, 38.8888vw), transparent min(630px, 38.8888vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(720px, 44.4444vw), transparent min(720px, 44.4444vw)), radial-gradient(circle at center, rgba(255, 255, 255, 0.02) min(810px, 50vw), transparent min(810px, 50vw));
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #1B284F; }
  #inquirySec > .ttl {
    text-align: center !important;
    color: #FFF !important;
    font-weight: 700 !important;
    margin: 0 0 40px !important; }
  #inquirySec form {
    background-color: #FFF;
    color: #000;
    max-width: 960px;
    margin: 0 auto;
    border-radius: 20px; }
    #inquirySec form table tbody tr th, #inquirySec form table tbody tr td {
      text-align: left;
      vertical-align: top; }
    #inquirySec form table tbody tr th[data-req]::before {
      display: inline-block;
      padding: 5px 10px;
      margin-right: 10px;
      color: #FFF;
      font-weight: 700; }
    #inquirySec form table tbody tr th[data-req][data-req="1"]::before {
      content: '必須';
      background-color: #EF5B0D; }
    #inquirySec form table tbody tr th[data-req][data-req="0"]::before {
      content: '任意';
      background-color: #CCCCCC; }
    #inquirySec form table tbody tr td input {
      background-color: #F3F4F6;
      font-size: 1rem;
      padding: 10px 20px;
      border: none;
      border-radius: 100px;
      line-height: 40px;
      width: 100%; }
      #inquirySec form table tbody tr td input[type="text"] {
        max-width: 340px; }
      #inquirySec form table tbody tr td input[type="email"] {
        max-width: 680px; }
      #inquirySec form table tbody tr td input[type="tel"] {
        max-width: 510px; }
      #inquirySec form table tbody tr td input[name="constY"], #inquirySec form table tbody tr td input[name="constM"] {
        width: 8em;
        max-width: calc((100% - 4em) / 2);
        margin: 0 .5em 0 0; }
      #inquirySec form table tbody tr td input[name="place"] {
        width: 10em;
        margin: 0 .5em; }
      #inquirySec form table tbody tr td input[name="minutes"] {
        width: 5em;
        margin: 0 .5em; }
      #inquirySec form table tbody tr td input[name="land"], #inquirySec form table tbody tr td input[name="building"] {
        max-width: calc(100% - 1.5em);
        margin-right: .5em; }
    #inquirySec form table tbody tr td select {
      background-color: #F3F4F6;
      font-size: 1rem;
      padding: 10px 20px;
      border: none;
      border-radius: 100px;
      height: 60px; }
    #inquirySec form table tbody tr td ul li:nth-child(n+2) {
      margin-top: 5px; }
    #inquirySec form table tbody tr td ul li input {
      width: 20px;
      height: 20px;
      border: 1px solid #D9D9D9;
      margin-right: 5px;
      outline-color: #D9D9D9; }
    #inquirySec form table tbody tr td .wpcf7-checkbox .wpcf7-list-item {
      padding-left: 25px;
      text-indent: -25px; }
    #inquirySec form table tbody tr td .wpcf7-list-item {
      list-style: none;
      display: list-item; }
      #inquirySec form table tbody tr td .wpcf7-list-item:nth-child(n+2) {
        margin-top: 5px; }
      #inquirySec form table tbody tr td .wpcf7-list-item input {
        width: 20px;
        height: 20px;
        border: 1px solid #D9D9D9;
        margin-right: 5px;
        outline-color: #D9D9D9; }
    #inquirySec form table tbody tr td textarea {
      background-color: #F3F4F6;
      font-size: 1rem;
      padding: 20px;
      border: none;
      border-radius: 20px;
      width: 100%;
      resize: none; }
    #inquirySec form a {
      text-decoration: underline; }
    #inquirySec form .btn {
      position: relative;
      padding: 5px;
      border-radius: 100px;
      overflow: hidden;
      background: linear-gradient(90deg, #1B284F 0%, #3E5CB5 100%);
      width: 100%;
      max-width: 360px;
      margin: 0 auto; }
      #inquirySec form .btn::before {
        position: absolute;
        top: 5px;
        left: 5px;
        display: block;
        content: '';
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        border-radius: 100px;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
      #inquirySec form .btn input,
      #inquirySec form .btn button {
        position: relative;
        display: flex;
        align-items: center;
        color: #FFF;
        border-radius: 100px;
        border: 3px solid rgba(255, 255, 255, 0.05);
        z-index: 1;
        width: 100%;
        height: 100%;
        background: none;
        border: none;
        cursor: pointer;
        font-weight: 700; }
        #inquirySec form .btn input::before,
        #inquirySec form .btn button::before {
          display: block;
          content: '';
          position: absolute;
          top: 50%;
          right: 7px;
          transform: translate(0, -50%);
          width: auto;
          height: 48px;
          max-height: calc(100% - 14px);
          aspect-ratio: 1 / 1;
          border-radius: 100px;
          background: rgba(255, 255, 255, 0.1);
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
        #inquirySec form .btn input::after,
        #inquirySec form .btn button::after {
          display: block;
          content: '';
          position: absolute;
          top: 50%;
          right: 7px;
          width: auto;
          height: 16px;
          aspect-ratio: 1 / 1;
          max-height: calc((100% - 14px) / 3);
          border-top: 1px solid #FFF;
          border-right: 1px solid #FFF;
          transform: translate(-100%, -50%) rotate(45deg); }
      #inquirySec form .btn .wpcf7-spinner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
        margin: 0;
        z-index: 1; }
        #inquirySec form .btn .wpcf7-spinner::before {
          top: 50%;
          left: 50%;
          transform-origin: 0; }

@media screen and (min-width: 769px) {
  #telCta {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    min-height: 150px; }
    #telCta li {
      display: flex;
      justify-content: center;
      align-items: center;
      justify-content: center;
      padding: 20px; }
      #telCta li:nth-child(n+2) {
        border-left: 1px solid #D9D9D9; }
  @keyframes shake {
    0% {
      transform: rotate(-5deg); }
    25% {
      transform: rotate(5deg); }
    50% {
      transform: rotate(-5deg); }
    75% {
      transform: rotate(5deg); }
    100% {
      transform: rotate(0deg); } }
      #telCta li.tel a {
        padding-left: 100px; }
        #telCta li.tel a::before {
          width: 87px;
          height: 50px; }
        #telCta li.tel a:hover::before {
          animation: shake 0.4s ease-in-out infinite; }
        #telCta li.tel a span {
          font-size: 3rem; }

  #inquirySec {
    margin-top: 150px;
    padding: 150px 40px 100px; }
    #inquirySec > .ttl {
      font-size: 2.5rem !important;
      justify-content: center !important; }
      #inquirySec > .ttl:nth-of-type(n+2) {
        margin-top: 150px !important; }
    #inquirySec form {
      padding: 10px 20px 40px; }
      #inquirySec form table {
        margin-bottom: 40px; }
        #inquirySec form table tbody tr th, #inquirySec form table tbody tr td {
          border-bottom: 1px solid #D9D9D9; }
        #inquirySec form table tbody tr th {
          position: relative;
          white-space: nowrap;
          padding: 20px 40px 20px 0; }
          #inquirySec form table tbody tr th::after {
            position: absolute;
            top: 10px;
            right: 20px;
            width: 1px;
            height: calc(100% - 20px);
            content: '';
            background-color: #D9D9D9; }
        #inquirySec form table tbody tr td {
          width: 100%;
          padding: 10px 0; }
      #inquirySec form .btn {
        margin-top: 40px; }
        #inquirySec form .btn:hover::after {
          left: calc(100% + 200px);
          transition: left 1s; }
        #inquirySec form .btn::after {
          position: absolute;
          top: 50%;
          left: -200px;
          display: block;
          content: '';
          width: 100px;
          height: 400%;
          background-color: rgba(255, 255, 255, 0.35);
          filter: blur(10px);
          transform: translate(0, -50%) rotate(-45deg);
          transition: left 0s; }
        #inquirySec form .btn input {
          font-size: 1.3125rem;
          padding: 7px;
          min-height: 60px; }
        #inquirySec form .btn button {
          font-size: 1.3125rem;
          padding: 7px 5.5vw 7px 20px;
          min-height: 60px; } }
@media screen and (max-width: 768px) {
  #telCta {
    max-width: 480px; }
    #telCta li {
      display: flex;
      justify-content: center;
      align-items: center;
      justify-content: center;
      padding: 20px 10px; }
      #telCta li.tel a {
        font-size: .75rem;
        padding-left: 80px; }
        #telCta li.tel a::before {
          width: 70px;
          height: 44px; }
        #telCta li.tel a span {
          font-size: 2rem; }

  #inquirySec {
    margin-top: 80px;
    padding: 80px 20px 40px; }
    #inquirySec > .ttl {
      font-size: 1.25rem !important;
      justify-content: center !important; }
      #inquirySec > .ttl:nth-of-type(n+2) {
        margin-top: 80px !important; }
    #inquirySec form {
      padding: 0 10px 40px;
      max-width: 480px; }
      #inquirySec form table {
        display: block;
        margin-bottom: 20px; }
        #inquirySec form table tbody {
          display: block; }
          #inquirySec form table tbody tr {
            display: block; }
            #inquirySec form table tbody tr th {
              display: block;
              position: relative;
              white-space: nowrap;
              padding: 20px 0 10px 0; }
            #inquirySec form table tbody tr td {
              display: block;
              padding: 0 0 20px;
              border-bottom: 1px solid #D9D9D9; }
      #inquirySec form .btn {
        margin-top: 40px; }
        #inquirySec form .btn input {
          font-size: 1.125rem;
          padding: 7px;
          min-height: 60px; }
        #inquirySec form .btn button {
          font-size: 1.125rem;
          padding: 7px 5.5vw 7px 20px;
          min-height: 60px; } }
#buyCostList {
  background-color: #F6F5F5; }
  #buyCostList > dt {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 40px;
    width: 100%; }
  #buyCostList > dd {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; }
    #buyCostList > dd:first-of-type {
      background-color: #1B284F; }
      #buyCostList > dd:first-of-type::before {
        position: absolute;
        bottom: 100%;
        left: -20px;
        display: block;
        content: '';
        width: calc(100% + 40px);
        height: 30px;
        background-color: #1B284F;
        clip-path: polygon(50% 0, 100% 100%, 0 100%); }
    #buyCostList > dd:last-of-type {
      background-color: #FA9A1A; }
      #buyCostList > dd:last-of-type::before {
        position: absolute;
        display: block;
        content: '';
        width: 30px;
        height: 30px;
        background-color: #000;
        clip-path: polygon(10px 0, 20px 0, 20px 10px, 30px 10px, 30px 20px, 20px 20px, 20px 30px, 10px 30px, 10px 20px, 0 20px, 0 10px, 10px 10px); }
    #buyCostList > dd > dl dt {
      width: 100%;
      text-align: center;
      color: #FFF; }
    #buyCostList > dd > dl dd {
      width: 100%;
      margin-top: 20px; }
      #buyCostList > dd > dl dd ul {
        color: inherit;
        background-color: #FFF;
        padding: 20px; }
        #buyCostList > dd > dl dd ul li {
          display: inline; }
          #buyCostList > dd > dl dd ul li:nth-child(n+2)::before {
            content: '、'; }
  @media screen and (min-width: 769px) {
    #buyCostList {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 40px; }
      #buyCostList dt {
        font-size: 2rem; }
      #buyCostList > dd {
        font-size: 1.25rem;
        width: calc((100% - 40px) / 2);
        padding: 20px; }
        #buyCostList > dd:last-of-type::before {
          position: absolute;
          top: 50%;
          right: 100%;
          margin: -15px 5px 0 0; } }
  @media screen and (max-width: 768px) {
    #buyCostList {
      padding: 20px; }
      #buyCostList dt {
        font-size: 1.5rem; }
      #buyCostList > dd {
        font-size: 1rem;
        margin-top: 40px;
        padding: 20px; }
        #buyCostList > dd:first-of-type {
          min-height: 150px; }
        #buyCostList > dd:last-of-type::before {
          position: absolute;
          bottom: 100%;
          right: 50%;
          margin: 0 -15px 5px 0; } }

#postCols {
  display: grid;
  grid-gap: 40px; }
  #postCols article header time {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: normal; }
  #postCols article header h1 {
    font-weight: 700;
    color: #1B284F;
    padding-bottom: .5em;
    border-bottom: 1px solid #D9D9D9; }
  #postCols article #postOutline {
    line-height: 2; }
    #postCols article #postOutline > *:nth-child(n+2) {
      margin-top: 1em; }
    #postCols article #postOutline hr {
      clear: both;
      margin: 2em 0; }
  #postCols article h2,
  #postCols article h3 {
    margin-top: 2em !important;
    color: #1B284F; }
  #postCols article section > *:nth-child(n+2) {
    margin-top: 1em; }
  #postCols iframe[src*=youtube] {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9; }
  #postCols .wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    grid-gap: 5px;
    margin-top: 40px; }
    #postCols .wp-pagenavi .current {
      font-weight: 700;
      color: #1B284F;
      padding: .5em; }
    #postCols .wp-pagenavi a {
      padding: .5em; }
  #postCols .backBtn {
    width: 240px;
    margin-inline: auto;
    margin-top: 40px; }
    #postCols .backBtn a {
      position: relative;
      display: block;
      background-color: #1B284F;
      color: #FFF;
      border-radius: 100px;
      font-weight: 500;
      overflow: hidden;
      padding: 10px 30px;
      line-height: 30px; }
      #postCols .backBtn a::after {
        display: block;
        content: '';
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translate(0, -50%);
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2222%22%20viewBox%3D%220%200%2012%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.666504%200.666992L10.6665%2010.667L0.666504%2020.667%22%20stroke%3D%22white%22/%3E%3C/svg%3E");
        background-position: center center;
        background-repeat: no-repeat;
        width: 10px;
        height: 20px;
        z-index: 2; }
  @media screen and (min-width: 769px) {
    #postCols {
      width: 1280px;
      max-width: calc(100% - 80px);
      margin-inline: auto;
      padding: 150px 0;
      grid-template-columns: 1fr 240px; }
      #postCols[data-col="1"] {
        justify-content: center;
        grid-template-columns: 1fr;
        max-width: calc(100% - 280px); }
      #postCols article header time {
        font-family: "Montserrat", sans-serif;
        font-optical-sizing: auto;
        font-style: normal; }
      #postCols article header h1 {
        font-size: 2rem; }
      #postCols article #postOutline {
        margin-top: 40px; }
        #postCols article #postOutline > .img,
        #postCols article #postOutline > .img + * {
          margin-top: 0 !important; }
        #postCols article #postOutline .img {
          float: left;
          width: 320px;
          max-width: calc(50% - 20px);
          margin: 0 20px 20px 0; }
      #postCols article h2 {
        font-size: 1.5rem; }
      #postCols article h3 {
        font-size: 1.25rem; }
      #postCols .backBtn a {
        transition: box-shadow .5s; }
        #postCols .backBtn a:hover {
          box-shadow: 0 0 20px 0 rgba(255, 255, 255, 0.5); } }
  @media screen and (max-width: 768px) {
    #postCols {
      padding: 80px 20px; }
      #postCols article header time {
        font-family: "Montserrat", sans-serif;
        font-optical-sizing: auto;
        font-style: normal; }
      #postCols article header h1 {
        font-size: 1.5rem; }
      #postCols article #postOutline {
        margin-top: 30px; }
        #postCols article #postOutline .img {
          width: 320px;
          margin: 0 auto; }
      #postCols article h2 {
        font-size: 1.25rem; }
      #postCols article h3 {
        font-size: 1.125rem; } }

#sitemapList {
  width: 100%;
  border-top: 1px solid #D9D9D9; }
  #sitemapList > li {
    display: flex;
    flex-wrap: wrap;
    padding: 20px 10px;
    border-bottom: 1px solid #D9D9D9;
    grid-gap: 10px; }
    #sitemapList > li a {
      display: inline-block;
      padding-left: 1.5em;
      text-indent: -1.5em; }
      #sitemapList > li a::before {
        content: '';
        display: inline-block;
        text-indent: 0;
        width: 1.5em;
        height: 1.5em;
        background-color: #FFF;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%228%22%20height%3D%2212%22%20viewBox%3D%220%200%208%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M1.33325%201.33398L6.33325%206.33398L1.33325%2011.334%22%20stroke%3D%22%231B284F%22/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        border-radius: 100%;
        vertical-align: bottom;
        text-indent: 0; }
