/******************************************************************
Theme Name: seiwakai
Theme URI: 
Description: 
Author: 
Author URI: 
Version: 1.0
Tags: 
License: 
License URI: 
******************************************************************/



/*------------------------------------------------------------------------------

	リセット

--------------------------------------------------------------------------------*/



html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


*{ 
	margin:0;
	padding:0;
	box-sizing: border-box;
}

img{
	border:0;
	vertical-align:bottom;
}
ul{
	list-style-type:none;
}


body,
html{	
	width:100%;
	height:100%;
}


header,
section,
nav,
address{ display:block;}

div{
	margin-left: auto;
	margin-right: auto;
}


/* 	リセット    */

a:hover img{ opacity:0.70; }
.site-logo a:hover img, header_menu a:hover img{opacity:1.00;}
.icon-svg{ vertical-align: baseline; }
a:hover .icon-svg{     filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}



/* SP リセット　*/
@media only screen and (max-width:768px){
	
	img{ width:	100%;}
	
}
/* SP 非表示　*/
@media only screen and (max-width:768px){
	
	.foot_fixed{ display:none; }
	
}



/*------------------------------------------------------------------------------

	フォント

--------------------------------------------------------------------------------*/

body {
	/*font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	color:#111;
}

a{ color:#1F4D84; text-decoration:underline; }
a:hover{ 	color:#686868;	text-decoration:underline; 	}

html { font-size: 62.5%; } /* 10px */
body { font-size: 1.8rem; } /* 16px */
p  { font-size: 1.8rem; } /* 16px */
li { font-size: 1.8rem; } /* 16px */
li p { font-size: 1.8rem; } /* 16px */

p,
li{  line-height:1.3em; }

/* ブログ、コンテント部分　*/
.entry-content{ text-align:left;}
.entry-content p,
.entry-content li,
.entry-content th,
.entry-content td,
.txt p{
	line-height:1.65em;
	margin-bottom:1em;

}
.txt{ text-align:left;}

/* text選択時 */
::selection{	background:#80D5E2;}




/* ---------------------------------------------------------------------------

 全体レイアウト

------------------------------------------------------------------------------*/


body{
	text-align:center;
	position: relative;
}


/* html, body { overflow-x: hidden; }  */


body.home {}


#container{
	position: relative;
	text-align:center;
	margin:200px auto 0 auto;
	}

.wrap,
.header-caption h1,
.header-caption .h1{
	margin:0 auto ;
	}


.inner{ width:1000px; }
.inner_wide {width:1300px;}


@media only screen and (max-width:768px){
	
	.inner,
	.inner_wide { width:100%; }
	.inner{ padding: 0 4%; }

}


#content{
	padding:20px 0 40px 0;
	margin: 0;
	}
	

#main{ text-align:left; }
#sidebar img{ width:100%; }



section{
  margin-bottom: 8rem; 
	padding: 4rem 0;
}
section.bg{
	padding-bottom: 10rem;
}
section.mb0{
	margin-bottom:	0;
}

@media (max-width: 1024px){
	
	section{
		margin-bottom:5vw; 
		padding: 5vw 0;
	}
	section.bg{
		padding-bottom: 7vw;
	}
}

/* ---------------------------------------------------------------------------

 ヘッダー

------------------------------------------------------------------------------*/

.header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	text-align:center;
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	z-index: 20;
}


/* LOGO */
.wrap-logo{
	margin: 0;
	background: #FFF;
	box-shadow: 3px 3px 15px rgba(0,0,0, 0.1);
	border-radius:0 0 60px 0;
	padding: 40px 75px;
	width: 380px;
}
.wrap-logo .site-logo{}
.wrap-logo .site-logo .logo-main{  margin-bottom: 10px; }
.wrap-logo .site-logo .logo-sub{ margin: 0 20%; }
.wrap-logo .site-logo img{ width:100%; }


@media (max-width: 1024px){

	.wrap-logo{
		/* box-shadow: 3px 3px 15px rgba(0,0,0, 0.1); */
		padding: 15px 35px;
		width: 280px;
		border-radius:0 0 40px 0;
	}

}

/* ヘッダー右側 */
.wrap-head-right{
	display: flex;
	margin: 0;
	padding:2% ;
}


/* ナビのシャドウ（まとめて）*/
.main-navigation,
.wrap-head-right .btn-contact{
	box-shadow: 0 3px 15px rgba(0,0,0, 0.1);
}
 

/* ヘッダーナビ header navi */
.main-navigation{
	background: rgba( 255,255,255, 1 );
	padding-left: 30px;
	padding-right: 30px;
	border-radius:100vh;
	margin-right: 1em;
	overflow: hidden;
}
.main-navigation *{
	color: #212121;
}
.main-navigation ul{
	display:flex;
	justify-content: flex-start;
	align-content: stretch;
	align-items: center; 
	flex-grow:1;
	height: 100%;
	}
.main-navigation ul li{
	position: relative;
	line-height:1.2em;
	margin:0 2px;
	text-align: left;
	width: auto;
	
}

.main-navigation ul li a{
	display:block;
	height: 100%;

	text-decoration:none;
	padding:0.9em 1em;
	margin-left:2px;
	font-size:1.6rem;
	font-weight:bold;
	position:relative;
	transition: color 0.3s ease-in-out;
}


/* ナビ > 背景を追加＆移動　*/
.main-navigation ul li a{
	background: #FFF;
	border-radius: 100vh;
	transition:background 0.3s ease;
}
.main-navigation ul li a:hover{
	color: #212121;
}

.main-navigation ul li a {
  position: relative;
  /*overflow: hidden;*/
  border-radius: 100vh;
  z-index: 5;
}

