@charset "UTF-8";
/*
Theme Name: tabuchi-design
Theme URI: /wp-content/themes/tabuchi-design
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: normal;
	font-weight: 400;
	src: local("Noto Sans CJK JP Regular"),
		url('fonts/NotoSansJP-Regular.otf') format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: bold;
	font-weight: 600;
	src: local("Noto Sans CJK JP Medium"),
		url('fonts/NotoSansJP-Medium.otf') format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: bold;
	font-weight: 700;
	src: local("Noto Sans CJK JP Bold"),
		url('fonts/NotoSansJP-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.05em;
	font-weight: 400;
}
body{
	overflow-x: hidden;
	letter-spacing:0.05em;
	position:relative;
	color:#424139;
	font-weight: 400;
	margin:0;
	padding:0;
	background:#faf4ec;
}
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:#424139;
}
p, li, dt, dd,th,td{
	font-size: 16px;
	line-height:200%;
	margin:0 0 30px 0;
}
a {
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
	text-decoration:underline;
	color:#2d5d8a;
}
a img:hover {
	opacity: 0.6;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
a:hover {
	color:#2d5d8a;
	text-decoration:none;
}
img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	max-width:100%;
}

@media screen and (max-width : 639px){
	p, li, dt, dd, th,td{
		line-height:180%;
		margin-bottom:20px;
		font-size:14px;
	}
}

/* container / flex
-------------------------------------------------------------------*/
.uk-container{
	max-width:1600px;
	margin:0 auto;
	padding:0 40px;
	display:block;
}
.uk-grid.uk-grid-collapse {
	margin-left: 0;
}
.uk-grid.uk-grid-collapse >* {
	padding-left: 0;
}
.uk-align-right,
.single .alignright{
	float:right;
	margin:0 0 0 40px;
}
.uk-align-left,
.single .alignleft{
	float:left;
	margin:0 40px 0 0;
}

@media screen and (max-width : 959px){
	.uk-container{
		padding:0 30px;
	}
}
@media screen and (max-width : 639px){
	.uk-container{
		padding:0 20px;
	}
	.uk-align-right,
	.uk-align-left,
	.single .alignright,
	.single .alignleft{
		display:block;
		float:none;
		margin:0 auto 20px;
	}
	.uk-align-right img,
	.uk-align-left img{
		display:block;
		margin:0 auto ;
	}
	.uk-align-right img.width100,
	.uk-align-left img.width100{
		max-width:100%;
	}
}


/* 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
-------------------------------------------------------------------*/

.bold{
	font-weight:bold;
}
.center{
	text-align:center;
}
.strong,
strong{
	font-weight:600;
	color:#fff;
	padding:0 5px 2px;
	letter-spacing:0.05em;
	position:relative;
	background:#2d5d8a;
	margin:0 5px;
}
.fonts{
	font-size:80%;
}
.fontl{
	font-size:120%;
}
.ttl_font{
	font-family: "fot-tsukubrdgothic-std", sans-serif;
	font-weight: 700;
	font-style: normal;
}
@media screen and (max-width : 639px){
	.fonts{
		font-size:12px;
	}
}


/* table sheet style
-------------------------------------------------------------------*/
table.sheet {
	border-collapse:collapse;
	border-spacing:0px;
	border-bottom: none;
	margin-bottom:25px;
	width:100%;
}
.sheet th, .sheet td {
	padding: 15px 20px;
	text-align: left;
	vertical-align:middle;
	line-height:160%;
	background:#fff;
}
.sheet tr{
	border-bottom:1px solid #ddd;
}
.sheet tr:first-child{
	border-top:1px solid #ddd;
}
.sheet th {
	font-weight:600;
	background:#f7ecd7;
}
.single .sheet td {
	font-size:90%;
}
.sheet td ol.list{
	margin:0;
}
.sheet td ul.list{
	padding-left:10px;
	margin:0;
}
.sheet td ul.list li {
	margin:0;
	text-align:left;
	line-height:160%;
	font-size:90%;
}
.sheet td ul.list li:last-child {
	margin:0;
}
.sheet td img {
	vertical-align:middle;
}
.sheet th img {
	margin:10px 0 0 0;
}
/* table price
---------------------------------------------*/
table.price th{
	padding: 8px 15px;
	line-height:140%;
	text-align:center;
}
table.price td{
	padding: 8px 10px;
	border-left:solid 1px #eee;
	text-align:center;
}
table.price tr:first-child td{
	background:#f7f7f7;
	font-weight:600;
}
table.price tr th:first-child{
	width:22%;
}
table.price td:last-child{
	width:20%;
}

table.price tr:first-child td:first-child{
	border-left:none;
}
table.price td img{
	display:block;
	margin:0 auto;
	max-width:initial;
}

/* table other
---------------------------------------------*/
table.center td,
table.center th{
	text-align:center;
}
table td .fonts,
table td.fonts{
	font-size:12px;
	color:#666;
	line-height:140%;
}
.sheet30 th {
	width:30%;
}
.sheetEqual  {
	table-layout: fixed;
}
table.small td,
table.small th,
table.small td li{
	font-size:13px;
}


@media screen and (max-width : 639px){
	.sheet th, .sheet td,.sheet td ul.list li {
		font-size:14px;
	}
	.single .sheet td {
		font-size:14px;
	}
	table.sheet td{
		padding:15px;
	}
	table.price th img{
		display:block;
	}
	table.spblock th,
	table.spblock td{
		display:block;
		margin:0;
		width:auto;
		padding:10px;
	}
	table.spblock th{
		background:#f7ecd7;
		padding:5px 10px;
	}

	table.price th,
	table.price td{
		padding: 5px 10px;
	}
}


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

/*	dl style
-------------------------------------------------------------------*/
dl.dllist{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	border-top:1px solid #ddd;
}
dl.dllist dt,
dl.dllist dd{
	padding:10px;
	border-bottom:1px solid #ddd;
	margin:0;
}
dl.dllist dt{
	width:calc(20% - 20px);
	color:#00407a;
	font-weight:700;
}
dl.dllist dd{
	width:calc(80% - 20px);
}

@media screen and (max-width : 639px){
	dl.dllist dt,
	dl.dllist dd{
		border-bottom:none;
		margin:0;
	}
	dl.dllist dt{
		width:100%;
		padding:10px 10px 5px;
		font-size:16px;
	}
	dl.dllist dd{
		width:100%;
		border-bottom:1px solid #ddd;
		padding:0 10px 10px 10px;
	}
}

/* list style
-------------------------------------------------------------------*/
ul.list{
	padding-left:15px;
	margin:0 0 25px;
	overflow:hidden;
}
ul.list li{
	padding-left:25px;
	margin:5px 0;
	position:relative;
	list-style:none;
}

