@charset "utf-8";
/* CSS Document */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

.weight100 {
  font-weight: 100
}
.weight300 {
  font-weight: 300
}
.weight400 {
  font-weight: 400
}
.weight500 {
  font-weight: 500
}
.weight600 {
  font-weight: 600
}
.weight700 {
  font-weight: 700
}
.weight900 {
  font-weight: 900
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
	position:relative;
}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-family: sans-serif;
    -webkit-font-smoothing: subpixel-antialiased;
    box-sizing: border-box;
    letter-spacing: 1px;
	background-color:#f8f8f8;
	
}
.fonts-loaded body{
    font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
body {
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.05em;
	-webkit-font-smoothing: subpixel-antialiased;
    font-display: auto;
    color: #707070;
}
}
_:lang(x)::-ms-backdrop, body {
    font-family: 'Noto Sans JP', sans-serif;
} 
_:lang(x)::-moz-placeholder, body {
    font-family: 'Noto Sans JP', sans-serif;
}
b, strong, .bold{
	font-family: 'Noto Sans JP', sans-serif;
}
a {
    text-decoration: none;
	color:#000;
}

h1,h2,h3{
    font-weight: 700;
    padding: 0;
    margin: 0;
    line-height: 1.4em;
}
h1{
}

ul,li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
img{
    width: 100%;
    height: auto;
}

p{
    margin: 0;
}


/*ヘッダー*/
header{
    width: 100%;
    height: auto;
    position: fixed;
    padding-top: 15px;
    z-index: 9998;
}
.header{
    width: 95%;
    margin: 0 auto;
    border-radius: 10px;
    justify-content: space-between;
	align-items:center;
    display: flex;
}
.header-1{
	
}
.header-1 a{
	display:flex;
	align-items:center;
	font-weight:bold;
	min-width:295px;
}
.header-1 img{
	width:50px;
	margin-right:5px;
}
.header-2{
    width: 65%;
    padding: 10px 0;
}
.header-2 ul{
    display: flex;
    justify-content: space-around;
}
.header-2 ul li a{
    font-weight: 700;
}



/*.nav {
  display: flex;
}
.nav {
  flex-flow: row wrap;
}*/
.header-2 .nav > li {
  position: relative;
}

.header-2 .nav a {
}
.header-2 .nav {
  flex-flow: row wrap;
}
.header-2 .nav a {
  padding: 0.5em 0;
  font-size: 16px;
  text-align: center;
}
.sub {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 2em;
  min-height: 0;
  height: 0;
  z-index: 3;
  transition: min-height 0.5s;
  flex-direction:column;
}
.sub li{
  margin:5px 0;
}
.sub > li > a {
  font-size: 16px;
  color: #fff;
  line-height: 1.75;
  display: inline-block;
  white-space: nowrap;
  width: max-content;
  text-shadow: 0px 0px 8px #707070;
  border-bottom:solid 1px #fff;
}
.sub > li > a:hover {
  opacity: 1;
}
.sub.active {
	min-height: auto;
	height: auto;
}






