@charset "utf-8";
/*---------------------------------------------------------------------
Common Style
common.css
-----------------------------------------------------------------------
Copyright 2026 (c) linkpath Allrights Reserved.
Created: linkpath
Coding: Hinako Hayashi
Last Update: 2026.04.07
---------------------------------------------------------------------*/
@media screen and (max-width: 959px) {}
@media screen and (max-width: 482px) {}
/*===========================================================
    root
===========================================================*/
:root {
    --color-main: rgb(0, 109, 88);
    --color-base: rgb(0, 98, 147);
    --color-accent: rgb(255, 134, 46);

    --color-main__light: rgb(0, 145, 117);
    --color-base__light: rgb(89, 176, 211);
    --color-accent__light: rgb(255, 175, 119);

    --color-black: rgb(70, 70, 70);
    --color-white: rgb(255, 255, 255);
    --color-grey: rgb(120, 120, 120);
    --color-lightgrey: rgb(230, 238, 239);

    --color-main__transparent: rgba(0, 109, 88, 0.3);
    --color-base__transparent: rgba(0, 98, 147, 0.6);
    --color-accent__transparent: rgba(255, 134, 46, 0.6);

    --color-black__transparent: rgba(70, 70, 70, 0.5);
    --color-white__transparent: rgba(255, 255, 255, 0.9);
    --color-lightgrey__transparent: rgba(230, 238, 239, 0.5);

    --color-grad: rgb(0, 187, 255), rgb(86, 217, 219);
    --color-grad__dark: rgb(0, 83, 148), rgb(86, 217, 219);
}

/*===========================================================
    common
===========================================================*/
html ,body ,.wrap {
    margin: 0;
    padding: 0;
    width: 100vw;
    width: 100dvw;
}
html ,body {
    scroll-behavior: smooth;
}

/*===========================================================
    body
===========================================================*/
body {
    font-family: "Roboto", "Noto Sans JP";
    font-style: normal;
    overflow-x: hidden;
    position: relative;
    font-size: 1rem;
    line-height: 1.5em;
    color: var(--color-black);
}

/*===========================================================
    font
===========================================================*/
.noto {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
}
.noto-serif {
    font-family: "Noto Serif JP", serif;
    font-style: normal;
}
.roboto {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

/*===========================================================
    base
===========================================================*/
/* width */
.width-1600 {
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
}

/*background*/
.back-main { background: var(--color-main);}
.back-base { background: var(--color-base);}
.back-accent { background: var(--color-accent);}
.back-main__light { background: var(--color-main__light);}
.back-base__light { background: var(--color-base__light);}
.back-accent__light { background: var(--color-accent__light);}
.back-black { background: var(--color-black);}
.back-white { background: var(--color-white);}
.back-lightgrey { background: var(--color-lightgrey);}
.back-main__transparent { background: var(--color-main__transparent);}
.back-base__transparent { background: var(--color-base__transparent);}
.back-accent__transparent { background: var(--color-accent__transparent);}
.back-white__transparent { background: var(--color-white__transparent);}
.back-lightgrey__transparent { background: var(--color-lightgrey__transparent);}
.back-grad { background-image: linear-gradient(180deg, var(--color-grad));}
.back-grad__dark { background-image: linear-gradient(180deg, var(--color-grad__dark));}

/* border */
.border-main { border: solid 3px var(--color-main);}
.border-base { border: solid 3px var(--color-base);}
.border-accent { border: solid 3px var(--color-accent);}
.border-main__light { border: solid 3px var(--color-main__light);}
.border-base__light { border: solid 3px var(--color-base__light);}
.border-accent__light { border: solid 3px var(--color-accent__light);}
.border-black { border: solid 3px var(--color-black);}
.border-white { border: solid 3px var(--color-white);}
.border-lightgrey { border: solid 3px var(--color-lightgrey);}
.border-main__transparent { border: solid 3px var(--color-main__transparent);}
.border-base__transparent { border: solid 3px var(--color-base__transparent);}
.border-accent__transparent { border: solid 3px var(--color-accent__transparent);}


/*color*/
.text-main { color: var(--color-main);}
.text-base { color: var(--color-base);}
.text-accent { color: var(--color-accent);}
.text-main__light { color: var(--color-main__light);}
.text-base__light { color: var(--color-base__light);}
.text-accent__light { color: var(--color-accent__light);}
.text-black { color: var(--color-black);}
.text-white { color: var(--color-white);}
.text-lightgrey { color: var(--color-lightgrey);}
.text-main__transparent { color: var(--color-main__transparent);}
.text-base__transparent { color: var(--color-base__transparent);}
.text-accent__transparent { color: var(--color-accent__transparent);}


/* font weight */
.weight-300 { font-weight: 300;}
.weight-400 { font-weight: 400;}
.weight-500 { font-weight: 500;}
.weight-600 { font-weight: 600;}
.weight-700 { font-weight: 700;}
.weight-800 { font-weight: 800;}
.weight-900 { font-weight: 900;}

/* box-shadow */
.box-shadow { box-shadow: 2px 2px 2px var(--color-black__transparent);}
.box-shadow__base { box-shadow: 0 0 3px var(--color-base__transparent);}

/* text-shadow */
.text-shadow { text-shadow: 2px 2px 2px var(--color-black__transparent);}

/*svg fill*/
svg path.main, svg polygon.main { fill: var(--color-main);}
svg path.base, svg polygon.base { fill: var(--color-base);}
svg path.accent, svg polygon.accent { fill: var(--color-accent);}
svg path.main__light, svg polygon.main__light { fill: var(--color-main__light);}
svg path.base__light, svg polygon.base__light { fill: var(--color-base__light);}
svg path.accent__light, svg polygon.accent__light { fill: var(--color-accent__light);}
svg path.black, svg polygon.black { fill: var(--color-black);}
svg path.white, svg polygon.white { fill: var(--color-white);}
svg path.lightgrey, svg polygon.lightgrey { fill: var(--color-lightgrey);}
svg path.main__transparent, svg polygon.main__transparent { fill: var(--color-main__transparent);}
svg path.base__transparent, svg polygon.base__transparent { fill: var(--color-base__transparent);}
svg path.accent__transparent, svg polygon.accent__transparent { fill: var(--color-accent__transparent);}