ul.list li::before {
	content: "";
	width: 0.8em;
	height: 0.8em;
	background: #2d5d8a;
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 0.6em;
}

ol.list{
	counter-reset: my-counter;
	list-style: none;
	padding-left:30px;
	margin:0 0 25px;
	overflow:hidden;
}
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: #2d5d8a;
	color: #fff;
	display: block;
	float: left;
	line-height: 160%;
	margin-left: -35px;
	text-align: center;
	height: 1.6em;
	width: 1.6em;
	border-radius: 50%;
	margin-top:3px;
}

ul.check {
	padding:0;
	margin:0 0 40px;
	overflow:hidden;
}
ul.check li{
	padding-left:35px;
	position:relative;
	margin:5px 0;
	font-size:18px;
}
ul.check li::before {
	content: "";
	top: 50%;
	transform: translatey(-50%);
	left: 0;
	width: 20px;
	height: 20px;
	border: 1px solid #2d5d8a;
	background-color: #2d5d8a;
	box-sizing: border-box;
	position: absolute;
	display: block;
	pointer-events: none;
	border-radius:0;
}
ul.check li::after {
	content: "";
	top: calc(50% - 8px);
	transform: translatey(-50%);
	left: 6px;
	width: 8px;
	height: 13px;
	border: 3px solid #fff;
	border-top: none;
	border-left: none;
	transform: rotate(45deg);
	transform-origin: 50% 50%;
	transition: 0.3s;
	box-sizing: border-box;
	position: absolute;
	display: block;
	pointer-events: none;
}
@media screen and (max-width : 639px){
	ol.list li:before{
		margin-top:0;
	}
}
/*	tab menu
-------------------------------------------------------------------*/
ul.tab{
	margin:0 ;
	padding:0;
}
ul.tab li{
	display:block;
	list-style-type:none;
	margin:0 0 25px;
}
ul.tab li a{
	color:#424139;
	display:block;
	text-decoration:none;
	font-size:16px;
	position:relative;
	font-weight:600;
}
ul.tab li a:hover,
ul.tab li a.active{
	color:#2d5d8a;
	padding-left:20px;
}
ul.tab li a:hover:before,
ul.tab li a.active:before{
	content:"";
	width: 12px;
	aspect-ratio: 1 / 1;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
	background:#2d5d8a;
	border-radius:6px;
}
.tabContent{
	display: none;
}
@media screen and (max-width : 959px){
	ul.tab li{
		display:inline-block;
		margin:0 30px 25px;
	}
}
@media screen and (max-width : 639px){
	ul.tab li{
		margin:0 20px 20px 0;
	}
	ul.tab li a{
		font-size:14px;
	}
}


/* 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: 0;
	background:#fff;
}
.accordion-area li:last-child{
	border-bottom: 1px solid #ddd;
}
.accordion-area section {
	border-top: 1px solid #ddd;
}

/*アコーディオンタイトル*/
.faq_title {
	position: relative;/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	font-weight: normal;
	padding: 20px 40px 20px 15px;
	transition: all .5s ease;
	margin:0;
}
.faq_title span{
	position: relative;
	padding-left:35px;
	display:inline-block;
}
.faq_title span:before{
	content:"Q.";
	position:absolute;
	top:50%;
	left:0;
	color:#3d4159;
	transform:translatey(-50%);
	font-size:160%;
}

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

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

/*アコーディオンで現れるエリア*/
.faq_box {
	display: none;/*はじめは非表示*/
	background: #f5f5f5;
	margin:0 0 30px;
	padding: 30px 30px 30px 60px;
	position:relative;
	border-radius:10px;
}
.faq_box:before {
	content:"A.";
	position:absolute;
	top:50%;
	left:25px;
	color:#fdcd07;
	transform:translatey(-50%);
	font-size:160%;
}
.faq_box p:last-child{
	margin:0;
}

@media screen and (max-width : 639px){
	.faq_box {
		margin:0 0 20px;
		padding: 20px 20px 20px 50px;
	}
	.faq_title {
		padding: 15px 40px 15px 10px;
	}
	.faq_title span{
		padding-left:30px;
	}
	.faq_box:before {
		left:15px;
	}
}



/* fadeIn
-------------------------------------------------------------------*/
.fade_in {
	opacity: 0;
	transition-duration: 1000ms;
	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;
	z-index:10000;
	overflow:hidden;
	margin:0;
	padding:0;
	right: 0;
	bottom:0;
	width:100%;
}
#sp-contact li{
	margin:0;
	list-style:none;
	width:50%;
	float:left;
}
#sp-contact li a{
	display:block;
	color:#fff;
	text-decoration:none;
	text-align:center;
	padding: 20px;
	background:#2d5d8a url(img/icon_tel.svg) no-repeat 35px center/22px;
	border-right:1px solid #fff;
	font-size:22px;
	font-weight:500;
}
#sp-contact li:last-child a{
	background:#d4cb8e url(img/icon_yoyaku.svg) no-repeat 35px center/25px ;
	border-right:none;
}
#sp-contact li a:hover{
	opacity:0.6;
}
#sp-contact li a span{
	display:block;
	font-size:10px;
	color:#fff;
	line-height:110%;
}
@media screen and (max-width : 959px){
	body{
		padding-bottom:69px;
	}
}
@media screen and (max-width : 639px){
	body{
		padding-bottom:46px;
	}
	#sp-contact li a,
	#sp-contact li:last-child a{
		padding: 10px 5px 10px 25px;
		font-size:14px;
		background-position:15px center;
	}
}
@media screen and (min-width : 960px){
	#sp-contact{
		display:none!important;
	}
}


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

