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

* {
  margin: 0;
  padding: 0;
  line-height: 1.5em;
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
  font-weight: 200;
}

html {
  font-size: 62.5%;
}

body {}

/*width/height属性を付けたため、CSSで幅を決めている画像は高さを自動計算にする（レイアウトずれ防止）*/
img {
  height: auto;
}

h2,
h1.page-title {
  color: #2A3C59;
  border-bottom: 4px solid #2A3C59;
 border-top: 4px solid #2A3C59;
  width: 90%;
  margin: 0.5em 0;
  font-size: 5rem;
  text-align: center;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  clear: both;
  margin-top: 4rem;
 margin-left: auto;
  margin-right: auto;
	background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}

h2,
h1.page-title {
  margin-top: 1em;
  margin-bottom: 0.5em;
}

/*パンくずリスト*/
.breadcrumb {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0.6em 0 0;
  font-size: 1.3rem;
  color: #6b7891;
  text-align: left;
  line-height: 1.6;
}

.breadcrumb a {
  color: #2A3C59;
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb span {
  background: none;
}

.breadcrumb span[aria-hidden] {
  margin: 0 0.5em;
  color: #aab2c0;
}

@media screen and (max-width: 980px) {
  .breadcrumb {
    font-size: 1.2rem;
    padding: 0.4em 0 0;
  }
}

/*h1の上に添えるサービス・地域名（小さめに表示）*/
.h1-lead {
  display: block;
  background: none;
  font-size: 0.34em;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 0.4em;
  color: #4a5a75;
}

@media screen and (max-width: 980px) {
  .h1-lead {
    font-size: 0.4em;
  }

  h2.sec-h {
    font-size: 1.9rem;
    margin-top: 1.5em;
    width: 80%;
    border: none;
  }

  h2.sec-min {
    font-size: 1.7rem;
    margin-top: 0.5em;
    width: auto;
    border: none;
    border-bottom: 1px solid #2A3C59;
  }
}

h3,
h2.sec-h {
  font-size: 2.5rem;
  color: #fff;
  width: 60%;
  margin: 2em auto 1.5em auto;
  font-family: 'Roboto', sans-serif;
  background: #2A3C59;
  text-align: center;
  padding: 0.1em;
  border: none;
  letter-spacing: normal;
}

/*見出しレベルだけ上げて、見た目は従来のまま*/
h2.sec-min {
  color: #2A3C59;
  border: none;
  border-bottom: 1px solid #2A3C59;
  background: none;
  width: auto;
  margin: 0.5em 0;
  padding: 0;
  font-size: 1.7rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  text-align: left;
  letter-spacing: normal;
}
h4 {
  color: #2A3C59;
 border-bottom: 1px solid #2A3C59;
  width: auto;
  margin: 0.5em 0;
  font-size: 1.7rem;
  
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  clear: both;
  margin-top: 0rem;
}
h5 {
  font-size: 1.7rem;
	border-bottom: solid 3px #B8F4B8;
  position: relative;
}

h5:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5FB756;
  bottom: -3px;
  width: 20%;
}

h6{
 position:relative;
 display:inline-block;
 padding:0 150px;
 text-align:center;
margin-left: auto;
  margin-right: auto;
}

h6:before,h6:after{
 position:absolute;
 top:calc(50% - 5px);
 width:100px;
 height:10px;
 content:'';
 border-top:solid 3px #2F5597;
}
h6:before{
 left:0;
}
h6:after{
 right:0;
}

h7 {
  background: linear-gradient(transparent 70%, #a7d6ff 70%);
  font-size: 2em;

}

p.msg {
  font-size: 2rem;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";

  margin-top: -2em;
  line-height: 32px;
  text-align: center
}

p.msg {
  width: 82%;
}

p.msg {
  margin-left: auto;
  margin-right: auto;
  width: 45em
}

p,
th,
td,
input {
  font-size: 1.7rem;
}

dt {
  margin-bottom: 0.5em
}

dt,
dd {
  font-size: 1.6rem;
  /*padding:0 0.5em;*/
}

/*汎用*/
p.img-100vw {
  overflow: visible;
  margin: 0 calc(50% - 50vw);
}

p.img-100vw img {
  width: 100vw;
}

.fullwide-img {
  width: 100%;
  max-width: 1020px;
}

/*お問い合わせボタン（電話・メール）*/
.cta-btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 2% 0 1%;
}

