/* CSS Document */
*,*::before,*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
/* -----共通項目----- */
html {
	font-size: 62.5%;
}
body {
    /* background-color: #fffbfe; */
    background-color: #fff;
    color: #000;
    font-family:  游ゴシック,"ヒラギノ角ゴ ProN W3", HiraKakuProN-W3,  "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
    overflow-x: hidden;
}
a {
	color: inherit;
	text-decoration: none;
}
img {
	vertical-align: bottom;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
.wrapper {
    max-width: 1400px;
    margin:  0 auto;
}

.uppercase {
    text-transform: uppercase;
}
ul {
    list-style: none;
}
.center {
    text-align: center;
}

.emphasis {
    font-weight:bold;
    color:#000;
}
.subtitle {
    position: relative;
    width: fit-content;
    margin: 1em auto 0;
    text-align: center;
    color: #c082ce;
    font-weight: 500;
    font-size: 2rem;
}
/* .subtitle::before {
    position: absolute;
    content:'';
    width: 20px;
    height: 20px;
    top: 6px;
    left: -24px;
    background-image: url(../images/leaf.png);
    background-size: contain;
} */
.linear_title {
    display: block;
    width: fit-content;
    position: relative;
    margin: 0 auto 10px;
    padding: 0.25em 0;
    font-size: 2rem;
}
.linear_title:after {
    content: "";
    display: block;
    height: 2px;
    background: -webkit-linear-gradient(to right, #2e7eb7, #31daf4);
    background: linear-gradient(to right, #2e7eb7, #31daf4);
  }
.basic_wrapper {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto 20px;
}

#news, #facility, #information, #history {
    margin-top: -65px;
    padding-top: 65px;
}

/* ----- ヘッダー ----- */
.header {
    width: 100%;
    position: fixed;
    z-index: 9000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 65px;
    padding: 8px 12px;
    background-color: #fff;
}
.header img {
    width: 180px;
    vertical-align: middle;
}
/* PC版のみ */
.header_nav_list {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 0;
    color: #555;
    font-weight: bold;
    font-size: 1.8rem;
}
.header_nav_item {
    position: relative;
    margin: 0 20px;
}
.header_nav_item {
    width: fit-content;
    position: relative;
    margin: 0 20px;
}
.header_nav_item:hover {
    color: #c082ce;
    transition: 0.3s;
}
/* .header_nav_item::before {
    position: absolute;
    content:'';
    width: 18px;
    height: 18px;
    top: 6px;
    left: -22px;
    background-image: url(../images/leaf.png);
    background-size: contain;
    opacity: 0;
} */
.header_nav_item:hover::before {
    transition: 0.3s;
    opacity: 1;
}

.header_tel {
    width: fit-content;
    margin: 0 20px;
    color: #ff9d26;
    font-weight: bold;
    font-size: 2rem;
}
.header_tel::after {
    display: none;
}

.top_image {
   padding-top: 65px;
}
.top_image img {
    width: 100%;
}

/* -----ハンバーガーメニュー----- */
/*　ハンバーガーボタン　*/
.hamburger {
    z-index: 9999;
	display : block;
	position: fixed;
	right : 13px;
	top   : 15px;
	width : 42px;
	height: 36px;
	cursor: pointer;
	text-align: center;
    background-color: #ae89b7;
}
.hamburger span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 3px ;
    left    : 6px;
    background : #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
    top: 9px;
}
.hamburger span:nth-child(2) {
    top: 17px;
}
.hamburger span:nth-child(3) {
    top: 25px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
    top : 16px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
}
nav.globalMenuSp {
    position: fixed;
    z-index : 2;
    top  : 0;
    left : 0;
    color: #000;
    /* background: #fff; */
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
    font-size: 1.6rem;
}
nav.globalMenuSp ul {
    background-color: rgba(0,0,0,0.8);
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px solid #ccc;
}
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
nav.globalMenuSp ul li:hover{
    background :#ddd;
}
nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 2em 0;
    text-decoration :none;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}

/* ----- 理念 ----- */
.philosophy {
    width: 95%;
    margin: 20px auto;
    font-size: 1.4rem;
}
.philosophy_emphasis {
    font-weight: bold;
    font-size: 1.4rem;
}