/* header
-------------------------------------------------------------------*/
header{
	width:100%;
	height:120px;
	z-index:970;
	position:relative;
}
header.fixed{
	position:fixed;
}
header.fixed:hover{
	background:rgba(255,255,255,0.7)
}
header .uk-grid.head{
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-align-items: center;
	align-items: center;
}
header .uk-grid.head{
	position:relative;
}
header .uk-grid.head >*:first-child{
	width:40%;
	max-width:650px;
}
header .logo{
	opacity:0;
}
header.fixed .logo{
	opacity:1;
	margin:0 0 0 30px;
	position:relative;
}
.logo a:hover img{
	opacity:1;
}
.head_contact{
	display:flex;
	justify-content: center;
	align-items: center;
	width:140px;
	aspect-ratio: 1 / 1;
	background:#d4cb8e ;
	border-radius:70px;
	margin:-20px -20px 0 50px;
	transition:0.4s;
}
.head_contact a{
	color:#fff;
	letter-spacing:0.02em;
	text-align:center;
	display:block;
	position:relative;
	text-decoration:none;
	font-size:16px;
	background:url(img/icon_yoyaku.svg) no-repeat center top/30px;
	padding-top:40px;
	margin:10px 10px 0 0 ;
	line-height:120%;
}
.head_contact a span{
	color:#fff;
	font-size:12px;
}
.head_contact:hover{
	background:#c1b772 ;
}
.head_tel{
	position:absolute;
	top:140px;
	right:20px;
}
.head_tel a{
	text-decoration:none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.head_tel_txt{
	border-radius:35px 0 0 35px;
	background:#fff;
	color:#2d5d8a;
	text-align:center;
	height:70px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:0 50px 0 35px;
	margin-right:-35px;
	opacity:0;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .4s;
}
.head_tel a:hover .head_tel_txt{
	opacity:1;
	transform-origin: right top;
	transform: scale(1, 1);
}
.head_tel_txt p{
	color:#2d5d8a;
	margin:0;
	font-size:20px;
	line-height:110%;
}
.head_tel_txt span{
	display:block;
	color:#2d5d8a;
	font-size:12px;
}
.head_tel_btn{
	background:#2d5d8a url(img/icon_tel.svg) no-repeat center center/27px;
	width:70px;
	aspect-ratio: 1 / 1;
	border-radius:35px;
	z-index:100;
}



@media screen and (max-width : 959px){
	header,
	header .uk-grid.head{
		height:80px;
	}
	header .uk-grid.head >*:first-child{
		width:40%;
	}
	header .uk-grid.head{
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	.head_contact,
	.head_tel_btn{
		display:none;
	}
	header.fixed .logo img{
		height:70px;
		width:auto;
	}

}
@media screen and (max-width : 639px){
	header,
	header .uk-grid.head{
		height:50px;
	}
	header .uk-grid.head >*:first-child{
		width:70%;
	}
	header.fixed .logo img{
		height:50px;
	}
	header.fixed .logo{
		margin:0 0 0 10px;
	}
}

/* navigation
-------------------------------------------------------------------*/
#nav{
	display:flex;
	vertical-align:middle;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	margin:0 0 0 auto;
	width:auto;
}

.nav_items{
	padding:0 0 0 0;
	margin:10px -25px 0 0;
	position:relative;
}

.nav_items > li {
	display:block;
	margin:  0;
	padding:0;
	position:relative;
	text-align:left;
	float:left;
	text-align:center;
}
.nav_items > li > a,
.nav_items > li > span.nolink{
	text-decoration:none;
	color:#424139;
	font-size:16px;
	font-size: clamp(14px, 1vw, 16px);
	letter-spacing:0.05em;
	margin:0 20px;
	padding:15px 0;
	display:block;
	line-height:100%;
	position:relative;
	
}
.nav_items > li > a:hover,
.nav_items > li > span.nolink:hover{
	color:#2d5d8a;
}
.nav_items > li > a::before,
.nav_items > li > span.nolink:before{
	content:"";
	background:#2d5d8a;
	width:50%;
	height:2px;
	position:absolute;
	bottom:0;
	left:25%;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
}
.nav_items > li > a:hover:before,
.nav_items > li > span.nolink:hover:before{
	transform-origin: center top;
	transform: scale(1, 1);
}
@media screen and (max-width : 1480px){
	.nav_items > li > a,
	.nav_items > li > span.nolink{
		padding:10px 15px;
	}
}

@media screen and (max-width : 959px){
	#nav{
		display:none;
	}
}

/*Nav  シンプルプルダウン
-------------------------------------------------------------------*/

#nav li.has-child > div{
	position: absolute;
	left:0;
	top:50px;
	z-index: 50;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	background:#eabe6b;
	width:400px;
	margin:0;
}
#nav ul.nav_items li:last-child > div{
	right:0;
	left:auto;
}
#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;
	width:50%;
	padding:0;
	float:left;
}
#nav ul li ul li a{
	display:block;
	font-size:14px;
	color: #fff;
	text-decoration:none;
	line-height:140%;
	text-align:left;
	margin:0;
	display: flex;
	align-items: center;
	padding:10px 15px 10px 35px;
	position:relative;
	border-top:1px solid #fff;
	background:url(img/more.svg) no-repeat 15px center/10px;
}
#nav ul li ul li:nth-child(odd) a{
	border-right:1px solid #fff;
}
#nav ul li ul li:nth-child(2) a,
#nav ul li ul li:first-child a{
	border-top:none;
}
#nav ul.nav_items li:first-child ul li a{
	border-bottom:1px solid #fff;
	border-top:none;
}
#nav ul.nav_items li:first-child ul li:last-child a{
	border-bottom:none;
}
#nav ul li ul li a:hover{
	background-color:#e49d14;
}

/* menubtn
-------------------------------------------------------------------*/
.menu_btn{
	border:none;
	z-index:1000;
	vertical-align:middle;
	color:#424139;
	font-size:12px;
	margin: 0 ;
	height:80px;
	outline:0;
	letter-spacing:0.1em;
	text-align:center;
	padding:0;
	position:fixed;
	top:0;
	right:0;
	background:none;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 80px;
	height: 80px;
	text-align:center;
	display:block;
}
.menu-trigger:after{
	content:"MENU";
	text-align:center;
	color:#424139;
	font-size:14px;
	text-decoration:none;
	position:absolute;
	bottom:2px;
	left:50%;
	transform:translatex(-50%);
}
button.active .menu-trigger:after{
	content:"CLOSE"
}
.menu-trigger span {
	position: absolute;
	left: 50%;
	transform:translateX(-50%);
	width: 36px;
	height: 3px;
	background-color: #424139;
}
button.active .menu-trigger span{
	background-color: #424139;
}
.menu-trigger span:nth-of-type(1) {
	top: 25px;
}
.menu-trigger span:nth-of-type(2) {
	top: 38px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 25px;
}
button.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(15px) rotate(-45deg);
	transform: translateY(15px) 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(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}
button.active .menu-trigger span {
	left: 30px;
}
@media screen and (min-width : 960px){
	.menu_btn{
		display:none!important;
	}
}
@media screen and (max-width : 959px){
	button.active .menu-trigger span {
		left: 20px;
	}
}
@media screen and (max-width : 639px){
	.menu_btn{
		height:50px;
		top:0;
		transform:none;
	}
	.menu-trigger {
		position: relative;
		width: 50px;
		height: 50px;
	}
	.menu-trigger span {
		width: 30px;
		height: 2px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 8px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 17px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 22px;
	}
	button.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(-45deg);
		transform: translateY(8px) rotate(-45deg);
	}
	button.active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}
	button.active .menu-trigger span {
		left: 10px;
	}
	.menu-trigger:after{
		font-size:12px;
		bottom:5px;
		writing-mode: horizontal-tb;
	}
}
/* toggle_nav
-------------------------------*/
#toggle_nav{
	position:fixed;
	z-index: 999;
	top:0;
	right: -120%;
	width:100%;
	height:100vh;
	background:rgba(255,255,255,0.9);
	transition: all 0.7s;
	overflow-y: scroll;
}
.toggle_inner{
	padding:40px 60px 100px;
}
#toggle_nav.open{
	right: 0;
}
.toggle_inner .uk-grid{
	height:100%;
}
.toggle_inner .footer_sign{
	display:none;
}

