@charset "utf-8";

@import url("slide.css");


/*
-------------------------------------------------------------*/
:root {
  --color-primary: #333;	
  --color-inverse: #fff;	
  --color-lightgreen: #70ae27; 
  --color-lightmint: #e5ffe5; 
  --color-lightgray: #f4f4f4; 
  --color-lightbeige: #f6ebd2; 
  --space-lg: 5vw;	
  --space-sm: 1vw;	
}


/*全体
-------------------------------------------------------------*/
body * {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding:0;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	background: var(--color-inverse);	
	color: var(--color-primary);
	line-height: 1.5;
}

body h2.a {
  align-items: center;
}

section {
	overflow-x: hidden;
	padding: 10%;	
}

h2 {
  padding: 0;
  font-size: 2.4rem;
  font-weight: normal;
  margin-bottom: 5%;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}

h2 span.sub-text {
  display: inline-block;
  font-size: 1.2rem;
  opacity: 0.5;
  letter-spacing: 0.2rem;
  padding-top: 2rem;
}

h3{
  border-bottom: solid 3px lightgreen;
  position: relative;
  margin: 10px 0px;
}

h3:after{
  position: absolute;
  content: "";
  display: block;
  border-bottom: solid 3px green;
  bottom: -3px;
  width: 20%;
}


/*フェードイン
-------------------------------------------------------------*/
/* 初期状態 */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  visibility: hidden;  /* 最初は要素を非表示 */
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;  /* フェードイン後に表示 */
}



/*リンク
-------------------------------------------------------------*/
a {
  transition: all 0.7s ease; 
  text-decoration: none;
  color: var(--color-lightgreen);
}

a:hover {
  color: var(--color-lightgreen); 
  font-size: 1.1em; 
}


/*ローディング画面
-------------------------------------------------------------*/
#loading {
  background-color: var(--color-primary);
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
}

#loading-screen {
  background-color: var(--color-lightmint);
  position: fixed;
  inset: 0;
  z-index: 9998;
  translate: 0 100vh;
}

#loading p {
  font-weight: lighter;
  font-size: 1.5rem;
  color: var(--color-inverse);
}


/*ヘッダー
-------------------------------------------------------------*/
header {
  position: fixed;
  flex-shrink: 0;
  display: flex;			
  justify-content: space-between;
  height: 85px;	
  z-index: 3;
}


/*ロゴ
-------------------------------------------------------------*/
#logo img { 
	display: block; 
  }
  
#logo {
	margin: 0;
	padding: 0;
	width: 7vw;  
	position: fixed; 
	z-index: 3 !important;
	top: 2vw; 
	left: 2vw; 
  }

@media screen and (max-width:700px) {
	#logo {
		top: 1vw;	
		width: 60px;	
	}
	}


/*ハンバーガーメニュー
-------------------------------------------------------------*/
.menu {
	position: fixed;
	top: 2vw;
	right: 5vw;
	width: 55px;
	padding: 1em;
	cursor: pointer;
	z-index: 101 !important; 
  mix-blend-mode: exclusion;
}


@media screen and (max-width:700px) {
  .menu .bar,
  .menu .bar:before,
  .menu .bar:after {
    width: 45px !important;
  }
}

/*マウスオン時だけmix-blend-modeを無効に*/
.menu.ham {
	mix-blend-mode: normal;
}

.menu .bar,
.menu .bar:before,
.menu .bar:after {
	display: block;
	width: 60px;
	height: 3px;
	content: '';
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	background: var(--color-lightgreen);
}


.menu .bar {
	position: relative;
	margin: 5px 0;
}



.menu .bar:before,
.menu .bar:after {
	position: absolute;
}

.menu .bar:before {
	top: 11px;
}

.menu .bar:after {
	bottom: 11px;
}

.menu.active .bar {
	background: transparent;
}

.menu.active .bar:before {
	top: 0;
	transform: rotate(45deg);
}

.menu.active .bar:after {
	top: 0;
	transform: rotate(-45deg);
}

.nav-menu {
	position: fixed;
	top: 0;
	right: -300px; 
	width: 300px;
	height: 100%;
	background: var(--color-primary);
	box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
	transition: right 0.5s ease;
	z-index: 100 !important; 
}

.nav-menu.active {
	right: 0; 
}

.nav-menu ul {
	list-style: none;
	padding: 2em;
	margin: 0;
}

.nav-menu ul li {
	margin-bottom: 1em;
}

.nav-menu ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 1.2em;
}


