body {
    color: #333333;
    font-size: 10px;
    font-family: "M PLUS Rounded 1c", "M PLUS 1p", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

h1 {
    margin: 0;
}

h2 {
    margin: 0;
}

p {
    margin: 0;
    line-height: 1.5;
}

span {
    line-height: 1.5;
}

.background_color_white {
    background-color: white;
}

.background_color_header_footer {
    background-color: #f5ecf4;
}

.background_color_base1 {
    background-color: #f5ecf4;
    padding: 20px;
    border: 2px silver solid;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.background_color_base2 {
    background-color: #fff;
    padding: 20px;
    border: 2px silver solid;
}

.background_color_base3 {
    background-color: white;
    padding: 20px;
    border: double 7px silver;
}

.background_color_base4 {
    background-color: #FAF9F0;
    padding: 20px;
    border: double 7px silver;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.border_green_double {
    border-bottom: 6px #027742 double;
}

/*----------------ヘッダー---------------------*/

#header {
    width: 100%;
    padding-top: 20px;
}

@media screen and (max-width: 1080px) {
    #header {
        width: 1080px;
    }
}

#header_mobile {
    display: none;
    padding-top: 10px;
}

.header_content_area .small_description {
    margin: 20px 0;
    text-align: right;
}

.header_content_area .catch_copy {
    margin: 10px 0;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
}

.header_content_area .header_title_jp {
    margin: 10px 0;
    font-size: 44px;
    text-align: center;
}

.header_content_area .header_title_en {
    margin: 10px 0 20px;
    font-size: 24px;
    color: #027742;
    text-align: center;
}

.header_content_area {
    position: relative;
    width: 1080px;
    margin: 0 auto;
}

.header_content_area .tel_num {
    margin: 0;
    position: absolute;
    width: 240px;
    height: auto;
    bottom: 20px;
    right: 5px;
}

.header_logo {
    width: 96px;
    height: 96px;
    margin-right: 30px;
}

.header_title_area {
    display: flex;
    justify-content: center;
    align-items: center;
}

#header #gnavi li {
    font-size: 18px;
    list-style: none;
    float: left;
    /* 1080/7(項目数) */
    width: 154px;
    text-align: center;
}

#header #gnavi li a {
    padding: 10px 0;
    display: block;
    text-decoration: none;
    color: inherit;
}

#header #gnavi li a:hover {
    color: #79c06e;
}

.focus_page_navi {
    border-bottom: #027742 solid 4px;
}

/**
 * スクロールした際の固定時に、幅がgrovalNaviの大きさにならないようにするため
 * widthは100%で指定している
 */

#gnavi_wrapper {
    width: 100%;
    position: relative;
    border-bottom: 2px silver solid;
    z-index: 10;
}

#gnavi_wrapper.fixed {
    position: fixed;
    top: 0;
}

#gnavi {
    position: relative;
    width: 1080px;
    padding: 0;
    margin: 0 auto;
}

.clearfix::after {
    content: '';
    display: block;
    clear: both;
}

/*-------------------------------------------------*/

/*----------------ボディ-----------------------*/

#page_body {
    width: 1080px;
    margin: 0 auto;
}

.image_area {
    position: relative;
    margin: 10px 0 30px;
    z-index: 0;
}

.image_area img {
    width: 1080px;
    height: 500px;
    object-fit: cover;
    margin: 0 auto;
    display: block;
}

.slider {
    position: relative;
    padding: 0;
    margin: 10px 0 30px;
}

.slide_area {
    position: relative;
}

.image_text_area {
    position: absolute;
    left: 30px;
    top: 30px;
    color: white;
    background-color: rgba(0, 0, 0, 0.4);
    width: auto;
    padding: 15px 25px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.image_text_area h1 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    white-space: nowrap;
}

.image_text_area p {
    font-size: 18px;
    white-space: nowrap;
}

.slide_area a {
    position: absolute;
    right: 30px;
    bottom: 30px;
    color: white;
    font-size: 24px;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px 25px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
}

.slide_area a:hover {
    color: #79c06e;
}

.slick-slide img {
    margin: 0 auto;
}

.slick-dots {
    bottom: 10px;
}

.image_title_text {
    position: absolute;
    left: 30px;
    top: 30px;
    color: white;
    font-size: 32px;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px 25px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#info_important_area {
    width: 880px;
    margin: 10 auto;
    padding: 20px 10px;
    border: solid 2px silver;
    /*線*/
    border-radius: 30px;
    /*角の丸み*/
}

.info_important_title {
    display: block;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.info_important_text {
    display: block;
    padding: 0 50px;
    font-size: 20px;
}

.info_important_emphasis {
    display: block;
    padding: 0 50px;
    font-size: 22px;
    font-weight: bold;
}

.info_important_complement {
    width: 80%;
    margin: 20px auto;
    font-size: 20px;
}

.info_important_complement>.info_important_title {
    font-size: 22px;
    border-bottom: 2px silver solid;
}

.normal_area {
    width: 1024px;
    margin: 50px auto;
}

#career_area {
    margin: 20px auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
}