/* 左から出てくる背景 */
/* 各リンク：スタッキング分離＋形状 */
.main-navigation ul li a {
  position: relative;
  border-radius: 100vh;
  isolation: isolate;           /* ←重要：兄弟との重なり干渉を防ぐ */
  z-index: 0;
}

/* 左から出てくる背景（形はそのまま、移動のみ） */
.main-navigation ul li a::before {
  content: "";
  position: absolute;
  inset: 0;                     /* top/right/bottom/left:0 */
  border-radius: inherit;
  background: rgba(233, 246, 255, 0.5);
  pointer-events: none;         /* ←重要：マウス判定に参加させない */
  z-index: -1;                  /* テキストの下に */
  
  /* 初期は左外に待機（translateで移動／レイアウト非干渉） */
  transform: translateX(-110%);
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
  will-change: transform, opacity;
}

.main-navigation ul li a:hover::before,
.main-navigation ul li a:focus-visible::before {
  transform: translateX(0);
  opacity: 1;
}




/* ナビ > 文字回転エフェクト */
/*.main-navigation ul li a {
  display: inline-block;  
  transition: transform 0.5s ease;
}
.main-navigation ul li a:hover {
  transform: rotateX(360deg); 
}
*/


/* ナビ > 線が走るエフェクト */
/*.main-navigation ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background-color: #FFF;
  transition: width 0.3s ease-in-out;
}
.main-navigation ul li a:hover::after {
  width: 100%;
}
*/
/*プルダウンメニュー*/
.main-navigation ul li .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  padding: 0;
  margin: 0;
  list-style: none;
  z-index: 1000;
  min-width: 180px;
  border: 1px solid #ddd;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* サブメニュー内のリンク装飾 */
.main-navigation ul li .sub-menu li a {
  display: block;
  padding: 10px 15px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}

/* サブメニュー表示：親メニューにマウスホバー時 */
.main-navigation ul li:hover > .sub-menu {
  display: block;
}

/* ホバー時のリンク色変化 */
.main-navigation ul li .sub-menu li a:hover {
  background-color: #f0f0f0;
  color: #000;
}



/* お問い合わせボタン　*/
.wrap-head-right .btn-contact{
	border-radius:100vh;
}
.wrap-head-right .btn-contact a{    
	display: block;
	background:#FFF;
	border:solid 2px #FFF;
	padding: 17px 10px;
	width: 70px;
	height: 70px;	
	text-align: center;
	border-radius:100vh;
	text-decoration: none;
	transition: background 0.5s ease, border 0.5s ease;
}
.wrap-head-right .btn-contact a:hover {
	border:solid 2px #52c8e7;
}
.wrap-head-right .btn-contact img{ width: 100%; }


/*

*/
/*
.wrap-head-right .tel_area{
  text-align:left;
  font-weight:bold;
   margin:auto 0 0 0;
}
.wrap-head-right .tel_area a{ text-decoration: none; } 
.wrap-head-right .tel_area .tel{
	background:url(images/icon-tel-b.png) no-repeat 0 0.4em;
  background-size: auto 0.8em;
	padding-left:1em;	
	font-size:2.6rem;
	}
.wrap-head-right .btn-contact{ width: 50px; margin:auto 2% 1% 2%;}
.wrap-head-right .btn-contact img{ width: 30px;} 
*/


/*　HOMEのみ　*/ 
/*.home .wrap-head-right *{
  color: #FFF;
}
.home .wrap-head-right ul li.tel_area .tel{
  background:url(images/icon-tel.png) no-repeat 0 0.4em;
  background-size: auto 0.8em;
	padding-left:1em;	
	font-size:2.6rem;
	}
*/
   



/* ---------------------------------------------------------------------------

 フッター

------------------------------------------------------------------------------*/



