@charset "utf-8";
/* CSS Document */

html, body{
	height: 100%;	/* 縦の高さを100% */
}
@media print, screen and (min-width : 768px){
    html{ 
        font-size : 16pt;
    }
}

body{
	position: relative;
	width: 100%;

	/* コンテンツ部分の高さが画面に収まらない場合はコンテンツの高さに合わせる*/
	height: auto !important; 

	/* コンテンツ部分の高さが画面より低い場合は画面の高さに合わせる*/
	height: 100%;
	min-height: 100%;
	
	background:#e6e6e6;
	color:#333333;
}



@media print, screen and (min-width : 768px){
    #contents{
        padding-bottom: 300px;   /* フッターの高さの分余白を取る */
    }
}

/* @ Header */

header { 
	margin:0;
	padding:20px 0 25px 0;
	width:100%;
	background :linear-gradient(#3a4d6a, #182c4a);
}
.hgroup{
	margin:0  auto 0 auto;
	padding:0;
	width:300px;
}
header h1{
	margin: 0;
    padding:0;
	line-height:0;
	font-size : 0.5em; 
	color:#ffffff;
}
@media print, screen and (min-width : 768px){
    header{
        padding:10px 0 13px 0;
    }
    .hgroup{
        width:100%;
    }
    header h1{ 
        float:left; 
        margin-top:15px; 
        margin-left:20px;
    }
}

header #access{
    margin-top:10px; 
	margin-left:5px;
	font-size : 0.8em; 
	color:#ffffff;
}
header #access a{
	decoration:underline;
	color:#ffffff;
}
@media print, screen and (min-width : 768px){
    header #access{ 
        float:left;
        margin-top:22px; 
        margin-left:10px;
	    font-size : 0.6em; 
    }
}


.tel{
	width:200px;
	margin:0 0 5px 0;
    padding:0;
    display:flex;
    align-items: center;
}
@media print, screen and (min-width : 768px){
  .tel{
	margin:0;
    pointer-events: none;
    align-items: start;
  }
}

.tel img{ 
	margin:0 8px 0 3px ;
}

.tel p{
	margin:0;
    padding:0;
	font-size : 1.2em;
	line-height:0;
	color:#ffffff;
}
.mail{
	margin: 0; 
    padding:0;
	line-height:0;
}
.btn_menu{
	/*display:block;*/
	margin-left:2px;
}
@media print, screen and (min-width : 768px){
    #tel_mail{ width:450px; float:right; margin-right:20px;}
    .tel{ float:left; margin-right:10px; }
    .tel img{margin:18px 10px 0 0;}
    .tel p{margin-top:32px;font-size : 0.9em; }
}


/* @ Header end */


/* pc menu */
#nav_S {
	width:100%;margin: 0; padding:0;
	/*display:block;*/
}
#nav_S ul { 
	width:100%;margin: 0; padding:0;
	list-style:none;
}
#nav_S li {
	display:block;
	width:100%;
	margin: 0; 
	padding: 3px 0;

	font-size : 1em; 
	color:#ffffff;
}
#nav_S .deep{
	background: #6f6f6f;	
}
#nav_S .pale{
	background: #898989;	
}
#nav_S a {
	display:block;
	width : 90%;
	margin : 0px auto;
	
	color:#ffffff;
	text-decoration:none;
}
#nav_S a:hover {
	color:#5bc9ff;
	text-decoration:none;
}

@media print, screen and (min-width : 768px){
    #nav_M{
        display:block;
        width:100%;
        margin: 0; 
        padding:0;
        background: #6f6f6f;
        text-align:center;	
    }

    #nav_M ul { 
        display:flex;
        flex-direction:row;
        justify-content:center;
        list-style:none;
        margin: 0 auto 0 auto; 
        padding: 5px 0 5px 0;
    }
    #nav_M li {
        margin: 0 20px; 
        padding: 0;
        text-align:center;

        font-size : 0.75em; 
    }
    #nav_M a {
        color:#ffffff;
        text-decoration:none;
    }
    #nav_M a:hover {
        color:#5bc9ff;
        text-decoration:none;
    }
}


