@charset "utf-8";
/* CSS Document */

/* =======================================
	2024.07  
    SWEDEN HOUSE FOR CLINIC
======================================= */

/*---Text---*/

h4{
    line-height:1.2em;
    font-weight:normal;
    letter-spacing:0.2em;
    font-feature-settings: initial;
}

h5{
    font-size:1.2em;
    margin-bottom:0.8em;
    line-height:1.2em;
    font-weight:bold;
    letter-spacing:0.1em;
    font-feature-settings: initial;
}

p{
font-size:16px;
line-height:28px;
letter-spacing:0.05em;
margin-bottom:2em; 
font-feature-settings: initial;
}

p span,h3 span{
    display: inline-block;
    text-indent:0;
}


span.dir{
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright:all;
}

hr{
    width:100%;
    margin:0 auto;
	border-top: 1px solid #000;
}

/* =======================================
	PC
======================================= */

/*---Layout---*/

section{
    position:relative;
    width:100%;
    min-width:800px;
    height:auto;
    margin-bottom:5em;
}

section#top{
    margin:0;
    padding:0;
}

/*--- FV ---*/
div#fv{
    position:relative;
    width:100%;
    height:100vh;
    height: -webkit-fill-available;
    overflow: hidden;
   /* display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
    justify-content:space-between;
	gap: 0px;*/
    transition:1s;
}

div#fv::before{
  content: '';
  display: block;
  width: 100%;
  height:6vh;
  background-image: url("../img/fv_top.png");
  background-size: 100% 100%;
  position:absolute;
    left:0;
     top:0;
    z-index:50;
}

div#fv::after{
  content: '';
  display: block;
  width: 100%;
  height:6vh;
  background-image: url("../img/fv_bttm.png");
  background-size: 100% 100%;
  position:absolute;
    left:0;
    bottom:0;
    z-index:50;
}


div#fv div#fv_wrap{
    height:95vh;
    width:100%;
    margin:2.5vh 0;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -ms-flex-wrap: nowrap;
  	flex-wrap: nowrap;
    justify-content:space-between;
	gap: 0px;
    /*width:40%;
    height:100%;
    background:#0e6236;*/
    animation:fadeIn 2s ease;
    animation-fill-mode: forwards;
}

div#fv div#fv_pho_l{
    width:24%;
    background: url("../img/fv_pho1_l.jpg") no-repeat left top;
    background-size:cover;
    height:100%;
    padding:5px 0;
}

div#fv div#fv_pho_s{
    width:20%;
    height:100%;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -ms-flex-wrap: nowrap;
  	flex-wrap: nowrap;
    justify-content:space-between;
    flex-flow: column;
}

div#fv div#fv_pho_s > div{
    width:100%;
    height:32.5%;  
}

div#fv div#fv_pho_s1{
    background: url("../img/fv_pho2_s1.jpg") no-repeat;
    background-size:cover;
}

div#fv div#fv_pho_s2{
    background: url("../img/fv_pho2_s2.jpg") no-repeat;
    background-size:cover;
}

div#fv div#fv_pho_s3{
    background: url("../img/fv_pho2_s3.jpg") no-repeat;
    background-size:cover;
}

div#fv div#fv_text{
    width:55%;
    position:relative;
    z-index:5;
    /*background: url("../img/fv_parts.png") no-repeat right bottom;
    background-size:auto 44%;*/
    display:flex;
      align-items: center;
      justify-content: center;
    height:100%;
}
div#fv #fv_parts{
    width:34%;
    height:39%;
    background: url("../img/fv_parts.png") no-repeat right bottom;
    background-size:contain;
    position:absolute;
    right:0;
    bottom:0;
}

div#fv div#fv_text_wrap{
    position:relative;
    width:70%;
    /*max-width:800px;*/
}

