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

outline
==================================================*/
*,
*:before,
*:after {
  box-sizing: border-box; }

@media screen and (min-width: 601px) {
  .pc {
    display: inherit; }

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

  .sp {
    display: inherit; } }
body {
  color: #5F3414;
  position: relative;
  -webkit-text-size-adjust: 100%;
  background: url("../img/common/ptn_grid_orange.png") repeat center top; }
  @media screen and (min-width: 601px) {
    body {
      min-width: 1020px; } }

.wrap {
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (min-width: 601px) {
    .wrap {
      width: 1000px; }
      .wrap.narrow {
        width: 675px; } }
  @media screen and (max-width: 600px) {
    .wrap {
      width: 90%; } }

a {
  transition: all 0.2s; }

a:hover {
  opacity: 0.8;
  transition: all 0.4s ease-out; }

img {
  max-width: 100%;
  height: auto; }
  img[src$=".svg"] {
    width: 100%; }

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

header
==================================================*/
#header {
  padding: 20px 0;
  background-color: #fff;
  background-image: url("../img/common/ptn_wave_orange_d_btm.png"), url("../img/common/ptn_wave_orange_l_top.png");
  background-repeat: repeat-x ,repeat-x;
  background-position: center top, center bottom; }
  #header .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #header .wrap #logo {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end; }
      #header .wrap #logo .sitename_pc {
            display: block; /* 0319クラス名変更 */
        margin: 0 0 10px 7px; }
      #header .wrap .sitename_sp { /* 0319クラス追加 */
        display: none; }
    #header .wrap .header-tel {
      margin: 78px 0 0; }
    #header .wrap .header-toiawase {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: space-betweeb;
      -ms-flex-pack: space-betweeb;
      justify-content: space-betweeb;
      position: absolute;
      top: 120px;
      right: 0; }
      #header .wrap .header-toiawase li + li {
        margin-left: 15px; }
    #header .wrap .btnlist {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: space-betweeb;
      -ms-flex-pack: space-betweeb;
      justify-content: space-betweeb;
      position: absolute;
      top: 25px;
      right: 0; }
      #header .wrap .btnlist li + li {
        margin-left: 10px; }
      #header .wrap .btnlist li.legister {
        margin-left: 15px; }
      #header .wrap .btnlist li.login {
        margin-left: 5px; }
    #header .wrap #menubtns {
      display: none; }
  @media screen and (max-width: 600px) {
    #header {
      padding: 10px 0;
      background-size: auto 6px,auto 8px; }
      #header .wrap {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        #header .wrap #logo {
          margin-right: 10px; }
          #header .wrap #logo a {
            display: block;
            width: 35vw; }
         /* #header .wrap #logo .sitename {
            width: 20vw; } 0319 クラス削除*/
        #header .wrap .header-tel {
          display: none; }
        #header .wrap .header-toiawase {
          display: none; }
        #header .wrap .btnlist {
          display: none; }
        #header .wrap #menubtns {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          #header .wrap #menubtns li + li {
            margin-left: 10px; }
          #header .wrap #menubtns li#telbtn a, #header .wrap #menubtns li#menubtn {
            display: block;
            width: 40px;
            height: 40px;
            border-radius: 3px;
            text-align: center; }
          #header .wrap #menubtns li#telbtn a {
            border: 1px solid #A3AC00;
            color: #A3AC00;
            font-size: 1.8rem;
            line-height: 38px; }
            #header .wrap #menubtns li#telbtn a i:before {
              vertical-align: middle; }
          #header .wrap #menubtns li#menubtn {
            position: relative;
            border: 1px solid #FF7F00; }
            #header .wrap #menubtns li#menubtn span {
              display: block;
              width: 20px;
              height: 2px;
              border-radius: 1000px;
              background: #FF7F00;
              margin: auto;
              position: absolute;
              left: 0;
              right: 0;
              transition: all 0.2s; }
              #header .wrap #menubtns li#menubtn span:nth-of-type(1) {
                top: 10px; }
              #header .wrap #menubtns li#menubtn span:nth-of-type(2) {
                top: 18px; }
              #header .wrap #menubtns li#menubtn span:nth-of-type(3) {
                top: 26px; }
            .open #header .wrap #menubtns li#menubtn span {
              transition: all 0.4s; }
              .open #header .wrap #menubtns li#menubtn span:nth-of-type(1) {
                top: 18px;
                -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                transform: rotate(45deg); }
              .open #header .wrap #menubtns li#menubtn span:nth-of-type(2) {
                opacity: 0; }
              .open #header .wrap #menubtns li#menubtn span:nth-of-type(3) {
                top: 18px;
                -webkit-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                transform: rotate(-45deg); } }
    #header .wrap .snslist {
	    display: none; /* 0319 snslistクラス追加 */
	}
