@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900|Noto+Serif+JP:400,500,600,700,900&display=swap&subset=japanese");

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

html {
  line-height: 1;
  font-size: 62.5%
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #222222;
  font-weight: 400;
  overflow-x: hidden
}

.serif {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

.sans {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

.clearfix {
  zoom: 1
}

.clearfix:after {
  content: "";
  display: block;
  clear: both
}

/*img {
  width: auto;
  height: auto
}*/
@media (max-width: 749px) {
  img {
    display: inline-block
  }
}

a {
  color: inherit;
  text-decoration: none
}

a img {
  -webkit-transition: .2s;
  -moz-transition: .2s;
  -ms-transition: .2s;
  -o-transition: .2s;
  transition: .2s
}

a:hover {
  text-decoration: underline
}

a:hover img {
  opacity: .7;
  filter: alpha(opacity=70)
}

img {
  max-width: 100%
}

@media (max-width: 749px) {
  .pc {
    display: none
  }
}

.tab {
  display: none
}

.ipad {
  display: none
}

@media (min-width: 750px) and (max-width: 1040px) {
  .ipad {
    display: block
  }
}

@media (min-width: 1040px) {
  .ipad.pc {
    display: block
  }
}

.sp {
  display: none
}

@media (max-width: 749px) {
  .sp {
    display: block
  }
}

header .mainimage div {
  position: relative
}

header .mainimage div .img {
  position: relative;
  z-index: 0
}

header .mainimage div .logo {
  position: absolute;
  left: 6.3%;
  top: 9.5%;
  z-index: 10;
  width: 34.71%;
  height: auto
}

@media (max-width: 749px) {
  header .mainimage div .logo {
    top: 15%;
    left: 50%;
    transform: translateX(-50%);
    width: 75%;
  }
}

header .mainimage div .mainbtn {
  position: absolute;
  right: 6.3%;
  bottom: 4.9%;
  z-index: 10;
  width: 32.78%
}

@media (max-width: 749px) {
  header .mainimage div .mainbtn {
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
  }
}

#footer .logo {
  text-align: center;
  margin-bottom: 50px
}

#footer .logo img {
  display: inline-block;
  width: 142px
}

#footer .copy {
  font-size: 12px;
  text-align: center;
  line-height: 2.2rem;
  letter-spacing: 0.08em
}

section.sectionbox {
  margin: 60px auto 100px
}

@media (max-width: 749px) {
  section.sectionbox {
    margin: 40px auto 50px
  }
}

.inner {
  max-width: 1040px;
  width: 94%;
  margin: 0 auto
}

.title01 {
  text-align: center;
  font-size: 40px;
  letter-spacing: 0.08em;
  font-weight: 600;
  line-height: 6rem;
  margin-bottom: 45px
}

@media (min-width: 750px) and (max-width: 1040px) {
  .title01 {
    font-size: 30px;
    line-height: 4.4rem
  }
}

@media (max-width: 749px) {
  .title01 {
    font-size: 20px;
    line-height: 3rem;
    margin-bottom: 25px
  }
}

.title01 rt {
  font-weight: 400;
  font-size: 11px
}

.ttl.sans {
  font-size: 26px;
  font-weight: 700;
  color: #193e6c;
  letter-spacing: 0.08em;
  padding: 0 0 25px
}

@media (max-width: 749px) {
  .ttl.sans {
    font-size: 19px;
    line-height: 2.8rem;
    padding: 0 0 15px
  }
}

.mainimage {
  width: 100%
}

.mainimage img {
  width: 100%;
  height: auto
}

.bluebtn {
  min-height: 46px;
  line-height: 46px;
  overflow: hidden;
  display: inline-block;
  text-align: center;
  color: white;
  background-color: #193e6c;
  border: none;
  padding: 0 30px;
  margin: 0 5px;
  min-width: 13rem;
  position: relative;
  min-width: 376px;
  box-sizing: border-box
}

@media (min-width: 750px) and (max-width: 1040px) {
  .bluebtn {
    min-width: 300px
  }
}

@media (max-width: 749px) {
  .bluebtn {
    min-width: 300px
  }
}

.bluebtn.garage {
  background-color: #6a91a8
}

.bluebtn.patio {
  background-color: #7fa081
}