.header-3{
	min-width:230px;
}
.header-3 ul{
	display:flex;
}
.header-3 li{
}
.header-3 li a{
	background-color:#000;
	color:#fff;
	padding:7px 0;
	border-radius:50px;
	margin-left:10px;
	font-weight:bold;
	width: 110px;
	display:block;
	text-align:center;
}
/*ヘッダー切替*/
.header-sp1 {
	width:100%;
	height:80px;
	/*background-color:#fff;*//*ハンバーガーメニューの背景が透明じゃない場合は表示*/
	position:fixed;
	z-index:9999;
}
@media(max-width:1200px){
	.header{
	display:none;
}
}
	.header-sp{
	display:none;
}
@media(max-width:1200px){
	header{
    padding-top: 0;
}
	.header-sp {
	display:block;
	position:relative;
	z-index:9999;
}
/*ロゴマークについて*/
	.header-wrap{
    width: 100%;
    height: auto;
    padding-top: 12px;
	padding-left:10px;
    margin: 0 auto;
    display:block;
}
	.header-wrap .header_1{
    width: 50px;
}
	.header-wrap .header_1 img{
    width: 100%;
}
/*ハンバーガーのSPヘッダー*/
	.hamburger {
  	display : block;
 	position: fixed;
  	z-index : 9999;
  	right : 0;
  	top   : 0;
  	width : 80px;
  	height: 70px;
  	cursor: pointer;
  	text-align: center;
  	/*background-color:#80C4C4;*/
  	border-radius:0 0 0 10px;
}
	.hamburger span {
  	display : block;
  	position: absolute;
  	width   : 40px;
  	height  : 3px ;
  	left    : 20px;
  	background : #fff;
  	-webkit-transition: 0.3s ease-in-out;
  	-moz-transition   : 0.3s ease-in-out;
  	transition        : 0.3s ease-in-out;
}
	.hamburger span:nth-child(1) {
  	top: 20px;
}
	.hamburger span:nth-child(2) {
  	top: 32px;
}
	.hamburger span:nth-child(3) {
  	top: 44px;
}

/* ナビ開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
  	top : 37px;
  	left: 20px;
  	-webkit-transform: rotate(-45deg);
  	-moz-transform   : rotate(-45deg);
  	transform        : rotate(-45deg);
}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
  	top: 37px;
  	-webkit-transform: rotate(45deg);
  	-moz-transform   : rotate(45deg);
  	transform        : rotate(45deg);
}

	nav.globalMenuSp {
  	position: fixed;
  	z-index : 2;
  	top  : 0;/*ハンバーガーメニューの背景が透明じゃない場合は80px*/
  	left : 0;
  	background: #80C4C4;
  	transform: translateY(-200%);/*ハンバーガーメニューの背景が透明じゃない場合は-100%*/
  	transition: all 0.6s;
  	width: 100%;
	padding-top:80px;/*ハンバーガーメニューの背景が透明じゃない場合は0px*/
}

	nav.globalMenuSp ul {
  	margin: 0 auto;
  	padding: 0;
  	width: 100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
	nav.globalMenuSp .parent{
	border-top:solid 1px #fff;
}
	nav.globalMenuSp .parent p{
}
	nav.globalMenuSp .parent > li{
  	border-right:solid 1px #fff;
	border-bottom:solid 1px #fff;
	font-weight:bold;
	padding:15px 15px 10px 15px;
}
	nav.globalMenuSp .parent > li:last-child {
 	border-right: none;
}
	nav.globalMenuSp ul li {
  	list-style-type: none;
  	width:50%;
	color:#fff;
}
	nav.globalMenuSp .child{
	margin-top:7px;
}
	nav.globalMenuSp .child li{
	font-weight:normal;
	margin-bottom:7px;
	text-align:left;
}
	nav.globalMenuSp .child li::before{
	content:"・";
    display:inline-block;
}
}
	nav.globalMenuSp ul li a{
  	width: 100%;
	color:#fff;
}
nav.globalMenuSp ul li a:hover{
  	opacity:0.8;
}
@media(max-width:768px){
	nav.globalMenuSp ul li a{
  	font-size:15px;
}
	nav.globalMenuSp ul li {
  	list-style-type: none;
  	width:50%;
	color:#fff;
}
	nav.globalMenuSp .parent > li{
  	border-bottom:solid 1px #fff;
	padding:15px 15px 10px 15px;
}
}
@media(max-width:520px){
	nav.globalMenuSp ul li {
  	list-style-type: none;
  	width:100%;
	color:#fff;
}
}
/*開いたメニュー*/
/*	nav.globalMenuSp ul li a {
  	display: block;
  	color: #fff;
}*/
	/*@media(max-width:480px){
	nav.globalMenuSp ul li {
  	list-style-type: none;
  	width:50%;
	padding:20px 0;
	background-color:#fff;
}
}*/
/*ハンバーガーメニュー内のお問い合わせボタン*/
	@media(max-width:1200px){
	nav.globalMenuSp{
		width:100%!important;
}
	nav.globalMenuSp .child{
		display:block;
}
	nav.globalMenuSp .child li{
		display:block;
		width:100%;
}
	nav.globalMenuSp .contact-ham {
		width:100%;
}
	nav.globalMenuSp .contact-ham li{
		width:50%;
}
	nav.globalMenuSp .contact-ham a{
		text-align:center;
		display:block;
		padding:10px 0;
		background-color:#5A5A5A;
		font-weight:bold;
		color:#ddd;
		border-right:solid 1px #fff;
}
	nav.globalMenuSp .contact-ham li:last-child a{
		border-right:none;
}
	nav.globalMenuSp .contact-ham:hover{
	opacity:0.7;
}
/* このクラスを、jQueryで付与・削除する */
	nav.globalMenuSp.active {
  	transform: translateY(0%);
}
}
/*ハンバーガーのSPヘッダー終わり*/