/* 0319スマホ表示用追加 */
@media screen and (max-width: 600px) {
    #header .wrap #logo .sitename_pc {
            display:none; }
    #header .wrap .sitename_sp {
            display: block;
            width: 90%; }

    #header .wrap .snslist {
      margin: 5px 0 auto;
      padding-right: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      justify-content: flex-end;}
      #header .wrap .snslist li + li {
        margin-left: 10px; }
        }


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

globalNavigation
==================================================*/
@media screen and (min-width: 601px) {
  #globalNavigation {
    background: url("../img/common/ptn_check_orange_d.png") repeat-x center center; }
    #globalNavigation .gnav {
      height: 60px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: auto;
      width: fit-content; } }
@media screen and (max-width: 600px) {
  #globalNavigation {
    margin: 0;
    width: 240px;
    height: 100%;
    position: fixed;
    right: -240px;
    top: 0;
    z-index: 999; }
    #globalNavigation .gnavwrap {
      background: #FF7F00;
      width: 100%;
      height: 100%;
      overflow-y: scroll;
      -ms-overflow-style: none;
      padding: 25px 20px; }
      #globalNavigation .gnavwrap::-webkit-scrollbar {
        display: none; }
    #globalNavigation .logo {
      display: block;
      width: 125px; }
    #globalNavigation .membernav li + li {
      margin-top: 10px; }
    #globalNavigation .membernav li a {
      display: block;
      background: #fff;
      position: relative;
      font-family: 'Noto Sans JP';
      font-style: normal;
      font-weight: 500;
      font-size: 1.6rem;
      color: #FF7F00;
      text-align: center;
      padding: 6px 20px;
      border-radius: 3px; }
      #globalNavigation .membernav li a:before {
        left: 20px; }
      #globalNavigation .membernav li a.register:before {
        content: "";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: inherit;
        color: inherit;
        position: absolute; }
      #globalNavigation .membernav li a.login:before {
        content: "";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: inherit;
        color: inherit;
        position: absolute; }
    #globalNavigation .gnav {
      display: block;
      margin: 30px 0 0; }
      #globalNavigation .gnav li + li {
        margin-top: 15px; }
      #globalNavigation .gnav li a {
        font-family: 'Noto Sans JP';
        font-style: normal;
        font-weight: 500;
        font-size: 1.6rem;
        color: #fff; }
        #globalNavigation .gnav li a:before {
          content: none; }
    #globalNavigation .snslist {
      margin: 30px 0 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #globalNavigation .snslist li + li {
        margin-left: 15px; } }

@media screen and (max-width: 600px) {
  body {
    position: relative;
    left: 0;
    transition: left 0.2s; }
    body .sitewrap #hader {
      transition: left 0.2s; }
    body .sitewrap #globalNavigation {
      transition: right 0.2s; }
    body.open {
      overflow: hidden;
      position: relative;
      left: -240px;
      transition: left 0.4s !important; }
      body.open #header {
        left: -240px;
        transition: left 0.4s !important; }
      body.open #globalNavigation {
        right: 0;
        transition: right 0.4s; } }

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