.footer {
/*  background: #33aaf5;*/
	background: linear-gradient(147deg, #16bff8 0%, #3aa6f2 50%, #218cde 100%);
  color: #fff;
  padding: 200px  20px  60px 20px; /* topは、CTAの分多めに*/
}
.footer *{
	color: #FFF;
}
.footer-inner {
  display: flex;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
  gap: 40px;
  justify-content: space-between;
}

.footer-left {
  flex: 1 1 300px;
	text-align: left;
}

.footer-logo {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1em;
	
}

.footer-btn {
  display: inline-block;
  border: 2px solid #fff;
  padding: 4px 20px;
  border-radius: 20px;
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.footer-address {
  font-size: 1.7rem;
  margin-bottom: 1em;
}

.footer-link {
	text-align: center;
	width: 250px;
}
.footer-link a{
  display: block;
  border: 2px solid #fff;
  padding: 8px 30px;
  font-size: 2rem;
  color: #fff;
	text-decoration: none;
}
.footer-link a:hover{
	color: #fff;
	text-decoration: none;
}

.footer-nav {
  flex: 1 1 200px;
	text-align: left;
}

.footer-nav ul {
  list-style: none;
  padding: 0;
}

.footer-nav li {
  margin-bottom: 10px;
  
}

.footer-nav li a{
	margin-left: 1em;
	font-size: 1.5rem;
	text-decoration: none;
}
.footer-nav li a:hover{
	color:#FFF;
}

.footer-nav li.parent a{
	font-size: 1.7rem;
	background: url("images/icon-footer-navi.png") no-repeat 0 center;
	background-size: auto 70%;
	padding-left: 1em;
	margin-left: 0;	
}

.footer-nav li span {
  margin-right: 4px;
}

.copyright{
	font-size:1.3rem;
	font-weight:normal;
	clear:both;
	text-align:center;
	padding:2em;
	color: #FFF;
	}
.copyright a{
	text-decoration:none;
	color: #FFF;
	}	


.pagetop{
	position: fixed;
	bottom:0;
	right: 0;
	}
.pagetop img{ width: 70px;}


@media (max-width: 1024px){
	
	.footer-left {
		text-align: center;
	}

	
	
	.footer-logo {
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 1em;
	}
	.footer-logo img{ width:50%; }

	.footer-link {
		text-align: center;
		margin: auto;
	}
	
	
}



/* お問い合わせBOX　CTA */
.contact_box{
	position: relative;
  margin-bottom: -100px;
	z-index: 10;
 }
.contact_box *{
  font-weight: bold;
  font-weight: 900;
  color: #000;
}

.contact_box .inner{
  background: #b6cdfc;
  padding: 6rem 1rem;
	background: #FFF;	
	box-shadow: 0 3px 7px rgba(0,0,0, 0.2);
	display: flex;
	align-content: center;
	
}

.contact_box .contact_box_left{
	text-align: left;
}
.contact_box .contact_box_left h3{
  color:#2491E2;
  padding: 0;
	font-size: 2.7rem;
	margin-bottom: 0.5em;
}
.contact_box .contact_box_left p{
	font-size: 1.8rem;
}

.contact_box .contact_box_right{
	margin:auto;
	text-align: center;
}

.contact_box .tel{
	font-size:4.2rem;
	margin-bottom: 0.7em;
	line-height: 1.4rem;
	}
.contact_box .tel span{
	font-size:60%;
}
.contact_box .tel a{
  color: #000;
  text-decoration: none;
  } 

.contact_box .btn-apply{}
.contact_box .btn-apply a{
	display: block;
  padding: 0.8em 3em;
	background: linear-gradient(163deg, #feb601 0%, #f57f17 100%);
	border-radius: 50vh;
	font-size: 2.7rem;
	font-family: 700;
	color: #FFF;
	text-decoration: none;
	
}
.contact_box .flex .open_time{
  font-size: 90%;
}
.contact_box .flex .open_time span{
  font-size: 90%;
}




@media only screen and (max-width:768px){

	
	
		.contact_box .inner{
			padding: 6rem 1rem;
			display: flex;
			flex-wrap: wrap;
			
		}

		.contact_box h3,
		.contact_box p{
			text-align: center;	
		}

	.contact_box .tel_box .tel{
		line-height: 1.4em;
		padding: 0;
		margin-bottom: 0.0em;
	}
	
}





/* 固定ボタン（相談＆電話）*/

/* 下部固定ボタン */
.foot_fixed{
	position:fixed;
	top:20%;
	right: 0;
	/*width: 80px;*/
}

.foot_fixed ul{}
.foot_fixed ul li{
	margin-bottom: 1em;
}
.foot_fixed ul li img{
	width:100%; 
}

.btn-fixed-application{}

.btn-fixed-application a{
	background-color: #d7280f; 
	display: block;
  color: #fff;
  font-size:2.2rem;
	font-weight: 700;
  text-decoration: none;
  padding: 1.5em 0.7em;
  border-radius: 12px 0 0 12px;
  writing-mode: vertical-rl; 
  text-orientation: upright; 
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  transition:padding 0.3s ease;
}

.btn-fixed-application a:hover {
	padding: 1.8em 0.9em;
  
}

.foot_fixed .btn-fixed-tel{
	/*overflow: hidden;*/
	position: relative;
	height: 70px;
}
.foot_fixed .btn-fixed-tel img{
	width: 32px;
	height: auto;
}
.foot_fixed .btn-fixed-tel a{
	background: #87db7d;
	border-radius: 12px 0 0 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	width: 330px;
	position: absolute;
	top: 0;
	right: -275px;
	padding: 0.5em 0.5em;
	text-align: left;
	transition:right 0.3s ease;
	font-size: 2.8rem;
	font-weight: 700;
	color: #FFF;
	text-decoration: none;
	line-height: 36px;
	z-index: 3000;
}
.foot_fixed .btn-fixed-tel a span{ display: inline-block; margin-left:0.5em;}
.foot_fixed .btn-fixed-tel a:hover{
	right: 0px;
}
.foot_fixed .btn-fixed-tel a:hover img{ opacity: 1; }



@media only screen and (max-width:768px){
	
	
}



/* ---------------------------------------------------------------------------

 パンくずリスト

------------------------------------------------------------------------------*/

#breadcrumb{
	/*background:#EEE;*/
	width:100%;
	padding:1em 0;
	clear:both;
	}
#breadcrumb .wrap{ width:100%; }
#breadcrumb ul{
	list-style-type:noen;
	clear:both;
	zoom:100%;
}
#breadcrumb ul:after{
	content: "";
	display: block;
	clear: both;
	}
#breadcrumb ul li{
	float:left;
	width:auto;
	padding-right:1em;
	}
#breadcrumb ul li,
#breadcrumb ul li a{
	color:#333;
	display:inline-block;
	font-size:12px;
	}
#breadcrumb ul li:after{
	content:"　≫";
}
#breadcrumb ul li:last-child:after{
	content:"";
}
	


/* ---------------------------------------------------------------------------

 　タイトル（エントリー含む）

------------------------------------------------------------------------------*/
h1,h2,h3,h4,h5,h6{
	line-height: 1.5em;
  }

h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
	text-decoration: none;
  }

.article-header{
  background: #34a6f7;
  padding:50px 20px;
  margin: 2%;
  border-radius: 15px;
  }


.title h1,
.page-title h1,
.page-title p{
  color: #FFF;
  font-size: 3.5rem;
  line-height: 1.3em;
  font-weight: 700;
}

.page-title h1 a,
.page-title p a{
   color: #FFF;
}


.title-caption{
	margin:0;
	color:#FFF;
	text-align:left;
	}
.title-caption p{
	font-size:20px; margin:0;
	text-align:left;
	display:inline-block;
	background:rgb(0,0,0,0.5);
	padding:0.1em 1em;
}


.title{ text-align:center;}

