@charset "UTF-8";
/*
Theme Name: teamm
Theme URI: /wp-content/themes/teamm
Description: 村尾歯科のサイトです
Author: yamada
Author URI:
Version: 1.0

1.  common settings
2.  sp settings
3.  header settings
4.  index settings
5.  page settings
6.  single settings
7.  sidebar settings
8.  footer settings
9.  form setting
10.  Other Styles

*/

@font-face {
    font-family: 'Noto Sans JP';
    font-style: lighter;
    font-weight: 400;
    src: local("Noto Sans CJK JP Regular"),
    url('./fonts/NotoSans_Regular.woff2') format('woff2'),
    url('./fonts/NotoSans_regular.woff') format('woff'),
    url('./fonts/NotoSans_regular.otf') format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: local("Noto Sans CJK JP Medium"),
    url('./fonts/NotoSans_Medium.woff2') format('woff2'),
    url('./fonts/NotoSans_medium.woff') format('woff'),
    url('./fonts/NotoSans_medium.otf') format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: bold;
    font-weight: 600;
    src: local("Noto Sans CJK JP Bold"),
    url('./fonts/NotoSans_Bold.woff2') format('woff2'),
    url('./fonts/NotoSans_bold.woff') format('woff'),
    url('./fonts/NotoSans_bold.otf') format('opentype');
}

