@charset "utf-8";

html{
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body{
	font-size: 1.6em;
	line-height: 1.2;
	color: #333333;
    background-color: #F9F9F7;
	font-family: "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
}

/* ホバー可能なデバイスでのみ適用される */
@media (any-hover: hover) {
    a:hover{
        opacity: .8;
        transition: opacity .3s;
    }
}

.mt3{
    margin-top: 3px;
}

.mb20{
    margin-bottom: 20px;
}

/*===========================================
	ヘッダー
===========================================*/
.header {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 0 8px 0;
}

.h_inner{
    position: relative;
    text-align: center;
    max-width: 1250px;
    margin: 0 auto;
}

.h_title{
    display: inline-block;
    padding: 0 60px 0 0;
}

.h_title_link{
    display: flex;
    align-items: center;
    justify-content: center;
}

.h_title_link:hover {
    opacity: 1;
}

.h_title_logo {
    padding-top: 10px;
    margin-right: 14px;
}

.h_title_text{
    font-size: 2.8rem;
    font-weight: normal;
    text-align: center;
    font-family: "jun 201";
}

.h_title_text span{
    font-size: 65%;
    letter-spacing: .05em;
}

.h_contact {
    position: absolute;
    top: 12px;
    right: 3%;
}

.h_contact .tel{
    font-size: 2.6rem;
    letter-spacing: .03em;
    color: #40ACC8;
    margin-bottom: 4px;
}

.h_contact .tel img{
    padding: 0 7px 4px 0;
}

.h_contact .address{
    font-size: 1.7rem;
    line-height: 1.5;
}

/*### グローバルナビゲーション ###*/
.gnav {
    margin: 18px 0 0 0;
    font-family: "jun 201";
}

.gnav_list {
    display: flex;
    justify-content: space-between;
    max-width: 1050px;
    margin: 0 auto;
}

.gnav_list > li {
    font-size: 2rem;
    letter-spacing: .2em;
    line-height: 1.5;
    /* width: 25%;
    padding-right: 0.8%; */
    width: calc((100% - 3.2%) / 5);
    position: relative;
}

.gnav_list > li.top {
    letter-spacing: .05em;
}

.gnav_list > li.inquiry_access {
    letter-spacing: .05em;
    line-height: 1.1;
}

.gnav_list > li.inquiry_access .dot{
    display: none;
}

.gnav_list > li span.en{
    font-size: 1.3rem;
    letter-spacing: .1em;
    font-family: "jun 201";
}

.gnav_list > li:last-of-type{
    padding-right: 0;
}

.gnav_list > li > a {
    display: flex;
    flex-direction: column;
    height: 70px;
    color: #fff;
    text-align: center;
    background-color: #40ACC8;
    justify-content: center;
    align-items: center;
    border-radius: 7px;
    transition: .3s;
}

.gnav_list > li > a:hover {
    opacity: 1;
    background: #2f94ad;
    box-shadow: 0 6px 16px rgba(0,0,0,.18);
    transform: translateY(-2px);
}

.gnav_list_sub_wrap{
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(-0.5rem);
    transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: -500%;
    right: -500%;
    margin: auto;
    width: 300px;
    padding-top: 5px;
}

.gnav_list > li:hover .gnav_list_sub_wrap {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateY(0);
}

.gnav_list_sub_outer{
    background-color: rgba(64,172,200,0.97);
    box-shadow: 0 4px 17px 0 rgba(0,0,0,0.2);
    border-radius: 10px;
}

.gnav_list_sub {
    padding: 5px 20px;
}

.gnav_list_sub li a{
    display: block;
    font-size: 1.6rem;
    letter-spacing: .05em;
    line-height: 1.2;
    color: #fff;
    padding: 15px 0px;
    border-bottom: 1px dashed #ffffff;
    position: relative;
    transition: color .2s ease;
}

.gnav_list_sub li a:hover{
    color: #FFE082;
}

.gnav_list_sub li:last-of-type a{
    border-bottom: none;
}

.gnav_list_sub li a::after {
    content: "";
    position: absolute;
    right: 3px;
    top: 50%;
    width: 8px;
    height: 8px;
    transform: rotate(45deg) translateX(-50%);
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transition: .2s ease;
}

.gnav_list_sub li a:hover:after {
    right: 0px;
    border-top: 2px solid #FFE082;
    border-right: 2px solid #FFE082;
}

.gnav_list_sub_wrap--info {
    width: 270%;
}

.gnav_list_sub_list {
    padding: 20px;
}

.gnav_list_sub_list > li {
    margin-bottom: 14px;
}

.gnav_list_sub_list > li:last-of-type {
    margin-bottom: 0px;
}

.gnav_list_sub_list span {
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: .05em;
    color: #ffffff;
    padding: 0 0 0 11px;
    position: relative;
}

.gnav_list_sub_list span:before {
    content: "";
    display: block;
    position: absolute;
    top: 56%;
    transform: translateY(-50%);
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.gnav_list_sub--info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 0px 20px;
    padding: 0 0 0 8px;
}

.gnav_list_sub--info li:last-of-type a {
    border-bottom: 1px dashed #ffffff;
}

.parent-trigger{
    display: none;
}

.gnav_sp{
    display: none;
}

.call{
    position: fixed;
    top: 170px;
    right: 0;
    z-index: 100;
}

.call a{
    font-size: 2rem;
    letter-spacing: .1em;
    width: 70px;
    height: 250px;
    writing-mode: vertical-rl;
    display: flex;
    align-items: center;
    color: #fff;
    background-color: #40ACC8;
    padding: 18px 0 0 0;
    border-radius: 10px 0 0 10px;
    background-image: url(../img/call.png);
    background-repeat: no-repeat;
    background-position: right 7px bottom 15px;
    font-family: "jun 201";
    transition: 0.3s;
}

.call a:hover {
    transform: scale(1.1);
    opacity: 1;
}

#toggle_btn {
	display: none;
}