/*常に表示のお問い合わせ
-------------------------------------------------------------*/
#btn-contact .contact-btn,
#btn-contact .phone-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: fixed;
  z-index: 2;
  right: 0; 
  background: var(--color-lightgreen);
  color: #f6ebd2;
  padding: 0.7rem; 
  border-radius: 3px 0px 0px 3px;
  letter-spacing: 0.1em;
  width: 70px; 
  height: 70px; 
  overflow: hidden;
  transition: width 0.3s ease; 
}

/* アイコン */
#btn-contact .contact-btn .icon,
#btn-contact .phone-btn .icon {
  font-size: 1.5rem; 
}

/* テキスト（初期状態では非表示） */
#btn-contact .contact-btn .text,
#btn-contact .phone-btn .text {
  display: none; /* 初期状態では非表示 */
  font-size: 1rem;
  margin-left: 0rem; 
  padding: 0.5rem;
  white-space: nowrap; /* 改行を防ぐ */
}

/* ホバー時にボタンが横に広がり、テキストが表示される */
#btn-contact .contact-btn:hover,
#btn-contact .phone-btn:hover {
  width: 250px; 
}

/* ホバー時に文字を表示 */
#btn-contact .contact-btn:hover .text,
#btn-contact .phone-btn:hover .text {
  display: inline-block; 
  opacity: 1;
  transition: opacity 0.3s ease; 
}

/* お問い合わせボタン */
#btn-contact .contact-btn {
  bottom: 50%;   
}

/* 電話ボタン */
#btn-contact .phone-btn {
  bottom: 40%;     
  background-color: #E28523;
}


/* 画面幅600px以内 */
@media screen and (max-width: 600px) {
  #btn-contact .contact-btn,
  #btn-contact .phone-btn {
    right: auto;
    left: 5%; 
    width: 46%;  /* 横幅を固定 */
    height: 60px;
    writing-mode: horizontal-tb;
    text-align: center;
    line-height: 60px;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    font-size: 1rem;
    letter-spacing: 0.05em;
    padding: 0;
    padding-bottom: 0;
    transition: none; /* 変化なし */
    touch-action: manipulation; /* タッチ操作の影響を最小化 */
    pointer-events: auto; /* タッチイベントを有効にする */
  }

  /* アイコンと文字の両方表示 */
  #btn-contact .contact-btn .icon,
  #btn-contact .phone-btn .icon {
    font-size: 1.5rem; 
  }

  #btn-contact .contact-btn .text,
  #btn-contact .phone-btn .text {
    display: inline-block; 
    opacity: 1;
    transform: translateX(0);
    transition: none; 
  }

  /* お問い合わせボタン */
  #btn-contact .contact-btn {
    position: fixed;  
    bottom: 0;      
    left: 3%;       
  }

  /* 電話ボタン */
  #btn-contact .phone-btn {
    bottom: 0;
    left: 51%;       
  }

  /* ホバーとアクティブ時にボタンが横に広がらないようにする */
  #btn-contact .contact-btn:hover,
  #btn-contact .phone-btn:hover,
  #btn-contact .contact-btn:active,
  #btn-contact .phone-btn:active {
    width: 46%;  /* 横幅を固定 */
    height: 60px;  /* 高さの変更も無効化 */
    transition: none;  /* 変化なし */
  }

  /* ホバー時にテキストが表示されないようにする */
  #btn-contact .contact-btn:hover .text,
  #btn-contact .phone-btn:hover .text,
  #btn-contact .contact-btn:active .text,
  #btn-contact .phone-btn:active .text {
    display: inline-block; 
    opacity: 1;
    transition: none; 
  }
}




.business-section {
  padding: 0;
  top: 0%;
  background: url("../images/top_apuro.svg") no-repeat top / 50%;
}

/* タイトル部分 */
.business-title-wrapper {
  margin-bottom: 3rem;
}

.business-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.vertical-text {
  writing-mode: vertical-rl;
  font-size: 2rem;
  margin: 1.5rem;
}

.horizontal-text {
  font-size: 1.2rem;
  color: #808080;
  opacity: 0.5;
  letter-spacing: 0.2rem;
  padding-top: 2rem;
}

.business-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
}

