@charset "UTF-8";

/*
@font-face {
    font-family: 'asty';
    src: url('assets/font/Astro.woff2') format('woff2');
}
*/
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');
/*
@font-face { font-family: 'FOT-筑紫ゴシック Pr5 M'; font-weight: bold; src: url('https://webfont.fontplus.jp/accessor/reqf/con=fp_a9584f131323b7a69ec403c1442164a4&cha=UTF-8&dmode=&aa=1&ab=0&l=aHR0cHMlM0ElMkYlMkZ3d3cua3lvdG8tYXJ0LmFjLmpwJTJGdCUyRg==&chws=&t=0&fa=Rk9ULeetkee0q-OCtOOCt-ODg-OCryBQcjUgTQ&lst=0&lsc=0&s=MTM3RU1OT1BTVFXjgIDjgIHjgILjgIXjgYLjgYTjgYrjgYvjgYzjgY3jgY_jgZHjgZPjgZXjgZfjgZrjgZvjgZ_jgaDjgaHjgaTjgabjgafjganjgarjgavjga7jgbLjgbPjgbbjgbnjgoHjgoLjgoTjgojjgonjgovjgo_jgpLjgqLjgqPjgqTjgqrjgqzjgq3jgq_jgrDjgrHjgrPjgrXjgrbjgrfjgrnjgrvjgr_jg4Pjg4Tjg4bjg4fjg4jjg4njg5Hjg5Pjg5Xjg5fjg5njg53jg57jg5_jg6Pjg6Xjg6fjg6njg6rjg6zjg63jg7Pjg7vjg7zkuIDkuI3kuK3kuovkuqzkurrku4vkvJrkvJ3kv6Hkv67lhYXlhaXlhajlhazlhbHlhoXlhpnlh7rliLbliqDljJbljZLljZrlj4vlj5blj7LlkIjlkozlk6HllY_lm57lnKjloLHlo7DlpInlpKflrZDlrablroXlrozlrp_lsYrlsaXluLjlubTluqflu7rlvI_lvaLlvozlvpfmg4XmhYvmiLvmiYvmjojmlZnmlofmlpnmlrDmlrnml6XmmI7mm7jmnIDmnKvmnKzmnZDmn5PmoLzmoYjmpa3mp5jmqZ_mrbTmsJfmtIvmt7HmvJTngrnniannibnnlJ_nlKPnlLvnmbrnmoTnm67nm7jnnJ_np5HnqIvnqbrnrYnnr4nntLnntbHnuZTnv5LogrLoh6roiI7oirjol53ooZPopoHopovoppbopqfoqJjoqqzoqrLoq4forJvosrvos4fos6rot7Xov73pgJrpgLHpgbrpg6jpg73ph5HplbfplovplpPpmaLpmbbppIrppKjvvIHvvIjvvInvvIvvvZ4&ivs=0'); }
@font-face { font-family: 'TsukuGoPr5-M'; font-weight: bold; src: url('https://webfont.fontplus.jp/accessor/reqf/con=fp_a9584f131323b7a69ec403c1442164a4&cha=UTF-8&dmode=&aa=1&ab=0&l=aHR0cHMlM0ElMkYlMkZ3d3cua3lvdG8tYXJ0LmFjLmpwJTJGdCUyRg==&chws=&t=0&fa=VHN1a3VHb1ByNS1N&lst=0&lsc=0&s=MTM3RU1OT1BTVFXjgIDjgIHjgILjgIXjgYLjgYTjgYrjgYvjgYzjgY3jgY_jgZHjgZPjgZXjgZfjgZrjgZvjgZ_jgaDjgaHjgaTjgabjgafjganjgarjgavjga7jgbLjgbPjgbbjgbnjgoHjgoLjgoTjgojjgonjgovjgo_jgpLjgqLjgqPjgqTjgqrjgqzjgq3jgq_jgrDjgrHjgrPjgrXjgrbjgrfjgrnjgrvjgr_jg4Pjg4Tjg4bjg4fjg4jjg4njg5Hjg5Pjg5Xjg5fjg5njg53jg57jg5_jg6Pjg6Xjg6fjg6njg6rjg6zjg63jg7Pjg7vjg7zkuIDkuI3kuK3kuovkuqzkurrku4vkvJrkvJ3kv6Hkv67lhYXlhaXlhajlhazlhbHlhoXlhpnlh7rliLbliqDljJbljZLljZrlj4vlj5blj7LlkIjlkozlk6HllY_lm57lnKjloLHlo7DlpInlpKflrZDlrablroXlrozlrp_lsYrlsaXluLjlubTluqflu7rlvI_lvaLlvozlvpfmg4XmhYvmiLvmiYvmjojmlZnmlofmlpnmlrDmlrnml6XmmI7mm7jmnIDmnKvmnKzmnZDmn5PmoLzmoYjmpa3mp5jmqZ_mrbTmsJfmtIvmt7HmvJTngrnniannibnnlJ_nlKPnlLvnmbrnmoTnm67nm7jnnJ_np5HnqIvnqbrnrYnnr4nntLnntbHnuZTnv5LogrLoh6roiI7oirjol53ooZPopoHopovoppbopqfoqJjoqqzoqrLoq4forJvosrvos4fos6rot7Xov73pgJrpgLHpgbrpg6jpg73ph5HplbfplovplpPpmaLpmbbppIrppKjvvIHvvIjvvInvvIvvvZ4&ivs=0'); }
@font-face { font-family: 'FOT-筑紫ゴシック Pro B'; font-weight: bold; src: url('https://webfont.fontplus.jp/accessor/reqf/con=fp_a9584f131323b7a69ec403c1442164a4&cha=UTF-8&dmode=&aa=1&ab=0&l=aHR0cHMlM0ElMkYlMkZ3d3cua3lvdG8tYXJ0LmFjLmpwJTJGdCUyRg==&chws=&t=0&fa=Rk9ULeetkee0q-OCtOOCt-ODg-OCryBQcm8gQg&lst=0&lsc=0&s=MDEyMzQ1N0JnbG_igLvjgIDjgIHjgJzjgYTjgYvjgYzjgY3jgZPjgZfjgZ_jgaHjgaTjgabjgafjganjgarjgavjga7jga_jgbLjgbbjgonjgovjgqLjgqPjgqTjgqrjgq_jgrDjgrHjgrPjgrbjgrfjgrnjg4Pjg4bjg4fjg4jjg4njg5Xjg5fjg6fjg6njg6rjg6zjg7Pjg7vjg7zkuIDkuIfkuI3kuK3ku6TkvJrkvJ3kvY3kv6Hkv67lhaXlhajlhazlhoblhpnlh7rliLbliqDljJbljYPljZTljZjljZrlj5blj5flj7Llkozlk6HlnKjloLHlpKflrablroXlronlrozlsaXlubTluqbluqflu7rlvpfmg4XmiYvmjojmlZnmlbDmlofmlpnmlrDml6XmmI7mm7jmnIDmnKvmnKzmn5Pmn7vmoKHmoLzmpa3mrbTmtIvmvJTniannlJ_nlKPnlLvnm5_nm67nnJ_np4Hnp5HnqIvnqbrnq4vnrKznrYnnr4nntbHnuZTnv5LogIXogrLoh6roiI7oirjol53ooZPopoHopqfoqaboqqzoqrLoqr_orJvosrvos4fpgJrpgLHpgbrpg6jplovplpPpmaLpmbbppIrppKjpqJPvvIHvvIjvvInvvIvvvJo&ivs=0'); }
*/