#mask {
	display: none;
}

/*===========================================
	トップコンテンツ
===========================================*/
.main{
    max-width: 1500px;
    margin: 0 auto;
}

.mainvisual {
    position: relative;
}

.mainvisual img{
    width: 100%;
}

.mainvisual h2 {
    font-size: clamp(20px, 4.5vw, 50px);
    font-weight: normal;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: center;
    color: #ffffff;
    position: absolute;
    bottom: 21%;
    left: 0;
    right: 0;
    /*text-shadow:
        0 4px 10px rgba(0, 0, 0, 0.9),
        0 0 14px rgba(0, 0, 0, 0.9),
        0 0 20px rgba(0, 0, 0, 0.8);*/
    text-shadow: 
        0px -5px 7px rgba(0, 0, 0, 0.8),
        5px 0px 7px rgba(0, 0, 0, 0.8),
        0px 5px 7px rgba(0, 0, 0, 0.8),
        -5px 0px 7px rgba(0, 0, 0, 0.8);
    font-family: "Shin Go Regular";
}

.inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 0 0 0;
}

.content_row {
    display: flex;
    flex-wrap: wrap;
}

.content_right{
    width: 72%;
    margin-left: 3%;
}

.news {
    margin-bottom: 20px;
}

.news_header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    padding-left: 1%;
}

.news_heading {
    max-width: 633px;
    width: calc(100% - 160px);
    font-size: 2.5rem;
    position: relative;
    font-family: "jun 501";
}

.news_heading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 107px;
    right: 0;
    display: block;
    height: 1px;
    background-color: #333;
}

.news_more {
    max-width: 133px;
    width: 100%;
	background:#FFF;
}

.news_more a {
    display: inline-block;
    max-width: 133px;
    width: 100%;
    font-size: 1.5rem;
    text-align: center;
    color: #0EA4CC;
    padding: 5px;
    border: 1px solid #0EA4CC;
    border-radius: 5px;
    transition: 0.3s;
}

.news_more a:hover{
    color: #fff;
    background-color: #40ACC8;
}

.news_box {
    padding: 2% 3.5% 5%;
    border: 1px solid #40ACC8;
    border-radius: 10px;
	background:#FFF;
}

.news_list {
    overflow-y: scroll;
    height: 375px;
}

.news_row {
    display: flex;
    align-items: baseline;
    padding: 22px 1.5% 10px;
    border-bottom: 1px dashed #666666;
}

.news_list dt {
    display: flex;
    align-items: baseline;
    width: 30%;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .066em;
    min-width: 235px;
}

.news_list dt .label{
    max-width: 82px;
    width: 100%;
    font-size: 1.5rem;
    font-size: 15px;
    font-weight: normal;
    color: #ffffff;
    background-color: #FF6666;
    border-radius: 3px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 4%;
}