.bluebtn {
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  opacity: 1.0;
  -webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  -ms-transition: background 0.3s ease-in-out;
  -o-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  position: relative
}

.bluebtn:hover {
  background-color: #3798d0 !important
}

.bluebtn.garage:hover {
  background-color: #a1d0eb !important
}

.bluebtn.patio:hover {
  background-color: #b3dbb6 !important
}

@media (max-width: 767px) {
  .bluebtn:hover {
    background-color: #193e6c !important
  }
}

.btn_two.mb80 {
  margin-bottom: 60px
}

.more-arrow-w {
  display: inline-block;
  margin-right: 0.5rem;
  font-size: 16px;
  letter-spacing: 0.08em
}

.more-arrow-w:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 100%;
  margin-left: 0.5em;
  margin-bottom: 0.2em;
  background-image: url(images/icon_more_arrow-w.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  position: absolute;
  right: 0.625rem;
  font-weight: 400;
  vertical-align: middle;
  font-size: 1.125rem;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0 !important
}

.btn_two {
  margin: 60px auto 0;
  text-align: center
}

@media (max-width: 749px) {
  .btn_two {
    margin: 40px auto 0
  }
}

.btn_two li {
  display: inline-block;
  margin: 0 20px
}

@media (min-width: 750px) and (max-width: 1040px) {
  .btn_two li {
    margin: 0 10px
  }
}

@media (max-width: 749px) {
  .btn_two li {
    margin: 0
  }

  .btn_two li:first-child {
    margin-bottom: 15px
  }
}

.textbox16 {
  font-size: 16px;
  line-height: 3.2rem;
  letter-spacing: 0.08em
}

@media (min-width: 750px) and (max-width: 1040px) {
  .textbox16 {
    font-size: 14px;
    line-height: 2.8rem
  }
}

@media (max-width: 749px) {
  .textbox16 {
    font-size: 14px;
    line-height: 2.8rem
  }
}

.textbox14 {
  font-size: 14px;
  line-height: 2.8rem;
  letter-spacing: 0.08em
}

@media (min-width: 750px) and (max-width: 1040px) {
  .textbox14 {
    font-size: 13px;
    line-height: 2.4rem
  }
}

@media (max-width: 749px) {
  .textbox14 {
    font-size: 13px;
    line-height: 2.4rem
  }
}

.text-center {
  text-align: center
}

.three_img {
  margin: 0 0 70px
}

@media (max-width: 749px) {
  .three_img {
    margin: 0 0 40px
  }
}

.three_img .left {
  width: 61.54%;
  float: left
}

@media (max-width: 749px) {
  .three_img .left {
    width: 100%;
    float: none;
    margin-bottom: 30px
  }

  .three_img .left img {
    width: 100%;
    height: auto
  }
}

.three_img .right {
  width: 34.62%;
  float: right
}

@media (max-width: 749px) {
  .three_img .right {
    width: 100%;
    float: none
  }

  .three_img .right img {
    width: 100%;
    height: auto
  }
}

.five_point {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -webkit-flex-pack: justify;
  -moz-flex-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
  margin-left: -20px;
  margin-top: 75px
}

@media (min-width: 750px) and (max-width: 1040px) {
  .five_point {
    margin-left: -10px
  }
}

@media (max-width: 749px) {
  .five_point {
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    max-width: 400px;
    margin: 40px auto 0
  }
}

.five_point li {
  margin-left: 20px
}

@media (min-width: 750px) and (max-width: 1040px) {
  .five_point li {
    margin-left: 10px
  }
}

@media (max-width: 749px) {
  .five_point li {
    margin-left: 7px
  }
}

.five_point li img {
  max-width: 185px;
  width: 100%
}

@media (max-width: 749px) {
  .five_point li img {
    max-width: 105px
  }
}

.second-wrap .img {
  margin-top: 75px
}

.second-wrap .text dl {
  margin-top: 30px
}

.second-wrap .text dl:first-child {
  margin-top: 0px
}

.second-wrap .text dl dt {
  color: #193e6c;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 3rem;
  padding-bottom: 5px
}

.second-wrap .text dl dd {
  line-height: 2.2rem;
  font-size: 14px;
  letter-spacing: 0.08em
}