div#fv div#fv_text_wrap h3{
    text-align:left;
    border-left:solid 10px #0e6236;
    padding-left:10px;
    color:#0e6236;
    font-size:1.2em;
    font-weight:bold;
    margin-bottom:1em;
    letter-spacing:0.15em;
    line-height:1.5em;
    animation:fadeIn 2s ease;
    animation-fill-mode: forwards;
}

div#fv div#fv_text_wrap p{
    font-size:0.9em;
    margin-top:2%;
    animation:fadeIn 2s ease;
    animation-fill-mode: forwards;

}


div#fv div#fv_wrap.port div#fv_pho_l{
    width:0%;
}

div#fv div#fv_wrap.port div#fv_pho_s{
    width:32%;
    margin-left:-1vw;
}

div#fv div#fv_wrap.port div#fv_text{
    width:67%;
    background-size:48% auto;
}

div#fv div#fv_wrap.hor div#fv_pho_l{
    /*width:0%;*/
}

div#fv div#fv_wrap.hor div#fv_pho_s{
    /*width:20%;*/
}

div#fv div#fv_wrap.hor div#fv_text{
    /*width:79%;*/
}

div#fv div#fv_wrap.hor div#fv_text_wrap{
    /*width:auto;
    height:60%;
    margin-top:-20%;
    margin-left:-10%;*/
}

div#fv div#fv_wrap.hor div#fv_text_wrap p{
    /*position:absolute;
    right:-28%;
    top:0;
    width:26%;
    line-height:1.4em;*/
    width:80%;
}

div#fv div#fv_wrap.hor div#fv_text_wrap p br{
    display:none;
}

div#fv div#fv_btn{
    position:relative;
    width:90%;
    max-width:1600px;
    text-align:center;
}

div#fv_btn ul{
    margin:3em auto;
}

div#fv_btn ul li{
    position:relative;
    width:30%;
    padding:0;
    display:inline-block;
    margin:0 1% 0;
}

div#fv_btn ul li a{
    width:100%;
    height:100%;
    border:solid 1px #0e6236;
    display:block;
}

div#fv_btn ul li a img{
    height:1.1em;
    width:auto;
    margin:1.2em auto;
}

/*--- cont1 ---*/


div.fc_area{
    position:relative;
    width:100%;
    margin:0 auto 3em;
    padding-top:1em;
}

div.feature_title,
div.feature_lead >div{
    position:relative;
    width:90%;
    max-width:1200px;
    margin: 0 auto;
}

div.feature_title{
    margin:4em auto;
}

div.feature_title h3{
    text-align:left;
}

div.feature_title h3 img{
    display:inline-block;
    vertical-align: middle;
}

div.feature_title h3 img.num{
    width:auto;
    height:120px;
    margin-right:5%;
}

div.feature_title h3 img.t,
div.feature_title h3 picture.t{
    width:auto;
    height:120px;
}


div.feature_title h3 img.ill{
    position:absolute;
}

#fc00 img.ill{
    left:60%;
    bottom:-1em;
    width:6%;
}

#fc01 img.ill{
    right:0;
    bottom:-1em;
    width:6%;
}
#fc02 img.ill{
    left:60%;
    bottom:-2em;
    width:5%;
}
#fc03 img.ill{
    right:0;
    bottom:-1em;
    width:8%;
}
#fc04 img.ill{
    left:60%;
    bottom:-1em;
    width:6%;
}
#fc05 img.ill{
    right:0;
    bottom:-1em;
    width:6%;
}
#fc06 img.ill{
    left:60%;
    bottom:-2.2em;
    width:6%;
}

div.feature_lead{
    width:100%;
    background:#f6f1e8;
    margin:0;
    padding:1.5em 0 0.5em;
}

div.feature_lead >div h5{
    font-size:1.1em;
    text-align: left;
}

div.feature_lead >div p{
    width:62%;
    font-size:1em;
    text-align: left;
}

div.feature_lead >div p span{
    display:inline-block;
}

