
body {
padding: 0;
margin: 0;
background-color: #ffffff;
font-family: "Noto Sans JP", sans-serif;
font-weight: 300;
}

html {
  scroll-behavior: smooth;
}

#contact {
  scroll-margin-top: 120px;
}

h1 {
margin: 0 auto;
width: 60%;
}

.thanks {
text-align: center;
}

h2 {
font-size:1.8rem;
text-align: center;
margin:8rem auto 0 auto;
}

h3 {
font-size:1.1rem;
font-weight:400;
text-align: center;
margin:3rem auto 0 auto;
}

h4 {
background-color:#0487df;
color:#fff;
font-size:1.1rem;
font-weight:400;
text-align: center;
padding:1.2rem 2.4rem;
margin:3rem auto;
display: inline-block;
}

.l-contents img {
max-width: 60%;
margin-inline: auto;
}

.img-wrap {
  position: relative;
}

.img03 {
  width: 100%;
  display: block;
}

.button01 {
  width: 560px;
  position: absolute;
  top: 76%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: transform 0.25s cubic-bezier(.25,.8,.25,1);
}

.button02 {
  width: 560px;
  position: absolute;
  top: 92%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: transform 0.25s cubic-bezier(.25,.8,.25,1);
}

.button03 {
  width: 560px;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: transform 0.25s cubic-bezier(.25,.8,.25,1);
}

.button01:hover, .button02:hover, .button03:hover {
  transform: translate(-50%, -50%) scale(1.02);
}

.img13 {
  width: 100%;
  display: block;
}

.map01 {
  width:50%;
  height:33vh;
  position: absolute;
  top:28%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border:0;
  margin:0 auto;
}

.map02 {
  width:50%;
  height:33vh;
  position: absolute;
  top:58%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border:0;
  margin:0 auto;
}

.map03 {
  width:50%;
  height:33vh;
  position: absolute;
  top:88%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border:0;
  margin:0 auto;
}

#privacy {
  font-size:16px;
	height: 300px;
	padding-right: 16px;
	overflow: auto;
  margin:0 auto;
}

.contents-box .txt-x {
  margin-left: 0.6rem !important;
}



/**
* Prettier ignore
*/

@media (prefers-reduced-motion: reduce) {

  *,
  *:before,
  *:after,
  ::backdrop {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

.l-inner {
  margin-inline: auto;
  max-width: 1480px;
  width: 100%;
}

img {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  height: auto;
}

.links {
  margin-top: -2px;
  padding-block: min(5vw, 97px) min(3vw, 48px);
  padding-inline: 8vw;
  background-color: #fff;
}


.links-inner {
  max-width: 1010px;
  margin-inline: auto;
  display: flex;
  background-color: #FFF5D4;
  border-radius: 20px;
  box-shadow: 10px 16px 8px rgba(87, 87, 87, 0.2);
}

.links02 {
  margin-top: 62px;
  max-width: 1010px;
  margin-inline: auto;
  background-color: #FFF5D4;
  border-radius: 20px;
  box-shadow: 10px 16px 8px rgba(87, 87, 87, 0.2);
}

.links-inner02 {
  display: flex;
  align-items: center;
}


.link-button {
  display: block;
  margin-inline: auto;
  max-width: 80%;

}

.button {
  background-color: #fff;
  padding-bottom: min(4.8vw, 80px);
  padding-inline: 8vw;
}


.button.--bg-transparent {
  background-color: transparent;
}

.button img {
  margin-inline: auto;
  max-width: 1010px;
}

.products {
  background-color: #fff;
  padding-bottom: min(6.7vw, 130px);
  padding-inline: min(4.8vw, 80px);
}

.products .splide__slide a {
  display: block;
  overflow: hidden;
}

@media(min-width: 768px) {
  .products .splide__slide a img {
    transition: .3s;
  }
}

/* header-image */
header img {
  position: relative;
  z-index: 1;
}

/* concept-image */
.concept-image {
  margin-top: max(-5.3125vw, -102px);
}

.contact {
  width: 60%;
  margin: 0 auto;
  padding: 2rem 0;
  background:#f1f1f1;
}

/* faq */
.faq {
  background-color: #e0e0e0;
}

.faq-inner {
  padding-top: 60px;
  padding-bottom:60px;
  max-width: 1420px;
  margin-inline: auto;
  padding-inline: 8vw;
}

.toggle {
	display: none;
}

.Label {	/*タイトル*/
	padding: 1em;
	display: block;
	color: #fff;
	background:#6b6b6b;
}

.Label::before{	/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}

.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}

.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}