.business-item {
  position: relative;
  z-index: 1;
  width: 50%;
  height: 450px;
  color: #fff;
  overflow: hidden;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* h3とspanの間にスペース */
.business-item h3 {
  margin-bottom: 3vw; 
}

/* span部分を少し上に表示 */
.business-item h3 span {
  font-size: 1rem;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: -70px; 
}

@media screen and (max-width: 400px) {
.business-item h3 span {
  top: -30px; 
}
}

/* 画像背景 */
.business-image {
  position: relative;
  padding: var(--space-lg);
  height: 100%;
  overflow-x: hidden;
  margin-bottom: 1vw;
  background-size: cover; 
  background-position: center; 
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.image1 {
  background: url("../images/2.jpg") no-repeat center center / cover;
}

.image2 {
  background: url("../images/3.jpg") no-repeat center center / cover;
}

/* 半透明の膜 */
.business-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition: transform 0.5s ease, background-color 0.5s ease;
  transform: translateX(0);
}

/* 駐車場管理サービス */
.business-item.parking:hover .business-image::before {
  transform: translateX(100%);
  background-color: rgba(0, 0, 0, 0);
}

/* 防犯システムサービス */
.business-item.security:hover .business-image::before {
  transform: translateX(-100%);
  background-color: rgba(0, 0, 0, 0);
}

/* マウスが離れたときに元に戻す */
.business-item:not(:hover) .business-image::before {
  transform: translateX(0);
  background-color: rgba(0, 0, 0, 0.6);
}

.business-item:hover .business-image::before {
  background-color: rgba(0, 0, 0, 0);
}

.business-content {
  position: absolute;
  bottom: 10%;
  left: 10%;
  z-index: 2;
  color: #fff;
  padding: 1rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

.business-content h3 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  position: relative;
  font-size: 2rem;
  letter-spacing: 0.1rem;
  line-height: 3.5rem;
}

.business-content p {
  font-size: 1rem;
}

.btn2 a {
  display: inline-block;
  text-decoration: none;
  padding: 0.8rem 2rem;
  margin-top: 2rem;
  text-align: left;
  color: var(--color-inverse);
  letter-spacing: 0.1em;
  box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 1px solid #fff;
}

.btn2 a:hover {
  background: var(--color-primary);
  color: var(--color-inverse);
}

/* 画面幅767px以上 */
@media screen and (max-width: 767px) {
  .business-wrapper {
    flex-direction: column;
    gap: 1rem;
  }

  .business-item {
    width: 100%;
  }

  .business-content {
    bottom: 20%;
    left: 10%;
  }
}

/* 画面幅1000px以下 */
@media screen and (max-width: 1000px) {
  .business-wrapper {
    display: block; 
  }

  .business-item {
    width: 100%; 
  }

  .business-content {
    bottom: 20%; 
    left: 10%;
  }
}

@media screen and (max-width: 500px) {
  .business-content {
    left: 0%;
  }
}



/*私たちの想い-------------------------------------------------------------*/
.thoughts-section {
  overflow-x: visible;
  position: relative;
  padding-bottom: 10vw;
}

.thoughts-section .section-title img {
  transform: rotate(-8deg);
}

/* 横並び設定 */
.thoughts-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.text-content {
  flex: 1;
}

.text-content h2 {
  margin: 1.5rem;
}

.text-content p {
  margin-bottom: 1rem;
}

.text-content .btn a {
  display: block;
  text-decoration: none;
  padding: 0.8rem 2rem;
  margin-top: 2rem;
  text-align: center;
  letter-spacing: 0.1em;
  box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
  color: var(--color-primary);
  background: var(--color-inverse);
}

.text-content .btn a:hover {
  letter-spacing: 0.3rem;
  box-shadow: #333;
}

/* 画像配置 */
.thoughts-images {
  flex: 1;
  position: relative;
  height: 300px; 
}

.thoughts-images .image1 {
  width: 80%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  position: absolute;
  top: 50%; 
  transform: translateY(-50%) translateY(-2rem); 
  z-index: 1;
  border-radius: 10px;
}

.thoughts-images .image2 {
  width: 50%;
  height: auto; 
  max-height: 200px; 
  aspect-ratio: 9 / 16;
  object-fit: cover;
  position: absolute;
  top: 80%; 
  left: 70%; 
  transform: translate(-50%, -50%); 
  z-index: 2;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); 
}

/* 画面幅768px以内 */
@media (max-width: 768px) {
  .thoughts-wrapper {
    flex-direction: column; 
    gap: 1.5rem; 
  }

  .text-content {
    flex: none;
  }

  .thoughts-images {
    flex: none;
    height: auto;
    position: relative;
  }

  .thoughts-images .image1 {
    width: 80%;
    top: 0;
    transform: translateY(0);
    position: relative;
    z-index: 1; 
  }

  .thoughts-images .image2 {
    width: 50%;
    top: -10vw;
    left: 40vw;
    transform: translate(0, 0);
    position: relative;
    z-index: 2; 
  }
}