div.feature_lead img{
    width:28%;
    position:absolute;
    bottom:-0.5em;
}

div.fc_area:nth-child(odd) div.feature_lead img{
    right:0;
}

div.fc_area:nth-child(even) div.feature_title h3{
    margin-left:35%;
}

div.fc_area:nth-child(even) div.feature_lead h5,
div.fc_area:nth-child(even) div.feature_lead p{
    width:auto;
    max-width:auto;
    margin-left:35%;
}
div.fc_area:nth-child(even) div.feature_lead img{
    left:0;
}

div#fc00 div.feature_lead img{
    bottom:0.5em;
}

div.feature_cont{
    position:relative;
    width:100%;
    background:url("../img/fc_bg.jpg");
    margin:0;
    border-radius: 0 0 30px 30px;
}

div.feature_cont::before{
    content: '';
  display: block;
  width: 25px;
  height:15px;
  background-image: url("../img/fc_yaji.png");
  background-size: 100% 100%;
  position:absolute;
    left:50%;
    top:-3px;
    z-index:30;
    margin-left:-14px;
}

div.feature_cont.active{
    padding:0 0 1.8em;
    border-radius: 0 0 30px 30px;
    border-bottom:solid 8px #0e6236;
}

div.feature_cont.active::before{
    display:none;
}

div.feature_cont h4{
    width:100%;
    background:#0e6236;
    color:#FFF;
    text-align:center;
    font-size:1.1em;
    font-weight:bold;
    padding:1em 0 0.8em;
    border-radius: 0 0 30px 30px;
    transition:0.5s;
}

div.feature_cont h4::before{
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(../img/btn_opn.png);
  background-size: contain;
  vertical-align: middle;
margin:-2px 8px 0 0;
}
div.feature_cont.active h4{
    border-radius: 0;
}

div.feature_cont.active h4::before{
    content: '';
  display: none;
}

div.feature_cont h4:hover{
    color:#80ad96;
    cursor:pointer;
}

div.feature_cont.active h4:hover{
    color:#FFF;
    cursor:auto;
}


div.feature_cont div.feature_cont_area{
    position:relative;
    width:80%;
    max-width:760px;
    margin:3em auto 1em;
    display:none;
    transition:1s;
}

div.feature_cont.active div.feature_cont_area{
    display:block;
}

h5.feature_cont_h5{
    margin-bottom:1.5em;
}

.feature_cont_pho{
    text-align: center;
    color:#0e6236;
    font-size:0.9em;
    font-weight:500;
    margin-bottom:0;
}

.feature_cont_pho img{
    width:100%;
}

div#b-free .feature_cont_pho.all{
    width:90%;
    margin: 0 auto;
}

.feature_cont_pho.all{
    width:100%;
}

.feature_cont_pho.left{
    width:30%;
    margin-right:3%;
    float:left;
}

.feature_cont_pho.right{
    width:30%;
    margin-left:3%;
    float:right;
}

.feature_cont_pho span{
    display:block;
    font-size:0.8em;
    line-height:1.2em;
}

div.feature_cont_sec{
    margin:0 0 3em;
}

div.feature_cont div.feature_cont_area hr{
    border-top:dashed 1px #0e6236;
}

div.feature_cont img.cls_btn{
    width:50px;
    transition:1s;
}

div.feature_cont img.cls_btn:hover{
    opacity:0.5;
    cursor:pointer;
}

ul.gallery p.cap{
    margin-top:0.5em;
    font-size:0.8em;
    line-height:1.2em;
}
/*--- cont1 fc00 ---*/

/*--- Dr. ---*/
#fc00 .feature_cont_area p.feature_cont_pho.right{
    width:18%;
    margin-left:10%;
    margin-bottom:1.5em;
}

#fc00 .feature_cont_area p.feature_cont_pho.all{
    margin-bottom:2em;
}