@media screen and (max-width : 639px){
	.toggle_inner{
		padding:20px 40px 80px;
		height:auto;
	}
	.toggle_inner img{
		width:200px;
	}
}




/*==================================================================
index settings
===================================================================*/
/* keyv
-------------------------------------------------------------------*/
.keyv {
	position:relative;
	margin:40px 0 0;
}
.keyv img{
	max-width:80%;
}
.keyv_txt{
	position:absolute;
	bottom:20%;
	right:5%;
	max-width:25%;
}
.keyv_txt img{
	max-width:100%;
}



@media screen and (max-width : 959px){
	.keyv {
		margin:15px 0 0;
	}
}
@media screen and (max-width : 639px){
	.keyv {
		margin:10px 0 0;
	}

}

/* more style
-------------------------------------------------------------------*/
p.more{
	margin: 50px 40px 0 0 ;
	text-decoration:none;
	text-align:right;
}
.more a {
	color: #424139;
	text-decoration:none;
	display:inline-block;
	font-size:16px;
	position: relative;
	padding-right:40px;
}
.more a span{
	color: #424139;
	position: relative;
	display:inline-block;
	font-size:16px;
	font-weight:600;
}
.more a:before{
	position: absolute;
	top: 50%;
	right: 10px;
	transform:translateY(-50%);
	width: 20px;
	aspect-ratio: 1 / 1;
	content: '';
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	border-radius: 50%;
	background:#2d5d8a url(img/more.svg) no-repeat center center/10px;
	
}
.more a span:before{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	content: '';
	-webkit-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
	background:#424139;
	height:1px;
}
.more a:hover span{
	color:#2d5d8a;
}
.more a:hover span:before{
	bottom: 2px;
	background:#2d5d8a;
}
.more a:hover:before{
	right:0;
}
@media screen and (max-width : 959px){
	p.more{
		margin: 50px 10px 0 0 ;
	}
}

@media screen and (max-width : 639px){
	p.more{
		margin: 25px 0 0 0;
	}
	p.more a span{
		font-size:14px;
	}
}

/* btn
-------------------------------------------------------------------*/
.btn{
	margin: 80px 0 0 0 ;
	text-align:center;
}
.btn a {
	color: #fff;
	text-decoration:none;
	display:inline-block;
	font-size:16px;
	background:#2d5d8a;
	padding:12px 60px;
	text-align:center;
	border-radius:100px;
}
.btn a:hover{
	background:#164570;
}
@media screen and (max-width : 959px){
	.btn{
		margin: 40px 0 0 0;
	}
}
@media screen and (max-width : 639px){
	.btn{
		margin: 25px 0 0 0;
	}
	.btn a{
		font-size:14px;
	}
}

/* content
-------------------------------------------------------------------*/
.content{
	margin:0 0 160px;
}
@media screen and (max-width : 959px){
	.content{
		margin:0 0 80px;
	}

}
@media screen and (max-width : 639px){
	.content{
		margin:0 0 40px;
	}
}



/* top_title
-------------------------------------------------------------------*/
.top_title{
	margin:0 0 80px;
	line-height:180%;
	font-size:56px;
	letter-spacing:0;
	color:#2d5d8a;
	font-family: "fot-tsukubrdgothic-std", sans-serif;
    font-weight: 700;
}
.top_title span{
	display:block;
	font-size:22px;
	font-weight:bold;
	color:#424139;
	line-height:100%;
	position:relative;
	margin-top:10px;
	padding-left:50px;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
	letter-spacing:0.1em;
}
.top_title span:before{
	content:"";
	width:30px;
	height:2px;
	background:#424139;
	position:absolute;
	top:50%;
	left:0;
}
@media screen and (max-width : 959px){
	.top_title{
		margin:0 0 50px;
		padding:25px 0 0 0;
	}
	.top_title img{
		max-height:60px;
	}
}
@media screen and (max-width : 639px){
	.top_title{
		font-size:22px;
		margin:0 0 25px;
		line-height:160%;
		padding:15px 0 0 0;
	}
	.top_title span{
		font-size:12px;
		padding-left:25px;
	}
	.top_title span:before{
		width:15px;
		height:1px;
	}
}



/* topnews
-------------------------------------------------------------------*/


/* line-list
---------------------------------------*/
.line-list{
	padding:0;
	list-style:none;
	margin:0 auto;
}
.line-list li{
	margin:0;
}
.line-list li a{
	text-decoration:none;
	color:#424139;
	display:block;
	padding:20px 15px ;
	position:relative;
	transition:0.4s;
	border-bottom:1px solid #96958a;
	position:relative;
}
.line-list li:first-child a{
	border-top:1px solid #96958a;
}
.line-list li h3,
.line-list li h4{
	display:inline-block;
	font-size:16px;
	margin: 0 0 0 20px;
	vertical-align: middle;
	line-height:160%;
	width:calc(100% - 240px);
	font-weight:400;
	transition:0.4s;
}

.line-list li a:hover{
	background:rgba(212,203,142,0.2);
}
.date{
	display:inline-block;
	color:#999;
	font-size:12px;
	line-height:100%;
	margin:0 20px 0 0;
	vertical-align:middle;
}
.i-cat{
	display:inline-block;
	text-align:center;
	color:#fff;
	margin:10px 0;
	font-size:12px;
	line-height:100%;
	text-transform:uppercase;
	vertical-align: middle;
	margin-right:5px;
	background:#d4cb8e;
	padding:6px 15px 6px 15px ;
	min-width:5em;
	border-radius:20px;
}
.i-column {
	background:#2d5d8a;
}

@media screen and (max-width : 639px){
	.date{
		margin:0;
		font-size:10px;
	}
	.line-list li a{
		padding:8px 5px 10px ;
	}
	.line-list li h3{
		display:block;
		margin: 3px 0 2px 0 ;
		width:100%;
		font-size:14px;
		line-height:150%;
	}
	.i-cat{
		margin:0 0 0 10px;
		font-size:10px;
	}
}

