@charset "UTF-8";
.nowrap {
  white-space: nowrap; }

.text_center_all {
  text-align: center !important; }

@media only screen and (min-width: 920px) {
  .text_center_pc {
    text-align: center !important; } }

@media only screen and (max-width: 919px) {
  .text_center_sp {
    text-align: center !important; } }

.mt1rem_all {
  margin-top: 1rem !important; }

.mb1rem_all {
  margin-bottom: 1rem !important; }

@media only screen and (min-width: 920px) {
  .mt1rem_pc {
    margin-top: 1rem !important; } }

.mb1rem_pc {
  margin-bottom: 1rem !important; }

@media only screen and (max-width: 919px) {
  .mt1rem_sp {
    margin-top: 1rem !important; } }

.mb1rem_sp {
  margin-bottom: 1rem !important; }

.mt2rem_all {
  margin-top: 2rem !important; }

.mb2rem_all {
  margin-bottom: 2rem !important; }

@media only screen and (min-width: 920px) {
  .mt2rem_pc {
    margin-top: 2rem !important; } }

.mb2rem_pc {
  margin-bottom: 2rem !important; }

@media only screen and (max-width: 919px) {
  .mt2rem_sp {
    margin-top: 2rem !important; } }

.mb2rem_sp {
  margin-bottom: 2rem !important; }

.mt3rem_all {
  margin-top: 3rem !important; }

.mb3rem_all {
  margin-bottom: 3rem !important; }

@media only screen and (min-width: 920px) {
  .mt3rem_pc {
    margin-top: 3rem !important; } }

.mb3rem_pc {
  margin-bottom: 3rem !important; }

@media only screen and (max-width: 919px) {
  .mt3rem_sp {
    margin-top: 3rem !important; } }

.mb3rem_sp {
  margin-bottom: 3rem !important; }

.mt4rem_all {
  margin-top: 4rem !important; }

.mb4rem_all {
  margin-bottom: 4rem !important; }

@media only screen and (min-width: 920px) {
  .mt4rem_pc {
    margin-top: 4rem !important; } }

.mb4rem_pc {
  margin-bottom: 4rem !important; }

@media only screen and (max-width: 919px) {
  .mt4rem_sp {
    margin-top: 4rem !important; } }

.mb4rem_sp {
  margin-bottom: 4rem !important; }

.mt5rem_all {
  margin-top: 5rem !important; }

.mb5rem_all {
  margin-bottom: 5rem !important; }

@media only screen and (min-width: 920px) {
  .mt5rem_pc {
    margin-top: 5rem !important; } }

.mb5rem_pc {
  margin-bottom: 5rem !important; }

@media only screen and (max-width: 919px) {
  .mt5rem_sp {
    margin-top: 5rem !important; } }

.mb5rem_sp {
  margin-bottom: 5rem !important; }

.mt6rem_all {
  margin-top: 6rem !important; }

.mb6rem_all {
  margin-bottom: 6rem !important; }

@media only screen and (min-width: 920px) {
  .mt6rem_pc {
    margin-top: 6rem !important; } }

.mb6rem_pc {
  margin-bottom: 6rem !important; }

@media only screen and (max-width: 919px) {
  .mt6rem_sp {
    margin-top: 6rem !important; } }

.mb6rem_sp {
  margin-bottom: 6rem !important; }

.mt7rem_all {
  margin-top: 7rem !important; }

.mb7rem_all {
  margin-bottom: 7rem !important; }

@media only screen and (min-width: 920px) {
  .mt7rem_pc {
    margin-top: 7rem !important; } }

.mb7rem_pc {
  margin-bottom: 7rem !important; }

@media only screen and (max-width: 919px) {
  .mt7rem_sp {
    margin-top: 7rem !important; } }

.mb7rem_sp {
  margin-bottom: 7rem !important; }

.mt8rem_all {
  margin-top: 8rem !important; }

.mb8rem_all {
  margin-bottom: 8rem !important; }

@media only screen and (min-width: 920px) {
  .mt8rem_pc {
    margin-top: 8rem !important; } }

.mb8rem_pc {
  margin-bottom: 8rem !important; }

@media only screen and (max-width: 919px) {
  .mt8rem_sp {
    margin-top: 8rem !important; } }

.mb8rem_sp {
  margin-bottom: 8rem !important; }

.mt9rem_all {
  margin-top: 9rem !important; }

.mb9rem_all {
  margin-bottom: 9rem !important; }

@media only screen and (min-width: 920px) {
  .mt9rem_pc {
    margin-top: 9rem !important; } }

.mb9rem_pc {
  margin-bottom: 9rem !important; }

@media only screen and (max-width: 919px) {
  .mt9rem_sp {
    margin-top: 9rem !important; } }

.mb9rem_sp {
  margin-bottom: 9rem !important; }

.mt10rem_all {
  margin-top: 10rem !important; }

.mb10rem_all {
  margin-bottom: 10rem !important; }

@media only screen and (min-width: 920px) {
  .mt10rem_pc {
    margin-top: 10rem !important; } }

.mb10rem_pc {
  margin-bottom: 10rem !important; }

@media only screen and (max-width: 919px) {
  .mt10rem_sp {
    margin-top: 10rem !important; } }

.mb10rem_sp {
  margin-bottom: 10rem !important; }

@media only screen and (min-width: 920px) {
  .w1p_pc {
    width: 1% !important; } }

@media only screen and (min-width: 920px) {
  .w2p_pc {
    width: 2% !important; } }

@media only screen and (min-width: 920px) {
  .w3p_pc {
    width: 3% !important; } }

@media only screen and (min-width: 920px) {
  .w4p_pc {
    width: 4% !important; } }

@media only screen and (min-width: 920px) {
  .w5p_pc {
    width: 5% !important; } }

@media only screen and (min-width: 920px) {
  .w6p_pc {
    width: 6% !important; } }

@media only screen and (min-width: 920px) {
  .w7p_pc {
    width: 7% !important; } }

@media only screen and (min-width: 920px) {
  .w8p_pc {
    width: 8% !important; } }

@media only screen and (min-width: 920px) {
  .w9p_pc {
    width: 9% !important; } }

@media only screen and (min-width: 920px) {
  .w10p_pc {
    width: 10% !important; } }

@media only screen and (min-width: 920px) {
  .w11p_pc {
    width: 11% !important; } }

@media only screen and (min-width: 920px) {
  .w12p_pc {
    width: 12% !important; } }

@media only screen and (min-width: 920px) {
  .w13p_pc {
    width: 13% !important; } }

@media only screen and (min-width: 920px) {
  .w14p_pc {
    width: 14% !important; } }

@media only screen and (min-width: 920px) {
  .w15p_pc {
    width: 15% !important; } }

@media only screen and (min-width: 920px) {
  .w16p_pc {
    width: 16% !important; } }

@media only screen and (min-width: 920px) {
  .w17p_pc {
    width: 17% !important; } }

@media only screen and (min-width: 920px) {
  .w18p_pc {
    width: 18% !important; } }

@media only screen and (min-width: 920px) {
  .w19p_pc {
    width: 19% !important; } }

@media only screen and (min-width: 920px) {
  .w20p_pc {
    width: 20% !important; } }

@media only screen and (min-width: 920px) {
  .w21p_pc {
    width: 21% !important; } }

@media only screen and (min-width: 920px) {
  .w22p_pc {
    width: 22% !important; } }

@media only screen and (min-width: 920px) {
  .w23p_pc {
    width: 23% !important; } }

@media only screen and (min-width: 920px) {
  .w24p_pc {
    width: 24% !important; } }

@media only screen and (min-width: 920px) {
  .w25p_pc {
    width: 25% !important; } }

@media only screen and (min-width: 920px) {
  .w26p_pc {
    width: 26% !important; } }

@media only screen and (min-width: 920px) {
  .w27p_pc {
    width: 27% !important; } }

@media only screen and (min-width: 920px) {
  .w28p_pc {
    width: 28% !important; } }

@media only screen and (min-width: 920px) {
  .w29p_pc {
    width: 29% !important; } }

@media only screen and (min-width: 920px) {
  .w30p_pc {
    width: 30% !important; } }

@media only screen and (min-width: 920px) {
  .w31p_pc {
    width: 31% !important; } }

@media only screen and (min-width: 920px) {
  .w32p_pc {
    width: 32% !important; } }

@media only screen and (min-width: 920px) {
  .w33p_pc {
    width: 33% !important; } }

@media only screen and (min-width: 920px) {
  .w34p_pc {
    width: 34% !important; } }

@media only screen and (min-width: 920px) {
  .w35p_pc {
    width: 35% !important; } }

@media only screen and (min-width: 920px) {
  .w36p_pc {
    width: 36% !important; } }

@media only screen and (min-width: 920px) {
  .w37p_pc {
    width: 37% !important; } }

@media only screen and (min-width: 920px) {
  .w38p_pc {
    width: 38% !important; } }

@media only screen and (min-width: 920px) {
  .w39p_pc {
    width: 39% !important; } }

@media only screen and (min-width: 920px) {
  .w40p_pc {
    width: 40% !important; } }

@media only screen and (min-width: 920px) {
  .w41p_pc {
    width: 41% !important; } }

@media only screen and (min-width: 920px) {
  .w42p_pc {
    width: 42% !important; } }

@media only screen and (min-width: 920px) {
  .w43p_pc {
    width: 43% !important; } }

@media only screen and (min-width: 920px) {
  .w44p_pc {
    width: 44% !important; } }

@media only screen and (min-width: 920px) {
  .w45p_pc {
    width: 45% !important; } }

@media only screen and (min-width: 920px) {
  .w46p_pc {
    width: 46% !important; } }

@media only screen and (min-width: 920px) {
  .w47p_pc {
    width: 47% !important; } }

@media only screen and (min-width: 920px) {
  .w48p_pc {
    width: 48% !important; } }