.news_list dd {
    width: 70%;
    font-size: 1.7rem;
    letter-spacing: .01em;
}

.news_list dd a{
    color: #0EA4CC;
}

.news_list dd a:hover{
    opacity: 1;
    text-decoration: underline;
}

.content_left{
    width: 25%;
}

.bnr_list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 0 24px;
}

.bnr_list li:last-of-type{
    margin-bottom: 0px;
}

.bnr_list li img{
    width: 100%;
}

.facebook{
    margin-top: 10px;
}

/*===========================================
	フッター
===========================================*/
.footer{
    padding: 7.5rem 0 0 0;
}

.f_inner {
    max-width: 1220px;
    margin: 0 auto;
    padding-bottom: 24px;
}

.f_gnav {
    max-width: 1220px;
    margin: 0 auto 40px auto;
}

.f_gnav_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 15px 22px;
}

.f_gnav_list li img{
    width: 100%;
}

.f_menu_list {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0rem 0 5rem;
    padding: 0 10px;
}

.f_menu_list li{
    padding: 0 4%;
    position: relative;
}

.f_menu_list li::after{
    content: "";
    display: block;
    width: 1px;
    height: 28px;
    background-color: #989898;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}

.f_menu_list li:last-of-type::after{
    content: none;
}

.f_menu_list li.login img{
    max-width: 197px;
    width: 100%;
}

.f_menu_list li a{
    display: inline-block;
    font-size: clamp(17px, 1.33vw, 20px);
    font-weight: bold;
    text-align: center;
    letter-spacing: .04em;
}

.f_menu_list li a:hover{
    opacity: 1;
    text-decoration: underline;
}

.f_row {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 10px;
    display: flex;
    align-items: flex-end;
}

.f_info{
    flex-shrink: 0;
    margin-right: 4.7%;
}

.f_title_link {
    display: flex;
    align-items: center;
    margin: 0 0 5px 0;
}

.f_title_link:hover {
    opacity: 1;
}

.f_title_logo {
    margin-right: 9px;
    padding-top: 14px;
}

.f_title_logo img{
    width: 49px;
}

.f_title_text{
    font-size: 2.2rem;
    font-weight: normal;
    font-family: "jun 201";
}

.f_title_text span{
    font-size: 68%;
    letter-spacing: -0.02em;
}

.f_contact {
    padding: 0 0 0 58px;
}

.f_contact .address{
    margin-bottom: 4px;
}

.f_contact .tel{
    font-size: 2.5rem;
}

.f_contact .tel img{
    padding: 0 7px 5px 0;
}

.f_menu_list2{
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 6px;
}

.f_menu_list2 li{
    width: calc(100% / 3);
    padding-right: 1%;
    margin-top: 20px;
}

.f_menu_list2 li a{
    display: block;
    font-size: 1.7rem;
    padding: 0 0 0 17px;
    position: relative;
}

.f_menu_list2 li a:hover{
    opacity: 1;
    text-decoration: underline;
}

.f_menu_list2 li a::after{
    content: "";
    position: absolute;
    left: 0;
    top: 32%;
    width: 13px;
    height: 13px;
    transform: rotate(45deg) translateX(-50%);
    border-top: 4px solid #40ACC8;
    border-right: 4px solid #40ACC8;
}

.footer-contact_row {
    display: flex;
    align-items: center;
}

.footer-contact_logo img{

}

.footer-contact_title {
    font-size: 2.2rem;
}

.footer-contact_content {
    font-size: 1.9rem;
    display: flex;
    padding: 0 4%;
}

.footer-contact_content_left {
    width: 50%;
}

.footer-contact_content_right {
    width: 50%;
}

.footer-contact_address {
    margin-bottom: 10px;
}

.footer-contact_list li {
    margin-bottom: 14px;
}

.footer-contact_desc {
    padding-left: 9%;
    margin-top: 10px;
}

.footer-contact_division {
    font-weight: bold;
    margin-right: 30px;
}

a.footer-contact_tel {
    position: relative;
}

a.footer-contact_tel::before {
    content: "";
    width: 25px;
    height: 24px;
    background-image: url(../img/tel.png);
    background-size: contain;
    position: absolute;
}

.copyright {
    display: block;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding: 7px 0 5px 0;
    background-color: #40ACC8;
}

/* ページトップへボタン */

#page-top {
    position: fixed;
    right: 15px;
    bottom: 30px;
}

