@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@300;400;500;700&display=swap");

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/

/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 140%;
    line-height: 28px;
    -webkit-text-size-adjust: none;
}

img {
    vertical-align: bottom;
	height: auto;
	
}

a {
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

p {
    margin: 0 0 1em;
}

.content {
    padding: 0 0 20px;
}

.section {
    padding: 0 0 30px 0;
}

.image_l {
    float: left;
    margin: 0 16px 8px 0;
}

.image_r {
    float: right;
    margin: 0 0 8px 16px;
}

ul.path {
    padding: 20px 0;
    text-align: right;
}

ul.path li {
    list-style: none;
    display: inline;
    font-size: 12px;
}

.path a {
    color: #5fb0b3;
}

.f-bottom {
    display: none;
}

/* add
------------------------------------------------------------------------*/

/* add
------------------------------------------------------------------------*/
.mb0 {
    margin-bottom: 0px;
}

.mb05 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb35 {
    margin-bottom: 35px;
}

.mb50 {
    margin-bottom: 50px;
}

.mt05 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt25 {
    margin-top: 25px;
}

.mt30 {
    margin-top: 30px;
}

.w5 {
    width: 5%;
}

.w10 {
    width: 10%;
}

.w15 {
    width: 15%;
}

.w20 {
    width: 20%;
}

.w25 {
    width: 25%;
}

.w30 {
    width: 30%;
}

.w33 {
    width: 33%;
}

.w35 {
    width: 35%;
}

.w40 {
    width: 40%;
}

.w45 {
    width: 45%;
}

.w50 {
    width: 50%;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/

html {
    background: none;
}

body {
    color: #000;
    background: url("../images/body_bg.jpg") repeat;
}

#wrapper {
    margin: 0 auto;
    min-width: 950px;
    width: 100%;
}

#main {
    width: 950px;
    margin: 0 auto;
    text-align: left;
    padding: 0 0 30px;
}

#main * {
    box-sizing: border-box;
}

#toTop {
    border: medium none;
    bottom: 30px;
    cursor: pointer;
    display: none;
    height: 60px;
    overflow: hidden;
    position: fixed;
    right: 10px;
    text-decoration: none;
    width: 60px;
    z-index: 100;
}

#toTop img:hover {
    opacity: 0.8;
    transition: all 0.5s;
}

.sec12{
    width: 950px;
    margin: 0 auto;
}

.summary{
    padding: 50px 0;
    margin-top: 70px;
    display: flex;
    justify-content:center ;
}

.flex{
     /* width: 950px;
    margin: 0 auto; */

}


/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/

header {
    width: 1000px;
    margin: 0 auto;
}

.h1 {
    font-size: 11px;
    color: #666666;
    line-height: 18px;
    padding: 6px 0;
}

.headTop {
    padding: 0 0 10px;
}

#logo {
    float: left;
}

#b_english {
    float: left;
    margin: 30px 0 0 40px;
    display: none;
}

#icon_face {
    float: left;
    margin: 30px 0 0 55px;
}
#icon_face img,#icon_face02 img { width: 40px;}
#icon_face02 {
    position: relative;
    float: left;
    margin: 30px 0 0 10px;
}
.box_txt01{
    position: absolute;
    text-align: center;
    border: #333;
    top: -30px;
    left: -23px;
    width: 55px;
}
.box_txt01.box_txt02{
    left: -14px;
}
#icon_face02 .box_txt01 img{
    width: 100%;
}

  /* .box_txt01:before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-top-color: red;
  } */
#logo img {
    width: 305px;
}

.headTop figure:last-child {
    float: right;
}

nav {
    display: block;
    background-color: #5fb0b3;
    width: 100%;
    text-align: center;
}

#gnav .gnav_in {
    width: 950px;
    margin: 0 auto;
}

.gnav {
    float: left;
}

.gnav li {
    float: left;
}

.gnav li img:hover {
    opacity: 0.8;
    /*transition: all 0.5s;*/
}

.gnav_b {
    float: left;
}

.gnav_b dt {
    position: relative;
    cursor: pointer;
}

.resize {
    float: left;
}

.resize dd {
    float: left;
}

#main a img:hover {
    opacity: 0.7;
    transition: all .5s;
}

.sub {
    position: relative;
    cursor: pointer;
    display: block;
}

.gsub {
    display: none;
    position: absolute;
    z-index: 10;
    width: 100%;
    top: 41px;
    left: 0;
}

.gsub li {
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
    background-color: #037177;
}

.gsub li:last-child {
    border: none;
}

.gsub a {
    color: #FFF;
    padding: 10px 0;
    text-align: center;
    text-decoration: none;
    display: block;
}

/*==========================================================================*/
/*                              Footer                                      */
/*==========================================================================*/

footer {
    clear: both;
    margin: 0 auto;
    padding: 40px 0 0;
    background-color: #5fb0b3;
    color: #FFF;
}

footer>.footer_in:first-child {
    padding-bottom: 35px;
}

footer a {
    color: #FFF;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

.footer_in {
    width: 950px;
    margin: 0 auto;
}

.fbanner {
    float: left;
    width: 462px;
}

.fbanner ul {
    float: left;
	margin-top: 20px;
}

.fbanner ul li {
	margin-bottom: 10px;
}


.fbanner dl {
    background-color: #FFF;
    text-align: center;
    color: #666666;
    padding-bottom: 12px;
}

.fbanner dd {
    line-height: 17px;
    font-size: 12px;
}

.fbanner dd img {
    width: 198px;
    height: auto;
}

.fbanner ul li:nth-child(2) img:hover,
.fbanner dd img:hover {
    opacity: 0.8;
}

.fbanner dd a:last-of-type {
    margin-left: 5px;
}

.fbanner dd:first-of-type {
    padding: 10px;
}

.fnav {
    float: right;
    width: 436px;
    padding: 0px 0 0 0;
}

.fnav dt {
    font-weight: bold;
    margin-bottom: 6px;
}

.fnavl {
    float: left;
    width: 245px;
}

.fnavl dl:first-child {
    margin-bottom: 30px;
}

.footer1 {
    background: url(../images/line.jpg) repeat-x 0 0;
    padding: 35px 0;
}

.shopinfo {
    float: left;
    width: 592px;
}

.shopinfo ul:first-of-type {
    float: left;
}
.shopinfo ul:first-of-type li img { width: 310px;}
.shopinfo ul:last-of-type {
    float: right;
    width: 210px;
}

.shopinfo .sub img {
    width: 210px;
}

.fmap {
    float: right;
    width: 320px;
    height: 300px;
    margin-top: 6px;
}

footer .gsub {
    top: 65px;
}

footer .gsub li:first-child {
    border-top: solid 1px rgba(255, 255, 255, 0.2);
}

footer address {
    background: url(../images/line.jpg) repeat-x 0 0;
    font-size: 11px;
    text-align: center;
    padding: 20px 0;
}

/*==========================================================================*/
/*                            navigation                                    */
/*==========================================================================*/

aside {
    float: left;
    width: 240px;
    text-align: center;
}

aside img {
    width: auto;
}

aside dl {
    background: url(../images/nav2_bg.jpg) no-repeat 0 0;
    background-size: cover;
    text-align: center;
    padding: 0 0 10px;
}

aside dd {
    margin-bottom: 10px;
}

aside dd:last-of-type {
    margin: 0;
}

/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/
#content {
    /*	float: right;
	width: 680px;*/
    width: 100%;
}

