/* ----------------------------
reset
------------------------------- */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
legend,
pre,
blockquote {
    margin: 0px;
    padding: 0px;
}

ul,
li {
    list-style: none;
}

img {
    margin: 0px;
    padding: 0px;
    border: 0px;
    vertical-align: top;
}

html {
    font-size: 62.5%;
}

body {
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Meiryo",
        sans-serif;
    font-size: 1.8rem;
    color: #000000;
    -webkit-text-size-adjust: 100%;
    background-color: #ffffff;
    text-align: left;
}

a img {
    margin: 0;
    padding: 0;
    border-style: none;
}

a,
a:link {
    text-decoration: none;
}

.btn-wrap a:hover {
    opacity: 0.8;
  }


/* 共通 */
.banner_pc {
    display: block;
}

.banner_sp {
    display: none;
}

.banner_pc1 {
    display: block;
}

.banner_sp1 {
    display: none;
}

.pcbr {
    display: inline;
}

.pcbr1 {
    display: inline;
}

.spbr {
    display: none;
}

.spbr1 {
    display: none;
}

#wrapper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
    text-align: center;
}
/* footer */
.f_navi_bg{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	text-decoration: none;
	padding-top:30px; 
}

.f_navi {
	text-decoration: none;
	margin:0 auto;
	padding: 30px ;
	display: inline-block;
	text-align:left;
	
}
.company{
	color: #333333;
	text-decoration: none;
	font-weight: normal;
	font-size: 18px;
}

.footerMain{
	max-width: 800px;
	text-align: left;
	margin: 0 auto;
	font-size: 14.4px;
}

.footerBottom{
	text-align: center;
	padding: 10px;
	font-size: 14.4px;
}
.footer_width {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}
@media screen and (max-width: 1080px) {
.f_navi {
}
.company::after{
 content:"\A";
 white-space:pre;
}
	
.footerMain{
	width: 90%;
}
}
/* fix_button */

.fix_button {
    position: fixed;
    z-index: 99999; 
    bottom: 0;
    right: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #01325d;
  }

  .fix_button img {
    max-width: 100%;
  }

  .fix_button a img{
    position:relative;
	top:0;
  }

  .fix_button a img:hover {
    top:10px;
	transition:0.3s;
  }

  .pagetop {
    display: none;
    position: fixed;
    bottom: 200px;
    right: 15px;
    z-index: 200;
  }
  .pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #04325b;
    font-size: 15px;
    text-decoration: none;
    padding: 15px 17px;
  filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
    border-radius: 50%;
  }
  .pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    padding:15px 17px;
  filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
  }
  .contents_cat {
      width: 1000px;
      margin: 0 auto;
      padding: 30px 0;
  }
  .contents_in {
      width: 960px;
      margin: 0 auto;
      padding: 30px 20px;
      background-color: #ffffff;
  }
  .contents_title{
      text-align: center;
      border-top: 5px solid #000;
      background-color: #c4c4c4;
      color: #000;
      font-weight: bold;
      font-size: 1.4em;
      padding: 10px 10px 10px 30px;
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  }
  
  .font_ss a[href^="tel:"] {
      color:#000;
      text-decoration: none;
      pointer-events: none;
  }

  /* カテゴリーテーブル */
  .contents_in2 {
      width: 92%;
      margin: 0 auto;
      padding: 30px 40px;
      background-color: #ffffff;
  }

  .cat_table {
      display: flex;
      padding: 30px 20px;
      border-bottom: 1px solid #b0b0b0;
  }

  .cat_table_title {
      width: 30%;
      text-align: center;
      font-size: 1.1em;
      font-weight: bold;
  }

  .cat_table_text {
      width: 70%;
      padding: 0px 20px;
  }

  .cat_table_text a[href^="tel:"] {
      color:#000;
      text-decoration: none;
      pointer-events: none;
  }
