@charset "UTF-8";
/*色の読み込み*/
/*基本設定の読み込み*/
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%; }

body {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 145%;
  font-family: "游ゴシック体", "游ゴシック", YuGothic, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  color: #000;
  font-weight: 500;
  word-wrap: break-word;
  overflow-wrap: break-word; }

.small, small {
  line-height: 140%;
  font-weight: unset; }

figure {
  margin-bottom: 0px; }

.float-clear {
  clear: both; }

a {
  color: #000;
  text-decoration: none; }

a:hover {
  color: #00A0FC;
  text-decoration: none; }

hr {
  border-top-color: #D5D9DF;
  margin-top: 10px;
  margin-bottom: 10px; }

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

ol li {
  margin-bottom: 10px; }

/*---------------------------------------------*/
/* 見出し                                      */
/*---------------------------------------------*/
h1 {
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 0.7; }

h2 {
  font-size: 45px;
  font-size: 4.5rem;
  line-height: 1.0; }

h3 {
  font-size: 35px;
  font-size: 3.5rem;
  line-height: 1.3; }

h4 {
  font-size: 30px;
  font-size: 3.0rem;
  line-height: 1.2; }

h5 {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.4;
  font-weight: 700; }

h6 {
  font-size: 20px;
  font-size: 2.0rem;
  line-height: 1.4;
  font-weight: 700; }

@media only screen and (max-width: 767px) {
  h2 {
    font-size: calc(3.5rem + (1vw - 0.56rem) * 4.8309); }

  h3 {
    font-size: calc(3rem + (1vw - 0.56rem) * 1.2500); }

  h4 {
    font-size: calc(2.5rem + (1vw - 0.56rem) * 1.2500); }

  h5 {
    font-size: calc(2rem + (1vw - 0.56rem) * 1.2500); }

  h6 {
    font-size: calc(1.8rem + (1vw - 0.56rem) * 1.2500); } }
/*---------------------------------------------*/
/* webfont load                                */
/*---------------------------------------------*/
@font-face {
  font-family: 'fontawesome';
  src: url("../fonts/fa-brands-400.eot");
  src: url("../fonts/fa-brands-400.eot") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'fontawesome-s';
  src: url("../fonts/fa-solid-900.eot");
  src: url("../fonts/fa-solid-900.eot") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
/*スペース*/
.bt-sp10 {
  margin-bottom: 10px !important; }

.bt-sp20 {
  margin-bottom: 20px !important; }

.bt-sp30 {
  margin-bottom: 30px !important; }

.bt-sp40 {
  margin-bottom: 40px !important; }

.bt-sp80 {
  margin-bottom: 80px !important; }

/*グリッドシステムのガター調整*/
.row-10 {
  margin-left: -5px;
  margin-right: -5px; }
  .row-10 > div {
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 10px; }

.row-20 {
  margin-left: -10px;
  margin-right: -10px; }
  .row-20 > div {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 20px; }

.row-30 {
  margin-left: -15px;
  margin-right: -15px; }
  .row-30 > div {
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 30px; }

/*比率を保って拡大・縮小処理*/
.ratio-1_1:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* 1:1 */ }

.ratio-7_3:before {
  content: "";
  display: block;
  padding-top: 30%;
  /* 7:3 */ }

.ratio-8_2:before {
  content: "";
  display: block;
  padding-top: 20%;
  /* 8:2 */ }

.ratio-1_2:before {
  content: "";
  display: block;
  padding-top: 200%;
  /* 1:2 */ }

.ratio-4_3:before {
  content: "";
  display: block;
  padding-top: 75%;
  /* 4:3 */ }

.ratio-16_9:before {
  content: "";
  display: block;
  padding-top: 56.25%;
  /* 16:9 */ }

.ratio-8_5:before {
  content: "";
  display: block;
  padding-top: 62.5%;
  /* 8:5 ≒ 黄金比 */ }

.ratio-1_1,
.ratio-7_3,
.ratio-8_2,
.ratio-1_2,
.ratio-4_3,
.ratio-16_9,
.ratio-8_5 {
  position: relative;
  overflow: hidden; }

.ratio-1_1 > img,
.ratio-7_3 > img,
.ratio-8_2 > img,
.ratio-1_2 > img,
.ratio-4_3 > img,
.ratio-16_9 > img,
.ratio-8_5 > img {
  position: absolute;
  top: 0;
  left: 0; }

/*---------------------------------------------*/
/*追加グリッド                                 */
/*---------------------------------------------*/
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px; }

