@charset "UTF-8";

/*----------------------------------------------------------------------------------------------------

  reset

----------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-weight: normal;
  /* Yutaka added */
  vertical-align: baseline;
  box-sizing:border-box;
}

body {
  line-height: 1;
  /*min-width: 1100px;*/
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Yutaka added */
table, tr, th, td, caption {
  vertical-align: middle;
  text-align: left;
}

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/*----------------------------------------------------------------------------------------------------

  body

----------------------------------------------------------------------------------------------------*/

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

body {
  font-size: clamp(14px, 1.8vw, 30px);
  line-height: 1.8em;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
	background: #e2fdff;
}

a {
  transition: all 0.3s ease;
  text-decoration: none;
  color: #000;
}
  a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
  }

img, table {
  width:100%;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }

  .sp-only {
    display: block;
  }
}


/* font
--------------------------------------------------*/



/*----------------------------------------------------------------------------------------------------

  main

----------------------------------------------------------------------------------------------------*/
.main {
  margin: auto;
  max-width: 750px;
	background: #fff;
}

.inner {
	padding: 0 6%;
}
.btn01 {
	margin: 5% 0 0 0;
}
@media screen and (max-width: 768px) {
  .main {
    max-width: inherit;
  }
.inner {
	padding: 0 4%;
}
.btn01 {
	margin: 5% 0 0 0;
}
}


/*----------------------------------------------------------------------------------------------------

  MV

----------------------------------------------------------------------------------------------------*/

.mv {
  position: relative;
}
.mv_under  {
  position: relative;
}
.mv_under .btn01 {
	position: absolute;
	bottom: 7%;
	width: 90%;
	left: 0;
	right: 0;
	margin: auto;
}


@media screen and (max-width: 768px) {

}



/*----------------------------------------------------------------------------------------------------

  sec01

----------------------------------------------------------------------------------------------------*/
.sec01 {
	background: url("../images/bg_01.jpg") center bottom no-repeat;
	background-size: 100% cover;
	padding: 0 0 10%;
}


@media screen and (max-width: 768px) {

  
}
/*----------------------------------------------------------------------------------------------------

  sec02

----------------------------------------------------------------------------------------------------*/
.sec02{
	background: url("../images/bg_02.jpg") center bottom no-repeat;
	background-size: cover;
	padding: 8% 0;
}
.slider_01 {
	position: relative;
}
.slider_01 .slick-list,
.slider_01 .slick-track {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 0; /* 行間消し用 */
}
.slider_01 .slick-slide  {
	padding: 0 0;
}

.slider_01 .slide-arrow {
  bottom: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
	z-index: 999;
	background: none;
	border: none
}
.slider_01 .prev-arrow,.slider_02 .prev-arrow {
	vertical-align: middle;
	background: url("../images/arrow01_l.png") center top no-repeat;
	background-size:contain!important;
	width: 30px;
	height: 90px;
	left:-10px;
}
.slider_01 .next-arrow,.slider_02 .next-arrow {
  vertical-align: middle;
	background: url("../images/arrow01_r.png") center top no-repeat;
	background-size:contain!important;
	width: 30px;
	height: 90px;
	right:-10px;
}



@media screen and (max-width: 768px) {
.slider_01 .prev-arrow,.slider_02 .prev-arrow {
	width: 20px;
	height: 60px;
	left:-7px;
}
.slider_01 .next-arrow,.slider_02 .next-arrow {
	width: 20px;
	height: 60px;
	right:-7px;
}
  
}
/*----------------------------------------------------------------------------------------------------

  sec03

----------------------------------------------------------------------------------------------------*/
.sec03{
	background: url("../images/bg_03.jpg") center bottom no-repeat;
	background-size: 100% auto;
	padding: 4% 0 10%;
}
/*----------------------------------------------------------------------------------------------------

  sec04

----------------------------------------------------------------------------------------------------*/
.sec04 {
	background: #e1ebf4;
	padding: 4% 0;
}
/*----------------------------------------------------------------------------------------------------

  sec05

----------------------------------------------------------------------------------------------------*/
.sec05 {
	background: url("../images/bg_05.jpg") center bottom no-repeat;
	background-size: cover;
	padding: 8% 0 10%;
}
.sec05 .wrap_01 {
	background:#bee7f1;
	padding: 3% 4%;
	border: 4px solid #b4dded;
}

/*----- acc_parts03　グラデーション-----*/
.acc_01 {
  position: relative;
	margin-bottom: 40px;
}

/* ボタン */
.acc_01 .acc_btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #152d6f;
	color: #fff;
  max-width: 480px;
  margin: auto;
  padding: 0.5rem 5rem;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 2;
}
.acc_01 .acc_btn::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 6%;
  width: 0;
  height: 0;
  border-left:10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 15px solid #fff;
	transform: translate(0,-45%);
}
.acc_01 .acc_btn.is-open::before {
  transform: translate(0,-50%) rotate(180deg);
}
.acc_01 .acc_btn.is-open::after {
  transform: rotate(180deg);
}
.acc_01 .acc_btn span::before {
	content: "詳しい作業内容を見る";
  font-weight: bold;
}
.acc_01 .acc_btn.is-open span::before {
	content: "閉じる";
}

