*{
    margin:0;
    padding:0;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}
::after,
::before{
    box-sizing:border-box;
}
:root{
    --hex-primary:#0C0A09;
    --hex-secondary:#44403D;
    --hex-alt:#D6D3D1;
    --hex-background:#FAFAF9;
    --hex-white:#FFF;
    --hex-black:#000;
    --hex-grey:#F3F3F6;
    --hex-danger:#FA5252;
    --hex-success:#10b981;
    --hex-hightlight:#CE5636;
    --font-xs:.875rem;
    --font-sm:clamp(.875rem,.14vi + .77rem,.938rem);
    --font-base:clamp(1rem,.26vi + .94rem,1.25rem);
    --font-md:clamp(1.25rem,.39vi + 1.16rem,1.625rem);
    --font-lg:clamp(1.75rem,.52vi + 1.63rem,2.25rem);
    --font-xl:clamp(1.875rem,1.31vi + 1.58rem,2.625rem);
    --font-w-base:400;
    --font-w-md:500;
    --default-font:"Roboto Condensed",sans-serif;
    --ja-font:"Noto Sans JP",sans-serif;
    --nippon-r-font:'Nippo-Regular';
    --nippon-m-font:'Nippo-Medium';
    --text-center:center;
    --margin-xs:clamp(1.25rem,2.42vi + .68rem,2.5rem);
    --margin-sm:clamp(2.5rem,4.85vi + 1.36rem,5rem);
    --margin-base:clamp(3.125rem,6.06vi + 1.7rem,6.25rem);
}
body{
    font-family:var(--default-font);
    font-size:var(--font-base);
    font-weight:var(--font-w-base);
    font-style:normal;
    position:relative;
    color:var(--hex-alt);
    background-color:var(--hex-primary);
    line-height:1.8;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    transition:background-color 1s ease;
}
h1,
h2,
h3,
h4,
h5,
h6{
    margin:0;
    outline:none;
    line-height:1.6;
}
p{
    letter-spacing:.125em;
}
a{
    display:inline-block;
    color:inherit;
}
a,
a:focus,
a:hover{
    outline:none;
    text-decoration:none;
}
a:hover{
    cursor:pointer;
}
main,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
div{
    display:block;
}
ul,ol{
    list-style:none;
}
li{
    list-style:none;
}
nav ul{
    list-style:none;
}
figure{
    position:relative;
    display:block;
    line-height:0;
}
figure figcaption{
    line-height:1.6;
}
table{
    width:100%;
}
table th{
    text-align:left;
}
iframe{
    border:none;
}
canvas{
    vertical-align:bottom;
}
blockquote,q{
    quotes:none;
}
blockquote:before,
blockquote:after,
q:before,
q:after{
    content:'';
    content:none;
}
strong{
    font-weight:800;
}
section{
    position:relative;
    padding:5rem 0;
}
span{
    display:inline-block;
}
button{
    font-family:inherit;
    background:transparent;
    border:0;
    color:inherit;
    cursor:pointer;
    letter-spacing:.06em;
    line-height:1.14;
    outline:0;
    padding:0;
}
img{
    width:100%;
    height:auto;
}
svg{
    width:100%;
    height:auto;
}
picture{
    display:block;
}
input,
textarea,
select,
button{
    font-size:var(--font-base);
    appearance:none;
    width:100%;
    padding:0;
    border:none;
    border-radius:0;
    line-height:1.6;
    color:var(--hex-primary);
    background:var(--hex-background);
    letter-spacing:.05em;
    -webkit-appearance:none;
    -moz-appearance:none;
    -webkit-text-size-adjust:100%;
}
textarea{
    resize:vertical;
    vertical-align:bottom;
}
input[type="submit"],
input[type="reset"],
input[type="button"],
button{
    transition:background .3s;
    cursor:pointer;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover{
    opacity:1;
}
textarea:focus,
input:focus{
    outline:none;
}
.container,
.container-lg,
.flex-container{
    position:relative;
    width:100%;
    margin:0 auto;
    padding:0 1.563rem;
}
.container{
    max-width:90rem;
}
.pc-hide{
    display:block;
}
.sp-hide{
    display:none;
}
.p-layout{
    min-height:100vh;
    overflow-x:hidden;
}
.flex{
    display:flex;
}
.h2-ttl{
    font-family:var(--nippon-m-font);
    font-size:var(--font-xl);
    letter-spacing:.155em;
    line-height:1.2;
}
.h2-lead{
    font-size:var(--font-md);
    font-weight:var(--font-w-base);
}
.h3-ttl{
    font-family:var(--nippon-m-font);
    font-size:var(--font-lg);
    letter-spacing:.155em;
    line-height:1.2;
}
.quote-txt{
    font-style:italic;
}
.grecaptcha-badge{
    display:none;
    visibility:hidden;
}
.site-copy{
    font-size:clamp(.5rem,.22vi + .45rem,.625rem);
    position:fixed;
    right:.625rem;
    bottom:.625rem;
    writing-mode:sideways-lr;
    line-height:1;
    letter-spacing:.155em;
    color:var(--hex-white);
    z-index:5;
    mix-blend-mode:difference;
}
.wpcf7 form.sent .wpcf7-response-output{
    text-align:center!important;
    border-color:transparent!important;
}

/*-- media query min64rem --*/
@media screen and (min-width:64rem){
.pc-hide{
    display:none;
}
.sp-hide{
    display:block;
}
}
/*-- media query max48rem --*/
@media (max-width:48rem){
    .contactform-modal .--inner{
        margin:1rem;
        padding:1.5rem;
    }
}