/*
Theme Name: cloverclinic
Author: sakura
Description:
Version: 1.0.1
*/

/**
 * uaplus.css version 0.0.1
 */
*,*::after,*::before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s)::before,:where(del,ins,s)::after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s)::before{content:"stricken text start "}:where(s)::after{content:" stricken text end"}:where(del)::before{content:"deletion start "}:where(del)::after{content:" deletion end"}:where(ins)::before{content:"insertion start "}:where(ins)::after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%;}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type="search"]){-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){:where([type="search"]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type="tel"],[type="url"],[type="email"],[type="number"]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:oklch(0% 0 0 / .3)}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity 300ms ease-out,display 300ms allow-discrete,overlay 300ms allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden="until-found"]){display:none!important}

:root,
::after,
::before {
    --font_default: "M PLUS Rounded 1c";
    --font_bTGyk_default: "Exo";
    --color_text_default: rgba(111, 139, 164, 1);
    --color_text_default_rgb: 111, 139, 164;
    --color_alert_default: rgba(244, 249, 252, 1);
    --color_alert_default_rgb: 244, 249, 252;
    --color_primary_default: rgba(34, 34, 34, 1);
    --color_primary_default_rgb: 34, 34, 34;
    --color_success_default: rgba(238, 238, 238, 1);
    --color_success_default_rgb: 238, 238, 238;
    --color_surface_default: rgba(255, 255, 255, 1);
    --color_surface_default_rgb: 255, 255, 255;
    --color_background_default: rgba(255, 255, 255, 1);
    --color_background_default_rgb: 255, 255, 255;
    --color_destructive_default: rgba(87, 184, 172, 1);
    --color_destructive_default_rgb: 87, 184, 172;
    --color_primary_contrast_default: rgba(45, 62, 80, 1);
    --color_primary_contrast_default_rgb: 45, 62, 80;
    --color_bTJib_default: rgba(44, 62, 80, 1);
    --color_bTJib_default_rgb: 44, 62, 80;
    --color_bTJjY_default: rgba(87, 184, 172, 1);
    --color_bTJjY_default_rgb: 87, 184, 172;
    --color_bTJjZ_default: rgba(247, 200, 160, 1);
    --color_bTJjZ_default_rgb: 247, 200, 160;
    --color_bTJjd_default: rgba(188, 224, 222, 1);
    --color_bTJjd_default_rgb: 188, 224, 222;
    --color_bTJje_default: rgba(248, 253, 252, 1);
    --color_bTJje_default_rgb: 248, 253, 252;
    --color_bTJjf_default: rgba(240, 240, 240, 1);
    --color_bTJjf_default_rgb: 240, 240, 240;
}
:target {
  scroll-margin-top: 80px;
}


a{
    color: var(--color_primary_default);
}

body {
    padding: 0;
    margin: 0;
    color: var(--color_primary_default);
    font-family: var(--font_default);
}
.h_menu a {
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
}


#header {
    background-color: rgba(var(--color_bTJje_default_rgb), 0.8);
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-bottom-color: var(--color_bTJjY_default);
    width: auto;
    margin: 0px;
    z-index: 99999;
}

#footer_w {
    background-color: var(--color_bTJjd_default);
}

#footer{
    max-width: 1140px;
    margin: auto;
}

.cpl {
    text-align: right;
    font-weight: bold;
    color: var(--color_bTJib_default);
    line-height: 1.4;
}

div#fix_menu svg{
    fill: currentColor;
    width: 50px;
    height: auto;
}

div#fix_menu .f_menu svg {
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

div#fix_menu a {
    color: var(--color_alert_default);
    text-decoration: none;
    display: flex;
    align-items: center;
    flex-direction: column;
}
    
.btn{
    box-shadow: 0px 7px 30px -10px rgba(var(--color_primary_default_rgb), 0.1);
    background-color: var(--color_destructive_default);
    font-size: 14px;
    font-weight: 700;
    color: var(--color_surface_default);
    text-align: center;
    line-height: 1;
    border-radius: 20px;
    padding: 5px 12px;
    opacity: 1;
    transition: background 200ms;
    cursor: pointer;
    align-self: center;
    min-width: 140px;
    min-height: 0px;
    margin: 0px;
    align-items: center;
    background-image: none;
    background-position: initial;
    background-size: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    width: 100%;
    display: block;
    text-decoration: none;
}