/* under
------------------------------------------------------------------------*/

.font_min {
    font-family: 'Shippori Mincho', serif;
}

.under .key {
    text-align: center;
    background: url(../images/u_key_bg.jpg) repeat-x 0 0;
}

.under .key h2 {
    display: table;
    width: 950px;
    margin: 0 auto;
    text-shadow:
        1px 1px 0 #fff,
        -1px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px 1px 0 #fff,
        1px 1px 4px #fff,
        -1px -2px 4px #fff,
        1px 1px 3px #fff,
        -2px -1px 3px #fff;
}

.under .key h2 span {
    display: table-cell;
    vertical-align: middle;
    height: 250px;
    font-size: 32px;
    word-break: break-all;
    font-weight: 500;
    font-family: 'Shippori Mincho', serif;
    line-height: 120%;
    transform: rotate(.03deg);
}

.under h3 {
    font-family: 'Shippori Mincho', serif;
    background: url(../images/h3.png) repeat-x bottom left;
    font-size: 280%;
    padding: 15px 10px;
    margin-bottom: 30px;
    transform: rotate(.03deg);
}

.under h4 {
    font-family: 'Shippori Mincho', serif;
    font-size: 220%;
    padding: 10px 10px 10px 20px;
    margin-bottom: 20px;
    border: solid 1px #5fb0b3;
    border-radius: 6px;
    position: relative;
    transform: rotate(.03deg);
}

.under h4:before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 24px;
    background-color: #037177;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -12px;
}

.under h5 {
    font-family: 'Shippori Mincho', serif;
    font-size: 200%;
    padding: 5px 10px 5px 20px;
    margin-bottom: 20px;
    background-color: rgba(95, 176, 179, 0.5);
    transform: rotate(.03deg);
}

.under h6 {
    font-size: 160%;
    padding: 5px 20px;
    margin-bottom: 20px;
    border: solid 1px #e8e8e5;
}

.inner {
    width: 950px;
    margin: 0 auto;
}

.v-top td {
    vertical-align: top;
}

#main .banner1 a img:hover {
    opacity: 1;
}

/* index
------------------------------------------------------------------------*/


/*Slider*/
/*#carousel img {
	float: left;
}*/
#index .key {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
}

/*#index .key ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: block;
	overflow: hidden;
}
#index .key li {
	display: block;
	float: left;
}*/
video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

#index .key h2 {
    position: absolute;
    width: 100%;
    top: 0;
    text-align: center;
    z-index: 10;
}

#index .key h2 img {
    margin: 0 auto;
}

#index #main {
    width: 100%;
    padding: 0;
}

.index1 {
    background: url(../images/index_box1.jpg) repeat-x bottom left;
    text-align: center;
    padding: 27px 0 50px 0;
}

.index1 h3 {
    margin-bottom: 20px;
}

.index1 ul {
    margin-bottom: 30px;
}

.index1 li {
    float: left;
    margin-left: 74px;
}

.index2 {
    background: url(../images/index_box2.jpg) no-repeat top center #5fb0b3;
    padding: 20px 0 42px 0;
    color: #FFF;
}

.index2 h3 {
    text-align: center;
    margin-bottom: 20px;
}

.index_blog {
    padding: 0 47px;
    height: 200px;
    overflow-y: auto;
}

.index_blog dl {
    padding: 15px 25px;
    display: table;
    width: 100%;
    border-bottom: dotted 1px #FFF;
}

.index_blog dl:first-child {
    border-top: dotted 1px #FFF;
}

.index_blog dt {
    display: table-cell;
    width: 100px;
    font-size: 160%;
}

.index_blog dd {
    display: table-cell;
    padding-left: 20px;
    text-align: left;
    font-size: 160%;
}

.index_blog a {
    color: #FFF;
    text-decoration: none;
}

.index_blog a:hover {
    text-decoration: underline;
}

.index3 {
    background: url(../images/index_box3.jpg) no-repeat top center #e8e8e5;
    min-height: 456px;
    padding: 60px 0;
}

.index3_box {
    width: 465px;
}

.index4 {
    background: url(../images/index_box4.jpg) no-repeat top center;
    background-size: cover;
    padding: 42px 0 30px;
    text-align: center;
}

.inder_bnr {
    text-align: center;
}

.inder_bnr li {
    display: inline-block;
    margin: 0 38px 35px 0;
}

.inder_bnr li:nth-child(4),
.inder_bnr li:last-child {
    margin: 0 0 35px 0;
}

.index5 {
    background: url(../images/index_box5.jpg) no-repeat top center;
    background-size: cover;
    padding: 50px 0;
}

.youtube {
    float: left;
}

.index_content {
    float: right;
    display: block;
    width: 580px;
}

.index_content h3 {
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    font-family: 'Shippori Mincho', serif;
    margin-bottom: 20px;
    color: #413117;
}

.index_b {
    text-align: center;
    margin: 30px 0 0 0;
}

.index_b a {
    display: block;
    width: 282px;
    background-color: #000;
    color: #FFF;
    line-height: 54px;
    margin: 0 auto;
    text-decoration: none;
    position: relative;
}

