@charset "UTF-8";
/* CSS Document */
#idx_containar {
    width:100%;
    position: absolute;
    top: 100%;
    left: 0px;
    z-index: 0;
}
#idx_contents {
    float:left;
    width:100%;
    position:relative;
    padding-top:150px;
    box-sizing:border-box;
}
header h1 {
    display:none;
}
/******************** メイン ********************/
#idx_main {
    width:100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    padding-top: 130px;
    padding-bottom: 130px;
    box-sizing: border-box;
}
#idx_main .main01 {
    float:left;
    width:100%;
    height: 100%;
    position:relative;
    margin-bottom: 80px;
}
#idx_main .main01 #photo_gallery {
    float:left;
    width:49.3%;
    height: 100%;
    position:relative;
    left:50%;
    margin-left:-24.7%;
}
#idx_main .main01 #photo_gallery .caroufredsel_wrapper {
	height: 100%!important;
}
#idx_main .main01 #photo_gallery .gallery_carousel {
	height: 100%!important;
	overflow:hidden;
}
#idx_main .main01 .gallery_carousel li {
	float:left;
	width:100%;
	height: 100%;
}
#idx_main .main01 .gallery_carousel img {
	display:block;
	width:100%;
	height: 100%;
	object-fit:cover;
	object-position:center center;
}
#idx_main .main01 .cat {
    width:145px;
    position:absolute;
    bottom:-115px;
    right:50%;
    margin-right:-294px;
    z-index:1;
}
#idx_main .main01 .logo {
    width:275px;
    height:160px;
    position:absolute;
    top: 50%;
    right:160px;
    margin-top: -80px;
    z-index:1;
}
#idx_main .main01 h2 {
    width:264px;
    height: 248px;
    position:absolute;
    top: 50%;
    left:166px;
    margin-top: -124px;
    font-size:20px;
    letter-spacing:0.1em;
    line-height:2.1em;
    z-index:1;
}
#idx_main .main01 h2 span {
    display:inline-block;
    width:100%;
    font-size:12px;
    letter-spacing:0.2em;
    line-height:2.7em;
    padding-top:15px;
    box-sizing:border-box;
}
#idx_main .main02 {
    float:left;
    width:100%;
    position: relative;
    padding-left:60px;
    padding-right:45px;
    box-sizing:border-box;
}
#idx_main .main02 .copy01 {
    float:left;
    position:relative;
    font-size: 10px;
    letter-spacing:0.25em;
}
#idx_main .main02 .sns {
    float:right;
    position:relative;
}
#idx_main .main02 .sns li {
    float:left;
    position:relative;
}
#idx_main .main02 .sns li a {
    font-size:11px;
    letter-spacing:0.25em;
}
#idx_main .main02 .sns .facebook {
    margin-right:15px;
}
#idx_main .main02 .sns .facebook:before {
    content:"/";
    position:absolute;
    top:0px;
    right:-9px;
    font-size:10px;
}
@media screen and (min-width:740px) and ( max-width:1199px) {
#idx_main .main01 #photo_gallery {
    width:68.5%;
    margin-left:-34.2%;
}
#idx_main .main01 h2 {
    left:83px;
}
#idx_main .main01 .logo {
    right:80px;
}
}
/******************** ABOUT US ********************/
#idx_about {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:130px;
}
#idx_about #about_gallery {
    float:left;
    width:59.3%;
    max-width:640px;
    height: 640px;
    position:relative;
    margin-left:-60px;
}
#idx_about #about_gallery .caroufredsel_wrapper {
	height:640px!important;
}
#idx_about #about_gallery .about_carousel {
	height:640px!important;
	overflow:hidden;
}
#idx_about #about_gallery .about_carousel li {
	float:left;
	width:100%;
	height:640px;
}
#idx_about #about_gallery .about_carousel img {
	display:block;
	width:100%;
	height:640px;
	object-fit:cover;
	object-position:center center;
}
#idx_about .about01 {
    float:right;
    width:39.8%;
    max-width:430px;
    position:relative;
    padding-top:15px;
    box-sizing:border-box;
}
#idx_about .about01 .back {
    width:90.3%;
    max-width:388px;
    position:absolute;
    top:-46px;
    right:-260px;
}
#idx_about .about01 h1 {
    float:left;
    width:100%;
    position:relative;
    font-size:12px;
    letter-spacing:0.2em;
    margin-bottom:15px;
}
#idx_about .about01 h2 {
    float:left;
    width:100%;
    position:relative;
    font-size:20px;
    letter-spacing:0.1em;
    line-height:2.1em;
    margin-bottom:15px;
}
@media screen and (min-width:740px) and ( max-width:1199px) {
#idx_about .about01 h2 {
    font-size:18px;
}
}
/******************** 診療案内 ********************/
#idx_information {
    float:left;
    width:100%;
    position:relative;
}
#idx_information h1 {
    width:75px;
    height:215px;
    position:absolute;
    top:0px;
    left:0px;
    text-align:center;
    font-size:22px;
    letter-spacing:0.1em;
    -webkit-writing-mode:vertical-rl;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    padding-top:78px;
    box-sizing:border-box;
}
#idx_information h1 span {
    display:inline-block;
    width:100%;
    font-size:10px;
    letter-spacing:0.2em;
    line-height:2em;
    padding-top:15px;
    box-sizing:border-box;
    -webkit-writing-mode:horizontal-tb;
    -ms-writing-mode:horizontal-tb;
    writing-mode:horizontal-tb;
}
#idx_information h1:before {
    content:"";
    width:73px;
    height:73px;
    position:absolute;
    top:34px;
    left:0px;
    border-radius:37px;
    -webkit-border-radius:37px;
    -moz-border-radius:37px;
    background:transparent;
    -webkit-box-shadow:inset 0 0 0 2px #000000;
    box-shadow:inset 0 0 0 2px #009246;
    clip:rect(0px, 73px, 34px, auto);
    -webkit-clip-path:rectangle(50%, 50%, 100%, 100%, 0, 0);
}
#idx_information h1:after {
    content:"";
    width:2px;
    height:34px;
    position:absolute;
    top:0px;
    left:50%;
    margin-left:-2px;
    background-color:#009246;
}
#idx_information .info01 {
    float:right;
    width:88.9%;
    max-width:960px;
    position:relative;
}
#idx_information .info01 .info_list {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:180px;
}
#idx_information .info01 .info_list li {
    float:left;
    width:29.2%;
    max-width:280px;
    position:relative;
    margin-right:6%;
}
#idx_information .info01 .info_list li:first-child,
#idx_information .info01 .info_list li:nth-child(2) {
    width:46.9%;
    max-width:450px;
    margin-bottom:80px;
}
#idx_information .info01 .info_list li:nth-child(2),
#idx_information .info01 .info_list li:last-child {
    margin-right:0px;
}
#idx_information .info01 .info_list li a {
	float:left;
	width:100%;
}
#idx_information .info01 .info_list li a:hover {
    opacity:0.5;
}
#idx_information .info01 .info_list li a picture {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:30px;
}
#idx_information .info01 .info_list li a .info_name {
    float:left;
    width:100%;
    position:relative;
    font-size:22px;
    letter-spacing:0.1em;
    border-bottom: 2px solid #009246;
    padding-bottom:18px;
    box-sizing:border-box;
}
#idx_information .info01 .info_list li a .info_name span {
    display:inline-block;
    position:relative;
    top:-3px;
    font-size:10px;
    letter-spacing:0.2em;
    line-height:1em;
    margin-left:12px;
}
#idx_information .info01 .info_list li a .info_name:before {
    content:"";
    width:10px;
    height:2px;
    position:absolute;
    bottom:2px;
    right:0px;
    background-color:#009246;
    transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
}
#idx_information .info_img {
    float:left;
    width:1300px;
    height:580px;
    position:relative;
    margin-left:-110px;
}
#idx_information .info_img img {
	width:100%;
	height:580px;
	object-fit:cover;
}
/******************** ブログ ********************/
#idx_blog {
    float:left;
    width:100%;
    position:relative;
    margin-top:140px;
}
#idx_blog h1 {
    float:left;
    width:314px;
    height:73px;
    position:relative;
    left:50%;
    margin-left:-157px;
    text-align:center;
    font-size:22px;
    letter-spacing:0.1em;
    margin-bottom:60px;
}
#idx_blog h1 .circle {
    float:left;
    width:100%;
    padding-top:12px;
    box-sizing:border-box;
}
#idx_blog h1 .en {
    float:left;
    width:100%;
    font-size:10px;
    letter-spacing:0.2em;
    line-height:2.15em;
}
#idx_blog h1:before {
    content:"";
    width:33px;
    height:2px;
    position:absolute;
    top:34px;
    left:0px;
    background-color:#009246;
}
#idx_blog h1:after {
    content:"";
    width:33px;
    height:2px;
    position:absolute;
    top:34px;
    right:0px;
    background-color:#009246;
}
#idx_blog h1 .circle:before {
    content:"";
    width:73px;
    height:73px;
    position:absolute;
    top:0px;
    left:33px;
    border-radius:37px;
    -webkit-border-radius:37px;
    -moz-border-radius:37px;
    background:transparent;
    -webkit-box-shadow:inset 0 0 0 2px #000000;
    box-shadow:inset 0 0 0 2px #000000;
    clip:rect(auto, 34px, 73px, auto);
    -webkit-clip-path:rectangle(50%, 50%, 100%, 100%, 0, 0);
}
#idx_blog h1 .circle:after {
    content:"";
    width:73px;
    height:73px;
    position:absolute;
    top:0px;
    right:33px;
    border-radius:37px;
    -webkit-border-radius:37px;
    -moz-border-radius:37px;
    background:transparent;
    -webkit-box-shadow:inset 0 0 0 2px #000000;
    box-shadow:inset 0 0 0 2px #000000;
    clip:rect(auto, auto, 73px, 34px);
    -webkit-clip-path:rectangle(50%, 50%, 100%, 100%, 0, 0);
}
#idx_blog .blog01 {
    display:block;
    float:left;
    width:47.2%;
    max-width:510px;
    min-height:90px;
    position:relative;
    margin-bottom:40px;
}
#idx_blog .blog01:hover {
    opacity:0.5;
}
#idx_blog .blog01:nth-child(2n) {
    float:right;
}
#idx_blog .blog01 .blog_img {
    width:90px;
    height:90px;
    position:absolute;
    top:0px;
    left:0px;
}
#idx_blog .blog01 .blog_img img {
    width:100%;
    height:90px;
    object-fit:cover;
}
#idx_blog .blog01 .blog_info {
    float:left;
    width:100%;
    position:relative;
    padding-left:114px;
    box-sizing:border-box;
}
#idx_blog .blog01 .blog_info h4 {
    float:left;
    width:100%;
    position:relative;
    font-weight:normal;
    line-height:1.9em;
}
#idx_blog .blog01 .blog_info .date {
    float:left;
    width:100%;
    position:relative;
    color:#999999;
    font-size:12px;
    letter-spacing:0.2em;
}
/******************** お知らせ ********************/
#idx_news {
    float:left;
    width:100%;
    position:relative;
    margin-top:100px;
}
#idx_news h1 {
    width:203px;
    height:99px;
    position:absolute;
    top:0px;
    left:0px;
    font-size:22px;
    letter-spacing:0.1em;
    line-height:2.15em;
}
#idx_news h1 span {
    display:inline-block;
    position:relative;
    top:-3px;
    font-size:10px;
    letter-spacing:0.2em;
    margin-left:12px;
}
#idx_news h1:before {
    content:"";
    width:2px;
    height:60px;
    position:absolute;
    top:0px;
    right:0px;
    background-color:#000000;
}
#idx_news h1:after {
    content:"";
    width:2px;
    height:58px;
    position:absolute;
    top:50px;
    right:20px;
    background-color:#000000;
    transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
}
#idx_news .news01 {
    float:left;
    width:100%;
    min-height:99px;
    position:relative;
    padding-top:10px;
    padding-left:266px;
    box-sizing:border-box;
}
#idx_news .news01 .news_list {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:20px;
    letter-spacing:0.1em;
}
#idx_news .news01 .news_list:last-child {
    margin-bottom:0px;
}
#idx_news .news01 .news_list dt {
    position:absolute;
    top:0px;
    left:0px;
    z-index:1;
}
#idx_news .news01 .news_list dd {
    float:left;
    width:100%;
    position:relative;
    padding-left:140px;
    box-sizing:border-box;
}
#idx_news .news01 .news_list dd a:hover {
    text-decoration:underline;
}
#idx_news .more {
    float:left;
    position:relative;
    margin-top:-25px;
    letter-spacing:0em;
    padding-right:25px;
    box-sizing:border-box;
}
#idx_news .more:before {
    content:"";
    width:12px;
    height:1px;
    position:absolute;
    top:13px;
    right:0px;
    background-color:#009246;
    transform:rotate(25deg);
    -webkit-transform:rotate(25deg);
    -moz-transform:rotate(25deg);
}
#idx_news .more:after {
    content:"";
    width:12px;
    height:1px;
    position:absolute;
    top:18px;
    right:0px;
    background-color:#009246;
    transform:rotate(-25deg);
    -webkit-transform:rotate(-25deg);
    -moz-transform:rotate(-25deg);
}
#idx_news .more:hover {
    text-decoration:underline;
}