/* ----- お知らせ ----- */
/* お知らせ */
.news_list {
    box-sizing: border-box;
	margin: 0;
	padding: 0;
    width: 90%;
    max-width: 700px;
    height: 150px;
    overflow-y: scroll;
    margin: 10px auto;
    padding-right: 10px;
    font-size: 14px;
}
/* スクロールバー */
.news_list::-webkit-scrollbar {
    width: 12px;
}
.news_list::-webkit-scrollbar-track {
    background-color: #EFEFEF;
    border-radius: 10px;
}
.news_list::-webkit-scrollbar-thumb {
    background-color: #edd9f1;
    border-radius: 10px;
}
.news_over {
    display: flex;
    margin-bottom: 5px;
    align-items: baseline;
    line-height: 1.3;
}
.news_date {
    margin-right: 1.5em;
}
.news_area {
    padding: 0.2em 0.5em;
    color: #fff;
    letter-spacing: 1px;
    font-weight: 500;
    font-size: 1.3rem;
}
.na_common {
    padding: 0.2em 1.1em;
    background-color: #b8b8b8;
}
.ls05em {
    letter-spacing: 0.5em;
}
.ls1em {
    letter-spacing: 1em;
}
.na_kasaoka {
    background-color: #72bd01;
}
.na_fukuyama {
    background:#b7bd01;
}
.na_hyogo {
    background-color: #2dabea;
}
.na_tokyo {
    background-color: #ea722d;
}
.news_item {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px dashed #ae89b7;
    color: #444;
    font-weight: 500;
}
/* .na_chugoku {
    background-color: #72bd01;
}
.na_kansai {
    background-color: #2dabea;
}
.na_kanto {
    background-color: #ea722d;
} */
.news_item a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.ni_link {
    line-height: 1.8;
    border-bottom: 1px solid #523210;
}


/* ----- 施設一覧 ----- */
.facility_wrapper {
    z-index: 100;
    position: relative;
    display: grid;
    grid-gap: 30px;
    margin: 5px 0 10px 0;
    padding: 16px 0 18px;
    background-color: #fdf5ff;
}

.area_block {
    position: relative;
    display: grid;
    grid-gap: 30px;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 0;
    padding: 70px 0 20px;
    background-color: #fff;
    box-shadow: 4px 4px 4px #e3d3e7;
    font-size: 1.2rem;
}
.ab_ribbon {
    position: absolute;
    content: "";
    width: 120px;
    height: 36px;
    top: 12px;
    left: -10px;
    padding: 5px 0;
    box-shadow: 0 2px 2px #ddd;
    color: #fff;
    text-align: center;
    letter-spacing: 1px;
    font-weight: bold;
    font-size: 1.6rem;
}
.ab_hyogo {
    background-color: #43b149;
}
.ab_tokyo {
    background-color: #ee87b4;
}
.ab_hiroshima {
    background-color: #f6ac19;
}
.ab_okayama {
    background-color: #0087ce;
}
.ab_ribbon_reverse {
    position: absolute;
    content: "";
    width: 10px;
    top: 48px;
    left: -10px;
    border-bottom: 5px solid  transparent;
}
.abr_hyogo {
    border-right: 10px solid  #2c632f;
}
.abr_tokyo {
    border-right: 10px solid  #c16088;
}
.abr_hiroshima {
    border-right: 10px solid  #c28801;
}
.abr_okayama {
    border-right: 10px solid  #00507b;
}
.facility_item {
    position: relative;
    width: 90%;
    display: grid;
    grid-template-columns: 3fr 5fr;
    grid-gap: 10px 5px;
    margin: 0 auto;
    padding: 20px 5px 10px 4.5%;
    background-color: #fff;
    
    /* box-shadow: 3px 3px 3px #ddd; */
    align-items: center;
    text-align: center;
}
.facility_item_hyogo {
    border: 1px solid #43b149;
}
.facility_item_tokyo {
    border: 1px solid #ee87b4;
}
.facility_item_hiroshima {
    border: 1px solid #f6ac19;
}
.facility_item_okayama {
    border: 1px solid #0087ce;
}
.fi_grid {
    
}