/*==================================================================
	common settings
===================================================================*/
html {
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	letter-spacing:0.02em;
	font-weight: 300;
}
body{
	overflow-x: hidden;
	letter-spacing:0.02em;
	position:relative;
	color:#555;
	font-weight: 400;
	background:#fafafa;
}
h1,h2,h3,h4,h5,p,a,span,strong,dl,dt,dd,table,tbody,thead,th,td,blockquote,ul,li,ol {
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#555;
}
.uk-grid.uk-grid-collapse {
	margin-left: 0;
}
.uk-grid.uk-grid-collapse >* {
	padding-left: 0;
}
p, li, dt, dd,th,td{
	font-size: 14px;
	line-height:200%;
	margin:0 0 20px 0;
}
a {
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
	text-decoration:underline;
	color:#4381b7;
}
.uk-link:hover, a:hover{
	text-decoration:none;
}
a img:hover {
	opacity: 0.6;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
a:hover {
	color:#4381b7;
	text-decoration:none;
}
img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

@media screen and (max-width : 959px){
	.uk-container{
		padding:0 30px;
	}
}
@media screen and (max-width : 639px){
	p, li, dt, dd th,td{
		line-height:180%;
		margin-bottom:15px;
		font-size:13px;
	}
	.uk-container{
		padding:0 15px;
	}
}




/* margin,padding
-------------------------------------------------------------------*/
.mb0 {
	margin-bottom: 0;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 1.5em;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb120 {
	margin-bottom: 120px;
}
.mb100 {
	margin-bottom: 8em;
}
.mt5{
	margin-top: 5px;
}
.mt10{
	margin-top: 10px;
}
.mt15{
	margin-top: 15px;
}
.mt20{
	margin-top: 20px;
}
.mt40{
	margin-top: 40px;
}
.mt60{
	margin-top: 60px;
}
.mt80{
	margin-top: 80px;
}
.pb0{
	padding-bottom:0;
}
.pb20{
	padding-bottom:20px;
}
.pb30{
	padding-bottom:30px;
}
.pt80{
	padding-top:80px;
}
.pt30{
	padding-top:30px;
}
.pb80{
	padding-bottom:80px;
}
.pt0{
	padding-top:0;
}
.pBox15{
	padding:15px;
}
@media screen and (max-width : 959px){
	.mb120 {
		margin-bottom: 80px;
	}
}
@media screen and (max-width : 639px){
	.mb60{
		margin-bottom:30px;
	}
	.mb80{
		margin-bottom:40px;
	}
	.mb100{
		margin-bottom:50px;
	}
	.mb120 {
		margin-bottom: 60px;
	}
	.mt60{
		margin-top: 30px;
	}
}


/* font style
-------------------------------------------------------------------*/
.orange{
	color:#f7b72c;
	font-weight:bold;
}
.bold{
	font-weight:bold;
}
.center{
	text-align:center;
}
.strong,
strong{
	font-weight:bold;
	color:#e8b33e;
	font-size:16px;
}
.fonts{
	font-size:12px;
	color:#666;
}
.webfont{
	font-family: priori-sans, sans-serif;
	font-weight: 400;
}
.webfontbold{
	font-family: priori-sans, sans-serif;
	font-weight: 700;
}


/* table sheet style
-------------------------------------------------------------------*/
table.sheet {
	border-collapse:collapse;
	border-spacing:0px;
	border-bottom: none;
	margin-bottom:25px;
	width:100%;
}
.sheet th, .sheet td {
	padding: 10px 20px;
	text-align: left;
	line-height:1.5em;
	vertical-align:middle;
	background:#fff;
	line-height:200%;
	border-bottom:2px solid #fafafa;
}
.sheet th {
	background: #fcf1d7;
	font-weight:400;
	text-align:center;
}
.sheet td ol.list{
	margin:0;
}
.sheet td ul.list{
	padding-left:20px;
	margin:0;
}
.sheet td ul.list li {
	margin:0 0 6px;
	line-height:160%;
}
.sheet td ul.list li:last-child {
	margin:0;
}
.sheet td img {
	vertical-align:middle;
}
table.center td{
	text-align:center;
}
table td.fonts{
	font-size:12px;
	color:#666;
}

/* table price
---------------------------------------------*/
table.price th,
table.price td{
	padding: 8px 20px;
}
table.price th{
	width:50%;
	text-align:left;
}
table.price td{
	text-align:center;
	width:25%;
}
table.price td:last-child{
	text-align:right;
}
table.center td{
	text-align:center;
}


@media screen and (max-width : 639px){
	table.sheet td{
		border-right: none;
		padding:15px;
	}
	.sheet ul{
		padding-left:20px;
	}
	.uk-container .sheet ul li{
		padding:0 10px;
	}
	table.price th{
		width:auto;
	}
	table.price td{
		width:40%;
	}
	table.price td:last-child{
		width:30%;
	}
}

	/* table 横スクロール style
-------------------------------------------------------------------*/
@media screen and (max-width : 639px){
	.scroll{
		overflow:auto!important;
		white-space:nowrap;
		display:block;
	}
	.scroll::-webkit-scrollbar{
		height:5px;
	}
	.scroll::-webkit-scrollbar-track{
		background:#f1f1f1;
	}
	.scroll::-webkit-scrollbar-thumb{
		background:#bcbcbc;
	}
}

/*	dl style
-------------------------------------------------------------------*/
dl.dllist{
	width: 100%;
	overflow: hidden;
	background:#f5f5f5;
	border-bottom:1px dotted #ddd;
}
.dllist dt, .dllist dd{
	display: block;
	float: left;
	margin:0;
	padding:15px 25px;
}
.dllist dt{
	width: calc(25% - 50px);
	clear: left;
	border-top:1px dotted #ddd;
	font-weight:500;
	letter-spacing:0.1em;
}

.dllist dd{
	width:  calc(75% - 50px);
	background:#fff;
	border-top:1px dotted #ddd;
}

@media screen and (max-width : 639px){
	dl.dllist{
		width: 100%;
		background:none;
		border-bottom:none;
	}
	.dllist dt, .dllist dd{
		float:none;
		width:calc(100% - 30px);
		border-top:none;
	}
	.dllist dt{
		border-bottom:1px dotted #ddd;
		font-weight:bold;
		padding:5px 15px;
		background:#fff;
	}
	.dllist dd{
		border:none;
		padding:10px 15px;
		margin:0 0 15px 0;
	}
}

/* list style
-------------------------------------------------------------------*/
ul.list{
	padding-left:30px;
	margin:0 0 25px;
}
ul.list li{
	padding-left:5px;
	margin:5px 0;
	list-style-image:url(./img/list.svg);
}
ul.menulist li{
	display:inline-block;
	margin:0;
}
ul.menulist li a{
	background:url(./img/more.svg) no-repeat left center/20px;
	padding:5px 0 5px 30px;
	margin-right:40px;
	text-decoration:none;
}
ul.menulist li a:hover{
	text-decoration:underline;
}

ol.list{
	counter-reset: my-counter;
	list-style: none;
	padding-left:30px;
	margin:0 0 25px;
}
ol.list li{
	padding-left:5px;
	margin:5px 0;
	position: relative;
}
ol.list li:before{
	content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #e8b33e;
  color: #fff;
  display: block;
  float: left;
  line-height: 22px;
  margin-left: -30px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
	margin-top:3px;
}
@media screen and (max-width : 639px){
	ol.list li:before{
		margin-top:0;
	}
	ul.menulist li{
		display:block;
		margin:0 0 15px;
	}
}
/*	tab menu
-------------------------------------------------------------------*/
ul.tab{
	margin:0;
	padding:0;
}
ul.tab li{
	display:block;
	list-style-type:none;
	margin:0 auto 10px;
	max-width:180px;
}
ul.tab li a{
	padding:10px ;
	background: #f5f5f5 url(./img/more.png) no-repeat 15px center;
	display:block;
	text-align:center;
	text-decoration:none;
	font-weight:bold;
	color:#00aaeb;
}
ul.tab li a:hover {
	background: #00aaeb url(./img/more.png) no-repeat 15px center;
	color: #fff;
}
ul.tab li a.active {
	background: #00aaeb url(./img/more.png) no-repeat 15px center;
	color: #fff;
}
.tabContent {
	display: none;
}
@media screen and (max-width : 959px){
	ul.tab{
		padding-left:30px;
	}
	ul.tab li{
		float:left;
		margin:0 10px 15px 0;
		width:25%;
	}
}
@media screen and (max-width : 639px){
	.tabContent {
		display: block;
	}
}


/* icon
-------------------------------------------------------------------*/
i{
	color:#fff;
}
a:hover i{
	color:#fff !important;
}


/*	blockquote
-------------------------------------------------------------------*/
blockquote {
	background: none repeat scroll 0 0 rgba(245, 245, 245, 0.8);
	border: 1px solid #FFFFFF;
	margin:0 0 40px 0;
	padding: 60px 30px 15px;
	position: relative;
	border-radius:10px;
}
blockquote:before {
	color: #C8C8C8;
	content: "“";
	font-family: serif;
	font-size: 500%;
	left: 0;
	line-height: 1em;
	position: absolute;
	top: 15px;
	left:15px;
}

/*	accordion
-------------------------------------------------------------------*/
/*アコーディオン全体*/
.accordion-area{
	list-style: none;
	width: 100%;
	padding:0;
}
.accordion-area li{
	margin: 10px 0;
	background:#fff;
}
.accordion-area section {
	border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.faq_title {
	position: relative;/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	font-weight: normal;
	padding: 20px 40px;
	transition: all .5s ease;
	margin:0;
	font-size:15px;
}

/*アイコンの＋と×*/
.faq_title::before,
.faq_title::after{
	position: absolute;
	content:'';
	width: 15px;
	height: 2px;
	background-color: #4381b7; 
}
.faq_title::before{
	top:48%;
	left: 15px;
	transform: rotate(0deg);
}
.faq_title::after{    
	top:48%;
	left: 15px;
	transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.faq_title.close::before{
	transform: rotate(45deg);
}
.faq_title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.faq_box {
	display: none;/*はじめは非表示*/
	background: #fafafa;
	margin:0 20px 20px;
	padding: 30px;
}
.faq_box p:last-child{
	margin:0;
}

@media screen and (max-width : 639px){
	.accordion-area li{
		margin: 5px 0;
	}
	.faq_title {
		padding: 15px 10px 15px 40px;
		font-size:14px;
		line-height:160%;
	}
	.faq_box {
		margin:0 15px 15px;
		padding: 15px;
	}
}


/* splash
-------------------------------------------------------------------*/
/* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#fafafa;
  text-align:center;
}
/* fadeUpをするアイコンの動き */
.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size:26px;
}
#splash_logo p{
	font-size:26px;
	font-family: priori-sans, sans-serif;
	font-weight: 400;
	color:#666;
	letter-spacing:0.15em;
}
#splash_text {
	z-index: 999;
	width: 100%;
	color: #999;
	margin:20px 0 0 0;
}
/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
	height: 2px;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

@media screen and (max-width : 639px){
	#splash_logo{
		width:calc(100% - 60px);
		padding:0 30px;
	}
	#splash_logo p{
		font-size:20px;
	}
}



/* fadeIn
-------------------------------------------------------------------*/
.fade_in {
  opacity: 0;
  transition-duration: 1500ms;
  transition-property: opacity, transform;
}
.fade_in_up {
  transform: translate(0, 50px);
}
.fade_in_down {
  transform: translate(0, -50px);
}
.fade_in_left {
  transform: translate(-50px, 0);
}
.fade_in_right {
  transform: translate(50px, 0);
}
.scroll_in {
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width : 959px){

}
@media screen and (max-width : 639px){
	.fade_in {
		transition-duration: 1000ms;
	}
}