section h2,
.title h2,
.entry-title,
.entry-content h2{
	position: relative;
	text-align:center;
	padding: 1em 0.2em 0.5em 0.2em;
	margin-bottom:1.1em;
	color:#111;
	font-size:3.7rem;
	font-weight: bold;
	font-weight: 700;
	letter-spacing: 0.1em;
}



.blog-archive h2{ text-align:left; }
.bg-1 h2,
.bg-2 h2,
.bg-trial h2
{	color: #FFF;
	border-bottom: 3px solid #FFF;
}
.bg-2 .title{ margin-bottom:2em; }

.bg-3 h2{
	color: #000;
	border-bottom: 3px solid #000;
}
	
.ico-set{}
.ico-service{}

	
h2 a{ }  
h2.img{
	padding:0;
	border:0;
	background:inherit;
	margin-bottom:0.5em;
}



h2.icon{
	padding-left:43px;
	background-position:0 center;
	background-repeat:no-repeat;
}

@media (max-width: 1024px){
	
	section h2,
	.title h2,
	.entry-title,
	.entry-content h2{
		font-size:6.0vw;
	}

	
}




  
 h3,
 .entry-content h3{
  font-size:3.2rem;
  padding:0.5em;
  margin-bottom:1em;
  color: #333;
}
 