breadcrumb
==================================================*/
#breadcrumb {
  background: #FFEFD2;
  padding: 14px 0; }
  #breadcrumb ol {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 601px) {
      #breadcrumb ol {
        width: 1000px; }
        #breadcrumb ol.narrow {
          width: 675px; } }
    @media screen and (max-width: 600px) {
      #breadcrumb ol {
        width: 90%; } }
    #breadcrumb ol li {
      font-family: 'Noto Sans JP';
      font-style: normal;
      font-weight: 500;
      font-size: 1.6rem;
      color: inherit; }
      #breadcrumb ol li + li {
        margin-left: 20px;
        padding-left: 25px;
        position: relative; }
        #breadcrumb ol li + li:before {
          content: '>';
          position: absolute;
          left: 0;
          top: 0; }
  @media screen and (max-width: 600px) {
    #breadcrumb {
      display: none; } }

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

contents
==================================================*/
#contents {
  padding: 20px 0 60px; }

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

main
==================================================*/
/* pagetitle */
/* main style */
.main {
  /* p */
  /* ul */
  /* ol */
  /* table */
  /* strong */
  /* heading */ }
  .main p, .main address {
    margin: 20px 0 0; }
    .main p a, .main address a {
      color: #00468c;
      text-decoration: underline; }
      .main p a:hover, .main address a:hover {
        text-decoration: none; }
  .main ul li > :first-child {
    margin-top: 0; }
  .main ul.noicon li {
    padding: 0; }
    .main ul.noicon li:before {
      content: '';
      position: static; }
  .main ol, .main ul {
    counter-reset: number; }
    .main ol > li, .main ul > li {
      counter-increment: number; }
      .main ol > li > :first-child, .main ul > li > :first-child {
        margin-top: 0; }
    .main ol.numlist li, .main ul.numlist li {
      padding: 0 0 0 40px;
      position: relative; }
      .main ol.numlist li:before, .main ul.numlist li:before {
        position: absolute;
        left: 0;
        top: 0; }
    .main ol.numlist.ctm1 > li:before, .main ul.numlist.ctm1 > li:before {
      content: counter(number) "."; }
    .main ol.numlist.ctm1.mt-close > li + li, .main ul.numlist.ctm1.mt-close > li + li {
      margin-top: 5px; }
    .main ol.numlist.ctm2 li + li, .main ul.numlist.ctm2 li + li {
      margin-top: 5px; }
    .main ol.numlist.ctm2 li:before, .main ul.numlist.ctm2 li:before {
      content: counter(number) ")"; }
    .main ol.numlist.ctm2.mt-close > li + li, .main ul.numlist.ctm2.mt-close > li + li {
      margin-top: 5px; }
    @media screen and (max-width: 600px) {
      .main ol.numlist li, .main ul.numlist li {
        padding: 0 0 0 25px; }
      .main ol.numlist.ctm1 > li + li, .main ul.numlist.ctm1 > li + li {
        margin-top: 20px; }
      .main ol.numlist.ctm2 li + li, .main ul.numlist.ctm2 li + li {
        margin-top: 10px; }
      .main ol.numlist.ctm2.mt-close > li + li, .main ul.numlist.ctm2.mt-close > li + li {
        margin-top: 10px; } }
  .main table {
    width: 100%; }
    .main table td > :first-child {
      margin-top: 0; }
    .main table.basic {
      margin: 20px 0 0; }
      .main table.basic tr th, .main table.basic tr td {
        border: 1px solid #D5840F;
        padding: 15px;
        text-align: left;
        vertical-align: top; }
        .main table.basic tr th a, .main table.basic tr td a {
          color: #00468c;
          text-decoration: underline; }
          .main table.basic tr th a:hover, .main table.basic tr td a:hover {
            text-decoration: none; }
      .main table.basic tr th {
        background: #F9EFE4;
        width: 280px; }
      @media screen and (max-width: 600px) {
        .main table.basic {
          border: 1px solid #D5840F;
          border-bottom: none; }
          .main table.basic tr th, .main table.basic tr td {
            border: none;
            display: block;
            border-bottom: 1px solid #D5840F; }
          .main table.basic tr th {
            width: 100%; } }
  .main h3 {
    margin: 40px 0 0;
    font-size: 2.8rem;
    font-weight: bold;
    color: #eb5900; }
    @media screen and (max-width: 600px) {
      .main h3 {
        margin: 40px 0 0;
        font-size: 2.4rem;
        font-weight: bold;
        color: #eb5900; } }

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

footer
==================================================*/
#footer #footerSitemap {
  background: url("../img/common/ptn_wave_orange_l_btm.png") repeat-x center top #fff;
  padding: 20px 0 0; }
  #footer #footerSitemap .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    
    height: 150px; /* add */
    position: relative; /* add */
    
  }
    #footer #footerSitemap .wrap .sitemaplist {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      
      position: absolute; /* add */
      bottom: 20px; /* add */
      left: 0; /* add */

    }
      #footer #footerSitemap .wrap .sitemaplist li {
        font-family: 'Noto Sans JP';
        font-style: normal;
        font-weight: 500;
        font-size: 1.6rem;
        color: #5F3414; }
        #footer #footerSitemap .wrap .sitemaplist li + li {
          margin-left: 8px;
          padding-left: 13px;
          position: relative; }
          #footer #footerSitemap .wrap .sitemaplist li + li:before {
            content: '|';
            position: absolute;
            left: 0;
            top: -2px; }
