@charset "UTF-8";
/**
 * Common Styles
 *
 * 01. Reset
 * 02. Base
 * 03. Layout
 * 04. Parts
 * 05. Responisive
 *
 */
/* ==========================================================================
   01. Reset
   ========================================================================== */
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, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

mark {
  background-color: #ff9;
  color: #000;
  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;
}

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

input, select {
  vertical-align: middle;
}

/* ==========================================================================
   02. Base
   ========================================================================== */
html {
  color: #1A1A1A;
  font-size: 62.5%;
}

body {
  font-family: Helvetica, "メイリオ", Meiryo, sans-serif;
  font-size: 150%;
  -webkit-text-size-adjust: 100%;
  min-width: 1280px;
  line-height: 1.85;
}

body * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#main {
  display: block;
}

/* link
   ========================================================================== */
a {
  color: #1A1A1A;
  text-decoration: underline;
}

a:visited {
  color: #1A1A1A;
  text-decoration: none;
}

a:hover {
  color: #1A1A1A;
  text-decoration: none;
}

/* image
   ========================================================================== */
img {
  height: auto;
  line-height: 1;
  max-width: 100%;
  vertical-align: top;
}

table th img,
table td img {
  vertical-align: middle;
}

/* ClearFix
   ========================================================================== */
.clear {
  clear: both;
}

.clearfix,
.fbox,
#contents {
  display: block;
}

.clearfix:after,
.fbox:after,
#contents:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* float
   ========================================================================== */
.fr {
  float: right;
}

.fl {
  float: left;
}

ul.fbox li {
  float: left;
  display: inline;
}

/* margin
   ========================================================================== */
.mt0 {
  margin-top: 0px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

.mb0 {
  margin-bottom: 0px !important;
}

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

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

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

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

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

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

.mr0 {
  margin-right: 0px !important;
}

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

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

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

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

.ml0 {
  margin-left: 0px !important;
}

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

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

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

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

/* padding
   ========================================================================== */
.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

/* form label
   ========================================================================== */
input,
textarea,
label {
  vertical-align: middle;
}

/* position
   ========================================================================== */
.text-r {
  text-align: right !important;
}

.text-c,
table.text-c th,
table.text-c td,
table.th-c th {
  text-align: center !important;
}

.text-l {
  text-align: left !important;
}

/* block
   ========================================================================== */
/* 左右余白確保用 */
@media screen and (min-width: 768px), print {
  .pc-pdg {
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media screen and (max-width: 767px) {
  .sp-pdg {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ==========================================================================
   03. Layout
   ========================================================================== */
/* wrapper
   ========================================================================== */
html, body {
  min-height: 100%;
}

/* #headを囲むブロック要素 */
#container {
  width: 100%;
  height: 100%;
  display: flex;
}

/* #contentsを囲むブロック要素 */
#wrapper {
  width: 100%;
}

/* #mainと#sideを囲むブロック要素 */
#contents {
  min-height: calc(100vh - 40px);
}

/* メインエリア */
#main {
  padding-bottom: 80px;
}

/* サイドエリア */
/* header
   ========================================================================== */
#head {
  position: relative;
  min-width: 570px;
  min-height: 100%;
}

#head.collapse {
  width: 240px;
  min-width: 240px;
}

#head #head-inner {
  width: 100%;
  height: 100vh;
  z-index: 10;
  top: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

#head #head-inner.nav-on {
  min-width: 570px;
}

/* ヘッダー内のロゴ */
.head-logo-box .head-logo {
  text-align: center;
  padding-top: 24px;
}

.head-logo-box .head-logo a {
  display: block;
  text-decoration: none;
}

.head-logo-box .head-logo a::after {
  display: none;
}

.head-logo-box .head-logo .head-copy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.85;
  margin-top: 14px;
  display: block;
  font-weight: 400;
  line-height: 1.3;
}

.head-logo-box .head-logo .head-copy::before, .head-logo-box .head-logo .head-copy::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.head-logo-box .head-logo .head-copy::before {
  margin-bottom: calc(-0.4em + 0px);
}

.head-logo-box .head-logo .head-copy::after {
  margin-top: calc(-0.4em + 0px);
}

.head-logo-box .btm-txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.85;
  text-align: center;
  background-color: #E1F2E1;
  margin: 14px 22px 13px;
  padding: 10px 0;
}

.head-logo-box .btm-txt::before, .head-logo-box .btm-txt::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.head-logo-box .btm-txt::before {
  margin-bottom: calc(-0.4em + 0px);
}

.head-logo-box .btm-txt::after {
  margin-top: calc(-0.4em + 0px);
}

/* ヘッダー内のお問い合わせ */
/* nav
   ========================================================================== */
/* head-main-col */
.head-main-col {
  width: 240px;
  height: 100%;
  min-height: 630px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  backface-visibility: hidden;
  display: flex;
  flex-direction: column;
}

/* g-nav */
.g-nav {
  /* nav-list */
}

.g-nav .nav-list {
  /* nav-list-top */
  /* nav-list-bottom */
}

.g-nav .nav-list .nav-item a {
  display: block;
  text-decoration: none;
  transition: all 0.2s;
}

.g-nav .nav-list .nav-item a::before {
  width: 4px;
  right: 24px;
  top: 1.4em;
  bottom: inherit;
  height: 7.5px;
  transition: all 0.2s;
}

.g-nav .nav-list .nav-item a:hover {
  background-color: #F5FFF5;
  color: #3EB134;
  opacity: 1;
}

.g-nav .nav-list .nav-item a:hover::before {
  opacity: 0;
}

.g-nav .nav-list .nav-item.active > a {
  background-color: #F5FFF5;
  color: #3EB134;
  opacity: 1;
}

.g-nav .nav-list .nav-item.active > a::before {
  opacity: 0;
}

.g-nav .nav-list.nav-parents > .nav-item > a {
  padding: 10px 24px;
  font-weight: 400;
}

.g-nav .nav-list.nav-parents > .nav-item > a:hover {
  font-weight: 500;
}

.g-nav .nav-list.nav-parents > .nav-item > a.active {
  font-weight: 500;
}

.g-nav .nav-list.nav-parents > .nav-item > a .txt-head-fix {
  display: block;
  font-size: 13px;
  font-size: 1.3rem;
  text-indent: -.5em;
}