/* */


div#main_v {
    aspect-ratio: 16 / 7;
    overflow: hidden;
    max-height: calc(100vh - 80px);
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    min-height: 360px;
    position: relative;
}

div#main_v_texts {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0; 
    height: 0;
}
#main_v_texts>div {
    font-size: 16px;
    position: absolute;
    background-color: var(--color_bTJjd_default);
    box-shadow: rgb(187, 187, 187) 2px 2px 4px 0px;
    border-radius: 50%;
    padding: 1.5em;
    width: 180px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform-origin: 0 0;
  transform:
    rotate(calc(60deg * (var(--i) - 3) ))
    translate(-50%,65%); /* 半径方向に外周展開 */
}

#main_v_texts > div > span {
  display: inline-block;
  transform: rotate(calc(-60deg * (var(--i) - 3))); /* 要素の回転角の逆方向 */
  color: #555555;
}

/* 各要素に順番を与える */
#main_v_texts > div:nth-child(1) { --i: 0; }
#main_v_texts > div:nth-child(2) { --i: 1; }
#main_v_texts > div:nth-child(3) { --i: 2; }
#main_v_texts > div:nth-child(4) { --i: 3; }
#main_v_texts > div:nth-child(5) { --i: 4; }
#main_v_texts > div:nth-child(6) { --i: 5; }
div#main_v_texts>div::before{
    content: "";
    position: absolute;
    display: block;
    width: 90%;
    height: 90%;
    top: 5%;
    left: 5%;
    border: solid aliceblue 1px;
    border-color: var(--color_bTJjY_default);
    border-radius: 50%;
}
div#main_v_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
div#main_v_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

div#main_v_bg .swiper {
    width: 100%;
    height: 100%;
}


div#main_w {
    padding: 0px 15px 50px;
    max-width: 1200px;
    gap: 30px;
    display: flex;
    flex-wrap: wrap;
    margin: auto;
}

div#main_news {
    border-style: solid;
    border-width: 5px;
    border-color: var(--color_bTJjY_default);
    border-radius: 20px;
    padding: 20px 20px 20px 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}
.main_c_news_lists {
    flex: 1;
}
.main_c_news_lists ul li:first-child{
    padding-top: 0;
}
.main_c_news_lists ul li{
    padding-bottom: 14px;
    padding-top: 14px;
    border-bottom: solid 1px var(--color_bTJjY_default);
}
.news_c_date {
    /* width: 6em; */
    text-align: center;
    font-size: 14px;
}

.news_c_ttl {
    font-size: 15px;
    flex: 1;
}

.main_news_more a {
    box-shadow: 0px 7px 30px -10px rgba(var(--color_primary_default_rgb), 0.1);
    background-color: var(--color_bTJjY_default);
    display: inline-flex;
    gap: 6px;
    text-decoration: none;
    color: #fff;
    padding: 12px 32px 12px 32px;
    margin-top: 20px;
    border-radius: 24px;
    font-size: 14px;
    line-height: 1;
}

.main_news_more svg {
    width: 13px;
    color: #fff;
    fill: #fff;
}
.main_c_news_lists ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.news_c_cate {
    font-size: 12px;
    font-weight: bold;
    color: var(--color_bTJjY_default);
    text-align: center;
    line-height: 1.4;
    /* width: 4em; */
}
.news_c_cate_sub{
    font-size: 20px;
}

