@charset "UTF-8";
/* =============================================

  # 基本設定

  ## 配色

  - #00b7f7;
  - #32a99c;
  - #63D0F7;
  - #7bc1f4;
  - #ff2400;
  - #f4f6f8;
  - rgba(244, 246, 248, *);

  - $white: #fff;
  - $black: #333;

  ## ブレイクポイント

  PC 1101
  TB 1100 - 770
  SP 769

/* ==========================================================================

common

========================================================================== */
.colorsList {
  color: #00b7f7;
  color: #32a99c;
  color: #63d0f7;
  color: #7bc1f4;
  color: #ff2400;
  color: #f4f6f8;
}
* {
  box-sizing: border-box;
}

html {
  text-size-adjust: 100%;
}

body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.6rem;
  line-break: normal;
  line-height: 1.7;
  color: #333;
  width: 100%;
  overflow-x: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

html,
body {
  /*height: 100%;*/
  line-height: 1.6;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  main {
    overflow: hidden;
  }
}

table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

table th,
table td {
  border-collapse: collapse;
  border-spacing: 0;
}

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

.links {
  text-decoration: underline;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .links:hover {
    text-decoration: none;
  }
}

.single strong {
  font-weight: bold;
  background: -moz-linear-gradient(transparent 50%, #7bc1f4 50%);
  background: -webkit-linear-gradient(transparent 50%, #7bc1f4 50%);
  background: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    color-stop(0.5, transparent),
    color-stop(0.5, #7bc1f4)
  );
  background: -o-linear-gradient(transparent 50%, #7bc1f4 50%);
  background: linear-gradient(transparent 50%, #7bc1f4 50%);
}

.bold {
  color: #00b7f7;
  font-weight: bold;
}

img {
  max-width: 100%;
  display: block;
  font-size: 0;
  line-height: 0;
  height: auto;
  vertical-align: bottom;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  a:hover img {
    opacity: 0.7;
  }
}

select::-ms-expand {
  display: none;
}

label {
  font-weight: normal;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  background: initial;
}

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

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  margin: 0;
  padding: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%;
}

.imgWrap .wp-post-image,
.reImg {
  width: 100%;
  height: auto;
}

.wp-post-image,
.reImg02 {
  max-width: 100%;
  height: auto;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .wp-post-image,
  .reImg02 {
    width: 100%;
  }
}

.modP {
  margin-bottom: 1em;
}
.modP:last-child {
  margin-bottom: 0;
}
.contentNotice {
  font-size: 13px;
  font-size: 1.3rem;
}
.contentText strong,
.contentNotice strong {
  font-weight: bold;
}
.contentText i,
.contentNotice i {
  font-style: italic;
}
.contentText p,
.contentNotice p {
  margin-bottom: 1em;
}
.contentText p:last-child,
.contentNotice p:last-child {
  margin-bottom: 0;
}
.contentText + .btnA {
  margin-top: 1em;
}

.contentText .nonList {
  padding: 30px 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .contentText .nonList {
    padding: 15px 0;
  }
}

/*
clearfix
-------------------------------------------------------------*/
.clearfix {
  zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

/* パンくずリスト
-------------------------------------------------------------*/
.bread {
  margin-top: 20.75%;
  border-bottom: 1px solid #ddd;
  background: #fff;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 769px) {
  .bread {
    margin-top: 43.23277%;
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 769px) {
  .bread .breadList li a:hover {
    text-decoration: underline;
  }
}

.bread .breadList {
  color: #00b7f7;
  max-width: 1480px;
  margin: 0 auto;
  padding: 11px 20px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.bread .breadList li {
  position: relative;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  padding-right: 15px;
  margin-right: 5px;
}

.bread .breadList li:last-child {
  margin-right: 0;
  padding-right: 0;
}

.bread .breadList li:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  content: ">";
  z-index: 2;
  margin: auto 0;
  display: inline-block;
}

.bread .breadList li:last-child:after {
  display: none;
}

.bread .breadList li a {
  color: #00b7f7;
}

.bread .breadList li br {
  display: none;
}

/*
SNSスタイル
-------------------------------------------------------------*/
.snsWrap {
  padding: 30px;
  background: #f2f2f2;
  margin-top: 40px;
  text-align: center;
}

.snsWrap .ttlF {
  margin-bottom: 1em;
}

.snsWrap .roboto {
  display: block;
}

/*
基本大見出しスタイル
-------------------------------------------------------------*/
.ttlMain {
  color: #00b7f7;
  text-align: center;
  line-height: 1;
  font-weight: bold;
  margin: 0 0 3.3%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain {
    margin: 0 0 10.453%;
  }
}

.ttlMain .roboto {
  font-size: 7.5rem;
  letter-spacing: 0.13em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain .roboto {
    font-size: 3.5rem;
  }
}

/* COMPANY用 */
.ttlMain.companyTtl {
  margin: 0 0 -1.1%;
}

.ttlMain .sub {
  display: block;
  font-size: 2rem;
  letter-spacing: 0.2em;
  padding: 1% 0 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain .sub {
    font-size: 1.6rem;
    padding: 2.5% 0 0;
  }
}

/*
基本大見出しスタイル（下層ページ用）
-------------------------------------------------------------*/
.ttlMain.under .roboto {
  font-size: 4.8rem;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain.under .roboto {
    font-size: 2.5rem;
  }
}

.ttlMain.under .sub {
  font-size: 2rem;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain.under .sub {
    font-size: 1.3rem;
  }
}

.ttlMain.notFound {
  font-size: 3rem;
  letter-spacing: 0.05em;
  margin: 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain.notFound {
    font-size: 1.8rem;
    margin: 0 0 30px;
  }
}

/*
ローディング
-------------------------------------------------------------*/
html.fix,
body.fix {
  overflow: hidden;
}

.loadingArea {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #00b7f7;
  z-index: 100;
}

.loadingArea #loading {
  height: 1px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.loadingArea #loading svg {
  width: 100%;
  height: 2px;
}

#animatedElem {
  position: relative;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  height: 100vh;
}

#animatedElem::after {
  content: "";
  position: absolute;
  height: 0;
  left: 50%;
  top: 50%;
  width: 100%;
  z-index: -1;
  background: #ffffff;
  -webkit-transition: all 0.75s ease 0s;
  -moz-transition: all 0.75s ease 0s;
  -o-transition: all 0.75s ease 0s;
  transition: all 0.75s ease 0s;
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

#animatedElem.start:after {
  height: 100%;
}

/* ==========================================================================

Web Font

========================================================================== */
.en {
  font-family: "Anton", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-break: break-all;
  letter-spacing: 0.1em;
  font-weight: 400;
}

.latoFont {
  font-family: "Lato", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.roboto {
  font-family: "Roboto", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.yu {
  font-family: "Yu Mincho", "YuMincho", serif;
}

/* ==========================================================================

RWD

========================================================================== */
.pc,
.pcOnly {
  display: block;
}
.sp,
.spOnly {
  display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .pc,
  .pcOnly {
    display: none;
  }
  .sp,
  .spOnly {
    display: block;
  }
}

/* レスポンシブチェック
-------------------------------------------------------------*/
#responsibleCheck {
  width: 1px;
  height: 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #responsibleCheck {
    width: 2px;
  }
}

/* ==========================================================================

アニメーション

========================================================================== */
.trans {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
/*  3D Appear */
.deg {
  position: relative;
  perspective: 1000px;
}
.deg.back {
  z-index: -1;
}
.deg > [data-type="left"] {
  transition: all 1s ease;
  transform: rotateY(90deg) translateX(-100px);
  opacity: 0;
}
.deg > [data-type="right"] {
  transition: all 1s ease;
  transform: rotateY(-90deg) translateX(100px);
  opacity: 0;
}
.deg.active > * {
  transform: rotateY(0deg);
  opacity: 1;
}
/*  Scrolling Appear */
.scroll {
  transition: transform 1s ease, opacity 1s ease;
}
.scroll[data-type="up"] {
  transform: translate3d(0, 100px, 0);
  opacity: 0.01;
}
.scroll[data-type="down"] {
  transform: translate3d(0, -100px, 0);
  opacity: 0.01;
}
.scroll[data-type="left"] {
  transform: translate3d(-100px, 0, 0);
  opacity: 0.01;
}
.scroll[data-type="right"] {
  transform: translate3d(100px, 0, 0);
  opacity: 0.01;
}
.scroll[data-type="fade"] {
  opacity: 0;
}
.scroll[data-type="up"].active,
.scroll[data-type="down"].active,
.scroll[data-type="left"].active,
.scroll[data-type="right"].active,
.scroll[data-type="fade"].active {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
.scroll[data-type="width"] {
  transition: all 1s ease;
  max-width: 100%;
  width: 100%;
  min-height: 62px;
  padding: 20px 0 0;
  opacity: 1;
}
.scroll[data-type="width"].active {
  width: 350px;
  padding: 20px 70px 0;
  opacity: 1;
}
.scroll[data-type="text"] {
  transition: all 1s ease;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale3d(1.3, 1.3, 1) rotate3d(1, -3, -1, -0.1turn)
    translate3d(-50px, 100px, 0);
  transform: scale3d(1.3, 1.3, 1) rotate3d(1, -3, -1, -0.1turn)
    translate3d(-50px, 100px, 0);
  /* 	transition-delay: 2s; */
}
.scroll[data-type="text"].active {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
  transition: all 0.8s linear;
  /* 	transition-delay: 2s; */
}

.scroll[data-type="text"].dur {
  transition-delay: 0.1s;
}
.scroll[data-type="text"].dur2 {
  transition-delay: 0.2s;
}
.scroll[data-type="text"].dur3 {
  transition-delay: 0.3s;
}
.scroll[data-type="text"].dur4 {
  transition-delay: 0.4s;
}
.scroll[data-type="text"].dur5 {
  transition-delay: 0.5s;
}
.scroll[data-type="text"].dur6 {
  transition-delay: 0.6s;
}
.scroll[data-type="text"].dur7 {
  transition-delay: 0.7s;
}
.scroll[data-type="text"].dur8 {
  transition-delay: 0.8s;
}
.scroll[data-type="text"].dur9 {
  transition-delay: 0.9s;
}
.scroll[data-type="text"].dur10 {
  transition-delay: 1s;
}
.scroll[data-type="text"].dur11 {
  transition-delay: 1.1s;
}
.scroll[data-type="text"].dur12 {
  transition-delay: 1.2s;
}
.scroll[data-type="text"].dur13 {
  transition-delay: 1.3s;
}
.scroll[data-type="text"].dur14 {
  transition-delay: 1.4s;
}
.scroll[data-type="text"].dur15 {
  transition-delay: 1.5s;
}
.scroll[data-type="text"].dur16 {
  transition-delay: 1.6s;
}
.scroll[data-type="text"].dur17 {
  transition-delay: 1.7s;
}
.scroll[data-type="text"].dur18 {
  transition-delay: 1.8s;
}
.scroll[data-type="text"].dur19 {
  transition-delay: 1.9s;
}
.scroll[data-type="text"].dur20 {
  transition-delay: 2s;
}
.scroll[data-type="text"].dur25 {
  transition-delay: 2.5s;
}
.scroll[data-type="text"].dur30 {
  transition-delay: 3s;
}
.scroll[data-type="text"].dur35 {
  transition-delay: 3.5s;
}

.scrollup {
  opacity: 0;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.scrollup.action {
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1;
}
.scrollSlide {
  opacity: 0;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.scrollSlide.top {
  opacity: 0;
  -webkit-transform: translateY(-150px);
  transform: translateY(-150px);
}
.scrollSlide.left {
  opacity: 0;
  -webkit-transform: translateX(150px);
  transform: translateX(150px);
}
.scrollSlide.right {
  opacity: 0;
  -webkit-transform: translateX(-150px);
  transform: translateX(-150px);
}
.scrollSlide.action {
  -webkit-transform: translateX(0px);
  transform: translateX(0px);
  opacity: 1;
}
.scrollZoom {
  opacity: 0;
  -webkit-transform: scale3d(0, 0, -1);
  transform: scale3d(0, 0, -1);
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.scrollZoom.action {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

/* ==========================================================================

インナーのスタイル

========================================================================== */

.inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
.inner.center {
  z-index: 10;
}
.bgColor {
  background-color: #ebebeb;
}
.bgColor.inner {
  padding-bottom: 100px;
}

.subTtlB .en {
  font-size: 4rem;
  line-height: 1.3;
  display: inline-block;
  vertical-align: top;
}
.subTtlB .min {
  font-size: 1.5rem;
  line-height: 1.3;
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 35px 0 0 40px;
  margin: 0;
}
.subTtlB .min:before {
  content: "";
  position: absolute;
  height: 90px;
  width: 1px;
  top: -10px;
  left: 20px;
  background: #333;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.subTtlC {
  position: relative;
  top: -35px;
  text-align: center;
}
.subTtlC .en {
  display: block;
  font-size: 6rem;
  line-height: 1;
}

.subWrap .subTtlC .en {
  display: block;
  font-size: 4rem;
  line-height: 1;
}

@media screen and (max-width: 769px) {
  .subWrap .subTtlC .en {
    font-size: 2.4rem;
  }
}

.subTtlC .jp {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  position: relative;
  margin: 10px 0 0;
}
.subTtlD {
  text-align: center;
  display: block;
  font-weight: bold;
  font-size: 2.4rem;
}
.ttlA {
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  font-weight: bold;
  margin-bottom: 10px;
  position: relative;
}
.ttlA span {
  padding: 10px 10px 5px 15px;
  position: relative;
  display: inline-block;
}
.ttlA:before,
.ttlA:after,
.ttlA span:before,
.ttlA span:after {
  content: "";
  display: block;
  position: absolute;
  background: #333;
}
.ttlA:before {
  width: 40px;
  height: 1px;
  left: -5px;
  top: 0;
}
.ttlA:after {
  width: 1px;
  height: 40px;
  left: 0;
  top: -5px;
}
.ttlA span:before {
  width: 40px;
  height: 1px;
  right: -5px;
  bottom: 0;
}
.ttlA span:after {
  width: 1px;
  height: 40px;
  right: 0;
  bottom: -5px;
}
.ttlB {
  font-size: 2rem;
  font-weight: bold;
}
.ttlC {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.2em;
}
.ttlD {
  text-align: center;
  line-height: 1.4;
}
.ttlD .en {
  display: block;
  font-size: 4rem;
}
.ttlD .jp {
  position: relative;
  text-align: center;
}
.ttlD .jp:after,
.ttlD .jp:before {
  content: " ";
  width: 40px;
  height: 1px;
  display: inline-block;
  background: rgba(28, 28, 28, 0.9);
  vertical-align: top;
  margin-top: 10px;
}
.ttlD i {
  font-style: normal;
  display: inline-block;
  vertical-align: top;
  padding: 0 10px;
  font-size: 1.6rem;
}
.ttlE {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.ttlF {
  text-align: center;
  line-height: 1.4;
}
.ttlF .en {
  display: block;
  font-size: 2rem;
}
.ttlF .jp {
  position: relative;
  text-align: center;
}
.pageTtl {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 0 0 80px;
  z-index: 10;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.pageTtl .en {
  display: inline-block;
  font-size: 8rem;
  line-height: 1;
  letter-spacing: 0.2em;
}
.pageTtl .jp {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: bold;
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 80px 0 0 55px;
  margin: 0;
}
.pageTtl .jp:before {
  content: "";
  position: absolute;
  height: 90px;
  width: 1px;
  top: 40px;
  left: 25px;
  background: #333;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

/*btn*/
.btnA {
  width: 100%;
  max-width: 300px;
  height: 70px;
  border: 1px solid #00b7f7;
  font-size: 2rem;
  color: #00b7f7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  transition: border 0.2s linear, background 0.2s linear;
}
.btnA.btnAw {
  border: 1px solid #ffffff;
  color: #ffffff;
}
@media screen and (min-width: 769px) {
  .btnA:hover {
    border: 1px solid #00b7f7;
    background-color: #00b7f7;
    color: #ffffff;
  }
  .btnA.btnAw:hover {
    border: 1px solid #ffffff;
    background-color: #ffffff;
    color: #32a99c;
  }
}
.btnB a {
  width: 150px;
  height: 40px;
  display: block;
  border: 1px solid #fff;
  border-radius: 20px;
  color: #fff;
  text-align: center;
  line-height: 38px;
  font-size: 1.4rem;
  margin-left: auto;
  margin-right: auto;
}
.btnB a:visited {
  color: #fff;
}
@media screen and (min-width: 769px) {
  .btnB a:hover {
    background: #fff;
    color: rgba(28, 28, 28, 0.9);
  }
}

/*txtBox*/
.twoBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: top;
  -ms-flex-align: top;
  align-items: top;
  width: 100%;
}
.twoBox .txtBox {
  width: 54%;
}
.twoBox .imgBox {
  width: 40%;
}

/* ==========================================================================

汎用性　Box style

========================================================================== */
.oneBox {
  padding: 35px;
  width: 100%;
  background-color: #fff;
}
.oneBox .contentText {
  margin-top: 25px;
  padding: 25px;
  background-color: #eee;
}

.mw1000 {
  width: 100%;
  max-width: 1000px;
  height: auto;
}
.mw1000 .oneBox {
  padding: 50px;
}

/*縦幅固定角丸*/
.eyeCatching {
  border-radius: 50%;
  background: #c7850b;
  color: #ffffff;
  display: block;
  width: 150px;
  height: 150px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
/*dl*/
.dlA {
  font-size: 1.6rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.dlA dt {
  font-weight: bold;
  font-size: 1.6rem;
  color: #fff;
  background-color: #097c70;
  width: 25%;
  padding: 8px 0;
  margin-top: 5px;
  text-align: center;
}
.bgChange .dlA dt {
  background-color: #c7850b;
}
.dlA dd {
  width: 75%;
  padding: 0 15px;
  margin-top: 5px;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.3;
}
.dlA dt:first-child,
.dlA dt:first-child + dd {
  margin-top: 0;
}
.dlB {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 800px;
}
.dlB.title + .dlB {
  margin-top: 0;
}
.w600 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 800px;
}
.privacyWrap .dlB {
  margin-top: 20px;
}
.dlB dt {
  background: rgba(28, 28, 28, 0.2);
  text-align: center;
  font-weight: bold;
  padding: 10px 0;
}
.dlB dd {
  border-bottom: 1px solid rgba(28, 28, 28, 0.9);
  padding: 10px 0;
  width: 100%;
  display: block;
}
.dlB dd p {
  margin-bottom: 1.5em;
}
.dlB dd p:last-child {
  margin-bottom: 0;
}
.dlB dd .itemName {
  text-align: left;
}
.dlB dd .price {
  text-align: right;
}
.dlB dd small {
  display: block;
}
.dlB li {
  margin-bottom: 15px;
  padding-left: 2em;
  text-indent: -2em;
}
.dlB li li {
  margin: 15px 0 15px 1.5em;
}
.dlB .number {
  font-style: normal;
  font-weight: bold;
  width: 2em;
  white-space: nowrap;
  display: inline-block;
  text-indent: 0;
  vertical-align: top;
}
.dlB .content {
  width: 100%;
  display: inline-block;
  text-indent: 0;
  vertical-align: top;
}
.dlB .one {
  margin-bottom: 15px;
  display: block;
}
.privacy .dlB dd {
  border-bottom: none;
}
.dlC {
  font-size: 1.6rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.dlC dt {
  font-weight: bold;
  font-size: 1.6rem;
  color: #fff;
  background-color: #097c70;
  width: 20%;
  padding: 8px 0;
  margin-top: 10px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.bgChange .dlC dt {
  background-color: #c7850b;
}
.dlC dd {
  width: 80%;
  padding: 8px 15px;
  margin-top: 10px;
  font-size: 1.6rem;
  line-height: 1.3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.dlC dt:first-child,
.dlC dt:first-child + dd {
  margin-top: 0;
}

/*threeCnt*/
.threeCnt {
  margin-bottom: 100px;
}
.threeCnt .boxList {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.threeCnt .boxList li {
  height: 100%;
  /*width: calc(33.33% - 10px);*/
  width: 31.944444444444443%;
  position: relative;
  margin-right: 2.083333333333333%;
  margin-bottom: 2.071428571428571%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .threeCnt .boxList li {
    margin-bottom: 7.97142%;
  }
  .threeCnt .boxList li:last-child {
    margin-bottom: 0;
  }
}

.threeCnt .boxList li:nth-child(3n) {
  margin-right: 0;
}

.threeCnt .boxList li a {
  text-decoration: underline;
  color: #ffffff;
}
.threeCnt .boxList li a .btnWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  padding: 20px;
  color: #fff;
  background-color: rgba(50, 169, 156, 0.8);
}
.threeCnt .boxList li a .btnWrap p {
  width: 100%;
  text-align: center;
}
.threeCnt .boxList li a .btnWrap .small {
  font-size: 1.8rem;
  font-weight: bold;
}
.threeCnt .boxList li a .btnWrap .btnA {
  margin-top: 40px;
}

/*fourCnt*/
.fourCnt .boxList {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.fourCnt .boxList li {
  width: 23%;
}
.fourCnt .boxList::before {
  content: "";
  display: block;
  width: 23%;
  order: 1;
}
.fourCnt .boxList::after {
  content: "";
  display: block;
  width: 23%;
}
.fourCnt .box {
  position: relative;
}

.fourCnt .boxList + .btnA {
  margin-top: 50px;
}

.message,
.feature {
  position: relative;
}

.message .rightBg {
  right: 0;
  bottom: 0;
}
.message .imgBox {
  position: relative;
  top: -150px;
}
.message .imgBox .img:first-child {
  width: 60%;
}
.message .imgBox .img:last-child {
  position: absolute;
  width: 60%;
  right: 0;
  margin-top: -50px;
}
.ba {
  position: relative;
}
.ba .rightBg {
  right: 0;
  bottom: auto;
  top: -350px;
  padding-bottom: 400px;
}
.baItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.baItem + .baItem {
  margin-top: 90px;
}
.baName {
  width: 21.5%;
  border: 1px solid #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.baName h3 {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 2px;
  width: 100%;
  text-align: center;
}
.baName span {
  font-size: 1.8rem;
}
.option {
  font-size: 2rem;
  font-weight: bold;
  width: 100%;
  text-align: center;
}
.baImage {
  width: 41.7%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.baImage figure {
  width: 50%;
  position: relative;
}
.ba .eyeCatching {
  font-weight: bold;
  position: absolute;
  left: -20px;
  top: -40px;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.stats,
.res {
  width: 100%;
  display: block;
  text-align: center;
}
.stats.en {
  font-size: 3.5rem;
  line-height: 1.2;
}
.stats.en span {
  font-size: 2rem;
}
.baImage figcaption {
  font-size: 3rem;
  line-height: 1;
  font-weight: normal;
  color: #ffffff;
  display: block;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 20px;
}
.res.en {
  font-size: 2rem;
}
.baResult {
  width: 34.3%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ba .dlA {
  width: 100%;
  height: 44%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.baMessage {
  width: 100%;
  min-height: 56%;
  border: 1px solid #333;
  padding: 10px 25px;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.baMessage p + p {
  margin-top: 1.5em;
}
/*
.small{
	font-size: 1.2rem;
}
*/
.slashBtn {
  margin-top: -45px;
  margin-bottom: 50px;
  position: relative;
}
.slashBtn .rightBg {
  right: 0;
  bottom: auto;
  top: -74px;
}
.slashBtn li {
  width: 50%;
  position: relative;
}
.slashBtn li:last-child {
  margin-top: 50px;
}
.slashBtn li .bgWrap {
  position: relative;
  left: 0;
  bottom: 0;
  width: 100%;
  padding-top: 67.2%;
  z-index: 1;
}
.slashBtn li .bgWrap svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slashBtn li a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  padding: 105px 120px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.slashBtn li a .btnWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: rgba(50, 169, 156, 0.8);
}
.slashBtn li a .btnWrap p {
  width: 100%;
  text-align: center;
}
.slashBtn li a .btnWrap .ttl {
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 2px;
}
.slashBtn li a .btnWrap .small {
  font-size: 1.8rem;
  font-weight: bold;
}
.slashBtn li a .btnWrap .btnA {
  margin-top: 40px;
  cursor: pointer;
  transition: border 0.2s linear, background 0.2s linear;
}
/*feedWrap*/
.feedWrap {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 100px;
}
.gallery:last-child .feedWrap {
  margin-bottom: 0;
}
.feedWrap #sb_instagram #sbi_load {
  font-family: "Anton", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-break: break-all;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-top: 30px;
}
.feedWrap #sb_instagram #sbi_load .sbi_follow_btn {
  width: 100%;
  max-width: 300px;
}
.feedWrap #sb_instagram #sbi_load .sbi_follow_btn a {
  width: 100%;
  height: 70px;
  border: 1px solid #32a99c;
  font-size: 2rem;
  line-height: 1.2;
  color: #32a99c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  transition: border 0.2s linear, background 0.2s linear;
  padding: 0;
  margin: 0 auto;
  border-radius: 0;
  background-color: transparent;
  text-align: center;
  box-shadow: none;
}
.feedWrap #sb_instagram svg:not(:root).svg-inline--fa {
  height: 2em;
}
@media screen and (min-width: 769px) {
  .feedWrap #sb_instagram #sbi_load .sbi_follow_btn a:hover {
    background: #32a99c;
    color: #ffffff;
  }
}

.facilityList li.listoff {
  display: none;
}
.facility .boxList li {
  margin-top: 30px;
}
.facility .boxList li:nth-child(1),
.facility .boxList li:nth-child(2),
.facility .boxList li:nth-child(3),
.facility .boxList li:nth-child(4) {
  margin-top: 0;
}
.facilityBtn[data-flag="open"] span:first-child,
.facilityBtn[data-flag="close"] span:last-child {
  display: none;
}
.facilityBtn[data-flag="open"] span:last-child,
.facilityBtn[data-flag="close"] span:first-child {
  display: inline;
}
.staffBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
}
.staffBox + .staffBox {
  margin-top: 30px;
}
.staffBox .imgBox {
  width: 52%;
}
.staffBox .txtBox {
  width: 45%;
}
.staffBox .label {
  padding: 2px;
  display: inline;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0;
  background-color: #097c70;
  color: #ffffff;
}
.bgChange .staffBox .label {
  padding: 5px;
  background-color: #333;
  line-height: 3;
}

@media screen and (max-width: 769px) {
  .bgChange .staffBox .label {
    padding: 5px;
    line-height: 1.4;
    font-size: 1.3rem;
  }
}

.staffBox .label + h3 {
  margin-top: 5px;
}
.staffBox .ruby {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.staffBox .contentText {
  margin-top: 30px;
}
/*price*/
.priceBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  width: 100%;
}
.priceBox + .priceBox {
  margin-top: 50px;
}
.priceBox .imgBox {
  width: 38%;
}
.priceBox .txtBox {
  width: 58%;
}
.priceBox .contentText {
  margin-top: 30px;
}

.priceBox .contentNotice {
  margin-top: 15px;
}

.priceBox .dlA {
  margin-top: 30px;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
}
.priceBox .dlA dt {
  width: 20%;
}
.priceBox .dlA dd {
  width: 80%;
  padding: 8px 15px;
}

/* ==========================================================================

header

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

.siteHeader .siteHeaderInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 3.125% 0 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .siteHeader .siteHeaderInner {
    padding: 0;
    height: 80px;
  }
}

.siteHeader .siteHeaderInner .logoWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 13%;
  margin: 0 auto;
}
.siteHeader .siteHeaderInner .logoWrap a {
  width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  .siteHeader .siteHeaderInner .logoWrap {
    padding: 1vw 70px 1vw 5vw;
    width: 100%;
    height: 100%;
    text-align: left;
  }
  .siteHeader .siteHeaderInner .logoWrap img {
    width: auto;
    height: auto;
    max-width: 180px;
    max-height: calc(80px - 2vw);
  }
}

/* 下層ページ用 */
.siteHeader.underPage {
  position: fixed;
}

/*
ナビゲーション ===================================================== */
#menuNavi {
  position: fixed;
  right: 0;
  top: 5.3125%;
  z-index: 99;
  background-color: rgba(244, 246, 248, 0.7);
  /*	padding: 2.2% 2.33% 1.880% 1.4544%;*/
  padding: 2.2% 2% 1.88% 1%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #menuNavi {
    display: none;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 0;
  }
}

.shows {
  display: block !important;
}

.hides {
  display: none !important;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  #menuNavi .menuInner {
    position: relative;
    overflow-y: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

#menuNavi ul li {
  margin: 0 0 24%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #menuNavi ul.land {
    height: 100%;
  }
  #menuNavi ul li {
    margin: 0 0 5.345%;
    text-align: center;
  }
}

#menuNavi ul li:last-of-type {
  margin-bottom: 0;
}

#menuNavi ul li a {
  display: block;
  position: relative;
  line-height: 1;
  letter-spacing: 0.1em;
  font-size: 0.8vw; /*14px 1600pxベース*/
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #menuNavi ul li a {
    font-size: 4.375vw;
    /*font-size: 1.8rem;*/
    text-align: center;
    line-height: 2.8;
    display: inline-block;
  }
}

#menuNavi ul li a:hover {
  color: #ff2400;
}

#menuNavi ul li a.current {
  color: #ff2400;
}

#menuNavi ul li a.current:before {
  content: "";
  z-index: 100;
  position: absolute;
  top: 0;
  left: -32.345%;
  bottom: 0;
  margin: auto 0;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background: #ff2400;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #menuNavi ul li a.current:before {
    border-radius: 0;
    left: 0;
    width: 100%;
    height: 2px;
    margin: 0 auto;
    bottom: 0;
    right: 0;
    top: 85%;
  }
}

/*
ハンバーガーボタン ===================================================== */
.mainMenu {
  top: 20px;
  right: 5vw;
  z-index: 99;
  position: fixed;
}

.mainMenu a {
  width: 44px;
  height: 27px;
  display: block;
}

.mainMenu a span {
  top: 50%;
  left: 50%;
  width: 35px;
  margin: -1px 0 0 -13px;
  height: 2px;
  display: block;
  position: absolute;
  text-indent: -9999px;
  background: #333;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.mainMenu a span:before,
.mainMenu a span:after {
  top: 50%;
  left: 0;
  width: 35px;
  height: 2px;
  content: "";
  display: block;
  position: absolute;
  background: #333;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.mainMenu a span:before {
  margin-top: -10px;
}
.mainMenu a span:after {
  margin-top: 8px;
}

.mainMenu a span.iconClose {
  background: transparent;
}
.mainMenu a span.iconClose:before,
.mainMenu a span.iconClose:after {
  margin-top: -1px;
  background: #333;
}

.mainMenu a span.iconClose:before {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.mainMenu a span.iconClose:after {
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

/* ==========================================================================

mainVisual（メインビジュアル）

========================================================================== */
#contents01 {
  padding-top: 43.75%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #contents01 {
    height: 100vh;
  }
}

section.mainVisual {
  opacity: 0;
  padding-top: 43.75%;
  overflow: hidden;
  background: url(../img/index/bg_mv.jpg) center center no-repeat;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  /* 背景固定 */
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual {
    height: 100vh;
    overflow: hidden;
  }
}

section.mainVisual .txtBox {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  color: #fff;
}

/* 425px以下 */
@media screen and (max-width: 425px) {
  section.mainVisual .txtBox {
    position: absolute;
    top: 45%;
    -webkit-transform: translateY(-45%) translateX(-50%);
    transform: translateY(-45%) translateX(-50%);
  }
}

section.mainVisual .txtBox h1,
section.mainVisual .txtBox h2 {
  white-space: nowrap;
  font-size: 3.125vw; /*50px 1600pxベース*/
  display: inline-block;
  letter-spacing: 0.21em;
  padding: 0 0 0.41%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual .txtBox h1,
  section.mainVisual .txtBox h2 {
    font-size: 5.125vw;
    padding: 0 0 2.11%;
    white-space: unset;
  }
}
/* 425px以下 */
@media screen and (max-width: 425px) {
  section.mainVisual .txtBox h1,
  section.mainVisual .txtBox h2 {
    font-size: 7.125vw;
    padding: 0 0 3.41%;
  }
}

section.mainVisual .txtBox .mainReadTxt {
  overflow: hidden;
  text-align: center;
  font-size: 1.5625vw; /*25px 1600pxベース*/
  letter-spacing: 0.22em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual .txtBox .mainReadTxt {
    line-height: 1.5;
    font-size: 2.91vw;
    letter-spacing: 0.24em;
  }
}
/* 425px以下 */
@media screen and (max-width: 425px) {
  section.mainVisual .txtBox .mainReadTxt {
    line-height: 1.5;
    font-size: 4.25vw;
    letter-spacing: 0.24em;
  }
}

section.mainVisual .txtBox .mainReadTxt span {
  position: relative;
  display: inline-block;
  padding: 0 15px;
  text-align: center;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual .txtBox .mainReadTxt span {
    padding: 0 10px;
  }
}

section.mainVisual .txtBox .mainReadTxt span::before,
section.mainVisual .txtBox .mainReadTxt span::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 14.35%;
  height: 1px;
  background: #fff;
}
section.mainVisual .txtBox .mainReadTxt span::before {
  right: 100%;
}
section.mainVisual .txtBox .mainReadTxt span::after {
  left: 100%;
}

section.mainVisual .txtBox br {
  display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual .txtBox br {
    display: block;
  }
}

/* ==========================================================================

mainVisual.underPage（メインビジュアル下層用）

========================================================================== */
section.mainVisual.underPage {
  padding-top: 20.75%;
  background: url(../img/index/bg_mv.jpg) center 68% no-repeat;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual.underPage {
    height: auto;
    padding-top: 43.23277%;
    background: url(../img/index/bg_mv.jpg) center center no-repeat;
    -moz-background-size: cover;
    -webkit-background-size: cover;
    -o-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    overflow: hidden;
  }
}

section.mainVisual.underPage .txtBox h1 {
  text-align: center;
  line-height: 1;
  padding-top: 35%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual.underPage .txtBox h1 {
    padding-top: 15%;
  }
}

section.mainVisual.underPage .txtBox h1.one {
  padding-top: 19%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual.underPage .txtBox h1.one {
    padding-top: 15%;
  }
}

section.mainVisual.underPage .txtBox h1 .mainTtl {
  display: block;
  line-height: 1;
  font-size: 2.851vw;
  font-weight: bold;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual.underPage .txtBox h1 .mainTtl {
    font-size: 6.251vw;
  }
}

section.mainVisual.underPage .txtBox h1 .sub {
  position: relative;
  display: inline-block;
  padding: 0 15px;
  text-align: center;
  line-height: 1;
  font-size: 1.01vw;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.mainVisual.underPage .txtBox h1 .sub {
    font-size: 3.999vw;
    padding: 0 6px;
  }
}

section.mainVisual.underPage .txtBox h1 .sub::before,
section.mainVisual.underPage .txtBox h1 .sub::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 14.35%;
  height: 1px;
  background: #fff;
}
section.mainVisual.underPage .txtBox h1 .sub::before {
  right: 100%;
}
section.mainVisual.underPage .txtBox h1 .sub::after {
  left: 100%;
}

/* ==========================================================================

ABOUT

========================================================================== */
section.about {
  margin-top: 43.75%;
  padding: 3.09375% 0 2.09375%;
  background: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about {
    margin-top: 100vh;
    padding: 0 0 10.5%;
  }
}

section.about .aboutBox {
  position: relative;
  z-index: 1;
}
section.about .aboutBox:first-child {
  margin-bottom: 3.09375%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox:first-child {
    margin-bottom: 0;
  }
}

/*
見出し ===================================================== */
section.about .aboutBox .subTtlA {
  position: absolute;
  left: 5%;
  top: 9.4375%;
  color: #00b7f7;
  background: #fff;
  z-index: 10;
  padding: 1.2623% 1% 2.524%;
  white-space: nowrap;
}

/* 1000px以下 */
@media screen and (max-width: 1000px) {
  section.about .aboutBox .subTtlA {
    width: auto;
    padding-right: 2%;
  }
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .subTtlA {
    text-align: center;
    position: static;
    width: 100%;
    padding: 8% 3.4%;
  }
}

section.about .aboutBox .subTtlA .roboto {
  font-size: 4.6875vw;
  font-weight: bold;
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0.11em;
  line-height: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .subTtlA .roboto {
    font-size: 3.5rem;
  }
}

section.about .aboutBox .subTtlA .jp {
  font-size: 1.4rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 16.75% 0 0 2.35%;
  margin: 0;
  line-height: 1;
  letter-spacing: 0.13em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .subTtlA .jp {
    font-size: 1.6rem;
    padding: 2.5% 0 0;
    vertical-align: baseline;
    display: block;
  }
}

section.about .aboutBox .subTtlA .jp:before {
  content: "";
  position: absolute;
  height: 109.4%;
  width: 2px;
  top: 26.5%;
  left: -2.5%;
  background: #00b7f7;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .subTtlA .jp:before {
    height: 0%;
    width: 0px;
    top: 4.4%;
  }
}