.cta-btns .cta-btn {
  width: 100%;
  margin: 0;
  text-align: center;
}

/*2つのボタンの高さが揃うように画像比率で幅を調整*/
.cta-btns .cta-tel {
  max-width: 1000px;
}

.cta-btns .cta-mail {
  max-width: 820px;
}

/*メールボタンは電話ボタンより一回り小さく、上下の余白を詰める*/
.cta-btns .cta-btn.cta-mail img {
  aspect-ratio: 6 / 1;
  object-fit: cover;
  border-radius: 22px;
}

.cta-btns .cta-btn a {
  display: block;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cta-btns .cta-btn a:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}

.cta-btns .cta-btn img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

@media screen and (max-width: 980px) {
  .cta-btns {
    gap: 14px;
    padding: 3% 0 1%;
  }

  .cta-btns .cta-tel {
    max-width: 100%;
  }

  .cta-btns .cta-mail {
    max-width: 90%;
  }

  .cta-btns .cta-btn.cta-mail img {
    aspect-ratio: 5.8 / 1;
    border-radius: 12px;
  }

  /*ハンバーガーメニュー内のメールボタンも電話ボタンより一回り小さく*/
  img.logo {
    max-width: 270px;
    aspect-ratio: 5.4 / 1;
    object-fit: cover;
    border-radius: 8px;
  }
}

.inner {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  overflow: visible;
}
.inner2 {
  width: 85%;
  max-width: 850px;
  margin: auto;
  overflow: visible;
}

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

.txt_r {
  text-align: right;
}

.btnA {
  width: 30%;
  margin: 2em auto 1em auto;
  border-radius: 1em;
  background: #fff;
  text-align: center;
  padding: 0.5em;
  border: 1px solid #2A3C59;
}

.btnA a {
  text-decoration: none;
  color: #2A3C59;
  font-weight: bold;
}

.btnB {
  width: 43%;
  margin: 1em auto;
  border-radius: 1em;
  background: #fff;
  text-align: center;
  padding: 0.5em;
  border: 1px solid #2A3C59;
  font-size: 2rem;
}

.btnB a {
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}

.btnC {
  width: 90%;
  margin: 1em auto;
  border-radius: 1em;
  background: #fff;
  text-align: center;
  padding: 0.5em;
  border: 1px solid #2A3C59;
}

.btnC a {
  text-decoration: none;
  color: #2A3C59;
  font-weight: bold;
}

article {}

section {
  margin: 10rem auto;
}

.first_section {
  /*margin-top:-20rem !important;*/
  margin-top: 0;
}

.second_section,
.type2 {
  margin: 0rem auto 10rem auto !important;
}

.third_section {
  margin: 10rem auto !important
}

.type2 dl {
  width: 100%;
  float: left;
  clear: both;
  margin: 5em 0 2em 0;
}

.type2 dt {
  width: 30%;
  float: left;
  padding: 0 1em 0 0;
}

.type2 dt img {
  width: 100%;
}

.type2 dd.title {
  border-bottom: 1px solid #000;
  float: left;
  width: 70%;
}

.gabion {
  padding: 3em 0em;
  box-sizing: border-box;
  background: #fffde5;
  /*←ベースカラー（薄）変更はここ*/
  margin: 0em calc(50% - 50vw);
  width: 100vw;
  /*飛び出し用*/
}

.gabion {
  margin-top: 0em;
}

.gabion {
  margin-bottom: 0em;
}

.bgimage {
  background-image: url("../img2/buck1.jpg");
  background-size: cover;
}

.gaimage {
  padding: 1em 0.8em;
}




/*header*/
header {
  width: 100%;
  margin: 0;
  background: #ffffff;
  border-top: 2em solid #2A3C59
    /*←ベースカラー（濃）変更はここ*/
  ;
  border-bottom: 1px solid #000000;
  margin-bottom: 3px;
}

