@charset "UTF-8";
/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/*  reset.scss */
/* =====================================================
 * reset.css
 * - Edit html5doctor.com's CSS
 * - http://html5doctor.com/html-5-reset-stylesheet/
 * Last Updated:2017-03-01
====================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500;600&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea, main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
  vertical-align: bottom;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section, main {
  display: block; }

main {
  padding: 0;
  margin: 0 !important; }

html {
  font-size: 62.5%;
  /*overflow-x: hidden;*/ }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  background: transparent;
  outline: none; }

img {
  vertical-align: bottom; }

ins {
  background-color: #ff9;
  color: #1d1402;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #1d1402;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

th, td {
  text-align: left;
  vertical-align: top; }

input, select, textarea {
  font-family: inherit; }

input[type="submit"] {
  cursor: pointer; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

* {
  box-sizing: border-box; }

/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/
/*html {
	height: 100%;
	overflow-y: scroll;
}*/
/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
/*body {
	height: 100%;
	color: #444;
	background: #FFF;
	min-width: 320px;
	line-height: 1.6;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	letter-spacing: .06em;
}*/
html {
  overflow: auto; }

body {
  overflow: hidden;
  min-width: 320px;
  background: #18211d;
  color: #1d1402;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  position: relative; }
  @media all and (min-width: 768px) {
    body {
      /*min-width: 1000px;*/
      font-size: 1.6rem;
      -webkit-text-size-adjust: 100%; } }

img {
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden; }

img.w100 {
  width: 100% !important;
  height: auto; }

.pc {
  display: none; }

.sp {
  display: block !important; }

@media all and (min-width: 768px) {
  .pc {
    display: block; }

  .sp {
    display: none !important; } }
/*--------------------------------------------------------------------------
  footer 固定
---------------------------------------------------------------------------*/
@media only screen and (min-width: 768px) {
  body {
    display: flex;
    flex-direction: column;
    min-height: 100vh; }

  footer {
    margin-top: auto; } }
/*--------------------------------------------------------------------------
   font
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   clearfix
---------------------------------------------------------------------------*/
.cf:before, .cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/* layout.scss */
.main_area {
  width: 100%;
  position: relative; }

.base_inner {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px; }

.base {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px; }

@media screen and (min-width: 768px) {
  .main_area {
    width: 100%;
    padding-left: 170px; }

  .base_inner {
    /*width: 1200px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;*/
    padding-left: 30px;
    padding-right: 30px; }

  .base {
    /*width: 1000px;*/
    margin-left: auto;
    margin-right: auto; } }
@media only screen and (min-width: 1200px) {
  .main_area {
    width: 100%;
    padding-left: 170px; }

  .base_inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px; }

  .base {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto; } }
/*.id_link {
	padding-top: 78px;
	margin-top: -78px;
}
*/
/*	header
--------------------------------------*/
@media screen and (min-width: 768px) {
  .header {
    /*position: relative;*/
    padding: 15px 100px 15px;
    background: #fff; }
    .header .hd_list {
      display: flex;
      justify-content: flex-end; }
      .header .hd_list .item {
        margin-left: 30px; } }
/*	pagetop
--------------------------------------*/
.to-top {
  position: fixed;
  width: 42px;
  height: 42px;
  background: #000;
  color: #fff;
  right: 0;
  bottom: 0;
  cursor: pointer; }
  .to-top .arrow {
    text-indent: -9999px;
    display: block;
    height: 42px;
    position: relative; }
    .to-top .arrow::after {
      position: absolute;
      top: 50%;
      right: 0;
      content: '';
      width: 12px;
      height: 12px;
      border: 0px;
      margin: -6px 12px 0 0;
      border-top: solid 4px #fff;
      border-right: solid 4px #fff;
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }

/*	pagetop
--------------------------------------*/
.pagetop {
  /*display: none;*/
  position: fixed;
  z-index: 1000;
  bottom: 40px;
  right: 20px;
  width: 42px;
  height: 42px; }

@media screen and (min-width: 768px) {
  .pagetop {
    /*bottom: 20px;*/ } }
.pagetop a {
  display: block;
  width: 42px;
  height: 42px;
  background: #4b6827;
  color: #fff;
  text-align: center;
  padding: 10px 0 0;
  position: relative;
  text-indent: -9999; }

.pagetop a::after {
  position: absolute;
  top: 50%;
  right: 0;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  margin: -6px 12px 0 0;
  border-top: solid 4px #fff;
  border-right: solid 4px #fff;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.pagetop a:hover {
  background: #18211d; }

/* .btnGnav btn_nav
-------------------------------------- */
.nav {
  display: block;
  position: fixed;
  top: 0;
  right: -300px;
  /*left: -300px;*/
  bottom: 0;
  width: 300px;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: .5s;
  z-index: 300; }

.open .nav {
  right: 0;
  /*left: 0;*/ }

.nav .inner {
  padding: 25px; }

.nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333; }

.nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s; }

.nav .inner ul li a:hover {
  background: #e4e4e4; }

@media screen and (max-width: 767px) {
  .nav {
    right: -240px;
    /*left: -240px;*/
    width: 240px; } }
/*============
@keyframes
=============*/
/*@keyframes equalizer01 {
	0% {
    width: 70%;
  }
  10% {
    width: 50%;
  }
  20% {
    width: 100%;
  }
  30% {
    width: 10%;
  }
  40% {
    width: 50%;
  }
  50% {
    width: 70%;
  }
  60% {
    width: 50%;
  }
  70% {
    width: 10%;
  }
  80% {
    width: 100%;
  }
  90% {
    width: 10%;
  }
  100% {
    width: 70%;
  }
}
@keyframes equalizer02 {
  0% {
    width: 30%;
  }
  10% {
    width: 20%;
  }
  20% {
    width: 40%;
  }
  30% {
    width: 10%;
  }
  40% {
    width: 20%;
  }
  50% {
    width: 30%;
  }
  60% {
    width: 20%;
  }
  70% {
    width: 10%;
  }
  80% {
    width: 40%;
  }
  90% {
    width: 10%;
  }
  100% {
    width: 30%;
  }
}
*/
  /*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 5px;
  right: 15px;
  /*left: 30px;*/
  width: 60px;
  height: 30px;
  transform: translate(0, 0);
  transition: all .5s;
  cursor: pointer;
  z-index: 300; }

.open .toggle_btn {
  right: 260px;
  /*right: 330px;*/
  /*left: 330px;*/ }

.toggle_btn span {
  display: block;
  position: absolute;
  right: 0;
  /*left: 0;*/
  width: 30px;
  height: 2px;
  background-color: #1d1402;
  transition: all .5s; }

.toggle_btn span:nth-child(1) {
  top: 5px;
  width: 20px;
  animation: equalizer01 7000ms infinite; }

.toggle_btn span:nth-child(2) {
  top: 15px;
  width: 20px;
  animation: equalizer02 5000ms infinite;
  animation-delay: 0.33s; }

.toggle_btn span:nth-child(3) {
  top: 25px;
  width: 20px;
  animation: equalizer02 5000ms infinite; }

.open .toggle_btn span {
  background-color: #1d1402;
  width: 30px; }

.open .toggle_btn span:nth-child(1) {
  transform: translate(0, 10px) rotate(-45deg);
  animation: unset; }

.open .toggle_btn span:nth-child(2) {
  opacity: 0;
  animation: unset; }

.open .toggle_btn span:nth-child(3) {
  transform: translate(0, -10px) rotate(45deg);
  animation: unset; }

@media screen and (max-width: 767px) {
  .open .toggle_btn {
    right: 200px;
    /*left: 260px;*/ } }
/*============
#mask
=============*/
#mask {
  display: none; }

.open #mask {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  /*left: 0;*/
  width: 100%;
  height: 100%;
  background: #1d1402;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
  transition: all .5s; }