.index_b a:hover {
    background-color: rgba(0, 0, 0, 0.8);
    transition: all .5s;
}

.index_b a:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: solid 1px #5fb0b3;
    border-right: solid 1px #5fb0b3;
    -ms-transform: rotate(45deg);
    /* IE 9 */
    -webkit-transform: rotate(45eg);
    /* Safari */
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -7px;
}

/* blog
------------------------------------------------------------------------*/

.cateList {
    margin: 0 0 20px;
    text-align: center;
}

#main .cateList li {
    display: inline-block;
    text-align: center;
    margin-bottom: 5px;
    box-sizing: inherit;
}

#main .cateList li a {
    display: block;
    width: 100%;
    text-decoration: none;
    color: #fff;
    padding: 10px 20px 8px;
    box-sizing: inherit;
    border-radius: 4px;
}

#main .listItem dl dt span a {
    display: block;
    width: 100%;
    text-decoration: none;
    color: #fff;
    padding: 6px 0 4px;
    border-radius: 4px;
    line-height: 12px;
    font-size: 80%;
}

#main .cateList li a:hover {
    opacity: 0.8;
    transition: all 0.5s;
}

#main .cateList li.cate_list a,
#main .listItem dl dt span.cate_span {
    background: #5FB0B3;
    border-radius: 4px;
}

#main .cateList li.cate1 a,
#main .listItem dl dt span.cate1 {
    background: rgb(226, 70, 71);
    background: -moz-linear-gradient(90deg, rgb(226, 70, 71) 0%, rgb(223, 60, 61) 70%);
    background: -webkit-linear-gradient(90deg, rgb(226, 70, 71) 0%, rgb(223, 60, 61) 70%);
    background: -o-linear-gradient(90deg, rgb(226, 70, 71) 0%, rgb(223, 60, 61) 70%);
    background: -ms-linear-gradient(90deg, rgb(226, 70, 71) 0%, rgb(223, 60, 61) 70%);
    background: linear-gradient(180deg, rgb(226, 70, 71) 0%, rgb(223, 60, 61) 70%);
}

#main .cateList li.cate2 a,
#main .listItem dl dt span.cate2 {
    background: rgb(81, 138, 181);
    background: -moz-linear-gradient(90deg, rgb(81, 138, 181) 0%, rgb(61, 119, 165) 70%);
    background: -webkit-linear-gradient(90deg, rgb(81, 138, 181) 0%, rgb(61, 119, 165) 70%);
    background: -o-linear-gradient(90deg, rgb(81, 138, 181) 0%, rgb(61, 119, 165) 70%);
    background: -ms-linear-gradient(90deg, rgb(81, 138, 181) 0%, rgb(61, 119, 165) 70%);
    background: linear-gradient(180deg, rgb(81, 138, 181) 0%, rgb(61, 119, 165) 70%);
}

#main .cateList li.cate3 a,
#main .listItem dl dt span.cate3 {
    background: rgb(90, 173, 81);
    background: -moz-linear-gradient(90deg, rgb(90, 173, 81) 0%, rgb(70, 157, 62) 70%);
    background: -webkit-linear-gradient(90deg, rgb(90, 173, 81) 0%, rgb(70, 157, 62) 70%);
    background: -o-linear-gradient(90deg, rgb(90, 173, 81) 0%, rgb(70, 157, 62) 70%);
    background: -ms-linear-gradient(90deg, rgb(90, 173, 81) 0%, rgb(70, 157, 62) 70%);
    background: linear-gradient(180deg, rgb(90, 173, 81) 0%, rgb(70, 157, 62) 70%);
}

.listItem {
    border-top: 4px solid #bdd4d6;
    border-left: solid 1px #bdd4d6;
    border-right: solid 1px #bdd4d6;
    margin-bottom: 20px;
}

.listItem dl {
    border-bottom: solid 1px #bdd4d6;
    display: table;
    width: 100%;
}

.listItem dl dt,
.listItem dl dd {
    display: table-cell;
    padding: 10px 10px 6px;
    vertical-align: middle;
    height: 100%;
}

.listItem dl dt {
    width: 130px;
    text-align: center;
    font-weight: bold;
    background: #f2f5f4;
    border-right: solid 1px #deedef;
}

.listItem dl dt span {
    display: block;
    font-weight: normal;
    color: #FFF;
}

.listItem dl dd {
    padding-left: 20px;
}

.listItem dl dd:before {
    /*content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

.listItem dl dd a {
    color: #5fb0b3;
}

ul.pager {
    text-align: center;
}

ul.pager li {
    display: inline-block;
}

ul.pager li span,
ul.pager li a {
    display: block;
    height: 24px;
    width: 24px;
    background: #ddd;
    font-size: 80%;
    line-height: 26px;
    text-decoration: none;
    border-radius: 3px;
    color: #000;
}

ul.pager li span {
    background: #75b9bb;
    color: #fff;
}

ul.pager li.disabled a {
    display: none;
}

ul.pager li.active a {
    background: #5fb0b3;
}

ul.pager li a:hover {
    opacity: 0.8;
    transition: all 0.5s;
}

#blog #content .img1 {
    text-align: center;
}

#blog #content .img1 img {
    width: 80%;
    max-width: 640px;
}

#blog #content .listImg {
    margin-bottom: 15px;
}

#blog #content .listImg li {
    width: 32%;
    margin-right: 2%;
    float: left;
}

#blog #content .listImg li a {
    display: block;
    height: 160px;
    overflow: hidden;
    background: #f5f5f5;
    text-align: center;
    width: 100%;
}

#blog #content .listImg li:nth-child(3n+0) {
    margin-right: 0;
}

#blog #content .listImg li img {
    max-width: 100%;
    max-height: 100%;
    top: 50%;
    position: relative;
    transform: translate(0, -50%);
}

/* ortho  */

#ortho .box01,
#implant .box01 {
    background: #e8e8e5;
    ;
    padding: 15px;
}

#ortho .tbl01 {
    width: 100%;
}

/* implant */

#implant .tbl01 {
    width: 100%;
}

.pb0 {
    padding-bottom: 0;
}

.under h5.step {
    border: none;
    border-bottom: dashed 1px #037177;
    background: none;
    font-size: 220%;
    position: relative;
    padding-left: 50px;
}

.under h5.step:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 42px;
    height: 48px;
}