/* ハンバーガ　メニュー*/
/*メニュー部分*/
nav{display:none;
	position: absolute;
	width: 100vw;
	height: 100vh;
	top:0; left:0;
	background:rgba(255,255,255,0.8);
	text-align:center;
}
nav ul{ margin:80px 0 0 0; padding:0; list-style:none; }
nav ul li{
	padding: 10px 0; margin: 20px auto 0 auto; /*width:320px; */ 
	width: 80%; max-width:320px;
	background:#182c4a; 
    border-radius:25px; 
    color:#fff; font-size:1.3em; 
	text-align: center;
}
nav ul a{ color:#fff; font-weight:bold;}

/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 15px; right:10px;
	z-index: 100;
}
#nav_toggle div {
	position: relative;
}
#nav_toggle span{
	display: block;
	height: 3px;
	background: #fff;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
}
#nav_toggle span:nth-child(1){
	top:0px;
}
#nav_toggle span:nth-child(2){
	top:8px;
}
#nav_toggle span:nth-child(3){
	top:16px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span{
	background: #182c4a;
}
.open #nav_toggle span:nth-child(1) {
		top: 12px;
	   -webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav_toggle span:nth-child(3) {
	top: 12px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

@media print, screen and (min-width : 768px){
	#nav_toggle{ display: none;}
	nav{ display: none;}
}


/* @ Main */
#mc_area{
	width : 100%;
	background:#ffffff;
    margin:0;
	padding:20px 0;
}
#main_copy {
	width : 90%;
	margin : 0 auto 0 auto;
	/* text-align : left; */
}
#main_copy  h3{
	color:#3a4d6a;
	font-size : 1.2em; 
	margin:0;padding:0;
}
@media print, screen and (min-width : 768px){
    #main_copy {font-size : 0.8em; }
    #main_copy  h3{text-align : center;}
}

#main_visual{
	width:100%;
	padding-bottom:20px;
	
	background :linear-gradient(90deg, #aaddf7, #36A5F0 );
}
@media print, screen and (min-width : 768px){
    #main_visual {
        text-align:center;
    }
}
#main_visual img{
	width:100%;
	/*margin:30px 0 10px 0; */
	margin:0 0 20px 0; 
}

@media print, screen and (min-width : 768px){
    #cap_container{ 
        width:90%; 
        display:inline-block;
        margin:0 auto 0 auto;
    }
}

#cap_container .caption1{
	width : 90%;
	margin : 5px  auto;
	font-weight:bold;
	font-size : 1em; /* 16px */
	color:#333333;
}
#cap_container .caption2{
	width : 90%;
	margin : 0 auto 0 auto;
	font-weight:normal;
	font-size : 1em; /* 16px */
	color:#333333;
}
@media print, screen and (min-width : 768px){
    #cap_container .caption1{
        width:45%; 
        float:left;
        margin : 0 50px 0 0;
        font-size : 0.8em;
        text-align:right;
    }
    #cap_container .caption2{
        width:45%;  
        float:left;
        margin : 0;
        font-size : 0.8em; 
        text-align:left;
    }
}



#main{
	margin:0; 
	padding: 20px 0 40px 0;
	/*background:#e6e6e6;*/
}
#mcontainer{
	width : 90%;
	margin : 0  auto 200px  auto;
	padding: 0;
}
#leaf{
    width:95%;
	margin : 20px auto 200px  auto;
    padding:0 ;
}
@media print,screen and (min-width: 1080px) {
    #leaf{
        width:1000px;
    }
}



#main_left{ 
	width:100%;
}
@media print, screen and (min-width : 768px){
    #main_left{  
        width : 60%;
        float:left;
    }
}
@media screen and (min-width : 1024px) {
    #main_left{  
        width : 73%;
        float:left;
        /*margin-right:2%;*/ 
    }
}

