@charset "utf-8";/* CSS Document */* {  margin: 0;  padding: 0}img {  max-width: 100%;  height: auto;}a {  text-decoration: none;}a:hover {  opacity: 0.8;}ul, li {  list-style: none;}body {  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;  font-size: 18px;  color: #333333;}#header {  position: absolute;  width: 100%;  z-index: 99;}section {  line-height: 0;}.header-inner {  display: flex;  justify-content: space-between;}.h-logo {  margin: 30px;}.h-contact {  width: 60%;  text-align: right;  margin-right: 125px;}.hamb {  position: fixed;  cursor: pointer;  background-color: #D57D20;  z-index: 300;  right: 0;  top: 0;  width: 120px;  height: 120px;}.black-bg ul {  margin: 0;  padding: 0;  position: absolute;  left: 40%;  top: 40%;  transform: translate(-50%, -50%);}.black-bg ul li {  text-align: left;  padding: 20px 0;}.black-bg ul li a {  color: #333333;  font-size: 23px;  font-weight: bold;  display: block;  text-decoration: none;}.line {  position: absolute;  left: 17%;  width: 80px;  height: 5px;  background-color: #ffffff;  top: 15%;}.line:nth-child(2) {  top: 30%;  left: 17%;}.line:nth-child(3) {  top: 45%;  left: 17%;}.hamb-text {  position: absolute;  left: 30%;  bottom: 15%;  font-size: 20px;  color: #ffffff;}.black-bg {  position: fixed;  background: #E3D8BD;  top: 0;  right: -450px;  width: 450px;  height: 100%;  opacity: 0;  visibility: hidden;  overflow: hidden;}.black-bg.open {  opacity: 1;  visibility: visible;  right: 0;}#hamb.active .line {  background-color: #ffffff;}/*アニメーション*/.black-bg {  transition: opacity 0.35s, visibility 0.35s, width 0.35s;}#hamb.active .line:nth-child(1) {  transform: translateY(16px) translateX(0) rotate(45deg);}#hamb.active .line:nth-child(2) {  opacity: 0;  background: #FFF;}#hamb.active .line:nth-child(3) {  transform: translateY(-20px) translateX(0) rotate(-45deg);}.animation {  transition: all .6s;}.main-offical {  background-image: url("../img/main-offical.jpg");  background-repeat: no-repeat;  padding: 80px 0;  text-align: center;}.banner {  max-width: 911px;  width: 90%;}.contact {  background-image: url("../img/contact-bg.jpg");  background-repeat: no-repeat;  background-position: top;  padding: 200px 0 70px;  height: 730px;  text-align: center;}.contact-inner {  max-width: 1220px;  width: 95%;  margin: 0 auto 30px;}.features {  background-image: url("../img/features-ttl.jpg");  background-repeat: no-repeat;  background-position: top;  margin-top: 80px;}.features-inner {  padding-top: 15%;}.ceramic {  background-image: url("../img/ceramic-ttl.jpg");  background-repeat: no-repeat;  background-position: top;  margin-top: 90px;}.ceramic-inner {  padding-top: 15%;}.qa {  background-image: url("../img/qa-bg.jpg");  background-repeat: no-repeat;  background-position: top;  height: auto;  padding-bottom: 100px;}.qa-ttl {  text-align: center;  padding: 100px 0;}.qa-inner {  max-width: 1220px;  width: 95%;  margin: 0 auto;}.accordion {  margin-inline: auto;  margin-top: 100px;  max-width: 1000px;  position: relative;  width: 100%;  text-align: center;}.accordion-title {  color: #fff;  cursor: pointer;  font-size: 24px;  padding: 35px 0;}.accordion-content {  display: none;  padding: 30px;}/* タイトルの背景色 */.accordion-item:nth-of-type(1) .accordion-title {  background-color: #4D3606;}.accordion-item:nth-of-type(2) .accordion-title {  background-color: #66cdaa;}.accordion-item:nth-of-type(3) .accordion-title {  background-color: #ff7f7f;}/* コンテンツボックスの枠線 .accordion-item:nth-of-type(1) .accordion-content {  border-bottom: 2px solid #7f7fff;  border-left: 2px solid #7f7fff;  border-right: 2px solid #7f7fff;}.accordion-item:nth-of-type(2) .accordion-content {  border-bottom: 2px solid #66cdaa;  border-left: 2px solid #66cdaa;  border-right: 2px solid #66cdaa;}.accordion-item:nth-of-type(3) .accordion-content {  border-bottom: 2px solid #ff7f7f;  border-left: 2px solid #ff7f7f;  border-right: 2px solid #ff7f7f;}*//* 矢印 */.accordion-title {  position: relative;}.accordion-title::after {  border-right: solid 3px #fff;  border-top: solid 3px #fff;  content: "";  display: block;  height: 16px;  position: absolute;  right: 30px;  top: 30%;  transform: rotate(135deg);  transition: transform .3s ease-in-out, top .3s ease-in-out;  width: 16px;}.accordion-title.open::after {  top: 45%;  transform: rotate(-45deg);}.flow {  background-image: url("../img/flow01.jpg");  background-repeat: no-repeat;  background-position: top;  margin-top: 120px;}.flow-inner {  max-width: 1220px;  width: 95%;  margin: 0 auto;  text-align: center;  padding-top: 17%;}.introduction {  background-image: url("../img/introduction.jpg");  background-repeat: no-repeat;  background-position: top;  margin-top: 120px;}.introduction-inner {  margin-left: auto;  margin-right: auto;  max-width: 1300px;  width: 95%;  position: relative;  padding-top: 17%;}.swiper {  max-width: 1220px;  width: 95%;  margin: 0 auto;}/* 前への矢印 */.swiper-button-prev {  left: -30px !important;  top: 60% !important;  color: #815D49 !important;}/* 次への矢印 */.swiper-button-next {  right: -30px !important;  top: 60% !important;  color: #815D49 !important;}.swiper-button-prev:after, .swiper-button-prev:after {  font-size: 70px !important;}.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {  font-size: 70px !important;}.fee {  background-image: url("../img/fee-bg.jpg");  background-repeat: no-repeat;  background-position: top;  margin-top: 120px;}.fee-inner {  max-width: 1220px;  width: 95%;  margin: 0 auto;  text-align: center;  padding: 20% 0 5%;}.payment {  background-image: url("../img/payment.jpg");  background-repeat: no-repeat;  background-position: top;  margin-top: 120px;  height: 1034px;  position: relative;}.payment-btn {  position: absolute;  left: 43%;  bottom: 6%;}.greeting {  margin: 8% 0;}.offical {  background-image: url("../img/offical-bg.jpg");  background-repeat: no-repeat;  background-position: center;  padding: 250px 0 85px;  text-align: center;}.map {  text-align: center;  padding: 60px 5%;    display: flex;    gap: 30px;    flex-wrap: wrap;    max-width: 1500px;    margin: 0 auto;}.footer_map{    max-width: calc(50% - 30px);    width: 100%;}.footer_map p{    margin-bottom: 1rem;    font-size: max(1.4vw , 20px);    font-weight: 600;    color: #4d3606;}.cpylight {  background-color: #BFA670;  color: #ffffff;  padding: 13px 0;  text-align: center;}.pc {  display: block;}.sp {  display: none;}@media (max-width: 1280px) {  body {    font-size: 16px;  }  .features {    background-size: 100%;  }  .ceramic {    background-size: 130%;  }  .ceramic-inner {    padding-top: 20%;  }  .qa-ttl img {    width: 220px;  }  .accordion-item {    width: 95%;    margin: 0 auto  }  .flow {    background-size: 130%;  }  .flow-inner {    padding-top: 20%;  }  .introduction {    background-size: 130%;  }  /* 前への矢印 */  .swiper-button-prev {    left: -10px !important;  }  /* 次への矢印 */  .swiper-button-next {    right: -10px !important;  }  .fee {    background-size: 130%;  }  .fee-inner {    padding-top: 25%;  }  .payment {    background-size: 180%;  }  .payment-btn {    left: 37%;    bottom: 10%;  }}@media (max-width: 820px) {  .h-tel {    width: 160px;  }  .h-web {    width: 110px;  }  .payment {    height: 830px;  }  .payment-btn {    left: 35%;  }}@media (max-width: 768px) {  .payment {    height: 780px;  }  .payment-btn {    left: 35%;  }  .payment-btn {    left: 34%;  }    #footer .footer_map    {        max-width: 100%;        width: 100%;    }}@media (max-width: 425px) {  .sp {    display: block;  }  .pc {    display: none;  }  .hamb {    width: 60px;    height: 60px;  }  .line {    width: 40px;    height: 3px;  }  .hamb-text {    font-size: 16px;    left: 20%;    bottom: 10%;  }  #hamb.active .line:nth-child(1) {    transform: translateY(10px) translateX(0) rotate(45deg);  }  #hamb.active .line:nth-child(3) {    transform: translateY(-8px) translateX(0) rotate(-45deg);  }  .black-bg {    width: 250px;  }  .black-bg ul {    width: 100%;    top: 35%;    left: 65%;  }  .black-bg ul li a {    font-size: 16px;  }  .h-logo {    margin: 10px;  }  .h-logo img {    width: 150px;  }  .main-offical {    background-size: cover;    padding: 18px 0;  }  .contact {    background-image: url("../img/sp/contact-bg.jpg");    background-size: cover;    height: auto;    padding: 30px 0;  }  .contact-inner {    width: 95%;  }  .contact-web {    width: 300px;  }  .recommendation {    background-image: url("../img/sp/recommendation-bg.jpg");    background-repeat: no-repeat;    background-position: center;    background-size: cover;    padding: 15px 0;  }  .recommendation-img {    width: 90%;    margin: 0 auto;  }  .features {    margin-top: 30px;  }  .features01 {    margin-bottom: 30px;  }  .ceramic {    margin-top: 50px;  }  .ceramic-inner {    width: 95%;    margin: 0 auto 30px;  }  .qa {    background-size: cover;    padding-bottom: 20px;  }  .qa-ttl {    padding: 50px 0;  }  .qa-ttl img {    width: 120px;  }  .accordion {    margin-top: 30px;  }  .accordion-title {    font-size: 18px;    padding: 25px 0;  }  .contact-img {    width: 250px;  }  .flow {    margin-top: 30px;  }  .introduction {    margin-top: 50px;  }  .introduction-inner {    width: 90%;  }  swiper-button-prev:after, .swiper-button-prev:after {    font-size: 30px !important;  }  .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {    font-size: 30px !important;  }  .fee {    margin-top: 40px;  }  .payment {    height: 1633px;    margin-top: 0;      background: url("../img/sp/payment.jpg") no-repeat center/ cover;  }  .payment-btn img {    max-width: 2500px;  }  .payment-btn {    left: 50%;    bottom: 7%;      transform: translateX(-50%);  }  .offical {    background-size: cover;    padding: 60px 0 20px;  }  .map {    padding: 50px 5%;      flex-direction: column  }    #footer .footer_map    {        max-width: 100%;        width: 100%;    }}@media (max-width: 375px) {  .payment-btn {    left: 30%;  }  .payment {    height: 375px;  }}@media (max-width: 320px) {  .payment-btn {    left: 25%;  }  .payment {    height: 325px;  }}/*--------modal--------*//*infoエリアをはじめは非表示*/#info{	display: none;}#info_tel{	display: none;}/*モーダルの横幅を変更したい場合*/.modaal-container{    max-width: 500px;}/*モーダルのボタンの色を変更したい場合*/.modaal-close:after, .modaal-close:before{	background:#ccc;	}.modaal-close:focus:after,.modaal-close:focus:before,.modaal-close:hover:after,.modaal-close:hover:before{	background:#666;}.modaal-content-container{    display: flex;    flex-direction: column;    gap: 30px;    padding: 50px;}.modal_wrap{    width: 100%;}.modal_wrap p{    margin-bottom: 10px;    padding-left: 10px;}.modal_wrap h2{    font-size: 24px;    font-weight: 600;    margin-bottom: 20px;    padding-bottom: 10px;    border-bottom: 1px solid #333333;}.modal_wrap a{    color: #333333;}.modal_wrap a:hover{    opacity: .6;}a.modal_web,a.modal_line{    position: relative;    padding-left: 30px;}a.modal_web::before{    content: "";    position: absolute;    left: 0;    top: 50%;    transform: translateY(-50%);    background: url("../img/web_icon.png") no-repeat center / contain;    width: 19px;    height: 19px;}a.modal_line::before{    content: "";    position: absolute;    left: 0;    top: 50%;    transform: translateY(-50%);    background: url("../img/line_icon.png") no-repeat center / contain;    width: 21px;    height: 20px;}p .modal_tel {    font-size: 24px;}