.under h5.step1:before {
    background: url(../images/step1.png) 0 0 repeat;
}

.under h5.step2:before {
    background: url(../images/step2.png) 0 0 repeat;
}

.under h5.step3:before {
    background: url(../images/step3.png) 0 0 repeat;
}

.under h5.step4:before {
    background: url(../images/step4.png) 0 0 repeat;
}

/* concept
------------------------------------------------------------------------*/

.txt_red {
    color: #c00;
}

table {
    width: 100%;
}

.mb0 {
    margin-bottom: 0 !important;
}

.box_concept {
    display: flex;
    justify-content: space-between;
}

.box_concept dl {
    border: 1px dashed #5fb0b3;
    padding: 0 15px 15px;
    margin: 80px 0 30px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    width: 32%;
}

.box_concept dl dt {
    text-align: center;
    margin-bottom: 18px;
    margin-top: -70px;
}

.box_concept dl dd img {
    vertical-align: middle;
    max-width: 100%;
}

.tit {
    text-align: center;
    font-size: 160%;
    color: #037177;
}

#concept .tit {
    margin-bottom: 5px;
}

.concept_n li {
    background: url(../images/dot.png) repeat-x bottom left;
    font-family: 'Shippori Mincho', serif;
    font-size: 200%;
    color: #037177;
    padding: 5px 0;
    margin-bottom: 10px;
    font-weight: 500;
}

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

.concept_n li img {
    float: left;
}

.concept_n li span {
    padding: 0 0 0 50px;
    display: block;
}

/* clinic
------------------------------------------------------------------------*/

.list {
    margin-bottom: 20px;
    padding: 0 10px;
}

.list li {
    padding: 5px 5px 5px 10px;
    border-bottom: 1px dashed #5fb0b3;
}

.list li:before {
    content: "●";
    color: #5fb0b3;
    margin-right: 6px;
}

/*.list li:last-of-type{
	border-bottom: 0;
}*/

.box_txt1 {
    border-top: 3px solid #5fb0b3;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e5+0,f3f3f1+100 */
    background: #e8e8e5;
    /* Old browsers */
    background: -moz-linear-gradient(top, #e8e8e5 0%, #f3f3f1 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #e8e8e5 0%, #f3f3f1 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #e8e8e5 0%, #f3f3f1 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    /* IE6-9 */
    padding: 5% 3%;
}

.box_txt1 .tit {
    font-size: 200%;
    color: #413117;
    font-weight: bold;
}

.list_btn li {
    display: inline-block;
    margin: 0 15px 35px;
    width: 30%;
}

.list_btn li a {
    display: block;
    background: #037177;
    color: #fff;
    padding: 8px 25px;
    text-decoration: none;
}

/* flow
------------------------------------------------------------------------*/
/* Font-family */
/* Color */
/* Reposive */
/* -------------- */
.step_list h5 {
    background-repeat: no-repeat;
    background-color: transparent;
    padding-left: 60px;
    height: 47px;
}

.step_list .step1 {
    background-image: url(../images/step_bg_img_1.png);
}

.step_list .step2 {
    background-image: url(../images/step_bg_img_2.png);
}

.step_list .step3 {
    background-image: url(../images/step_bg_img_3.png);
}

.step_list .step4 {
    background-image: url(../images/step_bg_img_4.png);
}

.step_list .step5 {
    background-image: url(../images/step_bg_img_5.png);
}

.step_list .step6 {
    background-image: url(../images/step_bg_img_6.png);
}

.step_list .step7 {
    background-image: url(../images/step_bg_img_7.png);
}

.v-hover:hover {
    opacity: 0.8;
    transition: all 0.05s;
}

.v-box {
    background-color: #e8e8e8;
    border-top: 3px solid #5fb0b3;
    padding: 15px;
}

.v-bold {
    font-weight: 700;
}

.perio-tb {
    table-layout: fixed;
}

.perio-tb tr td {
    vertical-align: top;
}

.perio-tb tr td img {
    width: 100%;
}

/* staff
------------------------------------------------------------------------*/

table {
    width: 100%;
}

#staff .tbl01 th,
#staff .tbl01 td {
    width: 16%;
    text-align: center;
}

#staff .tab {
    float: left;
    background-color: #e8e8e5;
    border: 1px solid #000;
    width: 100%;
    padding: 15px;
}

h6.stt {
    padding: 5px 20px 0px 45px;
    border: none;
    border-bottom: 1px dashed #037177;
    position: relative;
}

h6.stt:before {
    content: '';
    position: absolute;
    width: 35px;
    height: 35px;
    top: 2px;
    left: 0;
}

h6.stt1:before {
    background: url(../images/staff_icon01.png) left no-repeat;
}

h6.stt2:before {
    background: url(../images/staff_icon02.png) left no-repeat;
}

h6.stt3:before {
    background: url(../images/staff_icon03.png) left no-repeat;
}

h6.stt4:before {
    background: url(../images/staff_icon04.png) left no-repeat;
}

h6.stt5:before {
    background: url(../images/staff_icon05.png) left no-repeat;
}

h6.stt6:before {
    background: url(../images/staff_icon06.png) left no-repeat;
}

h6.stt7:before {
    background: url(../images/staff_icon07.png) left no-repeat;
}

.pb0 {
    padding-bottom: 0;
}

/* child
------------------------------------------------------------------------*/
.btn1,
.btn2 {
    float: left;
    text-align: center;
    width: 48%;
}

.btn1 a,
.btn2 a {
    padding: 15px 12px 15px 0;
    display: block;
    text-decoration: none;
    color: #fff;
}

.btn1 {
    margin-right: 4%;
}

#child .tab {
    float: left;
    background-color: #e8e8e5;
    border: 1px solid #000;
    width: 100%;
    padding: 15px;
}

.btn2:after,
.btn1:after {
    content: '';
    position: absolute;
    width: 10px;
    height: 20px;
    bottom: 20px;
    right: 0;
    padding-right: 4%;
}

.btn1,
.btn2 {
    background-color: #000;
    position: relative;
}

.btn1:after,
.btn2:after {
    background: url(../images/child_mn.png) no-repeat;
}

.btn1:hover,
.btn2:hover {
    opacity: 0.8;
    transition: all 0.5s;
}

.stepbox {
    border: solid 1px #e8e8e5;
    padding: 3%;
    margin-bottom: 10px;
}

