@charset "utf-8";

/*** リンク設定 ***/

@import url("pc.css") screen and (min-width: 1080px);
@import url("sp.css") screen and (max-width: 1079px);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');


/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  }




  
body { font-family: 'Noto Sans JP', sans-serif;}

/*** フォント設定 ***/

a:link {color:#555;}
a:visited {color:#555;}
a:active {color: #555;}
a:hover {color: #555; text-decoration: none;}

/*** スタイル定型 ***/

.center {text-align: center; width: 100%;}

.pt5 {padding-top: 5px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.pt20 {padding-top: 20px;}
.pt25 {padding-top: 25px;}
.pt30 {padding-top: 30px;}
.pt35 {padding-top: 35px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pt70 {padding-top: 70px;}
.pt90 {padding-top: 90px;}
.pt100 {padding-top: 100px;}
.pt150 {padding-top: 150px;}

.pb5 {padding-bottom:5px;}
.pb10 {padding-bottom:10px;}
.pb15 {padding-bottom:15px;}
.pb20 {padding-bottom:20px;}
.pb25 {padding-bottom:25px;}
.pb30 {padding-bottom:30px;}
.pb35 {padding-bottom:35px;}
.pb40 {padding-bottom:40px;}
.pb50 {padding-bottom:50px;}
.pb70 {padding-bottom:70px;}
.pb90 {padding-bottom:90px;}
.pb100 {padding-bottom: 100px;}
.pb150 {padding-bottom: 150px;}

.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt50 {margin-top: 50px;}
.mt100 {margin-top: 100px;}

.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb50 {margin-bottom: 50px;}
.mb100 {margin-bottom: 100px;}

.lh150 {line-height: 150%;}
.lh200 {line-height: 200%;}

.fss {font-size: small;}
.fsl {font-size: large;}
.fsxl {font-size: x-large;}
.fsxxl {font-size: xx-large;}


/*** マップ設定 ***/

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.more {
    width: 200px;
    text-align: center;
    overflow: hidden;
    padding: 12px 30px;
    border-radius: 6px;
    background-color: #B5DCF6;
    color: #004097;
    position: relative;
    display: inline-block;
}

.more::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #004097;
    opacity: 0.3;
    transform: scaleX(0);
    transform-origin: 100% 100%;
    transition: transform 0.6s cubic-bezier(0.53, 0.21, 0, 1);
    will-change: transform;
}

.more:hover::before  {
    transform-origin: 0 0;
    transform: scaleX(1);
}

.more a:link {text-decoration: none;}
.more a:visited {text-decoration: none;}
.more a:active {text-decoration: none;}
.more a:hover {text-decoration: none;}

a.btn_23 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
}
a.btn_23::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(39, 172, 217);
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.btn_23:hover::before {
	transform: translateX(0);
}
a.btn_23:hover {
	color: #fff;
}