h3 a{ color:#242223; }


h4{
	font-size:1.8rem;
	color:#163a63; 
	font-weight: 700;
	border-bottom: 1px solid #163a63;
}
h4 a{
	color:#163a63; 
}


































/* ---------------------------------------------------------------------------

 汎用セレクタ

------------------------------------------------------------------------------*/


.flexbox{
		list-style-type:none;
		display:flex;
		justify-content: space-between;
		}
.flexbox li{
	width:100%;
	}

.bnr-footer{
	clear:both;
	zoom:100%;
}
.bnr-footer:after{
	content:"";
	display:block;
	clear:both;
} 
.bnr-footer ul{ margin-left:-6px;} 
.bnr-footer ul li{ float:left; margin-left:6px;
	margin-bottom:10px;}


.bnr-list{
	clear:both;
	zoom:100%;
}
.bnr-list:after{
	content:"";
	display:block;
	clear:both;
}
.bnr-list ul{ margin-left:-6px;} 
.bnr-list ul li{ float:left; 
 margin:0 0 6px 6px;}



.txt_catch{
  text-align:center;
  color:#DF115E;
  font-weight:bold;
  padding:1.5em;
  
}
.txt_catch p{
  font-size:18px;
  
}

.entry-content .chui{
  border:2px #EF9092 solid;
  padding:1.5em;
  margin-bottom:1.5em;
  }
.entry-content .chui p{
  color:#E80307;
    margin-bottom:0;

  }


.mb0{ margin-bottom:0 !important;}
.mb10{ margin-bottom:1em;}
.mb15{ margin-bottom:1.5em;}
.mb20{ margin-bottom:2em;}
.mb30{ margin-bottom:3em;}

.mr10{ margin-right:1em;}
.mr15{ margin-right:1.5em;}
.mr20{ margin-right:2em;}
.mr30{ margin-right:3em;}


.box_gy{
	background:#F9F9F9;
	padding:1.2em;

	border-radius:10px; 
	-webkit-border-radius: 10px; 
	-moz-border-radius: 10px;
	}
.box_gy{}


.tbl-simple{
	border-collapse:collapse;
	margin:0;
	margin-bottom:8px;
	}
.tbl-simple th,
.tbl-simple td{
	padding:0.5em 1em ;
	border:1px solid #DDD;
	}

.tbl-simple th{ background:#EEE; text-align:center;}
.tbl-simple td{ background:#FFF; text-align:left; }

.tbl-simple th{ }
.tbl-simple td.center{text-align:center; }

.tbl-simple .nowrap{ white-space:nowrap; }


/* ボタン角丸タイプ　*/
.btn-detail{
  text-align:center; 
  }
.btn-detail a{
	margin:0 auto 0 auto;
	display:inline-block;
	border-radius: 100vh; 
	padding:0.5em 2em;
	color:#FFF;
	text-decoration:none;
	font-size:1.7rem;
	text-align:center;
	border: 2px solid #333;
	color:  #333;
	font-weight: bold;
}
.btn-detail a:hover{
    background:#FFF;
    color:#0553dd;
	}

/*　ボタン下線タイプ　*/
.btn-detail2{
  text-align:center; 
  }
.btn-detail2 a {
  margin: 0 auto;
  display: inline-block;
  padding: 0.5em 2em;
  color: #333;
  text-decoration: none;
  font-size: 1.7rem;
  text-align: center;
  font-weight: bold;
  position: relative; /* 擬似要素のために必要 */
}

/* 下線のベースとなる線 */
.btn-detail2 a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background-color: #333;
  transition: width 0.3s ease;
}

/* hover時に横に縮む */
.btn-detail2 a:hover::after {
  width: 0;
}


.btn-detail-wt{}
.btn-detail-wt a{
		background:#FFF;
		color:#C00;
		border:1px solid #D85159;
}



.btn-detail_mini{ margin:0 6px ; text-align:center;  }
.btn-detail_mini a{

		background:#D85159;
		margin:0;
		display:inline-block;
		border-radius: 10px; 
		-webkit-border-radius: 10px; 
		-moz-border-radius:  10px;
		padding:2px 10px;
		color:#FFF;
		text-decoration:none;
		font-size:1.4rem;
		text-align:center;
		border:1px solid #D85159;

}
.btn-detail_mini a:hover{
	background:#FFF;
	color:#D85159;
	}
	


.btn-detail_large{ margin:0 6px ; text-align:center;  }
.btn-detail_large a{

		background:#D85159;
		margin:0;
		display:inline-block;
		border-radius: 40px; 
		padding:10px 3em;
		color:#FFF;
		text-decoration:none;
		font-size:2.2rem;
		text-align:center;
		border:1px solid #D85159;

}
.btn-detail_large a:hover{
	background:#FFF;
	color:#D85159;
	}


.btn-detail-gr a{
	border:1px solid #149E3E;
	color:#149E3E;
	
}


.btn-detail_t{
	text-align:right;
	}
.btn-detail_t a{
	border-bottom:1px solid #333;
	color:#333;
	font-size:1.7rem;
	text-decoration:none;
	}
	
.btn-detail_t_mini a{ font-size:1.4rem; }


.btn-detail-ico{ }
.btn-detail-ico a{
	background:url(images/common/bg-btn-detail.png) no-repeat 0 5px ;
	display:inline-block;
	padding:0 0 0 20px;
	color:#333;
	text-decoration:none;
	font-size:1.6rem;

}

.btn-detail-ico a:hover{	}
.btn-reserve{
	text-align:center;
	margin-bottom:2em;

	}
.btn-reserve a{
	display:inline-block;
	width:auto;

	padding:1em 2em;
	text-align:center;
	color:#FFF;
	/*font-weight:bold;*/
	background:#C00;/*242223*/
	/*border:2px solid #242223;*/
	text-decoration:none;
	font-size:180%;
	border-radius: 10px; 
	-webkit-border-radius: 10px; 
	-moz-border-radius: 10px;

	box-shadow: 0px 15px 15px -10px #000;
	transition: all  0.2s;
	}

.btn-reserve a:hover{
	transform: translate(0px, 5px);
	box-shadow: 0 0 0 0 ;
	background:#FF8080;
	/*border:2px solid #242223;
	color:#242223;*/
	}



.btn-contact_sub{
	text-align:center;
	margin-bottom:2em;
	}
.btn-contact_sub a{
	display:inline-block;
	width:auto;
	padding:1em 2em;
	text-align:center;
	color:#FFF;
	background:#C00;/*242223*/
	text-decoration:none;
	font-size:180%;
	border-radius: 10px; 
	box-shadow: 0px 15px 15px -10px #000;
	transition: all  0.2s;
	}

.btn-contact_sub a:hover{
	transform: translate(0px, 5px);
	box-shadow: 0 0 0 0 ;
	background:#FF8080;
	}


.btn-order{
	text-align:center;
	margin-bottom:2em;
	}
.btn-order a{
	display:block;
	width:70%;
	margin:auto;
	padding:1.0em 5%;
	text-align:center;
	color:#FFF;
	background:#C00;
	text-decoration:none;
	font-size:200%;
	border-radius: 10px; 
	-webkit-border-radius: 10px; 
	-moz-border-radius: 10px;
	box-shadow: 0px 15px 15px -10px #000;
	transition: all  0.2s;
	}

.btn-order a:hover{
	transform: translate(0px, 5px);
	box-shadow: 0 0 0 0 ;
	background:#FF8080;
	}


.list-note{ list-style-type:none; }
.list-note li{
	background:url(images/common/icon-kome.png) no-repeat 0 3px;
	background-size:13px auto;
	padding-left:17px;
	margin-bottom:5px;
	font-size:1.4rem;
	
	}
.list-note li{ }

.L{ text-align:left; }
.R{ text-align:right; }
.center{ text-align:center; }


/* ---------------------------------------------------------------------------

 ページ

------------------------------------------------------------------------------*/


/*　トップページ mv */

.mv_area{
	margin: 2%;
	margin-top: -5%;
	overflow: hidden;
}
.mv_area{
	position: relative;
}
.mv_area img{
	width: 100%;
}

.mv-dummy{
	width: 100%;
	height: 100%;
	/* padding-bottom:80px; */	 /* バス画像を除けるので減らす */
	padding-bottom:20px;
}

.mv_area .mv-img,
.mv_area .mv-catch{
	position: absolute;
}

.mv_area .mv-img img{ width: 100%; }

.mv_area .mv-bg{ width: 100%; }
.mv_area .mv-pic{ width: 52%; }
.mv_area .mv-sub{ width: 55%; }

.mv-bg{    z-index: 0; top:0%; left:0;  }
.mv-pic{   z-index: 5; top:10%;	right:4%;	}
.mv-sub{   z-index: 6; top:60%; right: 0%;	 }
.mv-catch{ z-index: 6; top:5%; left: 5%;	}

.mv_area .mv-catch{
	text-align: left;
	margin-top: 10%;
}

.mv_area .mv-catch-1{
	font-size:3.8rem;
	font-weight: 900;
	color:#2996F1;
	margin-bottom: 1em;
	
}

.mv_area .mv-txt{
	font-size:2.3rem;
	font-weight: 700;
	color: #333;
}
.mv_area .mv-txt.mv-txt-sp{
	display: none;
}


.mv_area .mv-sub{
	position:absolute;
	bottom:-5%;
	right:3%;
	width:65%;
	text-align: center;
	margin: auto;
}


@media (max-width: 1024px){
	
	
	.mv_area{
		margin-left: 0;
		margin-right: 0;
		left: 0 !important;
		display: flex;
		flex-wrap: wrap;
		/* background: #e1efef; */
		background: url( ./images/mv-bg.png) 30px 0 no-repeat;
		background-size: auto 100%;
	}
	.mv-dummy,
	.mv_area .mv-img.mv-bg{ display: none;}


	.mv_area .mv-img.mv-pic,
	.mv_area .mv-catch{
		position:relative !important;
		width: 100%;
		top:0;
		left: 0;
	}

	

	.mv_area .mv-sub{
		width:80% !important;
		top:65vw;
		right: -10%;
	}
	.mv_area .mv-sub img{ width: 100%;}

	.mv_area .mv-catch{
		order: 1;
		margin-left: 15%;
	}
	.mv_area .mv-catch .mv-catch-1{
		font-size:5vw;
	}
	.mv_area .mv-pic{
		order: 2;
		text-align: center;
		padding: 0 6% 0 12%;
	}

	.mv_area .mv-txt{ display: none; }
	.mv_area .mv-txt.mv-txt-sp{ display: block; }	
	.mv_area .mv-txt.mv-txt-sp{
		order: 3;
		padding: 4% 3% 4% 11%;
	}


	

	/* .mv-bg{ top:-15%; left:-5%;  } */




	
}

/* TOPインフォメーション　*/
.top_news{
	background: #FFF;
	box-shadow: 0 0 15px rgba(0,0,0, 0.05);
	display:flex;
	justify-content: space-between;
	align-content: stretch;
	border-radius:15px;
	overflow: hidden;
}
.top_news *{ 
	line-height:1.2em;
	padding:0;
	margin: auto;
}
.top_news h3{
	margin: 0;
	font-size: 2.2rem;
	background: #2996f1;
	padding: 1em;
	color: #FFF;
	height: 100%;
	
}

.top_news ul{
	margin: 1em 1em 1em 0;
	width: 70%;
	display:flex;
	align-content: center;
}
.top_news ul li{
	display:flex;
	align-content: center;
}
.top_news ul li h4{
	margin-right: 1em;
	font-size: 1.6rem;

}
.top_news ul li .txt{
	width: 85%;
}
.top_news ul li .txt p{ margin-bottom: 0; }

.btn-info-more{
	margin: auto 1em auto 0;
	text-align: right;
}
.btn-info-more a{
	display:inline-block;
	background: #EEE;
	color: #000;
	border-radius:50vh;
	padding: 0.2em 1em;
	text-decoration: none;
	font-size: 1.3rem;
}


@media (max-width: 1024px){
	

	.top_news.inner{
		flex-wrap: wrap;
		margin: 5%;
		width: 90%;
		padding: 0;
		
	}
	
	.top_news h3,
	.top_news ul,
	.btn-info-more{
		width: 100%;
	}

	.top_news h3{
		padding: 0.5em;
		text-align: center;
	}
	
	.top_news ul{ margin: 3% 3% 3% 3%;}
	.btn-info-more{ margin: 0 3% 3% 3%;}
	
}



/*　共通系　*/
.img-catch{  text-align:center; }

@media (max-width: 1024px){
	
	.img-catch{
		width: 70%;
		margin: auto;
		
	}
		
	
}
.img-list{
	display: flex;
	justify-content: center;
	align-content: flex-start;
}
.img-list li{ margin:0 2% ;}
.img-list li img{
	width:100%;
}

.img-list.img-list2 img{
	box-shadow: 0 3px 7px rgba(0,0,0, 0.1);
	border-radius: 2vw;
}

.img-list li{ width: 100%;}
.img-list.img-list-single li{ width: 50%;}



/* 健康診断のお困りごと  */
#problems {
	padding-bottom: 6rem;
}
#problems .img-catch{}

.problem_list{
	display: flex;
	justify-content: center;
}


.problem_list li{
	box-shadow: 0 5px 12px rgba( 0,0,0,0.1);
	padding: 1em;
	margin: 1%;
}
.problem_list li:nth-child(even){
	margin-top: 2em;
	margin-bottom: -2em;
}

.problem_list li h3{
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 0.2em;
	text-align: center;
}


@media (max-width: 1024px){
	
	#problems {
		padding-bottom: 2vw;
	}
	.problem_list{ flex-wrap:wrap;	}
	.problem_list li{
		width:86%;
		margin-bottom:2em;
	}
	.problem_list li:nth-child(even){
		margin-top: 0;
		margin-bottom:2em;
	}

	.problem_list li h3{
		font-size: 5vw;
	}
	

}