/* Topabout
-------------------------------------------------------------------*/
.Topabout .uk-grid{
	justify-content: center;
	align-items: center;
	margin:0 0 100px 0;
}
.about_bg{
	background:url(img/about_bg.jpg) no-repeat fixed center 60%/100%;
	height:440px;
	border-top:solid 10px #fff;
	border-bottom:solid 10px #fff;
	margin:80px 0 120px;
}
.about_img{
	border-radius:20px;
	border:solid #fff 10px;
	max-width:640px;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	aspect-ratio: 12 / 10;
	margin:0 auto;
}
.about_img01{
	background-image:url(img/about_img01.jpg);
}
.about_img02{
	background-image:url(img/about_img02.jpg);
}
.about_img03{
	background-image:url(img/about_img03.jpg);
}
.about_txt{
	max-width:640px;
	margin:0 auto;
}
.about_txt h3{
	color:#2d5d8a;
	font-size:26px;
	letter-spacing:0.1em;
	margin:0 0 40px;
	font-weight:600;
	line-height:200%;
}
.about_txt >*last-child{
	margin:0;
}
@media screen and (max-width : 959px){
	.about_txt h3{
		margin-top:40px;
	}
	.Topabout .uk-grid{
		margin:0 0 40px 0;
	}
	.about_bg{
		margin:60px 0 80px;
		height:260px;
	}
	.about_img{
		aspect-ratio: 3 / 2;
	}
}
@media screen and (max-width : 639px){
	.Topabout .uk-grid{
		margin:0 0 30px 0;
	}
	.about_bg{
		height:160px;
		border-top:solid 5px #fff;
		border-bottom:solid 5px #fff;
		margin:30px 0 40px;
	}
	.about_img{
		border-radius:10px;
		border:solid #fff 5px;
	}
	.about_txt h3{
		font-size:16px;
		margin:30px 0 20px;
		line-height:180%;
	}
}



/* Topabout
-------------------------------------------------------------------*/



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

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

}



/* Topabout
-------------------------------------------------------------------*/



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

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

}




/* Topabout
-------------------------------------------------------------------*/



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

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

}




/* Topabout
-------------------------------------------------------------------*/



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

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

}




/* Topabout
-------------------------------------------------------------------*/



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

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

}





/*==================================================================
page settings
===================================================================*/
/* 固定ページ
-------------------------------------------------------------------*/
.contents {
	margin:0 auto ;
	max-width:1080px;
}

.contents_area .uk-grid >* img{
	margin:0 auto 20px;
}
.contents_area section,
.contents div{
	overflow:hidden;
}
.contents_area section:first-child > h2{
	margin-top:0;
}
.contents h2,
.contents h3,
.contents h4{
	clear:both;
}
.contents_area h2 + .uk-grid >* h3,
.contents_area h3 + .uk-grid >* h4{
	margin-top:0;
}
.contents_area h2 + .uk-grid >*>*:last-child {
	margin-bottom:40px;
}
.contents .top_title{
	margin:40px 0 120px;
	padding:0;
}
.contents_area p.more{
	margin-bottom:40px;
}
.contents .uk-grid > p.more {
	display:block;
	max-width:initial;
	width:auto;
}
.contents h3 span.fonts{
	font-size:14px;
}
.contents h3 span.strong{
	font-size:12px;
}
@media screen and (max-width : 959px){
	.contents .top_title{
		margin:0 0 80px;
	}
}
@media screen and (max-width : 639px){
	.contents .top_title{
		margin:0 0 50px;
	}
	.contents_area p.more{
		margin-bottom:20px;
	}
	.contents .uk-grid > p.more {
		margin-top:15px;
		width:100%;
	}
}

/* page_keyv
-------------------------------------------------------------------*/
.page_keyv{
	background:url(img/footer_img.jpg) no-repeat center center/cover ;
	height:260px;
	position:relative;
}

@media screen and (max-width : 959px){
	.page_keyv{
		height:200px;
	}

}
@media screen and (max-width : 639px){
	.page_keyv{
		height:140px;
	}
}

/* bl
-------------------------------------------------------------------*/
.bl{
	padding: 20px 40px;
	margin:0 auto;
}
.bl ul{
	padding:0;
	margin:0;
}
.bl li,
.bl ul >li:not(.uk-active)>span,
.bl a,
.bl a span{
	position:relative;
	display:inline-block;
	font-size:12px;
	margin:0;
	color:#443227;

}
.bl li:after{
	content:" / ";
	margin:0 5px;
}
.bl li:last-child:after{
	content:none;
}
.bl ul >li:nth-child(4) span{
	max-width:20em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	margin-top:0.5em;
	line-height:100%;
}
.bl >*{
	flex:initial;
}
.bl ul >li > a{
	text-decoration:none;
}
.bl ul >li > a span:hover{
	text-decoration:underline;
}
.bl ul >li > a + a {
	position:relative;
}
.bl ul >li > a + a:before {
	content:",";
	margin:0 5px;
}
@media screen and (max-width : 959px){
	.bl{
		padding: 20px;
	}
}
@media screen and (max-width : 639px){
	.bl{
		padding: 10px;
	}
	.bl ul{
	float:none;
}
	.bl a,
	.bl,
	.bl >li:not(.uk-active)>span,
	.bl ul li,
	.bl ul li span{
		font-size:10px;
	}
	.bl ul >li:nth-child(4) span,
	.bl ul >li:nth-child(3) span{
		font-size:10px;
	}
	.bl >:nth-child(n+2):not(.uk-first-column)::before{
		margin: 0 5px;
	}
	.bl >* >*{
		display:inline;
	}
}




/* page_ttl
-------------------------------------------------------------------*/
.title1,
.single h2{
	margin:80px 0 60px 0;
	padding:35px 15px 55px;
	font-size:26px;
	font-weight:600;
	letter-spacing:0.1em;
	line-height:160%;
	position:relative;
	text-align:center;
	color:#222;
}
.title1:before,
.single h2:before{
	content:"";
	background:url(img/icon.svg) no-repeat center center/contain;
	width:60px;
	height:30px;
	position:absolute;
	bottom:0;
	left:50%;
	transform:translatex(-50%);
}
.title1:after,
.single h2:after{
	content:"";
	border-top:double 5px #55b0d9;
	width:20%;
	height:4px;
	position:absolute;
	top:0;
	left:50%;
	transform:translatex(-50%);
}

.title2,
.single h3{
	font-size:19px;
	margin:40px 0 30px 0;
	font-weight:600;
	letter-spacing:0.1em;
	padding:15px 15px 15px 25px;
	position:relative;
	color:#222;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	background:#f7f7f7;
}
.title2:before,
.single h3:before{
	content:"";
	background:#00407a;
	height:70%;
	width:6px;
	position:absolute;
	top:15%;
	left:0;
}
p.title2{
	margin-top:0;
}
.title2 span,
.single h3 span{
	font-size:70%;
	color:#666;
	display:inline-block;
	margin-left:15px;
	vertical-align:middle;
}
.title3,
.single h4{
	font-size:18px;
	margin:30px 0 20px 0;
	padding:0 0 10px 10px;
	letter-spacing:0.05em;
	border-bottom:double 3px #ddd;
	font-weight:600;
	color:#222;
}

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

}
@media screen and (max-width : 639px){
	.title1,
	.single h2{
		margin:30px 0 20px 0;
		padding:20px 0 40px;
		font-size:17px;
		letter-spacing:0.05em;
	}
	.title1:before,
	.single h2:before{
		height:20px;
	}
	.title2,
	.single h3{
		font-size:15px;
		margin:20px 0 15px 0;
		letter-spacing:0.05em;
		padding:12px 10px 12px 20px;
	}
	.title3,
	.single h4{
		margin:20px 0 15px 0;
		font-size:14px;
		padding:10px 0;
	}
	.single img{
		display:block;
		margin:0 auto 20px;
	}

}

