@charset "UTF-8";

:root {
    /* グローバルのCSS Variablesを上書きする場合にはここに記述 */
    --font-family-headline: "Noto Serif JP", serif;
    --font-family-main: "Noto Serif JP", serif;
    --margin:40;
    --block-margin-ratio:1.425;
    --section-margin-ratio:3.525;
    --color-banner-bg: #000000;
    --color-button-bg: #000000;
}

body {
    animation-name:loading;
    animation-duration:1s;
    animation-fill-mode:forwards;
    animation-delay:0.4s;
    opacity:0;
    background-color: #faf4e1;
}

@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

header{
    margin-bottom:0 !important;
}

.h3{
    font-weight: 600;
    color: #212121;
}

.p-gf__main{
    background-color: #fff !important;
}

.hr_sepline{
    height: 1px; 
    width:68px;
    border: none; 
    background-color: black;
    line-height: 0;
    /*margin:104.5px auto 102.5px;*/
    margin:6.53125rem auto 6.40625rem;
}

.hr_sepline_bottom_image{
    height: 1px; 
    width:68px;
    border: none; 
    background-color: black;
    line-height: 0;
    /*margin:104.5px auto 109.5px;*/
    margin:6.53125rem auto 6.84375rem;
}

.hr_sepline_top_image{
    height: 1px; 
    width:68px;
    border: none; 
    background-color: black;
    line-height: 0;
    /*margin:119.5px auto 102.5px;*/
    margin:6.84375rem auto 6.40625rem;
}

.hero{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.profile_area{
    margin-top:3.75rem !important;
    margin-bottom:0 !important;
}

.prof{
    /*font-size:15px;*/
    font-size:0.9375rem;
}

.prof_name{
    font-weight: 700;
    font-size:1rem;
    display: inline-block;
    margin-bottom:0.5em;
    color: #212121;
}

.dialogist{
    font-weight: 700;
    color: #212121;
}

.spec{
    /*font-size:14px;*/
    font-size:0.875rem;
}

.spec_username{
    font-size: 1.2rem;
    display: inline-block;
    margin-bottom:0.25em;
    font-weight: 700;
    color: #212121;
}

.product_name{
    font-weight: 700;
    color: #212121;
    font-size: 1.2rem;
}

.spec_tb{
    margin-top: 1.875rem;
    width:100%;
}

.spec_tb_01{
    margin-top: 2.5rem;
}

.spec_tb th, .spec_tb td{
    font-size:0.875rem;
    font-weight: 400;
    text-align: left;
}

.spec_tb th{
    background-color: #868686;
    color: #ffffff;
    padding-top: 0.1em;
    padding-bottom: 0.1em;
    font-weight: 800;
}

 .spec_tb td{
    padding-top: 0.4em;
    padding-bottom: 0.4em;
 }

.spec_tb tr{
    border-bottom:solid 1px #bbbbbb;
}

.align_center{
    text-align: center !important;
}

.spec_tb tr:first-child{
     border-bottom:none;   
}

.col1{
    width:21%;
    padding-left:0.5em;
}
.col2{
    width:11%;
}
.col3{
    width:29%;
}
.col4{
    width:12%;
}
.col5{
    width:14%;
}
.col6{
    width:13%;
}

.col3 span{
    margin-left:-0.5em;
    font-size:90%;
}

.col1 span{
    margin-left:-0.5em;
}

.attention{
    margin-top:0.4rem;
    line-height: 1.4;
}

.product_spec{
    font-size:0.875rem;
}

.logo_bottom{
    /*width:249px;*/
    width:15.5625rem;
    text-align: center;
    line-height:0;
    margin-left:auto;
    margin-right:auto;
    /*margin-top:200px;
    margin-bottom:30px;*/
    margin-top:12.5rem;
    margin-bottom:1.875rem;
}
.logo_bottom img{
    max-width: 100%;
    height: auto;
}

.secsep{
    /*
    margin-top:120px;
    margin-bottom:120px;
    */
    margin-top:7.5rem;
    margin-bottom:7.5rem;
    --vl-ratio: 0.8;
}

@media only screen and (min-device-width: 768px) and (max-width: 1160px) {
    .left_text{
        padding-left:1.25rem;
    }
    .right_text{
        padding-right:1.25rem;
    }
}


@media only screen and (min-device-width: 768px) and (max-width: 1160px) {
    .product_spec{
        width:calc(100vw - 2.5rem) !important;
    }
}


/*20251203-------------------------------------*/
.p-gf__main__menu ul {
  display: flex;
  flex-wrap: wrap;
}
.p-gf__main__menu a {
  display: inline-block;
  width: auto;
  margin: 10px auto 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4rem;
  font-weight: 400;
  color: #000;
}
.p-gf__main__menu a:hover {
  text-decoration: underline;
}
.p-gf__main__menu ul li {
  margin: 0 0 0 0.75rem;
}
.p-gf__main__menu ul li:nth-child(1) {
  margin: 0;
}
.p-gf__main__menu ul li::after {
  content: "|";
  color: rgba(0,0,0,0.3);
  margin: 0 0 0 0.75rem;
  padding: 0 0 0 0;
  font-size: 14px;
}
.p-gf__main__menu ul li:nth-last-child(1)::after {
  content: "";
}
@media (max-width: 768px) {
  .p-gf__main__menu ul {
    justify-content: space-between;
  }
  .p-gf__main__menu ul li {
    margin: 0;
  }
  .p-gf__main__menu ul li::after {
    content: "";
    margin: 0 0 0 0.75rem;
  }
  .p-gf__main__menu a {
    text-decoration: underline;
  }
}
/*---------------------------------------------*/

@media only screen and (min-device-width: 320px) and (max-width: 767px) {

    .hr_sepline{
        width:18.13333333vw;
        /*margin:87px auto 86px;*/
        margin:23.2vw auto 22.93333333vw;
    }

    .hr_sepline_bottom_image{
        width:18.13333333vw;
        /*margin:87px auto 93px;*/
        margin:23.2vw auto 24.8vw;
    }

    .hr_sepline_top_image{
        width:18.13333333vw;
        /*margin:93px auto 86px;*/
        margin:24.8vw auto 22.93333333vw;
    }

    .secsep{
        /*margin-top:92px;
        margin-bottom:92px;*/
        margin-top:24.53333333vw;
        margin-bottom:24.53333333vw;
    }

    .logo_bottom{
        /*margin-top:155px;
        margin-bottom:30px;*/
        margin-top:41.33333333vw;
        margin-bottom:8vw;
    }

    .product_spec{
        width: 21.875rem !important;
    }

    .spec_tb_container{
        overflow-x: scroll;
    }

    .spec_tb_container .spec_tb{
        width:140vw;
    }

}