/* 健康診断は設立28年の実績ある～　お申し付けください  */
#trust {
  background: #34a6f7;
  color: white;
  text-align: center;
  position: relative;

  /* 矢印を%やclampで柔軟に */
  clip-path: polygon(
    0 0,
    45% 0,
    50% clamp(40px, 8vw, 80px),  /* ←ここを可変に */
    55% 0,
    100% 0,
    100% 100%,
    0 100%
  );

  padding-top: 10rem;
}



#trust .img-catch{}


#trust h2 {
  position: relative;
  color: #FFF;
  text-align: center;
  margin-bottom: 40px;
}

#trust h2::after {
  content: "";
  display: block;
  width: 200px;         /* 線の長さ */
  height: 3px;          /* 線の太さ */
  background-color: #fff; /* 線の色 */
  margin: 20px auto 0;  /* 上下の余白と中央寄せ */
}

#trust h3 { color: #FFF; }
#trust .txt{}

@media (max-width: 1024px){
	#trust .inner {
		padding: 0 1.5em;
	}
}



.bus-section{
	position: relative;
	background: #e9f6ff;
	padding-bottom: 10vw;
}
.bus-section .img-bus-sub{
	position: absolute;
	bottom: -1.5vw;
	right: -3vw;
	width: 80%;
}
.bus-section .img-bus-sub img{ width: 100%; }




/* 選ばれる理由  */
#reason{
	text-align: center;
}

#reason h2{
	position: relative;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#reason h2::before,
#reason h2::after {
  content: "";
  position: absolute;
  top: 60%;
  width: 80px;
  height: 2px;
  background-color: black;
  transform: rotate(45deg);
  transform-origin: center;
}

#reason h2::before {
  left: -15%;
}

#reason h2::after {
  right: -15%;
  transform: rotate(-45deg);
}

#reason .flexbox{}


@media (max-width: 1024px){
	

		#reason h2{}
		#reason h2::before,
		#reason h2::after {
			width: 40px;
			height: 1.5px;
		}

		#reason h2::before {
			left: -15%;
		}

		#reason h2::after {
			right: -15%;
		}

}

