/*
Theme Name: qt
*/

@charset "utf-8";
body {

}
.red {
    color: red;
}
html {
  scroll-behavior: auto !important; /* スムーススクロール無効 */
}

@media (min-width: 1200px){
	.container {
	width: 1080px;
	}
}



/*all*/
.pc_on {
    display: block;
}
.pc_non {
    display: none;
}
.page_top {
  margin: 80px 0 0 0;
}
.bg01 {
  padding: 100px 0;
}
.bg02 {
    background: #f2f9fd;
    padding: 100px 0;
}
.bg03 {
    background: #1F4A9E;
    padding: 100px 0;
}

.ttl_box {
    width: 100%;
    margin: 0 0 30px 0;
    text-align: center;
}

.ttl01 {
    font-size:4.2rem;
    font-weight: bold;
    color: #009fe8;
}
.ttl01_s {
    margin: -10px 0 0;
    font-size: 1.8rem;
}
.ttl_box02 {
    width: 100%;
    margin: 120px 0 30px 0;
    text-align: center;
}
.ttl02_h {
    margin: 0;
    font-size: 2.4rem;
    font-weight: bold;
}
.ttl02_f {
    font-size:4.2rem;
    font-weight: bold;
}
.cont_box01 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.cont_box01_in {
    width: 50%;
    padding: 30px;
}
.cont_box01_in02 {
    width: 33.333%;
    padding: 15px;
}
.cont_box80_02 {
    width: 80%;
    margin: 100px auto 0;
}
.red_bld {
    color: #e60012;
    font-weight: bold;
}
.wht_bld {
    color: #fff;
    font-weight: bold;
}
.read {
    text-align: center;
}

.read_S {
    font-size: 1.8rem;
}

.btn02{
    border-radius: 100px;
    display: block;
    margin: 80px auto 0;
    width: 500px;
    padding: 10px;
    box-sizing: border-box;
    background: #1F4A9E;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    transition:0.2s;
}
.btn02:hover{
    text-decoration: none;
    background: #009fe8;
    color: #FFF;
}
footer {

    padding: 20px 0 50px;
    background: #1F4A9E;
    text-align: center;
    color: #FFF;
}

.contact-btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  
  background: #1F4A9E;
  color: #fff;
  padding: 15px 20px;
  text-decoration: none;
  font-size: 2.6rem;
  font-weight: bold;
  
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  z-index: 9999;
}
.contact-btn:hover {
  background: #e65c00;
  color: #fff;
}

.footer-nav {
    display: none;
}


@media screen and (max-width: 768px) {
.pc_on {
    display: none;
}
.pc_non {
    display: block;
}

.bg01 {
  padding: 60px 0;
}
.bg02 {
    background: #f2f9fd;
    padding: 60px 0;
}
.bg03 {
    background: #1F4A9E;
    padding: 60px 0;
}


.read {
    text-align: left;
}   
.read_S {
    font-size: 1.6rem;
}

.ttl02_f {
    font-size:3rem;
    line-height: 1.3;
}

.btn02{
    width: 300px;
    font-size: 2rem;
}

.cont_box01 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.cont_box01_in02 {
    width: 50%;
    padding: 10px;
}
.cont_box80_02 {
    width: 100%;
    margin: 100px auto 0;
}
}

@media screen and (max-width: 1230px) {
.contact-btn {
    display: none;
}

.footer-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;

  height: 40px;
  display: flex;

  z-index: 9999;
}

.footer-btn {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  color: #000;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
}

.footer-btn.left {
  background: #ffff00;
  border-right: 1px solid #000;
}

.footer-btn.right {
  background: #ffff00;
}
}

/*mainvisual*/
#mainvisual {
    width: 100%;
    height: auto
}

/*index_page*/
.index_box {
    display: flex;
    gap: 20px; 
}
.index_box_in_3 {
    flex: 1; 
    padding: 30px;
    background-color: #FFF;
    border-radius: 10px;
}
.index_box_in_3 h3 {
    margin: 0 0 20px 0;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}
.index_box_in_4 {
    flex: 1; 
    padding: 10px;
}
.index_kaiketsu {
    width: 80%;
    margin: 50px auto 0;
}
@media screen and (max-width: 768px) {
.index_box {
    display: block;
    gap: 20px; 
}
.index_box_in_3 {
    width: 80%;
    margin: 0 auto 30px;
    padding: 30px;
    background-color: #FFF;
    border-radius: 10px;
}
.index_box_in_3:last-child {
    margin: 0 auto 0;
}
.index_box_in_3 h3 {
    font-size: 2rem;
}
}


/*sub_page*/
#sub_page_ttl {
  width: 100%;
  padding: 50px 0;
  background-color: #14386D;
  text-align: center;
}
#sub_page_ttl h2 {
  font-size: 3rem;
  color: #fff;
}


/*fwater_page*/
.food_box {
    width: 100%;
    margin: 50px 0;
    display: flex;
    flex-wrap: wrap;
}
.food_box_in {
    width: 20%;
}

.pfas {
    width:80%;
    margin: 0 auto 100px;
    padding: 20px;
    color: #fff;
    background-color: #e60012;

  
}
.pfas h3 {
    margin: 0 0 10px 0;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 640px) {
    .food_box_in {
        width: 33.3%;
    }
    .pfas {
        width:100%;
    
      
    }
    .pfas h3 {
        margin: 0 0 10px 0;
        font-size: 2.2rem;
        font-weight: bold;
        text-align: center;
    }
    
}

/*product*/
.product {
    width: 100%;
    margin: 60px 0 0 0;
    padding: 50px;
    background-color: #FFF;
    border-radius: 20px;
    box-shadow: 2px 2px 2px 1px rgb(0 0 0 / 10%);
}
.product_name {
    font-size: 2.6rem;
    font-weight: bold;
}