/*
メイン画像 ===================================================== */
section.about .aboutBox .imgBox {
  width: 85.125%;
  margin-left: auto;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .imgBox {
    width: 100%;
    margin-left: 0;
  }
}

/*
サブ見出し ===================================================== */
section.about .aboutBox h4 {
  width: 36.375%;
  margin: -3.125% 0 0 5%;
  position: relative;
  z-index: 1;
  float: left;
  line-height: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox h4 {
    width: 100%;
    margin: 0;
    float: none;
    background: #00b7f7;
    color: #fff;
    padding: 3.125% 5vw;
  }
}

section.about .aboutBox h4 span {
  background: #00b7f7;
  color: #fff;
  display: inline;
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 2;
  padding: 0.25em;
  padding-left: 0;
  padding-right: 0;
  -webkit-box-decoration-break: clone;
  -ms-box-decoration-break: clone;
  -o-box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  outline: 1px solid #00b7f7;
  box-shadow: 0.25em 1px 0 #00b7f7, 0.25em -1px 0 #00b7f7, -0.25em 1px 0 #00b7f7,
    -0.25em -1px 0 #00b7f7;
}
/* IE11 */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  section.about .aboutBox h4 span {
    line-height: 2.3;
    padding: 11px 0 5px;
    box-shadow: 5px 1px 0 #00b7f7, 5px -1px 0 #00b7f7, -10px 1px 0 #00b7f7,
      -10px -1px 0 #00b7f7;
  }
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox h4 span {
    background: none;
    display: block;
    font-size: 1.8rem;
    padding: 0;
    line-height: 1.6;
    letter-spacing: 0.16em;
    box-shadow: none;
  }
}