/*==================================================================
	sp common settings
===================================================================*/
/* sp contactbtn footer
-------------------------------------------------------------------*/
#sp-contact{
	position: fixed;
	bottom: 0;
	right: 0;
	width:100%;
	z-index:100;
	overflow:hidden;
	margin:0;
	padding:0;
}
#sp-contact li{
	float:left;
	width:50%;
	margin:0;
	list-style:none;
}
#sp-contact li a{
	display:block;
	color:#4381b7;
	font-weight:bold;
	text-decoration:none;
	padding: 10px 0 8px 0;
	font-size:13px;
	text-align:center;
	height:auto;
	background:#fff;
	border-right:1px solid #eee;
}
#sp-contact li a span{
	display:block;
	color:#666;
	font-weight:normal;
	text-decoration:none;
	font-size:10px;
	text-align:center;
	line-height:120%;
}
#sp-contact li:last-child a{
	border-right:none;
}
#sp-contact li a i{
	color:#4381b7;
}
@media screen and (max-width : 639px){
	body{
		padding-bottom:55px;
	}
}


/*==================================================================
	header settings
===================================================================*/

/* header
-------------------------------------------------------------------*/
header{
	z-index:900;
	height:100px;
	width:100%;
}
header.fixed{
	position: fixed;
	top: 0;
	left: 0;
	z-index:970;
	background:#fff;
}
.logo{
	position:relative;
	z-index:900;
	margin:20px 0 0 30px;
	display:inline-block;
}
.top_logo{
	opacity: 0;
	margin:0;
	line-height:100%;
	transition:0.4s;
}
header.fixed .top_logo{
	opacity: 1;
	transition:0.4s;
}
.logo img{
	vertical-align:top;
}
@media screen and (max-width : 959px){
	header{
		height:80px;
	}
	.logo{
		margin:12px 0 0 30px;
	}
}
@media screen and (max-width : 639px){
	header{
		height:50px;
	}
	.logo{
		margin:10px 0 0 10px;
	}
	.logo img{
		height:30px;
	}

}

/* navigation
-------------------------------------------------------------------*/
#nav{
	display:inline-block;
	vertical-align:middle;
	padding:25px 10px 25px 0;
}
.nav_items{
	padding:0;
	margin:0;
	position:relative;
}
.nav_items > li {
	display:block;
	float:left;
	box-sizing: border-box;
	margin:  0;
	padding:0;
	text-align:center;
	position:relative;
}
.nav_items > li > a,
.nav_items > li > span.nolink{
	display:block;
	text-decoration:none;
	color:#666;
	font-size:22px;
	text-align:center;
	letter-spacing:0.1em;
	margin:0 ;
	padding:3px 25px 10px 25px;
	font-family: priori-sans, sans-serif;
	font-weight: 700;
}
.nav_items > li > a:first-letter,
.nav_items > li > span.nolink:first-letter{
	color:#f7b72c;
}
.nav_items > li .sub{
	display:block;
	color:#666;
	font-size:11px;
	font-weight:400;
	letter-spacing:0.05em;
	line-height:100%;
	padding:0;
}
.nav_items > li a:hover{
	background:#f5ebd5;
}


/*Nav  シンプルプルダウン
-------------------------------------------------------------------*/
#nav li.has-child div{
	position: absolute;
	left:0;
	top:50px;
	z-index: 4;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	background: #fff;
	padding:15px 20px;
	width:200px;
	margin:0;
}
#nav li.has-child:hover > div,
#nav li.has-child ul li:hover > div,
#nav li.has-child:active > div,
#nav li.has-child ul li:active > div{
	visibility: visible;
	opacity: 1;
}
#nav ul li ul{
	list-style: none;
	margin: 0;
	padding: 0;
	z-index:2000;
}
#nav ul li ul li{
	margin:0;
	display:block;
}
#nav ul li ul li a{
	display:block;
	font-size:13px;
	color: #555;
	text-decoration:none;
	line-height:160%;
	padding:7px 0 7px 25px;
	text-align:left;
	background:url(./img/more.svg) no-repeat left center/15px;
}
#nav ul li ul li a:hover{
	color:#4381b7;
}


/* menubtn
-------------------------------------------------------------------*/
.menu_btn{
	border:none;
	z-index:1000;
	vertical-align:middle;
	background:none;
	color:#555;
	font-size:12px;
	margin: 0 30px 0 0;
	height:80px;
	outline:0;
	letter-spacing:0.1em;
	text-align:center;
	padding:0;
	position:relative;
}
button.active{
	position:fixed;
	top:0;
	right:0;
}
.menu_btn::after {
	content:'MENU';
	margin:5px auto 0;
	display:block;
	color:#555;
	text-decoration:none;
	text-align:center;
	width:40px;
}
.active::after {
	content:'CLOSE';
	letter-spacing:0;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 22px;
	height: 20px;
	text-align:center;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 22px;
	height: 3px;
	background-color: #f7b72c;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 8px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
button.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
button.active .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}
button.active .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}
@media screen and (max-width : 639px){
	.menu_btn{
		margin: 0 10px 0 0;
		height:50px;
	}
	.menu-trigger {
		height: 17px;
	}
	.menu_btn::after {
		margin:0 auto 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 7px;
	}
	header .active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(7px) rotate(-45deg);
		transform: translateY(7px) rotate(-45deg);
	}
	header .active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-7px) rotate(45deg);
		transform: translateY(-7px) rotate(45deg);
	}
}
/* toggle_nav
-------------------------------*/
#toggle_nav{
	position:fixed;
	z-index: 999;
	top:0;
	right: -120%;
	width:100%;
	height:100vh;
	background:#fff;
	transition: all 0.7s;
	overflow-y: scroll;
}
.toggle_inner{
	padding:60px;
}
#toggle_nav.open{
    right: 0;
}
@media screen and (max-width : 639px){
	.toggle_inner{
		padding:30px 30px 80px;
	}
}


/* nav_menu_list
-------------------------------*/
#toggle_nav ul {
	padding:0;
	overflow:hidden;
	margin:0;
	text-align:center;
}
#toggle_nav ul li{
	margin:0;
}
#toggle_nav ul li a{
	display:block;
	text-decoration:none;
	color:#666;
	font-size:30px;
	padding:20px 0;
	margin:0;
	font-family: priori-sans, sans-serif;
	font-weight: 700;
}
#toggle_nav ul li a span{
	font-size:16px;
	font-weight: 500;
	display:block;
	margin:5px 0 0 0;
}
#toggle_nav ul li a:first-letter{
	color:#f7b72c;
}


#toggle_nav ul li ul.menu{
	padding:0;
	margin:0 0 40px;
}
#toggle_nav ul li ul.menu li a{
	color:#666;
	font-size:16px;
	padding:5px 0;
	margin:0;
	font-weight: 400;
}
#toggle_nav ul li ul.menu li a:first-letter{
	color:#666;
}
@media screen and (max-width : 639px){
	#toggle_nav ul li a{
		font-size:24px;
		padding:10px 0;
	}
	#toggle_nav ul li a span{
		font-size:12px;
		margin:0;
	}
	#toggle_nav ul li ul.menu{
		margin:0 0 15px;
	}
	#toggle_nav ul li ul.menu li a{
		font-size:13px;
		padding:3px 0;
	}
}