/*フッター*/
footer{
    width: 100%;
    height: auto;
}
.footer{
    font-family: 'Zen Maru Gothic', sans-serif;
	background-color:#80C4C4;
	color:#fff;
	padding:50px 0 100px 0;
}
.footer-1{
    width:90%;
	margin:auto;
}
.footer-1 nav .footer-1-parent{
    display:flex;
	justify-content:flex-end;
	flex-wrap:wrap;
}
.footer-1 nav .footer-1-parent p{
    font-weight:bold;
	font-size:17px;
	display:flex;
	align-items:center;
}
.footer-1 nav .footer-1-parent p::before{
    content:"";
	display:inline-block;
	width:2px;
	height:20px;
	background-color:#fff;
	border-radius:5px;
	margin-right:10px;
}
.footer-1 nav .footer-1-child{
	margin-left:50px;
}
.footer-1 nav .footer-1-child:first-child{
	margin-left:0;
}
.footer-1 nav .footer-1-child ul li{
    margin:10px 0;
}
.footer-1 nav .footer-1-child ul li a{
    color:#fff;
}
.footer-1 nav .footer-1-child ul li a:hover{
    opacity:0.7;
}
.footer-1 nav .footer-1-child ul li a::before{
    content:"・";
}
.footer-2{
}
.footer-2-content{
	display:flex;
	align-items: center;
	border-bottom:dotted 2px #fff;
	margin:80px auto 0 auto;
	padding:10px 10px;
	width:90%;
	box-sizing: border-box;
}
.footer-2-logo{
	width:40px;
}
.footer-2-logo img{
	width:100%;
} 
.footer-2-content p{
	margin-left:7px;
	font-weight:bold;
}
.footer-3{
	width:90%;
	margin:10px auto;
	/*display:flex;
	justify-content:space-between;*/
}
.footer-3 ul{
	display:flex;
	justify-content:space-between;
	width:350px;
	padding:0 10px;
}
.footer-3 ul li{
	margin:0 5px;
}
.footer-3 ul li a{
	color:#fff;
}
.copyright{
	font-size:14px;
	margin:10px 10px 0 15px;
}
@media(max-width:960px){
.footer-1 nav .footer-1-child{
	margin-left:30px;
}	
}
@media(max-width:640px){
.footer-3{
	display:block;
}
/*.copyright{
	font-size:14px;
	margin:10px 10px 0 15px;
}*/
}
@media(max-width:768px){
.footer-1 nav .footer-1-child{
	margin-left:0;
	margin-bottom:30px;
	width:50%;
}	
}
@media(max-width:480px){
.footer-1 nav .footer-1-child{
	margin-left:0;
	margin-bottom:30px;
	width:100%;
}	
.footer-3{
	width:95%;
}
.footer-3 ul{
	width:330px;
	padding:0 10px;
}
.copyright{
	margin:10px 0 0 10px;
}
}



/*パンくずリスト*/
.breadcrumb {
    width: 98%;
    margin: 0 auto 20px auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    font-size: 14px;
	padding:3px 0;
}
.breadcrumb li a{
    font-weight: bold;
    color: #373737;
}
.breadcrumb li{
	font-weight: 400;
    color: #878787;
}
.breadcrumb li:not(:last-of-type)::after {
    content: "＞";
    margin: 0.25em;
    color: #80C4C4;
	font-weight:bold;
}