.col-xs-15 {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%; }

@media (min-width: 768px) {
  .col-sm-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
@media (min-width: 992px) {
  .col-md-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
@media (min-width: 1200px) {
  .col-lg-15 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%; } }
/*---------------------------------------------*/
/*写真マスク                                   */
/*---------------------------------------------*/
.photo-area {
  overflow: hidden;
  position: relative; }
  .photo-area img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.movie-area {
  overflow: hidden;
  position: relative; }
  .movie-area video {
    /*min-width: 100%;
    min-height: 100%;*/
    width: auto;
    height: 100%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

/*---------------------------------------------*/
/* youtube,googlemap                           */
/*---------------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.gmap {
  position: relative;
  width: 100%; }

.youtube iframe,
.gmap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

/*---------------------------------------------*/
/*　追加装飾                                   */
/*---------------------------------------------*/
.text-red {
  color: #E60039; }

@media (min-width: 768px) {
  .no-pc-br br {
    display: none; } }
@media (max-width: 767px) {
  .no-sp-br br {
    display: none; } }
@media only screen and (min-width: 992px) {
  .max-lg-250 {
    max-width: 250px; }

  .max-lg-400 {
    max-width: 400px; }

  .max-lg-h600 {
    max-height: 600px; } }
/*---------------------------------------------*/
/*　テーブルリスト                             */
/*---------------------------------------------*/
.table-list {
  list-style: none;
  padding: 0px;
  margin: 0px;
  width: 100%; }
  .table-list li {
    margin-bottom: 10px;
    padding-bottom: 10px; }

@media (min-width: 768px) {
  .table-list li {
    display: table;
    width: 100%; }
    .table-list li > div {
      display: table-cell;
      vertical-align: top; }

  .cell-140 > li > div:first-child {
    width: 140px;
    padding-right: 10px; }

  .td-line > li {
    padding-bottom: 10px;
    border-bottom: 1px solid #D5D9DF; } }
@media (max-width: 767px) {
  .table-list li {
    margin-bottom: 10px;
    position: relative;
    border-bottom: 1px solid #D5D9DF; }
    .table-list li a:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      height: 100%;
      width: 100%; } }
/*---------------------------------------------*/
/*　通常リスト                                 */
/*---------------------------------------------*/
.nomal-list li {
  margin-bottom: 10px; }

/*---------------------------------------------*/
/*　swiper追加設定                             */
/*---------------------------------------------*/
.swiper-button-next:after {
  content: "" !important;
  width: 30px;
  height: 30px;
  border: 0px;
  border-top: solid 4px #00479d;
  border-right: solid 4px #00479d;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -15px;
  margin-right: -5px; }

.swiper-button-prev:after {
  content: "" !important;
  width: 30px;
  height: 30px;
  border: 0px;
  border-top: solid 4px #00479d;
  border-right: solid 4px #00479d;
  -ms-transform: rotate(227deg);
  -webkit-transform: rotate(227deg);
  transform: rotate(227deg);
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -15px;
  margin-left: -5px; }

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block; }

.swiper-parent {
  position: relative; }

.swiper-pagination-bullet {
  border-color: #CCC !important; }

/*---------------------------------------*/
/* bootstrap上書き      　               */
/*---------------------------------------*/
.table thead {
  background-color: #808080; }

.table-bordered {
  border: 1px solid #D5D9DF; }

/*loadingのみ込み*/
/*-------------------------------------------*/
/* laoding                                   */
/*-------------------------------------------*/
#loader-bg {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  color: #000;
  z-index: 9999;
  overflow: hidden;
  background-color: #FFF; }

#loader {
  display: block;
  position: fixed;
  width: 200px;
  /*height: 100px;*/
  text-align: center;
  z-index: 10000;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  #loader:after {
    content: "Now Loading";
    font-size: 14px;
    margin-top: 10px;
    display: block; }

#wrapper {
  visibility: hidden; }

/*loading anime*/
#load-anime {
  width: 170px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -10px -85px; }

#load-anime div {
  height: 20px;
  width: 20px;
  background: #00479d;
  border-radius: 50%;
  position: absolute;
  -webkit-animation: animate 1.4s ease infinite; }

#load-anime div:nth-child(2) {
  margin-left: 30px;
  -webkit-animation-delay: .08s; }

#load-anime div:nth-child(3) {
  margin-left: 60px;
  -webkit-animation-delay: .16s; }

#load-anime div:nth-child(4) {
  margin-left: 90px;
  -webkit-animation-delay: .24s; }