/* header
-------------------------------------- */
#sp_h_area {
  width: 100%;
  /*height: 55px;*/
  background: #fff;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 101; }
  #sp_h_area #sp_h_logo {
    padding: 10px 10px 10px 15px; }
    #sp_h_area #sp_h_logo .sp_logo {
      width: auto;
      height: 20px; }

@media screen and (min-width: 768px) {
  #sp_h_area {
    display: none; }

  #header {
    /*width: 92px;*/
    /*width: 150px;*/
    width: 170px;
    height: 100%;
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
    /*display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;*/
    z-index: 1000; }

  #pc_h_logo {
    		/*position: fixed;
        top: 35px;
        right: 40px;
        z-index: 98;*/
    padding: 15px;
    margin-bottom: 30px;
    text-align: center; }
    #pc_h_logo .pc_logo {
      width: 30px;
      height: auto; }

  #h_mail {
    width: 100%;
    border-top: solid 1px rgba(255, 255, 255, 0.3); }
    #h_mail a {
      display: flex;
      flex-wrap: wrap;
      -webkit-box-align: center;
      align-items: center;
      -webkit-box-pack: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      padding: 20px 60px 20px; }

  .pc_nav_set .item {
    /*-webkit-writing-mode: vertical-rl;
    	-ms-writing-mode: tb-rl;
    	writing-mode: vertical-rl;*/
    /*margin-bottom: 10px;*/ }
    .pc_nav_set .item a {
      display: block;
      color: #1d1402;
      padding: 10px 5px 10px 40px;
      font-size: 1.3rem;
      font-weight: 600; }
      .pc_nav_set .item a:hover {
        color: #fff;
        background: #4b6827; }
    .pc_nav_set .item .smtxt {
      font-size: 1.3rem;
      background: #000;
      color: #fff; }
      .pc_nav_set .item .smtxt:hover {
        color: #fff;
        background: #74674b; } }
/* h_pcnav
-------------------------------------- */
@media screen and (min-width: 768px) {
  #h_pcnav {
    /*width: -webki-calc(100% - 150px);
    width: calc(100% - 150px);*/
    width: 100%;
    height: 75px;
    /*position: fixed;
    z-index: 150;
    top: 0;
    left: 0;*/
    /*left: 150px;
    padding-left: 150px;*/
    background: #fff; }
    #h_pcnav .wrap {
      padding: 15px 10px; }
      #h_pcnav .wrap .left {
        padding-top: 12px;
        width: 70%;
        width: -webki-calc(100% - 160px);
        width: calc(100% - 160px); }
        #h_pcnav .wrap .left .set .item {
          display: inline-block;
          margin-right: 20px; }
      #h_pcnav .wrap .right {
        width: 160px; }
        #h_pcnav .wrap .right .pc_h_info {
          position: relative;
          text-align: center; }
          #h_pcnav .wrap .right .pc_h_info::after {
            content: '';
            position: absolute;
            top: 50%;
            left: -10px;
            width: 1px;
            height: 40px;
            margin-top: -20px;
            background: #333; }
          #h_pcnav .wrap .right .pc_h_info .tel_nb {
            font-size: 1.6rem;
            font-weight: bold; }
          #h_pcnav .wrap .right .pc_h_info .time {
            font-size: 1rem; } }
@media only screen and (min-width: 910px) {
  #h_pcnav {
    /*width: -webki-calc(100% - 150px);
    width: calc(100% - 150px);*/
    width: 100%;
    height: 75px;
    /*position: fixed;
    z-index: 150;
    top: 0;
    left: 0;*/
    /*left: 150px;
    padding-left: 150px;*/
    background: #fff; }
    #h_pcnav .wrap {
      padding: 15px 40px; }
      #h_pcnav .wrap .left {
        padding-top: 12px;
        width: 70%;
        width: -webki-calc(100% - 260px);
        width: calc(100% - 260px); }
        #h_pcnav .wrap .left .set .item {
          display: inline-block;
          margin-right: 20px; }
      #h_pcnav .wrap .right {
        width: 250px; }
        #h_pcnav .wrap .right .pc_h_info {
          position: relative;
          text-align: center; }
          #h_pcnav .wrap .right .pc_h_info::after {
            content: '';
            position: absolute;
            top: 50%;
            left: -10px;
            width: 1px;
            height: 40px;
            margin-top: -20px;
            background: #333; }
          #h_pcnav .wrap .right .pc_h_info .tel_nb {
            font-size: 1.8rem;
            font-weight: bold; }
          #h_pcnav .wrap .right .pc_h_info .time {
            font-size: 1.2rem; } }
