@charset "utf-8";
/*****************************************************
	
	全ての要素をリセット
	各ブラウザの表示を統一するための設定です
	
*****************************************************/
html {overflow-y: scroll;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin: 0;padding: 0;outline:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;}
table {	border-collapse: collapse;border-spacing: 0;}
caption,p {text-align: left;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;text-align:left;font-weight:normal;}
img,abbr,acronym,fieldset {border: 0;}
li {list-style-type: none;}
img{vertical-align:middle;}
.line {font-size:1px;line-height:1px;}
.right{
    text-align:right;
}
.center{
    text-align:center;
}

/*--- default ---*/
body {
	color: #4c4c4c;
	font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;
	line-height:1.7rem;
	letter-spacing:0.05rem;
	-webkit-text-size-adjust: 100%;
	font-weight: 400;
	background:#f0f0f0;
}
.f-ns-t{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
}
.f-ns-el{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.f-ns-l{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.f-ns-m{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.f-ns-sb{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.f-ns-b{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.f-ns-eb{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
.f-ns-black{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
table{
	border-collapse:collapse;
}

.clear{
	clear:both;}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*****************************************************
	
	コンテンツ
	
*****************************************************/
#wrap{
	width: 100%;
	height: auto;
	margin:0 auto;
	overflow:hidden;
	

}
a:link {
	color:#333;
	text-decoration:none;
}

a:visited{
	color:#333;
	text-decoration:none;
}

a:hover{                     
	text-decoration: none;
}

a:active{
	text-decoration:none;
}
.clear:after{
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
* html .clear            { zoom: 1; } /* IE6 */
*:first-child+html .clear { zoom: 1; } /* IE7 */
a,a img {
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}
a img:hover,.shopnav a:hover,.foot-nav a:hover  {
    opacity: 0.6;
    filter: alpha(opacity=60);
} 
a[href^="tel:"] {
    pointer-events: none;
}
@media screen and (max-width:768px)	{
a[href^="tel:"] {
    pointer-events: auto!important;
}

}
.ggmap {position: relative;padding-bottom: 56.25%;padding-top: 30px;height: 0;overflow: hidden;border:10px solid #fff;box-sizing: border-box;}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.bt{
 text-align:center;
 margin:3rem auto;
 
}
.bt a{
 display:inline-block;
	color:#fff;
 text-align:center;
 background:#ed7700;
 border-radius: 50px;
   padding: 0.75rem 1.5rem;
   margin: 0 auto;
   min-width:200px;
   text-align:center;
   box-shadow: 0px 0px 7px 0px #f0f0f0;
   transition-duration: .6s;
	font-size:0.9rem;
	box-sizing:border-box;
}
.bt a:hover{
   transform: scale(1.1);
	box-shadow: 10px 10px 15px 0px #cacaca;
}





.kugiri-line{
	margin:5rem auto;
	border-top:1.5px dotted #333;
}

@media screen and (max-width:1000px)	{
	.bt{
 text-align:center;
 margin:6vw auto;
 
}
	.kugiri-line {
  margin: clamp(1rem, 8vw, 100vw) auto;
}

}
/* ================================
   メインヘッダー共通スタイル
================================ */
header {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background: #fff;
  border-radius: 0 0 30px 30px;
  padding: 1.5rem 2.2rem 1.8rem;
  box-sizing: border-box;
}
header .subm-in-m,
header .subm-in,
.bottom-menu{
 display:none;
}
header .head-contents {
  display: flex;
  align-items: center;
}
header .headtitle-area {
  width: 260px;
}
header .headutility-area {
  width: calc(100% - 260px);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-weight: 500;
  font-size: 0.90rem;
	letter-spacing:0;
}
header .headutility-area .freedial {
  width: 200px;
  margin-left: 1rem;
}
header .btnav ul,
footer ul.btnav{
  display: flex;
  justify-content: center;
  align-items: center;
}
header .btnav ul a,
footer ul.btnav a{
  color: #fff;
  border-radius: 5px;
  padding: 0.5rem 1rem;
  margin: 0 0.3rem;
		display:block;
	line-height:1.3rem;
}

header .btnav ul .m-order a,
footer ul.btnav .m-order a{
  background: #ef7d00;
}
header .btnav ul .m-contact a,
footer ul.btnav .m-contact a{
  background: #33ad37;
}
header .btnav ul .m-order a:hover,
footer ul.btnav .m-order a:hover{
  background: #e45900;
}
header .btnav ul .m-contact a:hover,
footer ul.btnav .m-contact a:hover{
  background: #1f8622;
}
footer ul.btnav{
 margin: 0 auto 1rem;
}
footer ul.btnav a{
   border-radius: 50px;
   padding: 1.2rem 2.5rem;
   margin: 0 1em;
   min-width:200px;
   text-align:center;
   transition-duration: .6s;
}
footer ul.btnav a:hover{
  transform: scale(1.0);
}
header .close-bt {
  display:none;
}

.m-order {
  position: relative;
}

.tooltip {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
  background-color: #fff;
  color: #333;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.9rem;
  white-space: nowrap;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
  transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.2s;
  z-index: 10;
  top: -45px;
}

.tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.tooltip.tooltip-bottom {
  top: auto;
  bottom: -45px;
  transform: translateX(-50%) translateY(10px);
	 box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.4);
}

.tooltip.tooltip-bottom::after {
  top: auto;
  bottom: 100%;
  border-color: transparent transparent #fff transparent;
}

.m-order:hover .tooltip,
.m-contact:hover .tooltip {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ================================
   グローバルナビ（PC用）
================================ */
@media screen and (min-width: 1501px) {
  header .gnav ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 1rem;
  }
  header .gnav ul li {
    margin: 0 0.75rem;
    position: relative;
  }
	header .gnav ul li a:hover{
    color:#ef7d00;
  }
	header .gnav ul .has-submenu:after{
    content:'▼';
	color:#ef7d00;
	margin-left:0.2rem;
	right:0;
  }
header .gnav ul .has-submenu:before{
    content:'▼';
	color:#fff;
	position:absolute;
	right:0;
	top:calc(50% - 1.2rem);
  }
  header .gnav .submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    opacity: 0;
    pointer-events: none;
    background: #fff;
    padding: 1.2rem 1rem;
    min-width: max-content;
    width: auto;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-radius: 5px;
    font-size: 0.95rem;
  }
  header .gnav li:hover > .submenu {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
  header .gnav .submenu li {
    white-space: nowrap;
  }
}


@media screen and (max-width: 1500px) {
  header {
   padding: 1.5rem 1.8rem 1.8rem;
}


	header .close-bt{
   display:block;
		position: absolute;
  cursor: pointer;
    width: 75px;
    height:75px;
  border-radius: 5px;
		right:-0.7rem;
		top:0.5rem;
}
		
		header .close-bt span{
    display: inline-block;
    transition: all 0.8s;
    position: absolute;
    left: 14px;
    height: 1px;
    border-radius: 5px;
  background: #111;
    width: 50%;
  }

	header .close-bt span:hover {
  transform: rotate(360deg);
}
	header .close-bt span:nth-of-type(1) {
  top: 14px;
  left: 20px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

header .close-bt span:nth-of-type(2) {
  top: 26px;
  left: 20px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

/* hover時に回転（例として各45度追加で回転） */
header .close-bt:hover span:nth-of-type(1) {
  transform: translateY(6px) rotate(-45deg + 360deg); 
  transform: translateY(6px) rotate(315deg);
}

header .close-bt:hover span:nth-of-type(2) {
  transform: translateY(-6px) rotate(405deg);
}
	header .freedial{display:none;}
	.gnav {
    position: fixed;
    top: 0;
    right: 0;
    width: 250px;
    height: 100%;
    background: #fff;
    z-index: 1000;
    padding: 3.5rem 1rem 2rem;
    transform: translateX(100%);
    transition: transform 0.8s ease;
    overflow-y:auto;
  }
		header .subm-in{
		display:block;
	}
	header .subm-in-m{
		display:block;
	}
	header .subm-bottom{
		height:18rem;
	}
 header .gnav .subm-in-m ul{
    margin: 0 0 1.5rem;
  }
	header .gnav .subm-in-m ul li {
    margin: 0 0rem 0.5rem;
   text-align:center;
		border-top:0px solid;
  }
	header .gnav .subm-in-m ul li a:hover{
   padding:0.5rem;
  }
	header .gnav .subm-in-m ul{
   border-bottom:0;
		border-top:0;
  }
  .gnav.active {
    transform: translateX(0);
  }
  .gnav ul {
    flex-direction: column;
    align-items: flex-start;
  }
  .gnav ul li {
    margin: 1rem 0;
    width: 100%;
  }
  .gnav .submenu {
    display: none;
    padding: 1rem;
    background: #f9f9f9;
    width: 100%;
    border-radius: 5px;
    flex-direction: column;
    box-sizing: border-box;
    margin: 0rem 0 1rem;
  }
	  .gnav .submenu li{
    margin:0;
  }
	  .gnav .submenu li a{
    padding:0.2rem 0.5rem;
		  display:block;
	  }
  .gnav li.submenu-open > .submenu {
    display: flex !important;
  }

	  header .gnav ul{
    margin: 0 0.2rem 2rem;
    border-bottom:1px solid;
  }
	header .gnav ul li {
    margin: 0 0rem;
    position: relative;
		border-top:1px solid;
  }
	header .gnav ul li ul li,header .gnav ul li ul{
   border-bottom:0;
		border-top:0;
  }
	header .gnav ul li a{
    display:block;
		
		padding:0.5rem 0.25rem;
  }
	header .gnav ul li a:hover{
   padding-left:1rem;
  }
	header .gnav ul .has-submenu:after{
    content:'▼';
	color:#ef7d00;
	margin-left:0.2rem;
	right:5px;
		position:absolute;
		top:7px;
  }
header .gnav ul .has-submenu:before{
    content:'▼';
	color:#fff;
	position:absolute;
	right:5px;
	top:3px;
	z-index:1;
  }
}
.headsearch{
	width: 1.6rem;
	position: relative;
	top: -0.6rem;
	margin: 0 0.5rem 0 1.3rem;
	cursor:pointer;

	
}
.headsearch img{
	position:absolute;
	top:-0.85rem;
	transform: scale(0.85);
		-webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
		
}
.headsearch:after{
	 content: "検索";
  position: absolute;
  bottom:-2.6rem;
  left: 50%;
	margin-left:-1em;
  
  font-size: 0.65rem;
}
.headsearch:hover img{
	transform: scale(1.1);
}
@media screen and (max-width:800px)	{
	.headsearch{
		display:none;
	}
}
/* ================================
   ハンバーガーボタン
================================ */
.openbtn {
  display:none;
  position: relative;
  cursor: pointer;
  width: 70px;
  height: 60px;
  border-radius: 5px;
  margin: 0 0 0 0.5rem;
  right: -0.5rem;
  z-index: 50;
}
.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 5px;
  background: #111;
  width: 2.5rem;
}

.openbtn span:nth-of-type(1) { top: 10px; }
.openbtn span:nth-of-type(2) { top: 18.5px; }
.openbtn span:nth-of-type(3) { top: 26px; }
.openbtn span:nth-of-type(3)::after {
  content: "メニュー";
  position: absolute;
  top: 8px;
  left: -1px;
  text-transform: uppercase;
  font-size: 0.65rem;
	width:4.5em;
	 transition: all 0.4s;
}
.openbtn:hover span {
  background: #ef7d00;
}
.openbtn:hover span:nth-of-type(3)::after{
  color:#ef7d00;
}

@media screen and (max-width: 1500px) {
  .openbtn{
    display:block;
  }
 
}

@media screen and (max-width: 800px) {
.openbtn:hover span {
  background: #fff;
}
.openbtn:hover span:nth-of-type(3)::after{
  color:#fff;
}
	header {
   padding: 0.0rem 0.5rem 0.3rem 0.7rem;
   border-radius:0;
}
	
	  header .headutility-area {
  width: calc(100% - 200px);

}
	header .headtitle-area {
  width: 200px;
}
	header .btnav{
	 display:none;
 }
		header .subm-in-m{
		display:block;
	}

 .openbtn {
 width: 70px;
 height: 60px;
 border-radius: 0 0 0 10px;
 margin: 0 0 0 0.5rem;
 right: -0.5rem;
 top:-0.5rem;
 background:#ef7d00;
}
.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 16px;
  height: 2px;
  border-radius: 5px;
  background: #fff;
  width: 2.5rem;
}
.openbtn span:nth-of-type(1) { top: 20.5px; }
.openbtn span:nth-of-type(2) { top: 29.5px; }
.openbtn span:nth-of-type(3) { top: 39.5px; }
.openbtn span:nth-of-type(3)::after {
  content: "";
  position: absolute;
 
}


	.bottom-menu{
		display:block;
		background:#fff;
		position:fixed;
		bottom:0;
		width:100%;
		z-index:9999;
		border-bottom:1px solid #555;
	}
	.bottom-menu.active{
			box-shadow: 0px 10px 20px 0px #999;

	}
	.bottom-menu ul{
		display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
		margin:0.5rem 0;
		font-size:0.75rem;
		font-weight:500;
		line-height:1.0rem;
	}

	.bottom-menu ul li{
		width:17%;
		text-align:center;
		cursor:pointer;
	
	}
	.bottom-menu ul li .bm-inner{
display:block;
		width:100%;
		padding:2.5rem 0 0.2rem 0;
	}
	.bottom-menu ul li.bm-home .bm-inner{
 background: url("../image/common/ic-home.svg") center 0.4rem / 1.35rem no-repeat;
	}
	.bottom-menu ul li.bm-search .bm-inner{
 background: url("../image/common/ic-search.svg") center 0.5rem / 1.4rem no-repeat;
	}
	.bottom-menu ul li.bm-menu .bm-inner {
  position: relative;
	cursor:pointer;
}

.bottom-menu ul li.bm-menu .bm-inner::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 50%;
  width: 1.8rem;
  height: 1.8rem;
	margin-left:-0.9rem;
  background: url("../image/common/ic-menu.svg") center / contain no-repeat;
  transition: transform 0.3s ease;
}

.bottom-menu ul li.bm-menu.active .bm-inner::before {
  transform: rotate(90deg);
}
	.bottom-menu ul li.bm-con .bm-inner{
 background: url("../image/common/ic-mail.svg") center 0.7rem/ 1.5rem no-repeat;
	}
  .bottom-menu ul li.bm-tel .bm-inner{
 background: url("../image/common/ic-tel.svg") center 0.4rem / 1.4rem no-repeat;
	}
}
@media screen and (max-width: 500px) {
	.bottom-menu ul li{
		width:24%;
		text-align:center;
	
	}
	.bottom-menu ul{
		font-size:0.6rem;
		
	}
}
@media screen and (max-width: 360px) {
	
	.bottom-menu ul{
		font-size:0.5rem;
		
	}
}
/* ================================
   オーバーレイ背景
================================ */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.0);
  z-index: -1;
  transition: background-color 1s ease, z-index 0s 1s;
}
.overlay.show {
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 3;
  transition: background-color 0.5s ease;
}


/*****************************************************
	
	フッター
	
*****************************************************/
footer img{
	width:100%;
}
.foot-contents{
	margin:3rem auto;
	max-width: 1300px;
	width:95%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.foot-contents .menu-area{
	 -webkit-order: 2;
	 order: 2;
	padding:1rem;
}
.foot-contents .info-area{
	 -webkit-order: 1;
	order: 1;
	width:350px;
	font-size:0.95rem;
	line-height:1.4rem;
}
.foot-contents .info-area .foot-logo{
	margin:0 0 1rem;
}
.foot-contents .info-area .freedial{
	margin:1rem 0 2rem;
}
.foot-contents .info-area .shitemark{
	background:#fff;
	padding:0.5rem 1.5rem;
	border-radius:5px;
}
.address .yubin{
	margin:0 0.5rem 0 0;
}
.address .sla{
	position:relative;
}
.address .sla:before{
	content:'/';
	margin:0 0.2rem;
}
.foot-contents .snslinks{
display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	margin:2rem 0;
}
.foot-contents .snslinks li{
width:35px;
	margin:0 1rem 0 0;
}
.foot-contents .bloglink{
width:55px!important;
}

.foot-contents .fnav{
	font-size:0.92rem;
	padding:1rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	line-height:1.5rem;
	
}
.foot-contents .fnav a{
	display:block;
	padding:0.4rem 0;
	position: relative;
  top: 0; 
  
}

.foot-contents .fnav a:hover {
  opacity:0.5;
}

.foot-contents .fnav-a{
	margin:0 3rem 0 0;
}
.copyright{
	font-size:0.9rem;
	font-weight:500;
}


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

footer ul.btnav{
  display:block;
}
footer ul.btnav a{
margin:0 auto 1.3rem;

}
	
}
	@media screen and (max-width: 1000px) {
 .foot-contents{
	display: block;
	margin: 3rem auto 10rem;
}
		
.foot-contents .menu-area{

	padding:0;
}
.foot-contents .info-area{
	width:93%;
	max-width:320px;
margin:0 auto;
}
.foot-contents .fnav{
		display:block;
	margin:0 auto 2rem;
}
.foot-contents .fnav a{
	border-bottom:1px solid #111;
	display:block;
	padding:0.7rem 0;
}		
	.foot-contents .fnav-a{
	margin:0 ;
}	
		footer ul.btnav{
 	display: flex;
  justify-content: center;
  align-items: center;
}
		
footer ul.btnav a{
margin:0 1rem;

}
	
}
	@media screen and (max-width: 700px) {
		footer ul.btnav{
  display:block;
  width: 85%;
}
footer ul.btnav a{
margin:0 auto 1.0rem;

}
		.address .yubin{
	display:block;
}
.address .sla{
	display:block;
}
	.address .sla:before{
	content:'';
	margin:0;
		
}
	}

@media screen and (max-width: 400px) {
		.foot-contents .info-area span{
  display:block;
}
	
	footer ul.btnav{
  display:block;
  width: 88%;
}
footer ul.btnav a{
 font-size:0.95rem;
   min-width:auto;
	line-height:1.5rem;
 
}
	}
/*****************************************************
	
	ページコンテンツ
	
*****************************************************/
#contents{
 
}

.w-bace{
	width:95%;
	max-width:1300px;
	margin:0 auto 2rem;
}
.w-max{
	width:100%;
	margin:0 auto 2rem;
}

#front-news{
	background:#fff;
	box-sizing:border-box;
	padding:4.5rem 5rem 5rem 5rem;
	margin:0 auto 6rem;
	border-radius:40px;
}
#front-news h2{
	text-align:center;
	font-weight:500;
	font-size:1.5rem;
	letter-spacing:0.1em;
}
#front-news h2 span{
display:block;
	color:#ef7d00;
	font-weight:500;
	font-size:1.2rem;
	margin:0.9rem 0 2rem;
}
.news-box dl{
	border-bottom:1px solid;
	display: -webkit-flex;
	display: flex;
	padding:1.3rem;
}
.news-box dt{
	width:10em;
}
.news-box dd{
	width:calc(100% - 10.5em);
}
.news-box dd a{
	display:block;
	color: transparent;
  background: linear-gradient(to right, #ef7d00 50%, #000 50%) 100%;
  background-clip: text;
  background-size: 200% 100%;
  transition: background-position 0.3s;
}
.news-box dd a:hover{
background-position: 0 100%;
}
@media screen and (max-width: 700px) {
#front-slide{
	margin-bottom:0;
}
}
@media screen and (max-width: 700px) {
#front-news{
padding:3.5rem 8vw 3.5rem;
	margin:0 auto 14vw;
	border-radius:6vw;
}
#front-news h2 span{
	margin:0.9rem 0 0.5rem;
}
.news-box dl{
	display: block;
	padding:1.5rem 0;
}
.news-box dt{
	width:100%;
}
.news-box dd{
	width:100%;
	padding:0.2rem 0 0 0;
}
}