/* 1080px以下 */
@media screen and (max-width: 1080px) {
  /*
	section.about .aboutBox .subTtlA {
		width:34%;
	}
	*/
  section.about .aboutBox h4 span {
    font-size: 2.4vw;
  }
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox h4 span {
    font-size: 1.8rem;
  }
}

/*
コンテンツテキスト ===================================================== */
section.about .aboutBox .contentText {
  width: 47.6875%;
  background: #63d0f7;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 2.2;
  float: right;
  margin: -3.09375% 5% 0 0;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .contentText {
    float: none;
    width: 100%;
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

section.about .aboutBox .contentText p {
  padding: 5.25% 5%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.about .aboutBox .contentText p {
    padding: 6.2% 5.55%;
  }
}

/* ==========================================================================

SERVICE

========================================================================== */
section.service {
  background: #fff;
  position: relative;
  z-index: 1;
  padding: 4.50341% 0 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service {
    padding: 10.5% 0 0;
  }
}

/*
リスト ===================================================== */
section.service .serviceInner {
  /* 幅決め */
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px 3.1597222222222223%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .serviceInner {
    padding: 0 5vw 10.5%;
    margin: 0;
    max-width: inherit;
  }
}

/* 見出しスタイル */
section.service .serviceInner h4 {
  overflow: hidden;
  text-align: center;
  font-size: 4rem;
  color: #00b7f7;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 5.17361% 0 2.1455%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .serviceInner h4 {
    font-size: 2.3rem;
    margin: 0 0 9.531%;
  }
}

section.service .serviceInner h4.ieEdge {
  line-height: 1.3;
}

section.service .serviceInner h4 span {
  position: relative;
  display: inline-block;
  padding: 0 15px;
  text-align: left;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .serviceInner h4 span {
    text-align: center;
    line-height: 1.3;
  }
}

section.service .serviceInner h4 span::before,
section.service .serviceInner h4 span::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 400%;
  height: 2px;
  background: #00b7f7;
}
section.service .serviceInner h4 span::before {
  right: 100%;
}
section.service .serviceInner h4 span::after {
  left: 100%;
}