/* footer
-------------------------------------- */
.footer {
  padding: 30px 0;
  color: #fff; }
  .footer .ad {
    margin-bottom: 30px; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/*	hover
--------------------------------------*/
a {
  color: inherit;
  text-decoration: none; }

@media screen and (min-width: 768px) {
  a {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha:hover {
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; } }
/*	hover img zoom
--------------------------------------*/
/* 各コンテンツの画像サイズは各自設定 */
@media screen and (min-width: 768px) {
  .pic {
    /*margin-bottom: 22px;*/
    overflow: hidden;
    /*width: 290px;
    height: 170px;*/ }
    .pic img {
      display: block;
      transition-duration: .3s; }
      .pic img:hover {
        transform: scale(1.1);
        transition-duration: .3s; } }
/*	tit
--------------------------------------*/
.sec-tit {
  font-size: calc(1.9rem + (1vw - 0.32rem) * 0.3378);
  font-weight: 600;
  margin-bottom: 15px; }

/*	txt
--------------------------------------*/
.txt-ct {
  text-align: center; }

.tit-b {
  font-size: calc(1.7rem + (1vw - 0.32rem) * 0.2027);
  font-weight: 600;
  margin-bottom: 15px; }

/*	content padding
--------------------------------------*/
.pad {
  padding-top: 30px;
  padding-bottom: 30px; }

@media screen and (min-width: 768px) {
  .pad {
    padding-top: 60px;
    padding-bottom: 60px; } }
.pad_l {
  padding-top: 30px;
  padding-bottom: 40px; }

@media screen and (min-width: 768px) {
  .pad_l {
    padding-top: 100px;
    padding-bottom: 100px; } }
.pad_top {
  padding-top: 30px; }

@media screen and (min-width: 768px) {
  .pad_top {
    ppadding-top: 60px; } }
.pad_btm {
  padding-bottom: 30px; }

@media screen and (min-width: 768px) {
  .pad_btm {
    padding-bottom: 60px; } }
.mb {
  margin-bottom: 10px; }

@media screen and (min-width: 768px) {
  .mb {
    margin-bottom: 15px; } }
.mbl {
  margin-bottom: 17px; }

@media screen and (min-width: 768px) {
  .mbl {
    margin-bottom: 30px; } }
.mtop {
  margin-top: 30px; }

.gmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }

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

/*	video
--------------------------------------*/
div.vid_contents {
  width: 100%;
  text-align: center;
  margin: auto;
  padding: 4%; }
  @media screen and (min-width: 768px) {
    div.vid_contents {
      padding: 2%; } }

video.vid_main {
  width: 100%; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

/*	list
--------------------------------------*/
.list .item-list {
  padding-left: 1em;
  text-indent: -1em; }

.inb {
  display: inline-block; }

/*	bg
--------------------------------------*/
.bg_wh {
  background: #fff; }

/*	table
--------------------------------------*/
.tbl {
  width: 100%; }
  .tbl tr {
    border-bottom: 1px solid #1d1402; }
    .tbl tr:first-child {
      border-top: 1px solid #1d1402; }
    .tbl tr th {
      display: block;
      width: 100%;
      padding: 12px 0 2px; }
      @media screen and (min-width: 768px) {
        .tbl tr th {
          display: table-cell;
          padding: 16px 0 16px 10px;
          width: 160px; } }
    .tbl tr td {
      display: block;
      width: 100%;
      padding: 2px 0 12px; }
      @media screen and (min-width: 768px) {
        .tbl tr td {
          display: table-cell;
          padding: 16px 0 16px 10px;
          width: auto; } }

/*	wrap
--------------------------------------*/
@media screen and (min-width: 768px) {
  .wrap {
    display: flex;
    justify-content: space-between;
    gap: 40px; }
    .wrap .od {
      order: -1; } }
.wrap .bg_wh {
  padding-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .wrap .bg_wh {
      padding-bottom: 30px; } }
@media screen and (min-width: 768px) {
  .wrap .item {
    width: -webki-calc((100% - 40px) / 2);
    width: calc((100% - 40px) / 2); } }
.wrap .item + .item {
  margin-top: 20px; }
  @media screen and (min-width: 768px) {
    .wrap .item + .item {
      margin-top: 0; } }
.wrap .item .inner {
  padding: 15px; }
  @media screen and (min-width: 768px) {
    .wrap .item .inner {
      padding: 20px 20px; } }

/*--------------------------------------------------------------------------
   pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
  clear: both;
  text-align: center;
  padding: 30px 0 40px; }

.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  border: 1px solid #2a1803;
  background: #ececec;
  border-radius: 2px;
  padding: 3px 5px;
  margin: 2px; }

.wp-pagenavi a:hover, .wp-pagenavi span.current {
  /*border-color: #333;*/
  background: #2a1803;
  color: #fff; }

.wp-pagenavi span.current {
  font-weight: bold; }

.post_nav {
  margin: 40px 0 20px; }
  .post_nav .next, .post_nav .list_art, .post_nav .prev {
    width: 80%;
    margin: 0 auto 10px; }
    .post_nav .next a, .post_nav .list_art a, .post_nav .prev a {
      display: block;
      text-align: center;
      border: 1px solid #2a1803;
      padding: 10px 15px;
      border-radius: 10px; }

@media only screen and (min-width: 640px) {
  .post_nav {
    margin: 80px 0 20px;
    display: flex;
    justify-content: center; }
    .post_nav .next, .post_nav .list_art, .post_nav .prev {
      width: 20%;
      margin: 0 30px; } }
/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/* <a href="#" class="btn"><span class="a-txt">リンクテキストがストクテキストがストが入る</span></a> */
.btn {
  /*丸の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  display: inline-block;
  padding: 0 15px 0 20px;
  margin-left: 5px;
  line-height: 50px;
  color: #1d1402;
  font-weight: 500;
  text-decoration: none;
  outline: none; }
  @media screen and (min-width: 768px) {
    .btn {
      font-size: 2rem; }
      .btn:hover {
        color: #fff; } }
  .btn .a-txt {
    display: inline-block;
    position: relative;
    z-index: 5; }

/* 丸が動く */
.btn::before {
  content: '';
  /*絶対配置で丸の位置を決める*/
  position: absolute;
  right: -52px;
  z-index: 1;
  /*丸の形状*/
  width: 50px;
  height: 50px;
  background: #1d1402 !important;
  border-radius: 25px;
  /*アニメーションの指定*/
  transition: .3s ease-out; }

/*hoverした際の形状*/
@media screen and (min-width: 768px) {
  .btn:hover::before {
    width: -webki-calc(100% + 52px);
    width: calc(100% + 52px); } }
/* 矢印の形状 */
.btn::after {
  position: absolute;
  z-index: 2;
  content: '';
  top: 1.4em;
  right: -30px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg); }
  @media screen and (min-width: 768px) {
    .btn::after {
      top: 1.1em;
      right: -30px; } }

/* <a href="#" class="btn-wh"><span class="a-txt">リンクテキストがストクテキストがストが入る</span></a> */
.btn-wh {
  /*丸の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  display: inline-block;
  padding: 0 15px 0 20px;
  margin-left: 5px;
  line-height: 50px;
  color: #fff;
  font-weight: 500;
  text-decoration: none;
  outline: none; }
  @media screen and (min-width: 768px) {
    .btn-wh {
      font-size: 2rem; }
      .btn-wh:hover {
        color: #1d1402; } }
  .btn-wh .a-txt {
    display: inline-block;
    position: relative;
    z-index: 5; }

/* 丸が動く */
.btn-wh::before {
  content: '';
  /*絶対配置で丸の位置を決める*/
  position: absolute;
  right: -52px;
  z-index: 1;
  /*丸の形状*/
  width: 50px;
  height: 50px;
  background: #fff !important;
  border-radius: 25px;
  /*アニメーションの指定*/
  transition: .3s ease-out; }

/*hoverした際の形状*/
@media screen and (min-width: 768px) {
  .btn-wh:hover::before {
    width: -webki-calc(100% + 52px);
    width: calc(100% + 52px); } }
/* 矢印の形状 */
.btn-wh::after {
  position: absolute;
  z-index: 2;
  content: '';
  top: 1.4em;
  right: -30px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #1d1402;
  border-right: 2px solid #1d1402;
  transform: rotate(45deg); }
  @media screen and (min-width: 768px) {
    .btn-wh::after {
      top: 1.1em;
      right: -30px; } }

/*<div class="button">
	<a href="#">ボタンのデザイン</a>
</div>*/
.button {
  width: 100%; }

.button a {
  background: #1d1402;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  width: 100%;
  /*max-width: 300px;*/
  /*margin: 20px auto 0;*/ }
  @media screen and (min-width: 768px) {
    .button a {
      padding: 12px 10px;
      /*max-width: 400px;*/
      /*margin: 50px auto 0;*/ }
      .button a:hover {
        background: #087742; } }

.button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(45deg); }

.button a:hover:after {
  right: 1.4rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/*	page
--------------------------------------*/
.page-ne {
  position: relative; }
  .page-ne::after {
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 295px;
    height: 240px;
    background-image: url("../image/common/deco-w.svg");
    background-size: 295px auto;
    background-repeat: no-repeat; }
    @media screen and (min-width: 768px) {
      .page-ne::after {
        top: 0;
        right: 40px;
        width: 590px;
        height: 475px;
        background-size: 590px 475px; } }

.page {
  color: #fff;
  position: relative;
  margin-top: 60px; }
  @media screen and (min-width: 768px) {
    .page {
      margin-top: 0; } }
  .page .page-tit {
    padding: 30px 0;
    font-size: calc(2rem + (1vw - 0.32rem) * 0.8108);
    font-weight: 600; }
    @media screen and (min-width: 768px) {
      .page .page-tit {
        padding: 40px 0; } }
  @media screen and (min-width: 768px) {
    .page .mv-page {
      height: 380px;
      background-image: url("../image/about/mv.png");
      background-size: cover; } }
  .page .cutch {
    padding: 15px 0;
    font-size: calc(1.9rem + (1vw - 0.32rem) * 0.3378); }

@media screen and (min-width: 768px) {
  #institution .mv-page {
    height: 380px;
    background-image: url("../image/institution/mv.png");
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #training .mv-page {
    height: 380px;
    background-image: url("../image/training/mv.png");
    background-size: cover; } }
#training .mv-page::after {
  position: absolute;
  top: 0;
  right: 50px;
  content: '';
  width: 190px;
  height: 240px;
  background-image: url("../image/common/bg.svg");
  background-size: 190px auto;
  background-repeat: no-repeat; }
  @media screen and (min-width: 768px) {
    #training .mv-page::after {
      top: 0;
      right: 100px;
      width: 300px;
      height: 475px;
      background-size: 300px auto; } }
@media screen and (min-width: 768px) {
  #training .mv-page .mv-page {
    height: 380px;
    background-image: url("../image/about/mv.png");
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #access .mv-page {
    height: 380px;
    background-image: url("../image/access/mv.png");
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #contact .mv-page {
    height: 380px;
    background-image: url("../image/contact/mv.png");
    background-size: cover; } }

.page-ptn {
  color: #fff;
  position: relative;
  margin-top: 60px; }
  @media screen and (min-width: 768px) {
    .page-ptn {
      margin-top: 0; } }
  .page-ptn .page-tit {
    padding: 30px 0;
    font-size: calc(2rem + (1vw - 0.32rem) * 0.8108);
    font-weight: 600; }
    @media screen and (min-width: 768px) {
      .page-ptn .page-tit {
        padding: 40px 0; } }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#home .sec01 .sec01_wrap .item {
  margin-bottom: 30px;
  padding-bottom: 20px; }
  @media screen and (min-width: 768px) {
    #home .sec01 .sec01_wrap .item {
      padding: 15px 30px 30px; } }
  #home .sec01 .sec01_wrap .item:last-child {
    margin-bottom: 0; }
  #home .sec01 .sec01_wrap .item .inner {
    padding: 15px; }
    @media screen and (min-width: 768px) {
      #home .sec01 .sec01_wrap .item .inner {
        padding: 20px 20px; } }
  @media screen and (min-width: 768px) {
    #home .sec01 .sec01_wrap .item .btn-wrap {
      display: flex;
      justify-content: flex-end;
      padding-right: 60px; } }