#front-link {
  position: relative;
  overflow: hidden;
  z-index: 0;
	margin:5rem auto;
	padding:6rem 0;
}

#front-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../image/front/front-baner-bg.webp") no-repeat center/cover;
  filter: blur(10px);
  transform: scale(1.1); 
  z-index: -2;
}
#front-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3); 
  z-index: -1;
}
#front-link ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	width:95%;
	max-width:1200px;
	margin:0 auto;
} 
#front-link ul li{
	width:32%;
}#front-link ul li a {
  position: relative;
  display: block;
  background: #fff;
  border-radius: 100px;
  text-align: center;
  margin: 0 4%;
  padding: 3rem 0 2rem;
  font-size: 1.3rem;
  overflow: hidden;
  transition: color 0.4s ease;
  color: inherit;
  z-index: 0;
}

#front-link ul li a::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border-radius: 0px;
  transform: translateX(-100%);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  z-index: -1;
}

/* 擬似要素背景色を色ごとに指定 */
#front-link ul li:nth-child(1) a::before {
  background: #00639e;
}
#front-link ul li:nth-child(2) a::before {
  background: #ea616e;
}
#front-link ul li:nth-child(3) a::before {
  background: #50a135;
}

/* hover時 */
#front-link ul li a:hover::before {
  transform: translateX(0);
  opacity: 1;
}


#front-link ul li a:after {
  content: '▶︎▶︎';
  display: block;
  font-size: 0.7rem;
  margin: 0.5rem 0 0 0;
  transition: color 0.4s ease;
  color: inherit;
}