section.service .serviceInner h4 span br {
  display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .serviceInner h4 span br {
    display: block;
  }
}

/* リード文 */
.readTxt {
  text-align: center;
  line-height: 2.4;
  margin: 0 0 3.125%;
  letter-spacing: 0.1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .readTxt {
    line-height: 1.8;
    text-align: left;
    margin: 0 0 8.6725%;
  }
}

section.service .threeCnt:last-of-type {
  margin-bottom: 0;
}

section.service figcaption .serviceTtl {
  background: #00b7f7;
  color: #fff;
  position: relative;
  padding: 4.130434782608695% 5.521739%;
}
section.service figcaption .serviceTtl h5 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service figcaption .serviceTtl h5 {
    font-size: 1.8rem;
  }
}

section.service figcaption .contentText {
  background: #63d0f7;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding: 6.2% 5.55%;
  min-height: 258px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service figcaption .contentText {
    font-size: 1.4rem;
    min-height: inherit;
    height: auto !important;
  }
}

/*
ワンサービス ===================================================== */
section.service .oneServiceBox {
  background: url(../img/index/bg_one_service.gif) center center;
  -moz-background-size: 4px;
  -webkit-background-size: 4px;
  -o-background-size: 4px;
  -ms-background-size: 4px;
  background-size: 4px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceBox {
    padding: 10.5% 5vw 12.5%;
  }
}