#footer #footerCopy {
  background: url("../img/common/ptn_check_orange_l.png") repeat-x center center; }
  #footer #footerCopy p {
    line-height: 42px;
    font-size: 1.6rem;
    text-align: center;
    color: #fff; }

 /* add */    
#footer #footerSitemap .wrap .econyan {
    position: absolute;
    top: 5px;
    left: 15vw;
}

 /* add */
#footer #footerSitemap .wrap .hesoten {
    position: absolute;
    top: 0;
    right: 0;
}
    
@media screen and (max-width: 600px) {
  #footer #footerSitemap {
    padding: 40px 0 20px; }
    #footer #footerSitemap .wrap {
      display: block;
      height: auto; }
      #footer #footerSitemap .wrap .sitemaplist {
        display: block;
        position: relative; }
        #footer #footerSitemap .wrap .sitemaplist li {
          text-align: center; }
          #footer #footerSitemap .wrap .sitemaplist li + li {
            padding: 0;
            margin: 20px 0 0; }
            #footer #footerSitemap .wrap .sitemaplist li + li:before {
              content: none; }
      #footer #footerSitemap .wrap .hesoten {
        text-align: center;
        margin: 20px 0 0; }
/* 0319#footerCopy変更 */
  #footer #footerCopy {
        display: none;
    }
  #footer #footerCopy p {
    font-size: 2.8vw; }
    
 /* add */
  #footer #footerSitemap .wrap .econyan {
    text-align: center;
    margin-bottom: 20px;
    position: relative;
    top: 0;
    left: 0;
  }
  #footer #footerSitemap .wrap .hesoten {
    position: relative;
    top: 0;
    right: 0;
  }
}
    
/* 0319フッター追加 */
.contact-block {
    display: none;
}

@media screen and (max-width: 600px) {
  .sitewrap  {
    padding-bottom: 90px; }
  
    .contact-block {
        display: block;
        background: url("../img/common/ptn_check_orange.jpg") repeat center center;
        position: fixed;
        bottom: 0;
        width: 100%;
        height:17%;
    }
    .contact-block ul {
        text-align: center;
		height:80%;
    }
    .contact-block ul li {
        display: inline-block;
        width: 20%;
        height:100%;
    }
	.contact-block ul li#telbtn {
	    width: 70%;
	}
	.contact-block ul li a {
		display:flex;
		height:100%;
		justify-content:center;
		align-items:center;
	}
	.contact-block .footer-tel {
      margin: 90px 0 0; }
	.contact-block p {
        font-size: 2.8vw;
        margin-left:5px;
    }

}

/*==================================================
メンテナンス用
==================================================*/
#contents_mainte {
    padding: 10% 0 10%;
    min-height: 100vh;
}

.footer_mainte {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    height: 42px;
}