#load-anime div:nth-child(5) {
  margin-left: 120px;
  -webkit-animation-delay: .32s; }

#load-anime div:nth-child(6) {
  margin-left: 150px;
  -webkit-animation-delay: .40s; }

@-webkit-keyframes animate {
  0% {
    left: 0px;
    top: 0px; }
  5% {
    left: -2px;
    top: 4px;
    width: 24px;
    height: 16px;
    -webkit-filter: blur(0.1px); }
  10% {
    left: -1px;
    top: 4px;
    width: 22px;
    height: 18px;
    -webkit-filter: blur(0.1px); }
  /*halfway up*/
  15% {
    left: 1px;
    top: -17px;
    width: 18px;
    height: 22px;
    -webkit-filter: blur(0.3px); }
  /*top*/
  22% {
    left: 0px;
    top: -34px;
    width: 20px;
    height: 20px;
    -webkit-filter: blur(0.2px); }
  /*halfway down*/
  29% {
    left: 1px;
    top: -17px;
    width: 18px;
    height: 22px;
    -webkit-filter: blur(0.3px); }
  /*bottom*/
  34% {
    left: 1px;
    top: 0px;
    width: 18px;
    height: 22px;
    -webkit-filter: blur(0.2px); }
  /*elastic bottom*/
  40% {
    left: -1px;
    top: 4px;
    width: 22px;
    height: 18px;
    -webkit-filter: blur(0.1px); }
  /*end*/
  43% {
    left: 0px;
    top: 0px;
    width: 20px;
    height: 20px;
    -webkit-filter: blur(0px); }
  100% {
    left: 0px;
    top: 0px; } }
/*ナビゲーションの読み込み*/
/*---------------------------------------------*/
/* PC・スマホ共通用                            */
/*---------------------------------------------*/
#header-wrap {
  width: 100%; }

/*-------------------------------------*/
/* スマホ用メニュー                    */
/*-------------------------------------*/
.menu-mobile {
  display: none; }

#header-wrap {
  transition: 0.5s;
  -webkit-transition: 0.5s; }

#main-nav {
  -webkit-transform: translate(37.5rem);
  transform: translate(37.5rem);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s; }

/*スマホメニュー表示ボタンが押された時*/
html.nav-active #main-nav {
  position: fixed;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  z-index: 98;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: scroll;
  background-color: #FFF;
  /*アニメ*/
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

html.nav-active body {
  overflow: hidden; }

@media (min-width: 992px) {
  html.nav-active #main-nav {
    width: 50% !important;
    max-width: 480px; }

  /*スマホメニュー以外を隠すマスク*/
  html.nav-active .nav-mask {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 91;
    backdrop-filter: blur(12px); } }
/*スマホメニュー表示ボタン*/
.menu-mobile {
  display: block;
  position: fixed;
  top: 0px;
  right: 0px;
  width: 70px;
  height: 70px;
  z-index: 99;
  cursor: pointer; }

.menu-mobile {
  top: 0px;
  right: 0px; }

#common-nav-switch:after {
  content: "メニュー";
  position: absolute;
  bottom: 7px;
  left: 0;
  display: block;
  text-align: center;
  width: 100%;
  color: #00479d;
  font-size: 80%; }

.nav-active #common-nav-switch:after {
  content: "閉じる"; }

#common-nav-switch-in {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 17px;
  margin: -25% 0 0 -15px; }

#common-nav-switch-in .bar {
  position: absolute;
  left: 0;
  width: 30px;
  height: 3px;
  transition: all 0.4s ease 0s;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  background: #00479d; }

/*.menu-mobile:hover {
	#common-nav-switch-in .bar {
		background-color: $whiteCL;
	}
}
.nav-active #common-nav-switch {
	background: $sp_achanCL;
}*/
.nav-active #common-nav-switch .bar {
  -webkit-transform-origin: 0% 0%;
  -moz-transform-origin: 0% 0%;
  -o-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  background: #00479d !important; }

#common-nav-switch-in .bar.bar01 {
  top: 0;
  transform-origin: center center; }

#common-nav-switch-in .bar.bar03 {
  top: 10px;
  transform-origin: center center; }

/* スマホメニューcloes ボタン化　*/
.nav-active #common-nav-switch-in .bar.bar01 {
  -webkit-transform: rotate(45deg) translate(10%, 100%);
  -moz-transform: rotate(45deg) translate(10%, 100%);
  -o-transform: rotate(45deg) translate(10%, 100%);
  -ms-transform: rotate(45deg) translate(10%, 100%);
  transform: rotate(45deg) translate(10%, 100%); }