.stepbox:last-of-type {
    margin-bottom: 0;
}

.arrow {
    text-align: center;
    margin-bottom: 20px;
}

#perio .index_b {
    margin: 0 auto 20px;
}

span.txt_red {
    color: #ED2327;
}

.index_blog_txt {
    text-align: right;
}

th.txt_left {
    text-align: left;
}

td.bg_td {
    background: #fafafa;
}

/*fix 161229*/

table.table_staff th {
    text-align: left;
    font-weight: normal;
    font-size: 140% !important;
}
table.table_staff th.right {
    text-align: right;
    
}
table.table_staff td {
    font-size: 140% !important;
}

table.table_staff th.th_bg {
    background: #b3dfe0;
}

table.table_staff td.bg_staff {
    background: #A0E8F1;
}
table.table_staff th.bg_staff {
    background: #A0E8F1;
}
table.table_staff td.pd_left {
    padding-left: 17%;
}

table.table_staff td span.underline {
    text-decoration: underline;
}

.pd10 {
    padding-bottom: 10px;
}

.list_staff {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.list_staff li {
    width: 22%;
    display: inline-block;
    margin-right: 2%;
    border: 1px solid #5FB0B3;
    background: #5FB0B3;
    text-align: center;
  
}
 .list_staff li.w100 {
      width: 22%;
        margin-bottom: 2%;
     margin-right: 2%;
    }
.list_staff li:last-child {
    margin-right: 0;
}

.list_staff li a {
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
      padding: 8px 0;
}

.list_staff li:hover {
    background: #047176;
}
.but_staff {
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.but_staff li {
    width: 50%;
    display: inline-block;
    margin-right: 2%;
    border: 1px solid #5FB0B3;
    background: #5FB0B3;
    text-align: center;
    
}
.but_staff li a {
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
    padding: 20px 10px;
}
.but_staff li:hover {
    background: #047176;
}
.header_eg {
    position: relative;
}

.header_eg01 {
    position: absolute;
    margin-bottom: 0;
    left: 113px;
    top: -2px;
}

.header_eg01:hover {
    opacity: 0.8;
}

.tblendo td {
    vertical-align: top;
}


/* -------- key ------------- */
#implant .key {
    background: url("../images/implant_key.png") no-repeat center center;
}

#clinic .key {
    background: url("../images/clinic_key.png") no-repeat center center;
}


#concept .key {
    background: url("../images/concept_key.png") no-repeat center left;
}

#endo .key {
    background: url("../images/endo_key.png") no-repeat center right;
}

#esthe .key {
    background: url("../images/esthe_key.png") no-repeat center right;
}

#microscope .key {
    background: url("../images/microscope_key.png") no-repeat center right;
}

#ortho .key {
    background: url("../images/ortho_key.png") no-repeat center right;
}

#perio .key,
#perio-implant .key,
#micro-endo .key {
    background: url("../images/perio_key.png") no-repeat center right;
}

#perio-implant .v-box ul li,
#micro-endo .v-box ul li {
    padding-left: 1em;
    text-indent: -1em;
}
#perio-implant .v-box ul li::before,
#micro-endo .v-box ul li::before {
    content: '・';
}
#perio-implant img.narrow-size {
    display: block;
    margin: auto;
    width: 480px;
    height: auto;
}

#perio-implant .with-figure {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}
#perio-implant .with-figure figure img {
    display: block;
    width: 100%;
    height: auto;
}

@media screen and (max-width: 640px) {
    #perio-implant img.narrow-size {
        width: 100%;
    }

    #perio-implant .with-figure {
        grid-template-columns: 1fr;
    }
}

#micro-endo .image_l {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    align-items: start;
    justify-content: center;
}
#micro-endo .image_l span {
    text-align: center;
}

#micro-endo p {
    overflow-wrap: break-word;
}

#micro-endo .case-table td {
    background-color: #fff;
}

#micro-endo .case-table td img {
    display: block;
    margin: auto;
}

#prevent .key {
    background: url("../images/prevent_key.png") no-repeat center right;
}

#flow .key {
    background: url("../images/flow_key.png") no-repeat center right;
}

#child .key {
    background: url("../images/child_key.png") no-repeat center right;
}

#blog .key {
    background: url("../images/blog_key.png") no-repeat center right;
}

#staff .key {
    background: #eaebe6;
}


.acc_year {
    border: 1px solid #C1C6C7;
    margin: 0 0 10px 0;
}


.acc_year .year_num {
    background: #5fb0b3;
    padding: 10px 20px 10px 20px;
    color: #fff;
    font-weight: bold;
    position: relative;
    transition: 0.4s;
    cursor: pointer;
}

.first_step.acc_year .year_tbl {
    display: block;
}

.acc_year .year_tbl {
    display: none;

    box-sizing: border-box;
    transition: max-height 0.2s ease-out;

}

.acc_year .year_tbl p {
    padding: 10px;
}


.acc_year table.table_staff td,
.acc_year table.table_staff th {
    font-size: 100% !important;
}


.acc_year .year_num:after {
    content: '';
    color: #777;
    font-weight: bold;
    margin-left: 5px;
    width: 17px;
    height: 17px;
    background: url("../images/arr02.png");
    position: absolute;
    top: calc(50% - 9px);
    right: 5px;
}

.acc_year .open {
    position: relative;

}

.acc_year .open:after {
    width: 17px;
    height: 17px;
    background: url("../images/arr01.png");
    position: absolute;
    top: calc(50% - 9px);
    right: 5px;
}

.txt_blue {
    color: rgba(95, 176, 179, 1);
}

.gnav .parent {
    position: relative;
}

.gnav .parent>a {
    cursor: default;
    width: 100%;
    display: block;
}

.gnav .sub {
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    background: #51A4A7;
    z-index: 1;
    transition: all 0.3s;
    opacity: 0;
    transform: translate(-3px, 3px);
    visibility: hidden;
    border-top: solid 1px rgba(255, 255, 255, 0.3);
}

.gnav .parent:hover .sub {
    opacity: 1;
    transform: translate(0, 0);
    visibility: visible;
}

.gnav .sub ul {}

.gnav .sub ul li {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border-top: 1px dotted #F5F5F5;
    width: 100%;
    display: block;
}

.gnav .sub ul li:hover {
    background: #70BCBF;
}

