@charset "UTF-8";

/*--------------------------------------------------
  body
--------------------------------------------------*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

body {
  color: #0b0b0b;
  font-size: 15px;
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
	-webkit-text-size-adjust: none;
	word-break: break-word;
	word-wrap: break-word;
	overflow-wrap: break-word;
	/*overflow-x: hidden;*/
}

a {
	display: block;
	color: #0b0b0b;
  text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
}

a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

img {
	max-width: 100%;
	width: 100%;
	height: auto;
}

body, html {
	height: 100%;
}

.sp_br {
	display: none;
}
.pc_br {
	display: block;
}

.sp_only {
  display: none;
}
.pc_only {
  display: block;
}

.cf:after {
  content: "";
  clear: both;
  display: block;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 14px;
	}
	
	.sp_br {
		display: block;
	}
	.pc_br {
		display: none;
	}

	.sp_only {
		display: block;
	}
	.pc_only {
		display: none;
	}
}



/*--------------------------------------
　font
---------------------------------------*/
.fw700,
.fw700 span {
  font-weight: 700;
}
.fw900,
.fw900 span {
  font-weight: 900;
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}


/*--------------------------------------
　color
---------------------------------------*/
.cl-wh {
  color: #fff;
}
.cl-yl {
  color: #f9ff47;
}
.cl-gn01 {
  color: #02f7cc;
}
.cl-gn02 {
  color: #096e61;
}



/*--------------------------------------
　header
---------------------------------------*/
header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

header .logo {
  width: 130px;
  height: 100px;
}

header .logo a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  width: 100%;
  height: 100%;
}

header h1 {
  width: 92px;
  margin: auto;
}

@media screen and (max-width: 1366px) {
  header .logo {
    width: 100px;
    height: 75px;
  }
  
  header h1 {
    width: 90%;
    margin: auto;
  }  
}

@media screen and (max-width: 768px) {
  header {
    background: #fff;
    padding: 10px 10px;
    position: relative;
  }

  header .logo {
    width: 100%;
    height: auto;
  }

  header .logo a {
    display: block;
    background: none;
  }

  header h1 {
    width: 50%;
  }  
}



/*--------------------------------------
　footer
---------------------------------------*/
footer {
  width: 100%;
  width: calc(100% - 400px);
	min-width: 1220px;
	border-top: 5px solid #f5f5f5;
}

footer .footer_inner {
	max-width: 1220px;
	margin: auto;
	padding: 40px 0 60px;
}

footer .logo {
  max-width: 313px;
}

footer .footer_block {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 0;
}

footer .f_navi ul {
	display: flex;
}
footer .f_navi ul:first-child {
	margin: 0 0 30px;
}
footer .f_navi li {
	padding: 0 10px 0 10px;
	border-left: 1px solid #000;
}
footer .f_navi li:first-child {
	padding: 0 10px 0 0;
	border-left: none;
}
footer .f_navi li a {
	font-size: 12px;
}

footer .f_bnr ul {
	display: flex;
	align-items: center;
}
footer .f_bnr .iso {
	max-width: 115px;
	margin: 0 25px 0 0;
}
footer .f_bnr .privacy {
	max-width: 70px;
}

footer .copy {
	background: #9f9f9f;
	padding: 40px 0;
	color: #fff;
	font-size: 12px;
	text-align: center;
}

@media screen and (max-width: 768px) {
  footer {
    min-width: 100%;
    border-top: 3px solid #f5f5f5;
  }

  footer .footer_inner {
    max-width: 100%;
    padding: 35px 15px 35px;
  }

  footer .logo {
    max-width: 70%;
  }

  footer .footer_block {
    display: block;
    margin: 30px 0 0;
  }

  footer .f_navi ul {
    display: block;
  }
  footer .f_navi ul:first-child {
    margin: 0 0 20px;
  }
  footer .f_navi li {
    margin: 0 0 20px;
    padding: 0 0 0 0;
    border-left: none;
  }
  footer .f_navi li:first-child {
    padding: 0 0 0 0;
  }
  footer .f_navi li:last-child {
    margin: 0 0 0 0;
  }

  footer .f_bnr ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px 0 0;
  }
  footer .f_bnr .iso {
    max-width: 110px;
    margin: 0 20px 0 0;
  }
  footer .f_bnr .privacy {
    max-width: 70px;
  }

  footer .copy {
    padding: 30px 15px;
  }
}



/*--------------------------------------
　fixed_btn
---------------------------------------*/
@media screen and (max-width: 768px) {
  .fixed_btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
  }
  
  .fixed_btn_inner {
    background: #fff;
    transition: all 0.3s ease;
  }
  .fixed_btn_inner.stop {
    opacity: 0;
  }
  .fixed_btn_inner.stop a {
    pointer-events: none;
  }  
  
  .fixed_btn .cta_parts {
    padding: 8px 15px 8px ;
  }
  
  .fixed_btn .cta_parts .cta_txt {
    font-size: 3.5vw;
  }
  
  .fixed_btn .cta_parts .btnBox {
    display: flex;
    justify-content: space-between;
    margin: 5px 0 0;
  }
  .fixed_btn .cta_parts .cta_btn {
    width: calc((100% / 2) - 5px);
    margin: 0 0 0;
  }
  .fixed_btn .cta_parts .cta_btn:last-child {
    margin: 0 0 0;
  }
 .fixed_btn .cta_parts .cta_btn a {
    padding: 12px 10px;
    font-size: 3.5vw;
    line-height: 1.2;
  }
}