section.service .oneServiceInner {
  /* 幅決め */
  max-width: 1000px;
  margin: 0 auto;
  padding: 5.034722222222222% 20px 5.277777777777778%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceInner {
    padding: 0;
    margin: 0;
    max-width: inherit;
  }
}

/* 見出しスタイル */
section.service .oneServiceInner h4 {
  overflow: hidden;
  text-align: center;
  font-size: 4rem;
  color: #00b7f7;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 0 0 2.361111%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceInner h4 {
    font-size: 2.3rem;
    margin: 0 0 9.531%;
  }
}

section.service .oneServiceInner h4.ieEdge {
  line-height: 1.3;
}

section.service .oneServiceInner h4 span {
  position: relative;
  display: inline-block;
  padding: 0 15px;
  text-align: left;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceInner h4 span {
    text-align: center;
    line-height: 1.3;
  }
}

section.service .oneServiceInner h4 span::before,
section.service .oneServiceInner h4 span::after {
  position: absolute;
  top: 50%;
  content: "";
  width: 400%;
  height: 2px;
  background: #00b7f7;
}
section.service .oneServiceInner h4 span::before {
  right: 100%;
}
section.service .oneServiceInner h4 span::after {
  left: 100%;
}

section.service .oneServiceInner h4 span br {
  display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceInner h4 span br {
    display: block;
  }
}

section.service .oneServiceInner .contentText {
  max-width: 937px;
  margin: 2.777% auto 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceInner .contentText {
    margin: 14px auto 0;
  }
}

section.service .oneServiceInner .contentText p {
  font-size: 1.4rem;
  padding: 19px 25px;
  color: #fff;
  background: #63d0f7;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.service .oneServiceInner .contentText p {
    line-height: 1.8;
    padding: 6.2% 5.55%;
  }
}

/* ==========================================================================

VOICE

========================================================================== */
section.voice {
  background: #f6f6f6;
  padding: 4.50341% 0 2.5625%;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.voice {
    padding: 10.5% 5vw;
  }
}

section.voice .voiceInner {
  /* 幅決め */
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.voice .voiceInner {
    padding: 0;
    margin: 0;
    max-width: inherit;
  }
}

.ttlMain.voice {
  margin: 0 0 9.3916%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ttlMain {
    margin: 0 0 10.453%;
  }
}

section.voice .ttlA {
  color: #00b7f7;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.09em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.voice .ttlA {
    font-size: 2rem;
    padding: 10px 10px 0;
  }
}

section.voice .ttlA span {
  padding: 15px 22px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.voice .ttlA span {
    padding: 0;
  }
}

section.voice .ttlA:before,
section.voice .ttlA:after,
section.voice .ttlA span:before,
section.voice .ttlA span:after {
  background: #00b7f7;
}

section.voice .oneBox {
  margin: 0 0 10.672358591248667%;
  background: #fff;
}

section.voice .oneBox:last-of-type {
  margin: 0;
}

section.voice .oneBox .contentText {
  font-size: 1.4rem;
  margin-top: 2.8%;
  padding: 19px 25px;
  color: #fff;
  background: #63d0f7;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.voice .oneBox .contentText {
    padding: 6.2% 5.55%;
  }
}

section.voice .oneBox .contentText h5 {
  margin-bottom: 10px;
}

/* ==========================================================================

WORK

========================================================================== */
section.work {
  padding: 2.11% 0 0.67%;
  background: #f6f6f6;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.work {
    padding: 10.5% 5vw;
  }
}

section.work .workInner {
  /* 幅決め */
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.work .workInner {
    padding: 0;
    margin: 0;
    max-width: inherit;
  }
}

section.work .threeCnt {
  margin-bottom: 0;
}

section.work figcaption .workTtl {
  background: #00b7f7;
  color: #fff;
  position: relative;
  padding: 4.130434782608695% 6.521739130434782%;
  overflow: hidden;
}
section.work figcaption .workTtl h4 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.work figcaption .workTtl h4 {
    font-size: 1.8rem;
  }
}

section.work figcaption .workTtl p {
  margin: 0;
  background: #ff2400;
  -webkit-border-radius: 15px;
  border-radius: 15px;
  white-space: nowrap;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 1% 3.61%;
  font-size: 1.3rem;
  display: block;
  float: right;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.work figcaption .workTtl p {
    font-size: 1.4rem;
  }
}

section.work figcaption .workTtl p.ieEdge {
  right: 13.43%;
  top: 29.5%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.work figcaption .workTtl p.ieEdge {
    top: 23.5%;
  }
}

section.work figcaption .contentText {
  background: #63d0f7;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding: 6.2% 5.55%;
  min-height: 141px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.work figcaption .contentText {
    font-size: 1.4rem;
    min-height: inherit;
    height: auto !important;
  }
}

/* ==========================================================================

FAQ

========================================================================== */
section.faq {
  padding: 3.0625% 0 5.0625%;
  background: #f6f6f6;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.faq {
    padding: 10.5% 5vw;
  }
}

section.faq .faqInner {
  /* 幅決め */
  max-width: 977px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.faq .faqInner {
    padding: 0;
    margin: 0;
    max-width: inherit;
  }
}

section.faq .ttlA {
  color: #00b7f7;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.09em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.faq .ttlA {
    font-size: 2rem;
  }
}

section.faq .ttlA span {
  padding: 15px 22px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.faq .ttlA span {
    padding: 0;
  }
}

section.faq .ttlA:before,
section.faq .ttlA:after,
section.faq .ttlA span:before,
section.faq .ttlA span:after {
  background: #00b7f7;
}

section.faq .oneBox {
  padding: 0;
  margin: 0 0 10.2454%;
  background: none;
}

section.faq .oneBox:last-of-type {
  margin: 0;
}

section.faq .oneBox .contentText {
  font-size: 1.4rem;
  margin-top: 2.6%;
  padding: 25px;
  color: #fff;
  background: #63d0f7;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.faq .oneBox .contentText {
    padding: 6.2% 5.55%;
  }
}

/* ==========================================================================

COMPANY

========================================================================== */
section.company {
  padding: 4.2625% 0 3.0625%;
  background: #f6f6f6;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.company {
    padding: 10.5% 5vw;
  }
}

section.company .companyInner {
  /* 幅決め */
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.company .companyInner {
    padding: 0;
    margin: 0;
    max-width: inherit;
  }
}

section.company h4 {
  text-align: center;
  font-size: 4rem;
  color: #00b7f7;
  line-height: 1;
  position: relative;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 6.6901408% 0 3.511111%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.company h4 {
    font-size: 2.3rem;
    margin: 10.6901408% 0 9.531%;
  }
}

section.company h4:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  background: #00b7f7;
  content: "";
  z-index: -1;
}

section.company h4 span {
  background: #f6f6f6;
  display: inline-block;
  padding: 0 15px;
}

section.company table {
  margin: 0 auto;
  width: 80%;
  letter-spacing: 0.05em;
  border-collapse: separate;
  border-spacing: 0 10px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.company table {
    width: 100%;
    border-spacing: 0;
  }
}

section.company table th {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  width: 18.75%;
  vertical-align: middle;
  background: #ddd;
  text-align: center;
  line-height: 99px;
  font-size: 1.6rem;
}
section.company table th:last-of-type {
  margin-bottom: 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.company table th {
    font-size: 1.4rem;
    width: 100%;
    display: block;
    line-height: 44px;
    text-align: left;
    padding: 0 5.55%;
  }
}

section.company table td {
  display: table-cell;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 30px 0 31px 39px;
  width: 81.25%;
  vertical-align: middle;
  font-size: 1.6rem;
  line-height: 2.2;
  word-break: break-all;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.company table td {
    font-size: 1.4rem;
    border: none;
    width: 100%;
    display: block;
    line-height: 1.8;
    padding: 10px 5.55% 20px 5.55%;
  }
  section.company table tr:last-child td {
    padding-bottom: 0;
  }
}

section.company table td:last-of-type {
  margin-bottom: 0;
}

/*
googlemap ===================================================== */
.ggmap {
  position: relative;
  padding-top: 35.573%;
  height: 0;
  overflow: hidden;
  width: 86.861%;
  margin: 0 auto 3.1597222222222223%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .ggmap {
    width: 100%;
    padding-top: 56.25%;
    margin: 0 auto 9.159722%;
  }
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================

BLOG

========================================================================== */
section.blog {
  padding: 3.0625% 0 4.4375%;
  background: #f6f6f6;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.blog {
    padding: 10.5% 5vw;
  }
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  section.blog .inner {
    padding: 0;
  }
}

/*
下部ブログページへのリンク ===================================================== */
.blogTxtLink p {
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 2.35% 0 0;
  font-size: 1.6rem;
  text-align: right;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogTxtLink p {
    font-size: 1.5rem;
    padding: 0;
  }
}

.blogTxtLink a {
  color: #00b7f7;
  text-decoration: underline;
  position: relative;
}
.blogTxtLink a:hover {
  text-decoration: none;
}

/*
BLOG（メイン、下層ページ） ===================================================== */
.blogInner {
  /* 幅決め */
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogInner {
    padding: 0;
    margin: 0;
    max-width: inherit;
  }
}