/* 初期色指定 */
#front-link ul li:nth-child(1) a {
  color: #00639e;
}
#front-link ul li:nth-child(2) a {
  color: #ea616e;
}
#front-link ul li:nth-child(3) a {
  color: #50a135;
}
#front-link ul li a:hover {
  color: #fff;
}
#front-link ul li a:hover::after {
  color: #fff;
}
@media screen and (max-width: 900px) {
#front-link {
 
	padding:4rem 0;
}
#front-link ul li{
	width:33%;
} #front-link ul li a{
	border-radius:20px;
	margin:0 5%;
	padding:3rem 0 2rem;
	font-size:1.2rem;
} 
}
@media screen and (max-width: 700px) {
	#front-link ul{
	display: block;
	
} 
#front-link ul li{
	width:80%;
	margin:0 auto ;
} #front-link ul li a{
	border-radius: 15vw;
	margin:0 auto 1rem;
	padding:2rem 0 1rem;
	position:relative;
	font-size:1.2rem;
} 
}

#front-9point{
	background:#efe3d1;
	box-sizing:border-box;
	padding:4.5rem 5rem;
	margin:0 auto 6rem;
	border-radius:40px;
}
#front-9point h2{
	text-align:center;
	font-weight:600;
	color:#ef7d00;
	font-size:1.5rem;
	line-height:2.1rem;
}
#front-9point .point-inner ol{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin:3rem 0 0 ;
}
#front-9point .point-inner ol li{
	background:#fff;
	width:31.3%;
	text-align:center;
	margin:0 1% 1rem;
	padding:2rem 1rem;
	box-sizing:border-box;
	line-height:1.5rem;
	border-radius:30px;
}
#front-9point .point-inner ol li .kaigyo{
	display:block;
}
#front-9point .point-inner ol li .pointlist{
	display:block;
	margin:0 auto 1rem;
	font-size:0.9rem;
	font-weight:500;
	opacity: 0;
  transform: scale(0.3);
  transition: all 0.8s cubic-bezier(0, 0, 0.17, 1.39);
}


#front-9point .point-inner ol li .pointlist.zoom-in {
  opacity: 1;
  transform: scale(1);
}
#front-9point .point-inner ol li .txt{
	font-weight:500;
}

#front-9point .point-inner ol li .pointlist span{
	display:block;
	font-size:3rem;
	line-height:3.2rem;
font-weight:400;
}
#front-9point .point-inner ol li:nth-child(1) .pointlist{
	color:#78d3b5;
}
#front-9point .point-inner ol li:nth-child(2) .pointlist{
	color:#f1a0c3;
}
#front-9point .point-inner ol li:nth-child(3) .pointlist{
	color:#e57d43;
}
#front-9point .point-inner ol li:nth-child(4) .pointlist{
	color:#63b5da;
}
#front-9point .point-inner ol li:nth-child(5) .pointlist{
	color:#82bf45;
}
#front-9point .point-inner ol li:nth-child(6) .pointlist{
	color:#079ac2;
}
#front-9point .point-inner ol li:nth-child(7) .pointlist{
	color:#d779b1;
}
#front-9point .point-inner ol li:nth-child(8) .pointlist{
	color:#eaa200;
}
#front-9point .point-inner ol li:nth-child(9) .pointlist{
	color:#ea524c;
}
@media screen and (max-width: 1000px) {
#front-9point{
	padding:4.5rem 3rem ;
	margin:0 auto 10vw;
	border-radius:5vw;
}

}

@media screen and (max-width: 800px) {
#front-9point{
	padding:3.5rem 2rem 2rem;
	border-radius:5vw;
}
	#front-9point h2{
	display:block;
		font-size:1.5rem;
		line-height:2.5rem;
}
	#front-9point h2 span{
	display:block;
		font-size:1.9rem;
}
	
	#front-9point .point-inner ol{
	
	margin:2.5rem 0 0 ;
}
#front-9point .point-inner ol li{
	background:#fff;
	width:46%;
	margin:0 2% 1rem;
	
}
	#front-9point .point-inner ol li:nth-child(9){
	width:100%;
	margin:0 2% 1rem;
	
}
}
@media screen and (max-width: 600px) {
	#front-9point{
	padding:3.5rem 1rem 1.5rem;
	border-radius:5vw;
}
	
	#front-9point h2{
	display:block;
		font-size:4.9vw;
		line-height:10vw;
}
	#front-9point h2 span{
	display:block;
		font-size:8.5vw;
}
	#front-9point .point-inner ol li{
	width:100%;
	margin:0 2% 1rem;
	
}
	#front-9point .point-inner ol li .kaigyo{
	display:inline;
}
	#front-9point .point-inner ol li{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
		padding:1.5rem 2rem 1.5rem 0;
}
	#front-9point .point-inner ol li .pointlist{
	margin:-0.5rem 0 0 ;
	font-size:0.8rem;
		width:8rem;
}
#front-9point .point-inner ol li .pointlist span{
	font-size:2.2rem;
	line-height:2.2rem;
}

	#front-9point .point-inner ol li .txt{
	width:calc(100% - 7rem);
		text-align:left;
}
}

#front-pickup h2,#front-checkpoint h2{
  font-size:1.6rem;
  font-weight:600;
  line-height:2rem;
  margin:1rem;
}
#front-pickup h2 span,#front-checkpoint h2 span{
  font-size:1.1rem;
  font-weight:400;
  margin:1rem;
}

@media screen and (max-width: 800px) {
#front-pickup h2,#front-checkpoint h2{
  font-size:1.5rem;
  line-height:2rem;
  margin:1rem 0.5rem;
}
	#front-pickup h2 span,#front-checkpoint h2 span{
 display:block;
 margin: 0.2rem 0 0;
 font-size: 0.88rem;
 letter-spacing: 0rem;
 line-height: 1.4rem;
}
	#front-pickup {
		margin-bottom:0;
	}
}
.pickup-inner ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
  
	width: 101%;
	margin: 0 0 0 -0.5%;
}
.pickup-inner ul li:nth-child(1) a{
	background:#e797a7;
}
.pickup-inner ul li:nth-child(2) a{
	background:#079ac2;
}
.pickup-inner ul li:nth-child(3) a{
	background:#f5b04b;
}
.pickup-inner ul li:nth-child(4) a{
	background:#bfb99c;
}
.pickup-inner ul li{
	width:23%;
	margin:0 1.0% 2rem;
	
}
.pickup-inner ul li a{
		display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
  
	border-radius:40px;
	padding:1rem;
}
.pickup-inner ul li a .ic img {
  transition: transform 0.6s ease;
  transform-style: preserve-3d; /* 3D効果の保持 */
}

.pickup-inner ul li a:hover .ic img {
  transform: rotateY(360deg);
	opacity:1;
}
.pickup-inner ul li .ic{
	width:100%;
  box-sizing:border-box;
	text-align:center;
  height:9.5rem;
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.pickup-inner ul li:nth-child(1) .ic img{
width:110px;	
   padding-top:2rem;
}
.pickup-inner ul li:nth-child(2) .ic img{
width:140px;	
   padding-top:1rem;
}
.pickup-inner ul li:nth-child(3) .ic img{
width:130px;	
	 padding-top:0.5rem;
}
.pickup-inner ul li:nth-child(4) .ic img{
width:90px;	
  padding-top:1rem;
}
.pickup-inner ul li .txt{
	width:100%;
  height:7rem;
	padding:0 ;
  text-align:center;
  color:#fff;
  font-weight:500;
  line-height:1.8rem;
  font-size:1.3rem;
  letter-spacing:0.2rem;
  box-sizing:border-box;
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

@media screen and (max-width: 640px) {
#front-pickup h2{
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: baseline;
	align-items: baseline;
	margin-bottom:0.5rem;
	margin-top:-0.5rem;
	font-size:1.3rem;
}
	#front-pickup h2 span{
  margin-left:0.5rem;
}
	#front-checkpoint h2{
		margin-bottom:0.75rem;
	margin-top:0.25rem;
		font-size:1.3rem;
	}
}
@media screen and (max-width: 1200px) {
.pickup-inner ul{
		width: 103%;
	margin: 0 0 0 -1.5%;
}
  .pickup-inner ul li{
	width:47%;
	margin:0 1.5% 2rem;
	
	
} 

}

@media screen and (max-width: 640px) {
.pickup-inner ul{
		width: 103%;
	margin: 0 0 0 -1.5%;
}
  .pickup-inner ul li{
	width:47%;
	margin:0 1.5% 4vw;
	
  }
.pickup-inner ul li a{
	border-radius:5vw;
	padding: 0.2rem 0.5rem 0.75rem;
}

    .pickup-inner ul li .ic{
	  height: 20vw;
}
.pickup-inner ul li:nth-child(1) .ic img{
width:15vw;	
   padding-top:3vw;
}
.pickup-inner ul li:nth-child(2) .ic img{
width:18vw;	
    padding-top:2vw;
}
.pickup-inner ul li:nth-child(3) .ic img{
width:16vw;	
	padding-top:2vw;
}
.pickup-inner ul li:nth-child(4) .ic img{
width:12vw;	
  padding-top:2vw;
}
.pickup-inner ul li .txt{
	height: 13vw;
	line-height: 5.0vw;
	font-size: 3.5vw;
	letter-spacing:0.5vw;
}

    
} 

.checkpoint-inner ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	width:103%;
	margin:0 0 5rem -1.5%;
}
.checkpoint-inner ul li{
	width:30%;
	margin:0 1.5% 1.5rem;
	border-radius:30px;
	position:relative;
	overflow:hidden;
	cursor:pointer;
	font-weight:500;
}