#home .sec01 .txt-area {
  text-align: center; }
  @media screen and (min-width: 768px) {
    #home .sec01 .txt-area {
      text-align: left;
      display: flex;
      align-items: center;
      flex-direction: column; } }
  #home .sec01 .txt-area .img-ne {
    width: 50%;
    height: auto; }
    @media screen and (min-width: 768px) {
      #home .sec01 .txt-area .img-ne {
        width: 60%; } }

@media only screen and (min-width: 768px) {
  #home .bg_fix {
    position: relative;
    z-index: 1;
    height: 400px;
    background-image: url("../image/home/fix.png");
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; } }

#home .sec02 .item .pict {
  margin: 15px 0; }

#home .sec03 {
  position: relative;
  z-index: 1; }
  #home .sec03::before {
    position: absolute;
    top: 20%;
    left: 0;
    content: '';
    width: 100%;
    height: 80%;
    background-color: #fff; }
  #home .sec03 .main_area {
    position: relative;
    z-index: 5; }
    #home .sec03 .main_area .wrap .left {
      margin-bottom: 15px; }
      @media screen and (min-width: 768px) {
        #home .sec03 .main_area .wrap .left {
          width: 250px;
          padding-top: 80px; } }
      #home .sec03 .main_area .wrap .left .tit_wrap {
        display: flex;
        align-items: center;
        margin-top: 15px; }
        @media screen and (min-width: 768px) {
          #home .sec03 .main_area .wrap .left .tit_wrap {
            flex-direction: column; } }
        #home .sec03 .main_area .wrap .left .tit_wrap .ico {
          width: 40px; }
          @media screen and (min-width: 768px) {
            #home .sec03 .main_area .wrap .left .tit_wrap .ico {
              width: 60px;
              margin-bottom: 15px; } }
        #home .sec03 .main_area .wrap .left .tit_wrap .tit {
          font-size: 2rem;
          font-weight: 500;
          /*margin: 0 0 0 10px;*/ }
          @media screen and (min-width: 768px) {
            #home .sec03 .main_area .wrap .left .tit_wrap .tit {
              font-size: 3rem;
              -webkit-writing-mode: vertical-rl;
              -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl; } }
    @media screen and (min-width: 768px) {
      #home .sec03 .main_area .wrap .right {
        width: -webki-calc(100% - 290px);
        width: calc(100% - 290px); } }
    #home .sec03 .main_area .wrap .right .inner {
      padding: 0 15px 15px; }
      @media screen and (min-width: 768px) {
        #home .sec03 .main_area .wrap .right .inner {
          padding: 20px 15px; } }