#page-top a{
	display: inline-block;
    color: #000;
    width: 75px;
    height: 75px;
    padding-top: 35px;
    text-align: center;
    background-color:rgba(189,226,236,0.8);
    border-radius: 50%;
    position: relative;
}

#page-top a:hover{
	opacity: 1;
	background-color:rgba(189,226,236,1);
}

#page-top a:before{
    content: "";
    position: absolute;
    left: 50%;
    top: 22px;
    width: 10px;
    height: 10px;
    border-left: 1px solid #333;
    border-top: 1px solid #333;
    transform: translatex(-50%) rotate(45deg);
}

#page-top a:after {
    content: "PAGE TOP";
    font-size: 1.1rem;
    font-family: "Arial";
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%);
}

/*===========================================
	ここから中ページ
===========================================*/

.align-center{
    text-align: center;
}

/* ▼▼▼ パンくず ▼▼▼ */
.breadcrumbs {
    padding: 15px 0;
    font-size: 1.5rem;
    line-height: 1;
    color: #000;
    margin-bottom: 15px;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP";
}

.breadcrumbs ol{
    display: flex;
    justify-content: flex-end;
}

.breadcrumbs ol li {
    white-space: nowrap;
    word-break: keep-all;
    position: relative;
}

.breadcrumbs ol li:last-child {
    margin-right: 0;
}

.breadcrumbs ol li:not(:last-of-type)::after {
    content: ">";
    margin: 0 7px;
}

.breadcrumbs li:last-child:after {
    content: none;
}

.breadcrumbs a:hover {
    opacity: 1;
    text-decoration: underline;
}
/* ▲▲▲ パンくず ▲▲▲ */

.naka_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 4.5% 0 0 0;
}

.naka_title {
    font-size: 4.8rem;
    font-weight: normal;
    text-align: center;
    color: #3FACC7;
    padding-bottom: 0.25em;
    border-bottom: 10px solid #40ACC8;
    font-family: "jun 201";
}

/*### 事業案内 ###*/

.naka_content{
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP";
}

.sec1{
    margin-bottom: 80px;
}

.sec1:last-of-type{
    margin-bottom: 0;
}

.office_information ul li{
font-size:18px;
line-height:2.3;
}

.naka_content .midasi{
padding-bottom: 15px;
font-size: 30px;
color: #3FACC7;
font-weight: bold;
font-family: "jun 501";
}

.setumei{
font-size:18px;
line-height: 1.7;
}

/*### 広報しふくのふくし ###*/

.kohoshi_row {
    display: flex;
    justify-content: space-around;
    margin-top: 40px;
}

.kohoshi {
    max-width: 330px;
    padding: 20px 15px 15px;
    border-radius: 6px;
    box-shadow: 0px 0px 15px 0px rgba(153, 153, 153, 0.8);
    margin: 0 2%;
}

.kohoshi img{
    width: 100%;
}

.kohoshi figcaption{
    font-size: 2.3rem;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
}

.bn_list{
    display: flex;
    flex-wrap: wrap;
    width: 95%;
    margin: 10px auto 0;
}

.bn_list li {
    width: calc(100% / 3);
    padding: 0 1%;
    margin-bottom: 15px;
}

.bn_list a{
    position: relative;
    color: #2d5f92;
    height: 65px;
    display: flex;
    background-color: #fff;
    align-items: center;
    border-bottom: 1px dashed #beba91;
    padding: 0 20px 0 40px;
    box-shadow: 0px 0px 1px 0px rgba(153, 153, 153, 0.8);
}

.bn_list a:hover{
    opacity: 1;
    text-decoration: underline;
}

.bn_list a::after {
    content: "";
    position: absolute;
    left: 15px;
    top: 46%;
    width: 11px;
    height: 11px;
    transform: rotate(45deg) translateX(-50%);
    border-top: 2px solid #E14609;
    border-right: 2px solid #E14609;
}

/*### 連絡先はこちら ###*/
.contact_bg {
    padding: 10px;
    background-color: #A2BDE5;
    border: 5px solid #436890;
    width: 100%;
    margin: 0 auto;
}

.contact_bg--not_kaigo {
    margin-bottom: 40px;
}

.grid_container {
    display: grid;
    grid-template-columns: 1fr 1fr 1.5fr;
    grid-template-rows: auto;
    background-color: #fff;
    border-top: 5px solid #15273A;
    border-left: 5px solid #15273A;
    margin-bottom: 10px;
}