.checkpoint-inner ul li .backcon{
	position: absolute;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
      padding:1.5rem;
    transform: translateX(100.0%);
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
	background:#fff;
	box-sizing:border-box;
	z-index:2;
	font-size:1.1rem;
}
.checkpoint-inner ul li .backcon span{
	font-weight:500;
	color:#ef7d00;
}
.checkpoint-inner ul li .backcon.open{
 transform: translateX(0%);
}
.checkpoint-inner ul li:before {
  content: '';
  width: 2.0rem;
  height: 2.0rem;
  background: #fff;
  position: absolute;
  border-radius: 50%;
  right: 1.0rem;
  top: 1.0rem;
  
  animation: pulse 3.0s infinite ease-in-out;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.4);
  }
	
}
.checkpoint-inner ul li:after{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	content:'◀︎◀︎';
	width:2.0rem;
	height:2.0rem;
	position:absolute;
	text-align:center;
	right:1.0rem;
	top:1.0rem;
	font-size:0.50rem;
	transform: rotate(-45deg);
}
.checkpoint-inner ul li:nth-child(1){
	background:#d2deda;
}
.checkpoint-inner ul li:nth-child(1):after{
	color:#78d3b5;
}
.checkpoint-inner ul li:nth-child(2){
	background:#f8e9a8;
}
.checkpoint-inner ul li:nth-child(2):after{
	color:#ecd160;
}
.checkpoint-inner ul li:nth-child(3){
	background:#ead8be;
}
.checkpoint-inner ul li:nth-child(3):after{
	color:#deb06c;
}
.checkpoint-inner ul li:nth-child(4){
	background:#efd6d3;
}
.checkpoint-inner ul li:nth-child(4):after{
	color:#e38479;
}
.checkpoint-inner ul li:nth-child(5){
	background:#d5e3f5;
}
.checkpoint-inner ul li:nth-child(5):after{
	color:#7aaae9;
}
.checkpoint-inner ul li:nth-child(6){
	background:#e1eecd;
}
.checkpoint-inner ul li:nth-child(6):after{
	color:#b7e275;
}
.checkpoint-inner ul li:nth-child(7){
	background:#ffe9a6;
}
.checkpoint-inner ul li:nth-child(7):after{
	color:#f2ce5f;
}
.checkpoint-inner ul li:nth-child(8){
	background:#eaddb2;
}
.checkpoint-inner ul li:nth-child(8):after{
	color:#dec266;
}
.checkpoint-inner ul li:nth-child(9){
	background:#e2d3dc;
}
.checkpoint-inner ul li:nth-child(9):after{
	color:#d779b1;
}
.checkpoint-inner ul li .ic{
	height: 8rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	box-sizing:border-box
}
.checkpoint-inner ul li .ic img{
	max-height:4.5rem;
	position:relative;
	top:0.5rem;
}
.checkpoint-inner ul li .txt{
	padding:0 1rem 1.5rem;
	text-align:center;
	line-height:1.5rem;
	
}

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

	.checkpoint-inner ul li .ic img{
	max-height:3.5rem;
	
}
	
}
@media screen and (max-width: 640px) {
	.checkpoint-inner ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	width:100%;
	margin:0 0 5rem 0;
		
}
.checkpoint-inner ul li{
	width:100%;
	margin: 0 0 5vw;
	border-radius:5vw;
}
	.checkpoint-inner ul li .ic{
	height: 7rem;
	
}
	
	.checkpoint-inner ul li .ic img{
	
}
	
}