.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}


.minus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #969696;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.plus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #969696;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s;
}

.plus-icon.active {
  transform: translateY(-50%);
}

footer {
  width:60%;
  margin:0 auto;
  background-color: #e7e7e7;
}

.footer-logo {
  max-width: clamp(200px, 21vw, 400px);
}

.footer-inner {
  padding-block: min(7vw, 70px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(4vw, 50px);
  font-size: clamp(14px, 1.8vw, 18px);
}

.footer-sns {
  padding: 0;
  list-style: none;
  display: flex;
  gap: 1.2rem;
}

.footer-sns-link img {
  max-width: clamp(42px, 7vw, 56px);
}

.footer-sns-link a {
  transition: .3s;
  cursor: pointer;
}

.footer-nav-lists {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

.footer-nav-list a {
  color: inherit;
  text-decoration: none;
  transition: .5s;
  font-size: clamp(12px, 1.5vw, 14px);
  font-weight: 500;
}

.copyright {
  width:100%;
  display: block;
  text-align: center;
  font-size: 10px;
  padding-block: 30px 30px;
}

.shadow {
  box-shadow: 8px 0 20px rgba(0, 0, 0, 0.3);
}


@media(max-width: 767px) {

  #contact {
  scroll-margin-top: 60px;
  }

  h1 {
  margin: 0 auto;
  width: 100%;
  }
  
  .l-contents img {
  max-width: 100%;
  margin-inline: auto;
  }

  .links {
    padding-block: 2rem;
  }
  
  footer {
  width:100%;
  margin:0 auto;
  }

  .copyright {
  width:100%;
  padding:20px 0;
  }
  
  .footer-nav-lists {
    flex-direction: column;
  }

  .footer-inner dl {
    text-align: center;
  }

  .footer-nav-lists {
    padding-left: 0;
    gap: 10px;
  }

   .links02 {
    margin-top: 1.5rem;
    border-radius: 10px;
  }

  .links-inner {
    border-radius: 10px;
    box-shadow: 5px 8px 4px rgba(46, 131, 188, .2);
  }

   .splide {
    max-width: 280px;
    margin-inline: auto;
  }

  .concept-image {
    margin-top: max(-5.57142vw, -40px);
  }

  .button01 {
  width: 260px;
  position: absolute;
  top: 78%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: transform 0.25s cubic-bezier(.25,.8,.25,1);
  }

  .button02 {
  width: 280px;
  position: absolute;
  top: 92%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: transform 0.25s cubic-bezier(.25,.8,.25,1);
  }

  .button03 {
  width: 280px;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  transition: transform 0.25s cubic-bezier(.25,.8,.25,1);
  }

  .minus-icon {
  width: 16px;
  height: 2px;
  right: 8px;
  }

  .plus-icon {
  width: 16px;
  height: 2px;
  right: 8px;
  }

  .contact {
  width: 100%;
  margin: 0 auto;
  padding: 2rem 0;
}

.map01 {
  width:330px;
  height:150px;
  position: absolute;
  top:28%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border:0;
  margin:0 auto;
}

.map02 {
  width:330px;
  height:150px;
  position: absolute;
  top:58%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border:0;
  margin:0 auto;
}

.map03 {
  width:330px;
  height:150px;
  position: absolute;
  top:88%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border:0;
  margin:0 auto;
}

#privacy {
    height: 220px;
    padding-right: 16px;
    overflow: auto;
}

}

