@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

html{
	font-family: 'Noto Sans JP', sans-serif;
	background: #fff;
}
body{
	width: 100%;
	margin: 0 auto;
}
a {
    color: #008588;
}
a:hover{
	-webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
	opacity: .7;
}
.wrapper {
    position: relative;
/*	margin-top: 70px;*/
}
::selection    {
    background: #008588;
    color:#fff;
	text-shadow: none;
}
/*Firefox*/
::-moz-selection   {
    background: #008588;
    color:#fff;
	text-shadow: none;
}

b, strong {
    font-weight: 700;
}
small {
    font-size: smaller;
}

/*header*/
#header{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background-color: rgba(255,255,255,0.9);
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
/*  height: 70px;*/
}
#header .inner {
	position: relative;
	max-width:  94%;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 1170px;
	padding: 0 15px;
	margin: 0 auto;
}
#header .logo-box {
	margin-right: 50px;
}
img.site-logo {
    height: 56px;
}
@media screen and (max-width: 767px) {
	a:hover {
		opacity: 1;
	}
	#header .inner {
		max-width:  100%;
		width: 100%;
	}
}


.site-logo {
    margin: 7px 10px 7px 0;
}
@media screen and (max-width: 767px) {
	.site-logo {
		margin: 2vw 0 0 0vw;
	}
}

.site-nav {
	flex: 1;
}
@media screen and (max-width: 1100px) {
	.site-nav {
		flex: auto;
		width: 100%;
	}
}
.site-nav .parent-navi {
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 2rem;
}
.site-nav .parent-navi > ul {
	display: flex;
	column-gap: 25px;
}
.site-nav .parent-navi > ul > li {
    position: relative;
}
.site-nav .parent-navi > ul > li > a {
    font-size: 14px;
    font-weight: 500;
	position: relative;
    display: block;
    line-height: 70px;
    padding: 0;
    background-color: transparent;
    border-bottom: 0 solid transparent;
    border-top: 0 solid transparent;
    color: #3d3d3d;
}
.site-nav .parent-navi ul > li > a span {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.site-nav .parent-navi ul > li.hovChild > a span {
	padding-right: 13px;
}
.site-nav .parent-navi ul > li.hovChild > a span::after{
  position: absolute;
  top: 50%;
  right: 0;
  content: '';
  width: 4px;
  height: 4px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg) translateY(-50%);
}
#header .button {
	width: 138px;
	margin-left: auto;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 34px;
	text-align: center;
	background-color: #000;
	border-radius: 5px;
}
@media screen and (max-width: 767px) {
	#header .button {
		width: 90%;
		margin: 2rem auto;
		font-size: 4vw;
		line-height: 13vw;		
	}
}

.site-nav .sub-navi_pc{
	background-color: #fff;
	display: none;
	overflow-x: hidden;
}
.site-nav .sub-navi_pc ul {
	padding: 0 0 8px;
	position: absolute;
	white-space: nowrap;
	background: #fff;
	opacity: 0.9;
}
.site-nav .sub-navi_pc ul li a {
	font-size: 13px;
	color: #3d3d3d;
	font-weight: 500;
	padding: 0 30px 0 10PX;
}