.slide-inner{
	margin:3rem auto 6rem;
	border-radius:40px;
	overflow:hidden;
	background:#fff;
}
.slide-inner .swiper-pagination{
	left:0rem!important;
}
.slide-inner .contenttype{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.slide-inner .phototype{
	 overflow:hidden;
	 box-sizing:border-box;
	 margin:0 auto ;
	 position: relative;
	 aspect-ratio: 16 / 7.5; 
}
.slide-inner .phototype img{
	width:100%;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-inner .contenttype .photoarea{
	width:50%;
	-webkit-order: 2;
	 order:2;
	 overflow:hidden;
	 box-sizing:border-box;
	 margin:0 auto ;
	 position: relative;
	 aspect-ratio: 16 / 15; 
}
.slide-inner .contenttype .photoarea img{
	width:100%;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-inner .contenttype .txtarea{
	width:50%;
	-webkit-order: 1;
	 order:1;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	font-size:1.8rem;
	line-height:3.3rem;
	text-align:center;
	position:relative;
}
.slide-inner .contenttype .txtarea span{
	display:block;
}
.slide-inner .contenttype .txtarea:before{
	content:'KARATSU DRIVING SCHOOL';
	position:absolute;
	left:2rem;
	bottom:0.5rem;
	font-size:0.8rem;
	font-weight:600;
}
@media screen and (max-width: 1200px) {
.slide-inner .contenttype .txtarea span{
	display:inline-block;
}
	.slide-inner{
		margin:2rem auto 7vw;
		border-radius:5vw;
}
.slide-inner .contenttype .txtarea{
	font-size:2.4vw;
	line-height:4.5vw;
	text-align:center;
	position:relative;
}
.slide-inner .contenttype .txtarea:before{
	left:3.5vw;
	bottom:0.5rem;
	font-size:1.05vw;
	font-weight:600;
}
}
	@media screen and (max-width: 1000px) {
.slide-inner .phototype{
	 aspect-ratio: 16 / 10.5; 
}
.slide-inner .contenttype .photoarea{
	width:100%;
	-webkit-order: 1;
	 order:1;
	 overflow:hidden;
	 aspect-ratio: 16 / 7; 
}

.slide-inner .contenttype .txtarea{
	width:100%;
	-webkit-order: 2;
	 order:2;
	height:30vw;
	font-size:3.2vw;
	line-height:5.7vw;
	top:-4.5vw;
}
	.slide-inner .contenttype .txtarea:before{
	left:5.5vw;
	bottom:0.0rem;
	font-size:1.7vw;
}	
}
@media screen and (max-width: 600px) {
.slide-inner{
		margin-top:1.5rem;
	border-radius:5vw;
}
.slide-inner .phototype{
	 aspect-ratio: 16 / 9.7; 
}
.slide-inner .contenttype .photoarea{
	
	 aspect-ratio: 16 / 7; 
}

.slide-inner .contenttype .txtarea{
	
	height:15vw;
	font-size:3.4vw;
	line-height:4.7vw;
	top:-0.5vw;
}
	.slide-inner .contenttype .txtarea:before{
	left:5.5vw;
	bottom:0.5rem;
	font-size:2.2vw;
		display:none;
}		.swiper-pagination{
		display:none;
	}
}
.pk-list ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	font-size:0.8rem;
	line-height:1.4rem;
	margin:1.5rem 0;
}


.pk-list ul li a:after{
 content:'/';
 margin:0 0.5em;
}


/*****************************************************
	
	ページ
	
*****************************************************/
.page-box-radius{
        border-radius:40px;
	  overflow:hidden;
}

.page-title-box{
display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
    background:#fff;
    overflow:hidden;

}
.page-title-box .photo-area{
width:50%;
    position: relative;
	 aspect-ratio: 16 / 9; 
}
.page-title-box .photo-area img{
width:100%;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-title-box .title-area{
	width:50%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	font-size:2rem;
	letter-spacing:0.2rem;
	line-height: 2.8rem;
}
.page-title-box .long-title{
	font-size:1.65rem;
	letter-spacing:0.15rem;
}
.page-title-box .title-area h1{
	
	text-align: center;
}
.page-read{
	background:#3d7ca0;
	padding:3rem;
	box-sizing:border-box;
	color:#fff;
}
@media screen and (max-width: 800px) {
.page-box-radius{
      border-radius:4vw;
}
    .page-title-box{
-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    
}
.page-title-box .photo-area{
width:100%;
    position: relative;
	 aspect-ratio: 16 / 5; 
}

.page-title-box .title-area{
width:100%;
        font-size: clamp(1.1rem, 4vw, 2rem);
    padding:6vw 1rem 6.5vw;
		line-height: 6.5vw;

}
}

.page-menu{
	background:#6ea4c3;
	
}
.page-menu ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin:2rem 0;
}
.page-menu-link ul{
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}
.page-menu-link ul:before{
	content:'';
	width:90%;
	border-top:1px solid #fff;
	position:absolute;
	top:50%;
}
.page-menu ul li{
	text-align:center;
	width:30%;
	border-right:1px solid #fff;

}
.page-menu-2type ul li{
	width:48%;

}

.page-menu ul li:last-child{
		border-right:0px;

}
.page-menu-link ul li:nth-child(3){
		border-right:0px;

}
.page-menu-link ul li:nth-child(1),
.page-menu-link ul li:nth-child(2),
.page-menu-link ul li:nth-child(3){
		margin:0 0 3rem;

}
.page-menu ul li a{
	color:#fff;	display:block;
padding:1rem 0 4rem;
	position:relative;
	
}
.page-menu ul li a:before{
	content:'▼';
	width:2rem;
	height:2rem;
	color:#6ea4c3;
	position:absolute;
	left:50%;
	bottom:0.3rem;
	margin-left:-1rem;
		z-index:1;
	font-size:0.7rem;

}
.page-menu-link ul li a:before{
	content:'▶︎';
	left:50.2%;
	

}
.page-menu-link ul .active a:before{
	content:'▼';
	left:50%;
	

}
.page-menu ul li a:after{
	content:'';
	width:2rem;
	height:2rem;
	background:#fff;
	border-radius:50%;
	position:absolute;
	bottom:0.5rem;
	left:50%;
	margin-left:-1rem;transition: all 0.4s;
}
.page-menu ul li .number{
	font-size:1.7rem;
	margin:0 auto 1.0rem;
}
.page-menu ul li .name{
	font-size:1.1rem;
}
.page-menu ul li a:hover{
	color:#fff100;
}
.page-menu ul li a:hover:after {
	background: #fff100;
}

.page-menu-link ul .active a{
	color:#fff100;
}
.page-menu-link ul .active a:after {
	background: #fff100;
}
@media screen and (max-width: 800px) {
	.page-menu ul{
	display: block;
	margin:0.5rem ;
}
.page-menu ul li{
	width:100%;
	border-right:0;
}
.page-menu ul li a{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	width:95%;
	margin:0 auto;
	border-bottom:1px solid #fff;
padding:1.5rem 0;
}
	.page-menu ul li:last-child a{
		border-bottom:0;

}
.page-menu-link ul li:nth-child(1),
.page-menu-link ul li:nth-child(2),
.page-menu-link ul li:nth-child(3){
		margin:0;

}
.page-menu-link ul:before{
	content:'';
	border-top:0;
	
}
.page-menu ul li .number{
	font-size:1.7rem;
	margin:0 auto 0;
	width:4rem;
}
.page-menu ul li .name{
	font-size:1.1rem;
	width:calc(100% - 4rem);
	text-align:left
}
	.page-menu ul li a:before{
	width:1.5rem;
	height:1.5rem;
		bottom:50%;
	left:auto;
	right:3%;
		z-index:1;
margin-bottom:-0.6rem;
		font-size:0.5rem;
}
.page-menu-link ul .active a:before{
	content:'▼';
	left:auto;
	right:2.9%;
	bottom:48.5%;

	

}
.page-menu ul li a:after{
	width:1.5rem;
	height:1.5rem;
	bottom:50%;
	left:auto;
	right:3%;
	margin-left:auto;
	margin-bottom:-0.75rem;
}
}
.secmenu-title{
	font-size:1.1rem;
	font-weight:500;
	margin:0 auto 1rem;
	padding:2rem 1rem 0;
}
.secmenu-title span{
	font-size:1.8rem;
	margin-left:0.3rem;
}
.section-pageinner-wh{
	background:#fff;
	padding: 3rem;
}
@media screen and (max-width: 800px) {
	.section-pageinner-wh{
	background:#fff;
	padding: 1.5rem;
}
}
.section-pageinner-wh h3,
.outnotitle{
	text-align:center;
	color:#3d7ca0;
	font-size:1.4rem;
	font-weight:500;
	padding:2rem;
	border-bottom:1px solid #111;
	margin:0 auto 2rem;
}
.section-pageinner-wh h4{

	font-size:1.4rem;
	font-weight:500;
	padding:2rem 0;
	line-height:2rem;
	
}
.layout_tex-photo{
	margin:0 auto 2rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.layout_tex-photo .txt-area{
	width:60%;
	padding:0 0 0 3rem;
	box-sizing:border-box;
}
.layout_tex-photo .photo-area{
	width:40%;
}
.layout_tex-photo .photo-area img{
	width:100%;
	border-radius:20px;
}

.layout_tex-photo.tex-photo-r  .photo-area{
	-webkit-order: 2;
	 order:2;
}
.layout_tex-photo.tex-photo-r  .txt-area{
	-webkit-order: 1;
	 order:1;
	padding:0 3rem 0 0;
	box-sizing:border-box;
}
.layout_slider{
	background:#3d7ca0;
	color:#fff;
	padding: 5rem 5rem 3.5rem;
	box-sizing:border-box;
	margin:5rem 0 5rem 0;
	width:calc(100% + 6rem);
	position:relative;
	left:-3rem;
}
@media screen and (max-width: 1100px) {
	.layout_slider{
	
	padding:4rem 3.5rem 3rem;
}
}
@media screen and (max-width: 800px) {
	.layout_tex-photo{
	margin:0 auto 2rem;
	display: block;
}
	.layout_tex-photo .txt-area,
	.layout_tex-photo.tex-photo-r  .txt-area{
	width:100%;
	padding:0 ;
	box-sizing:border-box;
}
.layout_tex-photo .photo-area{
	width:100%;
}
.layout_slider{
	margin: 5rem 0 5rem;
	width:calc(100% + 3rem);
	left: -1.5rem;
	padding:3rem 2.5rem 2rem;
}
}


.nyuko-menu ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.nyuko-menu li{
	width:32%;
	background:#6ea4c3;
	border-radius:1.5rem;
	margin:2rem 1.5%;
	text-align:center;
	color:#fff;
	cursor:pointer;
	position:relative;
}
.nyuko-menu li .ic{
	text-align:center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	height:15rem;
}
.nyuko-menu li .ic img{
	max-height:8rem;
	width:60%;
	margin:1rem 0 0 0;
	  transition: transform 0.6s ease;
  transform-style: preserve-3d; /* 3D効果の保持 */
}


.nyuko-menu li:hover .ic img {
  transform: rotateY(360deg);
	opacity:1;
}



.nyuko-menu li .txt{
	text-align:center;
	padding:0rem 0 3rem;
	font-size:1.1rem;
	font-weight:500;
}

.nyuko-menu li:before {
  content: '';
  width: 2.0rem;
  height: 2.0rem;
  background: #fff;
  position: absolute;
  border-radius: 50%;
  right: 1.0rem;
  top: 1.0rem;
  
  animation: pulse 3.0s infinite ease-in-out;
}


.nyuko-menu li:after{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	content:'+';
	width:2.0rem;
	height:2.0rem;
	position:absolute;
	text-align:center;
	right:0.95rem;
	top:0.95rem;
	font-size:1.50rem;
	color:#6ea4c3;
}


@media screen and (max-width: 1000px) {
.nyuko-menu li .ic{
	
	height:20vw;
}
.nyuko-menu li .ic img{
	max-height:10vw;
	width:60%;
	margin:1.5rem 0 0 0;
}
	.nyuko-menu li .txt{
	padding:0rem 0 5vw;
	font-size:1.0rem;
}
}

@media screen and (max-width: 600px) {
.nyuko-menu ul{
	display: block;
}
.nyuko-menu li{
	width:100%;
	
	border-radius:5vw;
	margin:0rem 0 4vw;
	text-align:center;
	color:#fff;
	cursor:pointer;
	position:relative;
	
}
}
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; 
}
.table-scroll table {
  min-width: 900px; 
}
.jyokenryokin-price th,
.jyokenryokin-price td{
	border:2px solid #fff;
		font-weight:400;
	line-height:1.6rem;
	padding:1rem;
}
.jyokenryokin-price th{
	background:#6ea4c3;
	color:#fff;

}
.jyokenryokin-price td{
	background:#f0f0f0;
}
.jyokenryokin-price .canpr-col{
	background:#e6e6e6;
}


ul.cyusyaku{
	margin:1rem 0 ;
	font-size:0.9rem;
	line-height:1.5rem;
	padding-left:1.5rem;
	
}
ul.cyusyaku li{
	margin:0 0 0.25rem;
 position:relative;
}
ul.cyusyaku li:before{
	margin:0 0 0.25rem;
  content: "";
    position: absolute;
    top: .4525rem;
    left: -1.2rem;
    height: 0.8rem;
  width: 0.8rem;
    border-radius: 50%;
	border:3px solid #6ea4c3;
	box-sizing:border-box;
}

ul.cyusyaku ol.number{
	margin:0.5rem 0 0.5rem 0.5rem ;
	padding-left:1.5rem;
	counter-reset: my-counter;
  list-style: none;
}
ul.cyusyaku ol.number  li{
	 position: relative;
}
ul.cyusyaku ol.number  li:before{
	 content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #6ea4c3;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.2rem;
  width: 1.2rem;
  color: #ffffff;
  font-size: 0.7rem;
  line-height: 1;
  position: absolute;
  top: 0.3rem;
  left: -1.6rem;
}

.layout_nyukobi{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.layout_nyukobi .txt-area{
	width:45%;
	padding:0 0 0 5%;
	box-sizing:border-box;
}
.layout_nyukobi .photo-area{
	width:55%;
}
.layout_nyukobi .photo-area img{
	width:100%;
}
.usedlist{
	background:#3d7ca0;
	border-radius:30px;
	padding:1rem 3rem 3.5rem;
}
.usedlist h4{
	text-align:center;
	color:#fff;
	
}
.usedlist li{
	background:#fff;
	border-radius:5px;
	color:#3d7ca0;
	font-weight:500;
	margin:0 auto 0.5rem;
	padding:0.75rem 1rem;
}
.usedlist li:last-child{
margin:0;
}


.kyo-ken-cyui h4{
	padding-top:0;
}
.kyo-ken-cyui dl {
	margin:0 0 0.75rem;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.kyo-ken-cyui dl dt{
	width:12rem;
	background:#3d7ca0;
	color:#fff;
	text-align:center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	border-radius:5px;
	padding:0.75rem ;
}
.kyo-ken-cyui dl dd{
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width:calc(100% - 12rem);
	padding:0 0 0 1.2rem;
}
@media screen and (max-width:800px) {
.layout_nyukobi{
	display: block;
}
	.layout_nyukobi .txt-area{
	width:100%;
	padding:0 0 10vw 0;
	box-sizing:border-box;
}
.layout_nyukobi .photo-area{
	width:90%;
	margin:0 auto;

}
		.layout_nyukobi .txt-area h4{
	padding-top:0;
}
.usedlist{
	border-radius:5vw;
	padding:3vw 1.5rem 2rem;
}
.kyo-ken-cyui{
	margin-bottom:8vw;
}
	.kyo-ken-cyui h4{
	padding-top:1rem;
}
.kyo-ken-cyui dl {
	margin:0 0 0.75rem;
	display: block;
}
.kyo-ken-cyui dl dt{
	width:100%;
	display:block;
	box-sizing:border-box;
	padding:0.75rem ;
}
.kyo-ken-cyui dl dd{
	width:100%;
	padding:0;
	margin:0.5rem 0;
}
	
}

.mapinfo{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.mapinfo .info-area{
	width:500px;
	padding:0 5rem;
	box-sizing:border-box;
	
}
.mapinfo .info-area .logo{
margin:0 0 1rem;
	
}
.mapinfo .ggmap{
	width:calc(100% - 500px);
}

@media screen and (max-width:1100px) {
	.mapinfo{
	display: block;
}
.mapinfo .info-area{
	width:80%;
	max-width:400px;
	margin:0 auto;
	padding:5vw 0 8vw;
	box-sizing:border-box;
	
}

.mapinfo .ggmap{
	width:100%;
}
}
.accesstype{
	
}
	.accesstype .busmap{
	text-align:center;
}
	.accesstype .busmap img{
	width:100%;
		max-width:950px;
		margin:0 auto 2rem;
}

.kyosyutime table {
  width: 100%;
  margin: 0 auto 2rem;
  border-collapse: separate;
  border-spacing: 2px;
  table-layout: fixed;
	line-height:1.5rem;
}

.kyosyutime table th,
.kyosyutime table td {
  text-align: center;
  border: 3px solid #fff;
  border-radius: 15px;
  padding: 1rem 0.5rem;
}
.kyosyutime table td {
  /* background: #f0f0f0; */
}
.kyosyutime table td.bg-light {
  /* background: #f1efe2; */
}
.kyosyutime table th.time,
.kyosyutime table td.time {
  width: calc((100% - 12rem) / 3);
}
.kyosyutime table th.time img{
	max-width:200px;
}
.kyosyutime table .jigen {
  width: 6rem;
}

.kyosyutime table th p{
	text-align:center;
	font-size:0.95rem;
	padding:0.25rem;
	color:#fff;
	border-radius:20px;
	line-height:1.3rem;
}
.kyosyutime table .daytime p{
	background:#ec9d86;
	
}
.kyosyutime table .freetime p{
	background:#62aa9e;
	
}
.kyosyutime table .nighttime p{
	background:#917f96;
	
}

@media screen and (max-width:900px) {
.kyosyutime table {
  width: 100%;
  margin: 0 auto 0.5rem;
  border-spacing: 0px;
 
}
	.kyosyutime table .jigen {
  width: 3rem;
}
	.kyosyutime table .jigen-kai {
  display:block;
}
	.kyosyutime table th{
   padding: 0 0 1vw;
}
	.kyosyutime table td {
  font-size:0.9rem;
		padding:0.5rem 0.1rem;
		line-height:1.2rem;
}
	.kyosyutime .sp-none{
		display:none;
	}
.kyosyutime table th p{
	text-align:center;
	font-size:0.85rem;
	padding:0.75rem 0;
	color:#fff;
	border-radius:10px;
	line-height:1.0rem;
}
	.kyosyutime .jigen-td{
	font-size:0.75rem;
		line-height:1rem;
}
}



.syasyuprice .inner{
	margin:3rem 0 1.5rem;
}
.syasyuprice .menkyotitle{
	border-bottom:1px solid #111;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	font-size:1.1rem;
	font-weight:500;
	margin:0 auto 1rem;
}
.syasyuprice .menkyotitle dt{
	background:#6ea4c3;
	padding:0.3rem 1.5rem 0.4rem;
	color:#fff;
	margin:0 1rem 0.75rem 0;
	text-align:center;
	
}
.syasyuprice .menkyotitle .c-pink{
	background:#e797a7;
	
	
}
.syasyuprice .menkyotitle dd{
	padding:0.3rem 0 0.4rem;
	
	
}
.syasyuprice .pricebox {
	padding:0.3rem 0 0.4rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	
}
.syasyuprice .pricebox dl{
	width:25%;
	box-sizing:border-box;
	border-right:1.5px dotted #111;
	text-align:center;
}

.syasyuprice .pricebox-3type dl{
	width:33%;
	
}
.syasyuprice .pricebox dl:last-child{
	border-right:0;
}
.syasyuprice .pricebox dl dt,
.syasyuprice .pricebox dl dd{
	text-align:center;
	font-weight:600;
}
.syasyuprice .pricebox dl dt{
		font-size:0.95rem;
	line-height:1.3rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	min-height:4rem;
}
.syasyuprice .pricebox dl dd{
	color:#3d7ca0;
	font-size: 1.6rem;
}
.syasyuprice .pricebox dl dd span{
	font-size:1.1rem;
	margin:0 0.1rem 0 0;
	position:relative;
}
.syasyuprice dl.sogaku dd{
	font-weight:800;
	color:#ef7d00;
  
}
@media screen and (max-width:900px) {
	.syasyuprice .pricebox {
		width: 102%;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left:-1%;
	}

	.syasyuprice .pricebox dl {
		width: 48%;
		border:none;
		background:#f0f0f0;
		margin:0 1% 2%;
	}
		.syasyuprice .pricebox-3type dl {
		width: 100%;
		
	}
	.syasyuprice .pricebox dl dt{
			padding:0.5rem 0 0 0;
		font-size:0.9rem;
}
	.syasyuprice .pricebox dl dd{
		
		padding:0 0 1.5rem;
}
.syasyuprice dl.sogaku{
	background:#f6ead9;
}	
	.syasyuprice dl.sogaku dd{
	
  background-image: linear-gradient(transparent 100%, transparent 100%);
 
}	
}

.syasyuprice-cyui{
	border-radius:40px;
	padding:4rem 4rem 2rem;
	background:#3d7ca0;
	margin:2rem auto 1rem;
	color:#fff;
}

.syasyuprice-cyui .cyui-1,
.syasyuprice-cyui .cyui-2,
.syasyuprice-cyui .cyui-3{
	margin:1.5rem auto 2rem;
	font-weight:500;
}
.syasyuprice-cyui .cyui-1{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	line-height:1.5rem;
}
.syasyuprice-cyui .cyui-1 dl{
	width:48%;
	
}
.syasyuprice-cyui .cyui-1 dl dt,
.syasyuprice-cyui .cyui-2 dl dt,
.syasyuprice-cyui .cyui-3 dl dt{
	background:#fff;
	color:#3d7ca0;
	padding:0.5rem;
	text-align:center;
	margin:0 auto 1rem;
}
.syasyuprice-cyui .cyui-1 dl dd{
	text-align:center;
}

.syasyuprice-cyui .cyui-2 dl {
display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.syasyuprice-cyui .cyui-2 dl dt {
  width: 100%;
}

.syasyuprice-cyui .cyui-2 dl dd {
  width: 48%;
  box-sizing: border-box;
  margin-right: 4%; 
	margin-top:0.5rem;
	background:#6ea4c3;
	padding:1.5rem 1rem;
	
}

.syasyuprice-cyui  dl dd:last-child {
  margin-right: 0;
}
.syasyuprice-cyui .cyui-2 dl dd p{
  text-align:center;
	
}
.syasyuprice-cyui .cyui-2 dl dd .koza{
 font-size:1.5rem;
	margin:1rem 0;
}
.syasyuprice-cyui .cyui-2 dl dd .hurikomisaki{
 font-size:0.9rem;
	line-height:1.5rem;
}

.syasyuprice-cyui .cyui-3 dl{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin:0 auto 1.5rem;
}
.syasyuprice-cyui .cyui-3 dl dt,
.syasyuprice-cyui .cyui-3 dl dd{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.syasyuprice-cyui .cyui-3 dl dt{
	width:11rem;
	margin:0;
	-webkit-justify-content: center;
	justify-content: center;
}
.syasyuprice-cyui .cyui-3 dl dd{
	width:calc(100% - 11rem);
	padding:0 0 0 1.5rem;
	box-sizing:border-box;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.syasyuprice-cyui .cyui-3 dl dd p{
	width:100%;
	display:block;
}
.syasyuprice-cyui .cyui-3 dl dd .cap{
	font-size:0.9rem;
	line-height:1.5rem;
	margin:0.5rem 0;
	padding:0.5rem 0 0 0;
	border-top:1.5px dotted ;
}
.syasyuprice-cyui .cyui-3 dl dd .kessaitype{
}
@media screen and (max-width:800px) {
.syasyuprice-cyui{
	border-radius:5vw;
	padding:3rem 2.5rem 2rem;
	
}
	.syasyuprice-cyui .cyui-1{
	display: block;
}
.syasyuprice-cyui .cyui-1 dl{
	width:100%;
	
}
.syasyuprice-cyui .cyui-1 dl dd{
	text-align:left;
	margin:0 0 2rem;
}

.syasyuprice-cyui .cyui-2 dl {
display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.syasyuprice-cyui .cyui-2 dl dd {
  width: 100%;
  margin-right: 0%; 
	margin-top:0rem;
	margin-bottom:0.75rem;
	
}
	.syasyuprice-cyui .cyui-3 dl{
	display: block;
}
.syasyuprice-cyui .cyui-3 dl dt,
.syasyuprice-cyui .cyui-3 dl dd{
	display: block;
}
.syasyuprice-cyui .cyui-3 dl dt{
	width:100%;
	margin:0 0 1rem;
	padding:0.5rem;
	box-sizing:border-box;
	
}
.syasyuprice-cyui .cyui-3 dl dd{
	width:100%;
	padding:0;
	box-sizing:border-box;
}
	
}

.voice-contents ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin:3rem auto;
}
.voice-contents ul li{
	width:48%;
	background:#fff;
	border-radius:40px;
	margin-bottom:2rem;
	box-sizing:border-box;
	padding:2rem 2.5rem;
}

.voice-contents ul li .name-area{
display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	margin:0 auto 1rem;
	border-bottom:1.5px dotted #111;
	padding:0 0 1rem;
}
.voice-contents ul li .name-area .ic{
width:7rem;
	height:7rem;
	background:#ccc;
border-radius:50%;
	overflow:hidden;
	position:relative;
}
.voice-contents ul li .name-area .ic img{
width:75%;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-37.5%;
}
.voice-contents ul li .name-area .info{
width:calc(100% - 7rem);
	padding:0 0 0 1.5rem;
	box-sizing:border-box;
}
.voice-contents ul li .name-area .info .name{
font-size:1.2rem;
	font-weight:600;
}
.voice-contents ul li .name-area .info dl{
display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	margin:0.7rem 0;
	font-size:0.9rem;
	line-height:1.2rem;
}
.voice-contents ul li .name-area .info dl dt{
width:6rem;
	text-align:center;
	border-radius:20px;
	margin-right:0.5rem;
	padding:0.25rem 0;
}

.voice-contents ul li:nth-of-type(8n+1) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+1) .name-area .info dl dt {
	background: #c3c3c3;
}
.voice-contents ul li:nth-of-type(8n+2) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+2) .name-area .info dl dt {
	background: #dbcecb;
}
.voice-contents ul li:nth-of-type(8n+3) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+3) .name-area .info dl dt {
	background: #98d0cc;
}
.voice-contents ul li:nth-of-type(8n+4) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+4) .name-area .info dl dt {
	background: #fcd4d4;
}
.voice-contents ul li:nth-of-type(8n+5) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+5) .name-area .info dl dt {
	background: #bcc0d6;
}
.voice-contents ul li:nth-of-type(8n+6) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+6) .name-area .info dl dt {
	background: #dbc3ab;
}
.voice-contents ul li:nth-of-type(8n+7) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+7) .name-area .info dl dt {
	background: #f6dead;
}
.voice-contents ul li:nth-of-type(8n+8) .name-area .ic,
.voice-contents ul li:nth-of-type(8n+8) .name-area .info dl dt {
	background: #a8cade;
}

.voice-list li {
  display: none;
  opacity: 0;
  transform: translateY(30px); /* 下にスライド */
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.voice-list li.show {
  display: block;
}

.voice-list li.visible {
  opacity: 1;
  transform: translateY(0);
}

#loadMoreBtn{
	background:#6ea4c3;
	border:0;
	width:100%;
	margin:1.5rem auto 5rem;
	padding:2rem 0;
	font-size:1.3rem;
	color:#fff;
	border-radius:20px;
	  -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	cursor:pointer;
	position:relative;
}
#loadMoreBtn:before,
#loadMoreBtn:after{
	content:'';
	width:1rem;
	height:1rem;
	border-radius:50%;
	background:#6ea4c3;
	position:absolute;
	top:-2rem;
	left:50%;
	margin-left:-0.5rem;
	-webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}
