@charset "UTF-8";

:root {
    --backgroundColor: #E5E3E3;
    --backgroundColor: #f1f3f3;
    --linkColor: #6692C4;
    --textColor: #484818;
    --bodyColor: #58582D;
    --gray: #D8D8D8;
    --mainColor: #88B82B;
    --outer-height: 100vh;
    --pX: 8px;
}


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

html {
    font-size: 62.5%;
    height: -webkit-fill-available;}
html, body {
    width: 100vw;
    overflow-x: hidden;
    background-color: var(--backgroundColor);
}  
body {
    opacity: 0;
    transition: 1.5s ease-in-out;
}
/*
body {animation: fadeIn 1.5s ease 0s 1 normal;}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
*/

div, h1, h2, h3, h4, h5, h6, p, a, span, button, small, input, label, table, tbody, th, tr, td, ul, li {
    font-family: 'Manrope', Yu Gothic Pr6N B, sans-serif;
    color: var(--textColor);
    font-display: swap;
    font-feature-settings: "palt";
    letter-spacing: .075em;
    -webkit-font-smoothing: antialiased;
    line-height: 1.5;
    /*-webkit-text-stroke: 0.2px;*/
}

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

.h0 {font-size: 3.6rem;}
h1, .h1 {font-size: 2.6rem;}
h2, .h2 {font-size: 2.4rem;}
h3, .h3 {font-size: 1.8rem;}
h4, .h4 {font-size: 1.6rem;}
h5, .h5 {font-size: 1.4rem;}
h6, .h6 {font-size: 1.2rem;}


/*"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体",
"游ゴシック体 Pr6N B", "Yu Gothic Pr6N B", sans-serif;
"Yu Gothic Pr6N D", "游ゴシック体 Pr6N D", sans-serif;*/

main {padding-top: 15rem;}

p, .p {
    font-size: 1.4rem;
    text-align: justify;
    word-wrap: break-word;
    hyphens: auto;
    word-break: break-all;
    color: var(--bodyColor);
    letter-spacing: .075em;
    line-height: 1.8;
    transform: scaleY(.9975);
}
li {list-style: none;text-decoration: none;}
a {
    text-decoration: none;
    display: inline-block;
    transition: .75s ease-in-out;
}
a.linkColor {color: var(--linkColor);}
a:hover {opacity: .85;}
img {
    width: 100%;
    object-fit: cover;}

.heading {  
    color: var(--mainColor);
    -webkit-font-smoothing: subpixel-antialiased;
    transform: scaleY(.995);
    letter-spacing: .15em;
}
h1.heading {
    font-size: 3.4rem;
    letter-spacing: 0;
    margin-left: -0rem;
}
h1.heading span {
    display: block;
    font-size: 1.6rem;
    color: var(--textColor);
    margin-left: 0.1rem;
    margin-top: .5rem;
}

h2.heading {
    color: var(--textColor);
    margin-left: -0rem;}

.color {color: var(--mainColor);}

.semitrans {opacity: .7;}
.white {color: var(--backgroundColor);}
.gray {color: var(--subColor);}

.flex {display: flex; justify-content: center; align-items: center;}

.wfull {width: 100%;}

.pc {display: none;}



.width {padding-left: 7.5vw;padding-right: 7.5vw;}
section.margin {margin-top: 10rem;}


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

    h1 svg {
        transform: scale(1.2);
        transform-origin: left top;}
}

@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: 720px) {
    html {font-size: 62.5%;}
    .h0 {font-size: 5.6rem;}
    h1, .h1 {font-size: 3.4rem;}
    h2, .h2 {font-size: 2.6rem;}
    h3, .h3 {font-size: 2.4rem;}
    h4, .h4 {font-size: 2.0rem;}
    h5, .h5 {font-size: 1.6rem;}
    h6, .h6 {font-size: 1.4rem;}
    main {padding-top: 22.5rem;}
p, .p {
    font-size: 1.6rem;
    text-align: left;
}
.sp {display: none;}
.pc {display: block;}

section.margin {margin-top: 20rem;}



.col-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;}

    .col-3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 3rem;}

}