.luft-wrap .img-ttl {
  text-align: center;
  margin: 0 0 40px
}

.luft-wrap .img-ttl img {
  display: inline-block;
  max-width: 199px
}

.luft-wrap .textbox16 {
  margin-bottom: 75px
}

@media (max-width: 749px) {
  .luft-wrap .textbox16 {
    margin-bottom: 40px
  }
}

.onefloor-wrap .img-ttl {
  text-align: center;
  margin: 30px 0 40px
}

.onefloor-wrap .img-ttl img {
  display: inline-block;
  max-width: 331px
}

.onefloor-wrap .lrbox {
  margin-top: 40px
}

.onefloor-wrap .lrbox .title {
  font-size: 26px;
  letter-spacing: 0.1em
}

.onefloor-wrap .textbox14 {
  font-size: 13px;
  line-height: 22px;
  margin-bottom: 45px
}

@media (max-width: 749px) {
  .onefloor-wrap .textbox14 {
    margin-bottom: 20px
  }
}

.onefloor-wrap .textbox16 {
  margin-bottom: 75px
}

@media (max-width: 749px) {
  .onefloor-wrap .textbox16 {
    margin-bottom: 40px
  }
}

.lrbox {
  margin: 70px 0 0
}

@media (max-width: 749px) {
  .lrbox {
    margin: 10px 0 0
  }
}

.lrbox .left {
  width: 48%;
  float: left
}

@media (max-width: 749px) {
  .lrbox .left {
    width: 100%;
    float: none
  }
}

.lrbox .right {
  width: 48%;
  float: right
}

@media (max-width: 749px) {
  .lrbox .right {
    width: 100%;
    float: none
  }
}

.lrbox .title {
  font-size: 22px;
  line-height: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0 0 15px
}

@media (min-width: 750px) and (max-width: 1040px) {
  .lrbox .title {
    font-size: 19px
  }
}

@media (max-width: 749px) {
  .lrbox .title {
    font-size: 18px;
    padding: 15px 0 10px
  }
}

.three_column {
  position: relative
}

.three_column li {
  width: 31%;
  float: left;
  margin-right: 3.5%;
  padding-bottom: 15px;
  position: relative
}

.three_column li:last-child {
  margin-right: 0px
}

.three_column li img {
  width: 100%;
  height: auto
}

.three_column li p {
  font-size: 16px;
  color: #193e6c;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 15px 0 5px
}

@media (min-width: 750px) and (max-width: 1040px) {
  .three_column li p {
    font-size: 13px
  }
}

@media (max-width: 749px) {
  .three_column li p {
    font-size: 10px;
    font-weight: 600
  }
}

.three_column li::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  border-bottom: 3px solid #193e6c;
  left: 0;
  bottom: 0
}

.three_column.a-left::before {
  content: "";
  position: absolute;
  width: 65.5%;
  height: 1px;
  border-bottom: 3px solid #193e6c;
  right: 0;
  bottom: 0
}

.three_column.a-left li:nth-child(2)::before {
  content: none
}

.three_column.a-left li:nth-child(3)::before {
  content: none
}

.madori .mt60 {
  margin-top: 60px;
  text-align: center
}

@media (max-width: 749px) {
  .madori .mt60 {
    margin-top: 30px
  }
}

.madori .textbox16 {
  margin-top: 70px
}

@media (max-width: 749px) {
  .madori .textbox16 {
    margin-top: 40px
  }
}

.bestfit-wrap .title02 {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 3rem;
  margin-bottom: 10px
}

.bestfit-wrap ul.bestfit01 {
  margin: 25px 0 20px;
  font-size: 0
}

.bestfit-wrap ul.bestfit01 li {
  display: inline-block
}

.bestfit-wrap ul.bestfit01 li.madori {
  width: 48%;
  vertical-align: top;
  padding-top: 30px
}

@media (max-width: 749px) {
  .bestfit-wrap ul.bestfit01 li.madori {
    width: 100%
  }
}

.bestfit-wrap ul.bestfit01 li.cursor {
  width: 22%;
  vertical-align: bottom
}

@media (max-width: 749px) {
  .bestfit-wrap ul.bestfit01 li.cursor {
    display: none
  }
}