/* header_sp */
@media screen and (max-width: 767px) {
	#header{
		width: 100%;
		position: fixed;
		z-index: 1000;
/*		border-bottom: 4px solid #008588;*/
	}
	#header #header-menu{
		padding: 1% 3% 1% 3%;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center; 
		align-items: center;
		top: 0;
		left: 0;
		background-color: #fff;
		border-bottom: 4px solid #008588;
	}	

	#header .menu-trigger {
		display: inline-block;
		position: relative;
		width: 39px;
		height: 32px;
		vertical-align: middle;
		cursor: pointer;
	}
	#header .menu-trigger span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 6px;
		background-color: #282828;
		transition: all .5s .2s;
	}
	#header .menu-trigger.active span {
		background-color: #282828;
		height: 6px;
	}
	#header .menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	#header .menu-trigger.active span:nth-of-type(1) {
		transform: translateY(13px) rotate(-45deg);
	}
	#header .menu-trigger span:nth-of-type(2) {
		top: 13px;
	}
	#header .menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	#header .menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	#header .menu-trigger.active span:nth-of-type(3) {
		transform: translateY(-13px) rotate(45deg);
	}

	#header .drawer-menu {
		width: 100%;
		text-align: center;
		display: none;
		top: 0;
		left: 0;
		min-width: initial;
		margin-top: 0vw;
		height: 100vh;
		background-color: #fff;
	}
	#header .drawer-menu ul {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center; 
		 align-items: center;
		flex-direction: column;
		width: 100%;
		padding: 12vw 0 0;
	}
	#header .drawer-menu ul li {
		width: 90%;
		font-size: 4.3vw;
		line-height: 1.3;
		letter-spacing: 0.35rem;
		font-weight: 900;
		text-align: left;
	}
	#header .drawer-menu ul li {
		border-bottom: 1px solid #595757;
	}
	#header .drawer-menu ul li span {
		font-size: 4vw;
		letter-spacing: 0;
		display: block;
		color: #595757;
		font-weight: 700;
	}
	#header .drawer-menu ul li a,
	#header .drawer-menu ul li span {
		display: block;
		padding: 2vw 0;
	}
	
	#header .drawer-menu .sub-navi_sp ul{
		padding: 0;
	}
	#header .drawer-menu .sub-navi_sp ul li{
		background-color: #efefef;
		padding: 1vw;
		padding-left: 2rem;
		width: 100%;
		cursor: pointer;
	}
	#header .drawer-menu .sub-navi_sp ul li:first-child{
		border-top: 1px solid #595757
	}
	#header .drawer-menu .sub-navi_sp ul li:last-child{
		border-bottom: none;
	}
	#header .drawer-menu .sub-navi_sp ul li {
		font-size: 4vw;
		letter-spacing: 0;
		display: block;
		font-weight: 500;
	}
	#header .drawer-menu .sub-navi_sp ul li a{
		color: #595757;
	}
	
	#header .drawer-menu .hasChild a{
		display:block;
		cursor:pointer;
	}
	#header .drawer-menu .hasChild > .sub-navi_sp{
		display:none;
	}
	
	#header #header-menu > a .logo {
		width: 20vw;
	}
	#header li > a .logo {
		width: 40%;
	}
}	

@media screen and (max-width: 767px) {
  .sp-menu {
    position: relative;
  }
  .sp-menu::before,
  .sp-menu::after {
    display: none;
  }
  .sp-menu .parent-navi {
    position: relative;
  }
  .sp-menu .parent-navi::before,
  .sp-menu .parent-navi::after {
    display: none;
  }
  .sp-menu .parent-navi .inner > ul > li.hasChild {
    padding: 0;
  }
  .sp-menu .parent-navi .inner > ul > li.hasChild > a {
    position: relative;
  }
  .sp-menu .parent-navi .inner > ul > li.hasChild > a::before,
  .sp-menu .parent-navi .inner > ul > li.hasChild > a::after {
    display: block;
    position: absolute;
    width: 5.33333vw;
    height: 2px;
    background-color: #282828;
    content: '';
  }
  .sp-menu .parent-navi .inner > ul > li.hasChild > a::before {
    top: calc(50% - 1px);
    right: 4vw;
  }
  .sp-menu .parent-navi .inner > ul > li.hasChild > a::after {
    top: 7.46667vw;
    right: 4vw;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .sp-menu .parent-navi .inner > ul > li.hasChild > a.is-open::after {
    display: none;
  }
	
}



/*content*/
.content .inner {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
    padding: 0 0 80px;
}
@media screen and (max-width: 767px) {
	.content .inner{
		width: 85%;
		padding: 0 0 15vw;
		margin: 0 auto;
	}
}


/*support*/
#support{
	background-color: #fff;
	overflow: hidden;	
}
#support .inner {
    padding: 100px 0 60px 0;
	margin: 0 auto;
}
#support .inner {
	width: 1000px;
    display: flex;
    display: -webkit-flex;
	justify-content: space-between;
	gap: 60px;
}
#support .tel_support {
	position: relative;
	width: 100%;
	padding: 30px;
	border: 1px solid #000;
}
#support .tel_support .address + .address{
	margin-top: 30px;
}
#support .tel_support .address .row{
	display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}