/* 診療内容 */
#service{
	background: #e9f6ff;
}
.list_item{
	display: flex;
	justify-content: flex-start;
	align-content: stretch;
	flex-wrap: wrap;
	gap: 2.2%;
}
.list_item li{
	width: 30%;
	box-shadow: 0 3px 8px rgba(0,0,0, 0.1);
	text-align: center;
	border-radius: 15px;
	margin-bottom: 2.2%;
	background: #FFF;
	display: flex;
	flex-direction: column;
}

/* .list_item li h3,
.list_item li .pic,
.list_item li .icon,
.list_item li .txt,
.btn-inspection-list{
	width: 100%;
} */

.list_item li .pic{
	 margin-bottom: 0.5em;
	 text-align: center;
	}
.list_item li h3{ font-size:2.2rem;  margin-bottom: 0.2em; }


.list_item li .pic img{
	width:100%;
	border-radius: 15px 15px 0 0;
}
.list_item li .icon{
	height: 70px ;
	margin-bottom: 1em;
}
.list_item li .icon img{
	height: 100%;
}

.list_item li .txt{
	text-align: left;
	margin: 0em 2em 1em 2em;
}
.list_item li .btn-inspection-list{
	margin-top:auto;
	margin-bottom:1em;
}


@media (max-width: 1024px){
	
		.list_item li{
			width: 100%;
			margin-bottom: 2em;
		}
		.list_item li .icon{
			height: auto;
		}
		.list_item li .icon img{
			max-width:100px;
			height: auto;
		}
	
}

/* 設備紹介　*/
#equipment{
	/*background: #e9f6ff;
	padding: 5em;*/
}

.list_equipment{
	list-style-type: none;
	margin-bottom: 2em;
}
.list_equipment li{
	font-size:2.2rem; 
	padding: 1em  1em  1em 3.5em ;
	margin-bottom: 0.6em;
	border:solid 3px #333; 
	border-radius: 100vh;
	background: url("images/icon-equipment.png") no-repeat 1em center;
	background-size: auto 30px;
	
}

@media (max-width: 1024px){
	.list_equipment li{
		font-size:4.0vw; 
	}
	
}

/* 費用　*/
#cost{
	background: #2491e2; 
}
#cost .inner{
	background: #FFF;
	padding: 1rem 5rem;
	border-radius: 2vw;
}
#cost .box_price{
	display: flex;
	justify-content: center;
	background: #FFF;
	box-shadow: 0 3px 8px rgba(0,0,0, 0.1);
	width: 70%;
	padding: 2em;
	margin-bottom: 2em;
	background: #2491e2;
	border-radius: 50vh;
}

#cost .box_price *{
	color:#FFF;
}

#cost .box_price h4,
#cost .box_price p{
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1em;
	padding: 0;
	width: auto;
}
#cost .box_price h4{
	padding-right: 1em;
	border-right: 1px solid #FFF;
}
#cost .box_price p{
	padding-left: 1em;
	
}

@media (max-width: 1024px){
	
	#cost{
		padding: 3vw;
	}
	#cost .inner{
		padding: 3vw 5vw;
	}

	#cost .box_price{
		width: 100%;
		padding: 3vw;
	}
	#cost .box_price h4,
	#cost .box_price p{
		font-size: 6.5vw;
	}
	#cost .box_price h4{
		padding-right: 0.5em;
	}
	#cost .box_price p{
		padding-left: 0.5em;
	}
	
}

/*　「バス健診」のメリット　*/
#merit{
	background: #e9f6ff;
	padding-bottom: 10rem;
}

.merit-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
}

.merit-list li{
  flex: 1 1 calc(33.333% - 20px);
  background: #FFF;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.merit-list li:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

/*.merit-list li h3{
  font-size: 2.4rem;
	line-height: 1.2em;
  margin-bottom: 0.5em;
  color: #2491E2;
	background:url("images/icon-merit.png") no-repeat 0  0.3em;
	background-size: auto 0.8em;
	padding: 0 0  0 1em;
	text-align: left;
}
*/


.merit-list li h3 {
	font-size: 2.2rem;
	line-height: 1.2em;
	margin-bottom: 0.5em;
	color: #2491E2;
	text-align: center;
	position: relative;
}

.merit-list li h3::before {
	content: "";
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	background: url("images/icon-merit.png") no-repeat center/contain;
	margin-top: -1px;
	margin-right: 0.2em;
	vertical-align: middle;
}


.merit-list li p {
  font-size: 0.95em;
  line-height: 1.6;
  color: #555;
}

@media (max-width: 1024px){
	
	#merit{
		padding-bottom: 6vw;
	}

	.merit-list li{
		flex:100%;
		flex-wrap:wrap;
		margin-bottom: 1.5em;
	}


}



/*　ご利用の流れ　*/
#flow{}
#flow h2{ margin-bottom:  8vw; }

/* 全体のリスト設定 */
.faq_list_box{
	width: 70% ;
}

.flow_list{
  list-style: none;
  padding: 0;
	
}

/* 各ステップボックス */
.flow_list li {
  position: relative;
  background-color: #f0f5ff;
  border-radius: 20px;
  padding: 80px 30px 40px;
  margin-bottom: 80px;
  text-align: center;
}