.bestfit-wrap ul.bestfit01 li.items {
  width: 29.5%;
  vertical-align: top;
  text-align: right
}

.bestfit-wrap ul.bestfit01 li.items img {
  display: inline-block
}

@media (max-width: 749px) {
  .bestfit-wrap ul.bestfit01 li.items {
    width: 100%;
    text-align: center;
    margin-bottom: 15px
  }
}

.bestfit-wrap ul.bestfit02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px
}

@media (max-width: 749px) {
  .bestfit-wrap ul.bestfit02 {
    display: block
  }
}

@media (max-width: 749px) {
  .bestfit-wrap li.items {
    width: 100%;
    text-align: center;
    margin-bottom: 15px
  }
}

.bestfit-wrap li.items div {
  font-size: 16px;
  font-weight: 700;
  color: #193e6c;
  text-align: center;
  line-height: 3.2rem;
  padding: 10px 0 0
}

.bestfit-wrap .causion {
  margin-bottom: 70px
}

.animation-down {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -moz-transform: translate(0, -2rem);
  -webkit-transform: translate(0, -2rem);
  -ms-transform: translate(0, -2rem);
  transform: translate(0, -2rem);
  -webkit-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -moz-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -o-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -webkit-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -moz-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -o-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99)
}

.animation-down.IN-animation {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  -moz-transform: translate(0, 0) !important;
  -webkit-transform: translate(0, 0) !important;
  -ms-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition-delay: 0.3s
}

.animation-up {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -moz-transform: translate(0, 2rem);
  -webkit-transform: translate(0, 2rem);
  -ms-transform: translate(0, 2rem);
  transform: translate(0, 2rem);
  -webkit-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -moz-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -o-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -webkit-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -moz-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -o-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99)
}

.animation-up.IN-animation {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  -moz-transform: translate(0, 0) !important;
  -webkit-transform: translate(0, 0) !important;
  -ms-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition-delay: 0.3s
}

.animation-side {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -moz-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -o-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -webkit-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -moz-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -o-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99)
}

.animation-bg {
  background-position: 50% 5rem !important;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  position: relative;
  -webkit-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -moz-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -o-transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  transition: all 900ms cubic-bezier(0.34, 0.025, 0.15, 0.97);
  -webkit-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -moz-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  -o-transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99);
  transition: all 2500ms cubic-bezier(0.315, 0.04, 0, 0.99)
}

.animation-bg.IN-animation {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  background-position: 50% 0% !important;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition-delay: 0.3s
}

.a-left {
  -moz-transform: translate(-4rem, 0rem);
  -webkit-transform: translate(-4rem, 0rem);
  -ms-transform: translate(-4rem, 0rem);
  transform: translate(-4rem, 0rem)
}

.a-right {
  -moz-transform: translate(4rem, 0rem);
  -webkit-transform: translate(4rem, 0rem);
  -ms-transform: translate(4rem, 0rem);
  transform: translate(4rem, 0rem)
}

.animation-side.IN-animation {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  -moz-transform: translate(0, 0) !important;
  -webkit-transform: translate(0, 0) !important;
  -ms-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition-delay: 0.3s
}

.causion {
  padding: 30px 0 0;
  font-size: 11px
}

@media (max-width: 749px) {
  .causion {
    padding: 15px 0 0
  }
}

#header-sub {
  margin: 110px auto 80px;
  text-align: center
}

@media (max-width: 749px) {
  #header-sub {
    margin: 60px auto 40px
  }
}

#header-sub img {
  max-width: 80%
}

.secsub .mainimg {
  line-height: 0
}

.secsub .leftimg {
  width: 50%;
  float: left;
  background: #6682ad;
  padding: 40px 70px;
  box-sizing: border-box
}

@media (max-width: 749px) {
  .secsub .leftimg {
    width: 100%;
    float: none;
    padding: 20px 20px 30px
  }

  .secsub .leftimg br.spnon {
    display: none
  }
}

.secsub .leftimg.green {
  background: #7da288
}

.secsub .leftimg h1 {
  text-align: center;
  margin-bottom: 40px
}

.secsub .leftimg h2 {
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  padding-bottom: 15px
}