/*==================================================================
	index settings
===================================================================*/
/* keyv
-------------------------------------------------------------------*/
.keyv {
	position:relative;
	margin:0;
	height:calc(100vh - 100px);
}
.keyv1{
	background:url(./img/keyv.jpg) no-repeat left bottom/cover;
	height:calc(100vh - 220px);
	width:calc(100% - 80px);
}
.keyv2{
	background:url(./img/keyv2.jpg) no-repeat right center/cover;
	height:calc(100vh - 220px);
	width:calc(100% - 80px);
	margin:120px 0 0 auto;
}
.keyv_txt{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
.keyv_txt p{
	color:#666;
	font-size:50px;
	font-family: priori-sans, sans-serif;
	font-weight: 400;
	letter-spacing:0.25em;
	line-height:120%;
	text-align:center;
	margin:0;
}
.keyv_txt p span.keyvsub{
	display:block;
	font-size:14px;
	letter-spacing:0.15em;
	margin:30px 0 0 0;
}
.keyv_txt p span.keyvsub span.orange{
	font-size:18px;
}
.keyv_info{
	padding:40px 0 40px 30px;
}
.keyv_logo{
	float:left;
	margin-right:30px;
}
.contact a{
	text-decoration:none;
	font-family: priori-sans, sans-serif;
	font-weight: 700;
	font-size:20px;
	display:block;
	letter-spacing:0.1em;
	padding:0 0 10px;
	position:relative;
	line-height:120%;
}
.contact a::before{
	content:"TEL.";
	font-size:12px;
	font-weight: 400;
	color:#666;
	vertical-align:middle;
	margin-right:3px;
}
.contact a span{
	font-weight: 400;
	font-size:12px;
	color:#666;
	margin-left:5px;
}
@media screen and (max-width : 1265px){
	.keyv_info{
		padding:40px 0 40px 20px;
	}
	.keyv .contact {
		width:200%;
	}
}
@media screen and (max-width : 959px){
	.keyv {
		height:calc(100vh - 80px);
	}
	.keyv1,.keyv2{
		height:calc(50vh - 120px);
		width:calc(100% - 60px);
	}
	.keyv1{
		margin:40px 0 0 0;
		background-position:left center;
	}
	.keyv2{
		margin-top:0;
	}
	.keyv_info{
		padding:30px 0 30px 30px;
	}
	.keyv .contact {
		width:auto;
	}
}
@media screen and (max-width : 639px){
	.keyv {
		height:calc(100vh - 50px);
	}
	.keyv1,.keyv2{
		height:calc(50vh - 100px);
		width:calc(100% - 30px);
	}
	.keyv1{
		margin:20px 0 0 0;
	}
	.keyv_txt{
		top:40%;
	}
	.keyv_txt p{
		font-size:30px;
		letter-spacing:0.15em;
	}
	.keyv_txt p span.keyvsub{
		font-size:12px;
		letter-spacing:0.1em;
		margin:15px 0 0 0;
		width:100%;
	}
	.keyv_info{
		padding:15px ;
	}
	.keyv_logo {
		float: none;
		margin-right: 0;
		width:50%;
	}
	.contact {
		margin-top:10px;
	}
	.contact a{
		letter-spacing:0.05em;
		padding:10px 0;
	}

}


/* top_title
-------------------------------------------------------------------*/
.top_title{
	margin:0 0 100px;
	text-align:center;
	color:#666;
	font-size:46px;
	letter-spacing:0.3em;
	line-height:100%;
	padding:30px 0 45px;
	position:relative;
	font-family: priori-sans, sans-serif;
	font-weight: 400;
}
.top_title:first-letter{
	color:#f7b72c;
}
.top_title span{
	display:block;
	text-align:center;
	color:#666;
	font-size:14px;
	letter-spacing:0.2em;
	line-height:100%;
	font-weight:500;
	margin:15px 0 0 0;
}
.top_title::before{
	content:"";
   display:inline-block;
   width:80px;
   height:1px;
   background-color:#666;
   position:absolute;
   top:0;
   left:50%;
	transform:translatex(-50%);
}
.top_title::after{
	content:"";
   display:inline-block;
   width:80px;
   height:1px;
   background-color:#666;
   position:absolute;
   bottom:0;
   left:50%;
	transform:translatex(-50%);
}
.top_title2,
.top_title2 span{
	text-align:left;
}
.top_title2::before,
.top_title2::after{
	left:0;
	transform:none;
}
.top_title3,
.top_title3 span{
	text-align:right;
}
.top_title3::before,
.top_title3::after{
	left:auto;
	right:0;
	transform:none;
}
@media screen and (max-width : 959px){
	.top_title{
		margin:0 0 80px;
	}
}
@media screen and (max-width : 639px){
	.top_title{
		margin:0 0 40px;
		font-size:30px;
		padding:20px 0 25px;
	}
	.top_title span{
		font-size:10px;
		letter-spacing:0.05em;
		margin:8px 0 0 0;
	}
	.top_title2,
	.top_title2 span,
	.top_title3,
	.top_title3 span{
		text-align:center;
	}
	.top_title2::before,
	.top_title2::after,
	.top_title3::before,
	.top_title3::after{
		left:50%;
		right:auto;
		transform:translatex(-50%);
	}
}


/* topinfo
-------------------------------------------------------------------*/
.Topinfo{
	margin:0 0 160px;
}
.topinfo{
	position:relative;
}
.Topinfo .map{
	position:absolute;
	top:0;
	right:0;
	width:60%;
}
.map p,
.map p.more{
	margin:30px 30px 0 0;
}
.Topinfo .uk-container{
	position:relative;
	z-index:1;
}
.info_box{
	background:#fff;
	padding:60px;
	margin:160px 0 0 0;
}
@media screen and (max-width : 959px){
	.Topinfo{
		margin:0 0 100px;
	}
	.Topinfo .map{
		width:calc(100% - 60px);
		position:static;
		margin:0 30px;
	}
	.Topinfo .map iframe{
		height:300px;
	}
	.info_box{
		padding:30px;
		margin:0 ;
	}
	.info_box .access-time,
	.info_box p.about_time{
		margin:0;
	}
	.map p,
	.map p.more{
		margin:30px 0 0 0;
	}

}
@media screen and (max-width : 639px){
	.Topinfo{
		margin:0 0 60px;
	}
	.Topinfo .map{
		width:calc(100% - 30px);
		margin:0 15px;
	}
	.Topinfo .map iframe{
		height:200px;
	}
	.info_box{
		padding:0 0 20px;
		margin:0 ;
		background:none;
	}
	.map p,
	.map p.more{
		margin:15px 0 0 0;
	}
}


/* topabout
-------------------------------------------------------------------*/
.Topabout{
	max-width:1000px;
	margin:0 auto;
}
.Topabout .uk-grid{
	margin-bottom:160px;
}
.Topabout .top_title{
	margin-bottom:60px;
}
.about_img{
	background:url(./img/about.jpg) no-repeat center center/cover;
}
.about_img2{
	background:url(./img/greeting.jpg) no-repeat center 25%/cover;
}
.Topabout p{
	line-height:220%;
}
@media screen and (max-width : 959px){
	.Topabout .uk-grid{
		margin-bottom:100px;
	}
}
@media screen and (max-width : 639px){
	.Topabout .uk-grid{
		margin-bottom:60px;
	}
	.Topabout .top_title{
		margin-bottom:40px;
	}
	.Topabout p{
		line-height:180%;
	}
	.about_img,
	.about_img2{
		height:160px;
	}
}


/* topmenu
-------------------------------------------------------------------*/
.top_menu{
	position:relative;
	margin:100px auto 160px;
	max-width:1400px;
}
.top_menu .uk-container{
	position:relative;
	z-index:10;
}
.menu_box{
	background:#fff;
	padding:60px;
	margin:100px 0 0 0;
}
.menu_box h3{
	text-align:center;
	border-top:1px solid #4381b7;
	border-bottom:1px solid #4381b7;
	margin:0 0 40px;
	font-size:18px;
	padding:20px 0;
	letter-spacing:0.2em;
}
.menu_box p{
	margin:0 0 20px;
	line-height:220%;
}
.menu_box p.more{
	margin:15px 50px 0 0;
}
.top_menu1{
	position:absolute;
	top:0;
	left:0;
	background:url(./img/menu1.jpg) no-repeat center center/cover;
	width:60%;
	height:calc(100% - 100px);
}
.top_menu2{
	position:absolute;
	top:0;
	right:0;
	background:url(./img/menu2.jpg) no-repeat center center/cover;
	width:60%;
	height:calc(100% - 100px);
}
.top_menu3{
	position:absolute;
	top:0;
	left:0;
	background:url(./img/menu3.jpg) no-repeat center center/cover;
	width:60%;
	height:calc(100% - 100px);
}


@media screen and (max-width : 959px){
	.top_menu{
		margin:80px auto 100px;
	}
}
@media screen and (max-width : 639px){
	.top_menu{
		margin:40px auto 40px;
	}
	.top_menu1,
	.top_menu2,
	.top_menu3{
		width:100%;
		height:200px;
	}
	.menu_box{
		background:#fff;
		padding:20px 20px 30px;
		margin:160px 0 0 0;
	}
	.menu_box h3{
		margin:0 0 15px;
		font-size:15px;
		padding:10px 0;
	}
	.menu_box p{
		margin:0 0 10px;
		line-height:180%;
	}
	.menu_box p.more{
		margin:10px 40px 0 0;
	}
}


/* topfaq
-------------------------------------------------------------------*/
.Topfaq{
	max-width:1000px;
	margin:0 auto;
	position:relative;
}
.faq_img{
	position:absolute;
	top:0;
	right:0;
	background:url(./img/faq.jpg) no-repeat center center/cover;
	width:82%;
	height:100%;
}
.topfaq_box{
	padding:90px 0;
}
.faq_txt{
	font-size:18px;
	font-weight:500;
	line-height:240%;
	letter-spacing:0.2em;
	margin: 0 0 50px;
}
.topfaq_box p.more{
	margin:0;
}
@media screen and (max-width : 959px){

}
@media screen and (max-width : 639px){
	.faq_img{
		background:url(./img/faq.jpg) no-repeat 70% center/cover;
		width:80%;
	}
	.topfaq_box{
		padding:40px 0;
	}
	.faq_txt{
		font-size:15px;
		line-height:200%;
		letter-spacing:0.1em;
		margin: 0 0 30px;
	}
}


/* line-list
---------------------------------------*/
.topnews{
	max-width:1000px;
	margin:160px auto;
}
.line-list{
	padding:0;
	list-style:none;
	margin:0;
}
.line-list li{
	margin:0;
}
.line-list li a{
	text-decoration:none;
	color:#555;
	display:block;
	padding:0 0 30px 0;
	position:relative;
	transition:0.4s;
}
.line-list li h3{
	display:inline-block;
	font-size:13px;
	margin: 0 ;
	vertical-align: middle;
	line-height:160%;
	width:calc(100% - 100px);
}
.line-list li h3 span{
	border-bottom:1px solid rgba(255,255,255,0);
	padding-bottom:2px;
	transition:0.4s;
}
.line-list li a:hover h3 span{
	border-color:#4381b7;
	transition:0.4s;
	color:#4381b7;
}
.date{
	display:inline-block;
	color:#999;
	font-size:12px;
	letter-spacing:0;
	line-height:100%;
	margin:0 30px 0 0;
	vertical-align:middle;
}
.i-cat{
	display:inline-block;
	text-align:center;
	color:#666;
	padding:5px 20px;
	margin:0 30px 0 0;
	font-size:12px;
	line-height:100%;
	text-transform:uppercase;
	vertical-align: middle;
	background:#fff;
	border:solid 1px #666;
}
span.new{
	position:absolute;
	top:-15px;
	right:15px;
	display:inline-block;
	color:#fff;
	font-size:8px;
	margin:0;
	font-weight:bold;
	background:#ffb900;
	padding:2px 5px;
	border-radius:100%;
	text-align:center;
	letter-spacing:0;
}

@media screen and (max-width : 959px){
	.topnews{
		margin:100px auto;
	}
}
@media screen and (max-width : 639px){
	.topnews{
		margin:60px auto;
	}
	.date{
		margin:0;
	}
	.line-list{
		margin:25px 0 5px 0;
	}
	.line-list li a{
		padding:0 0 20px 0;
	}
	.line-list li h3{
		display:block;
		margin: 5px 0 0 0 ;
		width:100%;
	}
	.i-cat{
		padding:2px 20px;
		margin:0;
	}
}



/*==================================================================
	page settings
===================================================================*/
/* 固定ページ
-------------------------------------------------------------------*/
.contents {
	margin:0 auto ;
	max-width:1000px;
}
.contents_area .uk-grid>* img{
	margin:0 auto 40px;
}
.contents_area section{
	margin:0 0 80px;
	overflow:hidden;
}
.contents_area section:last-child{
	margin:0;
}
.contents h2,
.contents h3,
.contents h4{
	clear:both;
}
.contents section div{
	overflow:hidden;
}
.contents img{
	border-radius:2px;
}
.contents .top_title{
	margin:60px 0 80px;
}
.contents .top_title:first-letter{
	text-transform: capitalize;
}
@media screen and (max-width : 959px){
	.contents_area section{
		margin:0 0 60px;
	}
	.contents .top_title{
		margin:40px 0 60px;
	}
}
@media screen and (max-width : 639px){
	.contents .uk-align-right,
	.contents .uk-align-left{
		display:block;
		float:none;
		margin:0 auto 20px;
	}
	.contents .uk-align-right img,
	.contents .uk-align-left img{
		display:block;
		margin:0 auto ;
		max-width:200px;
	}
	.contents .uk-align-right img.width100,
	.contents .uk-align-left img.width100{
		max-width:100%;
	}
	.contents_area section{
		margin:0 0 30px;
	}
	.contents .top_title{
		margin:30px 0 40px;
	}
}

/* page_keyv
-------------------------------------------------------------------*/
.page_keyv{
	background:url(./img/page_keyv1.jpg) no-repeat center center/cover ;
	height:240px;
}
.page_keyv2{
	background:url(./img/page_keyv2.jpg) no-repeat center center/cover ;
	height:240px;
	margin-top:100px;
}
@media screen and (max-width : 959px){
	.page_keyv{
		background-position:center 30% ;
		height:200px;
	}
	.page_keyv2{
		background-position:80% center ;
		height:200px;
		margin-top:60px;
	}
}
@media screen and (max-width : 639px){
	.page_keyv{
		height:100px;
	}
	.page_keyv2{
		height:100px;
		margin-top:30px;
	}
}

/* bl
-------------------------------------------------------------------*/
.bl{
	padding: 40px;
	margin:0;
	overflow:hidden;
}
.bl ul{
	padding:0;
	margin:0;
	float:right;
}
.bl a,
.bl ul li,
.uk-breadcrumb>li:not(.uk-active)>span{
	font-size:12px;
	margin:0;
	color:#555;
	display:inline-block;
}
.uk-breadcrumb>*{
	flex:initial;
}
@media screen and (max-width : 959px){
	.bl{
		padding: 20px;
	}
}
@media screen and (max-width : 639px){
	.bl{
		padding: 10px;
	}
	.bl a,
	.bl,
	.uk-breadcrumb>li:not(.uk-active)>span,
	.bl ul li{
		font-size:10px;
	}
	.uk-breadcrumb>:nth-child(n+2):not(.uk-first-column)::before{
		margin: 0 10px;
	}
	.uk-breadcrumb>*>*{
		display:inline;
	}
}

/* more style
-------------------------------------------------------------------*/
p.more{
	margin: 35px 0;
	text-decoration:none;
	background:url(./img/more.svg) no-repeat left center;
	padding-left:35px;
	display:inline-block;
}
.contents p.more{
	margin-right:50px;
}
.more a{
	display:inline-block;
	text-decoration:none;
	font-size:14px;
	color:#4381b7;
	padding:0;
	letter-spacing:0.1em;
	border-bottom:1px solid rgba(255,255,255,0);
	white-space: nowrap;
}
p.more:hover a{
	border-color:#4381b7;
}
@media screen and (max-width : 959px){
	.contents p.more{
		margin-right:40px;
	}
}
@media screen and (max-width : 639px){
	p.more{
		margin:10px 0 25px 0;
	}
	.contents p.more{
		margin-right:20px;
	}
}



/* page_ttl
-------------------------------------------------------------------*/
.title1,
.single h2{
	margin:0 0 50px 0;
	padding:25px 0 ;
	border-top:solid 1px #666;
	border-bottom:solid 1px #666;
	font-size:18px;
	font-weight:400;
	text-align:center;
	letter-spacing:0.15em;
	line-height:160%;
}
.title2,
.single h3{
	font-size:16px;
	margin:40px 0 30px 0;
	font-weight:400;
	letter-spacing:0.1em;
	color:#555;
	padding:15px 20px;
	position:relative;
	background:#fff;
	border-top:1px dotted #ddd;
	border-bottom:1px dotted #ddd;
}
.title2:before,
.single h3:before{
	content:"";
	position:absolute;
	left:0;
	top:7px;
	background:#f7b72c;
	height:calc(100% - 14px);
	width:4px;
}
.title3,
.single h4{
	font-size:16px;
	margin:25px 0 20px 0;
	padding:0 0 10px 10px;
	font-weight:400;
	letter-spacing:0.05em;
	color:#555;
	border-bottom:double 3px #ddd;
}

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

}
@media screen and (max-width : 639px){
	.title1,
	.single h2{
		margin:0 0 25px 0;
		padding:12px 10px ;
		font-size:15px;
		letter-spacing:0.1em;
	}
	.title2,
	.single h3{
		font-size:14px;
		margin:25px 0 20px 0;
		letter-spacing:0.05em;
		padding:10px 15px;
	}
	.title3,
	.single h4{
		margin:0 0 15px 0;
		font-size:14px;
		padding:0 0 10px 0;
	}

}