.blogList {
  margin: 0 auto;
  border-top: 1px solid #333;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList {
    width: 100%;
    margin: 0 auto 25px;
  }
}

.blogList li {
  border-bottom: 1px solid #333;
}
.blogList li a {
  position: relative;
  display: block;
  padding: 1.5% 1.5% 1.5% 0;
}

.blogList li a:hover {
  background: #eee;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList li a {
    padding: 20px;
  }
}

.blogList li a:after {
  content: "";
  position: absolute;
  width: 18px;
  height: 21px;
  right: 25px;
  top: 50%;
  margin: -10px 0 0;
  z-index: 5;
  background: url(../img/arrow_01.png) no-repeat 0 0;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList li a:after {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .blogList li a:hover {
    /*background: #fff;*/
  }
  .blogList li a:hover img {
    opacity: 1;
  }
}

.blogList .imgWrap {
  width: 15%;
  position: relative;
}
.imgWrapIn {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.imgWrapIn img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList .imgWrap {
    width: 25%;
  }
}

.blogList figure {
  margin: 0;
  padding: 0;
  width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList li a figure {
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
  }
}

.blogList figcaption {
  padding-left: 32px;
  width: 85%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList figcaption {
    padding-left: 20px;
    width: 75%;
  }
}

.blogList .date {
  width: 100%;
  color: #00b7f7;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  margin-bottom: 7px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList .date {
    font-size: 1.5rem;
  }
}

.blogList .title {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList .title {
    font-size: 1.5rem;
  }
}

.blogList .txtWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  .blogList + .alignC {
    padding: 0 5vw;
  }
}

.blog .ttlInner .meta time {
  color: #00b7f7;
}

.blogArticleList {
  border-top: 1px solid #ddd;
}
.blogArticleList li {
  border-bottom: 1px solid #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: start;
  justify-content: start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.blogArticleList li .imgWrap {
  width: 200px;
  padding: 10px 0;
  display: block;
}
.blogArticleList li .ttlWrap {
  width: 100%;
  flex: 1;
  padding-left: 30px;
}
.blogArticleList li .category a {
  color: #00b7f7;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .blogArticleList li .category a:hover {
    text-decoration: underline;
  }
}
.blogArticleList time:after {
  content: "|";
  display: inline-block;
  padding: 0 10px;
}
.blogArticleList .blogTtl {
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .blogArticleList .blogTtl a:hover {
    text-decoration: underline;
  }
}

/*
ページャー
-------------------------------------------------------------*/
.pagination {
  margin-top: 40px;
}
.pagination .page-of {
  display: none;
}
.pagination-box {
  text-align: center;
  font-size: 1.4rem;
}
.pagination-box span {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  margin-right: 10px;
  background: #32a99c;
  color: #fff;
}
.pagination-box span:last-child {
  margin-right: 0;
}
.pagination-box span.link {
  background: none;
}
.pagination-box a {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-decoration: none;
  background: #fff;
  color: rgba(28, 28, 28, 0.9);
}
@media screen and (min-width: 769px) {
  .pagination-box a:hover {
    background: #32a99c;
    color: #fff;
  }
  .pagination-box span.link:hover {
    background: #32a99c;
    color: #fff;
  }
  .pagination-box span.link:hover a {
    color: #fff;
  }
}

/* ==========================================================================

CONTACT

========================================================================== */
section.contact {
  padding: 3.0625% 0 0;
  background: #f6f6f6;
  position: relative;
  z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.contact {
    padding: 10.5% 5vw 0;
  }
}

section.contact .formWrapOuter {
  padding: 0 0 4.4375%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.contact .formWrapOuter {
    padding: 0 0 8.375%;
  }
}

section.contact .formWrap {
  background: #ebebeb;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 3.125% 0 4.0625%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.contact .formWrap {
    width: 100%;
    padding: 5vw 0;
  }
}

section.contact .modPCenter {
  text-align: center;
}

section.contact .comp {
  min-height: 340px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.contact .comp {
    min-height: inherit;
    margin-bottom: 19.45%;
  }
}

/* 769px以下 */
@media screen and (max-width: 769px) {
  section.contact .comp .modPCenter {
    text-align: left;
  }
}

.pointCenter {
  text-align: center;
  margin-bottom: 1.55em;
  line-height: 1.7;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .pointCenter {
    font-size: 1.4rem;
    margin-bottom: 1.2em;
    text-align: left;
  }
}

.pointCenter.bottom {
  margin-bottom: 2.75em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .pointCenter.bottom {
    margin-bottom: 1.4em;
  }
}

section.contact h4.ttlC {
  text-align: center;
  margin-bottom: 40px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  section.contact h4.ttlC {
    margin-bottom: 20px;
  }
}

.formWrap dl {
  width: 75%;
  margin: 0 auto;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .formWrap dl {
    width: 90%;
  }
}

.formWrap dt {
  font-size: 1.4rem;
}

.formWrap dd {
  margin: 15px 0 30px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .formWrap dd {
    margin: 10px 0 15px 0;
  }
}

.formWrap dd:last-of-type {
  margin: 15px 0 53px;
}

.formWrap .required {
  background: #00b7f7;
  font-size: 1.2rem;
  color: #fff;
  font-weight: normal;
  height: 25px;
  line-height: 25px;
  display: inline-block;
  padding: 0 10px;
  margin-right: 10px;
  position: relative;
  top: -2px;
}

.formWrap .any {
  background: #bcbcbc;
  font-size: 1.2rem;
  color: #fff;
  font-weight: normal;
  height: 25px;
  line-height: 25px;
  display: inline-block;
  padding: 0 10px;
  margin-right: 10px;
  position: relative;
  top: -2px;
}

.formWrap textarea,
.formWrap input[type="email"],
.formWrap input[type="text"] {
  border: 1px solid #ddd;
  background: #fff;
  height: 40px;
  padding-left: 15px;
  width: 100%;
}

.formWrap textarea {
  height: 196px;
  vertical-align: top;
}

.formWrap dl + p {
  max-width: 300px;
  margin: 0 auto;
}

.formWrap .formBtn {
  text-align: center !important;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  height: 70px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  background: #fff;
  border: 2px solid #00b7f7;
  color: #00b7f7;
  cursor: pointer;
  transition: border 0.2s linear, background 0.2s linear;
  /*
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	*/
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .formWrap dl + p {
    max-width: inherit;
    width: auto;
    margin: 0;
  }

  .formWrap .formBtn {
    width: 90%;
    height: 60px;
    font-size: 1.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.formWrap .formBtn + .formBtn {
  margin: 30px auto 0;
  border: 1px solid #ccc;
  color: #ccc;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .formWrap .formBtn + .formBtn {
    margin: 15px auto 0;
  }
}

/* 769px以上 */
@media screen and (min-width: 769px) {
  .formWrap .formBtn:hover {
    border: 2px solid #00b7f7;
    background: #00b7f7;
    color: #ffffff;
  }
  .formWrap .formBtn + .formBtn:hover {
    border: 2px solid #00b7f7;
    background: #00b7f7;
    color: #ffffff;
  }
}

.formElement {
  padding: 150px 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .formElement {
    padding: 70px 0 50px;
  }
}

.mwform-radio-field-text {
  cursor: pointer;
}
.mwform-checkbox-field label,
.mwform-radio-field label {
  white-space: nowrap;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: auto !important;
  margin-right: 10px !important;
}
dl.formWrapDl select.date,
.formWrap input[type="text"].hasDatepicker {
  width: auto;
}
.formWrap textarea {
  padding: 20px;
}
.formWrap textarea,
.formWrap input {
  border-radius: 0;
  box-shadow: none;
  -webkit-appearance: none;
}
.formWrap select {
  border: 1px solid #ddd;
  height: 30px;
}
input[type="radio"] {
  position: relative;
  -moz-appearance: button;
  -webkit-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  content: "";
  background-color: #ffffff;
  border: 1px solid #999999;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  vertical-align: middle;
  cursor: pointer;
}
input[type="radio"]:checked {
  background-image: radial-gradient(
    circle at 50% 50%,
    #454545 40%,
    transparent 50%
  );
}
input[type="radio"]:checked:after {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  content: "";
  width: 12px;
  height: 12px;
  background: #454545;
  -webkit-border-radius: 12px;
  border-radius: 12px;
}
input[type="checkbox"] {
  display: none;
}
.mwform-checkbox-field-text {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  padding: 0 0 0 24px;
}
.mwform-checkbox-field-text:after {
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #454545;
  border-bottom: 3px solid #454545;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mwform-checkbox-field-text:before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -9px;
  width: 18px;
  height: 18px;
  border: 1px solid #999999;
  background-color: #fff;
  content: "";
}
input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  opacity: 1;
}
.mw_wp_form .formWrap .horizontal-item {
  margin-left: 0;
  margin-right: 10px;
}
.mw_wp_form .formWrap .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form_input .formMessage01,
.mw_wp_form_confirm .formMessage02 {
  display: block;
  color: rgba(28, 28, 28, 0.9);
}
.mw_wp_form_confirm .formMessage01,
.mw_wp_form_input .formMessage02 {
  display: none;
}
.privacy {
  margin: 20px 0 10px 0;
  display: block;
  height: 200px;
  overflow: auto;
  padding: 16px;
  border: 1px solid #ccc;
  font-size: 1.2rem;
  margin: 0 auto 1em;
  background-color: #fffff7;
}
.privacy_title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 1rem;
}
.mw_wp_form .privacy dl {
  width: auto;
}
.privacy dt {
  font-weight: bold;
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 15px;
}
.privacy .num {
  font-style: normal;
  font-weight: bold;
  display: table-cell;
  padding-right: 10px;
  white-space: nowrap;
}
.privacy .content {
  display: table-cell;
}
.privacy,
.mw_wp_form .consent {
  max-width: 75%;
}
.mw_wp_form .consent {
  text-align: center;
  margin: 0 auto 2em;
}
.mw_wp_form .consent * {
  cursor: pointer;
}
.mw_wp_form_confirm .privacy,
.mw_wp_form_confirm .consent {
  display: none !important;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .mw_wp_form_input .formMessage01 .modPCenter,
  .mw_wp_form_confirm .formMessage02 .modPCenter {
    text-align: left;
    padding: 0;
  }
  .privacy,
  .mw_wp_form .consent {
    width: 100%;
  }
  .mw_wp_form .privacy dl dd span {
    display: table-cell !important;
  }
}