@media only screen and (min-width: 920px) {
  .w49p_pc {
    width: 49% !important; } }

@media only screen and (min-width: 920px) {
  .w50p_pc {
    width: 50% !important; } }

@media only screen and (min-width: 920px) {
  .w51p_pc {
    width: 51% !important; } }

@media only screen and (min-width: 920px) {
  .w52p_pc {
    width: 52% !important; } }

@media only screen and (min-width: 920px) {
  .w53p_pc {
    width: 53% !important; } }

@media only screen and (min-width: 920px) {
  .w54p_pc {
    width: 54% !important; } }

@media only screen and (min-width: 920px) {
  .w55p_pc {
    width: 55% !important; } }

@media only screen and (min-width: 920px) {
  .w56p_pc {
    width: 56% !important; } }

@media only screen and (min-width: 920px) {
  .w57p_pc {
    width: 57% !important; } }

@media only screen and (min-width: 920px) {
  .w58p_pc {
    width: 58% !important; } }

@media only screen and (min-width: 920px) {
  .w59p_pc {
    width: 59% !important; } }

@media only screen and (min-width: 920px) {
  .w60p_pc {
    width: 60% !important; } }

@media only screen and (min-width: 920px) {
  .w61p_pc {
    width: 61% !important; } }

@media only screen and (min-width: 920px) {
  .w62p_pc {
    width: 62% !important; } }

@media only screen and (min-width: 920px) {
  .w63p_pc {
    width: 63% !important; } }

@media only screen and (min-width: 920px) {
  .w64p_pc {
    width: 64% !important; } }

@media only screen and (min-width: 920px) {
  .w65p_pc {
    width: 65% !important; } }

@media only screen and (min-width: 920px) {
  .w66p_pc {
    width: 66% !important; } }

@media only screen and (min-width: 920px) {
  .w67p_pc {
    width: 67% !important; } }

@media only screen and (min-width: 920px) {
  .w68p_pc {
    width: 68% !important; } }

@media only screen and (min-width: 920px) {
  .w69p_pc {
    width: 69% !important; } }

@media only screen and (min-width: 920px) {
  .w70p_pc {
    width: 70% !important; } }

@media only screen and (min-width: 920px) {
  .w71p_pc {
    width: 71% !important; } }

@media only screen and (min-width: 920px) {
  .w72p_pc {
    width: 72% !important; } }

@media only screen and (min-width: 920px) {
  .w73p_pc {
    width: 73% !important; } }

@media only screen and (min-width: 920px) {
  .w74p_pc {
    width: 74% !important; } }

@media only screen and (min-width: 920px) {
  .w75p_pc {
    width: 75% !important; } }

@media only screen and (min-width: 920px) {
  .w76p_pc {
    width: 76% !important; } }

@media only screen and (min-width: 920px) {
  .w77p_pc {
    width: 77% !important; } }

@media only screen and (min-width: 920px) {
  .w78p_pc {
    width: 78% !important; } }

@media only screen and (min-width: 920px) {
  .w79p_pc {
    width: 79% !important; } }

@media only screen and (min-width: 920px) {
  .w80p_pc {
    width: 80% !important; } }

@media only screen and (min-width: 920px) {
  .w81p_pc {
    width: 81% !important; } }

@media only screen and (min-width: 920px) {
  .w82p_pc {
    width: 82% !important; } }

@media only screen and (min-width: 920px) {
  .w83p_pc {
    width: 83% !important; } }

@media only screen and (min-width: 920px) {
  .w84p_pc {
    width: 84% !important; } }

@media only screen and (min-width: 920px) {
  .w85p_pc {
    width: 85% !important; } }

@media only screen and (min-width: 920px) {
  .w86p_pc {
    width: 86% !important; } }

@media only screen and (min-width: 920px) {
  .w87p_pc {
    width: 87% !important; } }

@media only screen and (min-width: 920px) {
  .w88p_pc {
    width: 88% !important; } }

@media only screen and (min-width: 920px) {
  .w89p_pc {
    width: 89% !important; } }

@media only screen and (min-width: 920px) {
  .w90p_pc {
    width: 90% !important; } }

@media only screen and (min-width: 920px) {
  .w91p_pc {
    width: 91% !important; } }

@media only screen and (min-width: 920px) {
  .w92p_pc {
    width: 92% !important; } }

@media only screen and (min-width: 920px) {
  .w93p_pc {
    width: 93% !important; } }

@media only screen and (min-width: 920px) {
  .w94p_pc {
    width: 94% !important; } }

@media only screen and (min-width: 920px) {
  .w95p_pc {
    width: 95% !important; } }

@media only screen and (min-width: 920px) {
  .w96p_pc {
    width: 96% !important; } }

@media only screen and (min-width: 920px) {
  .w97p_pc {
    width: 97% !important; } }

@media only screen and (min-width: 920px) {
  .w98p_pc {
    width: 98% !important; } }

@media only screen and (min-width: 920px) {
  .w99p_pc {
    width: 99% !important; } }

@media only screen and (min-width: 920px) {
  .w100p_pc {
    width: 100% !important; } }

/* iOSでのデフォルトスタイルをリセット */
img {
  max-width: 100%;
  height: auto; }

@media only screen and (min-width: 920px) {
  .pc_inline {
    display: inline; } }

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

@media only screen and (min-width: 920px) {
  .sp_inline {
    display: none; } }

@media only screen and (max-width: 919px) {
  .sp_inline {
    display: inline; } }

@media only screen and (min-width: 920px) {
  .pc_block {
    display: block; } }

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

@media only screen and (min-width: 920px) {
  .sp_block {
    display: none; } }

@media only screen and (max-width: 919px) {
  .sp_block {
    display: block; } }

.anchor {
  display: block; }
  @media only screen and (min-width: 920px) {
    .anchor {
      margin-top: -200px;
      padding-top: 200px; } }
  @media only screen and (max-width: 919px) {
    .anchor {
      margin-top: -80px;
      padding-top: 80px; } }
  @media only screen and (max-width: 919px) {
    .anchor#s01_anchor {
      margin-top: 0;
      padding-top: 0; } }

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



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

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

td, th {
  word-break: break-all; }

strong {
  font-weight: bold; }

a {
  color: #48C5F7;
  -webkit-tap-highlight-color: transparent; }

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



------------------------------------------------------------------------*/
html {
  background-color: transparent;
  overflow-x: hidden; }

@media only screen and (min-width: 920px) {
  .ex_in {
    min-width: 900px;
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 5%; } }