.secsub .leftimg .textbox14 {
  color: #fff;
  line-height: 22px
}

.secsub .rightimg {
  width: 50%;
  float: right
}

.secsub .rightimg img {
  display: none
}

@media (max-width: 749px) {
  .secsub .rightimg {
    width: 100%;
    float: none
  }

  .secsub .rightimg img {
    display: block
  }
}

.secsub .rightimg.right-garage {
  background: url("images/grph02.jpg") no-repeat center center;
  background-size: cover
}

@media (max-width: 749px) {
  .secsub .rightimg.right-garage {
    background: none
  }
}

.secsub .rightimg.right-patio {
  background: url("images/expa02.jpg") no-repeat center center;
  background-size: cover
}

@media (max-width: 749px) {
  .secsub .rightimg.right-patio {
    background: none
  }
}

#icon_link li img {
  display: inline-block;
  padding-bottom: 5px
}

#icon_link li p {
  font-size: 22px
}

@media (max-width: 749px) {
  #icon_link li p {
    font-size: 20px;
    line-height: 3.2rem
  }
}

.sns_link .inr h5 {
  font-size: 32px;
  line-height: 5.4rem
}

@media (max-width: 749px) {
  .sns_link .inr h5 {
    font-size: 18px
  }
}

.sns_link .inr p {
  font-size: 20px;
  line-height: 3.2rem
}

@media (max-width: 749px) {
  .sns_link .inr p {
    font-size: 16px
  }
}

#footer .main_area .main {
  font-size: 26px;
  line-height: 4.3rem
}

@media (max-width: 749px) {
  #footer .main_area .main {
    font-size: 19px
  }
}

#footer .main_area .linkList {
  font-size: 16px;
  line-height: 2.7rem
}

#footer .sub_area .linkList>li>a {
  font-size: 14.5px;
  line-height: 2.7rem
}

@media (max-width: 749px) {
  #footer .sub_area .linkList>li>a {
    font-size: 12px
  }
}

#footer .copyRight {
  font-size: 13px;
  line-height: 2.1rem
}

@media (max-width: 749px) {
  #footer .copyRight {
    font-size: 11px
  }
}

.contact_area ul li a {
  font-size: 13px
}

#maincontent {
  margin-top: 0px !important
}

.flogo .logo {
  text-align: center;
  margin-top: 160px
}

.flogo .logo img {
  display: inline-block;
  width: 142px
}

.pc_show {
  display: block;
}

.sp_show {
  display: none;
}

@media (max-width: 767px) {
  .pc_show {
    display: none;
  }

  .sp_show {
    display: block;
  }
}

/*----------------------------------------------------
	☆spHd
----------------------------------------------------*/
.drawer #header {
  position: static;
}

.drawer .hdLogo {
  text-align: center;
}

.drawer .hdLogo a {
  display: block;
  width: 100px;
  margin: 0 auto;
  padding: 10px 0;
}

.drawer .drawer-hamburger {
  width: 65px;
  padding: 5px 15px 30px !important;
  background: #fff;
  box-sizing: border-box;
}

.drawer-hamburger-icon:before {
  top: -7px;
}

.drawer-hamburger-icon:after {
  top: 7px;
}

.drawer .drawer-hamburger .menuTx {
  left: 17px;
  font-size: 10px;
}

.drawer--top.drawer-open .drawer-nav {
  top: 0 !important;
  height: auto !important;
}

.drawer--top.drawer-open .drawer-nav .nav a {
  background: #fff;
  display: block;
  text-align: center;
  font-size: 14px;
  border-bottom: 1px solid #ddd;
  padding: 17px 0;
}

.drawer--top.drawer-open .drawer-nav .nav.cv a {
  color: #fff;
}

.drawer--top.drawer-open .drawer-nav .nav.cv span {
  display: inline-block;
  padding: 2px 0 2px 25px;
  background: no-repeat center left / 20px 17px;
}

.drawer--top.drawer-open .drawer-nav .nav.cv.blue a {
  background-color: #223e69;
}

.drawer--top.drawer-open .drawer-nav .nav.cv.blue span {
  background-image: url(/common/img/catalog_icon.png);
}

.drawer--top.drawer-open .drawer-nav .nav.cv.green a {
  background-color: #85bb92;
}