.gnav .sub ul li:last-child {
    margin-bottom: 0;
}

.gnav .sub ul a {
    color: #fff;
    background-size: 3px;
    text-decoration: none;
    font-weight: 300;
    font-size: 13px;
    display: block;
    padding: 5px 10px;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
}

.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
}

#index #main .inner {}

#keyvisual {
    height: 562px;
}

#keyvisual .mainimg01 {
    background: url("../images/idx_mainimg01.png") no-repeat center top;
    height: 100%;
    /*
	display: flex;
	justify-content: center;
	align-items: flex-end
*/
}

.box_h2 {
    width: 950px;
    margin: 0 auto;
    height: 100%;
    /*
	display: flex;
	justify-content: flex-start;
	align-items: center;
*/
    position: relative;
}

.box_h2 h2 {}

#keyvisual h2.txt {
    padding: 10px 20px;
    text-align: center;
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 30px;
    line-height: 1.5;
    position: relative;
    width: auto;
    top: calc(15%);
    margin-bottom: 20px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;

}

h2.txt {
    padding: 0;
    text-align: center;
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 30px;
    line-height: 1.5;
    position: relative;
    width: auto;
    margin-bottom: 30px;
    white-space: nowrap;

}

.box_news {
    position: absolute;
    bottom: 50px;
    right: 0;
}

#index .sec01 {
    text-align: center;
    padding: 50px 0;
    background: #BEE2E2;
}

.idx_h301 {
    background: #5fb0b3;
    ;
    padding: 10px 20px;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 25px;
    display: inline-block;
    margin: 10px auto 30px;
}

/*
#index .img_list
{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
#index .img_list li{
	width:calc((100% / 4) - 20px);
	margin: 10px 0;
}
*/

#index .box_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#index .box_flex ul {
    flex: 0 0 auto;
    width: calc((100% / 4) - 20px);
}

#index .box_flex ul li {
    margin: 25px 0;
}






#index .box_flex ul:nth-child(2),
#index .box_flex ul:nth-child(4) {
    margin-top: 12%;
}

#index .img_list img {
    width: 100%;
    max-width: 100%;
}

#index .sec02 {
    display: flex;
    background: url(../images/body_bg.jpg) repeat;
    padding: 50px 0;
}

#index .sec02 .chartbox {
    display: flex;
    align-items: flex-start;

}

#index .sec02 dt {
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 25px;
    color: #333;
    margin-bottom: 20px;
}

#index .sec02 dt span {
    display: block;
    color: #027276;
    font-size: 80%;
}

#index .sec02 ul {
    display: flex;
    justify-content: space-between;
}

#index .sec02 ul li {
    position: relative;
    padding: 5px 5px 10px;
    margin: 0px 5px;
    border: 1px solid #B7B7B7;
}

#index .sec02 ul li::before {
    position: absolute;
    bottom: 10px;
    right: 5px;
    width: 0;
    height: 0;
    content: '';
    border-top: 10px solid #047176;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

#index .sec02 .sec02_menuList{
    -ms-flex-wrap:wrap;
  	flex-wrap:wrap;
    -webkit-box-pack:start;
	-ms-flex-pack:start;
	justify-content:flex-start;
    margin-bottom:30px;
}

#index .sec02 .sec02_listItem{
    width:23.5%;
    margin:0;
    border:0;
}

#index .sec02 .sec02_listItem::before{
    content:none;
}

@media(min-width:641px){
    #index .sec02 .sec02_listItem + .sec02_listItem:not(:nth-child(4n + 1)){
        margin-left:2%;
    }
    #index .sec02 .sec02_listItem + .sec02_listItem:not(:nth-child(-n + 4)){
        margin-top:2%;
    }
}

#index .sec02 .sec02_listItem a{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
    background:#fff;
    box-sizing:border-box;
    height:100%;
    padding:20px;
    border:2px solid #fff;
    border-radius:6px;
    text-align:center;
    text-decoration:none;
    color:#047176;
    font-weight:600;
    transition:border .4s ease;
}

#index .sec02 .sec02_listItem a:hover{
    opacity:1;
    border:2px solid #047176;
}

#index .sec02 .sec02_listItem a.is-unavailable{
    pointer-events:none;
}

#index .sec02 .sec02_listItem a img:hover{
    opacity:1;
}

#index .sec02 .sec02_listItem .item_title{
    font-size:18px;
}

#index .sec02 .sec02_listItem .item_icon{
    margin:8px auto;
}

#index .sec02 .sec02_listItem .item_txt{
    display:block;
    font-size:20px;
    margin:auto 0 0;
    color:#047176;
}

.vision_c {
    width: 70%;
}

.chart {
    width: 30%;
    margin-right: 20px;
    margin-bottom: 0 !important;
}

.chart img {
    width: 100%;
    height: auto;

}

#index .sec03 {
    background: #b3dfe0;
}

#index .sec03 .box_staff {
    display: flex;
    justify-content: space-between;
}

#index .sec03 .box_staff div {
    width: 49%;
}

#index .sec03 .box_staff .staff_details {
    width: 45%;
    margin-top: 30px;
}

#index .sec03 .box_staff .box_txt {
    background: #fff;
    width: 80%;
    padding: 20px;
    box-sizing: border-box;
    margin: 10px auto;
}

#index .sec03 img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

#index .h301,
#index .h401 {
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 25px;
    color: #333;
    margin-bottom: 20px;
}

#index .h301 span,
#index .h401 span {
    display: block;
    color: #027276;
    font-size: 80%;
}

#index .staff_details .tit {
    background-color: #000;
    color: #FFF;
    line-height: 54px;
    margin: 0 auto;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 25px;
    margin-bottom: 10px;
}



#index .staff_photo ul {
    position: absolute;
    right: 0;
    bottom: 10px;
    width: 80%;
}

#index .staff_photo .name1 {
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 18px;
    text-align: left;
    margin: 0 0 -3px 150px;
    position: relative;
    z-index: 999;
    color: #333;
}

#index .staff_photo .name {
    font-weight: 500;
    font-family: 'Shippori Mincho', serif !important;
    font-size: 18px;
    text-align: left;
    margin: 0 0 -3px 20px;
    position: relative;
    z-index: 999;
    color: #333;
}