#loadMoreBtn:after{
	top:-4rem;
	
}
#loadMoreBtn:hover,
#loadMoreBtn:hover:before,
#loadMoreBtn:hover:after{
	background:#3d7ca0;
	
}
@media screen and (max-width:900px) {
	.voice-contents ul li{
		border-radius:5vw;
	margin-bottom:5vw;
	
	padding:2rem 3vw;
}
	.voice-contents ul li .name-area{
display: block;
	margin:0 auto 1rem;
	
}
	.voice-contents ul li .name-area .ic{
width:7rem;
	height:7rem;
	margin:0 auto;
}
.voice-contents ul li .name-area .ic img{
width:75%;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-37.5%;
}
.voice-contents ul li .name-area .info{width:100%;padding: 1rem  0 0;}
	.voice-contents ul li .name-area .info .name,	.voice-contents ul li .name-area .info dl dd{
text-align:center;
}
.voice-contents ul li .name-area .info dl{
display:block;
}
	.voice-contents ul li .name-area .info dl dt{
	margin:0.75rem auto 0.5rem;
}
}
@media screen and (max-width:600px) {
	.voice-contents ul li{
		width:100%;
}
}

.qa-contents{
	margin:0 auto 6rem;
}
.qa-contents dl{
background:#fff;
	border-radius:20px;
	margin:0 auto 1.2rem;
	padding:0.25rem 1rem;
	
}
.qa-contents dl dt{
   display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
    padding: 0.8em 1em;
    user-select: none;
	color:#3d7ca0;
	margin:0.25rem 0;
	cursor:pointer;
	position:relative;
  }

  .qa-contents dl dt .number{
	  font-size:1.8rem;
	  font-weight:300;
	  border-right:1.5px solid #3d7ca0;
	  width:5rem;
	  text-align:center;
	  padding:0.75rem 1rem 0.75rem 0;
	  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	  
  }
  .qa-contents dl dt p{
	  width:calc(100% - 5rem);
	  box-sizing:border-box;
	  padding:1rem 2rem 1rem 2rem;
	  font-size:1.2rem;
	  display: -webkit-flex;
	display: flex;
		-webkit-align-items: center;
	align-items: center;
	 background-image: linear-gradient(to right, #ef7d00 50%, #3d7ca0 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.6s ease;
}

.qa-contents dl dt:hover p {
  background-position: left bottom;
}


.qa-contents dl dd{
   display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
    padding: 0.8em 1em;
    user-select: none;
	margin:0.25rem 0;
	  max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    padding: 0 1em;
	  border-top:1.5px dotted #3d7ca0;

  }
  .qa-contents dl dd .number{
    font-size:1.8rem;
    font-weight:300;
    color:#e0808d;
    border-right:1.5px solid #e0808d;
    width:5rem;
    text-align:center;
    padding:0.75rem 1rem 0.75rem 0;
	  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
  }
 .qa-contents dl dd .txtarea{
     display: -webkit-flex;
     display: flex;
     -webkit-align-items: center;
     align-items: center;
     width:calc(100% - 5rem);
     box-sizing:border-box;
     padding:1rem 0 1rem 2rem;
     line-height: 1.6rem;
  }
 .qa-contents dl dd .txtarea .a-inner{
	max-width:1000px;
}
 .qa-contents dl dd .txtarea .a-inner p{
	margin:0.75rem 0 0.75rem;
}
 .qa-contents dl dd .txtarea .a-inner .n-title{
	margin:1.5rem 0 0.5rem;
	 font-weight:500;
	 text-indent:-0.9rem;
	 padding-left:1.0rem;
}
 .qa-contents dl dd .txtarea .a-inner ul{
	margin: 0 0 1.7rem 1.3rem;
	padding-left:1.1rem;
}
 .qa-contents dl dd .txtarea .a-inner ul li{
	margin:0 0 0.25rem;
 position:relative;
}
 .qa-contents dl dd .txtarea .a-inner ul li:before{
	margin:0 0 0.25rem;
  content: "";
    position: absolute;
    top: .4525rem;
    left: -1.2rem;
    height: 0.8rem;
  width: 0.8rem;
    border-radius: 50%;
	border:3px solid #6ea4c3;
	box-sizing:border-box;
}
.qa-contents dl dd a{
   color:#ef7d00;
	text-decoration:underline;
  }
.qa-contents dl dd a:hover{
	text-decoration:none;
  }

  .qa-contents dl dd.open {
    max-height: 100%; /* 必要に応じて調整 */
    opacity: 1;
    padding: 0.8em 1em;
  }
  .qa-contents .toggle-icon {
    font-weight: bold;
    transition: transform 0.3s ease;
    user-select: none;
    width: 1.2em;
    text-align: center;
    margin-left: 1em;
	  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	  position:absolute;
	  top:50%;
	  right:0.75rem;
	  margin-top:-1rem;
	  font-size:0.8rem;
  }

@media screen and (max-width:700px) {
	.qa-contents dl{
	border-radius:4vw;
	padding:0.15rem 0.75rem;
	
}
	.qa-contents dl dt .number{
	  font-size:1.3rem;
	 	  width:2.5rem;
	  text-align:center;
	  padding:0.75rem 1rem 0.75rem 0;
	
	  
  }
  .qa-contents dl dt p{
	  width:calc(100% - 2.5rem);
	  box-sizing:border-box;
	  padding:1rem 2rem 1rem 1.5rem;
	  font-size:1.05rem;
	
}
	 .qa-contents dl dd .number{
    font-size:1.3rem;
    width:2.5rem;
	  text-align:center;
	  padding:0.75rem 1rem 0.75rem 0;
  }
 .qa-contents dl dd .txtarea{
     width:calc(100% - 2.5rem);
	  box-sizing:border-box;
	  padding:0.5rem 0rem 0.5rem 1.5rem;
	  font-size:0.95rem;
  }
}
	.ch-inner{
		display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	}
	.ch-inner .ic{
		width:40%;
		text-align:center;
	}
	.ch-inner .ic img{
		width:80%;
		max-width:220px;
	}
.ch-inner .info{
		width:60%;
	padding:2rem 1rem;
	box-sizing:border-box;
	}

@media screen and (max-width:800px) {
	.ch-inner{
		display: block;
	}
	.ch-inner .ic{
		width:100%;
	}

.ch-inner .info{
		width:100%;
	}
}

.pp-inner{
	max-width:1000px;
	margin:0 auto;
}
.pp-inner  dl{
	margin:2rem auto;
}
.pp-inner  dt{
	font-size:1.3rem;
	font-weight:500;
	margin:0 auto 0.75rem;
}
.pp-inner  dd{
	margin:0  0 0 1.25rem;
}
.pp-inner  dl .inner{
	margin:1.25rem  0 1.25rem 1.25rem;
}
.pp-inner  dl .inner-komoku{
	font-weight:500;
	margin:0 auto 0.25rem;
	text-indent: -1.7rem; 
  padding-left: 0.5em; 
}
.pp-inner  dl .inner ol{
	margin: 0 0 0 2.5rem;
}
.pp-inner  dl .inner ol li{
	list-style-type: katakana;
	margin:0 0 0.25rem;
}
.pp-inner .madoguchi{
	border:1.5px solid ;
	display:inline-block;
	margin:1rem 0;
	padding:1.5rem 2rem;
}






.mySwiper2{
width:100%;
    position: relative;
	 aspect-ratio: 16 / 9; 
}
.mySwiper2 img{
width:100%;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.mySwiper {
width:100%;
	 aspect-ratio: 10 / 1.1; 
  box-sizing: border-box;
  padding: 10px 0;
	margin:1rem 0;
}
.mySwiper img{
  width:100%;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mySwiper .swiper-slide {
  opacity: 0.4;
}

.mySwiper .swiper-slide-thumb-active {
  opacity: 1;
}


@media screen and (max-width:900px) {
	.mySwiper {

	 aspect-ratio: 10 / 1.3; 
  
}
}
@media screen and (max-width:640px) {
	.mySwiper {

	 aspect-ratio: 10 / 1.6; 
  
}
}

.overlay-guidepage {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 999;
}

.overlay-guidepage.active {
  opacity: 1;
  visibility: visible;
}

.overlay-content {
  
  opacity: 0;
  visibility: hidden;
  z-index: -1;
	position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
	width: 90%;
  max-width: 900px;
	border-radius:10px;
	paddign:2rem;
   transition: opacity 0.3s ease-in-out, z-index 0s 1s; 
}
.ov-inner{max-height: calc(85vh - 4rem);height:100%;overflow-y: auto;border-radius: 10px;box-sizing: border-box;border:2rem solid rgba(255,255,255,0);margin: 3.5rem auto 1rem;padding: 0 1.5rem 3.5rem;}

.overlay-content.active {
  opacity: 1;
  visibility: visible;
	z-index:1000;
	 transition: opacity 0.3s ease-in-out, z-index 0s; 
}

body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
}
.ov-inner h4{
	font-size:1.6rem;
	color:#3d7ca0;
	padding:0 0 1.5rem;
}
.ov-inner h5{
	font-size:1.4rem;
	padding:2rem 0rem 0.25rem;
	font-weight:500;
}
.round_btn,.round_btn-search{
  display: block;
  position: fixed;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #6ea4c3;
  transition: all 1s;
  top:20px;
  right:20px;
  z-index: 2000;
  cursor: pointer;
}

.round_btn-search {
   background: #fff;

}


.round_btn::before, .round_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 32px;
  background: #fff;
}
.round_btn-search::before, .round_btn-search::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 32px;
  background: #111;
}