.main_c_news_lists ul li a{
    text-decoration:none;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* */
span.sub_cc_ttl_in {
    position: relative;
    padding-bottom:4px;
}

span.sub_cc_ttl_in::before {
    content:"";
    width:100%;
    height:2px;
    position:absolute;
    background-color: var(--color_bTJjY_default);
    bottom:-2px;
}

ul.sub_cc_list li a {
  --wrap-indent: 1em;
  padding-left: var(--wrap-indent);
  text-indent: calc(var(--wrap-indent) * -1);
  font-size: 15px;
  font-weight: 400;
  color: var(--color_primary_contrast_default);
  line-height: 1.4;
  text-decoration: none;
  display: block;
}

ul.sub_cc_list {
    padding: 0;
    margin: 0;
    margin-top: 15px;
    list-style: none;
}

ul.sub_cc_list li {
    padding: 7px 0;
    border-bottom: solid 1px #ddd;
}

ul.sub_cc_list li a::before {
    content: "・";
}

.sub_cc.sub_cc_m {
    border-style: solid;
    border-width: 2px;
    border-color: var(--color_bTJjY_default);
    border-radius: 5px;
    padding: 10px 8px 10px 8px;
}

.sub_cc_m_c {margin-bottom: 14px;}


.sub_cc_m_c_desc a {
    font-weight: bold;
    color: var(--color_bTJjY_default);
}
.sub_cc_m_c_ttl {
    font-size: 16px;
    font-weight: bold;
    color: var(--color_primary_contrast_default);
    line-height: 1.4;
    padding-bottom: 4px;
}
span.sub_cc_m_c_ttl_in {
    position: relative;
    padding-bottom:4px;
}

span.sub_cc_m_c_ttl_in::before {
    content:"";
    width:100%;
    height:2px;
    position:absolute;
    background-color: var(--color_bTJjY_default);
    bottom:-2px;
}


.sub_cc_m_c_desc {
    font-size: 15px;
    font-weight: 400;
    color: var(--color_primary_contrast_default);
    line-height: 1.4;
    padding-top: 7px;
}

.sub_tel{
    margin: 7px 0 3px;
    text-align:center;
}
.sub_tel a{
    font-size: 21px;
    font-weight: 400;
    color: var(--color_text_default);
    line-height: 2;
    text-decoration:none;
}
.sub_tel svg {
    width: 25px;
}

.sub_tel a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.sub_rec a {
    background-color: var(--color_background_default);
    justify-content: center;
    align-items: center;
    border-style: solid;
    border-width: 2px;
    border-color: var(--color_bTJjY_default);
    color: var(--color_bTJjY_default);
    border-radius: 5px;
    padding: 8px 12px 8px 12px;
    margin-top: 18px;
    display: flex;
    text-decoration: none;
}

.sub_rec {
    text-align: center;
}

.sub_rec img {
    width: 40px;
}

.main_times_h,.main_times_c {
    display: flex;
    flex-wrap: wrap;
}
.main_times_c{
    padding:10px 0;
    border-bottom: solid 1px #ddd;
}

.main_times_h>div, .main_times_c>div {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main_times_h>div:first-child, .main_times_c>div:first-child {
    width: 7em;
    text-align: center;
    font-size: 9px;
    line-height: 1.2;
    flex: auto;
}


.main_times svg {
    width: 17px;
    fill: var(--color_bTJjY_default);
}

.main_c_ttl {
    font-size: 24px;
    font-weight: 700;
    color: var(--color_primary_contrast_default);
    line-height: 1.4;
    padding-bottom: 12px;
}


.main_c_ttl_in {
    position: relative;
    padding-bottom: 4px;
}

.main_c_ttl_in::before {
    content:"";
    width: 1.7em;
    height: 3px;
    position:absolute;
    background-color: var(--color_bTJjY_default);
    bottom:-2px;
}
.main_c_kamoku {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 14px;
}

.main_c_kamoku>div {
    width: calc( ( (100% - 14px * 2) / 3 ) );
    text-align: center;
}
.main_c_kamoku>div img{
    display:block;
    width: 65px;
    height: auto;
    margin: auto;
    margin-bottom: 5px;
}
.main_c_kamoku>div>a{
    display:block;
    height:100%;
    text-decoration:none;
    background: none rgb(249, 255, 254);
    border-style: solid;
    border-width: 2px;
    border-color: rgb(87, 184, 172);
    border-radius: 10px;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    color: rgba(44, 62, 80, 1);
    text-align: center;
    line-height: 1.4;
}

.text_name {
    font-size: 21px;
    font-weight: bold;
    color: var(--color_text_default);
    line-height: 1.5;
    margin: 15px 0;
}

.text_catch {
    font-size: 21px;
    font-weight: bold;
    color: rgba(87, 184, 172, 1);
    line-height: 1.5;
    margin: 15px 0;
}

.main_c_desc {
    font-size: 16px;
    font-weight: 400;
    color: var(--color_bTJib_default);
}

.text_desc {
    margin: 10px 0;
}

.text_t2 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.text_t2>div:first-child {
    width: 3em;
}

.text_t2>div:last-child {
    flex: 1;
}

.main_c_s2 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.main_c_s2_c {
    width: calc( ( 100% - 20px ) / 2 );
}

.main_tokutyo {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 15px;
}

.main_tokutyo_c {
    width: calc( (100% - 20px) / 2 );
    height: 200px;
    border-radius: 15px;
    box-shadow: rgb(170, 170, 170) 2px 2px 4px 0px;
    background-repeat: no-repeat;
    background-size: cover;
    font-size: 20px;
    font-weight: 700;
    color: var(--color_bTJib_default);
    overflow: hidden;
}
.main_tokutyo_c_in {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    background: rgba(249, 255, 254, 0.85);
}
.main_tokutyo .main_tokutyo_c:nth-child(1) {
    background-image: url(assets/img/catch_1.png);
}

.main_tokutyo .main_tokutyo_c:nth-child(2) {
    background-image: url(assets/img/catch_2.png);
}

.main_tokutyo .main_tokutyo_c:nth-child(3) {
    background-image: url(assets/img/catch_3.png);
}

.main_tokutyo .main_tokutyo_c:nth-child(4) {
    background-image: url(assets/img/catch_4.png);
}
.main_tokutyo_c_in>div:last-child {
    font-size: 16px;
}

/* */
.main_c.main_cw_news{
    row-gap: 16px;
    border-style: solid;
    border-width: 2px;
    border-color: var(--color_bTJjY_default);
    border-radius: 20px;
    padding: 40px 30px 40px 30px;
    margin-bottom: 10px;
}


.main_c.main_cw_news .main_c_ttl{
    font-size: 18px;
}

.main_c_date {
    font-size: 14px;
    font-weight: 400;
    color: var(--color_primary_contrast_default);
    line-height: 1.4;
    margin-bottom: 7px;
}

.main_news_desc {
    font-size: 16px;
    font-weight: 400;
    color: var(--color_primary_contrast_default);
    line-height: 1.4;
}

.main_news_desc p {
    margin: 0;
    margin-top: 10px;
}
.main_c.main_cw_news a {
    text-decoration: none;
}
nav.breadcrumb {
    margin-bottom: 18px;
    font-size: 16px;
    font-weight: 400;
    color: var(--color_text_default);
    line-height: 1.4;
}
nav.breadcrumb a{
    color: var(--color_text_default);
    text-decoration: none;
}

.main_c_ttl h2 {
    font-size: 18px;
}

.main_c h2 {
    font-size: 16px;
    border-bottom: 2px solid var(--color_destructive_default);
    padding-bottom: 4px;
}

.main_c.main_cw_keyword .main_c_ttl_in::before{
    width: 100%;
}

.main_c.main_cw_recruit .main_c_ttl_in::before{
    width: 100%;
}

.main_c.main_cw_page .main_c_ttl_in::before{
    width: 100%;
}

.main_c.main_cw_keyword a {
    text-decoration: none;
}
.rec_lists {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rec_c {
    width: calc( (100% - 10px) / 2 );
}

.rec_c>a {
    aspect-ratio: 320/215;
    overflow: hidden;
    position: relative;
    display: block;
    text-decoration: none;
    background: none rgb(249, 255, 254);
    box-shadow: rgb(170, 170, 170) 2px 2px 4px 0px;
    border-style: solid;
    border-width: 2px;
    border-color: var(--color_bTJjY_default);
    border-radius: 5px;
}

.rec_c_bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rec_c_ttl {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: var(--color_bTJjY_default);
    font-size: 18px;
    font-weight: bold;
    color: var(--color_surface_default);
    text-align: center;
    line-height: 1.4;
    padding: 8px;
}
.rec_c>a::before {
    content: "";
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(255,255,255,0.2);
}

span.main_c_ttl_in img {
    width: 23px;
    height: auto;
    display: inline-block;
    margin-right: 8px;
}

.main_c.main_cw a {
    font-weight: bold;
    color: var(--color_bTJjY_default);
}

.main_c.main_cw table tr td:first-child {
    background-color:rgb(188, 224, 222);
    border-bottom: solid 1px #fff;
    width: 8em;
}

.main_c.main_cw table {
    border-radius: 7px;
    border: solid 1px rgb(188, 224, 222);
    border-collapse: separate; /* collapse のままだと角丸が効かない */
    border-spacing: 0;         /* セル間の隙間をなくす */
    border-radius: 8px;        /* お好みの角丸サイズ */
    overflow: hidden;          /* セル内容を丸角にクリップ */
}

.main_c.main_cw table tbody tr td {
    border: none;
    border-bottom: solid 1px rgb(188, 224, 222);
}
.main_c.main_cw table tbody tr  td:first-child {
    background-color:rgb(188, 224, 222);
    border-bottom: solid 1px #fff;
    width: 8em;
}

.main_c.main_cw .main_table_h table thead tr th {
    border: none;
    border-bottom: solid 1px rgb(188, 224, 222);
    background-color:rgb(188, 224, 222);
    border-right: solid 1px #fff;
}
.main_c.main_cw .main_table_h table thead tr th:last-child {
    border-right: none;
}
.main_c.main_cw .main_table_h table tbody tr td {
    background:transparent;
    border-bottom: solid 1px rgb(188, 224, 222);
}
.main_c.main_cw .main_table_h table tbody tr td {
    border-right: solid 1px rgb(188, 224, 222);
}
.main_c.main_cw .main_table_h table tbody tr td:last-child {
    border-right: none;
}

.main_c.main_cw .main_table_rfix table tbody tr td:last-child ,
.main_c.main_cw .main_table_rfix table thead tr th:last-child{
    width: 11em;
}

.main_c.main_cw .main_table_lfix table tbody tr td:first-child ,
.main_c.main_cw .main_table_lfix table thead tr th:first-child{
    width: 11em;
}

.main_c.main_cw .main_table_llfix table tbody tr td:nth-child(2) ,
.main_c.main_cw .main_table_llfix table thead tr th:nth-child(2){
    width: 11em;
}

.nk_lists {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nk_lists>li {
    width: calc( (100% - 8px * 3) / 4 );
}

.nk_lists a {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 2px;
    border-radius: 7px;
    height: 4.5em;
}

.main_color1{
    color: rgb(87, 184, 172);;
}

/* */

.main_c {
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 0px 64px 0px rgba(var(--color_text_default_rgb), 0.15);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    color:  var(--color_primary_contrast_default);
}
.main_c.main_cw_keyword ,
.main_c.main_cw_recruit ,
.main_c.main_cw_page{
    padding: 40px 30px;
}

    
.sub_c {
        background-color: rgb(255, 255, 255);
        box-shadow: 0px 0px 64px 0px rgba(var(--color_text_default_rgb), 0.15);
        border-radius: 20px;
        padding: 8px 12px;
        margin-bottom: 20px;
}
.sub_cc_ttl {
    font-size: 24px;
    font-weight: 700;
    color: var(--color_primary_contrast_default);
    line-height: 1.2;
    position: relative;
    padding-bottom: 4px;
}

.sub_cc {
    padding: 18px 8px 18px 8px;
}

#header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    padding: 0 15px;
    z-index: 99999;
}

.sub_sns>div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 200px;
    margin: 15px auto 0;
}

.sub_sns>div>div {
    width: calc(  (100% - 10px * 2 ) / 3 );
}
.sub_sns>div a {
    aspect-ratio: 1/1;
    display: block;
    overflow: hidden;
}

.sub_sns>div a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.sub_sns_x {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.sub_sns>div .sub_sns_x a {
    width: 98%;
    margin-right: auto;
}

.main_times {
    margin-top: 20px;
}

.main_times_h {
    font-size: 12px;
    background: var(--color_bTJjY_default);
    color: #fff;
    padding: 10px 0;
    line-height: 1;
}
.main_times_desc {
    margin: 14px 0;
}
.main_times_h>div:first-child>span {
    font-size: 13px;
}
.main_c_calendar_icons {
    text-align: center;
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 10px;
}

.main_c_calendar_icons>span {
    padding: 6px 5px;
    border-radius: 3px;
    line-height: 1;
    font-size: 13px;
    display: inline-block;
}
.main_c_calendar_icon1{
    background: rgb(247, 200, 200);
}
.main_c_calendar_icon2{
    background: rgb(227, 227, 227);
}
.main_c_calendar_icon3{
    background: rgb(167, 187, 218);
}
.main_c_calendar_icon4{
    background: var(--color_bTJjd_default);
}
.main_c_calendar {
    margin: 14px 0;
}

#calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0.5em 0;
}
#calendar-title {
  font-weight: bold;
}
#calendar {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
#calendar td {
  height: 2em;
  border: 1px solid #ccc;
}

