@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: "Noto Sans JP" , "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";  font-size: 18px;  color: #333333;    line-height: 1.8;    font-weight: 500;}#header {  position: absolute;  width: 100%;  z-index: 99;    top: 0;    left: 0;}.header-inner {  display: flex;  justify-content: space-between;    align-items: center;    height: 108px;}.h-logo {  padding: 10px 0 10px 3vw;}.h-contact {  width: 60%;  text-align: right;  margin-right: 80px;  display: flex;  justify-content: flex-end;  align-items: center;}.h-contact a{    padding: 0 20px;}.h_tel{    max-width: 300px;}.catch{    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50% , -50%);    width: 100%;    font-size: max(3vw , 20px);    font-weight: 600;    color: #FFFFFF;     text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.8);    text-align: center;}.hamb {  position: fixed;  cursor: pointer;  background-color: #67CAFF;  z-index: 300;  right: 0;  top: 0;  width: 100px;  height: 100px;}.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: 30%;  width: 40px;  height: 2px;  background-color: #ffffff;  top: 20%;}.line:nth-child(2) {  top: 33%;  left: 30%;}.line:nth-child(3) {  top: 46%;  left: 30%;}.hamb-text {  position: absolute;  left: 22%;  bottom: 15%;  font-size: 20px;  color: #ffffff;}.black-bg {  position: fixed;  background: #DEF3FF;  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);    left: 34%;}#hamb.active .line:nth-child(2) {  opacity: 0;  background: #FFF;}#hamb.active .line:nth-child(3) {  transform: translateY(-20px) translateX(0) rotate(-45deg);    top: 56%;  left: 34%;}.animation {  transition: all .6s;}.main{    position: relative;}.main img{    width: 100%;}.main .under{    position: absolute;    bottom: 0;    left: 0;    width: 100%;}.news{    background: #67CAFF;    padding-bottom: 50px;    gap: 30px;}.news_inner{    max-width: 1090px;    width: auto;    padding: 30px;    display: flex;    background: #FFFFFF;    margin-left: auto;    justify-content: space-between;}.news_ttl{    width: 20%;    text-align: right;    line-height: 1.6;}.news_ttl span{    color: #01A3FA;    font-size: max(2vw , 30px);    font-weight: 600;    font-family: "Montserrat", serif;}.news_contents{    height: 100px;  overflow-y: scroll;  padding: 20px 0;  width: 70%;}.news_contents dl{    display: flex;}.news_contents dl dt{    width: 25%;    font-weight: 600;    color: #01A3FA;}.news_contents dl dd{    width: 75%;}.about{    color: #FFFFFF;    background: #67CAFF;    padding: 80px 3% 100px;    position: relative;    margin-bottom: calc(10vw + 50px);}.about .h2_ttl span{    color: #FFFFFF;    font-family: "Montserrat", serif;}.about .inner{    position: relative;}.about .inner .flex-2{    position: relative;}.about_bg{    position: absolute;    bottom: -10vw;    left: 0;}.inner_bg{    position: absolute;    right: 0;    bottom: 0;    width: calc(280 / 1920* 100vw);    max-width: 280px;}.h2_ttl{font-size: max(1vw , 16px);    line-height: 1.6;    margin-bottom: 50px;    display: inline-block;  text-align: right;}.h2_ttl span{    font-size: max(2.4vw , 30px);    color: #01A3FA;    letter-spacing: 0.1em;}.inner{    max-width: 1420px;    margin: 0 auto;}.inner img{    margin: 0 auto;}.flex{    display: flex;    justify-content: space-between;    align-items: center;    gap:30px 50px;    flex-wrap: wrap;}.flex-2{    width: calc((100% - 50px) / 2);}.strengths{    padding: 50px 3% 10vw;    background: url("../img/strengths_bg.png") no-repeat center bottom / cover;}.contact {  padding: 100px 3% 70px;    padding: 50px;    background: #01A3FA;    border: 30px solid #67CAFF;    color: #FFFFFF;}.contact .h2_ttl span{    font-size: max(2.4vw , 30px);    margin-bottom: 50px;    color: #FFFFFF;    font-family: "Montserrat", serif;}.ttl_wrap{    display: flex;    justify-content: flex-start;    align-items: center;    gap: 50px;    margin-bottom: 50px;}.ttl_wrap .h2_ttl{    margin-bottom: 0;    white-space: nowrap;}.contact_inner{    max-width: 1176px;    margin: 0 auto;    background: #F8F6EF;    border-radius: 30px;    padding: 30px;}.contact_flex{    display: flex;    align-items: flex-start;    gap:50px;    justify-content: center;    margin-top: 50px;}.product{    padding: 150px 3%;    background: url("../img/product_bg.png")no-repeat center bottom / cover;}.product .flex{    gap: 60px 50px;    justify-content: flex-start;    flex-wrap: wrap;    align-items: flex-start;}.product .flex li{    width: calc((100% - 120px) / 3);}.company{    padding: 100px 3%;    background: url("../img/company_bg.png") no-repeat top center / cover;}.company_list{    display: flex;    flex-wrap: wrap;    font-weight: 600;}.company_list dt{    width: 20%;    margin-bottom: 20px;    padding-bottom: 20px;    border-bottom: 1px solid #BABABA;}.company_list dd{    width: 80%;    margin-bottom: 20px;    padding-bottom: 20px;    border-bottom: 1px solid #BABABA;}.contact_form{    background-color: #E4F6FF;    position: relative;    padding: 80px 3% 150px;}.contact_form .h2_ttl{font-size: max(1vw , 16px);    line-height: 1.6;    margin-bottom: 50px;    display: block;}.contactform_bg_top{    position: absolute;    left: 0;    top: 10%;    width: calc(719 / 1920* 100vw);    max-width: 719px;}.contactform_bg_bottom{    position: absolute;    right: 5%;    top: 40%;    width: calc(345 / 1920* 100vw);    max-width: 345px;}.center{    text-align: center;}.red{    color: #FF0000;}.contact_tel{    padding: 30px 0;    font-size: max(1.6vw , 24px);    font-weight: 600;}.contact_tel a{    color: #01A3FA;    font-family: "Montserrat", serif;}#contact_form .center {  text-align: center;  letter-spacing: 0;  word-break: keep-all;}form {  margin: 80px 0 40px;  text-align: left;  font-weight: 700;  line-height: 3;  container-type: inline-size;  container-name: form;  position: relative;  font-size: clamp(14px, 1vw, 20px);    margin-bottom: 50px;}#form .must {  margin-right: 20px;}.form_item--ttl {  padding: 0 0 16px 8px;  margin: 0 0 16px 0;  line-height: 1;}.form_item--ttl .sub {  font-size: min(3.0vw, 1.4rem);  line-height: 2;}.form_item--input {  padding: 0 0 16px 8px;  margin: 0 0 16px 0;}.form_item--input.radio {  display: flex;  flex-direction: column;}.form_item--input.radio label {  line-height: 2;}.form_item:nth-of-type(7) .form_item--input {  border-bottom: none;  margin: 0 0 40px 0;}label {  display: inline-block;}input[type="text"],input[type="tel"],input[type="email"],textarea {  display: block;  height: 48px;  width: 95%;  font-size: 20px;  padding: 6px;  background-color: #f4f3f3;  border-radius: 9px;  border: 1px solid #757575;}input[type="text"]:focus,input[type="tel"]:focus,input[type="email"]:focus,textarea:focus {  background-color: #ffffff !important;}input[type="text"]:-internal-autofill-selected,input[type="tel"]:-internal-autofill-selected,input[type="email"]:-internal-autofill-selected,textarea:-internal-autofill-selected {  appearance: menulist-button;  background-image: none !important;  background-color: #ffffff !important;  color: fieldtext !important;}@keyframes onAutoFillStart {  from {}  to {}}@keyframes onAutoFillCancel {  from {}  to {}}input:-webkit-autofill {  animation-name: onAutoFillStart;}input:not(:-webkit-autofill) {  animation-name: onAutoFillCancel;}input[type="radio"] {  margin: 0 3px 2px 5px;}textarea {  height: 252px;  resize: vertical;}input::placeholder {  font-family: var(--def);}textarea::placeholder {  font-family: var(--def);}.form_submit button {  width: 100%;  max-width: 294px;  background-color: #01A3FA;  padding: 14px;  margin: 0 auto;  position: relative;  display: flex;  justify-content: center;  align-items: center;  border: none;}.form_submit button:hover {  opacity: 0.5;}.form_submit button p {  font-size: max(1vw , 18px);  color: #ffffff;  text-align: left;  font-weight: 600;  letter-spacing: 0.1rem;}.contact_wrapper .contact {  display: none;}#contact_form p{  line-height: 1.5;}#form span.must{    padding: 5px 15px;    color: #FF0000;}.form_item{    padding-top: 10px;    border-top: 1px solid #01A3FA;}@media screen and (min-width: 960px) {  #company_01 .content_img::before {    top: 80%;    left: 0;  }   .map iframe{    aspect-ratio: 1135/520;  }  #contact_form .inner {    gap: 30px;  }  .form_item {    display: flex;    justify-content: center;    align-items: center;    max-width: 900px;    margin: 0 auto;  }    .form_item:nth-child(5)    {        border-bottom: 1px solid #01A3FA;    }  .form_item--input.radio {    display: flex;    flex-direction: row;    justify-content: flex-start;    align-items: center;    line-height: 2;    padding-left: 24px;    height: 80px;    margin-bottom: 0;    gap: 40px;  }  .form_item--ttl {    padding: 30px 10px;    width: 40%;    margin: 0;    height: 80px;  }  .form_item--input {    width: 60%;    margin: 0;    padding: 20px 60px 20px 30px;    line-height: 1;    height: 80px;  }  .form_item--ttl {    line-height: 1;  }  .form_item--input label {    line-height: 1;  }  .form_item:nth-of-type(5) .form_item--ttl {    border-bottom: none;    margin: 0 0 auto;  }  .form_item:nth-of-type(5) .form_item--input {    height: 300px;    border-bottom: none;  }  .form_item--input.big {    padding: 20px 10px;  }  .form_submit{    margin-top: 60px;  }}.bg_white{    background: #FFFFFF;    padding: 50px;    max-width: 1280px;    margin: 0 auto;}.bg_white .sub_ttl{    font-size: max(1.4vw , 24px);    font-weight: 600;    margin-bottom: 30px ;}.mb{    margin-bottom: 50px;}.border_box{   border: 1px solid #01A3FA;    padding: 30px;    max-width: 762px;    width: 100%;    margin: 0 auto;}/*アコーディオンタイトル*/.title {    position: relative;/*+マークの位置基準とするためrelative指定*/    cursor: pointer;    padding: 2% 5% 2% 60px;    transition: all .5s ease;    background: #E7F3E8;    font-size: 20px;    color: #43A047;    font-weight: 600;    display: flex;    align-items: center;    line-height: 1.6;}.title span{    background: #43A047;    color: #FFFFFF;    border-radius: 50%;    display: block;    width: 40px;  height: 40px;    text-align:center;  line-height: 40px;    margin-right: 10px;}.q_ttl{    position: relative;}.q_ttl::before{   content: "Q";    background: #43A047;    color: #FFFFFF;    border-radius: 50%;    display: inline-block;    width: 40px;  height: 40px;    text-align:center;  line-height: 40px;    margin-right: 10px;    position: absolute;    left: -50px;    top: 0; }/*アイコンの＋と×*/.title::before,.title::after{    position: absolute;    content:'';    width: 15px;    height: 2px;    background-color: #43A047;    }.title::before{    top:48%;    right: 15px;    transform: rotate(0deg);    }.title::after{        top:48%;    right: 15px;    transform: rotate(90deg);}/*　closeというクラスがついたら形状変化　*/.title.close::before{	transform: rotate(45deg);}.title.close::after{	transform: rotate(-45deg);}/*アコーディオンで現れるエリア*/.box {    display: none;/*はじめは非表示*/    background: #FBF8F2;    padding: 3%;    color: #F87D12;}.box p{    padding-left: 50px;    position: relative;    line-height: 1.6;    font-weight: 600;    letter-spacing: 0.06em;    padding-top: 5px;    font-size: 20px;}.box p::before{    content: "A";    background: #F87D12;    color: #FFFFFF;    border-radius: 50%;    display: inline-block;    width: 40px;  height: 40px;    text-align:center;  line-height: 40px;    margin-right: 10px;    position: absolute;    left: 0;    top: 0;}.teature{    padding: 50px 3%;}.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{    padding: 50px 3%;}.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;}.bnr{    padding: 50px 3%;}#footer{    padding: 80px 0;    background: url("../img/footer_bg.png") no-repeat bottom / contain;    background-position: bottom;}#footer .flex{    gap: 30px 50px;    align-items: flex-start;}.map {  max-width: calc(65% - 50px);  width: 100%;}.footer_info{    max-width: calc(35% - 50px);    width: 100%;}.company_info{    text-align: right;    margin-bottom: 30px;}.name{    font-size: max(1.4vw , 20px);    font-weight: 600;}.name span{    font-size: max(1vw , 18px);    color: #02A3F9;    margin-bottom: 10px;}.footer_map{    max-width: calc(50% - 30px);    width: 100%;}.f_tel{   font-size: max(1.6vw , 30px);    font-weight: 600; }.f_tel a{    color: #333333;}.f_access{    max-width: 438px;    width: 100%;    margin-left: auto;}.f_access .h2_ttl{    font-size: max(1.2vw , 18px);}.f_access dt{    width: 20%;}.cpylight {  background-color: #67CAFF;  color: #ffffff;  padding: 13px 0;  text-align: center;}.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) {  .payment {    height: 830px;  }  .payment-btn {    left: 35%;  }}@media (max-width: 768px) {    .sp {    display: block!important;  }  .pc {    display: none!important;  }    .main {  padding: 0;}    .header-inner {  height: 80px;}        .h-contact    {        display: flex;        width: 100%;        margin-right: 70px;    }    .h-contact a {  padding: 0 10px;}  .hamb {    width: 50px;    height: 50px;      right: 10px;      top:10px;  }  .line {    width: 32px;    height: 2px;      top: 20%;      left: 20%;  }    .line:nth-child(2) {display: none;        top: 34px;}    .line:nth-child(3) {  left: 20%;        top: 32%;}  .hamb-text {    font-size: 16px;    left: 12%;    bottom: 5%;  }  #hamb.active .line:nth-child(1) {    transform: translateY(10px) translateX(0) rotate(45deg);      width: 20px;      left: 30%;      top: 13%;        }  #hamb.active .line:nth-child(3) {    transform: translateY(-8px) translateX(0) rotate(-45deg);      width: 20px;      top: 50%;      left: 30%;        }  .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: 250px;  }  .main-offical {    background-size: cover;    padding: 18px 0;  }    .news_inner {  flex-wrap: wrap;}.news_ttl {  width: 100%;  text-align: left;  line-height: 1.6;}    .news_contents {  height: 100px;  overflow-y: scroll;  padding: 20px 0;  width: 100%;}    .flex-2 {  width: 100%;}    .ttl_wrap {  flex-wrap: wrap;}    .company {  padding: 80px 3%;}    .product {  padding: 80px 3%;}    .contact_flex {  display: flex;  align-items: center;  gap: 50px;  justify-content: center;  margin-top: 50px;  flex-direction: column;}    .product .flex li {  width: 100%;}  .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;  }  .bg_white {  padding: 50px 3%;}  .map {    padding: 50px 0 0;  }    #footer {  padding: 80px 0 0;}    #footer .map    {        max-width: 100%;        width: 100%;    }    .map iframe{    aspect-ratio: 768/520;  }    .footer_info {  max-width: 100%;  width: 100%;  padding: 0 3%;}    .border_box {  max-width: 100%;        width: auto;}    .contact {  padding: 30px;  border: 20px solid #67CAFF;}    .company_info {    text-align: center;    margin-bottom: 30px;}    }@media (max-width: 390px) {  .payment-btn {    left: 30%;  }  .payment {    height: 375px;  }    .product .flex li    {        width: 100%;    }        }@media (max-width: 320px) {  .payment-btn {    left: 25%;  }  .payment {    height: 325px;  }}/*リンクの形状*/#page-top a{	display: flex;	justify-content:center;	align-items:center;	width: 60px;	height: 60px;	text-align: center;	text-transform: uppercase; 	text-decoration: none;	font-size:0.6rem;	transition:all 0.3s;}#page-top a:hover{	opacity: .6;}/*リンクを右下に固定*/#page-top {	position: fixed;	right: 10px;	bottom:10px;	z-index: 2;    /*はじめは非表示*/	opacity: 0;	transform: translateX(100px);}/*　左の動き　*/#page-top.LeftMove{	animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime{  from {    opacity: 0;	transform: translateX(100px);  }  to {    opacity: 1;	transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove{	animation: RightAnime 0.5s forwards;}@keyframes RightAnime{  from {  	opacity: 1;	transform: translateX(0);  }  to {  	opacity: 1;	transform: translateX(100px);  }}/*==================================================フェードイン===================================*/.fadeIn{animation-name:fadeInAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeInAnime{  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.fadeUp{animation-name:fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 上から */.fadeDown{animation-name:fadeDownAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeDownAnime{  from {    opacity: 0;  transform: translateY(-100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 左から */.fadeLeft{animation-name:fadeLeftAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeLeftAnime{  from {    opacity: 0;  transform: translateX(-100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* 右から */.fadeRight{animation-name:fadeRightAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeRightAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeInTrigger,.fadeUpTrigger,.fadeDownTrigger,.fadeLeftTrigger,.fadeRightTrigger{    opacity: 0;}