.drawer--top.drawer-open .drawer-nav .nav.cv.green span {
  background-image: url(/common/img/house_icon.png);
}

.drawer--top.drawer-open .drawer-nav .nav.cv.ore a {
  background-color: #da9943;
}

.drawer--top.drawer-open .drawer-nav .nav.cv.ore span {
  background-image: url(/common/img/online_icon.png);
}

/*----------------------------------------------------
	☆pcHd
----------------------------------------------------*/
.pcHd {
  width: 100%;
  font-size: 0;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  background: #fff;
  letter-spacing: 0;
}

.pcHd .logo {
  padding-left: 30px;
  padding-top: 20px;
  width: 169px;
  height: auto;
  display: inline-block;
  vertical-align: top;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.pcHd .gnavList {
  width: calc(100% - 169px);
  display: inline-block;
  vertical-align: top;
  font-size: 0;
  text-align: right;
}

.pcHd .gnavList>li {
  display: inline-block;
  vertical-align: middle;
}

.pcHd .gnavList>li.nav {
  margin-right: 25px;
}

.pcHd .gnavList>li.nav a {
  font-size: 1.4rem;
  position: relative;
}

.pcHd .gnavList>li.nav a::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #ccc;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.pcHd .gnavList>li.nav a:hover::after {
  bottom: -6px;
  opacity: 1;
  visibility: visible;
}

.pcHd .gnavList>li.nav a:hover {
  text-decoration: none;
}

.pcHd .gnavList>li.cv {
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.pcHd .gnavList>li.cv:hover {
  background-color: #aaa !important;
  text-decoration: none;
}

.pcHd .gnavList>li.cv a {
  display: block;
  width: 100px;
  height: 100px;
  color: #fff;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.pcHd .gnavList>li.cv a>p {
  display: table;
  width: 100%;
  height: 100%;
}

.pcHd .gnavList>li.cv a>p>span.in {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.5rem;
  text-align: center;
  width: 100%;
  line-height: 1.4;
  padding-top: 40px;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.pcHd .gnavList>li.cv a>p>span.in>span.ico {
  padding-top: 40px;
  position: relative;
}

.pcHd .gnavList>li.cv a:hover {
  text-decoration: none;
}

.pcHd .gnavList>li.cv.blue {
  background-color: #444a5a;
}

.pcHd .gnavList>li.cv.blue span.ico {
  background: url("/lp/telework/lib/cmn_img/icon01.png") no-repeat center top/26px 32px;
}

.pcHd .gnavList>li.cv.green {
  background-color: #85bb92;
}

.pcHd .gnavList>li.cv.green span.ico {
  background: url("/lp/telework/lib/cmn_img/icon02.png") no-repeat center top/38px 32px;
}

.pcHd .gnavList>li.cv.ore {
  background-color: #da9943;
}

.pcHd .gnavList>li.cv.ore span.ico::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  background: url("/lp/telework/lib/cmn_img/icon03.png") no-repeat center top/cover;
  width: 42px;
  height: 30px;
  margin-left: -15px;
}

.pcHd.active {
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.pcHd.active .logo {
  padding-top: 10px;
}

.pcHd.active .gnavList>li.cv a {
  width: 90px;
  height: 90px;
}

.pcHd.active .gnavList>li.cv a>p>span.in {
  font-size: 1.3rem;
}

#wrapper {
  margin-top: 80px;
}

header .mainimage div .mainbtn.sml {
  width: 320px;
}

@media (max-width: 767px) {
  header .mainimage div .mainbtn.sml {
    width: 48%;
    left: 6%;
    right: auto;
    transform: translateX(0);
  }

  #footer .contact_area {
    display: none !important;
  }

  #wrapper {
    margin-top: 0;
  }
}

.cmn_bnrList {
  max-width: 730px;
  width: 100%;
  letter-spacing: 0;
  font-size: 0;
  margin: 40px auto 0 auto;
}

.cmn_bnrList>li {
  width: 49%;
  margin: 0 2% 0 0;
  display: inline-block;
  vertical-align: top;
}

.cmn_bnrList>li a {
  display: block;
}

.cmn_bnrList>li a:hover {
  opacity: 0.8;
}

