@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Barlow+Semi+Condensed:600&display=swap&subset=japanese');

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
html, body {
   height: 100%;
}
html {
   font-size: 62.5%;
   overflow-y: scroll;
}
body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, th, td, img, form, figure {
   margin: 0;
   padding: 0;
   border: none;
   line-height: 100%;
   list-style-type: none;
   font-style: normal;
   text-align: left;
   font-family: 'Noto Sans JP', sans-serif;
   font-weight: 500;
   font-size: 1.6rem;
   color: #3E3A39;
}
body.fixed {
   position: fixed;
   width: 100%;
   height: 100vh;
   top: 0;
}
input, button, textarea, select {
   margin: 0;
   padding: 0;
   background: none;
   border: none;
   border-radius: 0;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}
iframe {
   border: none;
}
main {
   display: block;
}
*, *:before, *:after {
   box-sizing: border-box;
}
a {
   color: #3E3A39;
}
.hover {
   transition: opacity 0.3s ease-out;
}
.hover:hover {
   opacity: 0.7;
}
img {
   max-width: 100%;
   height: auto;
}
.flex {
   display: flex;
}
table {
   width: 100%;
}
table tr {
   border-bottom: 2px solid #cac7c2;
   display: block;
}
table th {
   width: 95px;
   padding: 8px 0 8px 10px;
   line-height: 1.6;
}
table td {
   padding: 8px 0 8px 24px;
   line-height: 1.6;
}
.note {
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 1.6;
}
.fadein, .fadein02 {
   opacity: 0;
   transform: translate(0, 0);
   transition: all 1s;
}
.fadein.active, .fadein02.active {
   opacity: 1;
   transform: translate(0, 0);
}
/* ------------------------------
    clearfix
------------------------------ */
.cf:after {
   content: ".";
   display: block;
   height: 0;
   font-size: 0;
   clear: both;
   visibility: hidden;
}
.cf {
   display: inline-block;
}
/* Hides from IE Mac */
* html .cf {
   height: 1%;
}
.cf {
   display: block;
}
a {
   text-decoration: none;
}
/* ------------------------------
    footer
------------------------------ */
footer {
   padding: 50px 0 0 0;
   color: #fff;
}
footer small {
   text-align: center;
   display: block;
   font-size: 1.4rem;
}
#ft_top {
   width: 100%;
   background: rgba(245, 240, 228, 0.5) url("../img/bg_contents.png") left top repeat-y;
   background-size: 100%;
   position: relative;
   height: 400px;
}
#ft_top .inner {
   width: 1190px;
}
#ft_top img {
   position: absolute;
   bottom: -20px;
   width: 1190px;
}
#ft_bottom {
   background: #F08300;
   padding: 50px 0 28px 0;
}
#ft_logo {
   text-align: center;
   margin-bottom: 34px;
}
#ft_logo img {
   width: 502px;
}
address {
   color: #fff;
   text-align: center;
   display: block;
   font-size: 1.8rem;
   margin-bottom: 40px;
}
#phone {
   width: 710px;
   margin: 0 auto 45px auto;
}
#phone li {
   font-size: 3.8rem;
   font-weight: bold;
   color: #fff;
}
@media screen and (min-width: 769px) {
   body {
      min-width: 1300px;
   }
   .sp {
      display: none !important;
   }
   .inner {
      width: 994px;
      margin: auto;
   }
   .f_spbet {
      justify-content: space-between;
   }
   .anchor {
      margin-top: -80px;
      padding-top: 80px;
      display: block;
   }
   /* ------------------------------
    header
------------------------------ */
   header {
      width: 100%;
      /* position: fixed; */
      position: absolute;
      top: 0;
      left: 0;
      z-index: 99999;
      background: #faf7f2 url("../img/bg_header.png") left top no-repeat;
      background-size: 100%;
   }
   header h1, header #ttl {
      text-align: center;
      margin: 0 0 64px 0;
      padding-top: 75px;
   }
   header h1 img, header #ttl {
      width: 448px;
   }
   header #ttl {
      margin-left: auto;
      margin-right: auto;
   }
   header .btn_menu {
      display: none;
   }
   #head_nav ul, footer #ft_nav {
      display: flex;
      justify-content: space-between;
      width: 1062px;
      margin: 0 auto;
   }
   #head_nav ul {
      padding-bottom: 25px;
   }
   #head_nav li a, footer #ft_nav li a {
      border: 2px solid #EAE1CF;
      width: 160px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #3E3A39;
      background: #fff;
      font-size: 1.8rem;
      border-radius: 10px;
      font-weight: bold;
      font-family: "Tsukushi B Round Gothic", "筑紫B丸ゴシック", 'M PLUS Rounded 1c', sans-serif;
   }
   .ie #head_nav li a, .ie footer #ft_nav li a {
      padding-top: 6px;
   }
   .edge #head_nav li a, .edge footer #ft_nav li a {
      padding-top: 2px;
   }
   #head_nav li a.active {
      border: 2px solid #F08300;
      background: #F08300;
      color: #fff;
      position: relative;
   }
   #head_nav li a:hover {
      border: 2px solid #F08300;
      background: #F08300;
      color: #fff;
      position: relative;
   }
   #head_nav li a.active:after, #head_nav li a:hover:after {
      content: "";
      position: absolute;
      background: url("../img/nav_active.png") left top no-repeat;
      background-size: contain;
      bottom: -11px;
      left: 50%;
      width: 34px;
      height: 11px;
      margin-left: -17px;
   }
   /*ヘッダースクロール固定時*/
   header.scroll {
      /* background-image: none; */
      display: none;
   }
   header.scroll .scroll_inner {
      display: flex;
      width: 1060px;
      align-items: center;
      margin: 0 auto;
      justify-content: space-between;
   }
   header.scroll h1, .header.scroll #ttl {
      width: 202px;
      padding-top: 8px;
      margin-bottom: 8px;
   }
   header img.fixed {
      display: none;
   }
   header.scroll img.scroll {
      display: none;
   }
   header.scroll img.fixed {
      display: block;
   }
   header.scroll #head_nav ul {
      width: 822px;
      margin-top: 0;
      padding-bottom: 0;
   }
   header.scroll #head_nav li a {
      width: 132px;
   }
   main {
      margin-top: 190px;
   }
   main#page {
      margin-top: 190px;
      background: rgba(245, 240, 228, 0.5) url(../img/bg_contents.png) left top repeat-y;
      background-size: 100%;
      padding-top: 50px;
      padding-bottom: 0;
      width: 100%;
   }
   footer #ft_nav {
      margin-bottom: 40px;
   }
}
@media screen and (max-width: 768px) {
   .fadein02 {
      opacity: 1;
   }
   .fadein_sp {
      opacity: 0;
      transform: translate(0, 0);
      transition: all 1s;
   }
   .fadein_sp.active {
      opacity: 1;
      transform: translate(0, 0);
   }
   body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, th, td, img, form, figure {
      font-size: 1.4rem;
   }
   .pc {
      display: none !important;
   }
   .flex {
      flex-wrap: wrap;
   }
   .anchor {
      margin-top: -60px;
      padding-top: 60px;
      display: inline-block;
   }
   #container {
      min-width: 0;
      margin-top: 50px;
   }
   .inner {
      width: 90%;
      margin: auto;
   }
   table tr {
      border-bottom: 1px solid #cac7c2;
   }
   /* ------------------------------
    header
------------------------------ */
   header {
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      z-index: 9999;
      background: #fff;
   }
   #head_wrap {
      position: relative;
   }
   header h1, header #ttl {
      text-align: center;
      margin: 8px 0 15px -4%;
      padding-top: 10px;
   }
   header h1 img, header #ttl img {
      width: 210px;
   }
   header .btn_menu {
      position: fixed;
      top: 20px;
      right: 15px;
      width: 30px;
      height: 20px;
      z-index: 10000;
   }
   header .btn_menu span {
      position: absolute;
      left: 0;
      display: block;
      width: 100%;
      height: 4px;
      border-radius: 2px;
      background-color: #ef8122;
      transition: transform 0.3s ease-out;
   }
   header .btn_menu span:nth-of-type(1) {
      top: 0;
   }
   header .btn_menu span:nth-of-type(2) {
      top: 8px;
   }
   header .btn_menu span:nth-of-type(3) {
      top: 16px;
   }
   header .btn_menu.active span:nth-of-type(1) {
      -webkit-transform: translateY(8px) rotate(145deg);
      transform: translateY(8px) rotate(45deg);
   }
   header .btn_menu.active span:nth-of-type(2) {
      opacity: 0;
      -webkit-animation: active-menu-bar .8s forwards;
      animation: active-menu-bar .8s forwards;
   }
   header .btn_menu.active span:nth-of-type(3) {
      -webkit-transform: translateY(-8px) rotate(-45deg);
      transform: translateY(-8px) rotate(-45deg);
   }
   #head_nav {
      display: none;
      background: #ef8122;
      height: 100vh;
      padding: 4% 5%;
      overflow-y: scroll;
   }
   #head_nav li a {
      color: #fff;
      display: block;
      text-align: center;
      padding: 20px 0;
      font-size: 1.6rem;
      font-weight: bold;
   }
   /* ------------------------------
    main
------------------------------ */
   main {
      margin-top: 60px;
   }
   main#page {
      background: rgba(245, 240, 228, 0.5);
      padding-top: 0;
      padding-bottom: 0;
      margin-top: 60px;
   }
   /* ------------------------------
    footer
------------------------------ */
   footer {
      padding: 25px 0 0 0;
   }
   #ft_top {
      height: 0;
      padding-top: 50%;
      background: rgba(245, 240, 228, 0.5);
      background-image: none;
   }
   #ft_top .inner {
      width: 100%;
   }
   #ft_top img {
      position: absolute;
      left: 1%;
      bottom: -20px;
      max-width: 98%;
   }
   #ft_bottom {
      padding: 45px 0 20px 0;
   }
   #ft_logo {
      text-align: center;
      margin-bottom: 20px;
   }
   #ft_logo img {
      width: 90%;
   }
   address {
      font-size: 1.2rem;
      margin-bottom: 20px;
   }
   #phone {
      width: 100%;
      margin: 0 auto 25px auto;
   }
   #phone li {
      font-size: 2.6rem;
      text-align: center;
      display: block;
      width: 100%;
   }
   #phone li + li {
      margin-top: 10px;
   }
   #phone li a {
      color: #fff;
   }
   #ft_nav {
      margin-bottom: 20px;
   }
   #ft_nav li a {
      color: #fff;
      text-align: center;
      display: block;
      border-bottom: 1px solid #fff;
      padding: 10px 0;
   }
}
/* ------------------------------
    subpage
------------------------------ */
.cont_wrap02 {
 padding: 20px 0 50px 0;
}
.cont_wrap02 .ttl_main {
   background: #ef8122;
   color: #fff;
   border: 2px solid #3E3A39;
   padding: 15px 0;
   text-align: center;
   border-radius: 20px;
   position: relative;
   margin-bottom: 50px;
   font-size: 2.7rem;
   font-family: "Tsukushi B Round Gothic", "筑紫B丸ゴシック", 'M PLUS Rounded 1c', sans-serif;
   font-weight: bold;
   letter-spacing: 0.2rem;
}
.ie11 .cont_wrap02 .ttl_main {
   padding-top: 24px;
}
.cont_wrap02 .ttl_main:after {
   content: "";
   background: url(../img/ttl_calloutpng.png) left top no-repeat;
   background-size: cover;
   width: 45px;
   height: 20px;
   position: absolute;
   bottom: -20px;
   left: 50%;
   margin-left: -22px;
}
.cont_wrap02 p {
   line-height: 1.8;
}
.cont_wrap02 .btn {
   position: relative;
   border: 2px solid #3E3A39;
   border-radius: 10px;
   background: #B75400;
   color: #fff;
   width: 510px;
   height: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
   margin: 50px auto 0 auto;
   font-weight: bold;
}
.cont_wrap02 .btn a {
   position: absolute;
   content: "";
   left: -5px;
   top: -5px;
   border: 2px solid #3E3A39;
   border-radius: 10px;
   background: #F08300;
   color: #fff;
   width: 510px;
   height: 50px;
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 1;
}
.cont_wrap02 .btn a:after {
   position: absolute;
   display: block;
   content: "";
   top: 18px;
   right: 20px;
   width: 10px;
   height: 10px;
   border: 2px solid;
   border-color: #fff #fff transparent transparent;
   transform: rotate(45deg);
   border-radius: 2px;
}
.cont_wrap02 .btn:hover {
   background: none;
   border: none;
   top: 4px;
   left: 4px;
}
@media screen and (max-width: 768px) {
/* ------------------------------
    subpage
------------------------------ */
.cont_wrap02 {
 padding: 30px 0 25px 0;
}
.cont_wrap02 .ttl_main {
      margin-bottom: 30px;
      font-size: 2rem;
      padding: 10px 0;
      border-radius: 10px;
   }
.cont_wrap02 .btn {
      width: 280px;
   }
 .cont_wrap02 .btn a {
      width: 280px;
   }
.cont_wrap02 .btn a:after {
      right: 10px;
   }
}
.g-recaptcha {
 position: relative;
 top: -100px;
}