/* flow
-------------------------------------------------------------------*/
.flow{
	background:#f3f7e9;
	padding:30px 30px 15px;
	border-radius:10px;
}
.flow .title2{
	margin-top:0;
}
.triangle{
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #f3f7e9;
	margin:0 auto 10px;
}
@media screen and (max-width : 639px){
	.flow{
		padding:15px 15px 10px;
	}
}


/* text_box
-------------------------------------------------------------------*/
.sBox{
	padding:30px;
	margin:30px 0;
	border-radius:15px;
	background:#f5f5f5;
	border:dotted 1px #ddd;
}

@media screen and (max-width : 639px){
	.sBox{
		padding:15px;
		margin:30px 0;
		border-radius:15px;
		background:#f5f5f5;
		border:dotted 1px #ddd;
	}
}


/*==================================================================
	single settings
===================================================================*/
/* 投稿ページ,アーカイブ
-------------------------------------------------------------------*/
.uk-container .single{
	padding:40px;
	background:#fff;
}
.archivelist{
	max-width:1000px;
	margin:0 auto;
}
.attachment-singlepage_thumbnails{
	display:block;
	margin:0 auto 30px;
}
.archivelist .top_title,
.singlepage .top_title{
	margin:60px 0 80px;
}
.archivelist .top_title:first-letter,
.singlepage .top_title:first-letter{
	text-transform: capitalize;
}