.g-nav .nav-list.nav-list-top {
  border-top: 1px solid #DDD;
  padding-top: 20px;
}

.g-nav .nav-list.nav-list-bottom {
  margin-top: 21.5px;
}

.g-nav .nav-list.nav-list-bottom .nav-item {
  border-top: 1px solid;
}

.g-nav .nav-list.nav-list-bottom .item-guide {
  transition: border-color 0.2s;
  border-top-color: #DDD;
}

.g-nav .nav-list.nav-list-bottom .item-guide .icon-info {
  padding-left: 26px;
  color: #3EB134;
}

.g-nav .nav-list.nav-list-bottom .item-guide .icon-info::before {
  width: 18px;
  height: 18px;
}

.g-nav .nav-list.nav-list-bottom .item-guide > a {
  transition: all 0.2s;
}

.g-nav .nav-list.nav-list-bottom .item-guide > a::before {
  transition: all 0.2s;
}

.g-nav .nav-list.nav-list-bottom .item-guide > a:hover {
  background-color: #F5FFF5;
  color: #3EB134;
  opacity: 1;
}

.g-nav .nav-list.nav-list-bottom .item-guide > a.active {
  background-color: #F5FFF5;
  color: #3EB134;
  opacity: 1;
}

.g-nav .nav-list.nav-list-bottom .item-guide > a.active::before {
  transform: translateX(3px);
}

.g-nav .nav-list.nav-list-bottom .item-store {
  border-top-color: #fff;
}

.g-nav .nav-list.nav-list-bottom .item-store a {
  background-color: #3EB134;
  transition: opacity 0.2s;
}

.g-nav .nav-list.nav-list-bottom .item-store a::after {
  display: none;
}

.g-nav .nav-list.nav-list-bottom .item-store a:hover {
  opacity: 0.6;
}

.g-nav .nav-list.nav-list-bottom .item-store .icon-store {
  padding-left: 24px;
  color: #fff;
}

.g-nav .nav-list.nav-list-bottom .item-store .icon-store::before {
  width: 15px;
  height: 20px;
}

/* nav(nav-inner-box)
   ========================================================================== */
.nav-inner-box {
  position: absolute;
  width: 330px;
  height: 100%;
  padding: 47px 0 15px;
  top: 0;
  left: 240px;
  z-index: 10;
  background: url(img/bg_nav.png) no-repeat center bottom #F5FFF5;
  background-size: 100%;
  transition: all 0.2s ease-out;
  opacity: 0;
  visibility: hidden;
}

.nav-inner-box .cate-ttl {
  line-height: 1.85;
  text-align: center;
  border-top: 1px solid #1A1A1A;
  border-bottom: 1px solid #1A1A1A;
  padding: 17px 0;
  margin: 0 24px;
  font-weight: 500;
}

.nav-inner-box .cate-ttl::before, .nav-inner-box .cate-ttl::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.nav-inner-box .cate-ttl::before {
  margin-bottom: calc(-0.4em + 0px);
}

.nav-inner-box .cate-ttl::after {
  margin-top: calc(-0.4em + 0px);
}

.nav-inner-box .nav-pg-list {
  margin-top: 25px;
}

.nav-inner-box .nav-pg-list .nav-pg-link a {
  padding: 11.5px 24px;
  font-size: 14px;
  font-size: 1.4rem;
  transition: all 0.2s;
  font-weight: 350;
}

.nav-inner-box .nav-pg-list .nav-pg-link a:hover {
  opacity: 1;
  background-color: rgba(62, 177, 52, 0.1);
  color: #3EB134;
  font-weight: 500;
}

.nav-inner-box .nav-pg-list .nav-pg-link a:hover::before {
  opacity: 0;
}

.nav-inner-box .nav-pg-list .nav-pg-link.active a {
  opacity: 1;
  background-color: rgba(62, 177, 52, 0.1);
  color: #3EB134;
  font-weight: 500;
}

.nav-inner-box .nav-pg-list .nav-pg-link.active a::before {
  opacity: 0;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest:last-child a::after {
  display: none;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest a {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest a::before {
  top: 2em;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest a::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 48px);
  height: 1px;
  background-color: rgba(62, 177, 52, 0.32);
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest:hover a::after, .nav-inner-box .nav-pg-list .nav-pg-link.item-nest.active a::after {
  opacity: 0;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 500;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest .list-nest {
  margin: 10px 0 0 8px;
}

.nav-inner-box .nav-pg-list .nav-pg-link.item-nest .list-nest li {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 8px;
  color: #1A1A1A;
  font-weight: lighter;
}

/* nav-item(active) */
.nav-item.active > a + .nav-inner-box {
  opacity: 1;
  visibility: inherit;
  z-index: 10;
}

.nav-item:hover > a + .nav-inner-box {
  opacity: 1;
  visibility: inherit;
  z-index: 20;
}

/* nav(head-utility)
   ========================================================================== */
.head-utility {
  width: 100%;
  padding: 14px 16px 24px;
  margin-top: auto;
  border-top: 1px solid #DDD;
}

.head-utility .utility-list .utility-item {
  padding: 0 7px;
}

.head-utility .utility-list .utility-item a[target="_blank"] {
  font-size: 12px;
  font-size: 1.2rem;
  display: block;
  text-decoration: none;
}

.head-utility .utility-list .utility-item a[target="_blank"]::after {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  position: absolute;
}

.head-utility .utility-list .utility-item:nth-child(n+2) {
  margin-top: 3px;
}

.head-utility .language {
  position: relative;
  margin-top: 9px;
  height: 24px;
}

.head-utility .language #lang-list {
  width: 100%;
  height: 24px;
  transition: all 0.2s;
  border: 1px solid #DDD;
  position: absolute;
  bottom: 0;
}

.head-utility .language #lang-list li {
  text-align: center;
  position: absolute;
  width: 100%;
  background-color: #fff;
  height: 22px;
}

.head-utility .language #lang-list li.active {
  z-index: 10;
}

.head-utility .language #lang-list a {
  display: block;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
  text-decoration: none;
  height: 100%;
  padding-top: 1px;
  position: relative;
  transition: opacity 0.2s;
}

.head-utility .language #lang-list a:hover {
  opacity: 0.6;
}

.head-utility .language.select #lang-list {
  height: 48px;
  background-color: #fff;
}