.nav-active #common-nav-switch-in .bar.bar03 {
  -webkit-transform: rotate(-45deg) translate(13%, -100%);
  -moz-transform: rotate(-45deg) translate(13%, -100%);
  -o-transform: rotate(-45deg) translate(13%, -100%);
  -ms-transform: rotate(-45deg) translate(13%, -100%);
  transform: rotate(-45deg) translate(13%, -100%); }

/*スマホメニューの見た目設定*/
.menu-container {
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99; }

.menu > ul {
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 20px;
  width: 100%;
  list-style: none;
  padding: 0;
  position: relative;
  box-sizing: border-box; }

.menu > ul > li {
  float: left;
  padding: 0;
  margin: 0;
  background: #FFF;
  border-top: 1px solid #CCC; }

.menu > ul > li:last-child {
  border-bottom: 1px solid #CCC; }

.menu > ul > li a {
  text-decoration: none;
  padding: 1.5em 3em;
  display: block;
  color: #000; }

.menu > ul > li:hover {
  background: #DDD; }

.menu > ul > li > ul,
.menu > ul > li > ul > li ul {
  display: none;
  width: 100%;
  position: absolute;
  z-index: 99;
  left: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
  background: #3791ff; }

.menu > ul > li > ul li {
  border-top: 1px solid #CCC; }

.menu-container {
  width: 100%; }

.menu-dropdown-icon:before {
  display: block; }

.menu > ul {
  display: none;
  /*フェードさせたい時はここを無効化*/ }

.menu > ul li {
  width: 100%;
  float: none;
  display: block; }

.menu > ul li > span {
  position: relative;
  display: table;
  width: 100%; }

.sp-gnav-layer-btn {
  display: table-cell;
  width: 40px;
  cursor: pointer;
  -moz-transition: background-color .2s linear;
  -webkit-transition: background-color .2s linear;
  -o-transition: background-color .2s linear;
  -ms-transition: background-color .2s linear;
  transition: background-color .2s linear;
  border-left: solid 1px #CCC;
  border-bottom: solid 1px #CCC;
  background-color: #00479d; }

.sp-gnav-layer-btn:before {
  content: "";
  position: absolute;
  display: block;
  width: 16px;
  height: 2px;
  top: 50%;
  right: 12px;
  margin: -1px 0 0;
  background-color: #FFF; }

.sp-gnav-layer-btn:after {
  content: "";
  position: absolute;
  display: block;
  width: 2px;
  height: 16px;
  top: 50%;
  right: 19px;
  margin: -8px 0 0;
  -moz-transition: -moz-transform .2s linear;
  -webkit-transition: -webkit-transform .2s linear;
  -o-transition: -o-transform .2s linear;
  -ms-transition: -ms-transform .2s linear;
  transition: transform .2s linear;
  background-color: #FFF; }

.sp-gnav-layer-btn.current:after {
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.menu > ul li a {
  padding: 1.5em;
  width: 100%;
  display: block; }

.menu > ul li ul {
  position: relative; }

.menu > ul li ul.normal-sub {
  width: 100%; }

.menu > ul li ul li {
  float: none;
  width: 100%; }

.menu > ul li ul li:first-child {
  margin: 0; }

.menu > ul li ul li ul {
  position: relative; }

.menu > ul li ul li ul li {
  float: none; }

.menu .show-on-mobile {
  display: block; }

/*ボタンスタイルの読み込み*/
/*---------------------------------*/
/* ボタンスタイル                  */
/*---------------------------------*/
.btn-block {
  display: block; }

.btn-inlineblock {
  display: inline-block; }

.btn-nomal {
  border: 1px solid #000;
  border-radius: 10px;
  padding: 15px 10px;
  text-align: center; }
  .btn-nomal:hover {
    border-color: #00479d; }

.btn-keycl {
  border: 1px solid #00479d;
  border-radius: 10px;
  padding: 15px 10px;
  text-align: center;
  color: white;
  background-color: #00479d; }
  .btn-keycl:hover {
    border-color: #00479d;
    color: #00479d;
    background-color: white; }

.btn-simple {
  color: #00479d; }
  .btn-simple:after {
    content: "\f0a9";
    font-family: 'fontawesome-s';
    margin-left: 5px; }

/*特殊ボタン*/
.btn-sns_lg {
  position: relative;
  overflow: hidden; }
  .btn-sns_lg span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    text-align: center;
    border: 2px solid white;
    border-radius: 10px;
    padding: 15px 10px; }
  .btn-sns_lg a {
    color: white; }
    .btn-sns_lg a:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
  .btn-sns_lg img {
    opacity: 0.4; }
  .btn-sns_lg:before {
    background-color: #00479d; }

/*blankリンクに反応*/
a.btn-nomal[target="_blank"]:before {
  content: "\f2d2";
  font-family: 'fontawesome-s';
  margin-right: 10px; }

/*PDFリンクに反応*/
a.btn-nomal[href$=".pdf"]:before {
  content: "\f1c1";
  font-family: 'fontawesome-s';
  margin-right: 10px; }

.btn-mail {
  text-align: center;
  background-color: #E60039;
  padding: 10px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .btn-mail:before {
    content: url("../img/i-mail.svg");
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%; }
  .btn-mail span {
    display: block;
    color: white; }

.btn-tell {
  text-align: center;
  background-color: #E60039;
  padding: 10px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .btn-tell:before {
    content: url("../img/i-tell.svg");
    display: block;
    text-align: center; }
  .btn-tell span {
    display: block;
    color: white; }

.btn-fax:before {
  content: "\f1ac";
  font-family: 'fontawesome-s';
  display: block;
  font-size: 30px;
  font-size: 3.0rem; }

.btn-facebook:before {
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background-image: url("../img/icon-facebook.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center; }

.btn-insta:before {
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background-image: url("../img/icon-insta.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center; }

.btn-youtube:before {
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background-image: url("../img/icon-youtube.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center; }

.btn-line:before {
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background-image: url("../img/icon-line.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center; }

.btn-before {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px; }
  .btn-before:before {
    content: "\f060";
    font-family: 'fontawesome-s';
    font-size: 30px;
    font-size: 3.0rem;
    margin-right: 10px; }

.btn-next {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px; }
  .btn-next:after {
    content: "\f061";
    font-family: 'fontawesome-s';
    font-size: 30px;
    font-size: 3.0rem;
    margin-left: 10px; }

/*---------------------------------------------*/
/*上に戻るボタン                               */
/*---------------------------------------------*/
.page-top {
  display: none;
  width: 50px;
  height: 50px;
  padding: 10px;
  position: fixed;
  z-index: 90;
  bottom: 0;
  right: 0;
  background-color: #00479d;
  cursor: pointer;
  text-align: center;
  justify-content: center;
  align-items: center; }

.page-top:hover {
  background-color: #231815; }

.page-top:before {
  font-family: 'fontawesome-s';
  content: "\f062";
  color: white;
  font-size: 20px;
  line-height: 0%; }

/*swiperのスタイルの読み込み*/
/*swiper追加スタイル*/
.swiper-parent {
  position: relative; }

.swiper-container {
  width: 100%;
  height: auto; }

.swiper-slide {
  width: 100%; }

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block; }

.swiper-pagination-bullet-active {
  background-color: red !important; }

.swiper-pagination-bullet {
  background-color: white;
  border: 1px solid #000;
  opacity: 1; }

.swiper-slide-active img {
  opacity: 1; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #00479d !important; }

.swiper-button-next:after {
  content: "" !important;
  width: 15px;
  height: 15px;
  border: 0px;
  border-top: solid 2px #00479d;
  border-right: solid 2px #00479d;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8px;
  margin-right: 0px; }

.swiper-button-prev:after {
  content: "" !important;
  width: 15px;
  height: 15px;
  border: 0px;
  border-top: solid 2px #00479d;
  border-right: solid 2px #00479d;
  -ms-transform: rotate(227deg);
  -webkit-transform: rotate(227deg);
  transform: rotate(227deg);
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -8px;
  margin-left: 0px; }

/*専用のスタイルの読み込み*/
/*近くの便利屋。専用スタイル*/
body {
  font-weight: 500; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 600; }

/*ナビ*/
.nav-active .menu {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; }

#main-menu {
  padding-top: 70px;
  margin-bottom: 0px; }
  #main-menu li {
    text-align: center; }
  #main-menu a {
    padding: 1.25em;
    color: #00479d; }

#sns-div ul,
.nav-active #sns {
  width: 100%;
  list-style: none;
  padding: 0px;
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 0px; }
  #sns-div ul li,
  .nav-active #sns li {
    flex: 1;
    border: none; }
    #sns-div ul li a,
    .nav-active #sns li a {
      padding: 5px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      text-align: center;
      color: #00479d;
      height: 100%; }
      #sns-div ul li a i,
      .nav-active #sns li a i {
        display: block;
        font-style: normal;
        font-size: 80%; }
    #sns-div ul li:nth-child(1) a:before,
    .nav-active #sns li:nth-child(1) a:before {
      content: url("../img/i-sns01.svg");
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 0; }
    #sns-div ul li:nth-child(2) a:before,
    .nav-active #sns li:nth-child(2) a:before {
      content: url("../img/i-sns02.svg");
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 0; }
    #sns-div ul li:nth-child(3) a:before,
    .nav-active #sns li:nth-child(3) a:before {
      content: url("../img/i-sns03.svg");
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 0; }
    #sns-div ul li:nth-child(4) a:before,
    .nav-active #sns li:nth-child(4) a:before {
      content: url("../img/i-sns04.svg");
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 0; }

/*ロゴカラー*/
.cls-1 {
  fill: #00479d; }

.cls-2 {
  fill: #231815; }

/*ヘッダー*/
#header-wrap {
  height: 70px;
  position: sticky;
  top: 0;
  left: 0;
  background-color: white;
  border-bottom: 3px solid #00479d;
  z-index: 9; }

h1 {
  margin: 0px;
  line-height: 0; }
  h1 svg {
    max-height: 25.36px; }

#info-mes {
  position: absolute;
  top: 0;
  right: 70px;
  height: 100%;
  display: flex;
  align-items: center; }

.info-sns {
  display: flex;
  align-items: center;
  line-height: 0;
  color: #00479d; }
  .info-sns:after {
    content: "≫";
    font-size: 3.4rem; }

.scal {
  position: relative;
  overflow: hidden; }
  .scal:before {
    content: "";
    width: 100%;
    padding-top: 100%;
    background-image: url("../img/mainv.png");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    display: block; }
  .scal .swiper-wrapper {
    transition-timing-function: linear;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    .scal .swiper-wrapper .swiper-slide {
      height: 100%;
      width: 100%;
      position: relative; }
      .scal .swiper-wrapper .swiper-slide img {
        height: auto;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0; }
      .scal .swiper-wrapper .swiper-slide:before {
        content: "";
        width: 100%;
        padding-top: 100%;
        display: block; }

/*内容*/
#contents-div {
  /*padding-bottom: 100px;*/ }

#example {
  background-color: #F8F4E8; }

h2 {
  color: #00479d;
  font-weight: bolder; }

.yellow-bar {
  margin-bottom: 40px; }
  .yellow-bar span {
    padding-left: 5px;
    padding-right: 5px;
    background: linear-gradient(transparent 60%, #FFF000 0%); }

.c-key {
  color: #00479d; }

.white-bar {
  margin-bottom: 20px; }
  .white-bar span {
    padding-left: 5px;
    padding-right: 5px;
    background: linear-gradient(transparent 60%, white 0%); }

#house-area {
  position: relative;
  padding: 10px;
  background-image: linear-gradient(125deg, #FFE178 45.45%, #FFF 45.45%, #FFF 50%, #FFE178 50%, #FFE178 95.45%, #FFF 95.45%, #FFF 100%);
  background-size: 13.43px 19.18px; }
  #house-area:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-top: 0vw solid transparent;
    border-right: 50vw solid #F8F4E8;
    border-bottom: 16vw solid transparent; }
  #house-area:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 0vw solid transparent;
    border-left: 50vw solid #F8F4E8;
    border-bottom: 16vw solid transparent; }

.pt-10p {
  padding-top: 10%; }

/*参考価格*/
#sample-price {
  background-color: #FFF000; }

/*サービス紹介*/
#service-list {
  padding: 0px;
  list-style: none; }
  #service-list li {
    margin-bottom: 10px;
    background-color: #FFF000;
    padding: 10px;
    border-radius: 10px;
    cursor: pointer; }

.s-title {
  color: #00479d;
  margin-bottom: 0px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .s-title h5 {
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    .s-title h5:before {
      content: "";
      width: 50px;
      padding-top: 50px;
      margin-right: 10px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
  .s-title:after {
    content: "\f13a";
    font-family: 'fontawesome-s';
    font-size: 2.3rem;
    transition: transform .4s; }

.open .s-title:after {
  transform: rotate(180deg); }

#service-list li:nth-child(1) .s-title h5:before {
  background-image: url("../img/icon01.svg"); }

#service-list li:nth-child(2) .s-title h5:before {
  background-image: url("../img/icon02.svg"); }

#service-list li:nth-child(3) .s-title h5:before {
  background-image: url("../img/icon03.svg"); }

#service-list li:nth-child(4) .s-title h5:before {
  background-image: url("../img/icon04.svg"); }

#service-list li:nth-child(5) .s-title h5:before {
  background-image: url("../img/icon05.svg"); }

#service-list li:nth-child(6) .s-title h5:before {
  background-image: url("../img/icon06.svg"); }

#service-list li:nth-child(7) .s-title h5:before {
  background-image: url("../img/icon07.svg"); }

.s-cont {
  display: none;
  margin-top: 10px; }

.blue-box {
  background-color: #00AAFF;
  color: white;
  padding: 5px; }

/*エリア*/
#area {
  background-color: #F8F4E8; }

/*料金*/
#price-flow {
  list-style: none;
  padding: 0px; }
  #price-flow > li {
    margin-bottom: 5px; }
    #price-flow > li:not(:last-child):after {
      content: url("../img/i-plus.svg");
      display: block;
      text-align: center;
      margin-top: 5px;
      line-height: 0; }

.box1 {
  background-color: #00479d;
  color: white;
  padding: 10px;
  border-radius: 10px;
  position: relative; }
  .box1:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 80px;
    height: calc(100% - 20px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }

.icon8:before {
  background-image: url("../img/icon08.svg"); }

.icon9:before {
  background-image: url("../img/icon09.svg"); }

.icon10:before {
  background-image: url("../img/icon10.svg"); }

.box2 {
  background-color: #808080;
  padding: 10px;
  border-radius: 10px; }

.c-white {
  color: white; }

#price-more {
  padding: 10px;
  background-color: white; }

#price-list {
  list-style: none;
  padding: 0px; }
  #price-list li {
    display: flex;
    justify-content: flex-start;
    padding-bottom: 5px; }
    #price-list li:not(:last-child) {
      margin-bottom: 10px;
      border-bottom: 1px solid #808080; }
    #price-list li:before {
      content: "";
      width: 70px;
      height: 70px;
      background-position: center top;
      background-repeat: no-repeat;
      background-size: contain;
      margin-right: 10px; }
    #price-list li > div {
      flex: 1; }

#price-list li:nth-child(1):before {
  background-image: url("../img/ser01.svg"); }

#price-list li:nth-child(2):before {
  background-image: url("../img/ser02.svg"); }