/* ==========================================================================

footer

========================================================================== */
.footer {
  background: #00b7f7;
  width: 100%;
  padding: 2.75% 0 2.75%;
}

.copy {
  text-align: center;
  line-height: 1;
  display: block;
  color: #fff;
  font-weight: bold;
}

.copy small {
  letter-spacing: 0.08em;
  font-size: 1.6rem;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .copy small {
    font-size: 1.2rem;
  }
}

/*
TOPへ戻る ===================================================== */
#topBtn {
  position: fixed;
  bottom: 28px;
  right: 20px;
  z-index: 98;
  display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  #topBtn {
    bottom: 8vw;
    right: 5vw;
  }
}

#topBtn a {
  display: block;
  width: 40px;
  height: 40px;
  color: #fff;
  line-height: 40px;
  font-size: 2rem;
  background: #00b7f7;
  border: 1px solid rgba(255, 255, 255, 0.8);
  text-align: center;
}

/* ==========================================================================

404 Not Found

========================================================================== */
.cntWrap.notFound {
  z-index: 1;
  position: relative;
  background: #fff;
  min-height: 580px;
  padding: 5.03472% 20px 5.27777%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .cntWrap.notFound {
    padding: 10.5% 5vw;
    min-height: inherit;
  }
  .cntWrap.notFound .inner {
    padding: 0;
  }
}

.cntWrap.notFound .oneBox {
  text-align: center;
  padding: 50px 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
  .cntWrap.notFound .oneBox {
    text-align: left;
    padding: 0;
    font-size: 1.5rem;
  }
}

.cntWrap.notFound .oneBox a:hover {
  text-decoration: none;
}

/* ==========================================================================

汎用

========================================================================== */
.alignC {
  text-align: center;
}
.ma {
  margin-left: auto;
  margin-right: auto;
}

/*margin*/
.mt20 {
  margin-top: 20px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.mb100 {
  margin-bottom: 100px;
}
.mb120 {
  margin-bottom: 120px;
}
.mb150 {
  margin-bottom: 150px;
}

/*blog*/
.tableContents {
  background: #fff !important;
  border: 1px solid #e3e3e3 !important;
}
.image + .singleContent {
  margin-top: 20px;
}
.singleContent {
  width: 100%;
}
.singleContent img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1em;
}
.singleContent p {
  margin-bottom: 1.5em;
}
.singleContent p:last-child {
  margin-bottom: 0;
}
.headingWrap .category a {
  color: #00b7f7;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .headingWrap .category a:hover {
    text-decoration: underline;
  }
}
.headingWrap .meta time:after {
  content: "|";
  display: inline-block;
  padding: 0 10px;
}
.headingWrap time {
  color: #00b7f7;
}