.grid_container:last-of-type {
    margin-bottom: 0px;
}

/*
.grid_container--not_kaigo{
    margin-bottom: 28px;
    border-bottom: 5px solid #15273A;
}*/

.grid_item{
    padding: 8px;
    border-right: 5px solid #15273A;
    /*border-top: 5px solid #15273A;*/
    border-bottom: 5px solid #15273A;
}

.grid_item img{
    width: 100%;
}

.grid_item--gaikan{
    background-color: #214052;
    display: flex;
    align-items: center;
}

.grid_container--typeB .grid_item--gaikan{
    grid-row: 1 / span 2;
}

.grid_container--typeC .grid_item--gaikan{
    grid-row: 1 / span 3;
}

.grid_container--typeD .grid_item--gaikan2{
    grid-row: 2 /4;
    grid-row: 2 / span 2;
}

.grid_item--gaikan img{
    border: 1px solid #ffffff;
}

.grid_item--gaikan .address {
    text-align: center;
    color: #fff;
    padding: 12px 0;
    background-color: #828D89;
    font-family: "jun 201";
    line-height: 1.5;
}

.grid_item--info {
    font-size: clamp(16px, 1.2vw, 18px);
    font-family: "jun 501";
    padding: 10px;
    display: flex;
    align-items: center;
}

.grid_item--info .tel {
    padding-left: 22px;
}

.grid_item--info dd{
    margin-top: 3px;
}

.grid_item--map{
    grid-column: 3;
    display: flex;
    align-items: center;
}

.grid_container--typeB .grid_item--map{
    grid-row: 1 / span 2;
}

.grid_container--typeC .grid_item--map{
    grid-row: 1 / span 3;
}

.grid_container--typeD .grid_item--map{
    grid-row: 1 / span 3;
}

/*### 公開情報 ###*/

.disclosures_list{
    font-size: 1.8rem;
    padding-left: 20px;
    max-width: 500px;
    margin-bottom: 30px;
}

.disclosures_list li{
    list-style-type: disc;
    margin-bottom: 15px;
}

.disclosures_list span{
    display: inline-block;
    width: 70%;
}

.disclosures_list li a{
    color: #0000ff;
}

.notes_list{
    font-size: 1.8rem;
    padding-left: 20px;
    margin-top: 30px;
}

.notes_list li{
    list-style-type: disc;
    margin-bottom: 10px;
}

/*### 高島市権利擁護支援センター ###*/

.naka_heading {
    font-size: 3rem;
    color: #3FACC7;
    font-family: "jun 501";
    margin-bottom: 18px;
}

.sec {
    margin-bottom: 80px;
}

.sec:last-of-type{
    margin-bottom: 0;
}

.sec_intro {
    font-size: 1.8rem;
    margin: 20px 0;
}

.naka_text{
    font-size: 1.8rem;
    line-height: 1.7;
}

.naka_list {
    font-size: 1.8rem;
}

.naka_list li {
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 15px;
}

/*### 住民福祉協議会 ###*/