.round_btn::before,.round_btn-search::before {
  transform: translate(-50%,-50%) rotate(45deg);
}

.round_btn::after ,.round_btn-search::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.round_btn:hover,.round_btn-search:hover { 
    transform: rotate(360deg);
}
@media screen and (max-width:800px){
.ov-inner{padding: 0 1.0rem 5rem;border:4vw solid rgba(255,255,255,0);margin:3rem auto 1rem;max-height: calc(70vh - 4rem);}
	
	.round_btn {
  width: 40px;
  height: 40px;
		top:15px;
  right:15px;
}
 .round_btn::before, .round_btn::after {
  content: "";
   height: 20px;
}
	.overlay-content {
 margin-top:-3rem;
}

}





.table_design01 {
  border-collapse: collapse;
  width: 100%;
	margin:1rem 0;
}

.table_design01 th,
.table_design01 td {
  border: 2px solid #fff;
  background-color: #f0f0f0;
  padding: 1rem 1.5rem;
	font-size:0.95rem;
	box-sizing:border-box;
	line-height:1.6rem;
}

.table_design01 th {
  background-color: #6ea4c3;
  color: #fff;
  font-weight: 500;
  text-align: center;
	min-width:10rem;
	line-height:1.4rem;
 
}

@media screen and (max-width: 700px) {
  .table_design01,
  .table_design01 tbody,
  .table_design01 tr,
  .table_design01 th,
  .table_design01 td {
    display: block;
    width: 100%;
  }

  .table_design01 th {
    text-align: left;
    background-color: #4d9bc1;
    color: #fff;
    border-bottom: none;
  }

  .table_design01 td {
    border-top: none;
  }

  /* 間隔を調整 */
  .table_design01 tr {
    margin-bottom: 0.75rem;
  }
}

.txt_s{
	font-size:0.93rem;
	line-height: 1.5rem;
	padding:0 0 0.5rem;
}

.form-area{
max-width:800px;
	width:95%;
	margin:2rem auto;
}

.form-area .reqtxt,
.toi-form dt .akamoji{
	color:#cf2e2e;
}



.toi-form{
	border-top:1px dotted #aaa;
	padding:2rem 0 0 0;
	margin:2rem 0 0;
}.toi-form dt{
font-size:1.05rem;
	font-weight:500;
	color:#3d7ca0;
}
.toi-form dt p{
font-size:0.95rem;
	font-weight:400;
	color:#4c4c4c;
}
.toi-form dd{
	box-sizing:border-box;
	margin:0.25rem auto 1.5rem;
}

.form-box dd textarea,.form-box dd input{
	width:100%;
	padding:1.25rem 1rem;
	background: #f0f0f0;
	font-size:1.0rem;
	box-sizing:border-box;
	border:0;
	outline:0;
	-webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}