.singleTtl {
  text-align: left;
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.subWrap {
  margin-top: 50px;
  /*border-top: 1px solid rgba(28, 28, 28, .5);*/
}
.categoryDl {
  padding: 70px 0;
  margin-bottom: 70px;
  /*border-bottom: 1px solid rgba(28, 28, 28, .5);*/
}
.categoryDl ul {
  font-size: 0;
  text-align: center;
}
.categoryDl li {
  display: inline-block;
  font-size: 1.4rem;
  margin-right: 10px;
}
@media screen and (max-width: 769px) {
  .categoryDl li {
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.categoryDl li:last-child {
  margin-right: 0;
}
.categoryDl li a {
  display: block;
  border-radius: 15px;
  border: 1px solid rgba(28, 28, 28, 0.9);
  padding: 0 20px;
}
_:-ms-lang(x)::-ms-backdrop,
.categoryDl li a {
  padding: 5px 20px 1px;
}

@media screen and (max-width: 769px) {
  .categoryDl li a {
    margin: 0 60px;
    padding: 6px 0;
    border-radius: 18px;
  }
}
@media screen and (min-width: 769px) {
  .categoryDl li a:hover {
    background: rgba(28, 28, 28, 0.9);
    color: #fff;
  }
}

dt.ttlMain .roboto {
  font-size: 4.5rem !important;
}
@media screen and (max-width: 769px) {
  dt.ttlMain .roboto {
    font-size: 3rem !important;
  }
}

dt.ttlMain .sub {
  font-size: 1.8rem !important;
}
@media screen and (max-width: 769px) {
  dt.ttlMain .sub {
    font-size: 1.4rem !important;
  }
}

.subWrap .latest {
  border-top: 1px solid #ddd;
}
.subWrap .latest a {
  display: block;
  border-bottom: 1px solid #ddd;
  padding: 20px;
}
@media screen and (max-width: 769px) {
  .subWrap .latest a {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  .subWrap .latest a:hover {
    background: #f0f0f0;
  }
}

.subWrap .latest time {
  padding-right: 2em;
}

.subWrap .latest a br {
  display: none;
}

@media screen and (max-width: 1000px) {
  body {
    min-width: 100%;
  }
  .pageTtl .en {
    font-size: 6.4rem;
  }
  .tiltBox .inner.mw1000 {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .slashBtn li a {
    padding: 65px 10px 10px;
  }
  .slashBtn li a .btnWrap .btnA {
    margin-top: 10px;
  }
  .threeCnt .boxList li a {
    padding: 10px;
  }
  .fourCnt .boxList {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .fourCnt .boxList li {
    width: 49%;
    margin-top: 30px;
  }
  .fourCnt .boxList li:nth-child(1),
  .fourCnt .boxList li:nth-child(2) {
    margin-top: 0;
  }
  .facility .boxList li:nth-child(3),
  .facility .boxList li:nth-child(4) {
    margin-top: 30px;
  }
}

/* ==========================================================================

SP

========================================================================== */
@media screen and (max-width: 769px) {
  .inner {
    padding-left: 5vw;
    padding-right: 5vw;
    width: 100%;
    max-width: none;
  }
  .bgColor.inner {
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 50px;
  }
  .txtBox {
    width: 94%;
  }
  .bgChange {
    padding-bottom: 20px;
  }

  /*ttl*/
  .subTtlB .en {
    font-size: 3rem;
  }
  .subTtlB .min {
    font-size: 1.3rem;
    line-height: 1.3;
    padding: 30px 0 0 24px;
  }
  .subTtlB .min:before {
    height: 60px;
    width: 1px;
    top: 0px;
    left: 10px;
  }
  .subTtlC {
    top: -20px;
  }

  .blogInner .subTtlC {
    top: -10px;
  }
  .subTtlC .en {
    font-size: 3rem;
  }
  .subTtlC .jp {
    font-size: 1.5rem;
    margin: 5px 0 0;
  }
  .subTtlD {
    font-size: 1.8rem;
  }
  .ttlA {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
  }
  .ttlA span {
    padding: 0;
  }
  .ttlA:before,
  .ttlA:after,
  .ttlA span:before,
  .ttlA span:after {
    content: "";
    display: none;
  }
  .ttlB {
    font-size: 1.5rem;
  }
  .ttlC {
    font-size: 2rem;
  }
  .ttlD .en {
    font-size: 2.4rem;
  }
  .ttlD i {
    font-size: 1.4rem;
    padding: 0 5px;
  }
  .ttlD .jp:after,
  .ttlD .jp:before {
    width: 30px;
  }
  .ttlE {
    font-size: 1.4rem;
  }
  .ttlF .en {
    font-size: 1.6rem;
  }
  .snsWrap .ttlF .en {
    font-size: 3rem;
  }
  .pageTtl {
    padding: 0 0 0 5vw;
  }
  .pageTtl .en {
    font-size: 3.5rem;
  }
  .pageTtl .jp {
    font-size: 1.6rem;
    padding: 30px 0 0 32px;
  }

  .privacyPage .pageTtl .jp {
    display: none;
  }
  .privacyPage .privacy .modPCenter {
    text-align: left;
  }

  .dlB li li {
    margin: 15px 0;
  }

  .dlB dt {
    padding: 10px;
  }

  .pageTtl .jp:before {
    height: 60px;
    width: 1px;
    top: 0px;
    left: 20px;
  }
  /*btn*/
  .btnA {
    font-size: 1.4rem;
    max-width: 100%;
    height: 60px;
  }
  .btnA a {
    width: 100%;
  }

  /* ==========================================================================

	Box style

	========================================================================== */
  .twoBox {
    display: block;
  }
  .twoBox .txtBox {
    width: 100%;
  }
  .twoBox .imgBox {
    margin-top: 20px;
    width: 100%;
  }
  .oneBox,
  .mw1000 .oneBox {
    padding: 5vw;
  }

  .voice .oneBox {
    padding: 0;
  }

  .oneBox .contentText {
    margin-top: 10px;
    padding: 5vw;
  }

  /*縦幅固定角丸*/
  .eyeCatching {
    width: 110px;
    height: 110px;
  }
  /*dl*/
  .dlA {
    font-size: 1.6rem;
  }
  .dlA dt {
    width: 45%;
    padding: 8px 0;
  }
  .dlA dd {
    width: 55%;
    padding: 0 15px;
    font-size: 2rem;
  }
  .w600,
  .dlB {
    width: 100%;
  }
  .dlB dd {
    display: block;
  }
  .dlB dd .itemName {
    display: block;
    width: 100%;
    font-weight: bold;
  }
  .dlB dd .price {
    display: block;
    width: 100%;
  }
  .dlC {
    font-size: 1.4rem;
    display: block;
  }
  .dlC dt {
    font-weight: bold;
    font-size: 1.4rem;
    width: 100%;
    padding: 4px 0;
    margin-top: 5px;
    display: block;
  }
  .dlC dd {
    width: 100%;
    padding: 4px 8px;
    margin-top: 5px;
    font-size: 1.4rem;
    line-height: 1.3;
    display: block;
  }

  /*threeCnt*/
  .threeCnt {
    margin-bottom: 50px;
  }
  .threeCnt .inner {
    padding-left: 0;
    padding-right: 0;
  }
  .threeCnt .boxList {
    display: block;
  }
  .threeCnt .boxList li {
    width: 100%;
  }
  .threeCnt .boxList li a {
    padding: 15px;
  }
  .threeCnt .boxList li a .btnWrap .ttl {
    font-size: 3rem;
  }
  .threeCnt .boxList li a .btnWrap .small {
    font-size: 1.5rem;
  }
  .threeCnt .boxList li a .btnWrap .btnA {
    max-width: 225px;
    margin-top: 15px;
  }
  /*fourCnt*/
  .fourCnt .boxList {
    display: block;
  }
  .fourCnt .boxList li {
    width: 100%;
  }
  .fourCnt .boxList::before,
  .fourCnt .boxList::after {
    display: none;
    width: 100%;
  }
  .fourCnt .boxList li:nth-child(2) {
    margin-top: 40px;
  }
  .fourCnt .boxList li + li {
    margin-top: 40px;
  }
  .fourCnt .box figcaption {
  }
  .fourCnt .boxList + .btnA {
    margin-top: 25px;
  }

  .message .rightBg,
  .feature .rightBg {
    display: none;
  }
  .message .imgBox {
    position: relative;
    top: 0;
    margin-bottom: -100px;
  }
  .message .imgBox .img:first-child {
    width: 68%;
  }
  .message .imgBox .img:last-child {
    position: absolute;
    width: 68%;
    right: 0;
    margin-top: -25px;
  }
  .feature .tiltBox .inner {
    padding-top: 70px;
  }
  .ba {
    margin-bottom: 15px;
  }
  .ba .subTtlA .en {
    display: block;
  }
  .ba .subTtlA .jp {
    display: block;
    padding: 0;
  }
  .ba .subTtlA .jp:before {
    display: none;
  }
  .ba .rightBg {
    display: none;
  }
  .ba .tiltBox {
    margin-bottom: 0;
  }
  .ba .tiltBox .inner {
    padding-top: 60px;
    padding-bottom: 50px;
  }
  .baItem {
    display: block;
  }
  .baItem + .baItem {
    margin-top: 45px;
  }
  .baName {
    width: 100%;
    display: block;
    border: none;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    display: block;
    padding: 25px 0;
    text-align: center;
  }
  .baName h3 {
    font-size: 2.4rem;
  }
  .baName span {
    font-size: 1.4rem;
  }
  .option {
    font-size: 1.8rem;
  }
  .baImage {
    margin-top: 50px;
    width: 100%;
  }
  .ba .eyeCatching {
    font-weight: bold;
    position: absolute;
    left: -25px;
    top: -45px;
    z-index: 5;
  }
  .ba .ttl {
    font-size: 1.4rem;
  }
  .ba .stats.en {
    font-size: 2.5rem;
  }
  .ba .stats.en span {
    font-size: 1.4rem;
  }
  .ba .res.en {
    font-size: 1.4rem;
  }
  .baImage figcaption {
    font-size: 2rem;
    line-height: 1;
    bottom: 10px;
  }
  .baResult {
    width: 100%;
    display: block;
    margin-top: 20px;
  }
  .ba .dlA {
    width: 100%;
    height: auto;
  }
  .baMessage {
    width: 100%;
    display: block;
    border: none;
    padding: 0;
    margin-top: 20px;
    font-size: 1.4rem;
  }
  .small {
    font-size: 1.2rem;
  }
  .slashBtn {
    margin-top: -30px;
    margin-bottom: 25px;
  }
  .slashBtn .rightBg {
    display: none;
  }
  .slashBtn .inner {
    padding-left: 0;
    padding-right: 0;
  }
  .slashBtn ul {
    display: block;
  }
  .slashBtn li {
    width: 100%;
    position: relative;
  }
  .slashBtn li:last-child {
    margin-top: 20px;
  }
  .slashBtn li .bgWrap {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%;
    padding-top: 90.625%;
    z-index: 1;
  }
  .slashBtn li a {
    padding: 60px 5vw 5vw;
  }
  .slashBtn li:last-child a {
    padding: 5vw 5vw 60px;
  }
  .slashBtn li a .btnWrap .ttl {
    font-size: 3rem;
  }
  .slashBtn li a .btnWrap .small {
    font-size: 1.5rem;
  }
  .slashBtn li a .btnWrap .btnA {
    max-width: 225px;
    margin-top: 20px;
  }
  .feedWrap {
    max-width: none;
    margin: 0 auto 50px;
  }
  .feedWrap #sb_instagram #sbi_load {
    padding: 0 5vw;
    margin-top: 0;
  }
  .feedWrap #sb_instagram #sbi_load .sbi_follow_btn {
    margin: 20px auto 0;
  }
  .feedWrap #sb_instagram svg:not(:root).svg-inline--fa {
    height: 2em;
  }

  .facility .boxList li {
    margin-top: 0;
  }
  .facility .boxList li + li,
  .facility .boxList li:nth-child(2),
  .facility .boxList li:nth-child(3),
  .facility .boxList li:nth-child(4) {
    margin-top: 15px;
  }
  .staffBox {
    display: block;
    width: 100%;
    padding: 10px;
  }
  .staffBox + .staffBox {
    margin-top: 15px;
  }
  .staffBox .imgBox,
  .staffBox .txtBox {
    width: 100%;
  }
  .staffBox .txtBox {
    margin-top: 15px;
  }
  .staffBox .label + h3 {
    margin-top: 15px;
  }

  .staffBox .ttlC,
  .staffBox .ruby {
    text-align: center;
  }
  .staffBox .ruby {
    font-size: 1.3rem;
  }
  .staffBox .contentText {
    margin-top: 15px;
  }
  /*price*/
  .priceBox {
    display: block;
    width: 100%;
  }
  .priceBox + .priceBox {
    margin-top: 25px;
  }
  .priceBox .imgBox,
  .priceBox .txtBox {
    width: 100%;
  }
  .priceBox .txtBox {
    margin-top: 15px;
  }
  .priceBox .contentText,
  .priceBox .contentNotice {
    margin-top: 15px;
  }
  .priceBox .dlA {
    margin-top: 15px;
    display: block;
  }
  .priceBox .dlA dt {
    width: 100%;
    padding: 4px;
    font-size: 1.4rem;
  }
  .priceBox .dlA dd {
    width: 100%;
    padding: 4px;
    text-align: center;
    font-size: 1.5rem;
  }
  /*faq voice */
  .faq .tiltBox .inner,
  .voice .tiltBox .inner {
    padding: 5vw 5vw 50px;
  }
  /*access*/
  .access .tiltBox .inner {
    padding-top: 5vw;
    max-width: none;
  }

  .subWrap {
    margin-top: 25px;
  }
  .subWrap .latest a {
    padding: 10px 0;
  }
  .categoryDl {
    padding-top: 30px;
    padding-bottom: 10px;
    margin-bottom: 25px;
  }

  /* blog */
  .blogCnt .cntWidth1000 {
    padding: 20px;
  }
  .blogArticleList .blogTtl {
    font-size: 1.5rem;
  }
  .blogArticleList li .category a {
    display: block;
    font-size: 1.3rem;
    line-height: 1.4;
  }
  .blogArticleList li .ttlWrap {
    padding-left: 10px;
  }
  .blogArticleList li .ttlWrap time {
    font-size: 1.5rem;
  }
  .blogArticleList time:after {
    content: "";
  }
  .blogArticleList li .imgWrap {
    width: 25%;
    display: block;
    padding: 20px 0;
  }
  .blogArticleList li .ttlWrap {
    width: 73%;
  }
  .subWrap .latest time {
    display: block;
  }
  .singleTtl {
    font-size: 2rem;
    line-height: 1.6;
  }

  /* ==========================================================================

	Box style

	========================================================================== */
  .notFound .oneBox {
    padding: 25px;
  }

  .tel .en {
    font-size: 2.5rem;
    margin-left: 15px;
  }
  .contact .jp {
    font-size: 1.6rem;
    margin-left: 10px;
  }
  .footBtnWrap li.contact .wrap {
    padding: 10vw 5vw;
  }
  .infoWrap {
    display: none;
  }
  .snsWrap {
    padding: 15px;
    margin-top: 20px;
  }
  /*margin*/
  .mb10 {
    margin-bottom: 5px;
  }
  .mb15 {
    margin-bottom: 7px;
  }
  .mb20 {
    margin-bottom: 10px;
  }
  .mb30 {
    margin-bottom: 15px;
  }
  .mb40 {
    margin-bottom: 20px;
  }
  .mb50 {
    margin-bottom: 25px;
  }
  .mb70 {
    margin-bottom: 35px;
  }
  .mb80 {
    margin-bottom: 40px;
  }
  .mb90 {
    margin-bottom: 45px;
  }
  .mb100 {
    margin-bottom: 50px;
  }
  .mb120 {
    margin-bottom: 60px;
  }
  .mb150 {
    margin-bottom: 75px;
  }
  .privacy,
  .mw_wp_form .consent {
    max-width: 90%;
  }
  section.contact .privacy .modPCenter {
    text-align: left;
    margin-bottom: 1em;
  }
}

.cntWrap.blog {
  background: #fff;
}

/* update class */

section.service figcaption .serviceTtl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.3;
}
section.work figcaption .workTtl p {
  float: none;
  margin-bottom: 1em;
  display: inline-block;
}
section.service .oneServiceInner h4 {
  line-height: 1.2;
}
@media screen and (min-width: 770px) {
  #menuNavi {
    padding-left: 30px;
  }
  #menuNavi ul li a.current:before {
    left: -35px;
  }
}
/***** refusal *****/
.refusal {
  text-align: right;
  margin-top: 30px;
  width: 100%;
  max-width: 768px;
  margin: 30px auto 0;
}
.refusal img {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
}
@media screen and (max-width: 770px) {
  .refusal {
    margin: 15px auto 0;
  }
  .refusal img {
    max-width: 270px;
  }
}
.privacy dd a {
  word-break: break-all;
}
.google_privacy {
  margin-top: 1em;
}
img[src$="reloclub_logo.jpg"],
img[src$="fukuri_logo.jpg"] {
  max-width: 200px;
}

.siteHeader .siteHeaderInner .logoWrap {
  max-width: 120px;
  width: 100%;
}
@media screen and (max-width: 769px) {
  .siteHeader .siteHeaderInner {
    height: 60px;
  }
  .siteHeader .siteHeaderInner .logoWrap {
    padding: 10px 10px 0 20px;
    max-width: calc(100% - 60px);
    margin: 0;
    width: 100%;
  }
  /*	.siteHeader .siteHeaderInner .logoWrap a {
		text-align: center;
	}*/
  .siteHeader .siteHeaderInner .logoWrap img {
    max-width: 80px;
    vertical-align: middle;
    display: inline-block;
  }
}

.txt_footer_link {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.txt_footer_link a {
  color: #fff;
  text-decoration: underline;
}
@media screen and (max-width: 769px) {
  .txt_footer_link {
    margin: 20px auto;
  }
}