.facility_image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow-x: hidden;
    object-fit: cover;
}
.facility_image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    /* border: 1px solid #ccc; */
}
.facility_image img:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.fi_title {
    position: absolute;
    z-index: 5000;
    width: fit-content;
    top: -14px;
    left: 50%;
    transform: translate(-50%, 0);
    margin: 0 auto 0;
    padding: 0 0.5em;
    background-color: #fff;
    font-size: 1.8rem;
}
.fit_wide_A {
    min-width: 180px;
}
.fit_wide_B {
    min-width: 170px;
}
.fit_small_A {
    min-width: 260px;
    font-size: 1.6rem;
}

.fit_hyogo {
    color: #43b149;
}
.fit_tokyo {
    color: #ee87b4;
}
.fit_hiroshima {
    color: #f6ac19;
}
.fit_okayama {
    color: #0087ce;
}
.fi_middle {
    font-size: 1.3rem;
}
/* サークルアイテム */
.circle_list {
    /* padding: 0.5em 1em; */
    margin-left: 5px;
    line-height: 1.6;
    text-align: left;
    font-weight: 500;
}
.circle_item {
    position: relative;
    display: block;
    padding: 0 0 0 1em;
    font-size: 1.4rem;
}
.circle_item::before {
    position: absolute;
    content: "○";
    left: 0;
    top: 2px;
    font-size: 1.2rem;
}
.fi_jump_wrapper {
    width: 80%;
    display: grid;
    grid-column: 1 / 3;
    margin: 0 auto;
}
.fi_jump {
    width: 11em;
    display: block;
    grid-column: 1 / 3;
    margin: 5px auto;
    padding: 0.2em 1em;
    border: 1px solid #523210;
    color: #523210;
    font-weight: 500;
    font-size: 1.4rem;
}
 .fi_insta {
    background: linear-gradient(120deg, #6620f5, #f5be41, #ea455e  100%) ;
    border-image: linear-gradient(120deg, #6620f5, #f5be41, #ea455e) 1;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
 }
.fi_jump_wrapper .fi_jump, .fi_jump_wrapper .fi_insta {
    grid-column: auto;
}
.fi_jump:hover {
    transition: 0.2s;
    background-color: #6c451c;
    color: #fff;
}
.fi_insta:hover {
    transition: 0.2s;
    background-color: linear-gradient(to right, #6620f5, #f5be41, #ea455e  100%) ;
    color: #fff;
    -webkit-background-clip: inherit;
    -webkit-text-fill-color: inherit;
}

/* ----- 汎用グリッド ----- */
.common_grid {
    width: 95%;
    max-width: 1100px;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 25px;
    margin: 0 auto;
    padding-top: 10px;
}
.cg_block {
    position: relative;
    display: grid;
    grid-template-columns: 3fr 5fr;
    grid-gap: 10px;
    padding: 10px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 1px 1px 4px #aaa;
}
.cg_block img {
    width: 100%;
    border-radius: 10px;
}
.cg_block::before {
    z-index: 5000;
    position: absolute;
    content: "";
    display: block;
    height: 40px;
    width: 40px;
    left: -5px;
    top: -20px;
    border-radius: 50%;
    background-color: #cc95d9;
    text-align: center;
    align-items: center;
    padding: 2px 4px 0 0;
    color: #fff;
    font-style: italic;
    font-weight: bold;
    font-size: 2.4rem;
}
.cgb01::before {
    content: "01";
}
.cgb02::before {
    content: "02";
}
.cgb03::before {
    content: "03";
}
.cgb04::before {
    content: "04";
}
.cgb05::before {
    content: "05";
}
.cgb06::before {
    content: "06";
}
.cgb07::before {
    content: "07";
}
.cgb08::before {
    content: "08";
}
.cgb09::before {
    content: "09";
}
.cgb10::before {
    content: "10";
}
.cg_index {
    margin-bottom: 0.2em;
    border-bottom: 1px solid #c082ce;
    /* border-bottom: 1px solid #ff962c; */
    color: #c082ce;
    /* color: #ff962c; */
    font-weight: bold;
    font-size: 1.6rem;
}
.cg_sentence {
    font-weight: 500;
    font-size: 1.4rem;
}
.cg_button_wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 2px;
}
.cg_button {
    position: relative;
    display: block;
    width: fit-content;
    margin: 0 auto;
    /* padding: 0.1em 0.8em; */
    /* background-color: #fff3d8; */
    /* background-color: #feffeb; */
    /* background-color: #fff9f3; */
    border-bottom: 1px solid #00A0E9;
    background-color: #fff;
    /* box-shadow: 1px 1px 2px #107bad; */
    color: #00A0E9;
    font-weight: 500;
    font-size: 1.6rem;
}
.cg_button:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.cg_button::before {
    position: absolute;
    content: "・";
    top: 52%;
    left: -1em;
    transform: translate(0, -50%);
}


/* ----- 公開情報 新ver ----- */
.guidelines_grid{
    width: 90%;
    max-width: 800px;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 15px;
    margin: 15px auto 50px;
}
.guidelines_grid a {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: 4px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid #4b4b4b;
    box-shadow: 3px 3px 2px#999;
    text-align: center;
    color: #555;
    line-height: 1.4;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
}
.guidelines_grid a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.guidelines_grid img {
    width: 60%;
    display: block;
    margin: 0 auto;
}
.gg_small {
    font-size: 14px;
}


/* ----- 公開情報 ----- */
/* .deta_list {
    width: fit-content;
    list-style-type: disc;
    margin: 10px auto 0;
}
.deta_item {
    width: fit-content;
    position: relative;
    margin-bottom: 1em;
    font-size: 1.6rem;
}
.deta_item a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.border_hover {
    border-bottom: 1px solid #fff;
}
.border_hover:hover {
    border-bottom: 1px solid #666;
    transition: 0.2s;
}
.deta_item img {
    width: 30px;
}
.pdf_icon {
    position: absolute;
    top: 50%;
    right: -40px;
    transform: translateX(0) translateY(-50%);
} */

/* -----  pdfボタン ----- */ 
.management_botton {
    width: 80%;
    max-width: 450px;
    display: grid;
    grid-template-columns: 6fr 1fr;
    margin: 10px auto 15px;
    padding: 8px;
    border: 1px solid #999;
    box-shadow: 3px 3px 3px #ccc;
    align-items: center;
    text-align: center;
}
.management_botton:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.management_botton img {
    width: 80%;
    margin: 0 auto;
}
.management_text {
    padding-left: 1em;
    color: #484848;
    font-weight: bold;
    font-size: 2rem;
}
.model_wrapper a:hover {
    opacity: 0.8;
    transition: 0.2s;
}

/* ----- 公開情報（事業所別） ----- */
.date_block_wrapper {
    width: 95%;
    max-width: 1000px;
    margin: 10px auto;
    /* border: 1px solid #f3d7fa; */
    background-color: #fff;
    color: #000;
}
.date_block_wrapper a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.date_block {
    margin: -0.5px 0 0 -0.5px;
    padding: 0.5em 1em;
    border: 0.5px solid #00A0E9;
    background-color: #fff;
}
.date_block:nth-child(2n) {
    background-color: #fafdff;
}
.db_index {
    display: block;
    width: fit-content;
    font-weight: bold;
    font-size: 1.8rem;
}
.date_item_wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    /* list-style-type: disc; */
    /* color: #00A0E9; */
    font-weight: 500;
    font-size: 1.6rem;
    /* background-color: #fdf5ff; */
}

.date_item {
    margin-bottom: 0.5em;
    
}
.date_item a {
    border-bottom: 0.5px solid #444;
}

/* -----アコーディオン----- */
.accordion_area{
    list-style: none;
    width: 95%;
    max-width: 900px;
    margin: 20px auto 0;
}
.accordion_area li{
    margin: 10px 0;
}
.accordion_area section {
	box-shadow: 3px 3px 3px #aaa;
    border: 1px solid #ddd;
}
/*アコーディオンタイトル*/
.accordion_title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-weight: bold;
    padding: 12px 50px;
    transition: all .5s ease;
    /* color: #00A0E9; */
    font-size: 2rem;
}
.accordion_title:hover {
    opacity: 0.8;
    transition: 0.2s;
}