.plan_list {
    max-width: 1150px;
    margin: 40px auto;
    padding: 0 16px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

.jyumin_plan {
    padding: 16px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.jyumin_plan h3 {
    padding-bottom: 10px;
    font-size: 1.7rem;
    border-bottom: 1px dashed #dcdcdc;
    margin-bottom: 13px;
}

.plan_body {
    text-align: center;
}

.jyumin_plan a:hover {
    opacity: 1;
}

.jyumin_plan img {
    width: 100%;
    border: 1px solid #ddd;
    transition: 0.3s;
}

.jyumin_plan a:hover img{
    opacity: 0.8;
}

.plan_name {
    color: #0000ff;
    padding: 10px 0 7px;
}

.jyumin_plan a:hover .plan_name {
    color: #CC3300;
    text-decoration: underline;
}

/*### 見守りネットワーク ###*/

.mimamori_row {
    display: flex;
    padding: 0 2%;
}

.mimamori_cover {
    max-width: 220px;
    width: 100%;
    margin-right: 3%;
}

.mimamori_cover img{
    box-shadow: 0 0 10px rgba(0,0,0,0.08);
    width: 100%;
}

.mimamori_text {
    font-size: 1.7rem;
    line-height: 1.5;
    padding-top: 5px;
}

.mimamori_text a{
    color: #0000ff;
}

.mimamori_text a:hover {
    color: #CC3300;
    text-decoration: underline;
}

.mimamori_list{
    padding-left: 20px;
}

.mimamori_list li{
    margin-bottom: 8px;
    list-style-type: decimal;
}

/*### 苦情対応 ###*/

.sec_inner {
    padding: 0 2%;
}

.sec_inner_con {
    margin-bottom: 30px;
}

.sec_inner_con:last-of-type {
    margin-bottom: 0px;
}

.complaint_heading{
    font-size: 2rem;
    color: #4B792D;
    font-family: "jun 501";
    margin-bottom: 10px;
}

.complaint_tbl{
    max-width: 840px;
    border-top: 1px solid #9A9A9B;
    border-left: 1px solid #9A9A9B;
}

.complaint_tbl th,
.complaint_tbl td{
    border-right: 1px solid #9A9A9B;
    border-bottom: 1px solid #9A9A9B;
    padding: 10px;
}

.complaint_tbl th{
    color: #ffffff;
    background-color: #73C6DA;
    width: 33%;
}

.complaint_tbl th.tel{
    min-width: 125px;
}

.complaint_form{
    font-size: 1.8rem;
    padding-left: 20px;
    margin-top: 10px;
    position: relative;
}

.complaint_form::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 15px solid #f39800;
}

.complaint_form a{
    color: #0000ff;
}

.complaint_form a:hover{
    opacity: 1;
    text-decoration: underline;
}

.complaint_status{
    max-width: 500px;
}

.complaint_status span{
    display: inline-block;
    width: 70%;
}

.link_text{
    color: #0000ff;
}

.link_text:hover{
    opacity: 1;
    color: #CC3300;
    text-decoration: underline;
}

/*### 社会福祉協議会とは？ ###*/

.what_text {
    max-width: 1000px;
    margin: 0 auto 45px auto;
}

.what_lead{
    font-family: "jun 201";
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 40px;
}

.what_lead span{
    font-family: "jun 501";
    color: #40ACC8;
}

.what_work dt {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 2rem;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    background-color: #40ACC8;
    padding: 6px;
    margin-bottom: 20px;
}

.what_work_gazou {
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
}

.what_work_gazou img{
    width: 100%;
}

.what_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.what_list li {
    background-color: #ffffff;
    padding: 25px 20px;
    border: 1px solid #cfe3ea;
    border-radius: 10px;
}

.what_list li p {
    margin: 0 0 0.5em 0;
    font-weight: bold;
    line-height: 1.6;
}

.what_list li span {
    display: block;
    color: #828D89;
    font-weight: bold;
}

/*### 介護サービス ###*/
.kouji{
	font-size: 2rem;
	text-align: center;
	margin: 0 0 0 0;
}

.nursing_care_content{
    width: 90%;
    margin: 0 auto;
}

.nursing_care_menu {
    margin-bottom: 50px;
}

.nursing_care_list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 1fr;
    gap: 20px;
}

.nursing_care_list li a {
    font-size: 1.7rem;
    line-height: 1.4;
    text-align: center;
    color: #ffffff;
    background-color: #0F9ED5;
    padding: 10px;
    /* border: 2px solid #666666; */
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: .3s ease;
}

.nursing_care_list li.active_btn a,
.nursing_care_list li a:hover {
    background-color: #E67E22;
}

.nursing_care_list li a::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0px;
    margin: auto;
    bottom: -25px;
    width: 20px;
    height: 20px;
    transform: rotate(135deg);
    border-top: 5px solid rgb(64, 172, 200);
    border-right: 5px solid rgb(64, 172, 200);
    transition: .3s ease;
}

.nursing_care_list li.active_btn a::after,
.nursing_care_list li a:hover::after {
    border-top: 5px solid #E67E22;
    border-right: 5px solid #E67E22;
}

.nursing_care_slide{
    padding: 0 40px;
}

.nursing_care_slide li {
    margin: 0 10px;
}

.nursing_care_slide img {
    width: 100%;
}

.slide_arrow {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #40ACC8;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 10;
}

.slide_arrow--prev {
    /* left: -40px; */
    left: 0;
}

.slide_arrow--next {
    /* right: -40px; */
    right: 0;
}

.slide_arrow:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    transform: translateY(-50%) rotate(45deg);
}

.slide_arrow--prev:after {
    border-left: 4px solid #ffffff;
    border-bottom: 4px solid #ffffff;
    left: 14px;
}

.slide_arrow--next:after {
    border-top: 4px solid #ffffff;
    border-right: 4px solid #ffffff;
    right: 15px;
}

