@charset "utf-8";
/********************************/
/*         全体の定義           */
/********************************/
html,
body {
    height: 100%;
}
body {
    font-family: sans-serif;
    overflow-y: scroll;
}
body {
    color: var(--kuro);
    background-color: var(--siro);
}
@media (max-width: 600px) {.pc {display: none;}}
@media (min-width: 601px) {.mb {display: none;}}
/********************************/
/*           ヘッダー           */
/********************************/
.cs_header_title {
    padding-top: 20px;
    margin: 0 auto;
}
@media (min-width: 960px){
.cs_header_title {
    width: 98%;
}
}
@media (max-width: 959px){
.cs_header_title {
    width: 90%;
}
}
.cs_header {
    margin: 5px auto;
}
.cs_header h1 {
    margin-bottom: 10px;
}
@media (min-width: 960px){
.cs_header {
    width: 960px;
}
}
@media (max-width: 959px){
.cs_header {
    width: 90%;
}
.cs_header h1 {
    text-align: center;
}
}
/*********** メニュー ***********/
.cs_header_menu a {
    margin: 0;
    padding: 10px 18px;
}
.cs_header_menu ul {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    overflow: hidden;
    height: 0;
    transition: height .3s ease;
}
.cs_header_menu a {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--siro);
    border: 1px solid var(--gray);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 10px 14px;
    margin-bottom: var(--gap);
    color: var(--kuro);
    text-decoration: none;
    font-weight: 700;
    transition: background .2s, box-shadow .2s, transform .15s;
}
.cs_header_menu a:hover {
    background: var(--pink);
    box-shadow: var(--shadow-hover);
    transform: translateY(-1px);
}
.cs_header_menu a:focus-visible {
    outline: 3px solid var(--pink);
    outline-offset: 2px;
}
.cs_header_menu li a::before {
    content: "";
    display: block;
    width: 1.2em;
    height: 1.2em;
    background: no-repeat center / contain;
}
.cs_header_menu li:nth-child(1) a::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' fill='none' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l7 3v6c0 4.7-3 8-7 9-4-1-7-4.3-7-9V6l7-3z'/></svg>");
}
.cs_header_menu li:nth-child(2) a::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' fill='none' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='8' r='3'/><circle cx='16' cy='9' r='2.5'/><path d='M4 19c0-2.5 2.5-4 4-4s4 1.5 4 4'/><path d='M14 19c0-2 2-3.2 3.5-3.2S21 17 21 19'/></svg>");
}
.cs_header_menu li:nth-child(3) a::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' fill='none' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6-5.2-6-10a6 6 0 1 1 12 0c0 4.8-6 10-6 10z'/><path d='M12 8c1.5 1 2.5 2.3 2.5 3.6a2.5 2.5 0 1 1-5 0c0-1.3 1-2.6 2.5-3.6z'/></svg>");
}
.cs_header_menu li:nth-child(4) a::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' fill='none' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='6' width='16' height='14' rx='2'/><line x1='4' y1='10' x2='20' y2='10'/><line x1='8' y1='3' x2='8' y2='7'/><line x1='16' y1='3' x2='16' y2='7'/></svg>");
}
.cs_header_menu li:nth-child(5) a::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' fill='none' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10l2-4h14l2 4'/><path d='M5 10v9h14v-9'/><path d='M8 19v-5h4v5'/></svg>");
}
@media (min-width: 601px) {
.menu-toggle {
    display: none;
}
.cs_header_menu ul {
    display: flex;
    justify-content: space-between;
    gap: var(--gap);
    height: auto !important;
    margin: 0;
}
.cs_header_menu li {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
}
}
@media (max-width: 600px) {
.menu-toggle {
    width: 100%;
    padding: 10px 14px;
    background: var(--thm2);
    color: #fff;
    border: 0;
    border-radius: var(--radius);
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}
.cs_header_menu .menu-toggle:focus-visible {
    outline: 3px solid var(--pink);
    outline-offset: 2px;
}
}
/********************************/
/*        パンくずリスト        */
/********************************/
.cs_pankuzu {
    margin-bottom: 15px;
}
.cs_pankuzu ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}
@media (min-width: 960px){
.cs_pankuzu ol {
    width: 960px !important;
    margin-left: auto;
    margin-right: auto;
}
.cs_pankuzu ol li {
    margin-top: 5px;
    margin-bottom: 5px;
}
}
@media (max-width: 959px){
.cs_pankuzu ol {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}
}
@media (max-width: 600px){
.cs_pankuzu ol li {
    text-align: center;
}
}
.cs_pankuzu ol li::before{
    content: '＞';
    display: inline-block;
    padding: 0 10px;
}

.cs_pankuzu ol li:first-of-type::before{
    display: none;
}
/********************************/
/*            メイン            */
/********************************/
.cs_main {
    margin: 0 auto 5px;
}
@media (min-width: 960px){
.cs_main {
    width: 960px;
}
}
@media (max-width: 959px){
.cs_main {
    width: 90%;
}
}
/********************************/
/*          上へボタン          */
/********************************/
.cs_console {
    position: fixed;
    bottom: 30px;
    right: 10px;
    width: 50px;
    z-index: 900;
}
.cs_console table {
    width: 100%;
    background-color: var(--thm1);
    font-size: 1.5rem;
    border-top: solid 1px var(--siro);
    border-left: solid 1px var(--siro);
}
.cs_console table tr th {
    border: solid 1px var(--siro);
    border-bottom: solid 1px var(--siro);
    border-right: solid 1px var(--siro);
}
.cs_other {
    padding: 10px 0;
    line-height: 0.4;
}
.cs_other span {
    font-size: 0.8rem;
}
.cs_other a {
    text-decoration: none;
}
.cs_other a:link,
.cs_other a:visited {
    color: var(--siro);
}
#id_page_top{
    text-align: center;
    cursor: pointer;
    transform:translate3d(0,0,900);
    color: var(--siro);
}
/********************************/
/*           フッター           */
/********************************/
footer {
    position: sticky;
    top: 100vh;
    color: var(--siro);
    background-color: var(--thm1);
    text-align: center;
    padding-top: 15px;
}
footer h2 {
    font-size: 1.2rem;
}
@media (max-width: 599px) {
.cs_fax a[href^="tel"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: inherit;
}
}
.cs_copyright {
    font-size: 0.8rem;
    margin-top: 10px;
    padding-bottom: 5px;
}