h4{
	color:#36A5F0;
	font-size : 1.8em;
    font-weight:normal;
}
@media print, screen and (min-width : 768px){
    h4{ 
        font-size : 1.4em; 
    }
}

p{
	font-size : 1em; 
	color:#333333;
}
p a,p a:hover{
	color:#3a4d6a;
	text-decoration:underline;
}
@media print, screen and (min-width : 768px){
    h5{font-size : 15px; }
    h6{ font-size : 0.9em; }
    p{font-size : 0.75em; }
    
}

.prof_area{
	margin-top:20px;
}

.prof_area p{
	/*width : 90%;*/
	margin-bottom:20px;
	padding:12px 20px;
	background:#ffffff; 
	border-radius: 10px;
}

.fb-page{
	margin-bottom:30px;
}

@media print, screen and (min-width : 768px){
    .fb_area{ width : 35%; float:right;}
}
@media screen and (min-width : 1024px) {
    .fb_area{ width : 25%; float:right;}

}



h5{
	margin: 0 0 5px 0; 
	padding:0;
	
	font-size:15px;
	color:#36A5F0;
	text-align:left;
	line-height:140%;
}

h6{
	margin: 0 0 10px 0; 
	padding:0;
	
	font-size:1.35em;
	color:#36A5F0;
	text-align:left;
	line-height:140%;
    font-weight:normal;
	border-bottom:#36A5F0 solid 2px;
}
@media print, screen and (min-width : 768px){
    h6{
	    font-size:1.15em;
    }
}

ul.discs li {
	display:block;
	list-style:square;
	font-size : 0.75em; 
	line-height:140%;
}


/* アクセス　*/
.i_map{
    margin-top:30px;
    margin-bottom:60px;
}
.i_map .address{
	font-size:1em;
    line-height:1.7;
}
.i_map .address figure{
    width: 90%;
    margin:5px auto 100px;
    text-align:center;
}
@media print,screen and (min-width: 768px) {
    .i_map .address figure {
        width: 70%;
        margin:5px 0 100px 80px;
        text-align:left;
    }
}
.i_map .address figure img {
    object-fit: contain;
}


.i_map .g_map{
    display:flex;
    flex-direction: column;
}
@media print,screen and (min-width: 768px) {
    .i_map .g_map{
        flex-direction: row;
        justify-content:start;
    }
}

.i_map .g_map img{
    width:100%;
    height:auto;
    margin-right:0;
}
@media print, screen and (min-width : 768px){
    .i_map .g_map img{
        height:300px;
        width:auto;
        margin-right:10px;
    }
}
.gmap_frame{
    width:100%; 
    height:300px;
    margin-top:10px;
}
@media print, screen and (min-width : 768px){
    .gmap_frame{
        width:50%; 
        margin-top:0;
    }
}

/*　事例紹介　*/
.case_intro{
    margin-bottom:50px;
}
.case_intro figure{
    margin:0 auto 24px auto;
    width:100%;
}
@media print, screen and (min-width : 768px){   
    .case_intro figure.copy_img{
        width:80%;
    }
}
.case_intro p{
    margin-top:-12px;
    text-align:left;
    font-size:1em;
    line-height:1.8;
}
@media print, screen and (min-width : 768px){
    .case_intro p{
        font-size:0.9em;
        text-align:center;
    }
}

.case_contents h5{
    font-size : 1.4em;
    font-weight:normal;
}
@media print, screen and (min-width : 768px){
    .case_contents h5{ 
        font-size : 1.15em; 
    }
}

.cases_cont{
    width:100%;
	margin:30px 0 50px 0;
}

.case_article{
    margin: 10px 0 20px 0;
    display:flex;
    justify-content:flex-start;
}

.case_article figure{
    width:96px;
    height:96px;
    flex-shrink: 0;
}
.case_article figure img {
    object-fit: contain;
}