header .inner {
  height: 95px;
  box-sizing: border-box;
  padding-top: 10px;
  max-width: 1800px;
}

header h1,
header .site-logo {
  height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 35%;
  float: left;
}

header h1 a,
header .site-logo a {
  height: 88px;
}

header nav ul li {
  height: 1em;
  border-left: solid 1px #000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  white-space: nowrap;
  flex: none;
}

header nav ul li:last-child {
  border: none;
}

header nav ul li a {
  text-decoration: none;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  color: #000000;
  white-space: nowrap;
}

h1 img,
.site-logo img {
  height: 68px;
  width: auto;
}

.logo {
  width: 100%;
  max-width: 270px;
  margin-right: 30%;
 
}
nav ul {
  display: flex;
  align-items: center;
  text-align: right;
  height: 89px;
}

nav ul li {
  list-style: inside none;
  padding: 0.5em;
  font-size: 1.5rem;
  text-align: right;
}

nav .meanmenu-btn {
  display: none;
}

nav2 {
  width: 120%;
  text-align: center;

}

nav2 ul li {
  width: 30%;
  height: 4em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: -2em;
}

nav2 ul li:last-child {
  border: none;
}

nav2 ul li img {
  width: 100%;
}

nav2 ul li a {
  text-decoration: none;
  color: #515151;
}



nav2 ul {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4em;
}

nav2 ul li {
  list-style: inside none;
  font-size: 1.4rem;
}



/*PC用スライドショー表示してスマホ用スライドショー非表示*/
#slide {
  display: block !important;
}

/*PCとスマホで画像を切り替え*/
.sp_img {
  display: none !important;
  margin: 1em 0;
}

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

.pc_img {
  display: block !important;
  margin: 0em 0;
  margin-bottom: 3em;
}

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

/*PC/SPを<picture>で出し分けるブロック（画像は1枚だけ読み込まれる）*/
.rsp_img {
  display: block;
  margin: 0 0 3em;
}

.rsp_img picture {
  display: block;
}

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

.kirikae {
  position: relative;
  width: 100%;
  height: 900px;
  margin: 0;
}

.kirikae img {
  position: absolute;
  width: 100%;
  opacity: 0;
  animation: change-img-anim 10s 0s infinite;
}

.kirikae img:nth-child(1) {
  animation: change-img-anim-first 10s 0s infinite;
  animation-delay: 0s;
}

.kirikae .img:nth-child(2) {
  animation-delay: 5s;
}

@keyframes change-img-anim-first {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  60% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes change-img-anim {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  60% {
    opacity: 1;
  }

  100% {
    opacity: .9;
  }
}

/*main*/
main {
  clear: both;
  width: 100%;
  max-width: 1200px;
  box-sizing: border-box;
  padding: 0 2em;
  margin: 0 auto auto auto;
}

#slide {
  width: 100vw;
  height: 34vw;
  /*←スライドショー画像が100:49の場合*/
  margin: 0;
  position: relative;
}

#slide picture {
  display: block;
}

#slide img {
  width: 100vw;
  height: 33vw;
  /*←スライドショー画像が100:49の場合*/
  margin: 0;
  position: absolute;
  left: 0;
  top: 0;
}

.sekou {
  width: 100vw;
  background: #fffde5;
  padding: 2em;
  margin: 0 calc(50% - 50vw);
}

.col1 {
  width: 100%;
}

.col1 img {
  width: 100%;
}