#fc01 .feature_cont_area,
#fc02 .feature_cont_area{
    width:90%;
    max-width:1600px;
    min-width:767px;
}

/**/
ul.gallery li img,ul.gallery li p{
    width:98%;
}

/**/
#fc04 .feature_cont_area p.feature_cont_pho.left{
    width:45%;
    margin-right:7%;
    margin-bottom:1.5em;
}

#fc04 .feature_cont_area p.feature_cont_pho.right{
    margin-left:7%;
    margin-bottom:1.5em;
}

#fc04 .feature_cont_area hr,
#fc05 .feature_cont_area hr{
    margin-bottom:3em;
}

#fc05 .feature_cont_area p.feature_cont_pho.left{
    margin-right:6%;
    margin-bottom:1.5em;
}

#fc05 .feature_cont_area p.feature_cont_pho.all img{
    width:70%;
    margin:-1em auto 1.5em;
}

/*--- cont3 ---*/

section#cont2{
    padding-top:2em;
}

section#cont2 h2{
    position:relative;
    display:block;
    width:80%;
    max-width:1200px;
    margin:0 auto 0;
    text-align:left;
}

section#cont2 h2 img{
    width:24%;
    position:relative;
    top:-2.5em;
}

div.sview_wrap{
    width:100%;
    background:#d3e2db;
}

div#sview{
    width:80%;
    max-width:1200px;
    margin:0 auto 3em;
    padding:1em 0 2em;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
    justify-content:space-between;
    align-items: flex-start;
    transition:0.2s;
}

div#sview div.sview_cont_area:first-child{
    position:relative;
    width:30%;
    background:url("../img/sview_prof.png?01")no-repeat center top;
    background-size:100% auto;
    opacity:1;
}

div#sview.prof div.sview_cont_area:first-child img{
    opacity:0;
}

p#prof_btn{
    position:absolute;
    left:20%;
    bottom:22%;
    width:60%;
    border:solid 2px #0e6236;
    border-radius: 20px;
    color:#0e6236;
    font-size:0.8em;
    font-weight:500;
    padding:0.2em 0;
    text-align: center;
    cursor:pointer;
    transition:0;
}

div#sview.prof p#prof_btn{
    bottom:3%;
}

div#sview p#prof_btn::after{
    content: 'PROFILE＞';
}

div#sview.prof p#prof_btn::after{
    content: '< BACK';
}

p#prof_btn:hover{
    opacity:0.5;
}

div#sview div.sview_cont_area:last-child{
    width:64%;
}

div#sview div.sview_cont_area:first-child img{
width:100%;  
    transition:1s;  
}

div#sview div.sview_cont_area:last-child p{
    line-height:30px;
    background: url("../img/sview_line.png?0");
}

div#sview div.sview_cont_area div.sview_cont_link{
    text-align:right;
}

div#sview div.sview_cont_area:last-child a{
    display:inline-block;
    width:auto;
    color:#FFF;
    font-size:0.9em;
    letter-spacing:0.1em;
    transition:1s;
    text-decoration:none;
    position:relative;
    top:-1em;
    right:-1px;
    background:#0e6236;
    padding:0.5em 1em;
    border-radius:0.9em;
    margin:0;
}

div#sview div.sview_cont_area:last-child a span{
    font-size:0.7em;
    margin-left:5px;
}

div#sview div.sview_cont_area:last-child a::after{
content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url("../img/icon_blank.png");
  background-size: contain;
  vertical-align: middle;
margin:-1px 0 0 5px;
}

div#sview div.sview_cont_area h3{
    width:86%;
    margin:2em 0 3em;
}

div#sview div.sview_cont_area #profile{
    display:none;
}

/*--- cont3 ---*/

section#cont3{
}

section#cont3 div.clinic{
    width:100%;
    background:url("../img/clinic_bg.png") no-repeat left top;
    background-size:100% 340px;
    padding-top:2em;
}