/* flow
-------------------------------------------------------------------*/
.flow{
	background:#fcf6ea;
	padding:30px  40px 40px;
	border-radius:15px;
	clear:both;
	overflow:visible;
}
.flow .title2{
	margin-top:0;
	background:#fff;
}
.flow >*:last-child{
	margin-bottom:0;
}
.triangle{
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #fcf6ea;
	margin:0 auto 20px;
}
@media screen and (max-width : 639px){
	.flow{
		padding:15px 20px 20px;
	}
	.triangle{
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #fcf6ea;
	margin:0 auto 15px;
}
}


/* text_box
-------------------------------------------------------------------*/
.sBox{
	padding:30px 60px;
	margin:30px 0;
	background:#f7f7f7;
	clear:both;
	border-radius:10px;
}
.sBox > *:last-child{
	margin-bottom:0;
}
.sBox > *:first-child{
	margin-top:0;
}
@media screen and (max-width : 639px){
	.sBox{
		padding:15px;
	}
}


/* 目次
-------------------------------------------------------------------*/
div#ez-toc-container{
	width:calc(100% - 62px)!important;
	padding:30px;
	border-radius:0;
	margin-bottom:60px;
	box-shadow:6px 6px 20px rgba(189,189,189,0.1);
	border-color:#aaa;
}
#ez-toc-container.counter-hierarchy ul{
	margin-top:20px;
}

#ez-toc-container.counter-hierarchy ul li a{
	display:block;
	border-bottom:1px dashed #aaa;
	padding:5px 45px 5px 10px;
	background:url(img/more.svg) no-repeat right 15px center/20px;
	color:#111;
}
#ez-toc-container.counter-hierarchy ul li a:hover{
	background:#fff url(img/more.svg) no-repeat right 10px center/20px;
	text-decoration:none;
}
#ez-toc-container.counter-hierarchy ul li:last-child{
	margin-bottom:10px;
}
.ez-toc-title-container{
	text-align:center;
}
@media screen and (max-width : 959px){

}
@media screen and (max-width : 639px){
	div#ez-toc-container{
		width:calc(100% - 45px)!important;
		padding:15px 15px 10px ;
		margin-bottom:30px;
	}
	#ez-toc-container.counter-hierarchy ul{
		margin-top:15px;
	}
	#ez-toc-container.counter-hierarchy ul li a,
	#ez-toc-container.counter-hierarchy ul li a:hover{
		background-position:right 5px center;
	}

}


/* faq_list
-------------------------------------------------------------------*/
.faq_list{
	padding:0;
	margin:0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left:-30px;
}
.faq_list li{
	list-style:none;
	padding:0;
	width:calc(33.33% - 30px);
	margin:0 0 15px 0;
	padding-left:30px;
}
.faq_list li a{
	text-decoration:none;
	display:block;
	font-weight:600;
	padding:15px 60px 15px 15px;
	background:#f5f5f5;
	border-radius:5px;
	position:relative;
	height:100%;
}
.faq_list li a:before{
	left:auto;
	right:15px;
	top:50%;
	transform:translatey(-50%);
}
.faq_list li a:hover{
	background:#f7ea81;
	color:#3d4159;
}
.faq_list li a:hover:before{
	right:5px;
}
@media screen and (max-width : 959px){
	.faq_list li{
		width:calc(50% - 30px);
	}
}
@media screen and (max-width : 639px){
	.faq_list{
		margin-left:0;
	}
	.faq_list li{
		width:100%;
		margin:0 0 5px 0;
		padding-left:0;
	}
}

.movie iframe{
	aspect-ratio: 16 / 9;
}