/*アイコンの＋と×*/
.accordion_title::before,
.accordion_title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 3px;
    background-color: #444;
    border-radius: 1px;
}

.accordion_title::before{
    top:48%;
    left: 20px;
    transform: rotate(0deg);
    transition: 0.2s;
}
.accordion_title::after{    
    top:48%;
    left: 20px;
    transform: rotate(90deg);
    transition: 0.2s;
}
/*　closeというクラスがついたら形状変化　*/
.accordion_title.close::before{
	transform: rotate(225deg);
    transition: 0.2s;
}

.accordion_title.close::after{
	transform: rotate(-45deg);
    transition: 0.2s;
}

.at_line {
    position: relative;
    width: 180px;
    margin: 0 auto;
    line-height: 2;

    display: inline-block;
    background: linear-gradient(135deg, #fa505e 0%, #fed878 100%);
    background: -webkit-linear-gradient(-45deg, #fa505e 0%, #fed878 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* .at_line:after {
    content: "";
    display: block;
    height: 3px;
    background: -webkit-linear-gradient(to right, rgb(255, 186, 115), #ffb2b2);
    background: linear-gradient(to right, rgb(255, 186, 115), #ffb2b2);
  } */

/*アコーディオンで現れるエリア*/
.accordion_box {
    display: none;/*はじめは非表示*/
    background: #fff;
	margin:3%;
    padding: 0 4px;
    font-size: 1.4rem;
}
.accordion_block {
    margin-bottom: 16px;
}
.detail_index {
    width: 100%;
    max-width: 550px;
    margin: 0 auto 4px;
    padding: 0 0 4px;
    border-bottom: 1px solid;
    border-image: linear-gradient(to right, #fa505e 0%, #fed878 100%);
    border-image-slice: 1;
    text-align: center;
    line-height: 24px;
    font-size: 1.6rem;
}
.accordion_text {
    font-size: 1.4rem;
}
.at_border {
    display: block;
    width: fit-content;
}
.at_border  {
    display: block;
    border-bottom: 1px solid #000;
}
.ab_list {
    width: fit-content;
    margin-left: 1em;
}
.ab_item {
    
}

/* ----- 沿革 ----- */
.history_grid {
    max-width: 1000px;
    display: grid;
    /* grid-template-columns: 1fr 3fr; */
    margin: 0 auto;
    padding: 10px 0 0 10px;
    color: #444;
    font-weight: 500;
    font-size: 1.2rem;
}
.hg_time {
    position: relative;
    display: block;
    /* margin: -1px 0 0 -1px; */
    padding: 0.5em 0 0 1em;
    border-left: 1px solid #fc9283;
    color: #fc9283;
    font-weight: bold;
}
.hg_action {
    position: relative;
    display: block;
    /* border-left: 1px solid #8ecae7; */
    border-left: 1px solid #fc9283;
    /* margin: -1px 0 0 -1px; */
    padding: 0.5em 0 0.5em 1em;
}
.hg_time::before {
    position: absolute;
    content: "";
    left: -6px;
    top: 10px;
    width: 11px;
    height: 11px;
    /* background-color: #8ecae7; */
    background-color: #fc9283;
    border-radius: 50%;
}
.hg_list {
    /* padding-left: 1em; */
}
.hg_item {
    position: relative;
}
.hg_item::before {
    /* position: absolute;
    content: "・";
    left: -14px; */
}
.hg_item:nth-child(n+2) {
    padding-top: 0.75em;
}

/* ----- 行動計画 ----- */
.plan_box {
    padding: 0 4px;
}
.plan_title {
    margin-bottom: 0.5em;
    text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
}
.plan_date {
    margin-bottom: 0.5em;
    text-align: center;
}
.plan_explain {

}
.plan_item {
    margin: 0 0 1em !important;
}

.video_wrapper {
    margin: 15px auto 0;
    text-align: center;
}
.video_title {
    margin-bottom: 0.25em;
    color: #fff;
    text-shadow: 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26, 0 0 2px #ff9d26;
    font-weight: bold;
    font-size: 1.6rem;
}
.video_wrapper video {
    width: 90%;
    max-width: 600px;
}



/* ジャンプボタン */
.form_jump {
    display: block;
    width: 220px;
    margin: 20px auto 0;
    color: #ff9d26;
    text-align: center;
    background-color: #fff;
    border: 1px solid #ff9d26;
    border-radius: 20px;
    box-shadow: 2px 2px 2px #dd871e;
    line-height: 40px;
    font-weight: bold;
    font-size: 1.5rem;
}
.form_jump a {
    display: block;
}
.form_jump:hover {
    color: #fff;
    background-color: #ff9d26;
    transition: 0.2s;
}
.form_jump:hover {
    opacity: 0.8;
    transition: 0.2s;
}

/* ----- アクセス ----- */
.access_wrapper {
    width: 90%; 
    max-width: 1000px; 
    margin: 12px auto 0;
}
.access_address {
    color: #85bc41;
    font-weight: bold;
    font-size: 1.4rem;
}
.access_text {
    font-size: 1.2rem;
}
.access_list {
    list-style-type: disc;
    margin-left: 1em;
    font-size: 1.2rem;
}

/* -----フッター----- */
.footer {
    position: relative;
    margin-top: 100px;
    /* margin-top: 30px; */
    padding: 10px 0 ;
    background-color: #e9e9e9;
    color: #000;
}
.footer img {
    width: 350px;
}
.silhouette {
    position: absolute;
    top: -86px;
    left: 50%;
    transform: translate(-50%, 0);
}

.footer_contents {
    max-width: 1200px;
    margin: 0 auto;
}
.footer_block {
    margin: 0 auto;
    padding: 10px;
}
.footer_name {
    font-size: 2rem;
    font-weight: bold;
}
.footer_address, .footer_tel {
    font-size: 1.6rem;
}
.footer_business {
    margin-top: 0.5em;
    font-size: 1.2rem;
}
.footer_link {
    display: flex;
    justify-content: center;
    width: 80%;
    max-width: 600px;
    margin: 1em auto 1em;
    font-weight: bold;
}
.copy {
    padding: 20px 0 0;
    text-align: center;
    font-size: 1rem;
}

@media screen and (max-width: 600px) {
    .sp_hidden {
        display: none;
    }

    .cg_sentence_small {
        font-size: 1.2rem;
    }
    .cg_sentence_small02 {
        font-size: 1.3rem;
    }
}

@media screen and (min-width: 601px) {
    .pc_hidden {
        display: none;
    }
    .subtitle {
        margin-top: 2em;
        font-size: 3rem;
    }
    .subtitle::before {
        width: 30px;
        height: 30px;
        top: 8px;
        left: -36px;
        background-image: url(../images/leaf.png);
        background-size: contain;
    }
    .linear_title {
        margin: 0 auto 15px;
        font-size: 3rem;
    }
    .linear_title:after {
        height: 3px;
    }
    .basic_wrapper {
        margin: 0 auto 50px;
    }
    #news, #facility, #information, #history {
        margin-top: -84px;
        padding-top: 84px;
    }

    /* ヘッダー */
    .header {
        padding: 8px 16px;
    }
    .header img {
        width: 100%;
        max-width: 250px;
        vertical-align: bottom;
    }

    .top_image {
        padding-top: 84px;
    }

    /* 理念 */
    .philosophy {
        margin: 70px auto;
        text-align: center;
        line-height: 2;
        font-size: 2rem;
    }
    .philosophy_emphasis {
        font-size: 2.2rem;
    }

    /* お知らせ */
    .news_list {
        height: 230px;
        padding-right: 20px;
        font-size: 1.8rem;
    }
    .news_list::-webkit-scrollbar {
        width: 14px;
    }
    .news_item {
        display: grid;
        grid-template-columns: 5fr 9fr;
        grid-gap: 20px;
        align-items: center;
    }
    .news_area {
        font-size: 1.6rem;
    }


    /* ----- グループ説明 ----- */
    .group_grid {
        margin: 50px auto;
        grid-gap: 60px 0;
    }
    .group_block img{
        width: 200px;
        border: 8px solid #fff;
        box-shadow: 4px 4px 8px #ccc;
    }
    .FAC_TL_index {
        bottom: -20px;
        box-shadow: 4px 4px 4px #fff;
        font-size: 2.4rem;
    }
    .gg_center img {
        width: 100px;
    } 
    

    /* ----- 施設一覧 ----- */
    .facility_wrapper {
        margin-top: 12px;
        padding: 30px 0 30px;
    }
    .area_block {
        width: 90%;
        grid-template-columns: 1fr 1fr;
        grid-gap: 50px 40px ;
        padding: 80px 5% 30px;
        
    }
    .ab_ribbon {
        top: 20px;
        left: -12px;
    }
    .ab_ribbon_reverse {
        top: 56px;
        left: -12px;
    }
    .facility_item {
        width: 100%;
        grid-template-columns: 10fr 27fr;
        padding: 25px 5px 10px 2vw;
    }
    .fi_title {
        min-width: 140px;
        top: -16px;
        left: 50%;
        transform: translate(-50%, 0);
        padding: 0 0.5em;
        font-size: 1.8rem;
    }
    .fit_wide_A {
        min-width: 190px;
    }
    .fit_wide_B {
        min-width: 175px;
    }
    .fit_wide_C {
        min-width: 160px;
    }
    .fit_wide_D {
        min-width: 145px;
    }
    .fit_small_A {
        min-width: 290px;
        font-size: 1.8rem;
    }
    .fi_small {
        margin-left: 0.5em;
        font-size: 1.6rem;
    }
    /* サークルアイテム */
    .circle_list {
        margin-left: 10px;
        line-height: 1.6;
        text-align: left;
        font-weight: 500;
    }
    .circle_item {
        font-size: 1.4rem;
    }
    .circle_item::before {
        /* left: 0;
        top: 2px;
        font-size: 1.4rem; */
    }
    .circle_list_seto .circle_item {
        display: inline-block;
        padding-right: 0.75em;
        font-size: 1.4rem;
    }
    .circle_list_seto .circle_item::before {
        /* left: -2px;
        top: 0;
        font-size: 1.2rem; */
    }
    .fi_jump_wrapper {
        width: 100%;
        grid-template-columns: 1fr 1fr;
    }
    .fi_jump {
        order: 2;
        /* margin: 10px auto 5px; */
        padding: 0.2em 1em;
        font-weight: 500;
        font-size: 1.4rem;
    }
    .fi_insta {
        order: 1;
    }

    /* ----- 汎用グリッド ----- */
    .common_grid {
        z-index: 100;
        width: 100%;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 50px;
        padding: 30px 50px;
    }
    .cg_block::before {
        display: block;
        height: 60px;
        width: 60px;
        left: -25px;
        top: -25px;
        padding: 5px 6px 0 0;
        border-radius: 50%;
        font-size: 3.2rem;
    }
    .cg_block {
        z-index: 100;
        position: relative;
        grid-template-columns: 1fr;
        grid-template-rows: 5fr 3fr;
        padding: 20px;
    }
    .cg_index {
        font-size: 2rem;
    }
    .cg_sentence {
        font-size: 1.6rem;
    }
    .cgi_pc_small {
        line-height: 1.9;
        letter-spacing: -1px;
        font-size: 1.8rem;
    }
    .cg_button_wrapper {
        margin-top: 10px;
    }
    .cg_button {
        margin: 0 auto;
        /* padding: 0.1em 0.8em; */
        font-weight: bold;
        font-size: 1.8rem;
    }

    /* アコーディオン */
    .accordion_area {
        margin: 80px auto ;
    }
    .accordion_area li{
        margin: 20px 0;
    }
    .accordion_area section {
        box-shadow: 6px 6px 6px #aaa;
    }
    .accordion_title {
        padding: 30px 50px 30px;
        font-size: 3rem;
    }
    .accordion_block {
        margin-bottom: 40px;
    }
    .detail_index {
        margin: 0 auto;
        border-bottom: 2px solid;
        padding-bottom: 16px;
        font-size: 2.6rem;
    }
    .accordion_text {
        padding-top: 12px;
        text-align: center;
        font-size: 2.4rem;
    }
    .ab_list {
        margin-left: 2.5em;
        text-align: left; 
    }

    /*アイコンの＋と×*/
    .accordion_title::before,
    .accordion_title::after{
        width: 25px;
        height: 5px;
        border-radius: 2px;
    }
    .accordion_title::before{
        left: 40px;
    }
    .accordion_title::after{    
        left: 40px;
    }
    .at_line {
        width: 280px;
    }
    .at_line:after {
        height: 4px;
    }

    /* ----- 沿革 ----- */
    .history_grid {
        grid-template-columns: 1fr 4fr;
        padding: 20px 0 0 0;
        font-size: 2rem;
    }
    .hg_time {
        padding: 1em 1em 0 0;
        border-left: none;
        text-align: right;
    }
    .hg_time::before {
        width: 0;
        height: 0;
    }
    .hg_action {
        position: relative;
        padding: 1em 0 2em 1em;
    }
    .hg_action::before {
        position: absolute;
        content: "";
        left: -7px;
        top: 30px;
        width: 13px;
        height: 13px;
        /* background-color: #8ecae7; */
        background-color: #fc9283;
        border-radius: 50%;
    }
    .hg_item:nth-child(n+2) {
        padding-top: 1em;
    }
    
    /* ----- 行動計画 ----- */
    .plan_box {
        
    }
    .plan_block {
        grid-template-columns: 2fr 9fr;
        padding: 0 0 1em;
    }
    .plan_title {
        font-size: 2.4rem;
    }
    .plan_date {
        font-size: 2rem;
    }
    .plan_explain {
        width: fit-content;
        margin: 0 auto 2em;
        font-size: 2rem;
    }

    /* ----- 施設一覧 ----- */
    .FAC_btn_list {
        display: flex;
        justify-content: space-evenly;
        flex-wrap: wrap;
        grid-gap: 40px 20px;
        font-size: 2rem;
    }
    .FAC_btn_item {
        width: 250px;
        border-radius: 10px;
        aspect-ratio: 4 / 3;
        box-shadow: 4px 4px 4px #ccc;
    }
    .fi_middle {
        font-size: 1.8rem;
    }
    .fi_small {
        margin-left: 0.5em;
        font-size: 1.6rem;
    }

    .video_wrapper {
        margin: 50px auto 0;
    }
    .video_title {
        font-size: 2.4rem;
    }

    /* ----- 公開情報 新ver ----- */
    .guidelines_grid {
        margin: 30px auto 50px;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
    }
    .guidelines_grid a {
        display: grid;
        grid-template-columns: 1fr 3fr;
        grid-gap: 4px;
        padding: 12px 14px;
        font-size: 20px;
    }
    .guidelines_alone {
        grid-column: 1 / 3;
    }
    .guidelines_alone a {
        width: 50% ;
        margin: 0 auto;
       
    }
    .guidelines_grid img {
        width: 50%;
        display: block;
        margin: 0 auto;
    }
    .gg_small {
        font-size: 16px;
    }

    /* 公開情報 */
    /* .deta_list {
        margin: 10px 0 0 20px;
    }
    .deta_item {
        font-size: 2rem;
    }
    .deta_item img {
        width: 40px;
    }
    .pdf_icon {
        top: 50%;
        right: -50px;
        transform: translateX(0) translateY(-50%);
    } */
    
    /* -----  pdfボタン ----- */ 
    /* .management_botton {
        margin: 20px auto 30px;
        padding: 10px 15px;
        box-shadow: 4px 4px 2px #ddd;
    }
    .management_botton img {

    }
    .management_text {
        font-size: 2.4rem;
    } */

    /* 公開情報（事業所別） */
    .date_block_wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin: 30px auto;
    }
    .date_block {
        padding: 1em 1.5em;
        background-color: #fff;
    }
    .db_index {
        margin-bottom: 0.2em;
    }
    
    /* ジャンプボタン */
    .form_jump {
        width: 310px;
        margin: 40px auto;
        border-radius: 40px;
        box-shadow: 3px 3px 3px #dd871e;
        line-height: 50px;
        font-size: 2rem;
    }

    /* アクセス */
    .access_wrapper {
        margin: 24px auto 0;
    }
    .access_address {
        font-size: 2.2rem;
    }
    .access_text {
        font-size: 2rem;
    }
    .access_list {
        font-size:2rem;
    }

    /* フッター */
    .footer {
        margin-top: 250px;
        padding: 20px 0 20px;
    }
    .footer img {
        width: 800px;
    }
    .silhouette {
        top: -200px;
    }
    .footer_name {
        font-size: 2.4rem;
    }
    .footer_address, .footer_tel {
        font-size: 2rem;
    }
    .footer_business {
        margin-top: 0.5em;
        font-size: 1.6rem;
    }
    .footer_link {
        font-size: 1.2rem;
    }
    .copy {
        padding: 20px 0 0;
        font-size: 1.2rem;
    }
}