section#cont3 div.clinic_area{
    width:100%;
    background:url("../img/fc_bg.jpg");
    border-bottom:solid 10px #88b7d9;
    margin-bottom:8em;
}


.clinic_data,.clinic_cont,
section#cont3 div.clinic_garalley > div{
    position:relative;
    width:90%;
    max-width:1200px;
    min-width:767px;
    margin:0 auto;
}

div.clinic_garalley h4{
    font-size:1.8em;
    font-weight:300;
    color:#2b6296;
    margin-bottom:1em;
}

.clinic_data h4{
    width:40%;
    padding:2em 0 0;
}
.clinic_data h4 img,
.clinic_cont h5 img{
    width:100%;
}

.clinic_cont h5{
    position:absolute;
    right:5%;
    top:-1.2em;
    width:39%;
}

.clinic_cont{
    margin:1.5em auto 5em;
    text-align:left;
}

.clinic_cont img.clinic_pp{
    width:50%;
    margin:0 0 2em  -8px;
}

.clinic_cont h3{
    width:55%;
    text-align:left;
    border-left:solid 10px #4293e3;
    padding:5px 0 5px 18px;
    font-size:1.6em;
    font-weight:bold;
    margin-bottom:1em;
    letter-spacing:0.2em;
    line-height:1.5em;
    
}

.clinic_cont h6{
    font-size:1.3em;
    letter-spacing:0.2em;
    line-height:1.5em;
    color:#4293e3;
    margin-bottom:1.2em;
}

.clinic_cont h6 span{
    display:inline-block;
}

.clinic_cont h3,
.clinic_cont h6,
.clinic_cont p{
    width:57%;
}

.clinic_cont_pho{
    width:30%;
    position:absolute;
    right:5%;
    bottom:0;
}

.clinic_cont_pho img{
    width:100%;
    margin-top:3em;
    border-radius:8px;
}

section#cont3 a.btn_int{
    display:block;
    width:500px;
    margin:0 auto -35px;
}

section#cont3 a.btn_int img{
    width:100%;
}
/*--- cont4 ---*/
div#interview_link{
    width:90%;
    max-width:1600px;
    margin:0 auto 4em;
}

div#interview_link h4{
    text-align:center;
    color:#0e6236;
    font-weight:900;
    font-size:1.4em;
    letter-spacing:0.2em;
}

div#interview_link > p{
    text-align:center;
    color:#808080;
    font-weight:700;
    letter-spacing:0.2em;
}

div#interview_link ul{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    justify-content:space-between;
    transition:0.2s;
    margin-bottom:1.5em;
}

div#interview_link ul li{
    width:19%;
    vertical-align: top;
}

div#interview_link ul li a{
    padding:0;
    display:block;
    width:100%;
    height:100%;
    text-decoration:none;
    position:relative;
}

div#interview_link ul li a p{
    margin:0 2em 5em;
    padding:1em 0 0;
    font-size:0.9em;
    font-weight:500;
    color:#000;
    line-height:1.5em;
}

div#interview_link ul li a p span{
    display:block;
    font-size:0.9em;
    margin:0.5em 0;
}

div#interview_link ul li a p.btn{
    position:absolute;
    left:24%;
    bottom:15px;
    margin:0 auto;
    text-align:center;
    width:50%;
    background:#0e6236;
    border-radius:3px;
    padding:0.2em 0;
    color:#FFF;
}

div#interview_link ul li:nth-child(odd) a{
    background:#f6f3ee;
}
div#interview_link ul li:nth-child(even) a{
    background:#eae1d8;
}

div#interview_link > span.note{
    display:inline-block;
    font-size:0.8em;
    margin:0 auto;
    text-align:center;
}

div#interview_link > span.note::before{
    content:"※";
    color:#0e6236;
}

div#bnr_info{
    width:90%;
    max-width:800px;
    margin:5em auto 5em;
}

div#bnr_info img{
    width:100%;
}