/*==================================================================
single settings
===================================================================*/
/* 投稿ページ,アーカイブ
-------------------------------------------------------------------*/
.singlepage{
	margin:40px auto 0;
}
.singlepage .top_title{
	margin:0 0 30px;
	font-size:24px;
	letter-spacing:0.02em;
}
.singlepage .top_title span{
	margin-top:10px;
}
.singlepage .uk-grid{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.singlepage > .uk-grid >*:first-child{
	width:calc(77% - 70px);
	padding-right:70px;
} 
.singlepage > .uk-grid >*:last-child{
	width:23%;
} 
.single{
	background:#f7f7f7;
	padding:40px;
}
.single + .uk-grid {
	margin-left:0;
}
.single + .uk-grid >*{
	width:50%;
	padding-left:0;
} 
.single_more > *:first-child a{
	padding-right:30px;
	padding-left:80px;
}
.single_more > *:first-child a:before{
	transform:none;
	transform: rotate(180deg);/* 回転 */;
	right:auto;
	left:30px;
	top:calc(50% - 10px);
}
.single_more > *:first-child a:hover:before{
	left:20px;
}
.single_more >* p.more a{
	line-height:140%;
	font-size:13px;
	height: 1.5em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width:20em;
}
.single_more >* p.more a:before{
	width:20px;
	background-size:10px;
}
.single_cat {
	margin:30px 0 0 0 ;
	padding:20px 0 0 0;
	border-top:solid 1px #ddd;
}
.single_cat p{
	margin:0;
	font-size:14px;
}
.single_cat .i-cat{
	padding:0;
	background:none;
	margin:0;
	line-height:180%;
}
.single_cat .i-cat a{
	font-size:13px;
	padding:0;
	color:#fff;
	background:#e49d14;
	padding:0 15px;
	border-radius:30px
}

.single_cat .i-cat a:hover{
	background:#bf8313;
}
.single .top_title{
	margin:0;
	font-weight:600;
	font-size:36px;
	padding:0;
	text-transform: uppercase;
	color:#55b0d9;
}
.single .top_title span{
	display:block;
	font-size:14px;
	line-height:100%;
	margin:0;
	color:#666;
}
.single h1{
	font-size:20px;
	line-height:180%;
	text-align:center;
}
.archivelist .case-list li a > div:first-child{
	background-color:#f7f7f7;
}
@media screen and (max-width : 959px){
	.archivelist{
		width:100%;
	}
	.singlepage > .uk-grid >*:first-child{
		width:100%;
		padding-right:0;
	} 
	.single_more > * a{
		min-width:initial;
		display:block;
		margin:0 10px;
	}
}

@media screen and (max-width : 639px){
	.singlepage{
		margin:0 auto 0;
	}
	.uk-container .single{
		padding:20px 15px;
	}
	.singlepage .top_title{
		margin:0 0 10px;
		font-size:20px;
	}
	.singlepage .top_title span{
		margin-top:0;
		font-size:10px;
	}
	.singlepage .i-cat{
		margin-bottom:10px;
	}
	.singlepage .i-cat a{
		font-size:10px;
	}
	.single + .uk-grid >*{
		width:100%;
	} 
	.single_more >* p.more a{
		margin:0 ;
		max-width:initial;

	}
	.single_more >* p.more a:before{
		right:15px;
	}
	.single_more > *:first-child a:before{
		left:15px;
		top: calc(50% - 12px);
	}
	.single_more > *:first-child a {
		padding-right: 15px;
		padding-left: 50px;
	}
	.singlepage .uk-grid{
		display:block;
	}
	.single h1{
		font-size:16px;
		line-height:160%;
		margin:15px 0 5px;
	}
}


/*   single_case
-------------------------------------------------------------------*/
.single .date{
	text-align:right;
	margin:0 0 30px 0;
	padding:0 0 15px 0;
	display:block;
	border-bottom:3px double #ddd;
}
.case_single_img{
	margin:0 0 40px;
}
.case_single_img .uk-grid{
	justify-content: center;
	margin:0;
}
.case_single_img .uk-grid >*{
	width:calc(33.333% - 20px);
	padding:0;
	margin:0 10px;
}
.case_img{
	min-height:200px;
	margin-bottom:10px!important;
	background-size:contain;
	background-repeat:no-repeat;
	background-color:none;
	background-position:center top;
}
.single .case_single_img h2{
	border:none;
	padding:0;
	margin:0 0 20px;
	background:none;
}
.single .case_single_img h2:before{
	content:none;
}
.single .case_single_img h2 span{
	background: #55b0d9;
	color:#fff;
	padding:3px 15px 5px;
	font-size:14px;
	display:block;
	line-height:100%;
	border-radius:30px;
}
.case_comment{
	background:rgba(255,255,255,0.8);
	font-size:13px;
	text-align:left;
	margin-top:25px;
	line-height:180%;
}
@media screen and (max-width : 959px){
	.case_single_img{
		margin:0 0 30px;
	}
	.case_single_img .case_img{
		min-height:140px;
	}
}
@media screen and (max-width : 639px){
	.case_single_img{
		margin:0 0 20px;
	}
	.case_single_img .case_img{
		min-height:100px;
	}
	.case_single_img .uk-grid{
		display:flex;
	}
	.case_single_img .uk-grid >*{
		width:calc(50% - 10px);
		margin:0 5px;
	}
	.single .date{
		margin:0 0 15px 0;
		padding-bottom:15px;
	}
	.single .case_single_img h2{
		margin:0 0 10px;
	}
	.single .case_single_img h2 span{
		font-size:12px;
	}
	.case_comment{
		font-size:12px;
		margin-top:10px;
		line-height:160%;
	}
}


/*   pagination
-------------------------------------------------------------------*/
.pagination {
	width: 100%;
	text-align: center;
	z-index: 200;
	list-style-type: none;
	padding:0;
	margin:40px 0 0 0;
}

.pagination a {
	margin: 0 5px;
	width: 15px;
	height: 15px;
	display: inline-block;
	overflow: hidden;
}
.pagination a.next,
.pagination a.prev{
	width: 60px;
}
.pagination a.active {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}
.pagination,
.pagination li a,
.pagination a,
.pagination span,
.nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
}


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

/* 色変更箇所*/
.pagination li:not([class*="current"]) a:hover,
.pagination a:hover,
.pagination span.current{
	background:#55b0d9;
	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.current a {
	background:#55b0d9;
	cursor: default;
	pointer-events: none;
	color:#fff;
}



@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;
	}
	.pagination {
		margin:0;
	}
	.pagination a,
	.pagination span{
		min-width:26px;
		min-height:26px;
		font-size:12px;
	}
}




/*==================================================================
sidebar settings
===================================================================*/
aside li{
	list-style:none;
}
aside li a{
	text-decoration:none;
}
@media only screen and ( max-width: 959px ) {
	aside{
		display:none;
	}
}

/* side menu ttl
-------------------------------------------------------------------*/
.side_nav{
	margin-bottom:30px;
	border-bottom:none;
}
.side_nav a{
	color:#fff;
}
.side_nav > ul{
	padding:0 5px 5px 5px;
	margin:0;
}
.side_nav_ttl {
	padding:6px 10px;
	text-align:center;
	letter-spacing:0.2em;
	font-size:15px;
	font-weight:normal;
	margin:0;
	color:#fff;
	background:#55b0d9;
	border-radius:10px 10px 0 0;
}
.side_nav_ttl a{
	color:#fff;
	font-size:14px;
	text-decoration:none;
}


/* side menu list
-------------------------------------------------------------------*/
.side_nav_item ul {
	margin:0 ;
	border-top:none;
	background:#f7f7f7;
	padding:0 ;
}
.side_nav_item{
	margin:0;
}
.side_nav_item ul li {
	position:relative;
	margin:0;
}
.side_nav_item ul li a {
	display:block;
	padding:10px 40px 10px 20px;
	font-size:13px;
	line-height:160%;
	color:#222;
	border-bottom:1px dotted #ddd;
	position:relative;
}
.side_nav_item ul li a:before {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 15px;
    aspect-ratio: 1 / 1;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    border-radius: 50%;
    background: #55b0d9 url(img/more.svg) no-repeat center center / 8px;
}
.side_nav_item ul li:last-child a{
	border:none;
}
.side_nav_item ul li a:hover{
	background:#eee;
}
.side_nav_item ul li a:hover:before  {
	right: 10px;
}
.side_nav_item .date{
	display:block;
	margin:5px 0 5px 0;
	color:#999;
}
.side_nav_item .i-cat{
	font-size:10px;
}


/*==================================================================
footer settings
===================================================================*/
footer{
	background:url(img/bg.png) no-repeat right -220px bottom -10px;
	margin-top:160px;
}
/* cv
------------------------------------------------------------------*/