/* フキダシ　左*/
.balloon1-left {
    flex-grow: 1;
    position: relative;
    display: inline-block;

    margin:  0 0 0 36px;
    padding: 20px;

    background: #fff;
    border-radius:16px;
}
.balloon1-left:before {
  content: "";
  position: absolute;
  top: 60px;
  left: -36px;
  margin-top: -24px;
  border: 12px solid transparent;
  border-right: 24px solid #fff;
}
.balloon1-left p {
    text-align:left;
	margin:0;
	padding:0;
}


/* お客様の声　*/
.com_lead{
    margin-top:20px;
    font-size:1.3em;
}
@media print, screen and (min-width : 768px){
    .com_lead {
        font-size:0.9em;
    }
}
.comments {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.com_article {
    width: 100%;
}
@media print, screen and (min-width : 768px){
    .com_article {
        width: calc((100% - 20px) / 2);
    }
}

.com_article_ttl{
    margin: 0;
    display:flex;
    justify-content:flex-start;
    align-items: center;
}
.com_article_ttl figure{
    width:96px;
    height:96px;
    flex-shrink: 0;
}
.com_article_ttl figure img {
    object-fit: contain;
}
.com_article_ttl h7{   
	color:#36A5F0;
	font-size : 18px;
    font-weight:normal;
    margin-left:10px;
}

/*　フキダシ　右上*/
.balloon1-top {
    position: relative;
    display: inline-block;

    margin: 30px 0;
    padding: 20px;
    background: #fff;
    border-radius:16px;
}
.balloon1-top:before {
  content: "";
  position: absolute;
  top: -30px;
  right: 45px;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #fff;
}
.balloon1-top p {
  margin: 0;
  padding: 0;
}


/* 背術の流れ　*/
.flow_article{
    display:flex;
    flex-direction: row;
    justify-content:flex-start;
    align-items: start;
    
    background: #fff;
    border-radius:8px;  
    padding:15px;
    margin:0 auto 30px;
    box-shadow: 1px 3px 3px rgb(0 0 0 / 10%);
}
@media print, screen and (min-width : 768px){ 
    .flow_article{
        padding:30px;
    }
}

.flow_num{
    flex-shrink: 0;
    width:48px;
    height:48px;
    margin-right:5px;
}
@media print, screen and (min-width : 768px){ 
    .flow_num{
        margin-right:20px;
    }
}
.flow_num img{
    object-fit: contain;
}

.flow_body{
    width:100%;
    
    display:flex;
    flex-direction: column;
}
@media print, screen and (min-width : 768px){ 
    .flow_body{
        flex-direction: row;
    }
}

.flow_txt{
    flex-grow: 1;
}

.flow_txt h6{
	color:#34445D;
	font-size : 20px;
    font-weight:border;
    border:none;
}

.flow_img{
    width:100%;
    margin:0;
}
@media print, screen and (min-width : 768px){
    .flow_img{
        margin-left:20px;
    }
}

.flow_img img{   
    object-fit: contain;
}
@media print, screen and (min-width : 768px){ 
    .flow_img{
        flex-shrink: 0;
        width:200px;
    }
    .flow_img img{
        width:200px;
        height: auto;
    }
}










/* リンク　*/
.com_container{
	font-size:1em;
	margin-bottom:40px;
}
@media print, screen and (min-width : 768px){
    .com_container{
        width:45%; 
        float:left;
        margin : 0 40px 50px 0;
    }
}
.com_container img{
    width: 50%;
    height: auto;	
}

.i_container{
	width:30%;
}
.i_container img{
    width: 90%;
    height: auto;	
}
@media print, screen and (min-width : 768px){
    .i_container{
        float:right;
    }
    .link_container{
        float:left;
    }
}


/*　お問い合わせ　*/

.cont_wrapper{ 
	width:95%;
	margin:20px auto 100px auto;
    padding: 30px 10px;
    background:#fff;
    border-radius:20px;
	font-size:16px; 
}

@media print, screen and (min-width : 768px){
    .cont_wrapper{ 
        padding: 30px;
    }
}
.cont_wrapper h5{ 
	width:100%; 
	font-size:1.1em; 
	border-bottom:#36A5F0 1px solid; 
	margin:30px auto 10px auto;
}

.cont_wrapper p{ 
	font-size:1em;
    margin-bottom:5px;
}

.cont_wrapper a{
	color: #13156d;
	text-decoration:underline;
}


#form-table{
	width:95%;
	margin:20px auto 20px auto; 
	border-collapse:collapse;
	border-bottom:1px solid #dedede;
	font-size: 16px;
    text-align:left; 
}
#form-table tr{ 
	border-top:1px solid #dedede;
}
#form-table th{
	padding:10px 5px;
	width:25%; 
	min-width:60px;
    
	line-height: 1.6;
	font-weight: normal; 
    white-space: nowrap;
	vertical-align:top;
}
#form-table td{
	padding:10px 5px; 
	line-height: 1.6; 
}
#form-table .input_txt{ 
    width:90%; 
    font-size:1.3em; 
}