/*トップに余白あり*/
.base {
	padding-top:150px;
}
/*.base-content h1{
	font-size:50px;
	line-height:50px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.base-content h1 span{
	display:flex;
	font-size:40px;
	align-items:center;
	color:#80C4C4;
}
.base-content h1 span::after{
	display:block;
	content:"";
	height:3px;
	width:120px;
	background-color:#80C4C4;
	margin-left:8px;
	margin-top:15px;
}*/
.base-title {
    /*width: 100%;
    height: 70vh;
    background-image: url(../images/staff/voice-top2.jpg);	
	background-position: top;
	background-size: cover;
	position:relative;*/
}
.base-title-h1{
	position:absolute;
	bottom:55px;
	left:7px;
}
.base-title h1{
	font-size:120px;
	line-height:120px;
	/*font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
	text-shadow: 0px 0px 15px #707070;
	color:#f8f8f8;
	display:flex;
	flex-direction: column;
	align-items: flex-start;
	position:relative;

}
.base-title h1 br{
	display:none;

}
.base-title h1 span{
	display:flex;
	align-items:center;
	justify-content: center;
	color:#fff;
	font-size:20px;
	line-height:20px;
	margin-left:10px;
}
.base-title h1 span::after{
	display:block;
	content:"";
	height:3px;
	width:120px;
	background-color:#fff;
	margin-left:10px;
}
.base-title-bottom {
	border-radius:100px 100px 0 0;
	background-color:#f8f8f8;
	width:100%;
	height:50px;
	position:absolute;
	bottom:0;
	left:0;
}
.base-content {
	width:95%;
	max-width:960px;
	margin:auto;
}
@media(max-width:1200px){
.base-title h1 .br-1{
	display:block;

}
.base-title-bottom {
	border-radius:100px 100px 0 0;
	width:100%;
	height:50px;
	position:absolute;
	bottom:0;
	left:0;
}	
}
@media(max-width:960px){
.base-title h1{
	font-size:100px;
	line-height:100px;
}
.base-title h1 span{
	font-size:18px;
	line-height:18px;
	margin-left:10px;
}
.base-title h1 span::after{
	width:100px;
}
}
@media(max-width:768px){
.base-title h1{
	font-size:80px;
	line-height:80px;
}
.base-title h1 span{
	font-size:18px;
	line-height:18px;
	margin-left:10px;
}
.base-title h1 span::after{
	width:100px;
}
}
@media(max-width:640px){
.base-title h1{
	font-size:60px;
	line-height:60px;
}
.base-title h1 span{
	font-size:17px;
	line-height:17px;
	margin-left:10px;
}
.base-title h1 span::after{
	width:100px;
}
}
@media(max-width:480px){
.base-title h1{
	font-size:45px;
	line-height:45px;
}
.base-title h1 span{
	font-size:16px;
	line-height:16px;
	margin-left:10px;
}
.base-title h1 span::after{
	width:100px;
}
}
@media(max-width:480px){
.base-title h1 .br-2{
	display:block;

}
}
/* スライドする要素 */
.content {
  width: 1900px;
}
/* スライドレールの枠 */
.wrap {
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-bottom:-1.8vh;
}
/* content4つをまとめたスライドブロック */
.slideshow {
  display: flex;
  -webkit-animation: loop-slide 50s infinite linear 0s both;
  animation: loop-slide 50s infinite linear 0s both;
}
@-webkit-keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/*.author a{
  color:#afa;
  font-weight:bold;
}*/




/* アニメーションの基本設定 */
@keyframes bounce {
  0% {
    transform: translateY(0) scale(1);
  }
  30% {
    transform: translateY(-50px) scale(0.2);
  }
  50% {
    transform: translateY(0) scale(0.8);
  }
  70% {
    transform: translateY(-25px) scale(1.1);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}

/* 共通の円のスタイル */
.bounce-circle {
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  margin:auto;
  display: inline-block;
  animation: bounce 1s ease infinite;
  animation-iteration-count: 1;
  position:absolute;
}

/* 各要素に異なる遅延時間を設定 */
.delay1 {
  animation-delay: 0s;
  right:-6%;
  bottom:8px;
}

.delay2 {
  animation-delay: 0.5s;
  right:-6%;
  bottom:8px;
}
@media(max-width:520px){
.bounce-circle {
  width: 15px;
  height: 15px;
}
.delay1 {
  animation-delay: 0s;
  right:-9%;
  bottom:4px;
}

.delay2 {
  animation-delay: 0.5s;
  right:-9%;
  bottom:4px;
}	
}


@keyframes bounce2 {
  0% {
    transform: translateY(0) scale(1);
  }
  30% {
    transform: translateY(-50px) scale(0.2);
  }
  50% {
    transform: translateY(0) scale(0.8);
  }
  70% {
    transform: translateY(-25px) scale(1.1);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
/* 共通の円のスタイル */
.bounce-circle2 {
  width: 10px;
  height: 10px;
  background-color: #80C4C4;
  border-radius: 50%;
  margin:auto;
  display: inline-block;
  animation: bounce2 1s ease infinite;
  animation-iteration-count: 1;
  position:absolute;
}

/* 各要素に異なる遅延時間を設定 */
.delay2-1 {
  animation-delay: 0s;
  left:-10vw;
  top:11vh;
}
.delay2-2 {
  animation-delay: 0.5s;
  left:-10vw;
  top:16vh;
}
.delay2-3 {
  animation-delay: 1.0s;
  left:-10vw;
  top:21vh;
}

/* 各要素に異なる遅延時間を設定 */
.delay3-1 {
  animation-delay: 0s;
  right:-10vw;
  bottom:10vh;
}
.delay3-2 {
  animation-delay: 0.5s;
  right:-10vw;
  bottom:5vh;
}
.delay3-3 {
  animation-delay: 1.0s;
  right:-10vw;
  bottom:0vh;
}
@media(max-width:1200px){
/* 各要素に異なる遅延時間を設定 */
.delay2-1 {
  animation-delay: 0s;
  left:-3vw;
  top:11vh;
}
.delay2-2 {
  animation-delay: 0.5s;
  left:-3vw;
  top:16vh;
}
.delay2-3 {
  animation-delay: 1.0s;
  left:-3vw;
  top:21vh;
}

/* 各要素に異なる遅延時間を設定 */
.delay3-1 {
  animation-delay: 0s;
  right:-3vw;
  bottom:10vh;
}
.delay3-2 {
  animation-delay: 0.5s;
  right:-3vw;
  bottom:5vh;
}
.delay3-3 {
  animation-delay: 1.0s;
  right:-3vw;
  bottom:0vh;
}	
}

/*固定ボタン*/
.btn-fixed {
	position:fixed;
	right:15px;
	bottom:30px;
	z-index:2;
	width:240px;
	display:block;
}
.web-btn-fixed a, .tel-btn-fixed a, .line-btn-fixed a{
	display:flex;
	justify-content:center;
	align-items:center;
	color:#fff;
	text-align:center;
	margin:5px 0;
	font-family: 'Zen Maru Gothic', sans-serif;
    font-weight:500;
    border-radius: 50px;
	/*border:solid 2px #fff;*/
	font-size:18px;
	height:50px;
}
.web-btn-fixed a{
    background-color:#1d1d1d;
}
.tel-btn-fixed a{
	background-color:#3a3a3a;
}
.line-btn-fixed a{
	background-color:#06c755;
}
.web-btn-fixed a:hover, .tel-btn-fixed a:hover, .line-btn-fixed a:hover{
	font-size:20px;
}
@media(max-width:960px){
.btn-fixed {
	display:none;
}
}
.btn-fixed-sp {
	position:fixed;
	z-index:2;
	width:100%;
	bottom:0;
	right:0;
	display:none;
}
.fixed-sp-flex {
	display:flex;
	justify-content:space-between;
	background-color:#fff;
}
.fixed-sp-web, .fixed-sp-tel, .fixed-sp-line{
	width:49.9%;
	/*border-top:solid 2px #fff;
	border-right:solid 1px #fff;*/
}
.fixed-sp-web a, .fixed-sp-tel a, .fixed-sp-line a{
	margin:0;
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	text-align:center;
	font-size:16px;
	padding:10px 0;
	color:#fff;
	text-decoration:none;
	font-family: 'Zen Maru Gothic', sans-serif;
    font-weight:500;
	height:50px;
}
.fixed-sp-web a{
	background-color:#1d1d1d;
}
.fixed-sp-tel a{
	background-color:#3a3a3a;
}
.fixed-sp-line a{
	background-color:#06c755;
}
.fixed-sp-web a:hover, .fixed-sp-tel a:hover, .fixed-sp-line a:hover{
	font-size:18px;
}
@media(max-width:960px){
	.btn-fixed-sp {
	display:block;
}
}