table#calendar,table#calendar td, table#calendar th {
    border: none;
}
table#calendar th {
    color: var(--color_text_default);
}
table#calendar td {
    background: #ddd;
    position: relative;
}

table#calendar {
    border-collapse: separate;    /* セルを分離して隙間を有効に */
    border-spacing: 4px;          /* セル間の余白（上下・左右） */
}

.main_c_calendar_icon_none{
    background: transparent !important;
}

div#calendar-header button {
    appearance: none;
    border: none;
    background: transparent;
    height: 30px;
    width: auto;
    cursor: pointer;
}

div#calendar-header button svg {
    height: 100%;
    width: auto;
}

.calendar-bg {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: flex;
    z-index: 0;
}

.calendar-bg>span {
    flex: 1;
}

.calendar-desc {
    position: relative;
    z-index: 3;
}

@media(min-width:768px){
    a:hover {
        color: var(--color_destructive_default);
    }
    .sp{
        display: none;
    }
    #header_re{
        width:100%;
        height:80px;
    }
    #header {
        height: 80px;
        display: flex;
        align-items: center;
    }

    #main{
        flex: 1;
        order: 2;
        margin: 18px 0px 0px;
    }
    
    #sub{
        width: 29%;
        margin: 18px 0px 0px;
    }
    .sub_rec a:hover {
        background: rgb(214,240,236);
    }

    ul.sub_cc_list li a:hover {
        font-weight: bold;
    }

    .main_c.main_cw a:hover,
    .sub_cc_m_c_desc a:hover {
        opacity: 0.8;
    }

    .main_c_kamoku>div>a:hover {
        background: rgb(214,240,236);
    }
    .main_news_more a:hover {
        color: #fff;
        opacity: 0.8;
    }

    .main_c_news_lists ul li a:hover{
        color: var(--color_primary_default);
        opacity: 0.8;
    }
    
    
    div#header>.pc {
        display: flex;
        justify-content: space-between;
        max-width: 1140px;
        width: 100%;
        margin: auto;
    }

    .h_menu>ul {
        display: flex;
        margin: 0;
        padding: 0;
        align-items: center;
        list-style: none;
        gap: 50px;
        height: 100%;
    }

    .pc_logo {
        width: 250px;
    }
    
    div#fix_menu>.pc .f_form a:hover{
        background-color: rgb(var(--color_bTJjY_default_rgb),0.85);
    }
    
    div#fix_menu>.pc .f_form a{
        background-color: var(--color_bTJjY_default);
        box-shadow: rgb(170, 170, 170) -2px 2px 4px 0px;
        width: initial;
        min-width: 100px;
        min-height: 100px;
        left: 0px;
        right: 0px;
        top: 145px;
        bottom: unset;
        max-width: 100px;
        height: auto;
        max-height: calc(100% - 150px);
        margin-left: auto;
        position: fixed;
        z-index: 1507;
        justify-content: flex-start;
        border-radius: 10px 0px 0px 10px;
        padding: 10px;
        opacity: 1;
        cursor: pointer;
        background-image: none;
        background-position: initial;
        background-size: initial;
        background-repeat: initial;
        background-attachment: initial;
        background-origin: initial;
        background-clip: initial;
    }
    
    div#fix_menu>.pc .f_menu a:hover{
        background-color: rgb(91, 118, 161,0.85);
    }

    div#fix_menu>.pc .f_menu a{
        background: none rgb(91, 118, 161);
        box-shadow: rgb(170, 170, 170) -2px 2px 4px 0px;
        width: initial;
        min-width: 100px;
        min-height: 100px;
        left: 0px;
        right: 0px;
        top: 270px;
        bottom: unset;
        max-width: 100px;
        height: auto;
        max-height: calc(100% - 270px);
        margin-left: auto;
        position: fixed;
        z-index: 1507;
        justify-content: flex-start;
        border-radius: 10px 0px 0px 10px;
        padding: 10px;
        opacity: 1;
        cursor: pointer;
    }
    
    #footer{
        padding: 20px 16px;
    }


    .cpl {
        font-size: 14px;
    }
    
    
    .f_logo {
        width: 250px;
    }

    .rec_c>a:hover::before {
        background: rgba(255,255,255,0.5);
    }
    .main_c.main_cw .nk_lists a:hover {
        background: rgb(214, 240, 236);
        opacity: 1;
    }

}

