/* ----- ヘッダー ----- */
h1 a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.header {
    width: 100%;
    position: fixed;
    z-index: 8000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 4px;
    background-color: #fff;
    border-bottom: 2px solid #eee;
}
.header_left {
    display: flex;
    align-items: center;
}

/* PC版のみ */
.header_info {
    padding-left: 20px;
}
.ht_tel {
    position: relative;
    /* color: #ff9d26; */
    padding-left: 30px;
    color: #35cab4;
    /* color: #555; */
    line-height: 1.2;
    font-weight: bold;
    font-size: 2rem;
}
.ht_tel::before {
    position: absolute;
    width: 25px;
    height: 25px;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    content: "";
    background-image: url(../images/tel_icon.png);
    background-size: contain;
}
.ht_tel_top {
    background-image: url(images/tel_icon.png);
}
.ht_access {
    font-size: 1.6rem;
}

.header img {
    width: 300px;
    vertical-align: middle;
}
/* .map_icon img {
    width: 50px;
} */
/* PC版のみ */
.header_info {
    padding-left: 20px;
}

.ht_access {
    font-size: 1.6rem;
}
.header_nav_list {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* padding: 6px 0; */
    color: #555;
    font-weight: 500;
    /* font-weight: bold; */
    font-size: 1.8rem;
}
.header_nav_item {
    margin: 0 20px;
}

.header_nav_item:hover {
    /* color: #f78b2b; */
    color: #f281b1;
    transition: 0.2s;
}

.instagram_sp {
    z-index: 7500;
    position: fixed;
    right : 70px;
	top   : 12px;
}
.instagram_pc a:hover {
    opacity: 0.8;
}
.instagram_pc::before {
    background: none;
}

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

/* PC版ボタンナビ */
.btn {
    width: 80px;
    position: relative;
    margin-right: 10px;
}
.btn_hover {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
    opacity: 0;
}
.btn_hover:hover {
	opacity: 1;
}