.cv_img {
	background:url(img/cv_img.jpg) no-repeat center top/cover;
	border-radius:30px;
	border:solid 10px #fff;
}
.cv .uk-grid.uk-grid-large >*:first-child{
	width:calc(50% - 140px);
}
.cv .uk-grid.uk-grid-large >*:last-child{
	width:50%;
}
.cv_content{
	padding:40px 0;
}
.cv_ttl{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin:0 0 40px;
}
.cv_ttl p{
	margin:0 0 0 60px;
}
.cv_content .more{
	text-align:left;
	margin:0;
}
.cv_content .more + p{
	background:#2d5d8a;
	color:#fff;
	text-align:center;
	border-radius:10px;
	margin:60px 0 40px;
	padding:15px 10px;
	font-size:20px;
}
.cv_contact div{
	display: flex;
	justify-content: center;
	align-items: stretch;
}
.cv_contact a{
	display:block;
	background:#d4cb8e url(img/icon_tel.svg) no-repeat 30px center/26px;
	font-size:26px;
	text-align:center;
	text-decoration:none;
	color:#fff;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius:50px;
	padding:10px 0 10px 26px;
}
.cv_contact >*:last-child a{
	background:#d4cb8e url(img/icon_yoyaku.svg) no-repeat 30px center/26px;
	font-size:22px;
}
.cv_txt{
	background:#fff;
	border-radius:20px;
	padding:50px 80px;
	margin-top:40px;
}
.cv_txt p{
	margin:0;
}
@media screen and (max-width : 959px){
	.cv .uk-grid.uk-grid-large >*:first-child{
		width:100%;
		height:400px;
	}
	.cv .uk-grid.uk-grid-large >*:last-child{
		width:100%;
	}
	footer{
		margin-top:80px;
	}

}
@media screen and (max-width : 639px){
	footer{
		margin-top:40px;
	}
	.footer_map iframe{
		height:240px;
	}
	.cv_txt {
		padding: 20px ;
		margin-top: 15px;
		border-radius:10px;
	}
	.cv_contact div{
		margin:0 0 10px;
	}
	.cv_content{
		padding:10px 0;
	}
	.cv_ttl{
		margin:0 0 20px;
	}
	.cv_ttl img{
		width:50%;
	}
	.cv_ttl p {
		margin: 0 0 0 20px;
		font-size:12px;
	}
	.cv_content .more + p {
		border-radius: 5px;
		margin: 20px 0 ;
		font-size: 17px;
	}
	.cv_contact a,
	.cv_contact >*:last-child a{
		font-size:18px;
	}
	.cv_img{
		border-radius:15px;
		border-width:5px;
	}
	.cv .uk-grid.uk-grid-large >*:first-child{
		height:200px;
	}

}



/* sitemap
-------------------------------------------------------------------*/
.sitemap{
	padding:80px 0;
}
.sitemap p{
	margin:0 0 15px;
	font-size:16px;
	color:#2d5d8a;
}
.sitemap ul{
	margin:0;
	padding:0;
}
.sitemap ul li{
	display:block;
	margin:0;
	line-height:200%;
}
.sitemap ul li a{
	text-decoration:none;
	color:#424139;
	position:relative;
	font-size:14px;
}
.sitemap ul li a:hover{
	color:#2d5d8a;
	text-decoration:underline;
}
.sitemap .uk-grid .uk-grid >*:last-child{
	align-items: flex-end;
	text-align:right;
}
.sitemap >.uk-grid >*:first-child{
	align-items: flex-end;
}
.sns{
	margin:20px 0 0 0;
}
.sns a{
	text-decoration:none;
	margin-right:15px;
	display:inline-block;
	margin-bottom:8px;
}
.sns a:hover img{
	opacity:1;
}
.sns span{
	font-size:14px;
	display:inline-block;
	position:relative;
	margin-left:10px;
	padding:5px 0;
}
.sns span:before{
	content:"";
	background:#424139;
	width:100%;
	height:1px;
	position:absolute;
	bottom:0;
	left:0;
	transition:0.2s;
}
.sns a:hover span{
	color:#2d5d8a;
}
.sns a:hover span:before{
	background:#2d5d8a;
	bottom:3px;
}
@media screen and (max-width : 959px){
	.sns{
		margin:20px 0 40px 0;
	}
	.sitemap{
		padding:0 0 80px 0;
	}
}

@media screen and (max-width : 639px){
	.sitemap p{
		margin:15px 0;
	}
	.sitemap ul li a{
		font-size:12px;
	}
	.sns{
		margin:20px 0 10px 0;
	}
	.sitemap{
		padding:0 0 40px 0;
	}
	.sns span{
		font-size:12px;
		margin-left:5px;
	}
	.sns img{
		width:25px;
	}
	footer .sitemap_logo{
		display:none;
	} 
}


/* sign
-------------------------------------------------------------------*/
.footer_sign{
	margin-top:40px;
}
.footer_sign p {
	text-align:right;
	color: #666;
	font-size:12px;
	margin:0;
	letter-spacing:0.1em;
	padding:0;
}
@media screen and (max-width : 639px){
	.footer_sign{
		margin-top:15px;
	}
	.footer_sign p {
		font-size:10px;
	}
}



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


/*==================================================================
  form setting
===================================================================*/
.indispensable{
	display:inline-block;
	font-size:12px;
	color:#fdcd07;
	line-height:140%;
	margin:0;
}
/* 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;
	border-radius:0;
}
input[type="text"].hasDatepicker{
	width: calc(50% - 42px);
}
select{
	width: 30%;
	background:url(./img/more.svg) no-repeat right 10px center/10px;
}
*[class*="disabled"],
*:disabled {
    cursor: default !important;
}


/* radio btn */
input[type=radio] {
	appearance: none;
	display: none;
}
input[type=radio] + span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}
input[type=radio] + span:before {
	font-family: "Font Awesome 5 Free";
	content: "\f111";
	display: inline-block;
	margin-right: 0.5em;
	font-weight: 300;
	color: #ddd;
	font-size:20px;
	vertical-align: middle;
	background:#fff;
	line-height:95%;
	border-radius:15px;
}
input[type=radio]:checked + span:before {
	content: "\f192";
	font-weight: 400;
	color: #fdcd07;
}
@media screen and (max-width : 639px){
	input[type=radio] + span {
		display:block;
	}
	.mw_wp_form .horizontal-item + .horizontal-item{
		margin-left:0!important;
	}
}

/* checkbox btn */
input[type=checkbox] {
	appearance: none;
	display: none;
}
input[type=checkbox] + span:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0c8";
	display: inline-block;
	margin-right: 0.5em;
	font-weight: 300;
	color: #ddd;
	font-size:20px;
	vertical-align: middle;
	background:#fff;
	line-height:95%;
	margin-bottom:0;
	border-radius:2px;
}
input[type=checkbox]:checked + span:before {
	content: "\f14a";
	font-weight: 400;
	color: #fdcd07;
}


/* css btn */
#back,
#confirm,
input[type="submit"]{
	display:inline-block;
	text-decoration:none;
	font-size:15px;
	color:#fff;
	padding:0;
	letter-spacing:0.1em;
	font-weight:600;
	text-align:center;
	background:#416723 url(img/more2.svg) no-repeat 20px center/10px;
	padding:12px 35px 12px 55px;
	min-width:180px;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
	-webkit-appearance: none;
	margin:0 15px;
	border:none;
	border-radius:0;
}

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