@media only screen and (max-width: 919px) {
  .ex_in {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

body {
  font-family: "Noto Sans JP", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  display: block;
  font-feature-settings: "palt";
  overflow-x: hidden;
  -webkit-text-size-adjust: none; }
  @media only screen and (min-width: 920px) {
    body {
      padding-bottom: 122px; } }
  @media only screen and (max-width: 919px) {
    body {
      padding-bottom: 122px; } }

img {
  vertical-align: bottom;
  max-width: 100%;
  width: 100%; }

.pagetitle {
  background-color: #48C5F7; }
  .pagetitle > .inner {
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 920px) {
      .pagetitle > .inner {
        width: 1000px;
        margin: 0 auto;
        padding: 0 1%;
        box-sizing: border-box; } }
    @media only screen and (max-width: 919px) {
      .pagetitle > .inner {
        width: 87.5%;
        margin: 0 auto;
        max-width: 640px; } }
    @media only screen and (min-width: 920px) {
      .pagetitle > .inner {
        height: 150px; } }
    @media only screen and (max-width: 919px) {
      .pagetitle > .inner {
        height: 70px; } }
    .pagetitle > .inner h2 {
      color: #fff;
      line-height: 1;
      letter-spacing: .2rem; }
      @media only screen and (min-width: 920px) {
        .pagetitle > .inner h2 {
          font-size: 24px;
          font-weight: bold; } }
      @media only screen and (max-width: 919px) {
        .pagetitle > .inner h2 {
          font-size: 18px; } }

.pankuzu {
  font-size: 12px;
  line-height: 1;
  margin-top: 1rem; }
  @media only screen and (min-width: 920px) {
    .pankuzu ul {
      width: 1000px;
      margin: 0 auto;
      padding: 0 1%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 919px) {
    .pankuzu ul {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  .pankuzu ul li {
    display: inline-block; }
    .pankuzu ul li:before {
      content: ">";
      margin: 0 .5rem; }
    .pankuzu ul li.home:before {
      display: none; }
    .pankuzu ul li a {
      text-decoration: none; }

@media only screen and (min-width: 920px) {
  .lead .inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0 1%;
    box-sizing: border-box; } }

@media only screen and (max-width: 919px) {
  .lead .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 920px) {
  .section > .inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0 1%;
    box-sizing: border-box; } }

@media only screen and (max-width: 919px) {
  .section > .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

.fixed_bar {
  opacity: 0;
  transition: all 0.4s ease 0.4s;
  background-color: #1476AF;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100; }
  .fixed_bar.appear {
    opacity: 1; }
  @media only screen and (min-width: 920px) {
    .fixed_bar {
      height: 122px; } }
  @media only screen and (max-width: 919px) {
    .fixed_bar {
      height: calc(125px + env(safe-area-inset-bottom));
      box-sizing: border-box;
      padding: .3rem 0 0; } }
  .fixed_bar > .inner {
    align-items: center;
    height: 100%;
    justify-content: space-between; }
    @media only screen and (min-width: 920px) {
      .fixed_bar > .inner {
        width: 1000px;
        margin: 0 auto;
        padding: 0 1%;
        box-sizing: border-box; } }
    @media only screen and (max-width: 919px) {
      .fixed_bar > .inner {
        width: 87.5%;
        margin: 0 auto;
        max-width: 640px; } }
    @media only screen and (min-width: 920px) {
      .fixed_bar > .inner {
        display: flex; } }
  @media only screen and (min-width: 920px) {
    .fixed_bar .btn_mail {
      width: 518px; } }
  .fixed_bar .btn_mail a {
    display: block;
    background: transparent linear-gradient(180deg, #FFAA00 0%, #FF9100 100%) 0% 0% no-repeat;
    border: 2px solid rgba(255, 255, 255, 0.45);
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 920px) {
      .fixed_bar .btn_mail a {
        height: 84px;
        padding: 0 20px; } }
    @media only screen and (max-width: 919px) {
      .fixed_bar .btn_mail a {
        padding: .3rem 10px; } }
    .fixed_bar .btn_mail a .fas {
      display: block;
      line-height: 1; }
      @media only screen and (min-width: 920px) {
        .fixed_bar .btn_mail a .fas {
          font-size: 49px;
          margin-right: 20px; } }
      @media only screen and (max-width: 919px) {
        .fixed_bar .btn_mail a .fas {
          font-size: 29px;
          margin-right: .5rem; } }
    .fixed_bar .btn_mail a span {
      display: block; }
      .fixed_bar .btn_mail a span.label {
        font-weight: bold;
        line-height: 1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }
        @media only screen and (min-width: 920px) {
          .fixed_bar .btn_mail a span.label {
            font-size: 21px; } }
        @media only screen and (max-width: 919px) {
          .fixed_bar .btn_mail a span.label {
            font-size: 14px; } }
      .fixed_bar .btn_mail a span.caption {
        line-height: 1;
        margin-top: .3rem; }
        @media only screen and (max-width: 919px) {
          .fixed_bar .btn_mail a span.caption {
            font-size: 12px; } }
  .fixed_bar .fixed_tel {
    position: relative; }
    @media only screen and (min-width: 920px) {
      .fixed_bar .fixed_tel {
        flex-basis: 417px; } }
    @media only screen and (max-width: 919px) {
      .fixed_bar .fixed_tel {
        margin-top: .3rem; } }
    @media only screen and (min-width: 920px) {
      .fixed_bar .fixed_tel .fas {
        margin-right: .8rem; } }
    @media only screen and (max-width: 919px) {
      .fixed_bar .fixed_tel .fas {
        margin-right: .3rem; } }
    .fixed_bar .fixed_tel .tel {
      display: flex;
      line-height: 1;
      color: #fff;
      font-weight: bold; }
      @media only screen and (min-width: 920px) {
        .fixed_bar .fixed_tel .tel {
          font-size: 38px;
          margin-top: 5px; } }
      @media only screen and (max-width: 919px) {
        .fixed_bar .fixed_tel .tel {
          font-size: 26px;
          margin-top: .3rem; } }
      .fixed_bar .fixed_tel .tel a {
        text-decoration: none;
        color: #fff; }
    .fixed_bar .fixed_tel .comment {
      background-color: #fff;
      line-height: 1;
      border-radius: 20px;
      text-align: center;
      color: #CB1414; }
      @media only screen and (min-width: 920px) {
        .fixed_bar .fixed_tel .comment {
          height: 30px;
          font-size: 18px;
          padding: .4rem 0 0;
          box-sizing: border-box; } }
      @media only screen and (max-width: 919px) {
        .fixed_bar .fixed_tel .comment {
          font-size: 14px;
          padding: .1rem; } }
    .fixed_bar .fixed_tel .caption {
      color: #fff; }
      @media only screen and (min-width: 920px) {
        .fixed_bar .fixed_tel .caption {
          font-size: 14px; } }
      @media only screen and (max-width: 919px) {
        .fixed_bar .fixed_tel .caption {
          font-size: 12px; } }
    .fixed_bar .fixed_tel .img {
      position: absolute; }
      @media only screen and (min-width: 920px) {
        .fixed_bar .fixed_tel .img {
          width: 98px;
          right: -10px;
          top: 0; } }
      @media only screen and (max-width: 919px) {
        .fixed_bar .fixed_tel .img {
          width: 72px;
          bottom: -.3rem;
          right: 0; } }

@media only screen and (min-width: 920px) {
  .global_header_wrapper {
    height: 142px; } }

@media only screen and (max-width: 919px) {
  .global_header_wrapper {
    height: 78px; } }

@media only screen and (min-width: 920px) {
  .global_header {
    height: 142px; } }

@media only screen and (max-width: 919px) {
  .global_header {
    height: 78px; } }

.global_header .site_desc {
  background-color: #C7EFFF;
  font-size: 12px; }
  @media only screen and (min-width: 920px) {
    .global_header .site_desc > .inner {
      width: 1000px;
      margin: 0 auto;
      padding: 0 1%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 919px) {
    .global_header .site_desc > .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  @media only screen and (max-width: 919px) {
    .global_header .site_desc > .inner {
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; } }

.global_header > .inner {
  display: flex; }
  @media only screen and (min-width: 920px) {
    .global_header > .inner {
      width: 1000px;
      margin: 0 auto;
      padding: 0 1%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 919px) {
    .global_header > .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  @media only screen and (min-width: 920px) {
    .global_header > .inner {
      justify-content: space-between; } }
  @media only screen and (max-width: 919px) {
    .global_header > .inner {
      height: 58px;
      align-items: center; } }

@media only screen and (min-width: 920px) {
  .global_header .alpha {
    flex-basis: 300px; } }

@media only screen and (max-width: 919px) {
  .global_header .alpha {
    width: 217px; } }

.global_header .alpha .logo {
  line-height: 1; }
  @media only screen and (min-width: 920px) {
    .global_header .alpha .logo {
      width: 300px;
      padding-top: 42px; } }

@media only screen and (min-width: 920px) {
  .global_header .beta {
    flex-basis: 484px;
    position: relative; } }

@media only screen and (max-width: 919px) {
  .global_header .beta {
    display: none; } }

.global_header .beta:after {
  display: block;
  content: "";
  background: transparent url("../img/header_img_01@2x.png") right bottom no-repeat;
  background-size: contain;
  width: 135px;
  height: 139px;
  position: absolute;
  bottom: -31px;
  right: 0; }

.global_header .beta .tel {
  padding-top: 35px;
  line-height: 1; }
  .global_header .beta .tel .fas {
    margin-right: .8rem; }
  .global_header .beta .tel .num {
    font-size: 39px;
    color: #FF7700;
    font-weight: bold; }
    .global_header .beta .tel .num a {
      color: #FF7700;
      text-decoration: none; }
  .global_header .beta .tel .time {
    font-size: 17px;
    color: #707070; }

@media only screen and (min-width: 920px) {
  .btn_menu {
    display: none; } }

@media only screen and (max-width: 919px) {
  .btn_menu {
    display: block; } }

.pagetop {
  position: fixed;
  z-index: 200; }
  @media only screen and (min-width: 920px) {
    .pagetop {
      right: 5%;
      bottom: 5%; } }
  @media only screen and (max-width: 919px) {
    .pagetop {
      right: 5%;
      bottom: calc(130px +  env(safe-area-inset-bottom)); } }
  .pagetop a {
    text-align: center;
    line-height: 1;
    background-color: #666;
    display: block;
    text-decoration: none;
    color: #fff; }
    @media only screen and (min-width: 920px) {
      .pagetop a {
        width: 48px;
        height: 48px;
        line-height: 48px;
        border-radius: 48px;
        font-size: 24px; } }
    @media only screen and (max-width: 919px) {
      .pagetop a {
        width: 48px;
        height: 48px;
        line-height: 48px;
        border-radius: 48px;
        font-size: 24px; } }

.global_footer {
  background-color: #E8F8FF; }
  .global_footer a {
    color: #000; }
  @media only screen and (min-width: 920px) {
    .global_footer {
      margin-top: 80px;
      padding: 60px 0; } }
  @media only screen and (max-width: 919px) {
    .global_footer {
      margin-top: 3rem;
      padding: 2rem 0; } }
  @media only screen and (min-width: 920px) {
    .global_footer > .upper {
      width: 1000px;
      margin: 0 auto;
      padding: 0 1%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 919px) {
    .global_footer > .upper {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  @media only screen and (min-width: 920px) {
    .global_footer > .upper {
      display: flex;
      justify-content: space-between; } }
  .global_footer > .upper .alpha .footer_logo {
    line-height: 1; }
    @media only screen and (min-width: 920px) {
      .global_footer > .upper .alpha .footer_logo {
        width: 270px; } }
    @media only screen and (max-width: 919px) {
      .global_footer > .upper .alpha .footer_logo {
        width: 200px;
        margin: 0 auto; } }
    .global_footer > .upper .alpha .footer_logo img {
      vertical-align: bottom; }
  .global_footer > .upper .alpha address {
    line-height: 1; }
    @media only screen and (min-width: 920px) {
      .global_footer > .upper .alpha address {
        margin-top: 2rem; } }
    @media only screen and (max-width: 919px) {
      .global_footer > .upper .alpha address {
        margin-top: 1rem;
        font-size: 14px; } }
  @media only screen and (min-width: 920px) {
    .global_footer > .upper .alpha .tel {
      font-size: 32px; } }
  @media only screen and (max-width: 919px) {
    .global_footer > .upper .alpha .tel {
      font-size: 24px;
      font-weight: bold;
      text-align: center; } }
  .global_footer > .upper .alpha .tel a {
    text-decoration: none; }
  @media only screen and (max-width: 919px) {
    .global_footer > .upper .beta {
      display: none; } }
  .global_footer > .upper .beta .footer_menus {
    display: flex;
    justify-content: space-between; }
    .global_footer > .upper .beta .footer_menus .menu {
      display: flex;
      align-items: flex-start;
      margin-right: 70px; }
      .global_footer > .upper .beta .footer_menus .menu p.title {
        line-height: 1;
        border-right: 2px solid #000;
        padding-right: 1rem;
        margin-right: 1rem;
        font-size: 14px;
        font-weight: bold; }
      .global_footer > .upper .beta .footer_menus .menu ul {
        margin-top: -.3rem; }
        .global_footer > .upper .beta .footer_menus .menu ul li a {
          text-decoration: none;
          font-size: 14px; }
      .global_footer > .upper .beta .footer_menus .menu:last-child {
        margin-right: 0; }
  .global_footer .bottom {
    text-align: center;
    padding-top: 53px !important;
    font-size: 12px;
    color: #707070;
    line-height: 1; }
    @media only screen and (min-width: 920px) {
      .global_footer .bottom {
        width: 1000px;
        margin: 0 auto;
        padding: 0 1%;
        box-sizing: border-box; } }
    @media only screen and (max-width: 919px) {
      .global_footer .bottom {
        width: 87.5%;
        margin: 0 auto;
        max-width: 640px; } }

.gnav {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#249ade+0,1373ab+100 */
  background: #249ade;
  /* Old browsers */
  background: -moz-linear-gradient(top, #249ade 0%, #1373ab 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #249ade 0%, #1373ab 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #249ade 0%, #1373ab 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#249ade', endColorstr='#1373ab',GradientType=0 );
  /* IE6-9 */ }
  @media only screen and (min-width: 920px) {
    .gnav {
      height: 82px; } }
  @media only screen and (min-width: 920px) {
    .gnav > .inner {
      width: 1000px;
      margin: 0 auto;
      padding: 0 1%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 919px) {
    .gnav > .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  @media only screen and (max-width: 919px) {
    .gnav > .inner {
      width: 100%; } }
  .gnav > .inner > ul {
    display: flex;
    justify-content: space-between; }
    .gnav > .inner > ul li {
      line-height: 1; }
      @media only screen and (min-width: 920px) {
        .gnav > .inner > ul li {
          flex-basis: 166px; } }
      @media only screen and (max-width: 919px) {
        .gnav > .inner > ul li {
          display: none;
          flex-basis: 25%; } }
      @media only screen and (max-width: 919px) {
        .gnav > .inner > ul li.add_sp_nav {
          display: block; } }
      .gnav > .inner > ul li.attention {
        background: transparent linear-gradient(180deg, #25E238 0%, #24DE6E 0%, #13AB26 100%) 0% 0% no-repeat padding-box; }
    .gnav > .inner > ul a {
      text-decoration: none;
      color: #fff;
      display: block;
      text-align: center;
      box-sizing: border-box;
      transition: all 0.4s ease; }
      @media only screen and (min-width: 920px) {
        .gnav > .inner > ul a {
          height: 82px;
          padding-top: 15px; } }
      @media only screen and (max-width: 919px) {
        .gnav > .inner > ul a {
          padding-top: 10px;
          height: 60px; } }
      .gnav > .inner > ul a:hover {
        background-color: rgba(0, 0, 0, 0.5); }
      .gnav > .inner > ul a span {
        display: block; }
        @media only screen and (min-width: 920px) {
          .gnav > .inner > ul a span.label {
            font-size: 14px;
            margin-top: .5rem; } }
        @media only screen and (max-width: 919px) {
          .gnav > .inner > ul a span.label {
            font-size: 12px;
            margin-top: .3rem; } }
      @media only screen and (min-width: 920px) {
        .gnav > .inner > ul a .fas {
          font-size: 27px; } }
      @media only screen and (max-width: 919px) {
        .gnav > .inner > ul a .fas {
          font-size: 22px; } }

input, textarea {
  font-size: 16px;
  padding: .3rem .5rem;
  box-sizing: border-box; }

select {
  padding: .5rem;
  font-size: 16px; }

@media only screen and (min-width: 920px) {
  .layout {
    display: flex;
    flex-wrap: wrap; } }

@media only screen and (min-width: 920px) {
  .layout.two_column .column {
    flex-basis: 48%;
    margin-right: 4%; } }

.layout.two_column .column:nth-child(2n) {
  margin-right: 0; }

.default_ttl {
  color: #1982BF;
  text-align: center;
  line-height: 1; }
  @media only screen and (min-width: 920px) {
    .default_ttl {
      font-size: 32px;
      letter-spacing: .5rem; }
      .default_ttl br {
        display: none; } }
  @media only screen and (max-width: 919px) {
    .default_ttl {
      font-size: 24px;
      letter-spacing: .3rem; } }
  .default_ttl:after {
    content: "";
    width: 24px;
    height: 4px;
    margin: 25px auto 0;
    display: block;
    background-color: #1982BF; }

.default_sttl {
  color: #48C5F7;
  font-weight: bold;
  border-bottom: 1px solid #48C5F7;
  padding-bottom: .5rem; }
  @media only screen and (min-width: 920px) {
    .default_sttl {
      font-size: 24px; } }
  @media only screen and (max-width: 919px) {
    .default_sttl {
      font-size: 18px; } }

.default_xsttl {
  font-size: 18px;
  color: #1476af;
  font-weight: bold; }

.default_ttl_bar {
  background-color: #48C5F7;
  font-size: 20px;
  color: #fff;
  padding: .5rem 1rem; }

.linklist {
  margin-top: 40px; }
  @media only screen and (min-width: 920px) {
    .linklist {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between; } }
  @media only screen and (min-width: 920px) {
    .linklist li {
      flex-basis: 480px;
      padding-top: 14px; } }
  @media only screen and (max-width: 919px) {
    .linklist li + li {
      margin-top: 1rem; } }
  .linklist li a {
    display: flex;
    align-items: center;
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 6px 0 #ccc;
    text-decoration: none;
    border-radius: 4px; }
    @media only screen and (min-width: 920px) {
      .linklist li a {
        height: 117px; } }
    @media only screen and (max-width: 919px) {
      .linklist li a {
        height: 80px; } }
    @media only screen and (min-width: 920px) {
      .linklist li a figure {
        flex-basis: 138px;
        padding-left: 17px; } }
    @media only screen and (max-width: 919px) {
      .linklist li a figure {
        flex-basis: 95px;
        padding-left: 10px; } }
    .linklist li a .label {
      color: #1982BF; }
      @media only screen and (min-width: 920px) {
        .linklist li a .label {
          padding-left: 63px;
          font-size: 20px;
          flex-basis: calc(100% - 138px - 20px - 17px - 63px - 2rem); } }
      @media only screen and (max-width: 919px) {
        .linklist li a .label {
          padding-left: 22px;
          font-size: 16px;
          flex-basis: calc(100% - 95px - 20px - 10px - 22px - 1rem); } }
    .linklist li a .arrow_bg {
      background-color: #1982BF;
      color: #fff;
      width: 20px;
      line-height: 1;
      display: flex;
      align-items: center;
      position: absolute;
      justify-content: center;
      border-radius: 0 4px 4px 0;
      right: 0; }
      @media only screen and (min-width: 920px) {
        .linklist li a .arrow_bg {
          height: 117px; } }
      @media only screen and (max-width: 919px) {
        .linklist li a .arrow_bg {
          height: 80px; } }

@media only screen and (max-width: 919px) {
  .table_wrap {
    width: 100%; } }

@media only screen and (max-width: 919px) {
  .table_wrap .table {
    width: 100%; } }

.table.table_01 {
  width: 100%;
  border-right: 1px solid #97dfff;
  border-bottom: 1px solid #97dfff; }
  .table.table_01 th, .table.table_01 td {
    text-align: left;
    padding: .8rem 1.5rem;
    border-left: 1px solid #97dfff;
    border-top: 1px solid #97dfff;
    color: #666; }
    @media only screen and (max-width: 919px) {
      .table.table_01 th, .table.table_01 td {
        display: block; } }
  .table.table_01 th {
    white-space: nowrap;
    background-color: #E8F8FF; }

.table.table_02 {
  width: 100%;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }
  .table.table_02 th, .table.table_02 td {
    border-top: 1px solid #ccc;
    box-sizing: border-box;
    vertical-align: middle;
    text-align: center; }
    @media only screen and (min-width: 920px) {
      .table.table_02 th, .table.table_02 td {
        font-size: 16px;
        padding: .7rem 1rem;
        border-left: 1px solid #ccc;
        font-weight: bold; } }
    @media only screen and (max-width: 919px) {
      .table.table_02 th, .table.table_02 td {
        padding: .5rem .5rem;
        border-left: 1px solid #ccc;
        font-size: 14px; } }
  .table.table_02 th {
    background-color: #eee;
    font-weight: bold; }
  .table.table_02 th.cost_row {
    background-color: #f7ddc6;
    border-top: 5px solid #FF7700;
    border-left: 5px solid #FF7700;
    border-right: 5px solid #FF7700; }
  .table.table_02 td.cost_row {
    background-color: #ffffe0;
    border-left: 5px solid #FF7700;
    border-right: 5px solid #FF7700;
    text-align: center; }
    .table.table_02 td.cost_row .price {
      font-weight: bold;
      line-height: 1;
      color: #FF7700; }
      @media only screen and (min-width: 920px) {
        .table.table_02 td.cost_row .price {
          font-size: 36px; } }
      @media only screen and (max-width: 919px) {
        .table.table_02 td.cost_row .price {
          font-size: 20px; } }
    @media only screen and (min-width: 920px) {
      .table.table_02 td.cost_row .caption {
        font-size: 18px; } }
    @media only screen and (max-width: 919px) {
      .table.table_02 td.cost_row .caption {
        font-size: 14px; } }
  .table.table_02 tr:last-of-type .cost_row {
    border-bottom: 5px solid #FF7700; }

.table.form_table {
  width: 100%;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 919px) {
    .table.form_table .form_grp {
      display: block;
      margin-top: .5rem; } }
  .table.form_table th, .table.form_table td {
    padding: .5rem 1rem;
    padding: 1rem;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc; }
    @media only screen and (max-width: 919px) {
      .table.form_table th, .table.form_table td {
        display: block; } }
  .table.form_table th {
    position: relative;
    text-align: left;
    background-color: #eee;
    vertical-align: top;
    font-weight: bold; }
    @media only screen and (min-width: 920px) {
      .table.form_table th {
        width: 30%; } }
  .table.form_table td ul li {
    display: inline-block;
    margin-right: .5rem; }
  .table.form_table td p {
    margin-top: .5rem; }
  .table.form_table .icn.icn_require {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background-color: #d62121;
    font-size: 12px;
    line-height: 1;
    display: inline-block;
    color: #fff;
    padding: .3rem .5rem; }

.default_list li {
  position: relative;
  padding-left: 1rem; }
  .default_list li:before {
    display: block;
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    background-color: #48C5F7;
    top: .5rem;
    left: 0;
    border-radius: 6px; }

.linklarge {
  font-weight: bold;
  text-align: center; }
  @media only screen and (min-width: 920px) {
    .linklarge {
      font-size: 36px; } }
  @media only screen and (max-width: 919px) {
    .linklarge {
      font-size: 18px; } }

.btn_mail a {
  display: block;
  background: transparent linear-gradient(180deg, #FFAA00 0%, #FF9100 100%) 0% 0% no-repeat;
  border: 2px solid rgba(255, 255, 255, 0.45);
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center; }
  @media only screen and (min-width: 920px) {
    .btn_mail a {
      height: 84px;
      padding: 0 20px; } }
  @media only screen and (max-width: 919px) {
    .btn_mail a {
      padding: .3rem 10px; } }
  .btn_mail a .fas {
    display: block;
    line-height: 1; }
    @media only screen and (min-width: 920px) {
      .btn_mail a .fas {
        font-size: 49px;
        margin-right: 20px; } }
    @media only screen and (max-width: 919px) {
      .btn_mail a .fas {
        font-size: 29px;
        margin-right: .5rem; } }
  .btn_mail a span {
    display: block; }
    .btn_mail a span.label {
      font-weight: bold;
      line-height: 1;
      text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); }
      @media only screen and (min-width: 920px) {
        .btn_mail a span.label {
          font-size: 21px; } }
      @media only screen and (max-width: 919px) {
        .btn_mail a span.label {
          font-size: 14px; } }
    .btn_mail a span.caption {
      line-height: 1;
      margin-top: .3rem; }
      @media only screen and (max-width: 919px) {
        .btn_mail a span.caption {
          font-size: 12px; } }

.map_wrap {
  position: relative;
  padding-top: 75%; }
  .map_wrap iframe {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%; }

.contact_box {
  margin-top: 3rem;
  border: 1px solid #ce633e;
  box-sizing: border-box; }
  .contact_box .contact_box_title {
    text-align: center;
    font-weight: bold;
    box-sizing: border-box;
    background-color: #ce633e;
    color: #fff; }
    @media only screen and (min-width: 920px) {
      .contact_box .contact_box_title {
        font-size: 24px;
        padding: .5rem 0; } }
    @media only screen and (max-width: 919px) {
      .contact_box .contact_box_title {
        font-size: 14px;
        padding: .5rem; } }
  @media only screen and (min-width: 920px) {
    .contact_box .contact_box_inner {
      padding: 20px 30px;
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  @media only screen and (max-width: 919px) {
    .contact_box .contact_box_inner {
      padding: .8rem 1rem; } }
  @media only screen and (min-width: 920px) {
    .contact_box .contact_box_inner .contact_box_mail_unit {
      flex-basis: 48%; } }
  .contact_box .contact_box_inner .contact_box_tel_unit {
    line-height: 1; }
    @media only screen and (min-width: 920px) {
      .contact_box .contact_box_inner .contact_box_tel_unit {
        flex-basis: 48%; } }
    @media only screen and (max-width: 919px) {
      .contact_box .contact_box_inner .contact_box_tel_unit {
        margin-top: 1rem; } }
    .contact_box .contact_box_inner .contact_box_tel_unit .fas {
      color: #ce633e;
      vertical-align: middle; }
      @media only screen and (min-width: 920px) {
        .contact_box .contact_box_inner .contact_box_tel_unit .fas {
          margin-right: .8rem; } }
      @media only screen and (max-width: 919px) {
        .contact_box .contact_box_inner .contact_box_tel_unit .fas {
          margin-right: .3rem; } }
    .contact_box .contact_box_inner .contact_box_tel_unit .tel {
      display: flex;
      line-height: 1;
      vertical-align: middle;
      font-weight: bold; }
      @media only screen and (min-width: 920px) {
        .contact_box .contact_box_inner .contact_box_tel_unit .tel {
          font-size: 42px; } }
      @media only screen and (max-width: 919px) {
        .contact_box .contact_box_inner .contact_box_tel_unit .tel {
          font-size: 26px; } }
      .contact_box .contact_box_inner .contact_box_tel_unit .tel a {
        text-decoration: none;
        color: #ce633e; }
    .contact_box .contact_box_inner .contact_box_tel_unit .caption {
      margin-top: .5rem;
      font-size: 14px; }

.default_numlist {
  padding-left: 1.5rem;
  counter-reset: li; }
  .default_numlist li h6:before {
    display: inline;
    margin-right: .25em;
    counter-increment: li;
    /* ol_li カウンタの値に1加える */
    content: counter(li) ".";
    /* before擬似要素のcontentで出力 */
    color: #48C5F7;
    /* 色を変更 */ }

.st.st_01 {
  color: #48C5F7; }

.st.st_under {
  background: -moz-linear-gradient(top, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fff700', endColorstr='#fff700',GradientType=0 );
  /* IE6-9 */ }

.box {
  position: relative; }
  @media only screen and (min-width: 920px) {
    .box {
      padding: 2rem; } }
  @media only screen and (max-width: 919px) {
    .box {
      padding: 1.5rem 1rem; } }
  .box.box_01 {
    background-color: #e7f5fb; }
    .box.box_01:before {
      content: "check!";
      background-color: #1476af;
      color: #fff;
      line-height: 1;
      position: absolute;
      top: -.5rem;
      left: -.5rem;
      font-size: 16px;
      font-weight: bold;
      padding: .3rem;
      transform: rotateZ(-10deg); }
    .box.box_01 .box_title {
      color: #1476af;
      font-weight: bold; }

.anchor_nav {
  top: 50px;
  z-index: 10; }
  .anchor_nav ul {
    border-radius: 4px;
    transform-origin: 0 0;
    opacity: 0;
    transition: opacity 0.4s ease; }
    .anchor_nav ul li {
      background-color: #48C5F7;
      display: flex;
      align-items: center; }
      .anchor_nav ul li a {
        display: block;
        font-size: 14px;
        background-color: #48C5F7;
        padding: .8rem 1rem;
        box-sizing: border-box;
        text-decoration: none;
        color: #fff;
        line-height: 1; }
        .anchor_nav ul li a i {
          margin-right: .5rem; }
        .anchor_nav ul li a:hover {
          opacity: 0.5; }
  .anchor_nav.normal {
    margin-top: 50px; }
    .anchor_nav.normal ul {
      display: flex;
      position: static;
      justify-content: space-between;
      opacity: 1;
      transition: opacity 0.4s ease; }
      @media only screen and (min-width: 920px) {
        .anchor_nav.normal ul {
          width: 1000px;
          margin: 0 auto;
          padding: 0 1%;
          box-sizing: border-box; } }
      @media only screen and (max-width: 919px) {
        .anchor_nav.normal ul {
          width: 87.5%;
          margin: 0 auto;
          max-width: 640px; } }
      @media only screen and (max-width: 919px) {
        .anchor_nav.normal ul {
          flex-wrap: wrap; } }
      .anchor_nav.normal ul li {
        width: 100%;
        box-sizing: border-box; }
        @media only screen and (max-width: 919px) {
          .anchor_nav.normal ul li {
            flex-basis: 50%; } }
        .anchor_nav.normal ul li + li {
          border-left: 1px solid #19a5dc; }
        .anchor_nav.normal ul li a {
          width: 100%;
          text-align: center; }
  @media only screen and (min-width: 920px) {
    .anchor_nav.fixed {
      position: fixed; } }
  @media only screen and (min-width: 920px) {
    .anchor_nav.fixed ul {
      width: 240px;
      opacity: 1;
      margin: 0;
      padding: 0;
      display: block;
      transform-origin: 0 0; } }
  @media only screen and (min-width: 920px) {
    .anchor_nav.fixed ul li {
      display: block;
      width: 240px;
      padding: 0 1rem 0 0;
      box-sizing: border-box;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; } }
  .anchor_nav.fixed ul li br {
    display: none; }
  @media only screen and (min-width: 920px) {
    .anchor_nav.fixed ul li + li {
      margin-top: .5rem; } }
  .anchor_nav.fixed ul a {
    display: block; }

.pageArea .pageArea-item .pageArea-navi-number {
  text-align: center; }
  .pageArea .pageArea-item .pageArea-navi-number form {
    display: inline-block; }
  .pageArea .pageArea-item .pageArea-navi-number li {
    display: inline-block; }
    .pageArea .pageArea-item .pageArea-navi-number li a {
      text-decoration: none;
      color: #1476AF;
      display: block; }
      .pageArea .pageArea-item .pageArea-navi-number li a:hover {
        background-color: #1476AF;
        color: #fff; }
    .pageArea .pageArea-item .pageArea-navi-number li .pager_index {
      display: block;
      border: 1px solid #1476AF;
      text-align: center;
      width: 32px;
      height: 32px;
      line-height: 32px; }
      .pageArea .pageArea-item .pageArea-navi-number li .pager_index.nowpage {
        background-color: #1476AF;
        color: #fff; }

.pageArea .pageArea-item .pageArea-navi {
  margin-top: 1rem;
  text-align: center; }
  .pageArea .pageArea-item .pageArea-navi form {
    display: inline-block; }

.top .kv {
  background-color: #48C5F7; }
  @media only screen and (min-width: 920px) {
    .top .kv {
      height: 505px; } }
  @media only screen and (max-width: 919px) {
    .top .kv {
      padding-bottom: 34px; } }
  .top .kv .kv_inner {
    position: relative; }
    @media only screen and (min-width: 920px) {
      .top .kv .kv_inner {
        width: 1000px;
        margin: 0 auto;
        padding: 0 1%;
        box-sizing: border-box; } }
    @media only screen and (max-width: 919px) {
      .top .kv .kv_inner {
        width: 87.5%;
        margin: 0 auto;
        max-width: 640px; } }
    @media only screen and (min-width: 920px) {
      .top .kv .kv_inner {
        height: 100%; } }
    @media only screen and (min-width: 920px) {
      .top .kv .kv_inner .kv_catch {
        width: 452px;
        padding-top: 46px; } }
    @media only screen and (max-width: 919px) {
      .top .kv .kv_inner .kv_catch {
        padding-top: 27px; } }
    @media only screen and (min-width: 920px) {
      .top .kv .kv_inner .kv_comment {
        width: 408px;
        margin: 0 auto 0; } }
    @media only screen and (min-width: 920px) {
      .top .kv .kv_inner .kv_img_01 {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 597px; } }
    @media only screen and (max-width: 919px) {
      .top .kv .kv_inner .kv_img_01 {
        margin-top: 30px; } }
    @media only screen and (min-width: 920px) {
      .top .kv .kv_inner .kv_text_01 {
        padding-top: 26px;
        width: 330px; } }
    @media only screen and (max-width: 919px) {
      .top .kv .kv_inner .kv_text_01 {
        padding-top: 16px; } }
    .top .kv .kv_inner .kv_text_02 {
      color: #fff;
      position: relative;
      z-index: 2; }
      @media only screen and (min-width: 920px) {
        .top .kv .kv_inner .kv_text_02 {
          padding-top: 16px;
          font-size: 22px; } }
      @media only screen and (max-width: 919px) {
        .top .kv .kv_inner .kv_text_02 {
          padding-top: 10px;
          font-size: 18px; } }
    .top .kv .kv_inner .kv_points {
      display: flex;
      position: relative;
      z-index: 2;
      margin-top: 12px;
      justify-content: space-between; }
      @media only screen and (min-width: 920px) {
        .top .kv .kv_inner .kv_points {
          width: 730px; } }
      @media only screen and (max-width: 919px) {
        .top .kv .kv_inner .kv_points li {
          flex-basis: 32%; } }

.top .s01 {
  background-color: #EFF5F7; }
  @media only screen and (min-width: 920px) {
    .top .s01 {
      padding: 46px 0; } }
  @media only screen and (max-width: 919px) {
    .top .s01 .inner {
      width: 100%; } }
  @media only screen and (min-width: 920px) {
    .top .s01 ul {
      display: flex;
      justify-content: space-between; } }
  @media only screen and (min-width: 920px) {
    .top .s01 ul li {
      flex-basis: 32%; } }
  .top .s01 ul li a {
    text-decoration: none;
    text-align: center;
    line-height: 1; }
    @media only screen and (max-width: 919px) {
      .top .s01 ul li a {
        display: block;
        height: 54px;
        border-bottom: 1px solid #ccc;
        background: transparent linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 28%, #F1F1F1 100%) 0% 0% no-repeat padding-box; } }
    @media only screen and (max-width: 919px) {
      .top .s01 ul li a figure {
        display: flex;
        height: 100%;
        align-items: center;
        padding: 0 5%; } }
    @media only screen and (max-width: 919px) {
      .top .s01 ul li a figure img {
        display: block;
        flex-basis: 57px;
        width: 57px;
        margin-right: 1rem; } }
    .top .s01 ul li a figure figcaption {
      color: #187EBA;
      font-weight: bold; }
      @media only screen and (min-width: 920px) {
        .top .s01 ul li a figure figcaption {
          font-size: 25px;
          margin-top: 30px; } }
      @media only screen and (min-width: 920px) {
        .top .s01 ul li a figure figcaption .fa {
          margin-right: 18px; } }
      @media only screen and (max-width: 919px) {
        .top .s01 ul li a figure figcaption .fa {
          margin-right: 0.7rem; } }

.top .s02 {
  background-color: #48C5F7; }
  @media only screen and (min-width: 920px) {
    .top .s02 {
      padding: 90px 0 100px; } }
  @media only screen and (max-width: 919px) {
    .top .s02 {
      padding: 30px 0; } }
  .top .s02 .title {
    color: #fff;
    text-align: center; }
    @media only screen and (min-width: 920px) {
      .top .s02 .title {
        font-size: 42px;
        letter-spacing: .5rem; } }
    @media only screen and (max-width: 919px) {
      .top .s02 .title {
        font-size: 28px;
        letter-spacing: 0.2rem; } }
    .top .s02 .title:after {
      content: "";
      width: 24px;
      height: 4px;
      margin: 25px auto 0;
      display: block;
      background-color: #fff; }
  @media only screen and (min-width: 920px) {
    .top .s02 .points {
      display: flex;
      justify-content: space-between;
      margin-top: 84px; } }
  .top .s02 .points li {
    box-sizing: border-box;
    border: 5px dashed #fff;
    position: relative;
    text-align: center; }
    @media only screen and (min-width: 920px) {
      .top .s02 .points li {
        flex-basis: 310px;
        padding: 0 38px 25px; } }
    @media only screen and (max-width: 919px) {
      .top .s02 .points li {
        margin-top: calc(52px + 5%);
        padding: 0 38px 25px; } }
    .top .s02 .points li .num {
      color: #fff700;
      line-height: 1;
      font-weight: bold;
      display: inline-block;
      margin-top: -52px;
      text-align: center;
      background-color: #48C5F7; }
      @media only screen and (min-width: 920px) {
        .top .s02 .points li .num {
          font-size: 93px; } }
      @media only screen and (max-width: 919px) {
        .top .s02 .points li .num {
          font-size: 84px; } }
    .top .s02 .points li .catch {
      font-size: 55px;
      font-weight: bold;
      color: #fff700;
      text-align: center;
      line-height: 1;
      margin-top: 24px; }
    .top .s02 .points li .sub {
      font-size: 20px;
      text-align: center;
      font-weight: bold;
      color: #fff;
      margin-top: 50px;
      line-height: 1; }
    .top .s02 .points li .text {
      margin-top: 18px;
      color: #fff; }
    .top .s02 .points li.point_03 .catch {
      font-size: 45px;
      margin-top: 0; }
    .top .s02 .points li.point_03 .sub {
      margin-top: 38px; }
  .top .s02 .btn {
    text-align: center; }
    .top .s02 .btn a {
      display: inline-block;
      line-height: 1;
      border: 4px solid #fff;
      text-decoration: none;
      color: #fff;
      transition: all 0.4s ease; }
      @media only screen and (min-width: 920px) {
        .top .s02 .btn a {
          font-size: 27px;
          padding: 20px 30px;
          margin-top: 80px; } }
      @media only screen and (max-width: 919px) {
        .top .s02 .btn a {
          font-size: 16px;
          margin-top: 2rem;
          padding: 1rem; } }
      .top .s02 .btn a:hover {
        opacity: 0.5; }
      .top .s02 .btn a .fa {
        margin-right: .8rem; }

.top .s03 {
  background-color: #F5F5F5; }
  @media only screen and (min-width: 920px) {
    .top .s03 {
      padding: 90px 0 190px; } }
  @media only screen and (max-width: 919px) {
    .top .s03 {
      padding: 30px 0 90px; } }

.top .s04 {
  background-color: #FDFFCA; }
  @media only screen and (min-width: 920px) {
    .top .s04 {
      padding: 0 0 80px; } }
  @media only screen and (max-width: 919px) {
    .top .s04 {
      padding: 0 0 50px; } }
  @media only screen and (min-width: 920px) {
    .top .s04 .inner {
      width: 1000px;
      margin: 0 auto;
      padding: 0 1%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 919px) {
    .top .s04 .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  .top .s04 .area_box {
    position: relative; }
    @media only screen and (min-width: 920px) {
      .top .s04 .area_box .area_box_inner {
        padding: 0 10% 0 10%; } }
    @media only screen and (max-width: 919px) {
      .top .s04 .area_box .area_box_inner {
        padding: 0 10% 0 10%; } }
  .top .s04 .default_ttl {
    margin: 0 auto;
    position: relative;
    line-height: 1;
    background-color: #48C5F7;
    color: #fff; }
    @media only screen and (min-width: 920px) {
      .top .s04 .default_ttl {
        width: 400px;
        font-size: 48px;
        padding: 2rem 0;
        top: -60px;
        margin-bottom: -60px; } }
    @media only screen and (max-width: 919px) {
      .top .s04 .default_ttl {
        font-size: 32px;
        padding: 1.5rem 0;
        top: -48px;
        margin-bottom: -48px; } }
    .top .s04 .default_ttl:after {
      display: none; }
    .top .s04 .default_ttl .caption {
      color: #F6FF00;
      display: block;
      line-height: 1;
      vertical-align: middle; }
      @media only screen and (min-width: 920px) {
        .top .s04 .default_ttl .caption {
          font-size: 24px; } }
      @media only screen and (max-width: 919px) {
        .top .s04 .default_ttl .caption {
          font-size: 18px; } }
      .top .s04 .default_ttl .caption:before {
        content: "";
        display: inline-block;
        height: 18px;
        width: 4px;
        transform: rotateZ(-15deg);
        background-color: #F6FF00;
        vertical-align: middle;
        margin-right: 1rem;
        line-height: 1; }
      .top .s04 .default_ttl .caption:after {
        content: "";
        display: inline-block;
        height: 18px;
        width: 4px;
        vertical-align: middle;
        transform: rotateZ(15deg);
        background-color: #F6FF00;
        margin-left: .5em;
        line-height: 1; }
    .top .s04 .default_ttl .title {
      display: block;
      line-height: 1; }
  @media only screen and (min-width: 920px) {
    .top .s04 .area_list {
      display: flex;
      align-items: center;
      margin-top: 4rem; } }
  @media only screen and (max-width: 919px) {
    .top .s04 .area_list {
      margin-top: 2rem; } }
  .top .s04 .area_list + .area_list {
    margin-top: 1rem; }
  .top .s04 .area_list dt {
    font-size: 24px;
    font-weight: bold;
    color: #0089FF;
    flex-basis: 30%; }
    .top .s04 .area_list dt:before {
      content: "・";
      margin-right: .5rem; }
  .top .s04 .area_list dd {
    font-size: 24px;
    font-weight: bold; }
  .top .s04 .area_caution {
    margin-top: 2rem; }
    @media only screen and (min-width: 920px) {
      .top .s04 .area_caution {
        font-size: 20px; } }
    @media only screen and (max-width: 919px) {
      .top .s04 .area_caution {
        font-size: 18px; } }
    .top .s04 .area_caution strong {
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fff700+0,fff700+97,fff700+100&0+0,0+96,0+96,1+97,1+100 */
      background: -moz-linear-gradient(top, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fff700', endColorstr='#fff700',GradientType=0 );
      /* IE6-9 */ }

@media only screen and (min-width: 920px) {
  .top .s05 {
    padding-top: 100px; } }

@media only screen and (max-width: 919px) {
  .top .s05 {
    margin-top: 3rem; } }

@media only screen and (min-width: 920px) {
  .top .s05 .article_list {
    display: flex; } }

@media only screen and (max-width: 919px) {
  .top .s05 .article_list {
    margin-top: 2rem; } }

@media only screen and (min-width: 920px) {
  .top .s05 .article_list li {
    padding-top: 62px;
    flex-basis: 320px;
    margin-right: 20px; } }

@media only screen and (max-width: 919px) {
  .top .s05 .article_list li + li {
    margin-top: 2rem; } }

.top .s05 .article_list li:nth-child(3n) {
  margin-right: 0; }

.top .s05 .article_list li figure {
  margin-bottom: 1rem;
  position: relative;
  width: 100%;
  padding-top: 66.34615%;
  overflow: hidden; }
  .top .s05 .article_list li figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }

.top .s05 .article_list li .date {
  display: block;
  font-size: 14px;
  line-height: 1; }

.top .s05 .article_list li .title {
  font-weight: bold;
  line-height: 1;
  margin-top: .8rem; }

.top .s05 .article_list li .excerpt {
  font-size: 14px;
  color: #666;
  margin-top: .4rem; }

.top .s05 .article_list li a {
  text-decoration: none; }

@media only screen and (min-width: 920px) {
  .reason .s01 .inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0 1%;
    box-sizing: border-box; } }

@media only screen and (max-width: 919px) {
  .reason .s01 .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 920px) {
  .reason .s01 .unit_01 > ul {
    display: flex;
    flex-wrap: wrap; } }

.reason .s01 .unit_01 > ul > li {
  padding: 20px;
  box-sizing: border-box;
  border: 4px solid #f0f0f0;
  border-radius: 4px; }
  @media only screen and (min-width: 920px) {
    .reason .s01 .unit_01 > ul > li {
      flex-basis: 32%;
      margin: 1rem 2% 0 0; } }
  @media only screen and (max-width: 919px) {
    .reason .s01 .unit_01 > ul > li {
      margin-top: 1rem; } }
  .reason .s01 .unit_01 > ul > li:nth-child(3n) {
    margin-right: 0; }
  .reason .s01 .unit_01 > ul > li .num {
    font-size: 48px;
    line-height: 1;
    text-align: center;
    font-style: italic;
    color: #48C5F7; }
  .reason .s01 .unit_01 > ul > li h4 {
    font-weight: bold;
    text-align: center;
    margin-top: 2rem;
    color: #48C5F7; }
  .reason .s01 .unit_01 > ul > li .text {
    margin-top: 1rem;
    font-size: 16px; }
    .reason .s01 .unit_01 > ul > li .text p + p {
      margin-top: 1rem; }
    .reason .s01 .unit_01 > ul > li .text .area li strong {
      background: -moz-linear-gradient(top, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, rgba(255, 247, 0, 0) 0%, rgba(255, 247, 0, 0) 50%, #fff700 50%, #fff700 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fff700', endColorstr='#fff700',GradientType=0 );
      /* IE6-9 */ }

.reason .s02 .link_01 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem; }
  .reason .s02 .link_01 li {
    margin-top: 1rem;
    background-color: #fff;
    box-sizing: border-box;
    margin-right: 2%; }
    @media only screen and (min-width: 920px) {
      .reason .s02 .link_01 li {
        flex-basis: 32%; }
        .reason .s02 .link_01 li:nth-child(3n) {
          margin-right: 0; } }
    @media only screen and (max-width: 919px) {
      .reason .s02 .link_01 li {
        flex-basis: 48%; }
        .reason .s02 .link_01 li:nth-child(2n) {
          margin-right: 0; } }
    .reason .s02 .link_01 li a {
      display: block;
      text-decoration: none;
      line-height: 1;
      text-align: center;
      padding: 1rem;
      color: #1982BF;
      border: 1px solid #1982BF; }
      .reason .s02 .link_01 li a .fa {
        margin-right: .3rem; }
      .reason .s02 .link_01 li a:hover {
        background-color: #1982BF;
        color: #fff; }

.reason .s03 .inner .unit_01 .text p + p {
  margin-top: 1.5rem; }

@media only screen and (min-width: 920px) {
  .reason .s04 .company_table th {
    width: 30%; } }

.flow .s01 .unit_01 .telbox .btn_mail a {
  padding: 1rem 10px;
  height: auto; }
  .flow .s01 .unit_01 .telbox .btn_mail a .fas {
    font-size: 24px; }
  .flow .s01 .unit_01 .telbox .btn_mail a .text {
    margin-top: 0; }
    .flow .s01 .unit_01 .telbox .btn_mail a .text .label {
      font-size: 18px; }

.flow .s01 .unit_01 .telbox .tel {
  font-size: 32px; }
  .flow .s01 .unit_01 .telbox .tel a {
    color: #014ea0;
    line-height: 1;
    display: block;
    text-decoration: none;
    font-weight: bold; }

.flow .s01 .unit_01 .telbox .caption {
  font-size: 14px; }

.flow .s01 .unit_01 > ul > li {
  border: 4px solid #efefef;
  position: relative; }
  @media only screen and (min-width: 920px) {
    .flow .s01 .unit_01 > ul > li + li {
      margin-top: 50px; } }
  @media only screen and (max-width: 919px) {
    .flow .s01 .unit_01 > ul > li + li {
      margin-top: 2rem; } }
  @media only screen and (min-width: 920px) {
    .flow .s01 .unit_01 > ul > li {
      padding: 20px 30px; } }
  @media only screen and (max-width: 919px) {
    .flow .s01 .unit_01 > ul > li {
      padding: 1rem; } }
  .flow .s01 .unit_01 > ul > li .num {
    line-height: 1;
    color: #48C5F7;
    display: inline-block;
    background-color: #48C5F7;
    color: #fff;
    text-align: center;
    font-weight: normal; }
    @media only screen and (min-width: 920px) {
      .flow .s01 .unit_01 > ul > li .num {
        width: 32px;
        height: 32px;
        line-height: 32px;
        border-radius: 32px;
        font-size: 16px;
        margin-right: 1rem; } }
    @media only screen and (max-width: 919px) {
      .flow .s01 .unit_01 > ul > li .num {
        width: 24px;
        height: 24px;
        line-height: 24px;
        border-radius: 24px;
        margin-right: .5rem; } }
  .flow .s01 .unit_01 > ul > li h4 {
    color: #48C5F7;
    padding-bottom: .5rem;
    font-weight: bold;
    border-bottom: 2px solid #48C5F7; }
    @media only screen and (min-width: 920px) {
      .flow .s01 .unit_01 > ul > li h4 {
        font-size: 24px; } }
  .flow .s01 .unit_01 > ul > li .text {
    margin-top: 1rem; }
  .flow .s01 .unit_01 > ul > li h5 {
    background-color: #48C5F7;
    color: #fff;
    font-weight: bold;
    padding: .5rem 1rem;
    border-radius: 4px; }
  .flow .s01 .unit_01 > ul > li h6 {
    color: #48C5F7; }

@media only screen and (min-width: 920px) {
  .service .unit_01.two_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }

.service .unit_01 .img {
  flex-basis: 48%; }

.service .unit_01 .text {
  flex-basis: 48%; }
  .service .unit_01 .text p + p {
    margin-top: 1rem; }

.service .s04 .unit_01 .img {
  flex-basis: 35%; }

.service .s04 .unit_01 .text {
  flex-basis: 60%; }

.service .s05 .unit_01 .img {
  flex-basis: 35%; }

.service .s05 .unit_01 .text {
  flex-basis: 60%; }

.service .unit_service_flow ol {
  counter-reset: li; }
  .service .unit_service_flow ol li:last-child:after {
    display: none; }
  .service .unit_service_flow ol li + li {
    margin-top: 20px; }
  .service .unit_service_flow ol li .flow_inner {
    padding-bottom: 20px; }
    @media only screen and (min-width: 920px) {
      .service .unit_service_flow ol li .flow_inner {
        display: flex;
        justify-content: space-between; } }
  .service .unit_service_flow ol li .flow_title {
    background-color: #E8F8FF;
    flex-basis: 28%;
    border: 1px solid #b1e4fb;
    padding: 1rem 1rem;
    font-weight: bold; }
    .service .unit_service_flow ol li .flow_title:before {
      display: inline;
      margin-right: .25em;
      counter-increment: li;
      /* ol_li カウンタの値に1加える */
      content: counter(li) ".";
      /* before擬似要素のcontentで出力 */
      color: #48C5F7;
      /* 色を変更 */ }
  .service .unit_service_flow ol li .flow_text {
    border: 1px solid #b1e4fb;
    flex-basis: 68%;
    box-sizing: border-box;
    padding: 1rem 1rem; }
  .service .unit_service_flow ol li:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 0;
    border-top: 20px solid #a3e3ff;
    border-right: 30px solid transparent;
    border-bottom: 0 solid transparent;
    border-left: 30px solid transparent; }

.service .s05 .box .list_01 {
  display: flex;
  flex-wrap: wrap; }
  .service .s05 .box .list_01 li {
    flex-basis: 33%;
    box-sizing: border-box; }

.faq .faq_box {
  border: 4px solid #e0f5ff;
  box-shadow: 0 0 0 1px #48C5F7;
  padding: 1rem 2rem;
  margin-top: 2rem; }
  .faq .faq_box .faq_title {
    align-items: center;
    color: #48C5F7;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: .8rem;
    border-bottom: 1px solid #48C5F7; }
    .faq .faq_box .faq_title h3 {
      padding-left: 3rem; }
    .faq .faq_box .faq_title:before {
      content: "Q";
      width: 32px;
      height: 32px;
      display: block;
      position: absolute;
      line-height: 1;
      text-align: center;
      background-color: #1982bf;
      color: #fff;
      border-radius: 24px;
      line-height: 32px;
      margin-right: 1rem; }
  .faq .faq_box .faq_content {
    padding: 0 0 0 44px;
    position: relative;
    margin-top: 1rem; }
    .faq .faq_box .faq_content:before {
      content: "A";
      width: 32px;
      height: 32px;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      background-color: #ff7c00;
      color: #fff;
      border-radius: 24px;
      line-height: 32px;
      font-size: 24px;
      text-align: center; }

.cost .s02 table th {
  width: 40%; }

/*  お知らせ
------------------------------------------------------------*/
.news .news_area {
  background-color: #e8f8ff;
  margin-top: 2rem; }
  @media only screen and (min-width: 920px) {
    .news .news_area {
      padding: 50px 80px;
      margin-bottom: 50px;
      margin: 30px auto; } }
  @media only screen and (max-width: 919px) {
    .news .news_area {
      padding: 2rem;
      margin-bottom: 2rem; } }

.news p.day {
  font-size: 0.9rem;
  font-weight: 900;
  margin-bottom: 0;
  text-align: left;
  /* padding-top: 10px; */
  padding-bottom: 10px; }

.news p.ttl {
  font-size: 1.3rem;
  font-weight: 900;
  padding-bottom: 10px;
  text-align: left; }
  .news p.ttl::after {
    content: '';
    display: block;
    background: #48C5F7;
    height: 3px;
    width: 10%;
    margin-top: 10px; }

.news p.item-image {
  text-align: center;
  padding: 20px 0px; }
  @media only screen and (min-width: 920px) {
    .news p.item-image img {
      width: 600px;
      height: 350px;
      object-fit: cover;
      border-radius: 20px; } }

.news .topicsText {
  line-height: 2rem;
  text-align: left;
  font-size: 1rem;
  padding-top: 10px; }

.news .pdf li {
  margin-bottom: 10px;
  height: 40px;
  border: 1px solid #808080;
  background: #fff;
  zoom: 1;
  overflow: hidden;
  text-align: left;
  position: relative; }
  .news .pdf li span {
    line-height: 2.5rem;
    font-size: 0.8rem;
    padding: 0px 10px;
    display: inline-block;
    vertical-align: top; }
  .news .pdf li img {
    position: absolute;
    right: 0;
    vertical-align: bottom;
    max-width: 100%;
    width: auto;
    height: auto; }

.contact .s01 .telbox .tel a {
  text-decoration: none;
  color: #014ea0;
  font-weight: bold;
  display: block;
  line-height: 1; }
  @media only screen and (min-width: 920px) {
    .contact .s01 .telbox .tel a {
      font-size: 48px; } }
  @media only screen and (max-width: 919px) {
    .contact .s01 .telbox .tel a {
      font-size: 26px; } }

.contact .s01 .telbox .caption {
  font-size: 14px; }

.contact .btns {
  text-align: center; }
  .contact .btns li {
    display: inline-block; }
    .contact .btns li.submit input[type=submit] {
      border: none;
      width: 100%;
      white-space: normal;
      box-sizing: border-box;
      font-size: 24px;
      border-radius: 3px;
      line-height: 1;
      padding: 1rem 3rem;
      font-weight: bold;
      display: block;
      background: transparent linear-gradient(180deg, #FFAA00 0%, #FF9100 100%) 0% 0% no-repeat;
      color: #fff; }

.guide .text p + p, .privacy .text p + p {
  margin-top: 1rem; }

.drawer-menu {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: 0;
  width: 300px;
  height: 100%;
  padding: 20px 0;
  background: #222;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .5s;
  transition-duration: .5s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: perspective(500px) rotateY(-90deg);
  transform: perspective(500px) rotateY(-90deg);
  opacity: 0; }
  .drawer-menu dl#js_togglelist {
    text-align: left;
    color: #fff; }
    .drawer-menu dl#js_togglelist dt {
      color: #fff;
      cursor: pointer;
      text-align: left;
      xpadding: 0;
      color: #fff;
      border-style: dotted;
      border-width: 1px 0 0 0;
      border-color: #666; }
      .drawer-menu dl#js_togglelist dt:last-child {
        border-width: 1px 0; }
      .drawer-menu dl#js_togglelist dt a {
        xbackground-color: rgba(255, 255, 255, 0.1); }
      .drawer-menu dl#js_togglelist dt span {
        font-size: 80%; }
    .drawer-menu dl#js_togglelist dd {
      display: none; }
  .drawer-menu li {
    text-align: left; }
    .drawer-menu li a {
      x-webkit-xtransition: all .8s;
      xtransition: all .8s; }
      .drawer-menu li a:hover {
        xcolor: #1a1e24;
        xbackground: #fff; }
  .drawer-menu .mob-menu {
    font-size: 80%;
    font-weight: bold;
    padding: 20px 20px 0 20px; }
    .drawer-menu .mob-menu > li {
      text-align: left;
      padding: 10px 0;
      color: #fff;
      border-style: dotted;
      border-width: 1px 0 0 0;
      border-color: #666; }
      .drawer-menu .mob-menu > li:last-child {
        border-width: 1px 0 0 0; }
    .drawer-menu .mob-menu a:link {
      width: 100%;
      color: #fff;
      -webkit-transition: all .8s;
      transition: all .8s;
      display: block; }
    .drawer-menu .mob-menu a:visited {
      color: #fff; }
    .drawer-menu .mob-menu a:hover {
      color: #fff; }
  .drawer-menu > .mob-menu i {
    color: #a2dc20; }
    .drawer-menu > .mob-menu i.drawer-anker {
      color: #ffc451; }
  .drawer-menu ul.drawer-menu-sub {
    padding: 10px 0;
    xmargin: 0 0 0 1.5em;
    margin: 0 0 0 0.8em; }
  .drawer-menu > ul > li {
    border-bottom: 1px solid #ccc; }
    .drawer-menu > ul > li > a {
      text-decoration: none;
      color: #fff;
      display: block;
      padding: .5rem 1rem; }
      .drawer-menu > ul > li > a i {
        margin-right: .5rem; }

/* ------------------------------------------------ checkbox */
.check {
  display: none; }

/* ------------------------------------------------ menu button */
.menu-btn {
  position: absolute;
  position: fixed;
  top: 25px;
  right: 5%;
  line-height: 1;
  width: 42px;
  height: 42px;
  text-align: center;
  cursor: pointer;
  z-index: 9999;
  background: #1476AF;
  padding: 11px 0;
  box-sizing: border-box;
  /* box-sizingリセット */
  transform: translateZ(0); }
  .menu-btn .menu-btn__text {
    position: absolute;
    font-size: 10px;
    font-weight: bold;
    bottom: -2px;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    -webkit-transition: all .5s;
    transition: all .5s;
    display: block;
    visibility: visible;
    opacity: 1; }
  .menu-btn:hover .bar {
    background: #ffffff;
    xbackground: #999; }
  .menu-btn:hover .menu-btn__text {
    color: #ffffff;
    xcolor: #999; }

.bar {
  display: block;
  width: 28px;
  margin: 0 auto;
  height: 3px;
  background: #fff;
  -webkit-transition: all .5s;
  transition: all .5s;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }
  .bar.middle {
    opacity: 1;
    margin: 5px auto; }
  .bar.bottom {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom; }

.close-menu {
  position: fixed;
  top: 0;
  right: 300px;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0);
  cursor: url(/images/cross.svg), auto;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  visibility: hidden;
  opacity: 0; }

/* ------------------------------------------------ checked */
.check:checked ~ .drawer-menu {
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  opacity: 1;
  z-index: 9990; }

.check:checked ~ .menu-btn {
  background: transparent;
  position: fixed; }

.check:checked ~ .menu-btn .menu-btn__text {
  visibility: hidden;
  opacity: 0; }

.check:checked ~ .menu-btn .bar.top {
  width: 35px;
  margin: 0px 6px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.check:checked ~ .menu-btn .bar.middle {
  opacity: 0; }

.check:checked ~ .menu-btn .bar.bottom {
  width: 35px;
  xtop: 40px;
  xtop: 24px;
  margin: 13px 6px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.check:checked ~ .close-menu {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
  background: rgba(0, 0, 0, 0.5);
  visibility: visible;
  opacity: 1;
  z-index: 9990; }