/* 画面幅768px～1024pxの場合 */
@media (max-width: 1024px) and (min-width: 768px) {
  .thoughts-images .image1 {
    width: 70%; 
  }

  .thoughts-images .image2 {
    width: 40%; 
    max-height: 180px; 
  }
}

/* 画面幅1024px以上 */
@media (min-width: 1024px) {
  .thoughts-images .image1 {
    width: 80%; 
  }

  .thoughts-images .image2 {
    width: 50%; 
  }
}


/*お知らせ
-------------------------------------------------------------*/
/* 重要やお知らせ */
.label {
  display: inline-flex;  
  align-items: center;   
  padding: 0.2rem 0.5rem;  
  margin-left: 1rem;  
  font-weight: bold;
  color: white;
  border-radius: 5px;  
}

/*重要ラベル*/
.important {
  background-color: red;
  min-width: 5rem;  
  justify-content: center;  
}

/*お知らせラベル*/
.notice {
  background-color: #1e90ff; 
  min-width: 5rem;  
  justify-content: center;  
}

/*お知らせの全体*/
.new {
  display: grid;
  grid-template-columns: auto 1fr;
  max-width: 700px;
  margin: 0 auto;
  gap: 1rem;  
}

/*日付、記事*/
.new dt, .new dd {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1rem;
  padding-bottom: 1.5rem;
}

/*日付*/
.new dt {
  padding-right: 1.5rem;  
  font-weight: bold;
  color: #333;
}

/* 画面幅768px以上 */
@media (min-width: 768px) {
  .new {
    grid-template-columns: auto 1fr;  
  }

  .new dt {
    font-size: 1rem;
    padding-top: 1rem;  
  }

  .new dd {
    padding-top: 1rem;  
    padding-bottom: 1rem;  
  }
}

/* 画面幅767px以内 */
@media (max-width: 767px) {
  .new {
    grid-template-columns: 1fr;  
  }

  .new dt {
    font-size: 1rem;
    padding-top: 1rem;  
  }

  .new dd {
    padding-top: 1rem;  
    padding-bottom: 1rem; 
  }
}


/*導入事例
-------------------------------------------------------------*/
.case-section {
  padding: var(--space-lg);
  text-align: center; 
}

.a .main-text {
  display: block;
}

.a .sub-text {
  display: block;
  font-size: 1.2rem;
  color: #808080;
  margin: 1.5rem;
}

.case-wrapper {
  display: flex;

  gap: 2rem;
  justify-content: center; 
}

.case-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.text {
  padding: 0rem;
  white-space: normal; 
}

.case-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: var(--color-primary);
}

.case-description {
  font-size: 1rem;
  color: var(--color-dark);
}

.case-slider-container {
  overflow-x: auto; 
  white-space: nowrap; 
  padding: 1rem 0;
}

.case-wrapper {
  display: inline-flex; 
  gap: 2rem; 
}

.case-item {
  width: 300px; 
  flex: 0 0 auto; 
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.case-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.case-item a {
  color: var(--color-primary);
}

.case-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
}


/*よくある質問
-------------------------------------------------------------*/
.faq {
	background: #333;	
	color: #fff;
	position: relative;
}

 
	/* 画面幅600px以上 */
	@media screen and (min-width:700px) {
	.faq {
		display: flex;
		justify-content: space-between;
	}
	}

.faq h2 {
	margin: 2rem 0;
	padding: 0;
	font-size: 2rem;
	font-weight: 200;	
	letter-spacing: 0.4em;
}

	/* 画面幅600px以上 */
	@media screen and (min-width:700px) {
	.faq h2 {
    flex-direction: column;
	}
	}

	.faq h2 .en {
		font-size: 20vw;
		position: absolute;
		left: 10px;
		top: 8vw;
    color: rgba(255,255,255,0.05);	
	}

.faq dt {
	font-size: 1.3rem;	
	padding: 2rem 0 1rem 0;
}

	/* 画面幅600px以上 */
	@media screen and (min-width:700px) {
	.faq dt {
		padding: 2rem 2rem 1rem 2rem;	
	}
	}

.faq dd {
	padding: 0 0 2rem 0;
	font-size: 0.9rem;	
}

	/* 画面幅600px以上 */
	@media screen and (min-width:700px) {
	.faq dd {
		padding: 0 2rem 2rem 2rem;	
	}

	.faq .text {
		width: 55%;
    padding: 0;
	}
	}

  /* 画面幅600px以下 */
  @media screen and (max-width:700px) {
    .faq .text {
      width: 100%;
    }
  }

.btn3 {
  text-align: right;
  letter-spacing: 0.1em;
}