.overtxt {
  background: url(../img/dummy.png) no-repeat;
  width: 100%;
  height: 300px;
  background-size: 100% 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overtxt p {
  text-align: center;
  width: 90%;
}

.col3 {
  display: flex;
  flex-wrap: wrap;
}

.col3 dl {
  width: 24%;
  margin: 0em 0.5%;
}

.col3 dl {
  padding: 0.3em;
}

.col3 dl dt img {
  width: 100%;
}

dd.title {
  font-weight: bold;
  margin-bottom: 0.5em;
}

.col3 .list {
  width: 32%;
  margin: auto 0.5%;
}

.col3 .list img {
  width: 100%;
}

.col3 h4 {
  font-size: 2em;
}

.col3a {
  display: flex;
  flex-wrap: wrap;
}

.col3a dl {
  margin-top: 0em;
}

.col3a dl {
  width: 32%;
  margin-top: 2em 0.5%;
}

.col3a dl {
  padding: 0.3em;
}

.col3a dl dt img {
  width: 100%;
}

dd.title {
  font-weight: bold;
  margin-bottom: 0.5em;
}

.col3a .list {
  width: 32%;
  margin: auto 0.5%;
}

.col3a .list img {
  width: 100%;
}

.col3a h4 {
  font-size: 2em;
}

.col3b {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}

.col3b dl {
  width: 32%;
  margin: 1em 0.5%;
	padding: 1%;
}

.col3b dl dt img {
  width: 100%;
  text-decoration: none;
}

.col3b2 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}

.col3b2 dl {
  width: 24%;
  margin: 1em 0.5%;
	padding: 1%;
}

.col3b2 dl dt img {
  width: 100%;
  text-decoration: none;
}


.col3b .list {
  width: 100%;
  margin: 0 1.5%;
  border-bottom: solid 0px #232121;
  /*padding:1em;*/
}

/*.col2f追加2021.10.26*/
.col3b .list img,
.col3b .list video {
  width: 100%;
}

.col2,
.col2b {
  display: flex;
  flex-wrap: wrap;
}

.col2 .list,
.col2b .list {
  width: 49%;
  margin: 0 0.5%;
  /*padding:1em;*/
}

.col2 .list img,
.col2b .list img {
  width: 100%;
}

.col2b,
.col2e {
  display: flex;
  flex-wrap: wrap;
 padding: 3%;
}

.col2b h4,
.col2e h4 {
  font-size: 2em;
}

.col2c .list {
  width: 100%;
}

.col2c .list img {
  width: 100%;
}

.col2c {
  display: flex;
  flex-wrap: wrap;
}

.col2c h4 {
  font-size: 2em;
}

.col2d .list {
  width: 100%;
}

.col2d .list img {
  width: 100%;
}

.col2d {
  display: flex;
  flex-wrap: wrap;
}

.col2d h4 {
  font-size: 2em;

}

.col2g h4 {
  font-size: 2em;
 border-bottom: 1px solid #2A3C59;
}

.col2g {
  display: flex;
  flex-wrap: wrap;
  padding: 1em;
  align-items: center;
}

.col2g .list {
  width: 30%;
  margin: 0 0.25%;
  padding: 1em;
}

.col2g .list img,
.col2g .list video {
  width: 100%;
}

.col2g {
  display: flex;
  flex-wrap: wrap;
}
.col2g picture {
  display: block;
  width: 100%;
}

.col2g2 {
  display: flex;
  flex-wrap: wrap;
  padding: 1em;
  align-items: center;
}

.col2g2 .list {
  width: 30%;
  margin: 0 0.25%;
  padding: 1em;
}

.col2g2 .list img,
.col2g2 .list video {
  width: 100%;
}

.col2g2 {
  display: flex;
  flex-wrap: wrap;
}


/*.col2f 2021.10.26追加*/
.col2g h4 {
  font-size: 2em;
  border-bottom: 1px solid #2A3C59;
}
.col2g2 h4 {
  font-size: 2em;
  border-bottom: 1px solid #2A3C59;
}


.col2g2 {
  display: flex;
  flex-wrap: wrap;
  padding: 1em;
  align-items: center;
}

.col2g2 .list {
  width: 30%;
  margin: 0 0.25%;
  padding: 1em;
}

.col2g2 .list img,
.col2g2 .list video {
  width: 100%;
}

.col2g2 {
  display: flex;
  flex-wrap: wrap;
}


/*.col2f 2021.10.26追加*/
.col2g h4 {
  font-size: 2em;
  border-bottom: 1px solid #2A3C59;
}
.col2g2 h4 {
  font-size: 2em;
  border-bottom: 1px solid #2A3C59;
}


