/* base
------------------------------------------------------*/ 
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block;
}

legend {
	display:none;
}

:focus {
	outline:0;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

th {
	text-align:center;
	font-weight:normal;
}

caption, td {
	text-align:left;
	font-weight:normal;
}

a img, iframe {
	border:none;
}

ul, ol {
	list-style:none;
}

input, textarea, select, button {
	font-size:100%;
	font-family:inherit;
}

input, select {
	vertical-align:middle;
}

select {
	margin:inherit;
}

button {
	border:0;
	padding:0;
	background:transparent;
	cursor:pointer;
}

html,body {
    min-width: 100%;
}

html {
	overflow:-moz-scrollbars-vertical;
}

body {
	background:#fff;
	font-family:"メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width:100%;
  overflow-x: hidden;
}

img {
	width:100%;
	height:auto;
	vertical-align:top;
}
a {
  transition: all ease 0.3s;
}
a:hover {
	filter: alpha(opacity=80);
	-moz-opacity: 0.80;
	opacity: 0.80;
}

video {
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
  outline: none;
  border: none;
  line-height: 0;
  display: block;
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

#container{
    width: 100%;
    max-width: 750px;
    margin: 0 auto 50px;
}

#container .p-box, 
#container .middle-offer,
#container .cta-offer-box {
  position: relative;
}

#container .btn-cta-offer {
  position: absolute;
  width: calc(576/750*100%);
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
}
#container .btn-offer {
  position: absolute;
  width: calc(681/750*100%);
  top: 47.43%;
  left: 50%;
  transform: translateX(-50%);
  border: none;
}

/* たまに発生する“1px見切れ”対策（サブピクセルの丸め誤差を吸収） */
.slick-list { margin: 0 -1px; }   /* 外側に1px分広げる */
.slick-slide { padding: 0 1px; }  /* スライド側で1px余白を確保 */
#container .slick-wrap .slick01 {
  width: min(637px, calc(637 / 750 * 100vw));
  margin: 0 auto;
}

/* フローティングバナー
------------------------------------------------------*/
#fixedBtn {
  display: none;
  width: min(750px, 100vw);
  position: fixed;
  inset: auto auto 0;
  z-index: 10;
}

/* voideo
------------------------------------------------------*/
.video-wrap {
  position: relative;
}
.video-wrap video {
  position: absolute;
  width: min(750px, calc(750 / 750 * 100vw));
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}


/* sec01 video,sec07 video 
------------------------------------------------------*/
.sec01_video,.sec03_video,.sec04_video {
  overflow: hidden;
}
.sec01_video video,.sec03_video video,.sec04_video video {
  width: 100%;
  object-fit: cover;
}

/* voice
------------------------------------------------------*/
#voice .voice_slider_wrap,#step{
  position: relative;
}

#step .step_slider {
  position: absolute;
  bottom: min(55px, calc(110 / 750 * 100vw));
  right: 0;
  left: 0;
  margin: auto;
}
#step .step_slider .slick-slide img {
  /* width: min(660px, calc(1320 / 750 * 100vw)); */
  width: 79%;
  margin: 0 auto;
}
#voice .voice_slider{
  position: absolute;
  bottom: min(95px, calc(190 / 750 * 100vw));
  right: 0;
  left: 0;
  margin: auto;
}
#voice .voice_slider .slick-slide img{
  /* width: min(568px, calc(1136 / 750 * 100vw)); */
  width: 94%;
  margin: 0 auto;
}
#step .step_slider .slick-arrow{
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  margin: auto;
  width: min(55px, calc(55 / 750 * 100vw));
  height: min(55px, calc(55 / 750 * 100vw));
  cursor: pointer;
}
#voice .voice_slider .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  margin: auto;
  width: min(55px, calc(55 / 750 * 100vw));
  height: min(55px, calc(55 / 750 * 100vw));
  cursor: pointer;
}

#voice .voice_slider .prev-arrow,
#step .step_slider .prev-arrow {
  left: 8%;
}
#voice .voice_slider .next-arrow,
#step .step_slider .next-arrow {
  right: 8%;
}
#voice .voice_slider+p,
#step .step_slider+p {
  padding-top: min(13px, calc(13 / 750 * 100vw));
  background-color: #f1edd9;
}

/*ヘッダー*/
.row {
    width: min(1120px, 100%);
}

/*「ページトップへ戻る」*/
@media screen and (max-width: 750px) {
  .site-header .col-4,
  .site-header .col-6,
  .site-footer .col-12 {
    width: 100%;
    margin-right: 0;
  }

  .site-header .col-8 {
    display: none;
  }
}