/* STEPアイコンの丸 */
.flow_list .icon {
  position: absolute;
  top: -40px;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  background-color: black;
  color: white;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.flow_list .icon span {
  font-size: 24px;
  font-weight: normal;
  display: block;
  margin-top: 2px;
}

.flow_list h3 {
	font-size: 2.8rem;
	font-weight: 700;
	margin-bottom: 1em;
}

.flow_list .txt {
	text-align:center;
}


.flow_list .btn-contact{
	text-align: center;
}
.flow_list .btn-contact a {
    display: inline-block;
    padding:1em 2em;
		min-width: 33%;
    background: linear-gradient(45deg, #ff7e5f, #feb47b);
    color: #fff;
    text-decoration: none;
    border-radius: 50vh;
    font-weight: bold;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
	font-size: 2.0rem;
}

.flow_list  .btn-contact a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

@media (max-width: 1024px){
	
	#flow h2{ margin-bottom:  10vw; }
	
	.flow_list .txt {
		text-align:left;
	}
	
}

/*　よくある質問　*/
#faq{
	background: #f0f4fc;
	padding: 2em;
}

#faq h2{ padding-top: 0.5em; line-height: 1.2em; }
#faq h2 span{
	font-size: 70%;
}

.faq_list{
	list-style-type:none;
}
.faq_list li{
	margin-bottom:1.5em;
}

.faq_list h3,
.faq_list .txt{
	position: relative;
	padding-left:45px;
	margin-bottom: 10px;
	padding-top: 0.7em;
}

.faq_list h3{ font-size:2.5rem}
.faq_list .txt p{  font-size:1.8rem }
	
.faq_list h3::before,
.faq_list .txt::before {
	content: "";
	position: absolute;
	left: 0;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	/*border-radius: 50%;*/
	font-weight: 900;
	font-size: 3.0rem;
	font-size: 1.8rem;
}

.faq_list h3::before{ top: 1.2em;}
.faq_list .txt::before{ top: 0.6em;}
	
.faq_list h3::before {
	content: "Q";
	background-color: #409ed3;
	color: #FFF;
	border: 1px  #409ed3 solid ;
}

.faq_list .txt::before {
	content: "A";
	color: #409ed3;
	border: 1px  #409ed3 solid ;
}

/* トグル用　*/
.faq_list .txt {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.8s ease, opacity 0.8s ease;
}

.faq_list h3 {
  position: relative;
  padding-right: 1.5em;
  cursor: pointer;
}

.faq_list h3::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 20px;
  font-size: 1.5em;
  transition: transform 0.6s ease;  /* 回転速度を少し遅く */
  display: inline-block;
  transform: rotate(0deg);
}

.faq_list h3.open::after {
  transform: rotate(45deg); /* ＋→× の回転 */
}

.faq_list .txt.open {
  max-height: 500px; 
  opacity: 1;
}


@media (max-width: 1024px){
	
	#faq .inner_wide.flexbox{
		 flex-wrap:wrap;
	}
	
	#faq h2{ width:	100%;}
	#faq .faq_list_box{ width:	100%;}
	
}




/* 当院について（くれクリニックページ） */
.summary{}
.summary table{
	margin-bottom:2.5rem;
}
.summary table th,
.summary table td{
	padding: 1em;
	border: 1px solid #CCC;
}
.summary table th{
	font-weight: bold;
	text-align: center;
	background: #F9F9F9;
}
.summary table td{}

.list_medical_subject ul{
	list-style: none;
	display: flex;
	flex-wrap:wrap;
	justify-content: flex-start;
	
}
.list_medical_subject ul li{
	border-radius: 50vh;
	border:solid 1px #333;
	width:auto;
	padding:0.5em 1.5em;
	margin-right: 1em;
}


.list_vaccine ul li{
	border:solid 1px #1D9347;
	color: #1D9347
}


.medical_calendar{}
.medical_calendar table{
	margin-bottom:2.5rem;
	width: 100%;
}
.medical_calendar table th,
.medical_calendar table td{
	padding: 0.5em;
	border: 1px solid #CCC;
	text-align: center;
	width: calc( 100% / 9 ) !important;
}
.medical_calendar table th{
	font-weight: bold;
	text-align: center;
	background: #F9F9F9;
	
}
.medical_calendar table td{}



/* 採用情報　*/
#recruit{}
#recruit h2{
	margin-bottom: 0;
}

#recruit h3{
	padding: 0.4em 0.7em;
	margin-top: 1em;
	margin-bottom: 1em;
	background: #e9f6ff;
	font-size: 2.4rem;
	font-weight: 700;
}
#recruit h4{
	padding: 0.5em 0;
	margin-bottom: 1em;
	
}

#recruit.entry-content table {}
#recruit.entry-content table th,
#recruit.entry-content table td{
	border:solid #CCC 1px;
}
#recruit.entry-content table th{
	background: #e9f6ff;
}



/* 目次（ページ内サブナビ）*/
.custom-toc {
    background-color: #f9f9f9;
    /* border: 1px solid #ccc; */
    padding: 20px;
    margin-bottom: 20px;
}

.toc-title {
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

.custom-toc ul {
    list-style: none;
    padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	gap: 10px;
}
.custom-toc ul li{
	width: calc((100% - 10px * 2) / 3);
	margin-bottom: 0;
}
.custom-toc a {
    text-decoration: none;
    color: #333;
    background-color: #FFF;
    display: flex;  
    align-items: center; 
    justify-content: center;
    padding: 1em;
    position: relative;
}

/* ▼を右側に表示するための擬似要素 */
.custom-toc a::after {
    content: "▼";
    font-size: 0.8em; 
    position: absolute; 
    right: 1em;  
    color: #666;   
}

.custom-toc a:hover {
    text-decoration: none;
    background-color: #f0f4fc;
}


@media only screen and (max-width:768px){

	.custom-toc ul li{
		width: 100%;
		margin-bottom: 0;
	}
}



/* レスポンシブ関連 */
@media only screen and (max-width:1024px){
	.sp_none{ display:none ;}
	.sp_only{ display:block ;}
}


/* 1024px以上の時だけ */
@media only screen and (min-width:1024px){
	.sp-navi{
		display:none ;
	}
}
.sp_only{ display:none ;}