#index .staff_photo .name span,
#index .staff_photo .name1 span {
    font-size: 36px;
}


#index .box_staff02 .staff_photo {
    position: relative;
    /*background: url("../images/idx_img15.png") no-repeat bottom left;*/
    background-size: cover;
}

#index .box_staff02 .staff_photo .name {
    position: absolute;
    top: 20%;
    right: auto;
    left: -15px;
    color: #333;
}

#index .box_staff03 .staff_photo {
    position: relative;
    /*background: url("../images/idx_img16.png") no-repeat bottom left;*/
    background-size: cover;
}

#index .staff_photo ul li {
    background: rgba(255, 255, 255, 0.8);
    margin-bottom: 5px;
    text-align: center;
    border-radius: 20px;
    padding: 10px;
}

#index .staff_photo ul li.nobg {
    padding: 0;
    background: none;
}

#index .sec04 {
    background: url(../images/index_box4.jpg) no-repeat top center;
    background-size: auto;
    background-size: cover;
    padding: 100px 0;

}

#index .sec04 .sec04_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#index .sec04 .sec04_txt {
    width: 48%;
}

#index .sec04 .sec04_photo {
    width: 50%;
    margin: 0;
}

#index .sec04 .sec04_photo img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

#index .sec05 {
    background: inherit;
}

#index .sec05 .index_content {
    width: 90%;
    margin: auto;
    padding: 50px 0 0;
    float: none;
}

.wrap_section_01 {
    padding: 100px 0;
    background: url("../images/bg_s1.jpg") center no-repeat #b3dfe0;
    background-size: cover;
}

.wrap_section_02 {
    padding: 100px 0;
    background: url("../images/bg_s2.jpg") center no-repeat #b3dfe0;
    background-size: cover;
}

.wrap_section_03 {
    padding: 100px 0;
    background: url("../images/bg_s3.jpg") center no-repeat #b3dfe0;
    background-size: cover;
}

.box_txt {
    width: 80%;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 100px 50px 50px 50px;
    box-sizing: border-box;
    margin-top: -80px;
}

#index .wrap_section_01 .staff_photo {
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: flex-end;

}

#index .wrap_section_02 .staff_photo {
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: flex-start;

}

#index .wrap_section_03 .staff_photo {
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: flex-end;

}

#index .staff_photo .inner {
    width: 100%;
    max-width: 576px;
    margin: inherit;

}

.f-right {
    position: fixed;
    z-index: 99;
    top: 347px;
    right: 0;
    width: 300px;
    transform: translateY(-50%);
    transition: all 0.5s ease;
    pointer-events: none;
}

.f-link {
    margin: 0;
    display: flex;
    align-items: flex-start;
    background: #047176;
    color: #fff;
    line-height: 1.4em;
    transition: all 0.5s ease;
    right: -225px;
    pointer-events: auto;
    position: relative;
    border-radius: 10px;
    height: 264px;
    overflow: hidden;
}

.f-link .title {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    padding: 13px 15px;
    -moz-padding: 20px 5px;
    border-right: 1px solid #40978f;
    margin: 0;
    box-sizing: border-box;
    width: 110px;
    letter-spacing: 6px;
    overflow: hidden;
    height: 264px;
}