@media screen and (max-width : 959px){
	.uk-container .single{
		padding:30px;
	}
	.archivelist{
		width:100%;
	}
	.archivelist .top_title,
	.singlepage .top_title{
		margin:40px 0 60px;
	}
}

@media screen and (max-width : 639px){
	.uk-container .single{
		background:none;
		padding:0;
	}
	.attachment-singlepage_thumbnails{
		margin:0 0 15px;
	}
	.single_more .more a{
		display:block;
		font-size:12px;
	}
	.archivelist .top_title,
	.singlepage .top_title{
		margin:30px 0 40px;
	}
}

/* サムネイル付き list
----------------------------*/
.Box a{
	display:block;
	overflow:hidden;
	text-decoration:none;
	margin:0 0 30px;
	position:relative;
	background:#fff;
}
.Box h2{
	font-size:16px;
	margin:20px 0 ;
	line-height:160%;
	transition:0.4s;
	background:url(./img/more.svg) no-repeat left center;
	padding:0 0 0 30px;
}
.Box a img{
	float:left;
	width:270px;
	margin-right:30px;
}
.Box .date{
	display:inline-block;
	margin:0 15px 0 0;
}
.Box_right{
	padding:30px;
}
p.Box-txt{
	font-size:13px;
	letter-spacing:0.1px;
	color:#888;
	margin:0;
}
.Box a:hover h2{
	color:#4381b7;
}
@media screen and (max-width : 959px){
	.Box a img{
		width:30%;
		margin:0 20px 0 0;
	}

}
@media screen and (max-width : 639px){
	.uk-container p.Box-txt{
		display:none;
	}
	.Box a img{
		width:40%;
		margin:0 10px 0 0;
	}
	.Box a{
		margin:3px ;
		height:auto;
		background:none;
	}
	.Box_right{
		padding:10px;
	}
	.Box h2{
		font-size:14px;
		margin:10px 0 0 0 ;
		padding:2px 0 2px 30px; 
	}
	.Box .i-cat{
		display:none;
	}

}