#home .sec04 {
  color: #fff; }
  #home .sec04 .wrap {
    position: relative;
    z-index: 1; }
    #home .sec04 .wrap::before {
      position: absolute;
      top: 50px;
      left: 40px;
      content: '';
      width: 295px;
      height: 240px;
      background-image: url("../image/common/deco.svg");
      background-size: 295px auto;
      background-repeat: no-repeat; }
      @media screen and (min-width: 768px) {
        #home .sec04 .wrap::before {
          top: 100px;
          left: 40px;
          width: 590px;
          height: 475px;
          background-size: 590px 475px; } }
    #home .sec04 .wrap .item {
      position: relative;
      z-index: 5; }
      #home .sec04 .wrap .item .en_txt {
        margin-bottom: 15px; }
        @media screen and (min-width: 768px) {
          #home .sec04 .wrap .item .en_txt {
            margin-bottom: 20px; } }
        #home .sec04 .wrap .item .en_txt .wh {
          display: block;
          font-size: 4.5rem;
          line-height: 1.2; }
          @media screen and (min-width: 768px) {
            #home .sec04 .wrap .item .en_txt .wh {
              font-size: 5.5rem; } }
        #home .sec04 .wrap .item .en_txt .gr {
          display: block;
          font-size: 4.5rem;
          color: #4b6827;
          line-height: 1; }
          @media screen and (min-width: 768px) {
            #home .sec04 .wrap .item .en_txt .gr {
              font-size: 5rem; } }

#home .news .news_tbl {
  width: 100%; }
  #home .news .news_tbl tr {
    border-bottom: 1px solid #1d1402; }
  #home .news .news_tbl th {
    display: block;
    width: 100%;
    padding: 10px 10px 2px; }
    @media screen and (min-width: 768px) {
      #home .news .news_tbl th {
        display: table-cell;
        width: 120px;
        padding: 15px 10px; } }
  #home .news .news_tbl td {
    display: block;
    width: 100%;
    padding: 2px 10px 10px; }
    @media screen and (min-width: 768px) {
      #home .news .news_tbl td {
        display: table-cell;
        width: auto;
        padding: 15px 0; } }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#about .sec01 .clum_link {
  display: flex;
  justify-content: center;
  gap: 0 10px; }
  #about .sec01 .clum_link .set {
    width: -webki-calc((100% - 20px) / 4);
    width: calc((100% - 20px) / 4);
    text-align: center;
    height: 40px;
    border-radius: 4px;
    font-size: 1.2rem; }
    @media screen and (min-width: 768px) {
      #about .sec01 .clum_link .set {
        font-size: 1.3rem; } }
    #about .sec01 .clum_link .set a {
      display: block;
      line-height: 40px;
      border: 1px solid #18211d;
      border-radius: 4px; }
      @media screen and (min-width: 768px) {
        #about .sec01 .clum_link .set a:hover {
          background: #18211d;
          color: #fff; } }
  #about .sec01 .clum_link .active {
    background: #18211d;
    color: #fff;
    line-height: 40px; }
#about .sec01 .glp {
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    #about .sec01 .glp {
      margin-top: 50px; } }
  #about .sec01 .glp .glp-tit {
    display: flex;
    justify-content: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #1d1402;
    font-size: 1.6rem; }
    @media screen and (min-width: 768px) {
      #about .sec01 .glp .glp-tit {
        font-size: 1.8rem;
        padding-bottom: 30px; } }
    #about .sec01 .glp .glp-tit .in {
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }
  #about .sec01 .glp .txt {
    margin-top: 10px;
    text-align: right;
    font-size: 1.2rem; }
  #about .sec01 .glp .clum3 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      #about .sec01 .glp .clum3 {
        gap: 30px 40px;
        margin-top: 40px; } }
    #about .sec01 .glp .clum3 .item {
      width: -webki-calc((100% - 40px) / 3);
      width: calc((100% - 40px) / 3);
      box-shadow: rgba(67, 71, 85, 0.27) 0px 0px 0.25em, rgba(90, 125, 188, 0.05) 0px 0.25em 1em; }
      @media screen and (min-width: 768px) {
        #about .sec01 .glp .clum3 .item {
          width: -webki-calc((100% - 120px) / 4);
          width: calc((100% - 120px) / 4); } }

/*	page sv
--------------------------------------*/
#service .sec01 .wrap .set {
  position: relative;
  margin-top: 40px; }
  #service .sec01 .wrap .set .pic {
    text-align: center; }
  #service .sec01 .wrap .set .set_in {
    background: #fff;
    padding: 1rem 1.5rem 1.5rem; }
    #service .sec01 .wrap .set .set_in .tit_ct {
      margin-bottom: 10px; }
      #service .sec01 .wrap .set .set_in .tit_ct .en {
        margin-bottom: 3px; }
  #service .sec01 .wrap .set::after {
    position: absolute;
    top: 0;
    left: 10px;
    content: '';
    width: 218px;
    height: 92px;
    margin-top: -40px;
    background-size: auto 92px;
    background-repeat: no-repeat; }
#service .sec01 .wrap .txt-sv01::after {
  background-image: url("../image/sv/txt-sv01.svg"); }
#service .sec01 .wrap .txt-sv02::after {
  background-image: url("../image/sv/txt-sv02.svg"); }
#service .sec01 .wrap .txt-sv03::after {
  background-image: url("../image/sv/txt-sv03.svg"); }
#service .sec01 .wrap .txt-sv04::after {
  background-image: url("../image/sv/txt-sv04.svg"); }

@media only screen and (min-width: 768px) {
  #service .sec01 .wrap {
    flex-wrap: wrap;
    justify-content: space-between; }
    #service .sec01 .wrap .set {
      width: 46.491%; }
      #service .sec01 .wrap .set .set_in {
        padding: 1.5rem 3rem 2rem; }
        #service .sec01 .wrap .set .set_in .tit_ct {
          margin-bottom: 10px; }
          #service .sec01 .wrap .set .set_in .tit_ct .en {
            font-size: 1.8rem; }
          #service .sec01 .wrap .set .set_in .tit_ct .jp {
            font-size: 1.8rem; }
      #service .sec01 .wrap .set::after {
        top: 0;
        left: 10px;
        /*width: 435px;
        height: 184px;*/
        margin-top: -50px;
        /*background-size: 435px 184px;*/ }
    #service .sec01 .wrap .txt-sv01 {
      margin-top: 50px; }
    #service .sec01 .wrap .txt-sv02 {
      margin-top: 140px; }
    #service .sec01 .wrap .txt-sv03 {
      margin-top: 50px; }
    #service .sec01 .wrap .txt-sv04 {
      margin-top: 140px; } }
/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
@media only screen and (min-width: 768px) {
  #institution .bg_fix {
    position: relative;
    z-index: 1;
    height: 400px;
    background-image: url("../image/institution/fix.png");
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; } }