.e_crt {
    width: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.en_ct {

    writing-mode: lr-tb !important;
    white-space: normal;
    width: 20px;
    word-wrap: break-word;
    letter-spacing: 2px;
    line-height: 100%;
    text-align: center;
    vertical-align: middle;
    margin-left: 0;
    -moz-padding-right: 0px;
    padding-right: 5px;
    line-height: 1.3;
}

@media all and (-ms-high-contrast:none) {
    .f-link .title {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        white-space: nowrap;
        font-size: 16px;
        font-weight: bold;
        position: relative;
        padding: 20px 5px;
        border-right: 1px solid #40978f;
        margin: 0;
        box-sizing: border-box;
        width: 110px;
    }

}

.f-link:hover {
    right: -20px;
}

.b_link {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;

}

.b_link li {
    width: 100%;
    height: 132px;

}

.b_link li a {
    background-color: #5fb0b3;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    font-size: 16px;
    border-left: #6fc6c0;

}

.b_link li:first-child a {
    height: 100%;
    border-bottom: 1px solid #6fc6c0;
}

.b_link li a:hover {
    opacity: 0.8;
}

.mainimg01 .box_news {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    padding: 0 35px 0 40px;
    width: 500px;
    height: 60px;
    border-radius: 0px;
    background: rgba(95, 176, 179, 0.8);
    position: absolute;
    z-index: 1;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(4, 113, 118, 0.3);
    -moz-box-shadow: 0px 0px 5px 0px rgba(4, 113, 118, 0.3);
    box-shadow: 0px 0px 5px 0px rgba(4, 113, 118, 0.3);
    bottom: 80px;
    right: 0;
}

.mainimg01 .box_news::after {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    transform: translateY(-50%);
    right: 28px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 7px;
    border-color: transparent transparent transparent #fff;
    border-radius: 3px;
}

.mainimg01 .box_news dt {
    font-size: 16px;
    color: #f692b8;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
    width: 88px;
    flex-shrink: 0;
    letter-spacing: 0.05em;
    text-align: left;
}

.mainimg01 .box_news dd {
    /*width: calc(100% - 88px);*/
    width: 100%;
}

.news_list {
    text-align: left;
    margin-bottom: 48px;
}

.news_list li {
    display: -webkit-flex;
    flex-wrap: wrap;
    margin-bottom: 8px;
    line-height: 140%;
}

.news_list:last-child,
.news_list li:last-child {
    margin-bottom: 0;
}

.news_list span {
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: inline-block;
    width: 98px;
    margin-right: 15px;
    flex-shrink: 0;
}

.f_news .news_list span {
    color: #000;
}

.news_list.news_main {
    padding-top: 5px;
}

.news_list.news_main span {
    margin-right: 0;
    width: 100%;
    line-height: 1;
}

.news_list.news_main span i {
    font-size: 16px;
    color: #fff;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.05em;
    text-align: left;
    font-style: normal;
    display: inline-block;
    margin-right: 10px;
}

.news_list a {
    text-decoration: none;
    color: #fff;
    width: calc(100% - 114px);
}

.f_news .news_list a {
    color: #000;
}

.news_list.news_main a {
    width: 100%;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bg_box {
    background-color: rgba(255, 255, 255, 0.6);
    padding: 30px;
    box-sizing: border-box;
}

.f_box_news {
    border: 1px solid #047176;
    margin-bottom: 10px;
}

.title_f_news {
    font-size: 16px;
    background-color: #047176;
    text-align: center;
    padding: 5px;
    margin-bottom: 0;

}

.f_news {
    padding: 10px;
    height: 130px;
    overflow: auto;
    background-color: #fff;

}

.menu-diagnosis{
    margin:18px auto 0;
}


.menu-diagnosis .menu_title{
    margin:0 auto;
    padding:1px 5px;
    font-size:14px;
}

.menu-diagnosis .menu_content{
    padding:27px 12px;
    background:#fff;
}

.menu-diagnosis .menu_bnrList{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.menu-diagnosis .menu_bnrList .menu_listItem{
    height:55px;
}

.menu-diagnosis .menu_bnrList .menu_listItem + .menu_listItem{
    margin-left:10px;
}

.menu-diagnosis .menu_bnr{
    display:block;
    height:100%;
    border:1px solid #333;
    box-sizing:border-box;
}

.menu-diagnosis .menu_bnr img{
    width:auto;
    height:100%;
}

p.bnr {
    width: 60%;
    margin: 0 auto;
}

p.bnr a {
    text-align: center;
    font-family: 'Shippori Mincho', serif;
    font-size: 180%;
    color: #fff;
    display: block;
    text-decoration: none;
    background: #5fb0b3;
    border: 1px solid #047176;
    padding: 20px;
    box-sizing: border-box;
}

p.bnr a:hover {
    opacity: 0.8;
}

.supervisor-information {
    border: 1px solid #DDD;
    padding: 25px 30px 25px;
    background: rgba(255,255,255,0.5);
}

.supervisor-information .head-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.supervisor-information .body-info {
    display: flex;
}


.supervisor-information .body-info dt {
    flex-shrink: 0;
    width: 120px;
    margin-right: 20px;
}

.supervisor-information .body-info dt img {
    display: block;
    width: 100%;
    height: auto;
}

.supervisor-information .body-info dd p:last-child {
    margin-bottom: 0;
}

.supervisor-information .body-info dd .ttl a {
    text-decoration: none;
    color: inherit;
    font-size: 120%;
}

.supervisor-information .body-info dd .ttl a:hover {
    text-decoration: underline;
}

.triangle{
   width: 0;
   height: 0px;
   border-style: solid;
   border-width: 30px 30px 0 30px;
   border-color: #5fb0b3 transparent transparent transparent;
}

.box-case {
	max-width: 500px;
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
   align-items: center;
   margin: 30px auto;
}
.box-case .item{
   margin: 0 10px;
}
.box-case p:not(.triangle) {
	width: 200px;
}
.box-case p.triangle {
	margin: auto 30px;
   transform: rotate(-90deg);
}



.head_comment {
	display: flex;
	margin-bottom: 15px;
}

.head_comment dt,.head_comment dd {
	border: 2px solid #047176;
	padding: 4px;
	color: #047176;
	text-align: center;
	width: 120px;
	font-weight: bold;
	line-height: 24px;
	font-family: 'Shippori Mincho', serif !important;
	height: max-content;
}

.head_comment dt {
	margin-right: 10px;
}

.group .top-bnr {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.group .top-bnr p {
    margin-bottom: 0;
}

.group .top-bnr .btn_head {
    margin: 0;
    background: #5fb0b3;
    padding: 5px;
    height: 62px;
    box-sizing: border-box;
    width: 224px;
}

.group .top-bnr .btn_head span {
    text-align: center;
    color: #fff;
    border: 1px solid #fff;
    line-height: 1.5;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 15px 0;
    position: relative;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    font-weight: bold;
}

.group .top-bnr .btn_head span::before {
    content: '';
    width: 0;
    height: 0;
    border-bottom: 10px solid #fff;
    border-left: 10px solid transparent;
    position: absolute;
    bottom: 2px;
    right: 2px;
}

.group .top-bnr .img img {
    max-width: 100%;
    height: auto;
    width: 420px;
}


.box_f {
	display: flex;
	justify-content: space-between;
}


.box_f p.box_ins {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
}


.box_f p.box_ins img{
	max-width: 82%;
}

.s_small span{
	display: block;
	font-size: 14px;
}

.ytb_box {
	margin-bottom: 30px;
}


@media screen and (max-width: 640px){
	.box-case p.triangle{
		margin: auto 1vw;
		border-width: 5vw 5vw 0 5vw;
	}
	
	.head_comment {
		justify-content: center;
		margin-top: 5px;
	}
	
	.head_comment dt,.head_comment dd {
		font-size: 12px;
		padding: 2px;
		line-height: 24px;
	}
	
	#b_english {
		max-width: 40px;
	}
	
	.box_f {
		margin-top: 20px;
	}
	
	.fbanner ul {
		float: none;
		margin-top: 0;
		width: 50%;
	}
	
	.box_ins {
		width: 50%;
	}
	
	.fbanner {
		max-width: 462px;
		margin: 0 auto !important;
		float: none !important;
		width: auto !important;
	}
	
	.ytb_box iframe {
		height: 50vw
	}
	
}

.group {
	display: flex;
	justify-content: space-between;
    margin-bottom: 20px;
}

.under .top-bnr a img {
	/* width: 60%;
	float: right;
	margin-bottom: 20px; */
}

/*#index .top-bnr {
    display: flex;
    width: 643px;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: center;
}*/


#index .top-bnr a img {
	/* width: 60%;
	float: right; */
	/* margin-bottom: 20px; */
}
.tbl01.center.w700 td.d-flex , .tbl01.center.w700 td .d-flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.tbl01.center.w700 td.d-flex img , .tbl01.center.w700 td .d-flex img{
    width:47%;
    max-width: 185px;
}
.d-flex{
    display: flex;
}
.box_img{
    margin-right: 1em;
    width: calc((100% / 4) - 1em);
}
.box_img:last-child{
    margin-right: 0;
}

@media screen and (max-width: 640px){
    /* .flex{
        display: none;
    } */

    .summary{
        margin-top: 20px;
        padding: 30px 25px;
        background: inherit;
        margin-bottom: -20px;
    }

    
}