.inner_area {
    display: block;
    width: 920px;
    margin: 30px auto 20px;
}

.inner_area_mobile {
    display: none;
}

.text_inner_title {
    color: #027742;
    border-bottom: 4px #027742 solid;
    text-align: center;
}

.anchor_other_menu_wrapper {
    text-align: right;
    margin: 80px 20px 20px;
}

.anchor_other_menu {
    padding: 10px 20px;
    text-decoration: none;
    color: inherit;
    font-size: 24px;
    font-weight: bold;
    background-color: #f2f2f2;
    border-radius: 10px;
    border: 1px silver solid;
    white-space: nowrap;
}

.anchor_other_menu:hover {
    color: #79c06e;
}

#info_list_area {
    height: 450px;
    padding: 0 20px;
    overflow: auto;
    border: 1px silver solid;
}

.content_large_title {
    font-size: 32px;
    font-weight: bold;
    margin: 20px 0;
}

.content_large_title img {
    width: 32px;
    height: auto;
    margin-right: 8px;
}

.content_text {
    font-size: 20px;
}

.content_text_note_small {
    font-size: 16px;
}

.description_area {
    display: flex;
    align-items: flex-start;
}

.description_medical_area {
    display: flex;
    align-items: center;
}

.description_access_area,
.description_access_area2 {
    display: flex;
    align-items: center;
}

.description_area img {
    margin-right: 20px;
    width: 320px;
    flex-shrink: 0;
}

.description_medical_area img {
    margin-right: 20px;
    width: 180px;
    flex-shrink: 0;
}

.description_access_area img {
    margin-right: 20px;
    width: 180px;
}

.description_access_area2 img {
    margin-right: 20px;
    width: 320px;
}

.arrow_down {
    display: block;
    margin: 6px auto;
    height: 20px;
}

.date {
    font-size: 20px;
}

.content_normal_title {
    font-size: 24px;
    font-weight: bold;
    margin: 20px 0;
}

.content_small_title {
    font-size: 22px;
    font-weight: bold;
    margin: 10px 0;
}

.list_item {
    margin: 30px 0;
    padding: 0 20px;
    border-bottom: silver solid 1px;
}

.list_item_clinic {
    padding: 12px 20px;
    border-bottom: silver solid 1px;
}

.list_item p {
    margin: 20px 0;
}

#greeting_director_content {
    display: flex;
    align-items: flex-start;
}

#greeting_director_content #director_img {
    display: block;
    width: 300px;
    flex-shrink: 0;
    object-fit: cover;
}

#greeting_director_content #director_img_mobile {
    display: none;
}

/* 院長署名 左寄せ */

#greeting_director_text>img {
    width: 310px;
    height: 72px;
    object-fit: cover;
    display: block;
    margin: 10px 0 0 auto;
}

.text_description_in_clinic {
    margin: 0 20px;
}

.philosophy {
    margin: 20px 0;
    display: flex;
    align-items: flex-start;
}

.philosophy img {
    width: 250px;
    height: auto;
    object-fit: cover;
}

.facility_standards {
    margin: 20px 0;
}

.icon_row {
    display: flex;
    justify-content: space-around;
    margin: 60px 0;
}

.icon_area {
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
}

a.icon_area {
    text-decoration: none;
    color: inherit;
}

a.icon_area:hover {
    opacity: 0.6;
    color: #79c06e;
    text-decoration: none;
}

.icon_image {
    width: 180px;
    height: 180px;
}

.icon_text {
    font-size: 24px;
    font-weight: bold;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    white-space: nowrap;
}

.medical_icon_area,
.equipment_icon_area,
.flow_icon_area {
    display: block;
}

.medical_icon_area_mobile,
.equipment_icon_area_mobile,
.flow_icon_area_mobile {
    display: none;
}

#access_area {
    display: flex;
}

#map {
    width: 500px;
    height: 620px;
    margin-right: 20px;
}

#access_text_area {
    width: 460px;
}

.attention_area {
    text-align: center;
    margin: 0 0 -30px;
    font-size: 18px;
}

.flow_description_area {
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
}

#description_whitening {
    display: block;
}

#description_whitening_mobile {
    display: none;
}

.attention_whitening_area {
    text-align: center;
    width: 60%;
    margin: 0 auto;
}

.attention_whitening_selection_area {
    width: 80%;
    margin: 30px auto 0;
    text-align: start;
}

.attention_whitening_text {
    font-size: 22px;
    font-weight: bold;
}

.attention_whitening_selection {
    font-size: 18px;
}

#description_whitening table {
    table-layout: fixed;
    width: 100%;
}

#description_whitening table tr td {
    width: 32%;
    padding: 0 40px;
    vertical-align: top;
    text-align: center;
}

#description_whitening table tbody tr:nth-child(2) td {
    padding-top: 20px;
}

/* ホワイトニングの施術説明の、小タイトルの上に20pxのスペースを開ける */
#description_whitening table tbody tr:nth-child(2n + 3) td {
    padding-top: 20px;
}