#support .tit{
	position: absolute;
	top: -1em;
	left: 50%;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	white-space: nowrap;
	transform: translateX(-50%);
}
#support .tit span{
	display: inline-block;
	padding: 0 20px;
	background-color: #fff;
}
#support .address span{
	color: #fff;
	display: inline-block;
	padding: 0 9px;
	font-size: 14px;
	font-weight: 500;
	background-color: #038587;
	line-height: 25px;
}
#support .tel{
	display: inline-block;
	font-size: 26px;
	font-weight: 600;
	padding-left: 10px;
	line-height: 1.3;
}
#support .small{
	font-size: 14px;
}
#support .mail_support {
	position: relative;
	width: 100%;
	padding: 30px;
	border: 1px solid #000;	
}
#support .mail_support .box {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 100%;
	padding: 10px;
	background-color: #F5F5F5;
}
#support .mail_support .text {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 2;
	text-align: center;
}
#support .mail_support .inquery_link {
	display: block;
	margin: 0 auto;
	width: 270px;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	background-color: #000;	
	border-radius: 5px;
	line-height: 48px;
}
@media screen and (max-width: 767px) {
	#support .inner {
		width: 85%;
		flex-direction: column;
		padding: 10vw 0;
		gap: 3rem;
	}
	#support .tel_support{
		padding: 2rem 1rem;
	}
	#support .tel_support .address + .address{
		margin-top: 2rem;
	}
	#support .tit{
		text-align: center;
		font-size: 5.5vw;
		font-weight: 500;
	}
	#support .address span{
		font-size: 3.6vw;
		padding: 0 1vw;
		line-height: 6vw;
	}
	#support .tel{
		display: inline-block;
		font-size: 7vw;
		padding-left: 3vw;
		line-height: 1.3;
	}
	#support .tel a{
		text-decoration: underline;
	}
	#support .small{
		line-height: 1.5;
		font-size: 3.6vw;
	}

	#support .mail_support {
		padding: 1rem;
	}
	#support .mail_support .tit{
		font-size: 5.5vw;
		margin-bottom: 5vw;
	}
	#support .mail_support .box {
		padding: 2rem 1rem;
	}
	#support .mail_support .text {
		font-size: 3.6vw;
	}
	#support .mail_support .inquery_link {
		display: block;
		width: 90%;
		font-size: 4vw;
	}	
}



/*footer*/
#footer{
	overflow: hidden;
	background-color: #000;
	color: #fff;
}
#footer .inner{
	width: 1200px;
    max-width: 90%;
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
#footer .logo-box {
	margin-bottom: 40px;
    text-align: center;
}
#footer img.footer-logo {
    height: 32px;
}
#footer .site-footer-nav {
	margin-bottom: 20px;
}
#footer .site-footer-nav > ul {
    display: flex;
    justify-content: center;
    gap: 25px;
}
#footer .site-footer-nav > ul > li a{
    color: #fff;
	font-size: 14px;
	font-weight: 400;
}
#footer .link_box > ul {
    display: flex;
    justify-content: center;
    gap: 25px;
}
#footer .link_box > ul > li a{
	font-size: 12px;
	color: #fff;
	border-bottom: 1px solid #fff;
	font-weight: 500;
}
#footer .link_box > ul > li a:hover{
	border-bottom: none;
}
#footer .copy {
	clear: both;
    display: block;
	font-size: 10px;
	font-weight: 500;
	text-align: center;
	padding-top: 50px;
}
@media screen and (max-width: 767px) {
	#footer .inner{
		width: 100%;
		margin: 0 auto;
		padding: 10vw 0 4vw 0;
	}
	#footer .logo-box {
		margin-bottom: 5vw;
	}
	#footer img.footer-logo {
		width: 100%;
		height: auto;
	}
	#footer .site-footer-nav {
		display: none;
	}
	#footer .link_box ul{
		flex-direction: column;
		align-items: center;
		gap: .5rem;
	}
	#footer .link_box > ul > li a{
		font-size: 3vw;
	}
	#footer .link_box > ul > li a:hover{
		border-bottom: 1px solid #282828;
	}
	#footer .copy {
		font-size: 2vw;
		padding-top: 6vw;
	}
}


/*topbtn*/
.fa, .fab, .fal, .far, .fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}
.fa, .fas {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.fa-arrow-up:before {
    content: "\f062";
}

.fa, .fab, .fal, .far, .fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}
#page-top {
    position: fixed;
    right: 10px;
    bottom: 10px;
    background: rgba(255,255,255,0.2);
    font-size: 10px;
    padding: 5px;
    border-radius: 5px;
    z-index: 999;
}
@media screen and (max-width: 767px) {
	#page-top {
		background: none;
	}
	#page-top img {
		width: 8vw;
	}
}

.fw-500{
	font-weight: 500;
}

._pcOnly{ display: block;}
._spOnly{ display: none}

@media screen and (max-width: 767px) {
._pcOnly{ display: none;}
._spOnly{ display: block}
}