#institution .sec02 .ins_top {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    #institution .sec02 .ins_top {
      margin-bottom: 50px; } }
  #institution .sec02 .ins_top .wrap {
    position: relative;
    z-index: 1;
    margin-bottom: 15px; }
    @media screen and (min-width: 768px) {
      #institution .sec02 .ins_top .wrap {
        margin-bottom: 30px; } }
    #institution .sec02 .ins_top .wrap::before {
      position: absolute;
      top: 50px;
      left: 40px;
      content: '';
      width: 295px;
      height: 240px;
      background-image: url("../image/common/deco.svg");
      background-size: 295px auto;
      background-repeat: no-repeat; }
      @media screen and (min-width: 768px) {
        #institution .sec02 .ins_top .wrap::before {
          top: 100px;
          left: 40px;
          width: 590px;
          height: 475px;
          background-size: 590px 475px; } }
    #institution .sec02 .ins_top .wrap .item {
      position: relative;
      z-index: 5; }
      #institution .sec02 .ins_top .wrap .item .en_txt {
        margin-bottom: 15px; }
        @media screen and (min-width: 768px) {
          #institution .sec02 .ins_top .wrap .item .en_txt {
            margin-bottom: 20px; } }
        #institution .sec02 .ins_top .wrap .item .en_txt .wh {
          display: block;
          font-size: 4.5rem;
          line-height: 1.2; }
          @media screen and (min-width: 768px) {
            #institution .sec02 .ins_top .wrap .item .en_txt .wh {
              font-size: 5.5rem; } }
        #institution .sec02 .ins_top .wrap .item .en_txt .gr {
          display: block;
          font-size: 4.5rem;
          color: #4b6827;
          line-height: 1; }
          @media screen and (min-width: 768px) {
            #institution .sec02 .ins_top .wrap .item .en_txt .gr {
              font-size: 5rem; } }

#institution .sec02 .ins_btm .wrap {
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    #institution .sec02 .ins_btm .wrap {
      margin-bottom: 50px; } }
  #institution .sec02 .ins_btm .wrap .item .tit {
    position: relative;
    font-size: calc(1.7rem + (1vw - 0.32rem) * 0.2027);
    font-weight: 500;
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      #institution .sec02 .ins_btm .wrap .item .tit {
        margin-bottom: 40px; } }
    #institution .sec02 .ins_btm .wrap .item .tit::after {
      content: '';
      position: absolute;
      bottom: -12px;
      left: 0;
      width: 40px;
      height: 2px;
      background: #1d1402; }

#institution .sec02 .set .clum3 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px; }
  @media screen and (min-width: 768px) {
    #institution .sec02 .set .clum3 {
      gap: 30px 40px; } }
  #institution .sec02 .set .clum3 .item {
    width: -webki-calc((100% - 40px) / 3);
    width: calc((100% - 40px) / 3); }
    @media screen and (min-width: 768px) {
      #institution .sec02 .set .clum3 .item {
        width: -webki-calc((100% - 80px) / 3);
        width: calc((100% - 80px) / 3); } }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#training .tit_ct {
  position: relative;
  text-align: center;
  font-size: calc(1.9rem + (1vw - 0.32rem) * 0.3378);
  font-weight: 500;
  padding: 50px 0 0;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    #training .tit_ct {
      padding: 80px 0 0;
      margin-bottom: 30px; } }
  #training .tit_ct::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 40px;
    background: #1d1402;
    margin-left: -1px; }
    @media screen and (min-width: 768px) {
      #training .tit_ct::before {
        height: 60px; } }
#training .tit {
  margin-bottom: 10px;
  font-size: calc(1.7rem + (1vw - 0.32rem) * 0.2027);
  font-weight: 600; }

#training .sec02, #training .sec04 {
  color: #fff; }
  #training .sec02 .tit_ct, #training .sec04 .tit_ct {
    color: #fff; }
    #training .sec02 .tit_ct::before, #training .sec04 .tit_ct::before {
      background: #fff; }

#training {
  /*.page {
  	padding-bottom: 30px;
  	@media screen and ($sp-first){
  		padding-bottom: 60px;
  	}
  }*/ }
  #training .pict {
    margin-bottom: 15px; }
    @media screen and (min-width: 768px) {
      #training .pict {
        margin-bottom: 30px; } }
  #training .pict-wrap {
    display: flex;
    justify-content: space-between;
    gap: 0 15px;
    margin-top: 15px; }
    @media screen and (min-width: 768px) {
      #training .pict-wrap {
        margin-top: 30px; } }
    #training .pict-wrap .item {
      width: -webki-calc((100% - 15px) / 2);
      width: calc((100% - 15px) / 2); }
      @media screen and (min-width: 768px) {
        #training .pict-wrap .item {
          width: -webki-calc((100% - 40px) / 2);
          width: calc((100% - 40px) / 2); } }

#training .sec01 .btn {
  margin-top: 20px; }

#training .sec02 .btn-wh {
  margin-top: 20px; }

@media screen and (min-width: 768px) {
  #training .sec03 .book .in {
    padding: 0 40px; } }
@media screen and (min-width: 768px) {
  #training .sec03 .book .pict-wrap {
    gap: 0 30%; } }
@media screen and (min-width: 768px) {
  #training .sec03 .book .pict-wrap .item {
    width: -webki-calc((100% - 30%) / 2);
    width: calc((100% - 30%) / 2); } }
#training .sec03 .book .clum-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 15px;
  margin-top: 20px; }
  @media screen and (min-width: 768px) {
    #training .sec03 .book .clum-3 {
      margin-top: 60px;
      gap: 50px 80px; } }
  #training .sec03 .book .clum-3 .item {
    border: 1px solid #ccc;
    width: -webki-calc((100% - 30px) / 3);
    width: calc((100% - 30px) / 3); }
    @media screen and (min-width: 768px) {
      #training .sec03 .book .clum-3 .item {
        width: -webki-calc((100% - 160px) / 3);
        width: calc((100% - 160px) / 3); } }

#training .sec05 .price {
  text-align: center; }
  #training .sec05 .price .price_txt {
    display: inline-block;
    padding: 12px 15px;
    font-size: 1.7rem;
    border: 1px solid #1d1402;
    margin-bottom: 15px; }
#training .sec05 .btn-wrap {
  width: 90%;
  /*width: 300px;*/
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    #training .sec05 .btn-wrap {
      width: 100%;
      margin: 40px 0 0;
      display: flex;
      justify-content: center;
      gap: 0 40px; } }
  #training .sec05 .btn-wrap .button {
    margin: 20px 0 0; }
    @media screen and (min-width: 768px) {
      #training .sec05 .btn-wrap .button {
        margin: 0;
        width: 40%; } }

/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#access .sec01 .tbl {
  margin-bottom: 30px;
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    #access .sec01 .tbl {
      margin-bottom: 50px;
      margin-top: 50px; } }

.policy_wrap {
  padding: 35px 0 45px; }
  .policy_wrap .policy_fst {
    margin-bottom: 35px; }
    .policy_wrap .policy_fst .policy_tit {
      text-align: center;
      font-size: 1.8rem;
      line-height: 1.25;
      margin-bottom: 15px; }
    .policy_wrap .policy_fst .policy_txt {
      margin-bottom: 10px; }
    .policy_wrap .policy_fst ul {
      margin-left: 20px; }
      .policy_wrap .policy_fst ul .li {
        padding-left: 2em;
        text-indent: -2em; }