#description_whitening table tbody tr:nth-child(2n + 4) td .content_text {
    margin-left: 10px;
}

#description_whitening table h3,
#description_whitening table p {
    text-align: left;
}

.whitening_treatment_content img {
    display: block;
    width: 33%;
    height: 33%;
    margin-right: 5px;
    flex-shrink: 0;
}

.whitening_treatment_content {
    display: flex;
    align-items: center;
}

.intro_flow {
    font-size: 22px;
    text-align: center;
    margin: 30px 0px;
}

.intro_flow_false_tooth {
    font-size: 20px;
    text-align: start;
    margin: 30px 0;
}

#flow_whitening>img {
    display: block;
    width: 40%;
    height: auto;
    margin: 0 auto 20px;
}

.intro_flow_whitening {
    font-size: 22px;
    text-align: center;
    margin: 30px 0px;
}

#flow_false_tooth {
    width: 32%;
    margin: 0 auto;
}

#flow_deriodontal {
    width: 64%;
    margin: 0 auto;
}

.flow_item_cavity {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 32%;
}

.flow_item_false_tooth {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 98%;
}

.flow_item_deriodontal {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 48%;
}

.flow_content_cavity {
    width: 100%;
    margin-top: 10px;
}

.flow_content_false_tooth {
    width: 100%;
    margin-top: 10px;
}

.flow_content_deriodontal {
    width: 100%;
    margin-top: 10px;
}

.flow_content_cavity>h3,
.flow_content_cavity>p,
.flow_content_false_tooth>h3,
.flow_content_false_tooth>p,
.flow_content_deriodontal>h3,
.flow_content_deriodontal>p {
    text-align: center;
}

.flow_content_cavity>.content_text,
.flow_content_false_tooth>.content_text,
.flow_content_deriodontal>.content_text {
    margin-bottom: 20px;
}

.flow_item_description {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}

.flow_item_description img {
    position: absolute;
    width: 50%;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.flow_item_description p {
    z-index: 1;
    max-width: 100%;
}

.text_symptoms {
    height: 60px;
}

.visited_num_area {
    position: relative;
    height: 300px;
}

.visited_num_area h2.content_normal_title {
    text-align: center;
    border-bottom: 2px silver solid;
    margin-top: 0;
}

.flow_second_row {
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
}

.recruit_outer_item {
    text-align: center;
}

.illust_recruitment {
    margin-top: 30px;
    width: 30%;
}

.recruit_inner_item {
    margin: 20px 0;
}

.recruit_inner_item p {
    padding-left: 20px;
}

.recruit_contact_area {
    padding-top: 40px;
}

.recruit_contact_area p {
    text-align: center;
    margin-top: 10px;
}

.recruit_phone_num_area {
    display: flex;
    justify-content: center;
}

.recruit_tel_num {
    display: flex;
    align-items: flex-end;
    font-size: 32px;
    margin: 0 30px
}

.recruit_tel_num img {
    width: 48px;
    height: 48px;
    margin-right: 10px;
}

.business_time_area {
    display: flex;
    align-items: flex-start;
}

.business_time_area iframe {
    width: 640px;
    height: 480px;
}

.business_time_text_area {
    margin-left: 30px;
    width: 340px;
}

.banner_deriodontal_area {
    text-align: center;
    margin-top: 40px;
}

.banner_deriodontal_area img {
    width: 60%;
}

/*-------------------------------------------------*/

/*--------------------フッター---------------------*/

#footer {
    width: 100%;
    border-top: silver solid 2px;
    margin-top: 30px;
    padding-bottom: 20px;
}

#footer_content {
    width: 1080px;
    margin: 20px auto;
}

#footer_address {
    margin-left: 200px;
    margin-bottom: 30px;
}

.tel_num_footer {
    display: block;
    width: 160px;
    height: auto;
}

.business_time_foot_area {
    display: flex;
    justify-content: center;
}

.business_time_foot_area table {
    border-collapse: collapse;
}

.business_time_foot_area .row_week_of_day {
    background-color: #C69C6D;
}

.business_time_foot_area .row_am {
    background-color: white;
}

.business_time_foot_area .row_pm {
    background-color: #FAF9F0;
}

.business_time_foot_area table {
    width: 360px;
    height: 150px;
}

.business_time_foot_area th, .business_time_foot_area td {
    border: 1px solid silver;
    padding: 5px 10px;
    text-align: center;
    font-size: 16px;
    white-space: nowrap;
}

.business_time_foot_area th {
    font-weight: bold;
}

.business_time_foot_area .business_time_description {
    width: 320px;
    margin-left: 50px;
}

#copy_right {
    text-align: center;
    font-size: 14px;
    margin-top: 50px;
}

@media screen and (max-width: 1080px) {
    #footer {
        width: 1080px;
    }
}

/*----------------------------------------*/

/*----------------その他--------------------*/

#fade_layer {
    display: none;
}

#bottom_menu_area {
    display: none;
}