@media only screen and (max-width: 767px){ /* SP */
    
    #form-table .input_txt{ 
        
    }
	#form-table th, #form-table td {
		 display: block;
		 text-align: left;
		 width: 100%;
	}
}

.must{ 
    color:#ff0000; 
    font-size: 0.8em;
}
.confirm{ 
    margin:20px auto 40px auto; 
    text-align:center;
}
.confirm input, .confirm_btn{ 
    background: linear-gradient(to bottom, #f8f8f8, #f0f0f0);
    border-radius: 4px;
    border: 1px solid #ddd;
    padding: 10px 20px;
    font-size: 1.2em;
    color:#333;
}
.confirm input:hover, .confirm_btn:hover{
    background: #eee;
    color:#333;
    
}

.warning {
	font-size:0.9em;
}
@media print, screen and (min-width : 768px){
    .warning{
        font-size:0.75em;
    }
}

.warning a{
	color: #13156d;
	text-decoration:underline;
}



/* @ Footer */

footer {
	margin:0;
	padding:20px 0 40px 0;
	width:100%;
	background : #3a4d6a;
	text-align:center;
}

@media print, screen and (min-width : 768px){
    footer{
        height: 300px;
        position: absolute;       /* 絶対位置指定することを定義 */
        bottom: 0px;              /* 絶対位置指定(左0px,下0px) */
        padding: 20px 0;          /* 上下に余白を取る */
    }
    footer p{
        font-size : 0.6em; 
        line-height:180%;
    }
}

#f_container{
	width : 90%;
	display:inline-block;
	margin : 0 auto 0 auto;
	
}

@media print,screen and (min-width: 1080px) {
    #f_container{
        width:1000px;
    }
}

#f_container .fhalf, #f_container p, #f_container a{
	text-align:left;
	font-size : 10pt; 
	line-height:180%;
	color:#ffffff;
}
#f_container .fhalf{
	padding-left:8px;
	border-left:#fff solid 1px;
}
@media print, screen and (min-width : 768px){
    #f_container .fhalf{ 
        float:left;
        width:40%;
    }
}

/* @ Footer end */



.clearfix{
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
.t_right{text-align:right;}

.only_S{display:block;}
.only_M{display:none;}
@media print, screen and (min-width : 768px){
    .only_S{display:none;}
    .only_M{display:block;}
}
.mt5{ margin-top:5px; }
.mt10{ margin-top:10px; }
.mt20{ margin-top:20px; }
.mt25{ margin-top:25px; }
.mt30{ margin-top:30px; }
.mt35{ margin-top:35px; }
.mt40{ margin-top:40px; }
.mt50{ margin-top:50px; }
.mt80{ margin-top:80px; }
.ml20{ margin-left:20px; }
.ml30{ margin-left:30px; }
/* --------------------
  utility-classes
-------------------- */
.sr-only {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

@media screen and (min-width: 576px) {
  .xs-only {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