.product_box_A {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.product_box_A_L {
    width: 41%;
    margin: 0 1.5%;
    order: 1;
}
.product_box_A_R {
    width: 49.5%;
    margin: 0 1.5% 0 5%;
    order: 2;
}
.product_features li {
    width: 100%;
    margin: 0 0 10px 0;
    padding: 10px;
    text-align: center;
    border: 3px solid #e60012;
    color: #e60012;
    font-weight: bold; 
}
.product_features li p {
    font-size: 1.8rem;
}

.product_features_txt01 {
    color: #e60012;
    font-size: 4rem;
    font-weight: bold;
}

.product_box_B {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.product_box_B_in {
    width: 44%;
    margin: 2%;
    order: 1;
    display: flex;
    flex-wrap: wrap;
}

.product_box_B_in_L {
    width: 30%;
    order: 1;
}

.product_box_B_in_R {
    width: 70%;
    order: 1;
}

.product_tan_name {
    font-size: 2rem;
    font-weight: bold;
}

.product_tan_txt {
    font-size: 1.24rem;
}

.fwater_img {
    width: 100%;
    margin: 0 auto 50px;
}

@media screen and (max-width: 640px) {
    .product {
        padding: 20px 10px;
    }
    .product_name {
        font-size: 2rem;
    }
    .product_box_A_L {
        width: 70%;
        margin: 0 auto 50px;
    }
    .product_box_A_R {
        width: 100%;
        margin: 0 1.5% 0 0;
    }
    .product_features li p {
        font-size: 1.5rem;
    }
    
    .product_features_txt01 {
        color: #e60012;
        font-size: 4rem;
        font-weight: bold;
    }

    .product_box_B {
        width: 80%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }
    .product_box_B_in {
        width: 100%;
        margin: 2%;
        order: 1;
        display: flex;
        flex-wrap: wrap;
    }
    
    .product_box_B_in_L {
        width: 80%;
        margin: 0 auto;
        order: 1;
    }
    
    .product_box_B_in_R {
        width: 100%;
        order: 1;
    }
}

/*faq*/
.faq_list {
    height: 100%;
    box-sizing: border-box;
    padding: 18px 24px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 2px 6px rgb(0 0 0 / 16%);
    transition: .3s;
    color: #0E367D;
    font-weight: 700;
}
.faq_link {
    display: block;
    height: 100%;
    width: 100%;
}
.faq_link:hover, .faq_link:focus {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.36);
  }
.faq_link_headline {
    display: flex;
    align-items: center;
    color: #0E367D;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.04em;
}
.faq_link_headline img {
    margin-right: 8px;
}
.faq_link_headline-text {
    flex: 1;
}
.qa-list dl {
    position: relative;
    margin: 0;
    padding: 14px 80px 14px 30px;
    cursor: pointer;
    border-bottom: 1px dotted #717071;
}
.qa-list dl:first-child {
}
.qa-list dl::before {
    position: absolute;
    top: 25px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 16px;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #3285bf;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

.qa-list dl dt {
    border-left: none;
}

@media screen and (max-width: 767px) {
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}

/*voice_pv*/
.voice_pv {
    width: 100%;
    margin:30px 0 0 0;
    padding: 50px;
    display: flex;
    flex-wrap: wrap;
}
.voice_pv_in  {
    width: 46%;
    margin: 2%;
    padding: 50px;
    background-color: #f2f9fd;
    border-radius: 20px;
    box-shadow: 2px 2px 2px 1px rgb(0 0 0 / 10%);
}
.voice_pv_spec {
    margin: 20px 0;
}
.voice_pv_btn{
    border-radius: 100px;
    display: block;
    margin: 0;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    background: #1F4A9E;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    transition:0.2s;
}
.voice_pv_btn:hover{
    text-decoration: none;
    background: #009fe8;
    color: #FFF;
}
@media screen and (max-width: 640px) {
.voice_pv {
    padding: 0 20px;
}
.voice_pv_in  {
    width: 100%;
    margin: 0 0 50px 0;
    padding: 20px;
}
.voice_pv_spec {
    margin: 20px 0;
}
.voice_pv_spec p {
    font-size: 1.4rem;
}
}


/*company*/
.tbl_01 {
    width: 100%;
}
.tbl_01 tr {
    border-top: solid 1px #ccc;
}
.tbl_01 tr:last-child {
    border-bottom: solid 1px #ccc;
}
.tbl_01 th {
    background: #f7f7f7;
    padding: 20px;
    width: 20%;
    font-size: 1.4rem;
}
.tbl_01 td {
    padding: 20px;
    font-size: 1.4rem;
}
.company_map {
    margin: 80px 0 0 0;
}
.googlemap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.googlemap iframe,
.googlemap object,
.googlemap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
   
  @media screen and (max-width: 640px) {
    .tbl_01 {
      width: 100%;
    }
    .tbl_01 th,
    .tbl_01 td {
  　　border-bottom: none;
      display: block;
      width: 100%;
    }
}

.tbl_02 {
    width: 100%;
}
.tbl_02 tr {
    border-top: solid 1px #ccc;
}
.tbl_02 tr:last-child {
    border-bottom: solid 1px #ccc;
}
.tbl_02 th {
    background: #f7f7f7;
    padding: 10px 20px;
    width: 20%;
    font-size: 1.4rem;
    font-weight: normal;
}
.tbl_02 th span {
    font-size: 1.2rem;
}
.tbl_02 td {
    padding: 10px 20px;
    font-size: 1.4rem;
}
   
  @media screen and (max-width: 767px) {
    .tbl_02 {
      width: 100%;
    }
    .tbl_02 th,
    .tbl_02 td {
  　　border-bottom: none;
      display: block;
      width: 100%;
    }
}