.nursing_care_address {
    font-size: 1.8rem;
    margin-top: 40px;
}

.nursing_care_address p{
    margin-bottom: 5px;
}

.manual_btn {
    display: block;
    font-size: 2rem;
    color: #ffffff;
    text-align: center;
    background-color: #FF4D4D;
    max-width: 300px;
    width: 100%;
    padding: 16px 10px;
    border-radius: 30px;
    margin-top: 40px;
}

.manual_btn {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    background: linear-gradient(180deg, #ff6b6b, #ff4d4d);
    width: 320px;
    padding: 18px 20px;
    border-radius: 40px;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
    transition: transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
    margin-top: 40px;
}

/* ホバー */
.manual_btn:hover {
    opacity: 1;
    transform: translateY(-2px);
    box-shadow: 0 10px 18px rgba(0,0,0,.25);
    filter: brightness(1.05);
}

/* クリック */
.manual_btn:active {
    transform: translateY(1px);
    box-shadow: 0 3px 8px rgba(0,0,0,.2);
}

/* キーボードフォーカス */
.manual_btn:focus-visible {
    outline: 3px solid #333;
    outline-offset: 3px;
}

/*### つながり応援支援センターよろず ###*/

.yorozu_tel {
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.yorozu_tel span{
    font-size: 2.5rem;
    font-weight: bold;
}

.yorozu_soudan{
    margin-bottom: 8px;
}

.yorozu_soudan img{
    max-width: 400px;
    width: 100%;
}

.promise_heading{
    font-size: 2rem;
    color: #B53835;
    font-family: "jun 501";
    margin-bottom: 5px;
    text-decoration: underline;
}

.flow_list{
    list-style-position: inside;
    padding-left: 24px;
}

.flow_list li{
    margin-bottom: 20px;
    list-style-type: decimal;
}

.flow_list li::marker {
    font-weight: bold;
    color: #B53835;
    font-size: 2rem;
}

.flow_list .heading{
    font-size: 2rem;
    color: #B53835;
}

.flow_list .label{
    padding-top: 6px;
    padding: 5px;
    border-width: 2px;
    border-color: #09F;
    border-style: solid;
    background-color: #E3F1FD;
    border-radius: 10px;
    font-size: 1.8rem;
    width: 220px;
    font-weight: bold;
    text-align: center;
    margin: 8px 0 4px;
}

.support-menu {
    margin-bottom: 15px;
}

.support-menu_heading{
    width: 220px;
    color: rgb(255, 255, 255);
    padding-top: 6px;
    padding: 6px;
    background-color: rgb(247, 148, 0);
    font-size: 1.8rem;
    text-align: center;
    border-width: 2px;
    border-color: rgb(255, 153, 0);
    border-style: solid;
    border-radius: 10px;
    margin-bottom: 5px;
}

.support-menu_row{
    display: flex;
    align-items: flex-start;
}

.support-menu_row p{
    width: 85%;
    padding-right: 2%;
}

.support-menu_row img{
    width: 15%;
    height: auto;
}

.annual-report img{
    max-width: 524px;
    width: 100%;
}

.yorozu_contact {
    font-size: 1.8rem;
}

.yorozu_contact p{
    margin-bottom: 10px;
}

.yorozu_contact_name {
    font-weight: bold;
}

.yorozu_contact_name span{
    font-size: 140%;
}

.yorozu_contact_tel span{
    font-size: 140%;
    font-weight: bold;
}

/*### 高島市地域福祉推進計画 ###*/

.promotion_list li{
    margin-bottom: 8px;
}

.shiyo {
    display: flex;
    margin-bottom: 15px;
}

.shiyo dt {
    font-weight: bold;
    margin-right: 14px;
}

/*### 災害関連 ###*/

.disaster_volunteer{
    font-size: 1.8rem;
}

.disaster_volunteer li{
    margin-bottom: 18px;
}

.zenkokushakyo{
    padding: 10px 0 10px 17px;
}

/*### ふくしの出前講座 ###*/

.pdf_list{
    font-size: 1.7rem;
    padding-top: 8px;
}

.pdf_list li{
    margin-bottom: 10px;
}

/*### ボランティア活動 ###*/

.volunteer_lead{
    margin-bottom: 40px;
}

.naka_subheading{
    font-size: 2rem;
    font-family: "jun 501";
    margin-bottom: 10px;
}

.naka_subheading--volunteer::before {
    content: "●";
}

.volunteer_reg_app{
    margin-top: 20px;
}

.notes_list--volunteer{
    margin-top: 70px;
}

/*### リンク集 ###*/

.link_list {
    font-size: 1.8rem;
    padding: 0 2%;
}

.link_list li {
    margin-bottom: 15px;
}

/*### 理念・行動規範 ###*/

.ideal_lead{
    margin-bottom: 40px;
}

.org_chart img{
    max-width: 850px;
    width: 100%;
}

.org_text {
    font-size: 1.8rem;
    margin-bottom: 4px;
}

/*### お問合せ・交通アクセス ###*/

.form_heading{
    font-size: 2.2rem;
    text-align: center;
    margin: 40px 0 20px 0;
    line-height: 1.2;
}

.text_center{
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
}

/* フォーム本体 */
#formWrap {
	width: 80%;
	margin:0rem auto 0.2rem auto;
	color:#333;
	line-height:120%;
	font-size: 1.5rem;
}

#formWrap table.formTable {
	width:100%;
	margin: 1rem auto 2rem auto;
	border-collapse:collapse;
}