/*   pagination
-------------------------------------------------------------------*/
.pagination {
	width: 100%;
	text-align: center;
	z-index: 200;
	list-style-type: none;
	padding:0;
}
.pagination a {
	margin: 0 5px;
	width: 15px;
	height: 15px;
	display: inline-block;
	overflow: hidden;
}
.pagination a.active {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}
.pagination,
.pagination li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}


/* 色変更箇所*/
.pagination a {
	font-weight: 500;
	padding-top: 1px;
	text-decoration:none;
	border-left-width: 0;
	min-width:36px;
	min-height:36px;
	color: #333;
	background-color: #fff;
}

/* 色変更箇所*/
.pagination li:not([class*="current"]) a:hover {
	background:#4381b7;
	color:#fff;
}

.pagination li:first-of-type a {
	border-left-width: 1px;
}

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
	/* screen readers only */
	position: absolute;
	top: -9999px;
	left: -9999px;
}

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
	display: inline-block;
	font-family: Fontawesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}

.pagination li.first a::before { content: "\f100"; }
.pagination li.last a::after { content: "\f101"; }

.pagination li.previous a::before { content: "\f104"; }
.pagination li.next a::after { content: "\f105"; }

/* 色変更箇所*/
.pagination li.current a {
	background:#4381b7;
	cursor: default;
	pointer-events: none;
	color:#fff;
}

.pagination > li:first-child > a {
	border-bottom-left-radius: 4px;
	border-top-left-radius: 4px;
}

.pagination > li:last-child > a {
	border-bottom-right-radius: 4px;
	border-top-right-radius: 4px;
}

@media only screen and ( max-width: 639px ) {
	.pagination li.first,
	.pagination li.last {
		/* screen readers only */
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	.uk-container .pagination li{
		padding:0;
		margin:0 0 20px;
	}
	.pagination li.previous a {
		border-left-width: 1px;
	}
}




/*==================================================================
	sidebar settings
===================================================================*/
/* side menu ttl
-------------------------------------------------------------------*/
.side_nav{
	margin-bottom:30px;
	border-bottom:none;
}
.side_nav a{
	color:#fff;
}
.side_nav_ttl {
	padding:5px;
	text-align:center;
	letter-spacing:0.2em;
	font-size:15px;
	font-weight:normal;
	margin:0;
	color:#555;
	border-top:1px solid #999;
	border-bottom:1px solid #999;
	background:#fff;
}
.side_nav_ttl a{
	color:#666;
	font-size:14px;
	text-decoration:none;
}


/* side menu list
-------------------------------------------------------------------*/
.side_nav_item ul {
	padding:10px 0;
	border-top:none;
}
.side_nav_item{
	margin:0;
}
.side_nav_item ul li {
	position:relative;
	margin:0;
}
.side_nav_item ul li a {
	padding:10px 10px 10px 40px;
	font-size:13px;
	line-height:160%;
	color:#555;
	background:url(./img/more.svg) no-repeat 10px center/15px;
}
.side_nav_item ul li a:hover {
	color:#4381b7;
}
.side_nav_item .date{
	display:inline-block;
	color:#999;
}



/*==================================================================
	footer settings
===================================================================*/
/* mainslide(imgslide)
------------------------------------------------------------------*/
.mainslide{
	background:url(./img/tour.png) repeat-x ;
	height:210px;
	width:100%;
	margin:100px 0 ;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width : 639px){
	.mainslide{
		height:120px;
		background-size:cover;
		margin:40px 0 40px;
	}
}


/* cv
------------------------------------------------------------------*/
.cv{
	margin:160px 0 120px;
}
.cv_box{
	background:#fff;
	padding:40px;
}
.cv_calendar{
	background:#fff;
	padding:20px;
}
.cv_box h2{
	border-top:1px solid #4381b7;
	border-bottom:1px solid #4381b7;
	margin:0 0 40px;
	font-size:18px;
	padding:15px 0;
	letter-spacing:0.2em;
}
.cv_box p.more{
	margin:10px 0 20px;
}
.cv_tel a{
	display:block;
	margin:0 0 35px;
	color:#4381b7;
	letter-spacing:0.08em;
	font-size:24px;
	font-weight:bold;
	text-decoration:none;	
}
.cv_tel a span{
	display:inline-block;
	padding:0;
	margin:0 8px 0 0;
	vertical-align:middle;
	font-size:12px;
	font-weight:normal;
	color:#555;
	letter-spacing:0.05em;
}
.footer_access{
	margin:40px 0 0 0;
	font-size:13px;
	letter-spacing:0.1em;
}
.footer_map{
	margin:100px 0 0 0;
}
.footer_box{
	display: flex;
	align-items: center;
}
@media screen and (max-width : 959px){
	.cv{
		margin:100px 0 80px;
	}
	.footer_map{
		margin:80px 0 0 0;
	}
	.cv_calendar{
		height:500px;
		padding-top:0;
	}
}
@media screen and (max-width : 639px){
	.cv{
		margin:60px 0 40px;
	}
	.footer_map{
		margin:40px 0 0 0;
	}
	.cv_box{
		padding:20px;
	}
	.cv_calendar{
		padding:0 15px 15px;
		height:260px;
	}
	.cv_box h2{
		margin:0 0 30px;
		font-size:15px;
		padding:10px 0;
		letter-spacing:0.1em;
	}
	.cv_tel a{
		margin:0 0 25px;
		font-size:20px;
	}
	.cv_box p.more{
		margin:10px 0 20px;
	}
	.footer_logo{
		width:50%;
	}
	.footer_access{
		margin:20px 0 0 0;
	}

}


/* cv 診療時間
-------------------------------------------------------------------*/
.sheet-time {
	width:100%;
	border-collapse:collapse;
	border-spacing:0px;
}
.sheet-time th,
.sheet-time td{
	vertical-align:middle;
	font-size:14px;
	padding:15px 5px;
	text-align:center;
	font-weight:normal;
	border-bottom:1px solid #ddd;
}
.sheet-time th{
	letter-spacing:2px;
}
.sheet-time tr:first-child{
	letter-spacing:0.1em;
}
.sheet-time td{
	width:8%;
}
.sheet-time td.orange{
	color:#f7b72c;
}
.sheet-time th:first-child,
.sheet-time td:first-child{
	text-align:left;
	padding-left:15px;
}
p.about_time{
	font-size:13px;
	padding:15px 0 0 15px;
	margin:0;
	line-height:200%;
	text-align:left;
}
@media screen and (max-width : 959px){
	p.about_time{
		margin-bottom:60px ;
	}
	.access-time{
		margin:30px 0 0 0;
	}
}
@media screen and (max-width : 639px){
	.access-time{
		margin:15px 0 0 0;
	}
	.sheet-time th,
	.contents table.sheet-time th{
		letter-spacing:2px;
		padding:10px 0;
		font-size:13px;
	}
	.sheet-time td,
	.contents table.sheet-time td{
		width:7%;
		padding:10px 0;
		font-size:12px;
	}
	.sheet-time th:first-child,
	.sheet-time td:first-child,
	.contents .sheet-time th:first-child,
	.contents .sheet-time td:first-child{
		padding-left:5px;
	}
	p.about_time{
		padding:10px 0 0 5px;
		font-size:12px;
	}
}


/* sitemap
-------------------------------------------------------------------*/
.footer_sitemap{
	padding: 40px 0;
	border-top:1px solid #999;
	border-bottom:1px solid #999;
	overflow:hidden;
	margin:0 0 100px;
}
.footer_sitemap .nav_items{
	display:inline-block;
}
@media screen and (max-width : 959px){
	.footer_sitemap{
		margin:0 0 80px;
	}
}

@media screen and (max-width : 639px){
	.footer_sitemap{
		display:none;
	}
}

/* sign
-------------------------------------------------------------------*/
.footer_sign p {
	color: #666;
	font-size:10px;
	text-align:center;
	margin:30px 0 80px;
	letter-spacing:0.1em;
	padding:0;
}
.footer_sign a{
	color: #fff;
}

@media screen and (max-width : 639px){
	.footer_sign p {
		letter-spacing:0px;
		margin: 10px 0;
	}
}

/* pagetop
-------------------------------------------------------------------*/
#page-top {
	position: fixed;
	bottom: 20px;
	right: 10px;
	margin:0;
	z-index:1001;
}
#page-top a {
	background: url(./img/pagetop.png) no-repeat 0 0/cover;
	z-index:10;
	text-indent:-5000px;
	text-decoration: none;
	color: #fff;
	width: 65px;
	height:42px;
	text-align: center;
	display: block;
}
@media screen and (max-width : 639px){
	#page-top {
		bottom: 60px;
	}
	#page-top a {
		width: 50px;
		background-size:contain;
	}
}