.col2e .list {
  width: 47%;
  margin: 0 1.2%;
  /*padding:1em;*/
}

.col2e .list img {
  width: 100%;
}

.col2e h4 {
  font-size: 2em;
  border-bottom: 1px solid #2A3C59;
  width: 95%;
}

.col2f {
  display: flex;
  flex-wrap: wrap;
  padding: 1em;
  align-items: center;
}

.col2f .list {
  width: 49.5%;
  margin: 0 0.25%;
  padding: 1em;
}

.col2f .list img,
.col2f .list video {
  width: 100%;
}

.col2f {
  display: flex;
  flex-wrap: wrap;
}

/*.col2f 2021.10.26追加*/
.col2f h4 {
  font-size: 2em;
}

.p2 {
  font-size: 1.7em;
}

.p2 {
  width: 100%;
}

.p2 {
  margin-top: 1em;
}

.p3 {
  font-size: 1.7em;
}

.p3 {
  width: 100%;
}

.p3 {
  margin-top: 1em;
}

.p_small {
  font-size: 1.5rem;
}

.center2 {
	margin-left: auto;
    margin-right: auto;
	font-size: 5rem;
	text-align: center;	
	margin-top: 0em;
	color: #2A3C59;
}

#about {}

#about table {
  float: left;
  width: 68%;
  margin:-2em 2% 2em 0;
  border-collapse: collapse;
}

#about th,
#about td {
  padding: 0.5em;
  box-sizing: border-box;
  border: 1px solid #2A3C59;
  /*←ベースカラー（濃）変更はここ*/
  font-size: 1.6em;
}

#about th {
  text-align: left;
  background: #fffde5;
  /*←ベースカラー（薄）変更はここ*/
  width: 30%;
}

#about td {
  width: 70%;
  background: #fff;
}

#about iframe {
  width: 30%;
  margin: 2em 0 0 0;
}

#inquiry table {
  float: left;
  width: 100%;
  margin: 0 0;
 margin-top: -10rem;
  border-collapse: collapse;
}

#inquiry th,
#inquiry td {
  padding: 0.5em;
  box-sizing: border-box;
  border: 1px solid #2A3C59;
  /*←ベースカラー（濃）変更はここ*/
  font-size: 1.6em;
}

#inquiry th {
  text-align: left;
  background: #fffde5;
  /*←ベースカラー（薄）変更はここ*/
  width: 30%;
}

#inquiry td {
  width: 70%;
  background: #fff;
}

#inquiry iframe {
  width: 30%;
}



#inquiry2 table {
  float: left;
  width: 100%;
  margin-top: -2em ;
 margin-bottom: 5em ;
  border-collapse: collapse;
}

#inquiry2 th,
#inquiry2 td {
  padding: 0.5em;
  box-sizing: border-box;
  border: 1px solid #2A3C59;
  /*←ベースカラー（濃）変更はここ*/
  font-size: 1.6em;
}

#inquiry2 th {
  text-align: left;
  background: #fffde5;
  /*←ベースカラー（薄）変更はここ*/
  width: 30%;
}

#inquiry2 td {
  width: 60%;
  background: #fff;
}

#inquiry2 iframe {
  width: 30%;
}


h2.msg2 {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  color: #000;
  font-size: 5.5rem;
  border: none;
  margin: 4em 0 0 0;
}

p.msg3 {
  width: 60%;
  margin: 5em auto;
  text-align: center;
  border-left: 1px solid #000;
  border-top: 1px solid #000;
  padding: 1em;
}

.tel {
  width: 90%;
  margin: 1em auto;
  border-radius: 1em;
  background: #fff;
  text-align: center;
  padding: 0.5em;
  border: 4px solid #2A3C59;
  /*←ベースカラー（濃）変更はここ*/
}

.tel a {
  text-decoration: none;
  color: #000;
  font-weight: bold;
}

.tel strong {
  font-size: 3.8em;
}

/*アンダーライン付き見出し*/
.underline {
  font-size: 2.4rem;
  margin: .5rem 0;
  border-bottom: solid 3px #cce4ff;
  position: relative;
}