.head-utility .language.select #lang-list li {
  position: static;
  height: 23px;
}

.head-utility .language.select #lang-list li a {
  pointer-events: inherit;
  transition: all 0.2s;
}

.head-utility .language.select #lang-list li a:hover {
  background-color: rgba(62, 177, 52, 0.1);
  cursor: pointer;
}

.head-utility .language.select .lang-arrow {
  right: 0;
  top: 0;
  z-index: 20;
  width: 24px;
}

/* nav(fix - absolute)
   ========================================================================== */
#head.nav-pos-top #head-inner {
  position: absolute;
}

/* navigation
   ========================================================================== */
/* グローバルナビゲーション（nav） */
/* グローバルナビゲーション内のリスト（ul） */
/* SPレイアウト時のメニューボタン */
/* side
   ========================================================================== */
/* サイドエリア内のタイトル */
/* サイドエリア内のナビゲーション */
/* footer
   ========================================================================== */
#foot {
  background-color: #F9F9F9;
  position: relative;
  height: 40px;
  display: flex;
  align-items: center;
}

/* Copyright */
.copy {
  height: 8px;
  padding-left: 63px;
}

.copy img {
  height: 100%;
}

/* フッター内のロゴ */
/* フッター内の住所などの連絡先情報 */
/* フッター内のお問い合わせ */
/* フッター内のナビゲーション（ul） */
/* foot-navと対となるタイトル */
/* .foot-nav、.foot-nav-ttlを囲むブロック要素 */
/* ページトップ */
#pagetop {
  position: absolute;
  height: 100%;
  top: 0;
  right: 0;
}

#pagetop a {
  color: #1A1A1A;
  display: block;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 40px;
  height: 100%;
}

#pagetop a::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 24px;
  background-color: #DDD;
  top: 50%;
  transform: translateY(-50%);
}

#pagetop a span {
  display: block;
  position: absolute;
  width: 6px;
  height: 6px;
  top: 50%;
  left: 50%;
  transform: rotate(45deg);
  transform-origin: left;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-top: 1px solid #1A1A1A;
  border-left: 1px solid #1A1A1A;
  transition: all 0.2s;
}

#pagetop a:hover span {
  transform: translateY(-3px) rotate(45deg);
  opacity: 0.6;
}

/* ==========================================================================
   04. Parts
   ========================================================================== */
/* ブロック
   ========================================================================== */
.block-wrap-l {
  margin-bottom: 120px;
}

.block-wrap-l > * {
  margin-bottom: 80px;
}

.block-wrap-l > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .block-wrap-l {
    margin-bottom: 60px;
  }
  .block-wrap-l > * {
    margin-bottom: 40px;
  }
}

.block-wrap-m {
  margin-bottom: 80px;
}

.block-wrap-m > * {
  margin-bottom: 30px;
}

.block-wrap-m > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .block-wrap-m {
    margin-bottom: 40px;
  }
  .block-wrap-m > * {
    margin-bottom: 15px;
  }
}

/* ボックス
   ========================================================================== */
/* センターボックス */
.box-center {
  max-width: 1200px;
  padding-left: 64px;
  padding-right: 64px;
  position: relative;
}

