/* CSS Document */
/* reset
========================================= */
* {
  margin: 0;
  padding: 0;
  line-height: 1.0;
}
html {
  background-color: #fff;
  font-size: 62.5%;
  height: 100%;
  width: 100%;
}
body {
  width: 100%;
  max-width: 750px;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  background-color: #fff;
  font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.05em;
}
h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  font-style: normal;
  font-size: 100%;
  text-align: left;
  list-style-type: none;
  border-collapse: collapse;
  vertical-align: top;
  box-sizing: border-box;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  overflow: hidden;
  display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}
* + html .clearfix {
  min-height: 1%;
}
.clearfix {
  display: block;
}
/* End hide from IE-mac */
div.t, ul.t {
  display: table;
}
div.t div.col, ul.t li.col {
  display: table-cell;
  vertical-align: top;
}
div.t_s, ul.t_s {
  display: table;
}
div.t_s div.col_s, ul.t_s li.col_s {
  display: table-cell;
  vertical-align: top;
  text-align: center;
}
p, a {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.7;
}
p {
  margin: 15px 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: normal;
  padding: 0;
}
a {
  margin: 2em 0 0 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
  text-decoration: none;
  color: #000000;
}
h2 {
  padding: 0;
  text-align: center;
}
hr {
  border-width: 1px 0px 0px 0px; /* 太さ */
  border-style: solid; /* 線種 */
  border-color: #000000; /* 線色 */
  height: 1px; /* 高さ(※古いIE用) */
}
input[type="text"], input[type="tel"], input[type="email"], textarea {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 10px;
  border: 1px solid #D3D3D3;
  background: #F7F7F7;
}
img, input[type="image"] {
  width: 100%;
  height: auto;
}
img, video {
	width: 100%;
	height: auto;
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
}
/*-- デフォルトスマホぼボタンCSS解除 --*/
input, button, select, textarea {
  -webkit-appearance: none;
}
input[type="submit"] {
  width: 100%;
  height: 60px;
  font-size: 1.8rem;
  margin: 40px 0 40px 0;
}
img {
  vertical-align: bottom; /*隙間をなくす指定*/
}

/* Design
========================================= */
/*PC・SP表示非表示*/
.pc {
  display: none;
}
@media screen and (min-width:640px) {
  .pc {
    display: inline-block;
  }
  .sp {
    display: none;
  }
}
body {
  font-size: 1.4rem;
}
h1 {
  font-size: 5.6rem;
}
h2 {
  font-size: 2.8rem;
}
/* common */
.m_img {
  width: 100%;
  height: auto;
}


/* slider
-------------------------------------- */
.slider-wrapper{
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0;
  background: #fff;
}
.slider-wrapper ul{
	padding: 0;
	width: 100%;
	margin: 0 auto;
}
.slider-wrapper ul li p b{
	display: block;
	margin: 10px 0;
  font-family: sans-serif;
}
.slider-wrapper ul li img{
	width: 100%;
}
.slider-title img{
	width: 80%;
	margin: 0 auto;
	display: block;
}
/* slick調整 */
.slick-arrow:before{
	content:""!important;
	width: 100%!important;
	height: 100%!important;
	position: absolute;
	top: 0;
	left: 0;
}
.slick-next:before{
	background: url(../img/lr_right.webp)!important;
	background-size: contain!important;
	content:""!important;
	width: 100%!important;
	height: 100%!important;
	position: absolute;
	top: 20px;
	left: -70px;
	opacity: .7;
}
.slick-prev:before{
	background: url(../img/lr_left.webp)!important;
	background-size: contain!important;
	content:""!important;
	width: 100%!important;
	height: 100%!important;
	position: absolute;
	top: 20px;
	left: 70px;
	opacity: .7;
}
.slick-prev {
	left: -60px;
}
.slick-next {
	right: -60px;
}
.slick-prev, .slick-next {
	top: 40%;
	width: 50px;
	height: 50px;
	z-index: 10;
}
@media screen and (max-width: 600px){
.slick-next:before{
	top: 12vw;
	left: -8vw;
}
.slick-prev:before{
	top: 12vw;
	left: 8vw;
}
  .slick-prev, .slick-next {
    top: 35%;
    width: 40px;
    height: 40px;
  }
  .slick-prev {
    left: -30px;
  }
  .slick-next {
    right: -30px;
  }
}
.slide-text{
  padding: 20px 10px;
}
.slide-text p{
  line-height: 1.5;
  margin-bottom: 20px;  
  font-size: 14px;
}
.slide-text p:last-child{
  line-height: 1.5;
  margin-bottom: 0;  
}


/*cta-area
-------------------------------------- */
.cta-area{
  position: relative;
}
.cta-area__btn{
  position: absolute;
  width: 80%;
  transform: translateX(-50%);
}
.cta-area__btn--position1{
  bottom: 15%;
  left: 50%;
}
.cta-area__btn--position2{
  bottom: 2%;
  left: 50%;
}
.btn{
  width: 80%;
  margin: 0 auto;
}


/*legalinfomation
-------------------------------------- */
.legalinfomation{
  margin: 80px auto;
  padding: 0 20px;
}
.legalinfomation p,
.legalinfomation p a{
  font-size: 12px;
}
.legalinfomation p{
  word-break: break-all;
}
.legalinfomation p a{
  color: #0000ff;
}
@media screen and (max-width: 750px) {
.legalinfomation{
  margin: 10vw auto;
  padding: 0 3vw;
}
.legalinfomation p,
.legalinfomation p a{
  font-size: 2.5vw;
}
}


/*footer
-------------------------------------- */
.f_wrap {
  margin: 0 auto;
  text-align: center;
  padding: 20px 0;
  background: #3b3837;
}
.logo{
  width: 50%;
  margin: 20px auto 50px;
}
.f_wrap ul li {
  margin-bottom: 14px;
  margin: 0 auto;
  width: fit-content;
}
.f_wrap ul li a {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.08em;
  text-align: center;
  color: #fff;
  text-decoration: underline;
}
.f_wrap .f_copy p {
  font-size: 11px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .logo{
    width: 80%;
    margin: 3vw auto 6vw;
  }
}
@media screen and (max-width: 30em) {
  .f_wrap {
    padding: 2rem 0.5rem;
  }
}