.underline:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  bottom: -3px;
  width: 20%;
}

/*slider用*/
.slideshow-wrap {
  display: flex;
	width: auto;
  align-items: center;
  overflow: hidden;
}

.slider {
  display: flex !important;
  flex-wrap: nowrap;
  animation: loop-slide 50s infinite linear .1s both;
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.slider .list {
  width: 500px;
  list-style: none;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute;
  /*絶対配置にする*/
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #666;
  /*矢印の色*/
  border-right: 2px solid #666;
  /*矢印の色*/
  height: 15px;
  width: 15px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: -1.5%;
  transform: rotate(-135deg);
}

.slick-next {
  /*次へ矢印の位置と形状*/
  right: -1.5%;
  transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  /*ドットボタンのサイズ*/
  height: 8px;
  /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #ccc;
  /*ドットボタンの色*/
}

.slick-dots .slick-active button {
  background: #333;
  /*ドットボタンの現在地表示の色*/
}

/*footer*/
footer {
  width: 100%;
  padding: 1em 0 100px 0;
  background: #2A3C59;
  /*←ベースカラー（薄）変更はここ*/
  color: #fff;
}

.box_footer,
.footer_nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.box_footer>div {
  width: 49%;
}

.footer_nav>div {
  width: 49%;
}

footer ul li {
  font-size: 1.5rem;
  list-style: none;
  text-align: right;
  justify-content: center;
}

footer ul li a {
  text-decoration: none;
  color: #fff;
}

.footer_logo img {
  width: 80%;
}

/* 固定フッター：お部屋の片付け・遺品整理ボタン */
#footer-fix #footer-fix-menu li.fx-kataduke{
  background:#8a6d3f;
}
#footer-fix #footer-fix-menu li.fx-kataduke a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  width:100%;
  height:100%;
  padding:0 calc(2.2em + 30px) 0 1em;
  color:#ffe9d0;
  text-decoration:none;
  font-weight:900;
  -webkit-text-stroke:0.35px currentColor;
  letter-spacing:.02em;
  font-size:1.5em;
  line-height:1.05;
  text-align:left;
}
#footer-fix #footer-fix-menu li.fx-kataduke .fx-box{
  width:2.4em;
  height:2.4em;
  flex:none;
  align-self:center;
  color:#f0c795;
}
/* 「こちら」の矢印 */
#footer-fix #footer-fix-menu li.fx-kataduke .fx-arrow{
  position:absolute;
  top:50%;
  right:calc(.5em + 30px);
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.5em;
  height:1.5em;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  flex:none;
}
#footer-fix #footer-fix-menu li.fx-kataduke .fx-arrow svg{
  width:.85em;
  height:.85em;
  color:#ffe9d0;
}

#footer-fix #footer-fix-menu li.fx-kataduke .fx-text{
  background:none;
  line-height:1.28;
  white-space:nowrap;
}

/*固定フッターボタン*/
#footer-fix {
  display: none;
}

/*固定フッターボタン*/
#footer-fix #footer-fix-menu {
  position: fixed;
  display: table;
  bottom: 0;
  right: 0;
  max-height: 100px;
  font-size: 2rem;
  color: #fff;
  list-style-type: none;
  vertical-align: middle;
}



#footer-fix #footer-fix-menu {
  text-align: center;
  padding: 0;
  display: table;
  width: 100%;
}

#footer-fix #footer-fix-menu li {
  display: table-cell;
  background: ;
  padding: 0;
  margin: 0;
  position: relative;
  vertical-align: middle;
}

#footer-fix #footer-fix-menu li:nth-child(2) {
  background: #2A3C59;
}

#footer-fix #footer-fix-menu li:nth-child(3) {
  background: #3cb371;
}

#footer-fix #footer-fix-menu li:hover {
  opacity: 0.9;
}

#footer-fix #footer-fix-menu li a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.fortop {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 0.5em 1em 1em 1em;
  background: #2A3C59
    /*←ベースカラー（濃）変更はここ*/
}

