@charset "utf-8";
/****************************** 全体共通 ******************************/
html {
    font-size: 16px;
}
html * {
    box-sizing: border-box;
}
body{
    font-family:verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    color: #9b8e88;
}
body,
#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 62vh;
}
@media screen and (max-width: 414px) {
    body {
        margin-bottom: 110px;
    }
}
img {
    max-width: 100%;
    height: auto;
}
ul {
    list-style: none;
    padding: 0;
}
h1 {
    margin: 0;
}
h2 span {
    background: linear-gradient(transparent 70%, #fffeec 70%, #fffeec 100%);
}
a:hover {
    cursor: pointer;
}
@media screen and (max-width: 767px) {
    table,
    tbody,
    table tr,
    table th,
    table td {
        display: block;
        width: 100%;
    }
}
.row {
    margin-right: 0px;
    margin-left: 0px;
}
.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}
.container {
    max-width: 1280px;
}
.wrapper {
    padding: 0 300px;
}
main {
    margin-top: 50px;
}
@media screen and (max-width: 414px) {
    main {
        margin-top: -80px;
    }
}
section {
    margin-top: 50px;
    margin-bottom: 50px;
}
section h2 {
    margin-top: 20px;
    margin-bottom: 20px;
}
.kurokawa_green {
    color: #50a335;
}
@-webkit-keyframes hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
@keyframes hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
.hvr_action {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr_action:hover {
  -webkit-animation-name: hvr-buzz-out;
  animation-name: hvr-buzz-out;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/****************************** トップ ******************************/
@media screen and (max-width: 414px) {
    .top_page main {
        margin-top: 0px;
    }
}
.main_visual {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background-color: #fffeec;
    position: relative;
    height: 100vh;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}
.main_visual img {
    width: 80%;
}
@media screen and (max-width: 414px) {
    .main_visual {
        height: 80vh;
    }
}
.main_visual_doctor_info {
    margin-top: -69px !important;
    background-color: #fffeec;
    position: relative;
    height: 55vh;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}
.main_img_area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.main_img {
    margin-top: -120px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.main_visual_doctor_info .logo {
    margin-top: 20px;
    margin-bottom: 20px;
}
.nav_area {
    position: absolute;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 35px;
    padding-bottom: 20px;
    width: 100%;
    left: 0;
    bottom: 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.nav_menu {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.logo,
.main_menu {
    flex: 1;
}
.logo img {
    width: 70%;
}
.main_menu {
    margin-left: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.main_menu li {
    display: flex;
    justify-content: center;
    align-items: end;
    width: 100%;
    height: 95px;
}
@media screen and (max-width: 414px) {
    .main_menu {
        display: none;
    }
}
.main_menu li a {
    color: #50a335;
}
.main_menu li a:hover {
    color: #50a335;
    text-decoration: underline;
}
.main_menu p {
    margin-top: 20px;
}
.motto_contents {
    display: flex;
    justify-content: center;
    align-items: center;
}
.motto_contents li {
    font-size: 1.1rem;
}
.motto_contents li:first-child {
    margin-bottom: 50px;
}
.motto_contents li img {
    margin-right: 20px;
}
@media screen and (max-width: 414px) {
    .motto_contents.text-center {
        display: block;
    }
    .motto_contents img {
        display: block;
        margin: 0 auto 10px !important;
    }
    .motto_contents p {
        text-align: center;
    }
}
.philosophy_img {
    margin-left: 25px;
}
.category_diagnosis {
    display: flex;
    justify-content: center;
    align-items: center;
}
.acccess_info {
    margin-top: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 414px) {
    .acccess_info {
        display: block;
        margin-top: 50px;
    }
    .acccess_info h2 {
        text-align: center;
    }
}
.map {
    margin-left: 50px;
}
@media screen and (max-width: 414px) {
    .map {
        margin-left: 0;
    }
}
.diagnosis_time td {
    border-top: none !important;
}
.diagnosis_time td:first-child {
    color: #50a335;
}
@media screen and (max-width: 768px) {
    .diagnosis_time td {
        display: block;
        width: 100%;
    }
}
/****************************** 診療案内 ******************************/
.diagnosis_info_title {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.inside_hospital h3 {
    background-color: #fffeec;
    border: 2px solid #9b8e88;
    border-radius: 10px;
    padding: 7px 30px;
    width: 214px;
    margin: 0 auto 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    margin-top: -15px;
}
.items_detail h3 {
    background-color: #fffeec;
    border: 2px solid #9b8e88;
    border-radius: 10px;
    padding: 7px 30px;
    width: 300px;
    margin-bottom: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 414px) {
    .items_detail h3 {
        margin: 25px auto;
    }
}
.diagnosis_list p {
    font-size: 1.1rem;
}
.first_text {
    margin-bottom: 15px;
}
.second_text {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.second_text p {
    margin-bottom: -30px !important;
}
.inside_hospital {
    display: flex;
    justify-content: space-around;
}
@media screen and (max-width: 414px) {
    .inside_hospital {
        display: block;
    }
}
.inside_hospital_photo {
    margin-left: 10px;
}
.dopura,
.narrow_band,
.ray {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 414px) {
    .dopura,
    .narrow_band,
    .ray {
        display: block;
    }
}
.narrow_band .text_description,
.narrow_band .item_image {
    flex: 1;
}
.empty {
    width: 10px;
    height: 10px;
}
/****************************** 院長紹介 ******************************/
.doctor_info_title {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.doctor_info h3 {
    background-color: #fffeec;
    border: 2px solid #9b8e88;
    border-radius: 10px;
    padding: 7px 30px;
    width: 214px;
    margin: 0 auto 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.doctor_info td {
    border-top: none !important;
}
.doctors_name {
    background-color: #fffeec;
    border: 2px solid #9b8e88;
    border-radius: 30px;
    padding: 15px 30px;
}
.doctor_info_detail,
.license_study_abroad {
    display: flex;
    justify-content: space-around;
}
@media screen and (max-width: 414px) {
    .doctor_info_detail,
    .license_study_abroad {
        display: block;
    }
}
.doctor_info_detail ul {
    margin-top: 25px;
}
.doctor_info_detail li,
.license li {
    margin-bottom: 15px;
    vertical-align: middle;
}
.doctor_info_detail li img,
.license li img {
    margin-right: 15px;
}
.doctor_info_detail li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
@media screen and (max-width: 414px) {
    .license ul {
        width: 214px;
        margin: 0 auto 20px;
    }
}
.study_abroad table,
.career table {
    border-left: 1px solid #50a335;
    padding: 15px;
}
.study_abroad tr {
    margin-bottom: 25px;
}
.study_abroad td {
    display: block;
    padding-left: 50px !important;
}
@media screen and (max-width: 414px) {
    .study_abroad table {
        border-left: none;
        width: 245px;
        margin: 0 auto;
    }
    .study_abroad tbody {
        border-left: 1px solid #50a335;
    }
    .study_abroad td {
        padding-left: 30px !important;
    }
}
.study_abroad td:first-child {
    color: #50a335;
}
.career {
    display: flex;
    justify-content: space-around;
}
.career_left td {
    padding-left: 50px !important;
}
.career_left td:first-child {
    color: #50a335;
}
@media screen and (max-width: 414px) {
    .career {
        display: block;
    }
    .career table {
        border-left: none;
        width: 245px;
        margin: 0 auto;
    }
    .career tbody {
        border-left: 1px solid #50a335;
    }
    .career td {
        padding-left: 30px !important;
    }
}
.hiso td {
    display: block;
    padding-left: 50px !important;
}
.hiso td:nth-child(2) {
    color: #50a335;
}
@media screen and (max-width: 414px) {
    .hiso td {
        padding-left: 27px !important;
    }
}
.society ul {
    margin-top: 25px;
}
.society li{
    margin-bottom: 15px;
    vertical-align: middle;
}
.society li img {
    margin-right: 15px;
}
@media screen and (max-width: 414px) {
    .society ul {
        width: 214px;
        margin: 0 auto 20px;
    }
}
/****************************** 交通案内 ******************************/
.access_info_title {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.access_map h3 {
    background-color: #fffeec;
    border: 2px solid #9b8e88;
    border-radius: 10px;
    margin: 0 auto 50px;
    font-size: 1rem;
    width: 230px;
    padding: 5px 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.access_area{
    display: flex;
    justify-content: space-around;
    align-items: center;
}

@media screen and (max-width: 414px) {
    .access_area{
        display: block;
    }
}
.map_illust,
.call_area {
    flex: 1;
}
.call_area {
    height: 100%;
    margin-left: 50px;
}
@media screen and (max-width: 414px) {
    .call_area {
        margin-top: 50px;
        margin-left: 0px;
    }
}
.parking_photo h3 {
    position: relative;
    z-index: 2;
    margin-top: -15px;
}
.map_contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.map_contents div {
    -webkit-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    -o-flex: 1;
    flex: 1;
}
.map_text,
.map_text a {
    color: #50a335;
}
.map_text a:hover {
    color: #50a335;
    text-decoration: underline;
}
.map_img {
    margin-left: 15px;
}
.googlemap {
    background: url("../img/map_btn_hover.png") no-repeat;
    background-position: center;
}
.googlemap_btn {
    display: inline-block;
}
.googlemap_btn:hover {
    background-color: transparent; /* IE6対応 */
}
.googlemap_btn:hover img {
    visibility: hidden;
}
/****************************** フッター ******************************/
.button { 
	display: none;
	
}

@media screen and (max-width: 768px) {
	.button {
		flex-direction: column;
		align-items: center;
		position: fixed;
		right: 10px;
		bottom: 35%;
		width: 50px;
		height: 50px;
		border-radius: 10px;
		background: #50a335;
	}

	.button img {
		width: 30px;
	}

	.button p {
		font-size: 14px;
		color: #fff;
	}
}
.to_top {
    margin-bottom: 20px;
}
#pagetop:hover {
    cursor: pointer;
}
footer {
    background-color: #fffeec;
    padding-top: 30px;
    padding-bottom: 30px;
}
.footer_contents {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 414px) {
    .footer_contents {
        justify-content: space-around;
    }
}
.footer_contents div {
    -webkit-flex: 0 0 25%;
    -moz-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    -o-flex: 0 0 25%;
    flex: 0 0 25%;
}
@media screen and (max-width: 414px) {
    .footer_contents div {
        flex: 1;
    }
}
.footer_text a {
    color: #50a335;
}
.footer_text a:hover {
    color: #50a335;
    text-decoration: underline;
}
.footer_img {
    margin-left: 25px;
}
.nav_area_sp {
    position: fixed;
    z-index: 2;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 100%;
    bottom: 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 415px) {
    .nav_area_sp {
        display: none;
    }
}
.nav_area_sp .nav_menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer_menu {
    margin-left: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer_menu li {
    display: flex;
    justify-content: center;
    align-items: end;
    width: 100%;
    height: 95px;
}
.footer_menu li a {
    color: #50a335;
}
.footer_menu li a:hover {
    color: #50a335;
    text-decoration: underline;
}
.footer_menu p {
    margin-top: 5px;
    font-size: 0.8rem;
}
@media screen and (max-width: 414px) {
    .footer_menu {
        margin-left: 0;
    }
}
@media screen and (max-width: 375px) {
    .footer_menu p {
        font-size: 0.7rem;
    }
}
@media screen and (max-width: 320px) {
    .footer_menu p {
        font-size: 0.5rem;
    }
}

.page_top {
	display: none;
}

.banner-text {
	padding-top: 20px;
}

.banner {
	text-align: center;
	padding-bottom: 20px;
}