/*==================================================================
  form setting
===================================================================*/
.contactform{
	margin:0 auto;
}
.indispensable{
	display:inline-block;
  font-size:12px;
  color:#f7b72c;
	line-height:140%;
	margin:0;
}
span.wpcf7-not-valid-tip{
	color:#f7b72c;
}
.wpcf7c-elm-step2{
	font-weight:500;
	text-align:center;
	padding:10px;
	border-top:1px solid #666;
	border-bottom:1px solid #666;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-mail-sent-ok,
div.wpcf7-response-output{
	padding:15px!important;
	border:none!important;
	margin:0 auto!important;
	text-align:center;
	background:#ea6354;
	border-radius:30px;
	color:#fff;
}
.custom-wpcf7c-confirmed .spam{
	display:none;
}


/* form
-------------------------------------------------------------------*/
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="radio"],
input[type="checkbox"],
input[type="number"],
label,
button {
	cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
}
input[type="hidden"] {
	*float: left;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
textarea,
select{
	width: calc(100% - 42px);
	outline: none;
	-webkit-appearance: none;
	border: 1px solid #ddd ;
	background-color: #FFFFFF !important;
	padding:15px 20px;
	font-size:13px;
}

*[class*="disabled"],
*:disabled {
    cursor: default !important;
}



/* css checkbox */
input[type=checkbox] ,
input[type=radio] {
	display: none;
}
.wpcf7-list-item-label {
    position: relative;
    padding: 0 20px 0 25px;
}
.wpcf7-list-item-label:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #ddd;
	background:#fff;
}
input[type=checkbox]:checked + .wpcf7-list-item-label{
  color: #ea6354;
}
input[type=checkbox]:checked + .wpcf7-list-item-label:after,
input[type=radio]:checked + .wpcf7-list-item-label:after{
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #ea6354;
	border-right: 3px solid #ea6354;
}

/* css btn */
#back,
#confirm,
input[type="submit"]{
	background:url(./img/more.svg) no-repeat left center;
	display:inline-block;
	text-decoration:none;
	font-size:14px;
	color:#4381b7!important;
	padding:5px 0 5px 35px;
	letter-spacing:0.1em;
	border:none;
	border-bottom:1px solid rgba(255,255,255,0);
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
	-webkit-appearance: none;
	margin:0 15px;
}

#confirm:hover,
#back:hover,
input[type="submit"]:hover{
	border-color:#4381b7;
	transform:0.2s;
}


/* 確認画面  */
form.wpcf7-form{
	margin-top: -120px;
	padding-top: 120px;
}
input:-webkit-autofill.wpcf7c-conf {
	-webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
	border: none !important;
	background: #fff !important;
}
input:-webkit-autofill.wpcf7c-conf:focus {
	border: none !important;
}
.wpcf7c-conf {
	background: #fff !important;
	border-color: #fff !important;
}
.wpcf7c-conf:focus {
	border-color: transparent !important;
}
.custom-wpcf7c-confirmed input[type=checkbox] ,
.custom-wpcf7c-confirmed input[type=radio] {
	display:block!important;
	float:left;
	margin:10px 0 0 0;
}
.custom-wpcf7c-confirmed .wpcf7-list-item-label {
    padding: 0 20px 0 15px;
}
.custom-wpcf7c-confirmed .wpcf7-list-item-label:before {
	content: none;
	display: none;
}