#price-list li:nth-child(3):before {
  background-image: url("../img/ser03.svg"); }

#price-list li:nth-child(4):before {
  background-image: url("../img/ser04.svg"); }

#price-list li:nth-child(5):before {
  background-image: url("../img/ser05.svg"); }

#price-list li:nth-child(6):before {
  background-image: url("../img/ser06.svg"); }

#price-list li:nth-child(7):before {
  background-image: url("../img/ser07.svg"); }

.s-open-btn {
  display: block;
  cursor: pointer;
  background-color: white;
  padding: 5px;
  border-radius: 50px;
  text-align: center; }
  .s-open-btn:before {
    content: "\f13a";
    font-family: 'fontawesome-s';
    margin-right: 5px;
    transition: transform .4s;
    display: inline-block;
    color: #808080; }
  .s-open-btn:after {
    content: "主な諸経費を見る"; }

.s-open-btn.open:before {
  transform: rotate(-180deg); }

.s-open-btn.open:after {
  content: "閉じる"; }

.custom-list {
  list-style: none;
  padding: 0px; }
  .custom-list li {
    margin-bottom: 10px;
    padding-left: 26px;
    position: relative; }
    .custom-list li:before {
      content: "※";
      position: absolute;
      top: 0;
      left: 0; }

.s-open-btn2,
.s-open-btn3 {
  display: block;
  cursor: pointer;
  color: #00479d;
  background-color: white;
  border: 1px solid #00479d;
  padding: 5px;
  border-radius: 50px;
  text-align: center; }
  .s-open-btn2:before,
  .s-open-btn3:before {
    content: "\f13a";
    font-family: 'fontawesome-s';
    margin-right: 5px;
    transition: transform .4s;
    display: inline-block;
    color: #00479d; }

.s-open-btn2:after {
  content: "料金例を見る"; }

.s-open-btn3:after {
  content: "詳細を見る"; }

.s-open-btn2.open:before,
.s-open-btn3.open:before {
  transform: rotate(-180deg); }

.s-open-btn2.open:after,
.s-open-btn3.open:after {
  content: "閉じる"; }

.price-flow2 {
  list-style: none;
  padding: 0px; }
  .price-flow2 > li {
    margin-bottom: 5px; }
    .price-flow2 > li h6 {
      margin-bottom: 0px;
      margin-right: 10px; }
    .price-flow2 > li:not(:last-child):after {
      content: url("../img/i-plus.svg");
      display: block;
      text-align: center;
      margin-top: 5px;
      line-height: 0; }
    .price-flow2 > li:nth-last-child(2):after {
      content: url("../img/i-equal.svg");
      display: block;
      text-align: center;
      margin-top: 5px;
      line-height: 0; }

.gbox {
  background-color: #808080; }

.box3 {
  background-color: #F8F4E8;
  padding: 10px; }

.line-table {
  list-style: none;
  padding: 0px; }
  .line-table li {
    border-bottom: 1px solid #CCC;
    padding: 5px;
    display: flex;
    justify-content: space-between; }
    .line-table li:first-child {
      border-top: 1px solid #CCC; }
    .line-table li div:first-child {
      width: 50%; }
    .line-table li div:last-child {
      flex: 1;
      text-align: center; }

/*よくあるご質問*/
#faq {
  background-color: #F8F4E8; }

#faq-more .faq-box {
  background-color: white;
  padding: 10px; }
  #faq-more .faq-box h6 {
    color: #00479d; }

u {
  text-decoration: underline solid #E60039; }

/*ご依頼の流れ*/
#flow-list {
  list-style: none;
  padding: 0px; }
  #flow-list li {
    margin-bottom: 5px; }
    #flow-list li:not(:last-child):after {
      content: "";
      display: block;
      margin-left: auto;
      margin-right: auto;
      margin-top: 5px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 15px 13px 0 13px;
      border-color: #00479d transparent transparent transparent; }

.box4 {
  background-color: #F2F2F2;
  padding: 10px; }

/*枠線付きブロック*/
.line-div {
  border: 1px solid #000;
  padding: 10px; }

/*枠線付きタイトル*/
.line-title {
  display: block;
  border-top: 1px solid #00AAFF;
  border-bottom: 1px solid #00AAFF;
  padding-bottom: 5px;
  padding-top: 5px;
  text-align: center; }

.underline-title {
  text-align: center; }
  .underline-title span {
    color: #00479d;
    background: linear-gradient(transparent 98%, #00AAFF 0%);
    line-height: 145%; }

/*お店情報*/
.bar-yellow {
  background-color: #FFF000;
  color: #00479d;
  padding: 5px; }

/*フッター*/
footer {
  position: sticky;
  bottom: 0;
  left: 0;
  background-color: #E60039;
  width: 100%;
  z-index: 8; }

#free-dial {
  position: relative; }
  #free-dial:before {
    position: absolute;
    bottom: 0;
    left: -15px;
    content: "";
    width: 24%;
    height: 120%;
    display: block;
    background-image: url("../img/footer-left.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    z-index: -1; }
  #free-dial:after {
    position: absolute;
    bottom: 0;
    right: -15px;
    content: "";
    width: 24%;
    height: 120%;
    display: block;
    background-image: url("../img/footer-right.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
    z-index: -1; }

.yellow-bar2 {
  margin-bottom: 40px;
  text-align: center; }
  .yellow-bar2 span {
    position: relative;
    padding-left: 5px;
    padding-right: 5px; }
  .yellow-bar2 span:after {
    content: "";
    width: 0%;
    height: 30%;
    background-color: #FFF000;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0px;
    z-index: -1; }

.aos-animate .yellow-bar2 span:after {
  animation: 1s progress 1s normal;
  animation-fill-mode: forwards; }

@keyframes progress {
  0% {
    width: 0; }
  100% {
    width: 100%; } }
.acls-1 {
  fill: none;
  stroke: #fff000;
  stroke-miterlimit: 10;
  stroke-width: 7px; }

.acls-1 {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 1.0s;
  transition: all 1.0s;
  -webkit-transition-delay: 1.0s;
  transition-delay: 1.0s; }

.aos-animate .acls-1 {
  -webkit-transform: scaleX(1) !important;
  transform: scaleX(1) !important; }

.acls-2 {
  stroke: #231815;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: .65px; }

.acls-2, .acls-3 {
  fill: #231815; }

.acls-4 {
  fill: #e60039; }

.acls-5 {
  fill: #00479d; }

/*# sourceMappingURL=style.css.map */