/*ここからタブレット用（600px～1120px）環境の設定
---------------------------------------------------------------------------*/
@media (min-width:600px) and (max-width:1120px) {
    body {
        font-size: 1.6rem;
        line-height: 1.7;
        background-image: none;
    }

    /* 共通 */
    #wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .banner_pc {
        display: none;
    }

    .banner_pc1 {
        display: block;
    }

    .banner_sp1 {
        display: none;
    }

     .banner_sp {
        display: block;
    }

    .pcbr {
        display: inline;
    }

    .pcbr1 {
        display: none;
    }

    .spbr {
        display: block;
    }

    .spbr1 {
        display: none;
    }
    /* fix_button */

    .fix_button {
        position: fixed;
        z-index: 99999; 
        bottom: 0;
        right: 0;
        width: 100%;
        display: flex;
        justify-content: center;
      }
    
      .fix_button img {
        width: 100%;
      }
    
      .fix_button a img{
        position:relative;
        top:0;
      }
    
      .fix_button a img:hover {
        top:10px;
        transition:0.3s;
      }
    
      .pagetop {
        display: none;
        position: fixed;
        bottom: 200px;
        right: 15px;
      }
      .pagetop a {
        display: block;
        background-color: #ccc;
        text-align: center;
        color: #04325b;
        font-size: 15px;
        text-decoration: none;
        padding: 12px 17px;
      filter:alpha(opacity=80);
        -moz-opacity: 0.8;
        opacity: 0.8;
      }
      .pagetop a:hover {
        display: block;
        background-color: #b2d1fb;
        text-align: center;
        color: #fff;
        font-size: 15px;
        text-decoration: none;
        padding: 12px 17px;
      filter:alpha(opacity=80);
        -moz-opacity: 0.8;
        opacity: 0.8;
      }

      .contents_title{
          font-size: 1.3em;
      }

      .contents_cat {
          width: 96%;
          margin: 0 auto;
          padding: 30px 0;
      }

      .contents_in {
          width: 96%;
          margin: 0 auto;
          padding: 30px 10px;
      }
      /* カテゴリーテーブル */

      .cat_table {
          display: block;
          padding: 30px 20px;
          border-bottom: 1px solid #b0b0b0;
      }

      .cat_table_title {
          width: 100%;
          text-align: left;
          font-size: 1.1em;
          font-weight: bold;
          padding: 0 0 20px 0;
      }

      .cat_table_text {
          width: 100%;
          padding: 0;
      }
}

/*ここからスマートフォン用（599px以下）環境の設定
---------------------------------------------------------------------------*/
@media only screen and (max-width:599px) {
    body {
        font-size: 1.4rem;
        background-image: none;
        line-height: 1.7;
        margin: 0 auto 0;
    }

    /* 共通 */
    #wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .banner_pc {
        display: none;
    }

    .banner_sp {
        display: block;
    }

    .banner_pc1 {
        display: none;
    }

    .banner_sp1 {
        display: block;
    }

    .pcbr {
        display: none;
    }

    .pcbr1 {
        display: none;
    }

    .spbr {
        display: inline;
    }

    .spbr1 {
        display: inline;
    }


  
  input#check{
    opacity: 0;
    visibility: hidden;
    position: absolute;
  }
    /* fix_button */

    .fix_button {
        position: fixed;
        z-index: 99999; 
        bottom: 0;
        right: 0;
        width: 100%;
        display: flex;
        justify-content: center;
      }
    
      .fix_button img {
        max-width: 100%;
      }
    
      .fix_button a img{
        position:relative;
        top:0;
      }
    
      .fix_button a img:hover {
        top:10px;
        transition:0.3s;
      }
    
      .pagetop {
        display: none;
        position: fixed;
        bottom: 100px;
        right: 15px;
      }
      .pagetop a {
        display: block;
        background-color: #ccc;
        text-align: center;
        color: #3a59a0;
        font-size: 12px;
        text-decoration: none;
        padding: 10px 14px;
      filter:alpha(opacity=80);
        -moz-opacity: 0.8;
        opacity: 0.8;
      }
      .pagetop a:hover {
        display: block;
        background-color: #3a59a0;
        text-align: center;
        color: #fff;
        font-size: 12px;
        text-decoration: none;
        padding: 10px 14px;
      filter:alpha(opacity=80);
        -moz-opacity: 0.8;
        opacity: 0.8;
      }

      .contents_cat {
          width: 96%;
          margin: 0 auto;
          padding: 5vw 0 0;
      }

      .contents_in {
          width: 96%;
          margin: 0 auto;
          padding: 30px 0;
          background-color: #ffffff;
      }

      .contents_title{
          font-size: 3vw;
      }

      .contents_in2 {
          width: 96%;
          margin: 0 auto;
          padding: 30px 10px;
          background-color: #ffffff;
      }

      .cat_table {
          display: block;
          padding: 30px 20px;
          border-bottom: 1px solid #b0b0b0;
      }

      .cat_table_title {
          width: 100%;
          text-align: left;
          font-size: 1.1em;
          font-weight: bold;
          padding: 0 0 20px 0;
      }

      .cat_table_text {
          width: 100%;
          padding: 0;
      }

      .table-contact {
          border-collapse: collapse;
          width: 90%;
          margin: 10px 0 10px;
      }
}