.policy_wrap .policy_sec {
  margin-bottom: 25px; }
  .policy_wrap .policy_sec .policy_sec_tit {
    border-bottom: 1px solid #b5b7e8;
    padding-bottom: 5px;
    margin-bottom: 17px; }
  .policy_wrap .policy_sec .policy_list ul {
    margin: 20px 0 20px 20px; }
    .policy_wrap .policy_sec .policy_list ul li {
      padding-left: 2em;
      text-indent: -2em; }
  .policy_wrap .policy_sec .sign {
    text-align: right;
    margin-top: 30px; }

@media only screen and (min-width: 768px) {
  .policy_wrap {
    padding: 60px 0 45px; }
    .policy_wrap .policy_fst {
      margin-bottom: 50px; }
      .policy_wrap .policy_fst .policy_tit {
        text-align: center;
        font-size: 1.8rem;
        line-height: 1.25;
        margin-bottom: 15px; }
      .policy_wrap .policy_fst .policy_txt {
        margin-bottom: 15px; }

  .policy_wrap .policy_sec {
    margin-bottom: 45px; }
    .policy_wrap .policy_sec .sign {
      text-align: right;
      margin-top: 50px; } }
/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
.contact_sec01 .con_info {
  padding: 17px 15px 15px;
  border: 1px solid #ccc;
  margin-bottom: 30px;
  /*.txt {
  	margin-bottom: 15px;
  }*/ }