/* -----ハンバーガーメニュー----- */
/*　ハンバーガーボタン　*/
.hamburger {
    z-index: 9999;
	display : block;
	position: fixed;
	right : 10px;
	top   : 8px;
	width : 42px;
	height: 36px;
	cursor: pointer;
	text-align: center;
    /* background-color: #2dabea; */
    /* background-color: #b7da82; */
}
.hamburger span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 3px ;
    left    : 6px;
    background : #f281b1;
    -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 : 9000;
    top  : 0;
    left : 0;
    color: #000;
    border-bottom: 0.75px solid #f281b1;
    /* background: #fff; */
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
    font-weight: 500;
    font-size: 1.6rem;
}
nav.globalMenuSp ul {
    background-color: #fff;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 0.5px solid #f281b1;
}
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: #f281b1;
    padding: 1.5em 0;
    text-decoration :none;
}
.turquoise  {
    color: #35cab4 !important;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}

/* ----- トップ画像＆ボタン ----- */
.top_wrapper {
    margin: 0 auto 30px;
    padding-top: 52px;
    /* background-color: antiquewhite; */
    /* background-image: repeating-linear-gradient( antiquewhite, antiquewhite 40px, rgb(211, 194, 172) 40px,  rgb(211, 194, 172) 42px); */
}

.top_wrapper_sp {
    padding: 10px 5% 0;
}
.top_wrapper_sp img {
    border-radius: 20px;
}
.top_wrapper_slide {
    position: relative;
}
.top_wrapper_message {
    display: block;
    width: 100%;
    position: absolute;
    top: 85%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #523210;
    /* color: #00A0E9; */
    text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
    text-align: center;
    font-weight: normal;
    font-size: 2rem;
}

/* ----- サイドブロック ----- */
.side_wrapper {
    width: 95%;
    margin: 0 auto;
    padding-top: 10px;
    background-color: #fff;
}
/* スケジュール */
.schedule_wrapper {
    margin-bottom: 20px;
}
.schedule_title {
    color: #35cab4;
    /* color: #1ac4ab; */
    margin-bottom: 0.2em;
    font-weight: 500;
    font-size: 2rem;
}
.schedule_grid {
    display: grid;
    grid-template-columns: 4fr 3fr 3fr 3fr 3fr 3fr 3fr 3fr ;
    font-weight: bold;
    color: #35cab4;
}
.sg_cell {
    display: grid;
    align-items: center;
    margin: -0.5px 0 0 -0.5px;
    padding: 0.2em 0;
    border: 0.5px solid #35cab4;
    line-height: 1.2;
    font-size: 1.4rem;
}
.sg_time {
    padding: 0.4em 0;
}
.sg_time_small {
    font-size: 1rem;
}
.sg_time div {
    display: flex;
    justify-content: center;
}
.side_sentence {
    margin-top: 0.5em;
    color: #35cab4;
    /* color: #1ac4ab; */
    font-weight: 500;
    font-size: 1.4rem;
}
.button_tel {
    display: block;
    width: fit-content;
    position: relative;
    margin: 0.5em auto ;
    border-bottom: 1px solid #35cab4;
    color: #35cab4;
    font-weight: bold;
    font-size: 2rem;
}
.button_tel::before {
    position: absolute;
    width: 25px;
    height: 25px;
    left: -30px;
    top: 50%;
    transform: translate(0, -50%);
    content: "";
    background-image: url(../images/tel_icon.png);
    background-size: contain;
}
/* お知らせ */
.news_title {
    position: relative;
    display: block;
    width: fit-content;
    margin: 20px auto 10px;
    /* padding-left: 0.5em; */
    color: #523210;
    font-weight: 500;
    font-size: 2rem;
}
/* .news_title::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../images/news_icon.png);
    background-size: contain;
    top: 45%;
    left: -0.8em;
    transform: translate(0, -50%);
} */

.news_list {
	margin: 0 auto ;
    padding: 10px 5px 15px 10px;
    width: 100%;
    /* max-width: 750px; */
    height: 130px;
    overflow-y: scroll;
    /* border: 1px solid #999; */
    border: 1px solid #aaa;
    background-color: #fff;
    font-size: 1.4rem;
}
/* スクロールバーの幅 */
.news_list::-webkit-scrollbar {
    width: 14px;
}
/* スクロールバーの背景 */
.news_list::-webkit-scrollbar-track {
    background-color: #EFEFEF;
    border-radius: 10px;
}

/* スクロールバーのつまみ部分 */
.news_list::-webkit-scrollbar-thumb {
    /* background-color: #d2b69a; */
    /* background-color: #89e3d5; */
    /* background-color: #b3b3b3; */
    background-color: #ccc;
    border-radius: 10px;
}
.news_over {
    display: flex;
    align-items: baseline;
    line-height: 1.2;
}
.news_date {
    margin-right: 1.5em;
    /* color: #555; */
    color: #8a6945;
    font-weight: bold;
}
.news_category {
    padding: 0.2em 0.5em;
    color: #fff;
    letter-spacing: 1px;
    font-weight: 500;
    font-size: 1.3rem;
}
.news_item {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px dashed #ccc;
    color: #444;
    font-weight: 500;
}
.news_item a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.ni_contents {
    line-height: 1.8;
}
.ni_link {
    border-bottom: 0.5px solid #523210;
}

/* ----- 求人リンクボタン（SP用） ----- */
.recruit_link {
    display: block;
    /* width: fit-content; */
    width: 250px;
    margin: 0 auto 40px;
    padding: 0.5em 2em;
    /* color: #523210; */
    color: #8a6945;
    border: 1px solid #8a6945;
    background-color: #fff;
    box-shadow: 2px 2px 2px #5d4832;
    text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
}
.recruit_link:hover {
    transition: 0.2s;
    background-color: #8a6945;
    color: #fff;
}

/* ----- トップボタン ----- */
.top_button_grid {
    width: 90%;
    max-width: 1200px;
    display: grid;
    grid-gap: 10px;
    margin: 0 auto 30px;

}
.top_button_grid a {
    display: grid;
    grid-gap: 5px;
    padding: 5px 10px;
    border-radius: 5px;
    box-shadow: 1px 1px 4px #aaa;
}
.top_button_grid a:hover {
    /* background-color: #fffafc; */
    opacity: 0.8;
    transition: 0.2s;
}
.top_button_index {
    color: #f281b1;
    border-bottom: 1px solid #f281b1;
    font-weight: 500;
    font-size: 2rem;
}
.top_button_explain {
    color: #523210;
    font-weight: 500;
    font-size: 1.4rem;
}



/* ----- 紹介文 ----- */
.intro_sentence {
    width: 95%;
    max-width: 1000px;
    margin: 15px auto;
}

/* ----- アクセス ----- */
.access_wrapper {
    width: 100%; 
    
    margin: 10px auto;
    text-align: center;
}
.access_address {
    color: #35cab4;
    font-weight: bold;
    font-size: 1.4rem;
}

.address_wrapper {
    width: 90%; 
    margin: 10px auto 20px;
}
.access_item {
    display: flex;
    margin: 0.25em 0 0.5em;
    align-items: center;
}
.access_item img {
    display: block;
    width: 35px;
    height: 35px;
    margin-right: 15px;
}
.root_grid {
    display: grid;
    grid-gap: 5px;
}
.root_block {
    display: grid;
    grid-template-columns: 5fr 8fr;
    grid-gap: 10px;
    /* align-items: center; */
}
.root_tri {
    display: block;
    width: fit-content;
    color: #967664;
    margin: 0 auto;
    transform: scale(1.5, 1);
    font-size: 1.6rem;
}
.root_block img {
    position: relative;
    width: 100%;
}
.root_block img:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.icon_expansion {
    position: relative;
}
.icon_expansion::before {
    z-index: 1000;
    position: absolute;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    right: 5px;
    bottom: 5px;
    background-image: url(../images/expansion.png);
    background-size: contain;
    opacity: 0.8;
}
.root_sentence {
    font-size: 1.4rem;
}

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


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

/* ご利用までの流れ */
.frow_wrapper {
    max-width: 1000px;
    margin: 20px auto 60px;
}
.flow_subtitle {
    padding-top: 1em;
    color: #444;
    font-weight: bold;
    font-size: 1.4rem;
}
.frow_block:nth-child(n+2) {
    position: relative;
    padding-top: 20px;
}
.frow_block:nth-child(n+2):before {
    position: absolute;
    content: "▼";
    color: #967664;
    top: -8px;
    left: 50%;
    transform: translate(-50%, 0) scale(1.5, 1);
    font-size: 1.6rem;
}
.fb_flex {
    display: flex;
    align-items: center
}
.flow_title { 
    position: relative;
    padding-left: 35px;
    color: #785f51;
    font-weight: bold;
    font-size: 1.6rem;
}
.flow_title::before {
    position: absolute;
    z-index: 5000;
    content: "";
    display: block;
    height: 30px;
    width: 30px;
    left: -5px;
    top: 45%;
    transform: translate(0, -50%);
    border-radius: 50%;
    background-color: #785f51;
    text-align: center;
    align-items: center;
    padding: 2px 4px 0 0;
    color: #fff;
    font-style: italic;
    font-weight: bold;
    font-size: 1.8rem;
}
.number01::before {
    content: "01";
}
.number02::before {
    content: "02";
}
.number03::before {
    content: "03";
}
.number04::before {
    content: "04";
}
.number05::before {
    content: "05";
}
.number06::before {
    content: "06";
}
.number07::before {
    content: "07";
}
.number08::before {
    content: "08";
}
.flow_sentence {
    margin: 1em auto;
    padding: 0.5em;
    border: 0.5px solid #785f51;
    font-size: 1.2rem;
}

/* 費用 */
.cost_grid {
    width: 98%;
    display: grid;
    grid-template-columns: 6fr 5fr;
    margin: 15px auto 0;
}
.cost_cell {
    margin: -0.5px 0 0 -0.5px;
    padding: 0.2em 0.5em;
    border: 0.5px solid #444;
}
.cost_cell_left {

}
.cost_cell_right {
    text-align: center;
}
.ccr01 {
    padding: 0.4em 0.2em;
    line-height: 1.2;
}

/* ---------- 下層ページ ---------- */
/* ----- 一般診療 ----- */
.header_ncd {
    height: 53px;
}
.dentures_grid_wrapper {
    width: 95%;
    max-width: 1400px;
    margin: 20px auto;
}
.dg_sticky {
    position: sticky;
    top: 53px;
    background-color: #35cab4;
}
.dentures_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.dg_cell {
    border: 0.5px solid #523210;
    margin: -0.5px 0 0 -0.5px; 
    padding: 0.5em 0;
    text-align: center;
    line-height: 1.4;
    color: #523210;
    font-weight: 500;
    /* color: #8a6945;
    font-weight: bold; */
    font-size: 1.4rem;
}
.dg_sticky .dg_cell {
    color: #fff;
    font-weight: bold;
}
.dg_sticky .dg_cell:nth-child(n+3) {
    border-left: 1px solid #fff;
}
.dgc_index {
    grid-column: 1 / 4;
    background-color: #f2fffd;
    color: #35cab4;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
    font-weight: bold;
}
.dgc_contents {
    min-height: 60px;
    display: grid;
    align-items: center;
}
.dgc_contents a {
    display: block;
    width: 90%;
    margin: 0 auto;
}
.dgc_contents img {
    width: 100%;
}
.dgc_contents img:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.dgc_icon {
    padding-bottom: 0.2em;
    font-weight: bold;
    font-size: 2.4rem;
}
.dgc_text {
    font-size: 1.2rem;
}

/* ----- 口腔外科 ----- */
.wisdom_teeth_gird {
    width: 90%;
    max-width: 450px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    margin: 20px auto;
}
.wtg_block img {
    width: 100%;
    margin-bottom: 5px;
}
.wtg_text {
    
}
.cancer_grid {
    width: 90%;
    max-width: 500px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    margin: 10px auto;
}
.cancer_grid img {
    width: 100%;
}
.oral_surgery_grid {
    display: grid;
    grid-gap: 10px;
    padding: 10px;
}


/* ----- 審美歯科 ----- */
/* 利点・欠点 */
.cosmetic_block_wrapper {
    display: grid;
    grid-gap: 30px;
    margin: 20px auto 15px;
}
.cosmetic_block {
    width: 95%;
    max-width: 800px;
    position: relative;
    margin: 0 auto;
    padding: 15px 10px 10px 10px;
    border: 1px solid #523210;
}
.cb_title {
    position: absolute;
    top: -15px;
    left: 10px;
    padding: 0 0.5em;
    background-color: #fff;
    color: #f281b1;
    font-weight: bold;
    font-size: 1.6rem;
}
.cb_sentence {
    font-size: 1.4rem;
}
.cb_grid {
    width: 95%;
    max-width: 600px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    margin: 5px auto;
    text-align: center;
}
.cbg_index, .cbg_level {
    display: grid;
    align-items: center;
    margin: -0.5px 0 0 -0.5px;
    border: 0.5px solid #523210;
}
.cbg_index {
    padding: 2px 0;
    color: #8a6945;
    font-weight: bold;
    font-size: 1.4rem;
}
.cbg_level {
    padding: 5px 0;
    color: #8a6945;
    font-weight: bold;
    font-size: 1.6rem;
}

/* ----- 訪問診療 ----- */
/* 診療までの流れ */
.house_flow {
    display: grid;
    width: 90%;
    max-width: 650px;
    margin: 15px auto;
}
.hf_block {
    position: relative;
    display: grid;
    padding: 10px;
    border: 1px solid #35cab4;
    border-radius: 10px;
}
.hf_index {
    display: flex;
    margin-bottom: 6px;
    padding-bottom: 2px;
    border-bottom: 1px dashed #999;
    font-size: 1.6rem;
}
.mr05em {
    margin-right: 0.5em;
}
.hf_contents {
    font-size: 1.4rem;
}
.hf_item {
    position: relative;
    padding-left: 1em;
}
.hf_item:nth-child(n+2) {
    margin-top: 0.2em;
}
.hf_item::before {
    position: absolute;
    content: '';
    top: 6px;
    left: 0;
    width: 10px;
    height: 10px;
    border-left: 4px solid #c1e9e3;
    border-bottom: 4px solid #c1e9e3;
    transform: rotate(225deg);
}
.hf_tri {
    display: block;
    width: fit-content;
    color: #c1e9e3;
    margin: 0.5em auto;
    transform: scale(1.5, 1);
    font-size: 1.6rem;
}

/* ----- 高齢者の口腔ケア ----- */
/* 不完全な口腔内清掃 */
.check_sheet_block {
    width: 90%;
    max-width: 600px;
    margin: 10px auto;
    padding: 10px;
    border: 1px solid #4D9BC1;
    background-color: #f5fcff;
}
.csbwhite {
    padding: 5px 10px;
    background-color: #fff;
}
.csbindex {
    color: #4D9BC1;
    font-weight: bold;
    font-size: 2rem;
}
.csbitem {
    position: relative;
    margin: 0.25em 0;
    padding-left: 1.2em;
}
.csbitem::before {
    position: absolute;
    content: "●";
    top: 0;
    left: 0.1em;
    color: #62abcf;
}
.csbtri {
    width: fit-content;
    margin: 0 auto;
    transform: scale(2,1);
    color: #62abcf;
}
.csbresult {
    width: fit-content;
    margin: 5px auto;
    color: #fff;
    text-shadow: 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1, 0 0 4px #4D9BC1;
    font-weight: bold;
    font-size: 2rem;
}
/* 口臭の原因チェックシート */
.check_item {
    display: flex;
    margin: 0.5em 0;
    font-weight: 500;
}
.check_icon {
    display: block;
	position: relative;
	width: 16px;
    min-width: 16px;
	height: 16px;
    margin: 3px 6px 3px 3px;
    border: 2px solid #4D9BC1;
	/* border: 2px solid #39a9d6; */
	border-radius: 2px;
}
.check_icon::before {
    position: absolute;
    content: "";
	top: 2px;
	left: 0;
	width: 12px;
	height: 5px;
    border-bottom: 2px solid #4D9BC1;
	border-left: 2px solid #4D9BC1;
	/* border-bottom: 2px solid #39a9d6;
	border-left: 2px solid #39a9d6; */
    -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.ct_dashed {
    border-bottom: 1px dashed #999;
}

/* すぐできる口臭予防のポイント */
.prevention_tri {
    width: fit-content;
    margin: 0 auto;
    transform: scale(2, 1);
    color: #f281b1;
}
.elderly_prevention {
    width: 90%;
    max-width: 600px;
    margin: 10px auto;
    padding: 10px 20px;
    border: 1px solid #f281b1;
    /* background-color: #fff6fa; */
}
.ep_index {
    color: #f281b1;
    padding-bottom: 0.1em;
    font-weight: bold;
    font-size: 1.6rem;
}

/* ----- ホワイトニング ----- */
.treatment_ttl {
    max-width: 900px;
    grid-template-columns: 1fr 1fr 1fr;
}
.whitening_ttl, .oral_surgery_ttl, .cosmetic_ttl {
    grid-template-columns: 1fr;
}
.medicine_block {
    width: 90%;
    margin: 5px auto 15px;
    padding: 10px 20px;
    border: 1px solid #523210;
}
.medicine_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 5px;
}
.medicine_item {
    position: relative;
    padding-left: 1em;
}
.medicine_item::before {
    position: absolute;
    content: "・";
    left: 0;
    font-weight: bold;
}

/* ----- 求人ページ ----- */
.rotate_grid {
    display: grid;
    grid-gap: 20px;
    /* padding: 20px 0; */
    /* background-color: #ebffeb; */

    /* background-color: #e2ffe1; */
    /* background-color: #87d217; */
    /* background-color: #856959; */
    
    
}
.rotate_block {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #f281b1;
}
.rb_titel {
    position: relative;
    display: block;
    width: fit-content;
    margin: 0 auto;
    color: #f281b1;
    font-size: 2rem;
}
/* .rb_titel::before, .rb_titel::after {
    position: absolute;
    content: '';
    top: 50%;
    display: inline-block;
    width: 30px;
    height: 1px;
    background-color: #87d217;
    margin: 0 auto;
}
.rb_titel::before {
    left: -40px;
}
.rb_titel::after {
    right: -40px;
} */
.rb_image {
    margin: 5px auto;
}
.rb_image img {
    width: 80%;
}
.rb_sentence {
    padding: 0.5em;
    font-size: 1.4rem;
}

.common_grid a::before {
    z-index: 5000;
    position: absolute;
    content: "";
    display: block;
    height: 40px;
    width: 40px;
    left: -5px;
    top: -20px;
    border-radius: 50%;
    background-color: #ff962c;
    text-align: center;
    align-items: center;
    padding: 2px 4px 0 0;
    color: #fff;
    font-style: italic;
    font-weight: bold;
    font-size: 2.4rem;
}
.cg01 a::before {
    content: "01";
}
.cg02 a::before {
    content: "02";
}
.cg03 a::before {
    content: "03";
}
.cg04 a::before {
    content: "04";
}
.cg05 a::before {
    content: "05";
}
.cg06 a::before {
    content: "06";
}


.cg_index {
    margin-bottom: 0.5em;
    border-bottom: 1px solid #f78b2b;
    color: #f78b2b;
    font-weight: bold;
    font-size: 1.6rem;
}
.cg_sentence {
    font-weight: 500;
    font-size: 1.4rem;
}

@media screen and (max-width: 599px) {
    .sp_hidden {
        display: none;
    }
    .button_tel_wrapper {
        width: 98%;
        margin: 0 0 0 auto;
    }

    .treatment_ttl .ttl_item a {
        padding: 8px 4px 8px 16px;
    }
    .treatment_ttl .ttl_item::before {
        top: 17px;
    }

    
}

@media screen and (min-width: 600px) {
    .pc_hidden {
        display: none;
    }
    /* ヘッダー */
    .header {
        padding: 8px 4vw;
    }
    .header img {
        width: 100%;
        max-width: 400px;
        vertical-align: bottom;
    }
    /* .map_icon img {
        width: 50px;
    } */
    .top_image {
        padding-top: 70px;
    }

    /* ----- トップ画像＆ボタン ----- */
    .top_wrapper {
        width: 90vw;
        display: flex;
        grid-gap: 20px;
        margin: 0 auto;
        padding-top: 110px;
        padding-bottom: 60px;
    }
    .top_wrapper_slide {
        height: calc(100vh - 125px);
        object-fit: cover;
    }
    .top_wrapper_slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 40px;
    }
    .top_wrapper_message {
        display: block;
        width: 100%;
        position: absolute;
        top: 88%;
        left: 55%;
        transform: translate(-50%, -50%);
        text-align: left;
        font-weight: normal;
        font-size: 2.4vw;
    }
    

    /* トップ右側 */
    .side_wrapper {
        position: relative;
        width: 38vw;
        height: calc(100vh - 130px);
        padding: 20px;
        border-top: 1px solid #b7e5de;
        border-right: 3px solid #b7e5de;
        border-bottom: 3px solid #b7e5de;
        border-left: 1px solid #b7e5de;
        /* border: 1px solid #1ac4ab; */
        /* box-shadow: -1px -1px 2px #eee, 4px 4px 2px #ddd; */
        box-shadow:  6px 6px 3px #e4f7f4;
        overflow-y: hidden;
    }
    
    .schedule_wrapper {
        /* height: calc(48vh - 120px); */
        /* margin-bottom: 20px; */
        margin-bottom: 3vh;
    }
    .schedule_title {
        margin: 10px auto;
        font-size: 2rem;
    }
    .sg_cell {
        margin: -1px 0 0 -1px;
        border: 1px solid #35cab4;
        font-size: 1.6rem;
    }
    .side_sentence {
        font-size: 1.6rem;
    }
    .button_tel {
        margin: 0.5em auto ;
        font-size: 2.4rem;
    }
    .button_tel::before {
        width: 28px;
        height: 28px;
        left: -36px;
        top: 50%;
    }
    /* お知らせ */
    .news_title {
        margin: 0 auto 10px;
    }
    /* .news_title::before {
        width: 27px;
        height: 27px;
        top: 48%;
        left: -0.7em;
    } */
    .news_list {
        display: block;
        height: calc(100vh - 560px);
        padding: 0 25px 10px 20px;
        border: none;
        /* box-shadow:  3px 3px 4px #eaf1dc; */
        font-size: 1.6rem;
    }
    .news_list::-webkit-scrollbar-thumb {
        /* background-color: #89e3d5; */
    }
    .news_item {
        /* border-bottom: 1px dashed #35cab4; */
    }
    .news_over {
        margin-right: 1.5em;
        line-height: 1.2;
    }
    .news_category {
        min-width: 84px;
        font-size: 1.6rem;
    }
    .ni_link {
        border-bottom: 0.8px solid #523210;
    }
    
    /* お知らせ装飾 */
    .side_wrapper_dot {
        position: absolute;
        width: 14px;
        height: 14px;
        background-color: #ccc;
        /* background-color: #bae2dc; */
        /* background: linear-gradient(120deg, #dcfdf8 0%, #c7f0ea 100%); */
        border-radius: 50%;
    }
    .nwd_01 {
        top: 10px;
        left: 10px;
    }
    .nwd_02 {
        top: 10px;
        right: 10px;
    }
    .nwd_03 {
        bottom: 10px;
        left: 10px;
    }
    .nwd_04 {
        bottom: 10px;
        right: 10px;
    }

    /* トップボタン */
    .top_button_grid {
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
        margin: 0 auto 60px;
    }
    .top_button_grid a {
        grid-gap: 10px;
        padding: 10px 20px;
        border-radius: 10px;
        /* box-shadow: 1px 1px 3px #ccc; */
    }
    .top_button_index {
        font-size: 2.6rem;
    }
    .top_button_explain {
        font-size: 1.6rem;
    }

    /* 紹介文 */
    .intro_sentence {
        margin: 40px auto;
    }

    /* アクセス */
    .access_wrapper {
        width: 90vw;
        height: 60vh;
        margin: 30px auto;
        
    }
    .access_address {
        display: flex;
        font-size: 2.2rem;
    }
    .access_address p {
        margin-right: 1em;
    }
    .map_grid {
        width: 100%;
        grid-template-columns: 5fr 4fr;
        grid-gap: 40px;
        margin: 20px auto 10px;
        align-items: center;
    }
    .address_wrapper {
        width: fit-content;
        margin: 0 auto 40px;
        padding: 0 5vw;
    }
    .access_list {
        display: flex;
        
    }
    .access_item {
        margin-right: 3em;
    }
    .access_item img {
        width: 40px;
        height: 40px;
        margin-right: 20px;
    }
    .root_grid {
        grid-template-columns: 4fr 1fr 4fr 1fr 4fr;
        
    }
    .root_block {
        width: 100%;
        display: block;
        margin: 0 auto;
    }
    .icon_expansion::before {
        width: 40px;
        height: 40px;
        right: 10px;
        bottom: 10px;
    }
    .root_tri {
        transform: scale(1, 1.5);
        padding-top: 6vw;
        font-size: 2vw;
    }
    .root_sentence {
        margin-top: 0.5em;
        font-size: 1.6rem;
    }

    /* フッター */
    .footer {
        margin-top: 250px;
        padding: 40px 0 ;
    }
    .footer img {
        width: 1000px;
    }
    .silhouette {
        top: -250px;
    }
    .footer_name {
        font-size: 2.4rem;
    }
    .fn_small  {
        font-size: 2rem;
    }
    .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;
    }

    /* 費用 */
    .cost_grid {
        margin: 0 auto;
    }

    /* ---------- 下層ページ ---------- */
    /* ----- 一般診療 ----- */
    .header_ncd {
        height: 90px;
    }
    .dg_sticky {
        top: 90px;
    }
    .dentures_grid {
        grid-template-columns: 2fr 3fr 3fr 3fr;
    }
    .dg_cell {
        padding: 1em 0.5em;
        font-size: 1.6rem;
    }
    .dg_graph .dg_cell {
        min-height: 80px;
    }
    .dgc_index {
        grid-column: 1 / 2;
        display: grid;
        align-items: center;
        background-color: #fff;
    }
    .dgc_icon {
        font-size: 3rem;
    }
    .dgc_text {
        font-size: 1.6rem;
    }

    /* ----- 口腔外科 ----- */
    .wisdom_teeth_gird { 
        margin: 40px auto;
        grid-gap: 50px;
    }
    .cancer_grid {
        grid-gap: 40px;
        margin: 10px auto;
    }
    .oral_surgery_grid {
        grid-template-columns: 4fr 4fr 3fr;
        grid-gap: 30px;
        font-size: 1.6rem;
    }
    .oral_surgery_grid .check_icon {
        width: 18px;
        min-width: 18px;
        height: 18px;
        margin: 5px 8px 5px 5px;
        border: 2px solid #39a9d6;
	    border-radius: 2px;
    }
    .oral_surgery_grid .check_icon::before {
        top: 2px;
        left: 0;
        width: 13px;
        height: 6px;
        border-bottom: 2px solid #39a9d6;
        border-left: 2px solid #39a9d6;
    }
    .osg_block {
        margin: 0 auto;
    }

    /* ----- 審美歯科 ----- */
    /* 利点・欠点 */
    .cosmetic_block_wrapper {
        grid-gap: 50px;
        margin: 30px auto;
    }
    .cosmetic_block {
        padding: 25px 15px 15px 15px;
    }
    .cb_title {
        top: -17px;
        left: 20px;
        font-size: 2rem;
    }
    .cb_sentence {
        font-size: 1.6rem;
    }
    .cb_grid {
        margin: 10px auto;
        text-align: center;
        font-size: 1.4rem;
    }

    /* ----- 訪問診療 ----- */
    /* 診療までの流れ */
    .house_flow {
        margin: 30px auto;
    }
    .hf_block {
        padding: 10px 20px;
        border-radius: 10px;
    }
    .hf_index {
        margin-bottom: 8px;
        padding-bottom: 2px;
        border-bottom: 1px dashed #999;
        font-size: 2rem;
    }
    .hf_contents {
        font-size: 1.6rem;
    }
    .hf_item::before {
        top: 7px;
        left: 0;
        width: 10px;
        height: 10px;
        border-left: 4px solid #c1e9e3;
        border-bottom: 4px solid #c1e9e3;
    }
    .hf_tri {
        margin: 0.5em auto;
        font-size: 2rem;
    }

    /* ----- 高齢者の口腔ケア ----- */
    /* 不完全な口腔内清掃 */
    .check_sheet_block {
        margin: 20px auto;
        padding: 20px;
    }
    .csbwhite {
        padding: 10px 20px;
    }
    .csbindex {
        font-size: 2.4rem;
    }
    .csbitem {
        margin: 0.5em 0;
    }
    .csbresult {
        font-size: 2.4rem;
    }
    /* 口臭の原因チェックシート */
    .check_list {

    }
    .check_item {

    }
    .check_icon {
        width: 22px;
        min-width: 22px;
        height: 22px;
        margin: 6px 10px 6px 6px;
        border: 3px solid #4D9BC1;
        /* border: 3px solid #39a9d6; */
	    border-radius: 3px;
    }
    .check_icon::before {
        top: 3px;
        left: 0;
        width: 15px;
        height: 7px;
        border-bottom: 3px solid #4D9BC1;
        border-left: 3px solid #4D9BC1;
        /* border-bottom: 3px solid #39a9d6;
        border-left: 3px solid #39a9d6; */
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    /* すぐできる口臭予防のポイント */
    .elderly_prevention {
        padding: 20px 40px;
    }
    .ep_index {
        font-size: 2.2rem;
    }

    /* ----- 訪問診療 ----- */
    .house_call_ttl {
        max-width: 900px;
        grid-template-columns: 1fr 1fr 1fr;
    }

    /* ----- ホワイトニング ----- */
    .whitening_ttl, .oral_surgery_ttl, .cosmetic_ttl, .orthodontics_ttl {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .medicine_block {
        margin: 10px auto 30px;
        padding: 10px 0 10px 30px;
    }
    .medicine_list {
        display: flex;
        flex-wrap: wrap;
    }
    .medicine_item {
        display: block;
        min-width: 180px;
    }

    /* ----- 求人ページ ----- */
    .rotate_grid {
        grid-gap: 40px;
        /* padding: 60px 0; */
        margin: 50px auto 50px;
        
    }
    .rotate_block {
        display: grid;
        grid-template-columns: 2fr 3fr;
        grid-gap: 20px;
        margin: 0 auto ;
        padding: 20px 10px;
    }
    .rb_titel {
        grid-column: 1 / 3;
        font-size: 3rem;
    }
    .rb_image img {
        width:90%;
    }
    .rb_sentence {
        font-size: 2rem;
    }
}


/* ジャンプ先 高さ調整 */
#menu, #QA, #access, #landing_01, #landing_02, #landing_03, #landing_04, #landing_05, #landing_06, #landing_07, #landing_08 {
    margin-top: -70px;
    padding-top: 70px;
}
@media screen and (min-width: 600px) {
    #menu, #QA, #access, #landing_01, #landing_02, #landing_03, #landing_04, #landing_05, #landing_06, #landing_07, #landing_08 {
        margin-top: -120px;
        padding-top: 120px;
    }
}

.edit_area {
    background-color: #ffeeee;
}
.red {
    color: red;
}
.blue {
    color: #00A0E9;
    font-weight: bold;
    font-size: 2rem
}