.form-box input:focus,
.form-box textarea:focus {
  outline: none;
  box-shadow: 0px 0px 15px 0px #cacaca;
}
.form-box .radio-area input:focus {
  outline: none;
  box-shadow: 0px 0px 0px 0px #fff;
}
.form-box select {
  width:100%;
	padding:1.25rem 1rem;
	background: #f0f0f0;
	font-size:1.0rem;
    border: 0;
    outline: 0;
-webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}

.form-box dd textarea::placeholder,
.form-box dd input::placeholder {
  font-size: 0.92rem;
  opacity: 0.7;
}
.form-box dd .nengappi{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
}
.form-box dd .nengappi li{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	margin:0 0.5rem 0 0;
}
.form-box dd .nengappi select{
	padding:0.75rem;
}
.form-box dd .nengappi .txt{
	margin:0 0 0 0.4rem;
}
.form-box dd .hidukechoice input{
	width:150px;
	padding:0.85rem 1rem;
}
.radio-area input[type="radio"] {
  transform: scale(1.5);  
  accent-color: #3d7ca0;
  cursor: pointer;
}



.form-box .radio-area input {
  width:auto;
	margin:0 0.5rem 0 0;
	
}
.form-box .radio-area span.wpcf7-list-item {
    margin: 0 1rem 0.5rem 1.0rem;
}


.formrest{
	margin:2rem auto 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
}


.formrest input{
	display: block;
	text-align:center;
	margin:0 0.5rem 0 ;
 border:0;
   background: #ef7d00;
 box-sizing:border-box;
 padding:1rem 2em 1rem 2rem;
 font-size:0.9rem;
	line-height:1.3rem;
 border-radius:50px;
	width:180px;
 box-shadow: 0px 0px 0px 0px #cacaca;
 transition-duration: .6s;
	color:#fff!important;
}



.formrest input:hover{
  transform: scale(1.1);
	box-shadow: 10px 10px 15px 0px #cacaca;
}

.toi-section.lastcheck .checkbg{
	background:#f1efe2;
	padding:2rem;
	text-align:center;
}
.toi-section.lastcheck .checkbg p{
	text-align:center;
}
.toi-section.lastcheck .checkbg .akamoji{
	color:#cf2e2d;
}
.form-area span.wpcf7-not-valid-tip{
	font-size:0.9rem;
	color:#cf2e2d;
}
.grecaptcha-badge{
	display:none!important;
}
@media screen and (max-width: 800px) {
.grecaptcha-badge{
	bottom:90px!important;
}	
}

div.wpcf7-response-output {
	margin: -0.5rem 0 2rem 0;
	padding: 0.5rem 1rem;
	text-align:center;
	line-height:1.5rem;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
	border: 2px solid #cf2e2d;
}

.childmenu{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin:2rem auto;
	
}
.childmenu li{
	text-align:center;
	margin:1%;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 31.3%;
}

.childmenu li a{
	display:block;
	background:#6ea4c3;display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width:100%;
	border-radius:5px;
	padding:1.5rem 1rem 4.5rem;
	min-height:4rem;
	color:#fff;
	position:relative;
	font-size:1.1rem;
	line-height:1.5rem;
	box-sizing:border-box;
}
.childmenu li a p{
	text-align:center;
}
.childmenu li a:before{
	content:'▶︎';
	left:50%;
	position:absolute;
	bottom:1.5rem;
	margin-left:-0.25rem;
	margin-bottom:0.5em;
	color:#6ea4c3;
	z-index:1;
	font-size:0.6rem;

}
.childmenu li a:after{
	content:'';
	width:2rem;
	height:2rem;
	background:#fff;
	border-radius:50%;
	position:absolute;
	bottom:1.5rem;
	left:50%;
	margin-left:-1rem;transition: all 0.4s;
}
.childmenu li a:hover{
	color:#fff100;
}
.childmenu li a:hover:after {
	background: #fff100;
}

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

.childmenu li{
	
	
	align-items: stretch;width:48%;
}
	
}
@media screen and (max-width:700px){

.childmenu li{
	width:100%;
	display:block;
	margin:0 0 0.75rem;
}
	.childmenu li a{
	display:block;
	padding:1rem 3rem 1rem 1rem;
	min-height:100%;
		font-size:1.0rem;
	line-height:1.5rem;
}
.childmenu li a p{
	text-align:left;
}
.childmenu li a:before{
	content:'▶︎';
	margin-bottom:-0.75rem;
	bottom:50%;
	left:auto;
	right:1rem;
	margin-right:0.40rem;
	font-size:0.5rem;
}
.childmenu li a:after{
	content:'';
	width:1.5rem;
	height:1.5rem;
	margin-bottom:-0.75rem;
	bottom:50%;
	left:auto;
	right:1rem;
}
}


.page-nav {
 margin: 0 auto 2rem;
 padding-top:40px;
 font-size:0.8rem;
 text-align: center;
 clear: both;
}

.page-nav li {
	display: inline;
	list-style: none outside none;
	margin:0 0.1rem;
}


.page-nav li a:active {
	top:1px;
}
.page-nav li.current span {
	background-color: #a7c6ce;
	color:#fff;
	border-radius: 3px;
	border: 1px solid #a7c6ce;
}
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span {
	background: #fff;
	border: 1px solid #ccc;
	text-decoration: none;
	border-radius: 3px;
	margin:3px 0;
}

.page-nav li a,
.page-nav li.current span,
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span,
.page-nav li.page_nums span {
	padding: 0.8rem;
	line-height:1rem;
	display: inline-block;
	position:relative;
}
.singletitle{
	text-align:left;
	color:#3d7ca0;
	font-size:1.3rem;
	font-weight:500;
	padding:0rem 0 1.5rem;
	border-bottom:1px solid #111;
	margin:0 auto 1rem;
}

.singledate{
	text-align:right;
	font-size:0.9rem;
	padding:0rem 0 1rem;
	border-bottom:1px solid #111;
	margin:0 auto 2rem;
}
.page-link{
	margin:3rem 0 0.5rem ;
	font-size:0.85rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.page-link a{
	color:#555;
}


.sc-area .xo-event-calendar{
	max-width:1000px;
	margin:2rem auto;
}




.overlay-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../image/common/search-bg.webp) center center no-repeat;
  background-size: cover;
  z-index: -1;
  opacity: 0;
  align-items: center;
  overflow-y: auto;
  transition: opacity 0.3s ease-in-out, z-index 0s 1s; 
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.overlay-search.show {
  z-index: 100;
  opacity: 1;
  transition: opacity 0.3s ease-in-out, z-index 0s; 
	
}


.overlay-search .formarea{
width:95%;
	max-width:600px;
 box-sizing: border-box;
margin:0 auto;
	
}

.overlay-search .formarea .form-inner{
	background:#fff;
	padding:1.5rem;
	box-sizing:border-box;
	border-radius:10px;
	position:relative;
	top:-4rem;
}
.overlay-search .formarea .form-inner input{
	width:100%;
	padding:1.25rem 1rem;
	background: #f0f0f0;
	font-size:1.0rem;
	box-sizing:border-box;
	border:0;
	outline:0;
	border-radius:5px;
	-webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	margin:0 0 0.75rem;
	
}





.overlay-search .formarea .form-inner input:focus {
  outline: none;
  box-shadow: 0px 0px 15px 0px #cacaca;
}


.overlay-search .formarea .form-inner  #s-btn{
	width:100%;
	color:#fff;
	padding:1rem;
	box-sizing:border-box;
	
}


.overlay-search .formarea .form-inner button{
	background:none;
	width: 100%;
	background: #ef7d00;
	border:0;
		border-radius:5px;
cursor:pointer;
	 -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}

.overlay-search .formarea .form-inner button:hover{
  background: #e45900;
}

.search-title{
	text-align:left;
	font-size:1.15rem;
	font-weight:500;
	padding:0rem 0 1.5rem;
	border-bottom:1px solid #111;
	margin:0 auto 1rem;
}
.search-title span{
	color:#3d7ca0;
	font-size:1.35rem;
}

.search-count{
	background:#f0f0f0;
	display:inline-block;
	padding:0.1rem 2rem;
	border-radius:2px;
	margin-bottom:2rem;
}

.searchlist-box dl{
	border-bottom:1px dotted ;
	padding:1rem 0 ;
}
.searchlist-box dt a{
	color:#3d7ca0;
	position:relative;
	font-size:1.1rem;
	line-height:1.5rem;
	display:block;
	padding:0.5rem 0 0.5rem 1.2rem;
	text-indent:-1.2rem;
}
.searchlist-box dt a:before{
	content:'▶︎';
	font-size:0.8rem;
	margin-right:0.5rem;
}
.searchlist-box dd{
	color:#555;
	font-size:0.9rem;
	line-height:1.4rem;
}


#cookie-banner {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding: 2rem 1rem 1rem 1rem;
    font-size: 0.95rem;
    box-shadow: 0 -2px 20px rgba(0,0,0,0.5);
    z-index: 9999;
    word-wrap: break-word;
  }
  #cookie-banner > div {
    max-width: 800px;
    margin: auto;
    padding: 0 1rem;
  }
#cookie-banner a{
   color:#ef7d00;
	
  }
#cookie-banner a:hover{
   text-decoration:underline;
  }
  #cookie-banner button {
    margin-right: 0.75rem;
    padding: 1rem 2rem;
    min-width: 80px;
    margin-bottom: 0.5rem;
	  background:#333;
	  border:0;
	  border-radius:5px;
	  box-sizing:border-box;
	  color:#fff;
  }

  @media screen and (max-width: 480px) {
    #cookie-banner button {
      display: block;
      width: 100%;
      margin-right: 0;
    }
  }
.voice-filter button{
	background:#fff;
	border:1px solid #3d7ca0;
	padding:0.25rem 0.5rem;
	border-radius:2px;
	cursor:pointer;
	 -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}
.voice-filter button.active,
.voice-filter button:hover{
	background:#3d7ca0;
	color:#fff;
}


#sitemap_list{
	width:98%;
	margin:2rem auto;
	max-width:900px;
}#sitemap_list li {
  margin: 0.5em 0;
  padding-left: 1.5em;
  position: relative;
	line-height:1.5rem;
}

#sitemap_list ul.children {
  margin: -0.25rem 0 0 0.5em;
}

#sitemap_list a {
  display:block;
	 padding:0.2rem 0.5rem 0.5rem;
}
#sitemap_list li {
margin:0.2rem 0;
	border-bottom:1px dotted ;
}
#sitemap_list ul.children li:last-child {
  border-bottom:none ;
}


#sitemap_list a:hover {
  color: #ef7d00;
}

#sitemap_list li::before {
  content: "●";
  color: #3d7ca0;
  font-size: 0.6em;
  position: absolute;
  left: 0.5rem;
  top: 0.4em;
}

#sitemap_list ul.children li {
  padding-left: 1.5em;
}