@charset "UTF-8";

/* WordPressテーマのCSS変数（必要な基本設定） */
:root{
--global--font-primary:var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
--global--font-secondary:var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
--global--font-size-base:1.25rem;
--global--font-size-xs:1rem;
--global--font-size-sm:1.125rem;
--global--font-size-md:1.25rem;
--global--font-size-lg:1.5rem;
--global--font-size-xl:2.25rem;
--global--font-size-xxl:4rem;
--global--font-size-xxxl:5rem;
--global--font-size-page-title:var(--global--font-size-xxl);
--global--letter-spacing:normal;
--global--line-height-body:1.7;
--global--line-height-heading:1.3;
--global--line-height-page-title:1.1;
--heading--font-family:var(--global--font-primary);
--heading--font-size-h6:var(--global--font-size-xs);
--heading--font-size-h5:var(--global--font-size-sm);
--heading--font-size-h4:var(--global--font-size-lg);
--heading--font-size-h3:calc(1.25 * var(--global--font-size-lg));
--heading--font-size-h2:var(--global--font-size-xl);
--heading--font-size-h1:var(--global--font-size-page-title);
--heading--letter-spacing-h6:0.05em;
--heading--letter-spacing-h5:0.05em;
--heading--letter-spacing-h4:var(--global--letter-spacing);
--heading--letter-spacing-h3:var(--global--letter-spacing);
--heading--letter-spacing-h2:var(--global--letter-spacing);
--heading--letter-spacing-h1:var(--global--letter-spacing);
--heading--line-height-h6:var(--global--line-height-heading);
--heading--line-height-h5:var(--global--line-height-heading);
--heading--line-height-h4:var(--global--line-height-heading);
--heading--line-height-h3:var(--global--line-height-heading);
--heading--line-height-h2:var(--global--line-height-heading);
--heading--line-height-h1:var(--global--line-height-page-title);
--heading--font-weight:normal;
--heading--font-weight-page-title:300;
--heading--font-weight-strong:600;
--global--color-black:#000;
--global--color-dark-gray:#28303d;
--global--color-gray:#39414d;
--global--color-light-gray:#f0f0f0;
--global--color-green:#d1e4dd;
--global--color-blue:#d1dfe4;
--global--color-purple:#d1d1e4;
--global--color-red:#e4d1d1;
--global--color-orange:#e4dad1;
--global--color-yellow:#eeeadd;
--global--color-white:#fff;
--global--color-white-50:rgba(255, 255, 255, 0.5);
--global--color-white-90:rgba(255, 255, 255, 0.9);
--global--color-primary:var(--global--color-dark-gray);
--global--color-secondary:var(--global--color-gray);
--global--color-primary-hover:var(--global--color-primary);
--global--color-background:var(--global--color-green);
--global--color-border:var(--global--color-primary);
--global--spacing-unit:20px;
--global--spacing-measure:unset;
--global--spacing-horizontal:25px;
--global--spacing-vertical:30px;
--global--elevation:1px 1px 3px 0 rgba(0, 0, 0, 0.2);
--global--admin-bar--height:0px;
--responsive--spacing-horizontal:calc(2 * var(--global--spacing-horizontal) * 0.6);
--responsive--aligndefault-width:calc(100vw - var(--responsive--spacing-horizontal));
--responsive--alignwide-width:calc(100vw - var(--responsive--spacing-horizontal));
--responsive--alignfull-width:100%;
--responsive--alignright-margin:var(--global--spacing-horizontal);
--responsive--alignleft-margin:var(--global--spacing-horizontal);
}

/* 基本リセット */
html{line-height:1.15;-webkit-text-size-adjust:100%;box-sizing:border-box}
*,::after,::before{box-sizing:inherit}

/* body要素（homeクラスとsingularクラスが設定される） */
body{font-family:var(--global--font-secondary);font-size:var(--global--font-size-base);font-weight:400;color:var(--global--color-primary);background-color:var(--global--color-background);margin:0;padding:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-align:left}

/* homeクラス - HTMLのbody要素に設定されている */
.home{}

/* singularクラス - HTMLのbody要素に設定されている */  
.singular{}

/* 基本的なHTML要素（他のCSSファイルに依存しない基本スタイル） */
a{color:var(--global--color-primary);text-decoration:none;cursor:pointer;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-skip-ink:all;background-color:transparent}
a:hover{text-decoration:none;text-decoration-skip-ink:none}

img{max-width:100%;height:auto;vertical-align:middle;border-style:none}

iframe{border:0;max-width:100%}

/* その他の基本要素 */
h1,h2,h3,h4,h5,h6{font-family:var(--heading--font-family);font-weight:var(--heading--font-weight);clear:both}
h1{font-size:var(--heading--font-size-h1);letter-spacing:var(--heading--letter-spacing-h1);line-height:var(--heading--line-height-h1)}
h2{font-size:var(--heading--font-size-h2);letter-spacing:var(--heading--letter-spacing-h2);line-height:var(--heading--line-height-h2)}
h3{font-size:var(--heading--font-size-h3);letter-spacing:var(--heading--letter-spacing-h3);line-height:var(--heading--line-height-h3)}
h4{font-size:var(--heading--font-size-h4);letter-spacing:var(--heading--letter-spacing-h4);line-height:var(--heading--line-height-h4)}
h5{font-size:var(--heading--font-size-h5);letter-spacing:var(--heading--letter-spacing-h5);line-height:var(--heading--line-height-h5)}
h6{font-size:var(--heading--font-size-h6);letter-spacing:var(--heading--letter-spacing-h6);line-height:var(--heading--line-height-h6)}

p{line-height:var(--global--line-height-body)}
ul,ol{padding-left:calc(2 * var(--global--spacing-horizontal))}
table{width:100%;border-collapse:collapse}

@media only screen and (max-width:481px){
    .home{}
    .singular{}
}

@media only screen and (min-width:482px){
    :root{
        --responsive--aligndefault-width:min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
        --responsive--alignwide-width:calc(100vw - 4 * var(--global--spacing-horizontal));
        --responsive--alignright-margin:calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
        --responsive--alignleft-margin:calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
    }
}

@media only screen and (min-width:822px){
    :root{
        --responsive--aligndefault-width:min(calc(100vw - 8 * var(--global--spacing-horizontal)), 610px);
        --responsive--alignwide-width:min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1240px);
    }
}