.contact_sec01 .cons_form_wrap {
  padding: 15px 25px;
  border: 1px solid #ccc;
  background: #fff; }
  .contact_sec01 .cons_form_wrap .contact_tbl th {
    display: block;
    width: 100%;
    padding: 15px 15px 0; }
    .contact_sec01 .cons_form_wrap .contact_tbl th .req {
      display: inline-block;
      padding: 1px 10px 1px;
      margin-left: 5px;
      font-size: 1.3rem;
      color: #fff;
      background: #fc5c44; }
  .contact_sec01 .cons_form_wrap .contact_tbl td {
    display: block;
    width: 100%;
    padding: 15px 15px; }
  .contact_sec01 .cons_form_wrap .contact_tbl tr {
    border-bottom: 1px solid #ccc; }
  .contact_sec01 .cons_form_wrap .approval {
    text-align: center;
    margin: 30px 0; }
    .contact_sec01 .cons_form_wrap .approval .approval_txt .link {
      border-bottom: 1px solid #3c271f; }

@media screen and (min-width: 768px) {
  .contact_sec01 .con_info {
    padding: 30px 25px 25px;
    text-align: center;
    /*.txt {
    	margin-bottom: 30px;
    }*/ }
  .contact_sec01 .cons_form_wrap {
    padding: 55px 50px 65px; }
    .contact_sec01 .cons_form_wrap .contact_tbl th {
      display: table-cell;
      width: 30%;
      padding: 25px 30px; }
    .contact_sec01 .cons_form_wrap .contact_tbl td {
      display: table-cell;
      width: 70%;
      padding: 25px 30px; }
    .contact_sec01 .cons_form_wrap .approval {
      margin: 60px 0 70px; }
      .contact_sec01 .cons_form_wrap .approval .approval_txt {
        margin-top: 40px; } }
.contact_sec01 .cons_form_wrap .cons_form_note {
  margin: 30px 0; }
  .contact_sec01 .cons_form_wrap .cons_form_note a {
    display: inline-block;
    padding-bottom: 1px;
    border-bottom: 1px solid #ccc; }
    .contact_sec01 .cons_form_wrap .cons_form_note a:hover {
      color: #cfcfcf;
      border-bottom: 1px solid #cfcfcf; }
  .contact_sec01 .cons_form_wrap .cons_form_note .cons_form_txt {
    margin-top: 10px;
    text-align: center; }

@media screen and (min-width: 768px) {
  .contact_sec01 .cons_form_wrap .cons_form_note .cons_form_txt {
    margin-top: 30px; } }
#thanks,
.thanks_wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative; }

.thanks_foot {
  margin-top: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

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

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

input[type=text], input[type=email] {
  width: 100%;
  height: 35px;
  border: 1px solid #d6d6d6;
  padding: 5px 10px 5px 15px;
  font-size: 14px;
  /*color: #fff;*/ }

input[type=tel] {
  width: 100%;
  height: 35px;
  border: 1px solid #d6d6d6;
  /*border: none;*/
  padding: 5px 10px 5px 15px;
  font-size: 14px;
  /*color: #fff;*/ }

input[type=checkbox] {
  font-size: 14px;
  margin-bottom: 4px;
  background: #000;
  border: 1px solid #ccc; }

textarea {
  width: 100%;
  height: 15em;
  border: 1px solid #d6d6d6;
  /*border: none;*/
  padding: 10px 10px 10px 15px;
  font-size: 14px;
  /*color: #fff;*/ }

.mwform-radio-field input {
  margin-bottom: 7px; }

input[type="submit"], input[type="button"] {
  display: block;
  width: 240px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  background: #554f4a;
  color: #fff;
  font-size: 16px; }

input[type="submit"].apbtn_right {
  display: block;
  width: 240px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  background: #554f4a;
  color: #fff;
  font-size: 16px; }

@media screen and (min-width: 768px) {
  input[type="submit"].apbtn_right {
    font-size: 16px; }

  input[type="submit"], input[type="button"] {
    font-size: 16px; } }
input[type="submit"]:hover, input[type="button"]:hover {
  background: #75695f;
  color: #fff; }

@media only screen and (min-width: 768px) {
  .form_policy {
    text-align: center;
    margin: 15px 0; } }
/*	style info : check_field
--------------------------------------*/
@media screen and (min-width: 768px) {
  .check_field .horizontal-item {
    display: inline-block;
    width: 50%; }

  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0 !important; } }
/* 送信 */
.form_btn {
  width: 80%;
  max-width: 240px;
  margin: 0 auto 30px; }

/*.form_btn input[type=button], .form_btn input[type=submit] {
	width: 80%;
	max-width: 300px;
	text-align: center;
	display: block;
	width: 100%;
	padding: 15px 0;
	background: #333;
	font-size: 1.4rem;
}*/
.form_btn_sc {
  width: 240px;
  margin: 30px auto 0; }
  .form_btn_sc .item_btn {
    margin-bottom: 20px; }

@media screen and (min-width: 768px) {
  .form_btn_sc {
    width: 600px;
    margin: 50px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .form_btn_sc .item_btn {
      width: 240px; }

  .form_btn input[type=button], .form_btn input[type=submit] {
    width: 240px; } }
.thanks_in {
  border: 1px solid #ccc;
  padding: 40px 15px; }
  .thanks_in .thanks_tit {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 30px; }
  .thanks_in .txt {
    margin-bottom: 30px; }
  .thanks_in .thsanks_cv_in {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 30px 0; }
    .thanks_in .thsanks_cv_in .left {
      text-align: center;
      margin-bottom: 30px; }
    .thanks_in .thsanks_cv_in .right .tel_nb {
      text-align: center;
      padding-left: 30px; }
      .thanks_in .thsanks_cv_in .right .tel_nb span {
        display: inline-block;
        position: relative;
        font-size: 2.5rem; }
        .thanks_in .thsanks_cv_in .right .tel_nb span::before {
          position: absolute;
          content: '';
          top: 50%;
          left: -50px;
          display: block;
          width: 46px;
          height: 30px;
          margin-top: -15px;
          background-repeat: no-repeat;
          background-image: url(../images/common/ico_free_w.png);
          background-size: 46px 30px; }
    .thanks_in .thsanks_cv_in .right .txt {
      text-align: center; }

@media screen and (min-width: 768px) {
  .thanks_in {
    padding: 80px 130px; }
    .thanks_in .thanks_tit {
      font-size: 2.4rem;
      text-align: center;
      margin-bottom: 100px; }
    .thanks_in .thanks_txtarea {
      text-align: center; }
      .thanks_in .thanks_txtarea .txt {
        display: inline-block;
        text-align: left;
        margin-bottom: 60px; }
    .thanks_in .thsanks_cv_in {
      padding: 50px 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center; }
      .thanks_in .thsanks_cv_in .left {
        width: 50%;
        margin-bottom: 0; }
      .thanks_in .thsanks_cv_in .right {
        width: 50%;
        padding-top: 10px; }
        .thanks_in .thsanks_cv_in .right .tel_nb {
          text-align: center;
          padding-left: 30px; }
          .thanks_in .thsanks_cv_in .right .tel_nb span {
            font-size: 3rem; }
        .thanks_in .thsanks_cv_in .right .txt {
          text-align: center; } }
/* メディアクエリ
---------------------------------------- */
/* font-size 320 - 1800
---------------------------------------- */
/*1.9 - 2.4*/
/*1.7 - 2*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
.mv_home {
  position: relative;
  /*margin-top: -73px;*/ }
  .mv_home::after {
    position: absolute;
    top: 50px;
    right: 10px;
    content: '';
    width: 224px;
    height: 180px;
    background-image: url("../image/common/ne.svg");
    background-size: 224px 180px; }

@media screen and (min-width: 768px) {
  .mv_home {
    height: 500px; }
    .mv_home::after {
      top: 50px;
      right: 10px;
      width: 448px;
      height: 360px;
      background-size: 448px 360px; } }
.mv {
  height: 260px; }

.cb_slideshow,
.cb_slideshow:after {
  height: 260px; }

@media screen and (min-width: 768px) {
  .mv {
    height: 500px; }

  .cb_slideshow,
  .cb_slideshow:after {
    height: 260px; } }
.cb_slideshow li {
  position: relative; }

.cb_slideshow li span {
  width: 100%;
  height: 260px;
  position: absolute;
  top: 0px;
  left: 0px;
  color: transparent;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: none;
  opacity: 0;
  z-index: 0;
  animation: imageAnimation 24s linear infinite 0s; }

@media screen and (min-width: 768px) {
  .cb_slideshow li span {
    height: 500px; } }
.cb_slideshow li .item {
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0px;
  width: 100%;
  height: 260px;
  /*text-align: center;*/
  opacity: 0;
  animation: titleAnimation 24s linear infinite 0s; }

@media screen and (min-width: 768px) {
  .cb_slideshow li .item {
    height: 500px;
    /*position: relative;*/ } }
.cb_slideshow li .item .tit_wrap {
  font-size: 1.4rem;
  color: #003174;
  padding: 120px 0 0 40px;
  line-height: 3; }
  .cb_slideshow li .item .tit_wrap .tit {
    background: linear-gradient(transparent 10%, #fff 0%);
    display: inline;
    padding: 5px 10px; }

@media screen and (min-width: 768px) {
  .cb_slideshow li .item .tit_wrap {
    font-size: 2rem;
    padding: 450px 0 0 240px;
    line-height: 3; }
    .cb_slideshow li .item .tit_wrap .tit {
      background: linear-gradient(transparent 10%, #fff 0%);
      display: inline;
      padding: 12px 10px 10px; } }
@media only screen and (min-width: 910px) {
  .cb_slideshow li .item .tit_wrap {
    font-size: 2.8rem;
    padding: 450px 0 0 240px;
    line-height: 3; }
    .cb_slideshow li .item .tit_wrap .tit {
      background: linear-gradient(transparent 10%, #fff 0%);
      display: inline;
      padding: 12px 10px 10px; } }
.cb_slideshow li:nth-child(2) .item {
  animation-delay: 8s; }

.cb_slideshow li:nth-child(3) .item {
  animation-delay: 16s; }

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    transform: translate(0, 20px);
    opacity: 0; }
  100% {
    opacity: 0; } }
/*	style info : repair
--------------------------------------*/
.slid li:nth-child(1) span {
  background-image: url("../image/home/slide01.png"); }

.slid li:nth-child(2) span {
  background-image: url("../image/home/slide02.png");
  animation-delay: 8s; }

.slid li:nth-child(3) span {
  background-image: url("../image/home/slide03.png");
  animation-delay: 16s; }

/*@media only screen and (min-width: 640px) {
.slid li:nth-child(1) span {
    background-image: url("../images/home/mv01.png");
}
.slid li:nth-child(2) span {
    background-image: url("../images/home/mv02.png");
    animation-delay: 8s;
}
.slid li:nth-child(3) span {
    background-image: url("../images/home/mv03.png");
    animation-delay: 16s;
}

}
*/
@keyframes imageAnimation {
  0% {
    opacity: 0;
    animation-timing-function: ease-in; }
  15% {
    opacity: 1;
    animation-timing-function: ease-out; }
  30% {
    opacity: 1; }
  60% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes titleAnimation {
  0% {
    opacity: 0; }
  15% {
    opacity: 1; }
  30% {
    opacity: 1; }
  58% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes imageAnimation {
  0% {
    opacity: 0;
    animation-timing-function: ease-in; }
  12% {
    opacity: 1;
    animation-timing-function: ease-out; }
  30% {
    opacity: 1; }
  60% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes titleAnimation {
  0% {
    opacity: 0; }
  12% {
    opacity: 1; }
  30% {
    opacity: 1; }
  58% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.no-cssanimations .cb_slideshow li span {
  opacity: 1; }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
  outline: none; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid #000;
  /*border: 4px solid white;*/ }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
     This is visible during transitions. */
  /*background-color: white;*/
  background-color: #000; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../image/common/loading.gif) no-repeat; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: -5px;
  float: left;
  background: url(../image/common/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: -5px;
  float: right;
  background: url(../image/common/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-caption a {
  color: #4ae; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../image/common/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }
