@charset "UTF-8";

@font-face {
    font-family: 'TWKL';
    /*src: url(/font/TWKLausanne-250.woff2) format('woff2');*/
    src: url(/font/CircularStd-Light.woff2) format('woff2'); 
}
@font-face {
    font-family: 'VNTN';
    src: url(/font/Venetian301BT-Regular.woff2) format('woff2');    
}
@font-face {
    font-family: 'VNTND';
    src: url(font/Venetian301DmBT-Regular.woff2) format('woff2');    
}

body > a > img {display: none !important;}

:root {
    --backgroundColor: #E8E8E8;
    --textColor: #000000;
    --textColor: #333344;
    --textColor: #3A4E5A;
    --darkColor: #121212;
    --darkText: #DDDBD1;

    --padding: 7vw;
    --pcPadding: 12.5vw;

    --bodyColor: #58582D;
    --gray: #D8D8D8;
    --mainColor: #88B82B;
    --outer-height: 100vh;
    --pX: 8px;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {font-size: 62.5%;}
html, body {
    width: 100vw;
    overflow-x: hidden;
    background-color: var(--backgroundColor);
    scroll-behavior: smooth;
}

/*GillSansMTPro-LightItalic / */
div, h1, h2, h3, h4, h5, h6, p, a, span, button {
    font-family: 'TWKL', 'A+NuLo-NPG クナド Kn2 W175',
    TsukuGoPr5-M,TsukuGoPro-M,
    "Yu Gothic Medium","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 400;
    color: var(--textColor);
    letter-spacing: .015em;
    -webkit-font-smoothing: antialiased;
    line-height: 1.8;
    font-display: swap;

    text-rendering: optimizeLegibility;
    font-kerning: normal;
    font-feature-settings: "palt";
    font-feature-settings: "ss01";
}
/*
FP-KoburinaGoStdN-W3, KoburinaGothicStd, "Koburina Gothic Std", "Koburina Gothic Std W3", 
"KoburinaGothicStdW3", こぶりなゴシック-Std, "こぶりなゴシック-Std", "こぶりなゴシック Std", 
"KoburinaGoStd-W3",KoburinaGoStd-W3,
*/

:lang(en) {
    letter-spacing: .005em;/*for astro*/
    letter-spacing: .01em;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
}

.serif {font-family: "VNTN", "A1 Mincho", serif;}

.h0 {font-size: 3rem;}
h1, .h1 {font-size: 2.0rem;}
h2, .h2 {font-size: 1.8rem;}
h3, .h3 {font-size: 1.6rem;}
h4, .h4 {font-size: 1.5rem;}
h5, .h5 {font-size: 1.3rem;}
h6, .h6 {font-size: 1.2rem;}
.h7 {font-size: 1rem;}


p, .p {
    line-height: 2.1;
    font-size: 1.25rem;
    letter-spacing: 0.01em;
    font-size: 1.25rem;
    letter-spacing: -.01em;
    text-align: left;
}
li {text-decoration: none;}
a {
    text-decoration: none;
    display: inline-block;
    transition: .75s ease-in-out;
}
a:hover {opacity: .85;}
a {-webkit-tap-highlight-color: rgba(0,0,0,0);}
a:active {color: var(--textColor);}
img {
    width: 100%;
    object-fit: cover;
    object-position: 50%;
}

.uppercase {text-transform: uppercase;}

.semitrans {opacity: .7;}
.white, .white * {color: white;}
.gray {color: var(--subColor);}
ul li {text-decoration: none;list-style: none;}
.flex {display: flex; justify-content: center; align-items: center;}

.wfull {width: 100%;}


main {
    margin: auto;
  }

.pc {display: none;}
.sp {display: block;}

section {padding: 0 var(--padding);}


@media screen and (min-width: 720px) {
    html {font-size: 60%;}

    section {padding: 0 var(--pcPadding);}
    .slug section {padding: 0 calc(1 * var(--pcPadding));}
}

@media only screen and (min-width: 481px) and (max-width: 720px) {
    html {font-size: 50%;}
}
  
@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
        /* For portrait layouts only */
}

@media screen and (min-width: 1280px) {
    html {font-size: 62.5%;}
    .h0 {font-size: 5.6rem;}
    h1, .h1 {font-size: 3.6rem;}
    h2, .h2 {font-size: 2.6rem;}
    h3, .h3 {font-size: 2.2rem;}
    h4, .h4 {font-size: 1.8rem;}
    h5, .h5 {font-size: 1.5rem;}
    h6, .h6 {font-size: 1.2rem;}
    .h7 {font-size: 1.0rem;}
p, .p {
    font-size: 1.45rem;
    text-align: left;
}
.sp {display: none;}
.pc {display: inline-block;}

}

@media screen and (max-width: 480px) {


}