.cmn_bnrList>li:last-child {
  margin-right: 0;
}

.cvArea {
  background: #eff5ff;
  padding: 30px;
  text-align: center;
  margin-top: 50px;
  border: 1px solid #193e6c;
}

.cvArea .ttl {
  text-align: center;
  font-size: 22px;
  margin-bottom: 25px;
  font-weight: 700;
  color: #193e6c;
}

.cvArea>ul {
  margin: 0 auto;
}

.styleArea {
  margin: 80px auto 50px auto;
}

.styleArea .ttl {
  max-width: 311px;
  width: 100%;
  margin: 0 auto;
}

.styleArea .tx {
  text-align: center;
  font-size: 15px;
  line-height: 2;
  margin-top: 15px;
}

.styleArea .cmn_bnrList {
  max-width: 900px;
  margin: 30px auto 0 auto;
}

.spCv {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  padding: 5px;
  background: #fff;
}

.spCv .cvList {
  font-size: 0;
  letter-spacing: 0;
}

.spCv .cvList>li {
  width: 49.5%;
  display: inline-block;
  vertical-align: top;
  margin-right: 1%;
}

.spCv .cvList>li:last-child {
  margin-right: 0;
}

.spCv .cvList>li a {
  display: block;
  padding: 15px 0;
  text-align: center;
  font-size: 12px;
  color: #fff;
}

.spCv .cvList>li a span {
  padding: 5px 0 5px 25px;
}

.spCv .cvList>li:nth-child(1) a {
  background-color: #223e69;
}

.spCv .cvList>li:nth-child(1) a span {
  background: url(/common/img/catalog_icon.png) no-repeat center left / 20px 17px;
}

.spCv .cvList>li:nth-child(2) a {
  background-color: #85bb92;
}

.spCv .cvList>li:nth-child(2) a span {
  background: url(/common/img/house_icon.png) no-repeat center left / 20px 17px;
}

@media (max-width: 767px) {
  .cmn_bnrList>li {
    width: 100%;
    margin: 0 0 15px;
  }

  .cvArea {
    padding: 25px 20px;
  }

  .cvArea .ttl {
    font-size: 18px;
  }

  .styleArea .tx {
    font-size: 14px;
    text-align: left;
  }
}

.contact_area ul li a {
  font-size: 10px !important;
}

/*----------------------------------------------------
☆mdSpan
----------------------------------------------------*/
.mdSpan {
  position: relative;
}

.mdSpan i {
  text-indent: -9999px;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 0;
  margin-top: -100px;
  padding-top: 100px;
}

@media (max-width: 767px) {
  .mdSpan i {
    margin-top: -45px;
    padding-top: 45px;
  }
}

/*----------------------------------------------------
0823_button
----------------------------------------------------*/
.btn_box {
  position: relative;
  margin: 40px auto;
  text-align: center;
}

.btn_animation .btnvr {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 480px;
  height: 100px;
  font-size: 28px;
  text-decoration: none;
  background-color: #E9DE60;
  color: #00030B;
  cursor: pointer;
  border-radius: 78px;
  animation: btn_animation 2s infinite;
  margin: 0 auto;
  transition: background-color 200ms ease, transform 200ms ease;
}

.btn_icon {
  display: flex;
  align-items: center;
}

.btn_icon img {
  width: 44px;
  height: auto;
  display: block;
}

.btn_text {
  line-height: 1;
}

@keyframes btn_animation {
  0% {
    transform: translate(4px, 0px);
  }

  5% {
    transform: translate(-4px, 0px);
  }

  10% {
    transform: translate(4px, 0px);
  }

  15% {
    transform: translate(-4px, 0px);
  }

  20% {
    transform: translate(4px, 0px);
  }

  25% {
    transform: translate(-4px, 0px);
  }

  30% {
    transform: translate(0px, 0px);
  }
}

.btn_animation .btnvr:hover,
.btn_animation .btnvr:focus-visible {
  opacity: 0.6;
}

.btn_icon,
.btn_icon img {
  opacity: 1 !important;
}



@media (max-width: 767px) {
  .btn_animation .btnvr {
    width: 320px;
    height: 80px;
    font-size: 20px;
  }


  .btn_icon img {
    width: 32px;
  }
}