.fortop a {
  color: #fff;
  text-decoration: none;
  font-size: 0.1em;
}
.top { height: 100%;
  width: 100%;
text-align: right;
margin-right:-3rem;
}


.copyright {
  text-align: center;
}

/*2ページ目用*/
#service h3 {
  font-size: 2.5rem;
  color: #fff;
  width: 60%;
  margin: 4em auto 2em auto;
  background: #2A3C59;
  text-align: center;
  padding: 0.5em;
}

#service .pitat {
  border: 1px solid #2A3C59;
}

#service .pitat h3 {
  background: #2A3C59;
  color: #fff;
  margin: 0;
  width: 100%;
  border-radius: 0;
}

#service .pitat p.list {
  padding: auto 1em;
}

#service .pitat p strong {
  font-size: 1.2em;
  font-weight: bold;
  color: #2A3C59;
}

.small {
  font-size: 1.7em;
  margin-top: 1.5em
}

.design {
  font-size: 2rem;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  margin: 0 0 2em 0;
  line-height: 32px;
}

.design {
  width: 82%;
  text-align:center
}

.design {
  margin-left: auto;
  margin-right: auto;

}
.design2 {
  font-size: 1.8rem;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  margin: 0 0 2em 0;
  line-height: 32px;
}

.design2 {
  width: 50%;
  text-align: left
}

.design2 {
  margin-left: auto;
  margin-right: auto;

}

.design3 {
  font-size: 1.7rem;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  margin: 0 0 2em 0;
  line-height: 32px;
  color: #FFFFFF;
}

.design3 {
  width: 82%;
  text-align: left
}

.design3 {
  margin-left: auto;
  margin-right: auto;

}

.big {
  font-size: 5rem;
}

.middle {
font-size: 3rem;
margin-bottom: 2rem;
	color: #2A3C59;
}

span {
 
    background:linear-gradient(transparent 60%, #ff6 60%);
 
}

.span {
  background-color: #ff9;
  background: linear-gradient(transparent 60%, #ff6 60%);

}

.highlight {
  background: linear-gradient(transparent 50%, #ffff66 0%);
  line-height: 1.3em;
}

hr {
  clear: both;
  /*フロート配置をクリアする*/
  width: 100%;
  /*幅の指定*/
  margin-top: 2px;
  margin-bottom: -20px;
  /*マージン*/
  border: dotted 2px #2A3C59;
}



.right-fixed-banner {
  position: fixed;
  bottom: 3%;
  right: 0;
  width: 160px;
  margin-right: 0%;
  text-align: center;
  line-height: 1;
  font-size: 20px;
  z-index: 99999;
}

.banner-box {
  height: auto;
  border: 0px solid #000;
  z-index: 99999;
}

.banner-box img {
  width: 100%;
  height: auto;
  display: block;
}

#banner-1 {
  background: transparent;
}

#banner-2 {
  background: transparent;
}

.right-fixed-banner {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.right-fixed-banner.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}





.movie-text {
  width: 49.5%;
}

iframe.youtube-16-9 {
width: 100%;
height: 100%;
aspect-ratio: 16 / 9;
max-width: 600px;
display: block;
margin: auto;
}



.item {
  border-bottom: solid 1px #211F1F;
}

.movie {
  padding: 1em 2em 2em 2em;
  
}
.logo {
}

/* ===== 写真の角丸（サイト全体） ===== */
main img,
article img,
.col2 .list img, .col2b .list img, .col2c .list img, .col2d .list img,
.col2g .list img, .col2g2 .list img,
.col3 .list img, .col3a .list img, .col3b .list img,
.col3 dl dt img, .col3a dl dt img, .col3b dl dt img, .col3b2 dl dt img,
.gaimage,
.fullwide-img,
.pc_img img, .sp_img img, .rsp_img img {
  border-radius: 10px;
}

/* ロゴ・アイコン・装飾類は角丸にしない */
header img,
footer img,
nav img,
.logo,
#footer-fix img,
.fortop img,
#slide img, #slide_sp img,
.right-fixed-banner img,
main svg, article svg {
  border-radius: 0;
}