.serif {font-family: 'Noto Serif JP', serif;}

:root {
    --padding: 6.5vw;
    --backgroundColor: #F9F9F9;
    --textColor: #000;
    --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);
}


div, h1, h2, h3, h4, h5, h6, p, a, span, button, tspan {
    font-family: neue-haas-unica, TsukuGoPr5-M, TsukuGoPro-M, "Yu Gothic Medium","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-family: neue-haas-unica, TsukuGoPro-R, TsukuGoPr5-R, 
    "Yu Gothic Medium","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 400;
    color: var(--textColor);
    font-display: swap;
    font-feature-settings: "palt";
    letter-spacing: -.015em;
    -webkit-font-smoothing: antialiased;
    line-height: 1.8;
}

:lang(en) {
    letter-spacing: -.015em;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
}
svg, svg path, svg g {fill: var(--textColor);}

.h0 {font-size: 5.6rem;}
h1, .h1 {font-size: 2.4rem;}
h2, .h2 {font-size: 2.0rem;}
h3, .h3 {font-size: 1.8rem;}
h4, .h4 {font-size: 1.4rem;}
h5, .h5 {font-size: 1.2rem;}
h6, .h6 {font-size: 1.1rem;}
.h7 {font-size: 1rem;}

.sp {display: block;}
.pc {display: none;}
.heading {font-weight: 700;}
.bold {font-family: TsukuGoPr5-D, TsukuGoPro-D, sans-serif;}

p, .p {
    font-weight: 400;
    line-height: 1.85;
    font-size: 1.3rem;
    letter-spacing: 0.08em;
    text-align: justify;
    word-wrap: break-word;
    hyphens: auto;
    word-break: break-all;
}
li {
    text-decoration: none;
    list-style: none;
}
a {
    text-decoration: none;
    display: inline-block;
    transition: .75s ease-in-out;
}
a:hover {opacity: .85;}
img {
    object-fit: cover;
    object-position: 50%;
}




.uppercase {text-transform: uppercase;}

.semitrans {opacity: .7;}
.white {color: var(--bodyColor);}
.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;}


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

}

@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: 3.6rem;}
    h1, .h1 {font-size: 2.6rem;}
    h2, .h2 {font-size: 2.4rem;}
    h3, .h3 {font-size: 2.2rem;}
    h4, .h4 {font-size: 1.8rem;}
    h5, .h5 {font-size: 1.5rem;}
    h6, .h6 {font-size: 1.3rem;}
    .h7 {font-size: 1.0rem;}
}