@media(max-width: 999.98px){

    .main_c_s2>div{
        width: 100%;
    }
    .main_c_s2>div:first-child{
        order: 2;
    }
}

@media (max-width:767.98px){
    .pc{
        display: none;
    }
    
    .sp_logo {
        width: 250px;
        margin: auto;
    }

    div#header>.sp {
        padding: 5px 0;
    }

    .h_btns {
        display: flex;
        justify-content: center;
        margin: auto;
        gap: 8px;
    }
    .h_btns svg {
        width: 24px;
        fill: var(--color_surface_default);
    }

    .h_btns a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    .h_btns>div {
        width: 140px;
    }

    .f_logo {
        width: 200px;
    }


    .cpl {
        font-size: 11px;
        margin-top: 8px;
    }

    div#fix_menu {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
    }
    
    div#fix_menu>.sp {
        display: flex;
        flex-wrap: wrap;
    }

    div#fix_menu>.sp>div {
        width: 50%;
    }
    
    div#fix_menu>.sp .f_form {
        background-color: var(--color_bTJjY_default);
    }
    
    div#fix_menu>.sp .f_menu {
        background: none rgb(91, 118, 161);
    }

    #footer{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding: 16px;
    }

    div#fix_menu a{
        padding:10px;
        font-size:12px
    }

    div#fix_menu svg{
        width: 40px;
        margin-bottom: 4px;
    }
    div#main {
        width: 100%;
    }

    div#sub {
        width: 100%;
    }
    
    div#main_news>div {
        width: 100%;
    }
    
    .main_c_kamoku>div {
        width: calc(((100% - 14px * 1) / 2));
    }

    .main_tokutyo_c_in {
        padding: 14px;
    }

    .main_tokutyo_c{
        font-size: 15px;
        height: 170px;
    }

    .main_tokutyo_c_in>div:last-child {
        font-size: 12px;
    }
    .main_c.main_cw_keyword, .main_c.main_cw_recruit, .main_c.main_cw_page {
        padding: 20px 15px;
    }
   nav.breadcrumb {
        margin-top: 18px;
    }

    #header{
        height: 108px;
    }
    :target {
      scroll-margin-top: 108px
    }
    #header_re {
        width: 100%;
        height: 108px;
    }
    #footer_re{
        width: 100%;
        height: 90px;
    }
}


/* ==== ログイン中だけ上にオフセット ==== */
body.admin-bar #header {
  top: 32px;              /* デスクトップ固定値 */
}

@media (max-width: 782px) { /* WP コアと同じブレークポイント */
  body.admin-bar #header {
    top: 46px;            /* モバイル用高さ */
  }
}