.btn3 a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  position: relative;
  padding-right: 5rem;
}

/* 矢印 */
.btn3 a::after {
  content: '';
  display: block;
  position: absolute;
  right: 23px;
  bottom: 50%; 
  transform: translateY(50%) rotate(-45deg); 
  width: 10px; 
  height: 10px; 
  border-right: 2px solid var(--color-primary); 
  border-bottom: 2px solid var(--color-primary); 
}

.btn3 a::before {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  bottom: 50%; 
  transform: translateY(50%);
  width: 50px; 
  height: 50px; 
  border-radius: 50%;
  border: 1px solid var(--color-primary); 
  text-align: center;
  transition: 0.3s;
}

/* マウスオン時 */
.btn3 {
  color: #fff;
}
.btn3 a::before {
  border-color: #fff;
}
.btn3 a:hover::before {
  background-color: #fff;
}
.btn3 a::after {
  border-color: #fff;
}
.btn3 a:hover::after {
  border-color: var(--color-primary);
}


/*お問い合わせ
-------------------------------------------------------------*/
.contact-section {
  padding: 0 !important;
}

.contact-list .contact-item {
  text-align: center;
  position: relative;
  overflow-y: hidden;
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
  padding: 5rem 2rem;
}

/* 画面幅600px以上 */
@media screen and (min-width: 600px) {
  .contact-list .contact-item {
    margin: 0;
    align-items: center;
    justify-content: center;
  }
}

.contact-list .contact-item {
  background: url("../images/contact.jpeg") no-repeat center center / cover;
}

.contact-list h4 {
  font-weight: 300;
  line-height: 1.1;
}

.contact-list h4 .main-heading {
  display: block;
  font-size: 4rem;
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

/* 画面幅600px以上 */
@media screen and (min-width: 600px) {
  .contact-list h4 .main-heading {
    font-size: 4rem;
  }
}

.contact-list h4 .sub-heading {
  position: relative;
  padding: 0 3rem;
}

/* 左右のライン */
.sub-heading::before {
  left: 0;
}

.sub-heading::after {
  right: 0;
}

.contact-list h4 .sub-heading::before, .contact-list h4 .sub-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1.5rem;
  border-top: 1px solid #fff;
}

.contact-list .contact-item .contact-text {
  position: relative;
  z-index: 1;
  font-size: 0.85rem;
}

/* アニメーション */
.contact-list .contact-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition: transform 0.3s 0.1s;
}

.contact-list .contact-item:hover::before {
  transform: translateY(-100%);
}


/*フッター
-------------------------------------------------------------*/
footer {
  background: var(--color-primary);
  color: var(--color-inverse);
  padding: 5vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

footer h4 {
  font-weight: 200;
  font-size: 1.3rem;
}

footer p {
  margin: 0;
}

/* フッターカラム共通 */
.footer-column {
  flex: 1;
  min-width: 200px;
  padding: 0 1rem;
}

/* フッターメニュー */
.footer-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu li {
  margin-bottom: 0.5rem;
}

.footer-menu a {
  text-decoration: none;
  color: var(--color-inverse);
  font-weight: 300;
  transition: color 0.3s;
}

.footer-menu a:hover {
  color: var(--color-lightgreen);
}

/* フッター会社情報 */
.footer-company {
  text-align: left;
}

/* フッターロゴ */
.footer-logo {
  text-align: left;
}

.footer-logo img {
  max-width: 110px;
  height: auto;
	margin-left: 1rem;
}

/* 画面幅768px以下 */
@media (max-width: 768px) {
  footer {
    flex-direction: column;
    align-items: center;
    padding-bottom: 15%;
  }

  .footer-column {
    text-align: center;
    padding: 1rem 0;
  }

  .footer-logo {
    text-align: left;
  }

.footer-logo {
  text-align: center;
}

.footer-logo img {
  max-width: 110px;
	margin-left: 0;
}
}

@media (min-width: 768px) {
.footer-menu ul {
	display: flex;
	flex-wrap: wrap;
}

.footer-menu li {
  margin: 0.1rem 1.5rem 0 0;
}
.footer-menu a:hover {
  font-size: 1em !important;
}
}

/*ページ上部へ戻る
-------------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}

.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: #7eb63c;
  border: solid 2px #7eb63c;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  opacity: 0; 
  pointer-events: none; 
  transition: opacity 0.3s ease; /
}

/* 戻る矢印 */
.pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(20%) rotate(-45deg);
}

/* 画面幅500px以下 */
@media screen and (max-width:600px) {
  .pagetop {
    bottom: 80px;
  }
}