.acc_01 .acc_content {
	position: relative;
	overflow: hidden;
}
/* 最初に見えてるテキストエリアの高さ */
.acc_01 .acc_content.is-hide {
  height: 180px;
}
.acc_01 .acc_content::after {
	content: "";
	position: absolute;
	bottom: 0;
  /*background: -webkit-linear-gradient(top, rgba(190,231,241,0) 0%, rgba(190,231,241,.9) 50%, rgba(190,231,241,.9) 50%, #bee7f1 100%);
  background: linear-gradient(top, rgba(190,231,241,0) 0%, rgba(190,231,241,.9) 50%, rgba(190,231,241,.9) 50%, #bee7f1 100%);*/
	background: #bee7f1;
	width: 100%;
  height: 80px;
	transition: all 0.4s;
  z-index: 1;
}
/* 続きを見るボタンをクリックしたらグラデーションを消す */
.acc_01 .acc_btn.is-open + .acc_content::after {
	background: none;
	height: auto;
}
.acc_01 .acc_box {
  padding: 0 0 8rem;
}

.sec05 .wrap_01 .sche .acc_btn span::before {
	content: "スケジュールをもっと見る";
}
.sec05 .wrap_01 .sche .acc_btn.is-open span::before {
	content: "閉じる";
}
/* 最初に見えてるテキストエリアの高さ */
.sec05 .wrap_01 .sche .acc_content.is-hide {
  height: 420px;
}
.sche .acc_content::after {
	background: none;
	background-image: url("data:image/svg+xml;utf8,\
    <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 100' preserveAspectRatio='none'>\
      <path d='M 0 20 Q 32 20 64 10 Q 128 -10 192 10 Q 224 20 256 20 Q 288 20 320 10 Q 384 -10 448 10 Q 480 20 512 20 Q 544 20 576 10 Q 640 -10 704 10 Q 736 20 768 20 Q 800 20 832 10 Q 896 -10 960 10 Q 992 20 1024 20 Q 1056 20 1088 10 Q 1152 -10 1216 10 Q 1248 20 1280 20 L 1280 100 L 0 100 Z' fill='%23bee7f1'/>\
    </svg>");
  background-repeat: no-repeat;
  background-size: 100% 100px; /* 幅100%、高さ100pxで表示 */
  background-position: top center;
}
.sche  .acc_content::after {
  height: 100px;
}
@media screen and (max-width: 768px) {
.sec05 {
	padding: 8% 0 10%;
}
.sec05 .wrap_01 {
	padding: 3% 4%;
	border: 4px solid #b4dded;
}

/*----- acc_parts03　グラデーション-----*/
.acc_01 {
	margin-bottom:30px;
}

/* ボタン */
.acc_01 .acc_btn {
  max-width: 480px;
  padding: 1rem 5rem;
  font-size: 1.6rem;
}
.acc_01 .acc_btn::before{
  border-left:7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #fff;
}


/* 最初に見えてるテキストエリアの高さ */
.acc_01 .acc_content.is-hide {
  height: 120px;
}
.acc_01 .acc_content::after {
  height: 60px;
}
.acc_01 .acc_box {
  padding: 0 0 6rem;
}

/* 最初に見えてるテキストエリアの高さ */
.sec05 .wrap_01 .sche .acc_content.is-hide {
  height: 220px;
}
.sche .acc_content::after {
	background: none;
	background-image: url("data:image/svg+xml;utf8,\
    <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 100' preserveAspectRatio='none'>\
      <path d='M 0 20 Q 32 20 64 10 Q 128 -10 192 10 Q 224 20 256 20 Q 288 20 320 10 Q 384 -10 448 10 Q 480 20 512 20 Q 544 20 576 10 Q 640 -10 704 10 Q 736 20 768 20 Q 800 20 832 10 Q 896 -10 960 10 Q 992 20 1024 20 Q 1056 20 1088 10 Q 1152 -10 1216 10 Q 1248 20 1280 20 L 1280 100 L 0 100 Z' fill='%23bee7f1'/>\
    </svg>");
  background-repeat: no-repeat;
  background-size: 100% 70px; /* 幅100%、高さ100pxで表示 */
  background-position: top center;
}
.sche  .acc_content::after {
  height: 70px;
}
}
/*----------------------------------------------------------------------------------------------------

  sec06

----------------------------------------------------------------------------------------------------*/
.sec06 {
	background: #e1ebf4;
	padding: 4% 0;
}
/*----------------------------------------------------------------------------------------------------

  sec07

----------------------------------------------------------------------------------------------------*/
.sec07 {
	background: url("../images/bg_06.jpg") center no-repeat;
	background-size: cover;
	padding: 15% 0 15%;
}
/*----------------------------------------------------------------------------------------------------

  sec08

----------------------------------------------------------------------------------------------------*/
.sec08 {
	background: #e1ebf4;
	padding: 2% 0 10%;
}
/*----------------------------------------------------------------------------------------------------

  contact

----------------------------------------------------------------------------------------------------*/

.contact {
}

  .contact .form-area {
    padding: 2% 0 0 0;
  }

  .contact .form-area iframe{
    width: 100%;
    height: 1760px;
  }

@media screen and (max-width: 768px) {
  .contact .form-area iframe {
    width: 100%;
    height: 1760px;
  }

}


/*----------------------------------------------------------------------------------------------------

  fix-cta

----------------------------------------------------------------------------------------------------*/

.fix-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  display: none;
}

  .fix-cta .inner {
    margin: auto;
    max-width: 750px;
  }

    .fix-cta .btn-area {
      padding: 2% 5.5%;
      background: rgba(246,194,179,0.75);
    }

  .fix-cta .cta-btn {
    display: block;
    -webkit-animation-name: updown;
            animation-name: updown;
    /* アニメーション名の指定 */
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    /* アニメーションの開始時間指定 */
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    /* アニメーション動作時間の指定 */
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    /* アニメーションの動き指定（徐々に早く）*/
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
  }


@media screen and (max-width: 768px) {
  .fix-cta .inner{
    max-width: inherit;
  }
}