/*************************************************************
【marginの設定】
*************************************************************/
.m0 {
    margin: 0 !important
}

.mt0 {
    margin-top: 0 !important
}

.mr0 {
    margin-right: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.ml0 {
    margin-left: 0 !important
}

.m5 {
    margin: 5px !important
}

.mt5 {
    margin-top: 5px !important
}

.mr5 {
    margin-right: 5px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.ml5 {
    margin-left: 5px !important
}

.m10 {
    margin: 10px !important
}

.mt10 {
    margin-top: 10px !important
}

.mr10 {
    margin-right: 10px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.ml10 {
    margin-left: 10px !important
}

.m15 {
    margin: 15px !important
}

.mt15 {
    margin-top: 15px !important
}

.mr15 {
    margin-right: 15px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.ml15 {
    margin-left: 15px !important
}

.m20 {
    margin: 20px !important
}

.mt20 {
    margin-top: 20px !important
}

.mr20 {
    margin-right: 20px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.ml20 {
    margin-left: 20px !important
}

.m25 {
    margin: 25px !important
}

.mt25 {
    margin-top: 25px !important
}

.mr25 {
    margin-right: 25px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.ml25 {
    margin-left: 25px !important
}

.m30 {
    margin: 30px !important
}

.mt30 {
    margin-top: 30px !important
}

.mr30 {
    margin-right: 30px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.ml30 {
    margin-left: 30px !important
}

.m35 {
    margin: 35px !important
}

.mt35 {
    margin-top: 35px !important
}

.mr35 {
    margin-right: 35px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.ml35 {
    margin-left: 35px !important
}

.m40 {
    margin: 40px !important
}

.mt40 {
    margin-top: 40px !important
}

.mr40 {
    margin-right: 40px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.ml40 {
    margin-left: 40px !important
}

.m45 {
    margin: 45px !important
}

.mt45 {
    margin-top: 45px !important
}

.mr45 {
    margin-right: 45px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.ml45 {
    margin-left: 45px !important
}

.m50 {
    margin: 50px !important
}

.mt50 {
    margin-top: 50px !important
}

.mr50 {
    margin-right: 50px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.ml50 {
    margin-left: 50px !important
}

.m55 {
    margin: 55px !important
}

.mt55 {
    margin-top: 55px !important
}

.mr55 {
    margin-right: 55px !important
}

.mb55 {
    margin-bottom: 55px !important
}

.ml55 {
    margin-left: 55px !important
}

.m60 {
    margin: 60px !important
}

.mt60 {
    margin-top: 60px !important
}

.mr60 {
    margin-right: 60px !important
}

.mb60 {
    margin-bottom: 60px !important
}

.ml60 {
    margin-left: 60px !important
}

.m65 {
    margin: 65px !important
}

.mt65 {
    margin-top: 65px !important
}

.mr65 {
    margin-right: 65px !important
}

.mb65 {
    margin-bottom: 65px !important
}

.ml65 {
    margin-left: 65px !important
}

.m70 {
    margin: 70px !important
}

.mr70 {
    margin-right: 70px !important
}

.mb70 {
    margin-bottom: 70px !important
}

.ml70 {
    margin-left: 70px !important
}

.m75 {
    margin: 75px !important
}

.mt75 {
    margin-top: 75px !important
}

.mr75 {
    margin-right: 75px !important
}

.mb75 {
    margin-bottom: 75px !important
}

.ml75 {
    margin-left: 75px !important
}

.m80 {
    margin: 80px !important
}

.mt80 {
    margin-top: 80px !important
}

.mr80 {
    margin-right: 80px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.ml80 {
    margin-left: 80px !important
}


.mlrb30 {
    margin: 10px 30px 30px !important
}

.ml90 {
    margin-left: 90px !important
}

/**************************************************************
【paddingの設定】
**************************************************************/
.p0 {
    padding: 0 !important
}

.pt0 {
    padding-top: 0 !important
}

.pr0 {
    padding-right: 0 !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pl0 {
    padding-left: 0 !important
}

.p5 {
    padding: 5px !important
}

.pt5 {
    padding-top: 5px !important
}

.pr5 {
    padding-right: 5px !important
}

.pb5 {
    padding-bottom: 5px !important
}

.pl5 {
    padding-left: 5px !important
}

.p10 {
    padding: 10px !important
}

.pt10 {
    padding-top: 10px !important
}

.pr10 {
    padding-right: 10px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pl10 {
    padding-left: 10px !important
}

.p20 {
    padding: 20px !important
}

.pt20 {
    padding-top: 20px !important
}

.pr20 {
    padding-right: 20px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pl20 {
    padding-left: 20px !important
}

.p30 {
    padding: 30px !important
}

.p4050 {
    padding: 40px 50px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pb80 {
    padding-bottom: 80px !important
}

/**************************************************************
【widthの設定】
**************************************************************/
.w50 {
    width: 50px;
}

.w100 {
    width: 100px;
}

.w130 {
    width: 130px;
}

.w180 {
    width: 180px;
}

.w200 {
    width: 200px;
}

.w220 {
    width: 220px;
}

.w250 {
    width: 250px;
}

.w350 {
    width: 350px;
}

.w400 {
    width: 400px;
}

.w450 {
    width: 450px;
}

.w500 {
    width: 500px;
}

.w600 {
    width: 600px;
}

.w700 {
    width: 700px;
}

.w710 {
    width: 710px;
}

.w876 {
    width: 876px;
}

/**************************************************************
【heightの設定】
**************************************************************/
.h10 {
    height: 10px;
}

.h30 {
    height: 30px;
}

.h100 {
    height: 100px;
}

.h200 {
    height: 200px;
}


/**************************************************************
【配置設定】
**************************************************************/
.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.f_left {
    float: left;
}

.f_right {
    float: right;
}

/**************************************************************
【文字装飾】
**************************************************************/
.red1 {
    color: #FF0000;
}

/*明るい赤 */
.red2 {
    color: #c62726;
}

/*暗い赤 */
.red1_b {
    color: #F00;
    font-weight: bold;
}

/*太字・明るい赤 */
.red2_b {
    color: #d13938;
    font-weight: bold;
}

/*太字・暗い赤 */
.whe {
    color: #00F;
}

/*青 */
.bl {
    color: #254BDD;
}

/*青 */
.or {
    color: #FF9739;
}

/*オレンジ */
.blk {
    color: #000;
}

/*黒 */
.gr {
    color: #999;
}

/*グレー */
.grn {
    color: #50A810;
}

/*みどり */
.pk {
    color: #FE48DA;
}

/*ピンク */
.gld {
    color: #d5b876;
}

/*ゴールド */
.pp {
    color: #8A37BC;
}

/*むらさき */
.underline {
    text-decoration: underline;
}

/*アンダーライン */
strong {
    font-weight: bold;
}

/*太字 */
.bg_y {
    background-color: #F6BD15;
    padding: 0px 5px 0px;
}

.bg_k {
    background-color: #F8FF12;
    padding: 0px 5px 0px;
}


.font0_5 {
    font-size: 0.5em;
}

.font0_6 {
    font-size: 0.6em;
}

.font0_7 {
    font-size: 0.7em;
}

.font0_8 {
    font-size: 0.8em;
}

.font0_9 {
    font-size: 0.9em;
}

.font1 {
    font-size: 1em;
}

.font1_1 {
    font-size: 1.1em;
}

.font1_2 {
    font-size: 1.2em;
}

.font1_3 {
    font-size: 1.3em;
}

.font1_4 {
    font-size: 1.4em;
}

.font1_5 {
    font-size: 1.5em;
}

.font1_6 {
    font-size: 1.6em;
}

.font1_7 {
    font-size: 1.7em;
}

.font1_8 {
    font-size: 1.8em;
}

.font1_9 {
    font-size: 1.9em;
}

.font2 {
    font-size: 2em;
}

.lh160 {
    line-height: 160%;
}

.font_M {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.font_ss {
    font-size: 0.8em;
    line-height: 160%;
}

/* CLEAR FIX*/
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

/* End hide from IE-mac */