/*--- footer ---*/

footer{
    position:fixed;
    height:30px;
    left:0;
    bottom:0;
    background:url("../img/footer_bg.png") no-repeat center bottom;
    background-size:100% 30px;
    display:block;
    width:100%;
    z-index:30;
    display:none;
}

a#f_bnr{
    display:block;
    position:fixed;
    width:30%;
    right:0;
    bottom:-0.2em;
    max-width:600px;
    min-width:300px;
    z-index:500;
    display:none;
}

a#f_bnr img{
    width:100%;
    transition:2s;
}

a#f_bnr.btm img{
    display:none;
}

div#copyright a{
    width:108px;
    height:auto;
    margin:0 auto;
    position:relative;
}

div#copyright a img{
    width:108px;
    margin-left:2px;
}

div#copyright p{
    font-size:12px;
    color:#454545;
    margin:0.5em auto 3em;
    text-align:center;
}

/* =======================================
	DISPLAY LARGE
======================================= */

@media screen and  (min-width:1600px){
    
 div#fv div#fv_text_wrap h3{
    font-size:1.1vw;
    }
    
div#fv div#fv_text_wrap p{
    font-size:0.85vw;
    
}

}




/* =======================================
	TABLET
======================================= */

@media screen and  (min-width:641px) and ( max-width:1024px) {
    
    div#fv div#fv_text_wrap{
    position:relative;
    width:80%;
    max-width:640px;
}

    div#fv_btn ul li a img{
    height:0.9em;
    }
    
    div#sview{
            width:90%;
            max-width:auto;
            margin:0 auto 0;
            display:block;
        }
    
    section#cont2 h2 img{
    top:-1.5em;
}

        div#sview div.sview_cont_area:first-child{
            position:relative;
            width:40%;
            background:url("../img/sview_prof.png")no-repeat center top;
            background-size:100% auto;
            opacity:1;
            margin:0 auto;
        }
    
    div#sview.prof p#prof_btn{
    bottom:2%;
}
    
    div#sview div.sview_cont_area:last-child{
            width:70%;
            margin:3em auto 0;
        }

        div#sview div.sview_cont_area:first-child img{
        width:100%;  
            transition:1s;  
        }
    
        div#sview div.sview_cont_area div.sview_cont_link{
            text-align: center;
        }
    
       
        div#sview div.sview_cont_area:last-child a::after{
        content: '';
          display: inline-block;
          width: 10px;
          height: 10px;
          background-image: url("../img/icon_blank.png");
          background-size: contain;
          vertical-align: middle;
        margin:-1px 0 0 2px;
        }

        div#sview div.sview_cont_area h3{
            width:100%;
            margin-bottom:1em;
        }


}

/* =======================================
	HACK
======================================= */

/*for Firefox*/
@-moz-document url-prefix() {
}

/*for Safari*/
@media screen and (-webkit-min-device-pixel-ratio:0)
  and (min-color-index:0) {
    
}
      

/* =======================================
	LIGHT SLIDER Actions
======================================= */

.lSAction > a {
    width: 32px;
    display: block;
    top: 50%;
    height: 32px;
    background-image: url('../img/controls.png');
    cursor: pointer;
    position: absolute;
    z-index: 99;
    margin-top: -16px;
    -webkit-transition: opacity 0.35s linear 0s;
    transition: opacity 0.35s linear 0s;
    opacity:0.6;
}

.lSAction > a:hover {
    opacity: 1;
}
.lSAction > .lSPrev {
    background-position: 0 0;
    left: -1px;
    z-index: 20;
}
.lSAction > .lSNext {
    background-position: -32px 0;
    right: -1px;
    z-index: 20;
}
.lSAction > a.disabled {
    pointer-events: none;
}
.cS-hidden {
    height: 1px;
    opacity: 0;
    filter: alpha(opacity=0);
    overflow: hidden;
}
    