/* 横並びボックス（flex） */
@media screen and (min-width: 768px), print {
  .box-col2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-right: 20px;
  }
  .box-col2 > * {
    margin: 20px 20px 0 0;
    overflow: hidden;
    width: 50%;
  }
  .box-col2 > *:nth-child(2n) {
    margin-right: -20px;
  }
  .box-col2 > *:nth-child(-n+2) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .box-col2 > * {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .box-col3 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-right: 40px;
  }
  .box-col3 > * {
    margin: 20px 20px 0 0;
    overflow: hidden;
    width: 33.3333333333%;
  }
  .box-col3 > *:nth-child(3n) {
    margin-right: -40px;
  }
  .box-col3 > *:nth-child(-n+3) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .box-col3 > * {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .box-col4 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-right: 60px;
  }
  .box-col4 > * {
    margin: 20px 20px 0 0;
    overflow: hidden;
    width: 25%;
  }
  .box-col4 > *:nth-child(4n) {
    margin-right: -60px;
  }
  .box-col4 > *:nth-child(-n+4) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .box-col4 > * {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .box-col2-parsent {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .box-col2-parsent > * {
    overflow: hidden;
    width: 49%;
  }
  .box-col2-parsent > *:nth-child(n+1) {
    margin: 2% 2% 0 0;
  }
  .box-col2-parsent > *:nth-child(2n) {
    margin-right: 0;
  }
  .box-col2-parsent > *:nth-child(-n+2) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .box-col2-parsent > * {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .box-col3-parsent {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .box-col3-parsent > * {
    overflow: hidden;
    width: 32%;
  }
  .box-col3-parsent > *:nth-child(n+1) {
    margin: 2% 2% 0 0;
  }
  .box-col3-parsent > *:nth-child(3n) {
    margin-right: 0;
  }
  .box-col3-parsent > *:nth-child(-n+3) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .box-col3-parsent > * {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .box-col4-parsent {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .box-col4-parsent > * {
    overflow: hidden;
    width: 23.5%;
  }
  .box-col4-parsent > *:nth-child(n+1) {
    margin: 2% 2% 0 0;
  }
  .box-col4-parsent > *:nth-child(4n) {
    margin-right: 0;
  }
  .box-col4-parsent > *:nth-child(-n+4) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .box-col4-parsent > * {
    margin-bottom: 15px;
  }
}

/* 画像左、テキスト右 */
@media screen and (min-width: 768px), print {
  .box-img-l {
    display: -ms-flexbox;
    display: flex;
  }
  .box-img-l .box-img {
    padding-right: 40px;
  }
  .box-img-l .box-text {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .box-img-l .box-img {
    margin-bottom: 20px;
  }
  .box-img-l .box-img img {
    height: auto;
    width: 100%;
  }
}

/* 画像右、テキスト左 */
@media screen and (min-width: 768px), print {
  .box-img-r {
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .box-img-r .box-img {
    padding-left: 40px;
  }
  .box-img-r .box-text {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .box-img-r .box-img {
    margin-bottom: 20px;
  }
  .box-img-r .box-img img {
    height: auto;
    width: 100%;
  }
}

/* ボタン
   ========================================================================== */
/* ボタンの基本スタイル */
.btn01, .btn02 {
  display: inline-block;
  line-height: 1.2;
  outline: none;
  text-align: center;
  text-decoration: none !important;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/* スタイル別クラス */
.btn01,
.btn02 {
  padding: 8px;
  font-size: 16px;
  font-size: 1.6rem;
}

.btn01 {
  background-color: #3EB134;
  border: 1px solid #3EB134;
  color: #fff;
}

.btn01:hover {
  background-color: #fff;
  color: #3EB134;
}

.btn02 {
  background-color: #fff;
  border: 1px solid #3EB134;
  color: #1A1A1A;
}

.btn02:hover {
  background-color: #3EB134;
  color: #fff;
}

/* サイズ別クラス */
.btn {
  transition: opacity 0.2s;
  font-weight: 500;
}

.btn:hover {
  opacity: 0.6;
}

.btn.btn-s-normal {
  padding-top: 13px;
  padding-bottom: 13px;
  font-size: 15px;
  font-size: 1.5rem;
}

.btn.btn-s-normal .sub-txt {
  font-size: 14px;
  font-size: 1.4rem;
}

.btn .sub-txt {
  font-weight: 350;
}

/* ボタンレイアウト */
@media screen and (max-width: 767px) {
  .btn-list li {
    display: block;
    margin-bottom: 15;
    width: 100%;
  }
  .btn-list li:last-child {
    margin-bottom: 0;
  }
}

/* ボタン（アイコン）
   ========================================================================== */
/* btn-store */
.btn {
  text-decoration: none;
}

.btn.btn-store {
  background-color: #3EB134;
  display: inline-block;
}

.btn.btn-store .icon-store {
  padding-left: 24px;
  color: #fff;
}

.btn.btn-store .icon-store::before {
  width: 15px;
  height: 20px;
}

.btn.btn-store.btn-s-normal {
  padding-right: 28px;
  padding-left: 23px;
}

/* btn-arrow */
.btn.icon-arrow {
  position: relative;
  background-color: #3EB134;
  color: #fff;
  display: inline-block;
}

.btn.icon-arrow::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform 0.2s;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.btn.icon-arrow.dir-r::before {
  transform: rotate(45deg);
}

.btn.icon-arrow.dir-r.btn-s-normal {
  padding-right: 36px;
  padding-left: 23px;
}

.btn.icon-arrow.dir-r.btn-s-normal::before {
  right: 24.5px;
}

.btn.icon-arrow.dir-r:hover::before {
  transform: translateX(3px) rotate(45deg);
}

.btn.icon-arrow.dir-l::before {
  transform: rotate(225deg);
}

.btn.icon-arrow.dir-l.btn-s-normal {
  padding-right: 23px;
  padding-left: 36px;
}

.btn.icon-arrow.dir-l.btn-s-normal::before {
  left: 24.5px;
}

.btn.icon-arrow.dir-l:hover::before {
  transform: translateX(-3px) rotate(225deg);
}

/* btn-store */
.btn {
  text-decoration: none;
}

.btn.btn-list {
  display: inline-block;
  border: 1px solid #3EB134;
  font-weight: 350;
  position: relative;
}

.btn.btn-list.btn-s-normal {
  padding: 5px 37.5px 6px 60.5px;
}

.btn.btn-list::before {
  content: "";
  display: block;
  background: url(img/icon_list.svg) no-repeat center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 36px;
  transform: translateY(-50%);
  width: 12px;
  height: 10px;
}

/* btn-external */
.btn.btn-external {
  position: relative;
  color: #3EB134;
  display: inline-block;
  border: 1px solid #3EB134;
  padding-top: 5.5px;
  padding-bottom: 5.5px;
}

.btn.btn-external::after {
  display: none;
}

.btn.btn-external::before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(img/icon_external_green.svg) no-repeat center;
  background-size: 100%;
}

.btn.btn-external.dir-r.btn-s-normal {
  padding-right: 36px;
  padding-left: 23px;
}

.btn.btn-external.dir-r.btn-s-normal::before {
  right: 24.5px;
}

.btn.btn-external.dir-l::before {
  transform: rotate(225deg);
}

.btn.btn-external.dir-l.btn-s-normal {
  padding-right: 23px;
  padding-left: 36px;
}

.btn.btn-external.dir-l.btn-s-normal::before {
  left: 24.5px;
}

.btn.btn-external.bg-white {
  background-color: #3EB134;
  color: #fff;
}

.btn.btn-external.bg-white::before {
  background: url(img/icon_external_white.svg) no-repeat center;
}

/* フォーム
   ========================================================================== */
.sec-contact .catch-box {
  margin-top: 32px;
  padding: 0 32px;
}

/* confirm-box */
.confirm-box {
  background-color: #F5FFF5;
  border: 1px solid #E1F2E1;
  margin-top: 64px;
  padding: 24px 32px;
}

.confirm-box .ttl {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}

.confirm-box .ttl .icon-check {
  padding-left: 35px;
}

.confirm-box .ttl .icon-check::before {
  width: 24px;
  height: 24px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.confirm-box .list-circle {
  margin-top: 20px;
}

.confirm-box .list-circle a {
  color: #3EB134;
  display: inline-block;
}

.confirm-box .list-circle a[target="_blank"] {
  padding-right: .8em;
}

/* form-wrap */
.form-wrap {
  margin-top: 32px;
}

.form-wrap > .sub-txt {
  padding-left: 32px;
}

.form-wrap > .sub-txt .txt-important {
  font-size: 18px;
  font-size: 1.8rem;
}

.form-wrap table {
  width: 100%;
}

.form-wrap table th, .form-wrap table td {
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #DDD;
}

.form-wrap table th {
  padding: 28px 10px 28px 32px;
  white-space: nowrap;
}

.form-wrap table td {
  padding: 28px 32px 28px 0;
}

.form-wrap table b {
  font-weight: 500;
}

.form-wrap table b span {
  font-size: 14px;
  font-size: 1.4rem;
  color: #3EB134;
  font-weight: 400;
  margin-right: 14px;
  padding: 2px 9px;
}

.form-wrap table .required span {
  color: red;
  font-size: 18px;
  font-size: 1.8rem;
}

.form-wrap table input[type="text"],
.form-wrap table input[type="tel"],
.form-wrap table input[type="email"],
.form-wrap table textarea {
  font-size: 15px;
  font-size: 1.5rem;
  border: 1px solid #DDD;
  padding: 10px 14px;
  background-color: #F9F9F9;
}

.form-wrap table input[type="text"],
.form-wrap table input[type="tel"],
.form-wrap table input[type="email"] {
  width: 58%;
  min-width: 200px;
}

.form-wrap table textarea {
  margin-top: 8px;
  width: 100%;
  min-height: 300px;
  resize: none;
}

.form-wrap table .radio-box input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-left: 20px;
  opacity: 0;
}

.form-wrap table .radio-box input[type="radio"]:checked {
  outline: none;
}

.form-wrap table .radio-box .wpcf7-list-item {
  display: block;
  width: 100%;
  margin-left: 0;
}

.form-wrap table .radio-box label {
  position: relative;
  display: flex;
}

.form-wrap table .radio-box label::before {
  content: "";
  display: block;
  position: absolute;
  width: 14px;
  height: 14px;
  top: .45em;
  left: 0;
  border: 1px solid;
  border-color: #DDD;
  border-radius: 50%;
}

.form-wrap table .radio-box label.checked {
  font-weight: 500;
}

.form-wrap table .radio-box label.checked::before {
  border-color: #E1F2E1;
  background-color: #F5FFF5;
}

.form-wrap table .radio-box label.checked::after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: rgba(62, 177, 52, 0.9);
  border-radius: 50%;
  left: 0.26em;
  top: 0.7em;
}

.form-wrap table .radio-box label .wpcf7-list-item-label {
  display: inline-block;
}

.form-wrap table .radio-box label .wpcf7-list-item-label .notice {
  color: #3EB134;
}

.form-wrap table .radio-box .txt-important {
  margin-top: 16px;
  font-size: 13px;
  font-size: 1.3rem;
}

.form-wrap table .radio-box .mark-star {
  margin-left: 1.6em;
}

.form-wrap table .radio-box .mark-star a[target="_blank"]::before {
  display: none;
}

.form-wrap table .ver-top {
  vertical-align: top;
}

.form-wrap .notice-box {
  border-bottom: 1px solid #DDD;
  padding: 32px;
}

.form-wrap .submit-box {
  text-align: center;
}

.form-wrap .submit-box .icon-arrow {
  margin-top: 40px;
  width: 284px;
  height: 48px;
  display: inline-block;
}

.form-wrap .submit-box .icon-arrow::before {
  width: 6px;
  height: 11px;
  right: 16px;
}

.form-wrap .submit-box input[type="submit"] {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.8rem;
  color: #fff;
  width: 100%;
  height: 100%;
  background-color: #3EB134;
  cursor: pointer;
}

/* form(完了画面) */
.wpcf7 .wpcf7-not-valid {
  background-color: pink !important;
}

.wpcf7 .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.wpcf7 .wpcf7-validation-errors {
  color: #B94A48;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
  margin-top: 20px;
}

.wpcf7 .wpcf7-mail-sent-ok {
  display: none !important;
}

.wpcf7 .wpcf7c-conf::placeholder {
  color: #fff !important;
}

.wpcf7 .wpcf7c-conf {
  border: none !important;
  background: none !important;
}

.wpcf7 .ajax-loader {
  display: none !important;
}

.wpcf7 .is-active {
  display: inline-block !important;
}

.wpcf7 .custom-wpcf7c-confirmed p.txt-confirmed {
  display: none !important;
}

.sent {
  visibility: hidden;
}

/* アイコン
   ========================================================================== */
/*

icomoonを使用する場合はコメントアウトを外してください

@font-face {
  font-family: 'icomoon';
  font-style: normal;
  font-weight: normal;
  src: url('fonts/icomoon.eot?n6dhp8');
  src: url('fonts/icomoon.eot?n6dhp8#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?n6dhp8') format('truetype'),
    url('fonts/icomoon.woff?n6dhp8') format('woff'),
    url('fonts/icomoon.svg?n6dhp8#icomoon') format('svg');
}

[class*=" icon-"],
[class^="icon-"] {
  &:before {
    color: $color-link;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

*/
/* icon-info */
.icon-info {
  position: relative;
}

.icon-info::before {
  content: "";
  display: block;
  background: url(img/icon_info.svg) no-repeat center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* store */
.icon-store {
  position: relative;
}

.icon-store::before {
  content: "";
  display: block;
  background: url(img/icon_store.svg) no-repeat center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* icon-arrow
   ========================================================================== */
.icon-arrow {
  position: relative;
  transition: opacity 0.2s;
}

.icon-arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(img/icon_arrow.svg) no-repeat center;
  background-size: 100%;
  transition: transform 0.2s;
}

.icon-arrow.txt-icon {
  padding-right: 1em;
  color: #3EB134;
  text-decoration: none;
}

.icon-arrow.txt-icon::before {
  width: 6px;
}

.icon-arrow:hover {
  opacity: 0.6;
}

.icon-arrow.dir-r::before {
  right: 0;
}

.icon-arrow.dir-r:hover::before {
  transform: translateX(3px);
}

.icon-arrow.dir-l::before {
  left: 0;
}

.icon-arrow.dir-l:hover::before {
  transform: translateX(-3px);
}

.icon-arrow.bg-white::before {
  background: url(img/icon_arrow_w.svg) no-repeat center;
}

/* リスト
   ========================================================================== */
/* 新規ウィンドウ */
a[target="_blank"] {
  position: relative;
  transition: opacity 0.2s;
}

a[target="_blank"]::after {
  content: "";
  width: 8px;
  height: 8px;
  background: url(img/icon_external.svg) no-repeat center;
  background-size: 100%;
  display: inline-block;
  margin-left: 3px;
}

.news-list a[target="_blank"]::after {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  position: absolute;
}

.stack-item a[target="_blank"]::after {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  position: absolute;
}

a[target="_blank"].bg-green::after {
  background: url(img/icon_external_green.svg) no-repeat center;
}

a[target="_blank"]:hover {
  opacity: 0.6;
}

a[target="_blank"].txt-link {
  color: #3EB134;
  padding-right: 5px;
  display: inline-block;
}

a[target="_blank"].txt-link::after {
  background: url(img/icon_external_green.svg) no-repeat center;
}

.sec-infomation .inner-box a[target="_blank"] {
  padding-right: 15px;
}

.sec-infomation .inner-box a[target="_blank"]::before {
  background: url(img/icon_external_green.svg) no-repeat center;
}

/* PDF */
/* link */
.link a {
  transition: opacity 0.2s;
  color: #3EB134;
}

.link a:hover {
  opacity: 0.6;
}

/* リスト
   ========================================================================== */
/* 黒丸付きリスト */
.list-disc {
  margin-left: 1.5em;
}

.list-disc li {
  list-style-type: disc;
  margin-bottom: 10px;
}

.list-disc li:last-child {
  margin-bottom: 0;
}

/* 番号付きリスト */
.list-decimal {
  margin-left: 1.5em;
}

.list-decimal li {
  list-style-type: decimal;
  margin-bottom: 10px;
}

.list-decimal li:last-child {
  margin-bottom: 0;
}

/* list-circle */
.list-circle li {
  position: relative;
  padding-left: 14px;
  margin-top: 13px;
}

.list-circle li:first-child {
  margin-top: 0;
}

.list-circle li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border: 1px solid #707070;
  border-radius: 50%;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: .75em;
}

.list-circle.circle-green li::before {
  border: 1px solid #3EB134;
}

/* list-mark-star（※） */
.list-mark-star li {
  position: relative;
  padding-left: calc(1em + 8px);
}

.list-mark-star li::before {
  content: '※';
  font-size: 100%;
  position: absolute;
  left: 0;
}

.list-mark-star.txt-s li {
  font-size: 13px;
  font-size: 1.3rem;
}

/* news-list
   ========================================================================== */
.news-list .news-item {
  border-bottom: 1px solid #DDD;
  padding: 16px 32px;
}

.news-list .news-item a {
  text-decoration: none;
  padding: 16px 32px;
  display: block;
  font-weight: 350;
}

.news-list .news-item a::before {
  width: 6px;
  right: 32px;
}

.news-list .news-item.item-news .label, .news-list .news-item.item-update .label {
  color: #3EB134;
  border: 1px solid #3EB134;
}

.news-list .news-item.important .label {
  color: #fff;
  background-color: #3EB134;
  border: 1px solid #3EB134;
}

.news-list .news-item .label {
  box-sizing: border-box;
  font-size: 12px;
  font-size: 1.2rem;
  display: inline-block;
  padding: 3px 15px;
  line-height: 1.85;
}

.news-list .news-item .label::before, .news-list .news-item .label::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.news-list .news-item .label::before {
  margin-bottom: calc(-0.4em + 0px);
}

.news-list .news-item .label::after {
  margin-top: calc(-0.4em + 0px);
}

.news-list .news-item .date {
  font-size: 13px;
  font-size: 1.3rem;
  margin-left: 8.5px;
  letter-spacing: .1em;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

.news-list .news-item .ttl {
  display: block;
  line-height: 1.85;
  margin-top: 8px;
}

.news-list .news-item .ttl::before, .news-list .news-item .ttl::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.news-list .news-item .ttl::before {
  margin-bottom: calc(-0.4em + 0px);
}

.news-list .news-item .ttl::after {
  margin-top: calc(-0.4em + 0px);
}

.news-list + .link-list {
  margin-top: 20px;
  padding-right: 32px;
  text-align: right;
}

.news-list + .link-list .icon-arrow {
  text-decoration: none;
  padding-right: 21px;
}

.news-list + .link-list .icon-arrow::before {
  width: 6px;
}

/* label-list
   ========================================================================== */
.label-list {
  margin-top: 24.5px;
}

.label-list .list-item {
  border-bottom: 1px solid #DDD;
  position: relative;
}

.label-list .list-item:first-child {
  border-top: 1px solid #DDD;
}

.label-list .list-item a {
  display: block;
  padding: 10.5px 10px 11.5px 76px;
  text-decoration: none;
}

.label-list .list-item a[target="_blank"]::after {
  display: none;
}

.label-list .list-item .label {
  display: inline-block;
  border: 1px solid #3EB134;
  color: #3EB134;
  font-size: 11px;
  font-size: 1.1rem;
  padding: 0 21px;
  line-height: 1.4;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.label-list.no-border .list-item {
  border: none;
}

.label-list + * {
  margin-top: 16px;
}

/* archives-list
   ========================================================================== */
.archives-box {
  margin-top: 32px;
}

.archives-box .archives-ttl .sub-txt {
  font-size: 80%;
}

.archives-list {
  margin-top: 16px;
}

.archives-list .list-item {
  border-bottom: 1px solid #DDD;
}

.archives-list .list-item a {
  text-decoration: none;
  padding: 16px 64px 16px 32px;
  display: block;
  font-weight: 350;
}

.archives-list .list-item a::before {
  width: 10px;
  height: 10px;
  right: 32px;
  background-size: 100%;
}

.archives-list .list-item .label {
  box-sizing: border-box;
  font-size: 11px;
  font-size: 1.1rem;
  display: inline-block;
  padding: 3px 15px;
  line-height: 1.85;
}

.archives-list .list-item .label::before, .archives-list .list-item .label::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.archives-list .list-item .label::before {
  margin-bottom: calc(-0.4em + 0px);
}

.archives-list .list-item .label::after {
  margin-top: calc(-0.4em + 0px);
}

.archives-list .list-item .label + .date {
  margin-left: 8.5px;
}

.archives-list .list-item .date {
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: .1em;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

.archives-list .list-item .ttl {
  display: block;
  line-height: 1.85;
  margin-top: 6px;
}

.archives-list .list-item .ttl::before, .archives-list .list-item .ttl::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.archives-list .list-item .ttl::before {
  margin-bottom: calc(-0.4em + 0px);
}

.archives-list .list-item .ttl::after {
  margin-top: calc(-0.4em + 0px);
}

/* その他パーツ
   ========================================================================== */
/* 画像を幅100%にする */
.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

/* 画像を幅100%にする */
img.img-full {
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* object fit image */
img.ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

/* スマホ電話番号 */
@media screen and (min-width: 768px), print {
  .sp-tel {
    cursor: text;
    pointer-events: none;
    text-decoration: none;
  }
}

/* separate-box */
.separate-box {
  border-top: 1px solid #DDD;
  margin-top: 24.5px;
  padding-top: 16.5px;
}

/* txt-block */
.txt-block .txt {
  margin-top: 20px;
}

.txt-block .txt:first-child {
  margin-top: 0;
}

.txt-block .txt a {
  color: #3EB134;
}

.txt-block .txt a[target="_blank"] {
  display: inline-block;
}

/* txt-important */
.txt-important {
  color: red;
}

/* txt-link */
.txt-link {
  color: #3EB134;
}

.txt-link:visited {
  color: #3EB134;
}

/* induction-box */
.induction-box:first-of-type {
  margin-top: 24.4px;
}

.induction-box + p {
  margin-top: 32px;
}

.induction-box + p + .contact-box {
  margin-top: 16px;
}

/* image-wrap（テキスト回り込み） */
.image-wrap {
  display: block;
}

.image-wrap:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.image-wrap .img-right {
  float: right;
  margin-left: 30px;
}

.image-wrap .img-left {
  float: left;
  margin-right: 30px;
}

.image-wrap .txt {
  margin-top: 28px;
}

.image-wrap .txt:first-of-type {
  margin-top: 0;
}

/* img-pull-box */
.img-pull-box {
  display: flex;
  margin-top: 16px;
}

.img-pull-box.img-pull-r {
  flex-direction: row-reverse;
}

.img-pull-box.img-pull-r .txt {
  padding-right: 32px;
}

.img-pull-box.img-pull-l .txt {
  padding-left: 32px;
}

.img-pull-box .img {
  width: 47.197640118%;
}

.img-pull-box .txt {
  width: 52.802359882%;
}

.img-pull-box figcaption + img {
  margin-top: 8px;
}

/* img-line（横並び） */
.img-line {
  display: flex;
}

.img-line.col-2 > * {
  width: 50%;
  padding: 16px;
}
/* section */
#main section {
  margin-top: 64.5px;
}

#main section:first-child {
  margin-top: 48px;
}

#main section.sec-head {
  margin-top: 0;
}

section .sec-inner {
  margin-top: 29px;
  padding: 0 32px;
}

/* bg-gray */
.bg-gray {
  background-color: #F9F9F9;
}

/* first-box */
.first-box {
  margin-top: 64.5px;
}

.first-box > .txt {
  margin-top: 8px;
}

.first-box > .txt:first-child {
  margin-top: 0;
}

.first-box.sp-em > .txt {
  margin-top: 16px;
}

.first-box.sp-em > .txt:first-child {
  margin-top: 0;
}

.first-box .btn-box {
  margin-top: 24px;
}

.first-box ul {
  margin-top: 32px;
}

/* mark-star */
.mark-star {
  position: relative;
  padding-left: calc(1ex + 8px);
  font-size: 12px;
  font-size: 1.2rem;
}

.mark-star::before {
  content: '※';
  font-size: 100%;
  position: absolute;
  left: 0;
}

/* contact-box */
.contact-box {
  display: flex;
  align-items: center;
  border: 1px solid #DDD;
  padding: 24.5px 24px;
  margin-top: 22px;
}

.contact-box .box-l .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  white-space: nowrap;
}

.contact-box .box-r {
  border-left: 1px solid #DDD;
  padding-left: 23.5px;
  margin-left: 23.5px;
}

.contact-box .box-r li {
  font-weight: 350;
}

.contact-box .box-r li:not(.mark-star) {
  font-size: 14px;
  font-size: 1.4rem;
}

.contact-box .box-r li.tel a {
  color: #3EB134;
}

/* sec-head
   ========================================================================== */
.sec-head {
  /* sec-head-sub */
  /* sec-head-simple */
}

.sec-head.sec-head-sub {
  min-height: 240px;
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.sec-head.sec-head-sub .ttl-box {
  position: absolute;
}

.sec-head.sec-head-sub .ttl-box .ttl-label {
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  background-color: #3EB134;
  display: inline-block;
  padding: 7px 7px 7px 8px;
  line-height: 1.85;
  font-weight: 500;
}

.sec-head.sec-head-sub .ttl-box .ttl-label::before, .sec-head.sec-head-sub .ttl-box .ttl-label::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.sec-head.sec-head-sub .ttl-box .ttl-label::before {
  margin-bottom: calc(-0.4em + 0px);
}

.sec-head.sec-head-sub .ttl-box .ttl-label::after {
  margin-top: calc(-0.4em + 0px);
}

.sec-head.sec-head-sub .ttl-box .ttl {
  font-size: 32px;
  font-size: 3.2rem;
  border: 1px solid #3EB134;
  position: relative;
  overflow: hidden;
  padding: 14px 15px 14.5px 14px;
  font-weight: 500;
}

.sec-head.sec-head-sub .ttl-box .ttl span {
  position: relative;
  z-index: 10;
  line-height: 1.85;
}

.sec-head.sec-head-sub .ttl-box .ttl span::before, .sec-head.sec-head-sub .ttl-box .ttl span::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.sec-head.sec-head-sub .ttl-box .ttl span::before {
  margin-bottom: calc(-0.4em + 0px);
}

.sec-head.sec-head-sub .ttl-box .ttl span::after {
  margin-top: calc(-0.4em + 0px);
}

.sec-head.sec-head-sub .ttl-box .ttl::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-color: #fff;
  filter: blur(10px);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.sec-head.sec-head-sub .main-img {
  width: 100%;
}

.sec-head.sec-head-sub .main-img img {
  object-position: 50%;
  max-height: 300px;
  min-height: 240px;
}

.sec-head.sec-head-simple {
  padding-right: 10px;
  background: url(img/bg_logo_gray.png) no-repeat right -30px center;
  background-color: rgba(255, 255, 255, 0.9);
  background-size: 240px;
  border-bottom: 1px solid #DDD;
  display: flex;
  align-items: center;
  height: 186px;
}

.sec-head.sec-head-simple .ttl-box {
  border-left: 3px solid #3EB134;
  padding-left: 25.5px;
}

.sec-head.sec-head-simple .ttl-box .ttl {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
}

.sec-head.sec-head-simple .ttl-box .ttl .sub-ttl {
  font-size: 20px;
  font-size: 2rem;
}

.sec-head.sec-head-simple .ttl-box .list-nest {
  display: flex;
  margin-left: -15px;
}

.sec-head.sec-head-simple .ttl-box .list-nest li {
  margin-top: 0;
  margin-left: 15px;
}

.sec-head.sec-head-simple.hg-low {
  height: 163px;
}

/* sec-head
   ========================================================================== */
.induction-box {
  padding: 18.5px 16px 16px 16px;
}

.induction-box > .ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
}

.induction-box .inner-box {
  background-color: #fff;
  margin-top: 16px;
  padding: 23.7px 26px 23.3px 26px;
}

.induction-box .inner-box .btn-box {
  margin-top: 12.4px;
}

.induction-box:nth-of-type(n+2) {
  margin-top: 16px;
}

/* cmn-sec-box
   ========================================================================== */
.cmn-sec-box .ttl + * {
  margin-top: 24px;
}

.cmn-sec-box .box-contents > * {
  margin-top: 16px;
}

.cmn-sec-box .box-contents > *:first-child {
  margin-top: 0;
}

.cmn-sec-box .box-contents .nest-box ul {
  padding: 8px;
}

.cmn-sec-box + .induction-box {
  margin-top: 64px;
}

/* ページャー
   ========================================================================== */
ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1;
  margin: 38.5px auto 0;
  padding: 0 32px;
  text-align: center;
}

ul.page-numbers li {
  margin: 12px;
}

ul.page-numbers .page-numbers {
  height: 100%;
  padding: 5px 4px;
  position: relative;
  text-decoration: none;
  transition: color 0.2s, border-bottom-color 0.2s;
  font-weight: 400;
  border-bottom: 1px solid;
  border-bottom-color: transparent;
}

ul.page-numbers .page-numbers:hover {
  color: #3EB134;
  border-bottom-color: #3EB134;
}

ul.page-numbers .page-numbers.current {
  color: #3EB134;
  border-bottom: 1px solid #3EB134;
}

ul.page-numbers .pagination-item-first.page-numbers,
ul.page-numbers .pagination-item-last.page-numbers,
ul.page-numbers .prev.page-numbers,
ul.page-numbers .next.page-numbers {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 350;
  text-decoration: none;
  transition: opacity 0.2s;
}

ul.page-numbers .pagination-item-first.page-numbers:hover,
ul.page-numbers .pagination-item-last.page-numbers:hover,
ul.page-numbers .prev.page-numbers:hover,
ul.page-numbers .next.page-numbers:hover {
  opacity: 0.6;
  border: none;
  color: #1A1A1A;
}

ul.page-numbers .pagination-item-first.inactive .page-numbers,
ul.page-numbers .pagination-item-last.inactive .page-numbers,
ul.page-numbers .prev.inactive .page-numbers,
ul.page-numbers .next.inactive .page-numbers {
  pointer-events: none;
  opacity: 0.6;
}

ul.page-numbers .prev.page-numbers,
ul.page-numbers .next.page-numbers {
  position: relative;
}

ul.page-numbers .prev.page-numbers::before,
ul.page-numbers .next.page-numbers::before {
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 6px;
  border-top: 1px solid #1A1A1A;
  border-right: 1px solid #1A1A1A;
  transition: transform 0.2s;
}

ul.page-numbers .prev {
  margin-right: auto;
  margin-left: 0;
}

ul.page-numbers .prev.page-numbers {
  padding-left: 17.5px;
}

ul.page-numbers .prev.page-numbers::before {
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: rotate(225deg);
}

ul.page-numbers .prev.page-numbers:hover::before {
  transform: translateX(-3px) rotate(225deg);
}

ul.page-numbers .next {
  margin-left: auto;
  margin-right: 0;
}

ul.page-numbers .next.page-numbers {
  padding-right: 17.5px;
}

ul.page-numbers .next.page-numbers::before {
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
}

ul.page-numbers .next.page-numbers:hover::before {
  transform: translateX(3px) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .pagination li {
    margin: 5px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .pagination .page-numbers {
    padding: 10px 5px;
  }
}

/* テーブル
   ========================================================================== */
/* ページタイトル */
.tbl-normal tr:first-child th, .tbl-normal tr:first-child td {
  border-top: none;
}

.tbl-normal th, .tbl-normal td {
  padding: 8px 16px;
}

.tbl-normal th {
  background-color: rgba(62, 177, 52, 0.1);
  border-top: 1px solid #fff;
}

.tbl-normal td {
  border-top: 1px solid #DDD;
}

/* タイトル
   ========================================================================== */
/* ページタイトル */
.main-ttl {
  border-bottom: 2px solid #eee;
  line-height: 1.2;
  margin-bottom: 60px;
  padding-bottom: 20px;
  font-size: 32px;
  font-size: 3.2rem;
}

/* ページタイトル */
.cmn-ttl-box {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  background-color: #F9F9F9;
  border-top: 1px solid #1A1A1A;
  padding: 11px 10px 11px 34px;
}

.cmn-ttl-box + .link-list {
  margin-top: 24px;
  padding-right: 32px;
  text-align: right;
}

/* 左線付きタイトル */
.bdr-l-ttl {
  border-left: 2px solid #3EB134;
  padding-left: 1em;
}

/* パンくずリスト
   ========================================================================== */
.topicpath li {
  display: inline;
  padding-left: 5px;
}

.topicpath li:before {
  border-right: 1px solid #1A1A1A;
  border-top: 1px solid #1A1A1A;
  content: '';
  display: inline-block;
  height: 5px;
  width: 5px;
  margin-right: 8px;
  position: relative;
  top: -1px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.topicpath li:first-child {
  padding-left: 0;
}

.topicpath li:first-child:before {
  display: none;
}

.topicpath li:last-child a {
  font-weight: 700;
  pointer-events: none;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .topicpath {
    position: relative;
    margin: 60px auto;
    max-width: 870px;
    padding: 0 64px;
  }
  .topicpath li {
    list-style-type: none;
    font-size: 11px;
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 767px) {
  .topicpath li {
    font-size: 10px;
    font-size: 1rem;
  }
}

/* Webフォント
   ========================================================================== */
/*  */
/* ==========================================================================
   05. Responisive
   ========================================================================== */
/* display
   ========================================================================== */
.block {
  display: block;
}

.sp-item {
  display: none;
}

.pc-block {
  display: block;
}

@media screen and (max-width: 767px) {
  .sp-item {
    display: block;
  }
  .pc-item {
    display: none !important;
  }
  .pc-block {
    display: inline;
  }
  .sp-block {
    display: block;
  }
}

/*# sourceMappingURL=common.css.map */