#formWrap table.formTable td, table.formTable th {
	border:1px solid #ccc;
	padding:10px;
}

#formWrap table.formTable th {
	font-weight: bold;
	width:30%;
	background:#efefef;
	text-align:left;
}

.require{
	color:#F00;	
}


.th-text{
	line-height: 180%;
}

.must {
	background-color: #C00;
	border: solid 2px #C00;
	text-shadow: 0px 1px 2px #933;
	padding: 2px 5px;
	color: #FFF;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #CCC;
	background-size: 100% 100%;
	float: right;
}

.input-box{
    border: solid 1px #CCC;
    border-radius: 3px;
    box-shadow: 0px 0px 5px #CCC inset;
    padding: 5px 8px;
    margin: 2px;
    vertical-align: middle;
}

.select-box{
    border: solid 1px #CCC;
    border-radius: 3px;
    box-shadow: 0px 0px 5px #CCC inset;
    padding: 5px;
    margin: 2px;
    vertical-align: middle;
}

.radio_btn{
	padding: 5px 0 5px 10px;
	display: block; 
}

.submit-btn{
	padding: 8px 20px;
    cursor: pointer;
    outline: none;
}

.error_messe{
	margin: 2rem 0 0 0;
	color: #E31F23;
}

@media screen and (max-width: 767px) {

textarea{
		width: 100%;
}

#formWrap {
	width:100%;
	margin:0 auto 3rem auto;
}
#formWrap table.formTable th {
	width:auto;
	display:block;
}
	
#formWrap table.formTable td {
	width:auto;
	display:block;
}
	
#formWrap table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
	
form input[type="text"], form textarea {
	width:96%;
	padding:5px;
	font-size:110%;
	display:block;
}
	
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	font-size: 1.5rem;
	display:block;
	width:100%;
	height:40px;
}
}

.inq_red_text{
	color:#F00;
	font-weight:bold;
	margin:10px 0 15px 0;
}

/* 共通ボタン */
.btn_box{
	margin: 0 0 15px 0;
}

a.btn_common {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 500px;
  height: 50px;
  position: relative;
  background: #40acc8;
  border: 1px solid #40acc8;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_common:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -4px;
}
a.btn_common:hover {
  background: #fff;
  color: #40acc8;
}
a.btn_common:hover:before {
  border-top: 2px solid #40acc8;
  border-right: 2px solid #40acc8;
}

/*### この記事に関するお問い合わせ先 ###*/

.contact-info {
    font-size: 2rem;
    font-weight: bold;
    padding: 0 2% 30px;
    margin-top: 7.5rem;
    /*border-bottom: 5px solid #9AD9EA;
     border: none; 
    display: flex;
    justify-content: center;*/
}

.contact-info_container {
    background-color: #D7EAEE;
    padding: 3rem 2%;
    max-width: 480px;
    border-radius: 15px;
    display: flex;
    justify-content: center;
}

.contact-info_address {
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
}

.contact-info_address span {
    margin-right: 8px;
}

.contact-info_content {
    display: flex;
}

.contact-info_dept {
    margin-right: 18px;
}

.contact-info_item {
    display: flex;
    margin-bottom: 10px;
}

.contact-info_item:last-of-type {
    margin-bottom: 0;
}