@charset "UTF-8";
/*
Theme Name: 伐採サイトCパターン v1
Description: 伐採サイトCパターンのテーマ
Theme URI: https://renkindo.com/
Author: 株式会社GRACE
Author URI: https://gr1.jp/
Version: 1.0
License: GPL
License URI: https://www.gnu.org/copyleft/gpl.html
*/

/* ==============================================
 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, 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, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  font-weight: normal;
  vertical-align:baseline;
  background:transparent;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
  margin: 0;
  width: 100%;
}

body {
  -webkit-text-size-adjust: 100%;
  line-height:1;
  overflow: hidden;
	min-width: 1200px;
}

@media only screen and (max-width: 768px){
  body {
  	min-width: initial;
  }
}

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

nav ul {
  list-style:none;
}

blockquote, q {
  quotes:none;
}

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

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

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

mark {
  background-color:#ff9;
  color:#131313;
  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 #cccccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}

ol li,
ul li {
	list-style: none;
	list-style-position: inside;
}

img {
	border:none;
	vertical-align: bottom;
}

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* Common
----------------------------------------------- */

.mt05 { margin-top: 5px ;}
.mt10 {	margin-top: 10px ;}
.mt15 {	margin-top: 15px ;}
.mt20 {	margin-top: 20px ;}
.mt25 {	margin-top: 25px ;}
.mt30 {	margin-top: 30px ;}
.mt35 {	margin-top: 35px ;}
.mt40 {	margin-top: 40px ;}
.mt45 {	margin-top: 45px ;}
.mt50 {	margin-top: 50px ;}
.mt55 {	margin-top: 55px ;}
.mt60 {	margin-top: 60px ;}
.mt65 {	margin-top: 65px ;}
.mt70 {	margin-top: 70px ;}
.mt75 {	margin-top: 75px ;}
.mt80 {	margin-top: 80px ;}
.mt85 {	margin-top: 85px ;}
.mt90 {	margin-top: 90px ;}
.mt95 {	margin-top: 95px ;}
.mt100 { margin-top: 100px ;}
.mb05 {	margin-bottom: 5px ;}
.mb10 {	margin-bottom: 10px ;}
.mb15 {	margin-bottom: 15px ;}
.mb20 {	margin-bottom: 20px ;}
.mb25 {	margin-bottom: 25px ;}
.mb30 {	margin-bottom: 30px ;}
.mb35 {	margin-bottom: 35px ;}
.mb40 {	margin-bottom: 40px ;}
.mb45 {	margin-bottom: 45px ;}
.mb50 {	margin-bottom: 50px ;}
.mb55 {	margin-bottom: 55px ;}
.mb60 {	margin-bottom: 60px ;}
.mb65 {	margin-bottom: 65px ;}
.mb70 {	margin-bottom: 70px ;}
.mb75 {	margin-bottom: 75px ;}
.mb80 {	margin-bottom: 80px ;}
.mb85 {	margin-bottom: 85px ;}
.mb90 {	margin-bottom: 90px ;}
.mb95 {	margin-bottom: 95px ;}
.mb100 { margin-bottom: 100px ;}
.mr05 {	margin-right: 5px ;}
.mr10 {	margin-right: 10px ;}
.mr15 {	margin-right: 15px ;}
.mr20 {	margin-right: 20px ;}
.mr25 {	margin-right: 25px ;}
.mr30 {	margin-right: 30px ;}
.mr35 {	margin-right: 35px ;}
.mr40 {	margin-right: 40px ;}
.mr45 {	margin-right: 45px ;}
.mr50 {	margin-right: 50px ;}
.mr55 {	margin-right: 55px ;}
.mr60 {	margin-right: 60px ;}
.mr65 {	margin-right: 65px ;}
.mr70 {	margin-right: 70px ;}
.mr75 {	margin-right: 75px ;}
.mr80 {	margin-right: 80px ;}
.mr85 {	margin-right: 85px ;}
.mr90 {	margin-right: 90px ;}
.mr95 {	margin-right: 95px ;}
.mr100 {margin-right: 100px ;}
.ml05 {	margin-left: 5px ;}
.ml10 {	margin-left: 10px ;}
.ml15 {	margin-left: 15px ;}
.ml20 {	margin-left: 20px ;}
.ml25 {	margin-left: 25px ;}
.ml30 {	margin-left: 30px ;}
.ml35 {	margin-left: 35px ;}
.ml40 {	margin-left: 40px ;}
.ml45 {	margin-left: 45px ;}
.ml50 {	margin-left: 50px ;}
.ml55 {	margin-left: 55px ;}
.ml60 {	margin-left: 60px ;}
.ml65 {	margin-left: 65px ;}
.ml70 {	margin-left: 70px ;}
.ml75 {	margin-left: 75px ;}
.ml80 {	margin-left: 80px ;}
.ml85 {	margin-left: 85px ;}
.ml90 {	margin-left: 90px ;}
.ml95 {	margin-left: 95px ;}
.ml100 { margin-left: 100px ;}
.m_a { margin-right: auto; margin-left: auto;}
.pt00 {	padding-top: 0 ;}
.pt05 {	padding-top: 5px ;}
.pt10 {	padding-top: 10px ;}
.pt15 {	padding-top: 15px ;}
.pt20 {	padding-top: 20px ;}
.pt25 {	padding-top: 25px ;}
.pt30 {	padding-top: 30px ;}
.pt35 {	padding-top: 35px ;}
.pt40 {	padding-top: 40px ;}
.pt45 {	padding-top: 45px ;}
.pt50 {	padding-top: 50px ;}
.pt55 {	padding-top: 55px ;}
.pt60 {	padding-top: 60px ;}
.pt65 {	padding-top: 65px ;}
.pt70 {	padding-top: 70px ;}
.pt75 {	padding-top: 75px ;}
.pt80 {	padding-top: 80px ;}
.pt85 {	padding-top: 85px ;}
.pt90 {	padding-top: 90px ;}
.pt95 {	padding-top: 95px ;}
.pt100 { padding-top: 100px ;}
.pb00 {	padding-bottom: 0 ;}
.pb05 {	padding-bottom: 5px ;}
.pb10 {	padding-bottom: 10px ;}
.pb15 {	padding-bottom: 15px ;}
.pb20 {	padding-bottom: 20px ;}
.pb25 {	padding-bottom: 25px ;}
.pb30 {	padding-bottom: 30px ;}
.pb35 {	padding-bottom: 35px ;}
.pb40 {	padding-bottom: 40px ;}
.pb45 {	padding-bottom: 45px ;}
.pb50 {	padding-bottom: 50px ;}
.pb55 {	padding-bottom: 55px ;}
.pb60 {	padding-bottom: 60px ;}
.pb65 {	padding-bottom: 65px ;}
.pb70 {	padding-bottom: 70px ;}
.pb75 {	padding-bottom: 75px ;}
.pb80 {	padding-bottom: 80px ;}
.pb85 {	padding-bottom: 85px ;}
.pb90 {	padding-bottom: 90px ;}
.pb95 {	padding-bottom: 95px ;}
.pb100 { padding-bottom: 100px ;}
.pr05 {	padding-right: 5px ;}
.pr10 {	padding-right: 10px ;}
.pr15 {	padding-right: 15px ;}
.pr20 {	padding-right: 20px ;}
.pr25 {	padding-right: 25px ;}
.pr30 {	padding-right: 30px ;}
.pr35 {	padding-right: 35px ;}
.pr40 {	padding-right: 40px ;}
.pr45 {	padding-right: 45px ;}
.pr50 {	padding-right: 50px ;}
.pr55 {	padding-right: 55px ;}
.pr60 {	padding-right: 60px ;}
.pr65 {	padding-right: 65px ;}
.pr70 {	padding-right: 70px ;}
.pr75 {	padding-right: 75px ;}
.pr80 {	padding-right: 80px ;}
.pr85 {	padding-right: 85px ;}
.pr90 {	padding-right: 90px ;}
.pr95 {	padding-right: 95px ;}
.pr100 { padding-right: 100px ;}
.pl05 {	padding-left: 5px ;}
.pl10 {	padding-left: 10px ;}
.pl15 {	padding-left: 15px ;}
.pl20 {	padding-left: 20px ;}
.pl25 {	padding-left: 25px ;}
.pl30 {	padding-left: 30px ;}
.pl35 {	padding-left: 35px ;}
.pl40 {	padding-left: 40px ;}
.pl45 {	padding-left: 45px ;}
.pl50 {	padding-left: 50px ;}
.pl55 {	padding-left: 55px ;}
.pl60 {	padding-left: 60px ;}
.pl65 {	padding-left: 65px ;}
.pl70 {	padding-left: 70px ;}
.pl75 {	padding-left: 75px ;}
.pl80 {	padding-left: 80px ;}
.pl85 {	padding-left: 85px ;}
.pl90 {	padding-left: 90px ;}
.pl95 {	padding-left: 95px ;}
.pl100 { padding-left: 100px ;}
.fl_r { float: right; }
.fl_l { float: left; }
.fw_b { font-weight: bold; }
.txt_c { text-align: center; }
.txt_r { text-align: right; }
.txt_l { text-align: left; }
.w95per { width: 95%;}
.w90per { width: 90%;}
.w85per { width: 85%;}
.w80per { width: 80%;}
.w75per { width: 75%;}
.w70per { width: 70%;}
.w65per { width: 65%;}
.w60per { width: 60%;}
.w55per { width: 55%;}
.w50per { width: 50%;}
.tx_red { color: red;}

body {
	font-family: 'Noto Sans JP', Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" ,  "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #131313;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.serif {
  font-family: 'Noto Serif JP', "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

.roboto {
  font-family: 'Roboto', sans-serif;
}

.klee {
  font-family: 'Klee One', cursive;
  font-weight: 600;
}

.round {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

a {
  color: #131313;
	text-decoration:none;
}

a {
  color: #131313;
	text-decoration:none;
}

a:hover {
  color: #131313;
  opacity: 0.6;
  -webkit-transition: all .5s;
  transition: all .5s;
}

a:hover img {
	opacity: 0.8;
	-webkit-transition: all .5s;
	transition: all .5s;
}

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

img {
  max-width: 100%;
  height: auto;
}

.img {
  text-align: center;
}

.inner {
    width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
}

.inner_s {
  width: 960px;
  margin-right: auto;
  margin-left: auto;
}

.flex {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.horizontal-line {
  overflow: hidden;
  text-align: center;
}

.horizontal-line span {
  display: inline-block;
  padding: 0 0.5em;
  position: relative;
font-weight: bold;
}

.horizontal-line span:before,
.horizontal-line span:after {
  border-top: 1px solid;
  content: "";
  position: absolute;
  top: 50%;
  width: 99em;
}

.horizontal-line span:before {
  right: 100%;
}

.horizontal-line span:after {
  left: 100%;
}


@media only screen and (min-width: 769px){
  .tb,
  .sp {
    display: none !important;
  }

}


@media only screen and (max-width: 768px){
  .inner {
    width: 100%;
  }

  .inner_s {
    width: 100%;
  }

  body {
    font-size: 14px;
    line-height: 1.6;
  }

  .pc,
  .sp {
    display: none;
  }

  .flex {
    flex-wrap: wrap;
  }

}

@media only screen and (max-width: 414px){

  .inner {
    padding: 0 10px;
  }

  .pc-tb {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

}

/* Section
----------------------------------------------- */

section,
.section {
  padding: 80px 0;
}

@media only screen and (max-width: 768px){

  section,
  .section {
    padding: 60px 0;
  }

}

@media only screen and (max-width: 414px){

  section,
  .section {
    padding: 40px 0;
  }

}

/* common_btn
----------------------------------------------- */

.common_btn {
  text-align: center;
}

.common_btn a {
  display: inline-block;
  color: #262626;
  position: relative;
}

.common_btn a:hover {
  color: #262626;
  transform: translateY(5px);
}

.common_btn a::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #ffeda3;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 0;
}

.common_btn a span {
  display: inline-block;
  border: 1px solid #545454;
  padding: 10px 40px;
  color: #262626;
  position: relative;
  z-index: 1;
}

.common_btn a::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #545454;
  position: absolute;
  top: 50%;
  right: -20px;
}

@media only screen and (max-width: 768px){

  .common_btn a span {
    padding: 10px 30px;
  }

  .common_btn a::after {
    width: 30px;
    right: -15px;
  }
}


@media only screen and (max-width: 414px){

  .common_btn a span {
    padding: 10px 20px;
  }

  .common_btn a::after {
    width: 20px;
    right: -10px;
  }
}

/* ---------------------------------
	ハンバーガーメニュー
---------------------------------- */

.drawer--right .drawer-hamburger {
  position: fixed;
  padding: 0;
  top: 15px;
  right: 20px !important;
  width: 68px;
}

.drawer-overlay {
  z-index: 999;
}

.drawer-nav {
  z-index: 1000;
  height: 98%;
}

.drawer--right.drawer-open .drawer-nav {
  top: 10px;
  right: 10px;
  border: 5px solid #005100;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  background: rgba(255,255,255, 0.95);
  padding: 15px;
}

.drawer-nav .drawer-toggle {
  text-align: right;
}

.drawer-menu .drawer-toggle img {
  -moz-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  -webkit-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  -ms-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
}

.drawer-nav .drawer-toggle:hover {
  cursor: pointer;
}

.drawer-nav .nav-list {
  width: 90%;
  margin: 0 auto 20px;
  text-align: center;
}

.drawer-nav .nav-list li {
  border-bottom: 3px solid #005100;
}

.drawer-nav .nav-list li a {
  display: block;
  font-weight: bold;
  color: #005100;
  padding: 10px;
  position: relative;
}

.drawer-nav .nav-list li .sub {
  display: inline-block;
  text-align: left;
}

.drawer-nav .nav-list li .sub li {
  border: none;
}

.drawer-nav .nav-list li .sub li a {
  color: #9abf14;
  font-size: 13px;
}

.drawer-nav .nav-contact {
  text-align: center;
  padding: 15px;
  padding-bottom: 50px;
}

.drawer-nav .nav-contact .mail {
  margin-bottom: 20px;
}

.drawer-nav .nav-contact .mail a {
  display: block;
  background: #9abf14;
  line-height: 1;
  padding: 12px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 2px;
}

.drawer-nav .nav-contact .txt01 {
  color: #ff0000;
  font-weight: bold;
  margin-bottom: 10px;
}

.drawer-nav .nav-contact .tel a {
  display: block;
  line-height: 1;
}

.drawer-nav .nav-contact .tel a span {
  position: relative;
  padding-left: 45px;
  font-size: 36px;
  font-weight: bold;
}

.drawer-nav .nav-contact .tel a span::before {
  content: "";
  width: 40px;
  height: 40px;
  background-image:url(./images/hamburger_tel.png);
  aspect-ratio: 147 / 147;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  -webkit-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  -ms-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
}

.drawer-nav .nav-contact .txt02 {
  color: #0822a5;
  font-size: 13px;
  font-weight: bold;
}

.drawer-nav .nav-contact .time {
  color: #ff0000;
  font-size: 13px;
  font-weight: bold;
}

.drawer-nav .nav-contact .credit {
  margin-top: 20px;
}

@media only screen and (max-width: 768px){

  .drawer--right .drawer-hamburger {
    top: 6px;
    right: 10px !important;
    width: 72px;
    height: 72px;
  }

  .drawer--right .drawer-hamburger img {
    width: 100%;
    height: auto;
    -moz-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
    -webkit-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
    -ms-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
    box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  }

  .drawer-nav .nav-contact .tel {
    margin-bottom: 5px;
  }

  .drawer-nav .nav-contact .tel a span {
    padding-left: 35px;
    font-size: 30px;
  }

  .drawer-nav .nav-contact .tel a span::before {
    width: 30px;
    height: 30px;
  }

}

@media only screen and (max-width: 600px){

  .drawer--right.drawer-open .drawer-nav {
    padding: 10px;
  }

  .drawer--right .drawer-hamburger {
    top: 4px;
    width: 50px;
    height: 50px;
  }

  .drawer--right .drawer-nav {
    right: -30rem;
  }

  .drawer-nav {
    width: 30rem;
  }

  .drawer-nav .nav-contact .tel a span {
    font-size: 24px;
  }

}

@media only screen and (max-width: 414px){

  .drawer--right .drawer-hamburger {
    top: 8px;
    width: 36px;
    height: 36px;
  }

}


/* ==============================================
 ヘッダー
=============================================== */

header {
  background: #9abf14;
  padding: 10px 0;
  position: relative;
}

header .flex01 {
  align-items: center;
  padding: 0;
}

header .flex01 .item {
  width: 49%;
}

header .left h1 {
  position: relative;
}

header .left h1 a {
  color: #fff;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.2;
}

header .left h1::before {
  content: "";
  width: 60px;
  height: 85px;
  background-image:url(./images/logo.png);
  aspect-ratio: 120 / 170;
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 36px;
  left: -70px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

header .left .nav-list li {
  display: inline-block;
}

header .left .nav-list li a {
  color: #fff;
  display: inline-block;
  padding: 0 10px;
  font-size: 14px;
  font-weight: bold;
}

header .left .nav-list li a:hover {
  color: #005100;
}

header .left .nav-list li:first-child a {
  padding-left: 0;
}

header .left .nav-list .dropdown_list {
  visibility: hidden;
  opacity: 0;
  transition: all .2s;
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  background: rgba(255,255,255, 0.9);
  z-index: 5;
}

header .left .nav-list .dropdown_list .inner {
  padding: 10px 10px 10px 50px;
}

header .left .nav-list .dropdown_list.open {
  visibility: visible;
  opacity: 1;
}

header .left .nav-list .dropdown_list a,
header .left .nav-list .dropdown_list a {
  color: #005100;
  font-size: 14px;
  padding: 0;
}

header .left .nav-list .dropdown_list ul li {
  display: inline-block;
  width: 20%;
}

header .left .nav-list .dropdown_list ul li a {
  display: block;
}

header .right .tel_block,
header .right .mail {
  display: inline-block;
  vertical-align: middle;
  width: 49%;
  text-align: center;
}

header .right .tel_block .tel {
  margin-bottom: 5px;
}

header .right .tel_block .tel a,
header .right .tel_block .tel a:hover {
  color: #fff;
}

header .right .tel_block .tel a {
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
}

header .right .tel_block .time {
  color: #fff;
  font-size: 14px;
}

header .right .mail a {
  display: inline-block;
  background: #fff;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  padding: 30px 20px;
  color: #30a437;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 2px;
}

@media only screen and (max-width: 1280px){

  header .flex01 {
    width: 1040px; 
  }

  header .left h1 a {
    font-size: 36px;
  }

  header .left .nav-list li a {
    padding: 0 6px;
  }

  header .right .tel_block .tel a {
    font-size: 32px;
  }

  header .right .mail a {
    padding: 24px 16px;
  }
}

@media only screen and (max-width: 768px){

  header {
    padding: 25px 0;
  }

  header .flex01 .item {
    width: 100%;
  }

  header .left h1::before {
    content: none;
  }

  header .left h1 a {
    position: relative;
    font-size: 4vw;
    padding-left: 70px;
  }

  header .left h1 a::before {
    content: "";
    width: 52px;
    height: 70px;
    background-image:url(./images/logo.png);
    aspect-ratio: 120 / 170;
    background-position:center top;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  
  header .left .pc-nav {
    display: none;
  }

  header .right {
    display: none;
  }

  header .left .telbtn {
    position: absolute;
    top: 6px;
    right: 92px;
  }

  header .left .telbtn img {
    -moz-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
    -webkit-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
    -ms-box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
    box-shadow: 0px 0px 5px 3px rgba(128, 128, 128, 0.1);
  }
  
}

@media only screen and (max-width: 600px){

  header {
    padding: 18px 0;
  }

  header .left h1 a {
    font-size: 4vw;
    padding-left: 57px;
  }

  header .left h1 a::before {
    width: 37px;
    height: 50px;
  }

  header .left .telbtn {
    top: 7px;
    right: 70px;
  }

  header .left .telbtn img {
    width: 50px;
    height: 50px;
  }

}

@media only screen and (max-width: 414px){

  header {
    padding: 14px 0;
  }

  header .left h1 a {
    font-size: 5.5vw;
    padding-left: 47px;
  }

  header .left h1 a::before {
    width: 27px;
    height: 36px;
  }

  header .left .telbtn {
    top: 8px;
    right: 60px;
  }

  header .left .telbtn img {
    width: 36px;
    height: 36px;
  }
  
}

/* ==============================================
 MV
=============================================== */

#mv {
  background-image:url(./images/mv_bg.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 90px 0 100px;
}

#mv .inner {
  position: relative;
}

#mv .area_mv {
  width: 160px;
  height: 162px;
  background-image:url(./images/area_mv.png);
  aspect-ratio: 186 / 188;
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  color: #005100;
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  padding-top: 40px;
  position: absolute;
  top: -15px;
  left: 200px;
}

#mv .area_mv span {
  font-size: 24px;
  font-weight: bold;
}

#mv .sentei01 {
  color: #ee0000;
  font-size: 56px;
  font-weight: 900;
  position: absolute;
  bottom: 40px;
  right: 60px;
}

#mv .sentei01 span {
  font-size: 36px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){

  #mv {
    background: none;
    padding: 0;
  }

  #mv .inner {
    padding: 0;
  }

  #mv .area_mv {
    width: 20%;
    height: 16%;
    font-size: 5vw;
    padding-top: 5%;
    top: 10px;
    left: 0;
  }
  
  #mv .area_mv span {
    font-size: 3vw;
  }

  #mv .sentei01 {
    color: #ee0000;
    font-size: 5.2vw;
    font-weight: 900;
    position: absolute;
    bottom: 42%;
    right: 36%;
  }

  #mv .sentei01 span {
    font-size: 3vw;
    font-weight: bold;
    padding-left: 3px;
  }
}


/* ==============================================
 .contact_section
=============================================== */

.contact_section {
  background: #f0f6dc;
}

#toppage .first_section .contact_section {
  background: #fff;
}

.contact_section h3 {
  text-align: center;
  margin-bottom: 60px;
}

.contact_section h3 span {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #30a437;
  padding-left: 50px;
  position: relative;
}

.contact_section h3 span::before {
  content: "";
  width: 42px;
  height: 60px;
  background-image:url(./images/contact_section_icon.png);
  aspect-ratio: 42 / 60;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.contact_section .area {
  margin-bottom: 70px;
  border: 2px solid #30a437;
  width: 100%;
}

.contact_section .area th,
.contact_section .area td {
  text-align: center;
  vertical-align: middle;
  padding: 25px;
}

.contact_section .area th {
  width: 35%;
  background: #30a437;
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 2px;
}

.contact_section .area td {
  background: #fff;
}

.contact_section .area td p {
  font-size: 18px;
  line-height: 2;
  display: inline-block;
  text-align: left;
  width: 75%;
}

.contact_section .btn_block {
  text-align: center;
  justify-content: center;
  align-items: center;
}

.contact_section .credit {
  margin-top: 80px;
  text-align: center;
}

@media only screen and (max-width: 768px){

  .contact_section h3 {
    text-align: center;
    margin-bottom: 40px;
  }
  
  .contact_section h3 span {
    font-size: 20px;
    padding-left: 40px;
  }
  
  .contact_section h3 span::before {
    width: 28px;
    height: 40px;
  }
  
  .contact_section .area {
    margin-bottom: 7%;
    border: 2px solid #30a437;
    width: 100%;
  }
  
  .contact_section .area th,
  .contact_section .area td {
    display: block;
    width: 100%;
    padding: 25px 15px;
  }
  
  .contact_section .area th {
    width: 100%;
    font-size: 5vw;
  }
  
  .contact_section .area td p {
    font-size: 4vw;
    line-height: 1.6;
    width: 100%;
  }
  
  .contact_section .btn_block .item {
    width: 50%;
  }
  
  .contact_section .credit {
    margin-top: 7%;
  }
  
}

@media only screen and (max-width: 414px){

  .contact_section h3 {
    margin-bottom: 30px;
  }

  .contact_section h3 span {
    font-size: 16px;
    padding-left: 30px;
  }
  
  .contact_section h3 span::before {
    width: 21px;
    height: 30px;
  }
  
  .contact_section .area th,
  .contact_section .area td {
    padding: 20px 10px;
  }

  .contact_section .btn_block .item img {
    max-width: initial;
    width: 105%;
    margin-left: -3%;
  }

  .contact_section .credit {
    overflow: hidden;
  }

  .contact_section .credit img {
    max-width: initial;
    width: 108%;
    margin-left: -3%;
  }
}

/* ==============================================
 .free_section
=============================================== */

.free_section {
  background-image:url(./images/free_section_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}

.free_section .balloon {
  text-align: center;
}

.free_section .txt01 {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
  margin-bottom: 40px;
}

.free_section .txt01 span {
  font-size: 48px;
  font-weight: bold;
}

.free_section .img01 {
  text-align: left;
}

.free_section .txt02 {
  font-size: 24px;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

.free_section .txt03 span {
  font-size: 24px;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

.free_section .txt03 .underline {
  padding-bottom: 5px;
  background-image: linear-gradient(transparent 70%, #ffe354 30%);
}

.free_section .txt03 .fs_b {
  font-size: 30px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){

  .free_section {
    background-image:url(./images/free_section_bg01_sp.jpg);
  }

  .free_section .txt01 {
    font-size: 5vw;
    margin-bottom: 6%;
  }

  .free_section .txt01 span {
    font-size: 7vw;
  }

  .free_section .img01 {
    text-align: center;
  }

  .free_section .txt02,
  .free_section .txt03 {
    font-size: 3.6vw;
    text-align: center;
  }

  .free_section .txt03 span {
    font-size: 3.6vw;
  }

  .free_section .txt03 .fs_b {
    font-size: 5vw;
  }

}

/* ==============================================
 トップページコンテンツ
=============================================== */

.bg-lazy  {
  background-image: none!important;
}

/* #toppage .first_section
=============================================== */

#toppage .first_section {
  text-align: center;
}

#toppage .first_section .img01 {
  margin-bottom: 30px;
}

#toppage .first_section .txt01,
#toppage .first_section .txt02 {
  color: #aa8211;
}

#toppage .first_section .txt01 {
  font-size: 22px;
  margin-bottom: 10px;
}

#toppage .first_section .txt02 {
  font-size: 24px;
  margin-bottom: 60px;
}

#toppage .first_section .cobid19 p {
  color: #919191;
}

#toppage .first_section .cobid19 .img02 {
  margin: 20px 0;
}

@media only screen and (max-width: 768px){

  #toppage .first_section .txt01 {
    font-size: 2.6vw;
  }
  
  #toppage .first_section .txt02 {
    font-size: 3vw;
    margin-bottom: 7%;
  }

  #toppage .first_section .cobid19 p {
    font-size: 2.6vw;
  }

}

/* 10%OFFキャンペーン
=============================================== */

#toppage #campaign {
  background-image:url(./images/top_campaign_bg01.jpg);
  padding: 50px 0 0;
  text-align: center;
  position: relative;
}

#toppage #campaign .mail {
  position: absolute;
  bottom: 100px;
  left: 52%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #campaign .mail a {
  width: 320px;
  display: inline-block;
  background: #fff;
  -moz-box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.1);
  -webkit-box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.1);
  -ms-box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.1);
  box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.1);
  color: #30a437;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  padding: 25px;
  position: relative;
}

#toppage #campaign .mail a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #30a437;
  border-right: 2px solid #30a437;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
}

#toppage #campaign .mail a:hover {
  opacity: 0.8;
  transform: translateY(4px);
}

@media only screen and (max-width: 768px){

  #toppage #campaign .mail {
    bottom: 10%;
    width: 40%
  }

  #toppage #campaign .mail a {
    width: 100%;
    font-size: 2.4vw;
    padding: 8% 4%;
  }
  
  #toppage #campaign .mail a::after {
    width: 6px;
    height: 6px;
    border-top: 1px solid #30a437;
    border-right: 1px solid #30a437;
    right: 10%;
    margin-top: -3px;
  }

}

@media only screen and (max-width: 414px){

  #toppage #campaign .mail {
    width: 50%
  }

  #toppage #campaign .mail a {
    font-size: 3vw;
  }
  
  #toppage #campaign .mail a::after {
    right: 8%;
  }

}

/* ８つのメリット
=============================================== */

#toppage #merit {
  background:
  url(./images/top_merit_bg02.png) no-repeat right 99% / 856px 718px,
  url(./images/top_merit_bg01.jpg) no-repeat center top / cover;
  padding-bottom: 180px;
}

#toppage #merit h2 {
  text-align: center;
  margin-bottom: 40px;
  color: #fff;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 4px;
  line-height: 2;;
}

#toppage #merit .list01 {
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 60px;
}

#toppage #merit .list01 li {
  width: 22%;
}

#toppage #merit .list01 li:nth-child(4) {
  margin-right: 10%;
}

#toppage #merit .list01 li:nth-child(5) {
  margin-left: 10%;
}

#toppage #merit .list01 li .circle {
  position: relative;
  text-align: center;
  width: 220px;
  height: 220px;
  -webkit-border-radius: 200px;
  -moz-border-radius: 200px;
  border-radius: 200px;
  background: #fff;
  -moz-box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.2);
  -webkit-box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.2);
  -ms-box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.2);
  box-shadow: 0px 10px 10px 5px rgba(128, 128, 128, 0.2);
}

#toppage #merit .list01 li .circle .num {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #merit .list01 li .circle .txt {
  width: 200px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
}

#toppage #merit .list01 li .circle .txt span {
  font-size: 30px;
  font-weight: bold;
  color: #ff9000;
}

#toppage #merit .list01 li .circle .txt span .small {
  font-size: 20px;
  font-weight: bold;
}

#toppage #merit .list02 {
  width: 50%;
  margin-bottom: 60px;
}

#toppage #merit .list02 ul li {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #30a437, -2px -2px 2px #30a437,
  -2px 2px 2px #30a437,  2px -2px 2px #30a437,
  2px 0px 2px #30a437, -2px -0px 2px #30a437,
  0px 2px 2px #30a437,  0px -2px 2px #30a437;
  padding: 10px 0 10px 64px;
  position: relative;
}

#toppage #merit .list02 ul li::before {
  content: "";
  width: 54px;
  height: 54px;
  background-image:url(./images/top_merit_icon01.png);
  aspect-ratio: 54 / 53;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #merit .btmtxt span {
  display: inline-block;
  background: #ffcc00;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  padding: 5px 10px 10px;
  margin-bottom: 15px;
}

#toppage #merit .btmtxt span:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px){

  #toppage #merit {
    background:
    url(./images/top_merit_bg02_sp.png) no-repeat right 70% / 50% auto,
    url(./images/top_merit_bg01.jpg) no-repeat center top / cover;
    padding-bottom: 90px;
  }

  #toppage #merit h2 {
    font-size: 5.5vw;
    margin-bottom: 6%;
  }

  #toppage #merit .list01 {
    margin-bottom: 2%;
  }

  #toppage #merit .list01 li {
    width: 32%;
    margin: 0 2% 20px 0;
  }
  
  #toppage #merit .list01 li:nth-child(4) {
    margin-right: 2%;
  }
  
  #toppage #merit .list01 li:nth-child(5) {
    margin-left: 0;
  }

  #toppage #merit .list01 li:nth-child(3n) {
    margin-right: 0;
  }

  #toppage #merit .list01 li .circle {
    width: 100%;
    height: 0;
    padding: 0 0 100%;
  }

  #toppage #merit .list01 li .circle .num img {
    width: 90%;
  }
  
  #toppage #merit .list01 li .circle .txt {
    width: 100%;
    font-size: 2.8vw;
  }
  
  #toppage #merit .list01 li .circle .txt span {
    font-size: 3.6vw;
  }
  
  #toppage #merit .list01 li .circle .txt span .small {
    font-size: 2.8vw;
  }

  #toppage #merit .list02 {
    flex-wrap: nowrap;
    width: 90%;
    margin-bottom: 4%;
  }

  #toppage #merit .list02 ul {
    width: 49%;
  }

  #toppage #merit .list02 ul li {
    font-size: 2.8vw;
    padding-left: 20%;
  }

  #toppage #merit .list02 ul li::before {
    width: 15%;
    height: 0;
    padding: 0 0 15%;
  }

  #toppage #merit .btmtxt span {
    font-size: 5vw;
    padding: 2% 3% 2.5%;
    margin-bottom: 2%;
  }

}

@media only screen and (max-width: 414px){

  #toppage #merit {
    background:
    url(./images/top_merit_bg02_sp.png) no-repeat right 65% / 50% auto,
    url(./images/top_merit_bg01.jpg) no-repeat center top / cover;
    padding-bottom: 60px;
  }

  #toppage #merit h2 {
    letter-spacing: 2px;
  }

  #toppage #merit .list01 li .circle .num {
    top: 5%;
  }

  #toppage #merit .list02 ul li {
    font-size: 3.2vw;
  }

}

/* お客様の声
=============================================== */

#toppage #voice {
  background-image:url(./images/top_voice_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}

#toppage #voice h2 {
  text-align: center;
  margin-bottom: 60px;
}

#toppage #voice .boxes .box {
  margin-bottom: 60px;
}

#toppage #voice .boxes .box:last-child {
  margin-bottom: 0;
}

#toppage #voice .boxes .box .left {
  width: 45%;
}

#toppage #voice .boxes .box .right {
  width: 54%;
}

#toppage #voice .boxes .box .right h3 {
  color: #005100;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 20px;
  padding-left: 60px;
  position: relative;
}

#toppage #voice .boxes .box .right h3::before {
  content: "";
  width: 50px;
  height: 34px;
  background-image:url(./images/top_voice_icon01.png);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 0;
  left: 0%;
}

#toppage #voice .boxes .box .right ul {
  margin-bottom: 20px;
  flex-wrap: wrap;
}

#toppage #voice .boxes .box .right ul li {
  width: 49%;
  margin-bottom: 10px;
}

#toppage #voice .boxes .box .right ul li p {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

#toppage #voice .boxes .box .right ul li .heading {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 4px;
  background: #91b901;
  padding: 1% 1% 2% 3%;
  margin-right: 20px;
  width: 8rem;
  text-align: center;
}

#toppage #voice .boxes .box .right ul li .content {
  font-size: 18px;
  font-weight: bold;
}

#toppage #voice .boxes .box .right .txt01 {
  font-size: 18px;
}

@media only screen and (max-width: 768px){

  #toppage #voice {
    background-image:url(./images/top_voice_bg01_sp.jpg);
    background-position:center bottom;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
  }

  #toppage #voice .inner {
    padding: 0;
  }

  #toppage #voice h2 {
    margin-bottom: 6%;
  }

  #toppage #voice h2 img {
    width: 50%;
  }

  #toppage #voice .boxes .box {
    margin-bottom: 6%;
    padding-top: 6%;
  }
    
  #toppage #voice .boxes .box {
    background-position:center top;
    background-repeat:no-repeat;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
  }

  #toppage #voice .boxes .box01 {
    background-image:url(./images/top_voice_bg02.png);
  }

  #toppage #voice .boxes .box02 {
    background-image:url(./images/top_voice_bg03.png);
  }

  #toppage #voice .boxes .box03 {
    background-image:url(./images/top_voice_bg04.png);
  }

  #toppage #voice .boxes .box .item {
    width: 85%;
    margin-right: auto;
    margin-left: auto;
  }

  #toppage #voice .boxes .box .left {
    text-align: center;
    margin-bottom: 3%;
  }
 
  #toppage #voice .boxes .box .right h3 {
    font-size: 3vw;
    padding-left: 10%;
  }
  
  #toppage #voice .boxes .box .right h3::before {
    width: 6%;
    height: 0;
    padding: 0 0 6%;
  }
  
  #toppage #voice .boxes .box .right ul {
    margin-bottom: 2%;
  }
    
  #toppage #voice .boxes .box .right ul li .heading {
    font-size: 1.8vw;
    letter-spacing: 2px;
    background: #91b901;
    margin-right: 10px;
  }
  
  #toppage #voice .boxes .box .right ul li .content {
    font-size: 2.2vw;
  }
  
  #toppage #voice .boxes .box .right .txt01 {
    font-size: 2.4vw;
  }
  
}

@media only screen and (max-width: 480px){

  #toppage #voice .boxes .box .right {
    width: 94%;
  }

  #toppage #voice .boxes .box .right h3 {
    font-size: 4vw;
  }

  #toppage #voice .boxes .box .right ul li .heading {
    width: 6rem;
    font-size: 2.4vw;
    padding: 2% 2% 3% 4%;
    margin-right: 5px;
  }

  #toppage #voice .boxes .box .right ul li .content {
    font-size: 2.8vw;
  }

  #toppage #voice .boxes .box .right .txt01 {
    font-size: 3.4vw;
  }

}

/* 選ばれる理由
=============================================== */

#toppage #reason {
  background: #dcf293;
}

#toppage #reason .white {
  background: #fff;
  -moz-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  padding: 80px 50px;
  position: relative;
}

#toppage #reason .white::before {
  content: "";
  width: 76px;
  height: 106px;
  background-image:url(./images/top_reason_icon01.png);
  aspect-ratio: 76 / 106;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #reason h2 {
  text-align: center;
  margin-bottom: 60px;
}

#toppage #reason h2 span {
  display: block;
  letter-spacing: 4px;
}

#toppage #reason h2 .txt01 {
  font-size: 36px;
}

#toppage #reason h2 .txt01 .num {
  display: inline-block;
  font-size: 48px;
  font-weight: bold;
  -moz-text-shadow: 0px 8px 5px rgba(0, 0, 0, 0.5);
  -webkit-text-shadow: 0px 8px 5px rgba(0, 0, 0, 0.5);
  -ms-text-shadow: 0px 8px 5px rgba(0, 0, 0, 0.5);
  text-shadow: 0px 8px 5px rgba(0, 0, 0, 0.5);
}

#toppage #reason h2 .txt02 {
  font-size: 48px;
}

#toppage #reason h2 .txt03 {
  font-size: 48px;
  font-weight: bold;
  position: relative;
}

#toppage #reason h2 .txt03::before {
  content: "・・・・・・";
  width: 100%;
  height: auto;
  display: block;
  color: #005100;
  font-weight: bold;
  line-height: 1;
  margin-bottom: -20px;
}

#toppage #reason .flex01 {
  margin-bottom: 60px;
}

#toppage #reason .flex01 .item {
  width: 49%;
}

#toppage #reason .flex01 .left {
  font-size: 21px;
}

#toppage #reason .flex01 .right {
  text-align: center;
}

#toppage #reason .flex02 {
  margin-bottom: 60px;
}

#toppage #reason .flex02 li {
  width: 22%;
}

#toppage #reason .flex02 li .img {
  margin-bottom: 10px;
}

#toppage #reason .flex02 li h3 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

#toppage #reason .btmtxt {
  color: #fff;
  background: #3e577b;
  width: 65%;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 4px;
  font-style: oblique;
}

@media only screen and (max-width: 768px){

  #toppage #reason .white {
    padding: 10% 0;
  }

  #toppage #reason .white::before {
    width: 15%;
    height: 0;
    padding: 0 0 15%;
    top: -2%;
  }

  #toppage #reason h2 {
    margin: 0 4% 8%;
  }
 
  #toppage #reason h2 .txt01 {
    font-size: 4vw;
  }

  #toppage #reason h2 .txt01 .num,
  #toppage #reason h2 .txt02,
  #toppage #reason h2 .txt03 {
    font-size: 5vw;
  }

  #toppage #reason h2 .txt03::before {
    margin-bottom: -3%;
  }

  #toppage #reason .flex01 {
    margin: 0 4% 8%;
  }

  #toppage #reason .flex01 .item {
    width: 100%;
  }

  #toppage #reason .flex01 .left {
    order: 1;
    margin-top: 20px;
    font-size: 4vw;
  }

  #toppage #reason .flex02 {
    margin: 0 4% 4%;
  }

  #toppage #reason .flex02 li {
    width: 48%;
    margin-bottom: 30px;
  }

  #toppage #reason .flex02 li h3 {
    font-size: 3.2vw;
  }

  #toppage #reason .flex02 li .txt01 {
    font-size: 3vw;
  }

  #toppage #reason .btmtxt {
    width: 100%;
    padding: 15px;
    font-size: 3vw;
    letter-spacing: 2px;
  }

}

@media only screen and (max-width: 414px){

  #toppage #reason h2 span {
    letter-spacing: 2px;
  }

  #toppage #reason h2 .txt01 {
    font-size: 5vw;
  }

  #toppage #reason h2 .txt01 .num,
  #toppage #reason h2 .txt02,
  #toppage #reason h2 .txt03 {
    font-size: 6vw;
  }

  #toppage #reason h2 .txt01 .num {
    -moz-text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.5);
    -webkit-text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.5);
    -ms-text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.5);
    text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.5);  
  }

  #toppage #reason .btmtxt {
    padding: 15px 10px;
    font-size: 3.2vw;
  }
}

/* 私達の強み
=============================================== */

#toppage #strength {
  background:
  url(./images/strength_bg01.jpg) no-repeat center top/100% auto,
  url(./images/strength_bg02.jpg) no-repeat center bottom/100% auto ;
  padding: 120px 0 200px;
}

#toppage #strength h2 {
  text-align: center;
  margin-bottom: 160px;
}

#toppage #strength h2 .white {
  background: #fff;
  color: #005100;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  display: inline-block;
  padding: 20px 50px 20px 60px;
  line-height: 1; 
}

#toppage #strength h2 .white .fs_b {
  font-size: 48px;
  font-weight: bold;
}

#toppage #strength .boxes .box {
  margin-bottom: 40px;
}

#toppage #strength .boxes .box02 {
  margin-bottom: 0;
}

#toppage #strength .boxes .box .item {
  width: 50%;
}

#toppage #strength .boxes .box .img {
  text-align: right;
  padding-right: 30px;
}

#toppage #strength .boxes .box:nth-child(2n) .img {
  padding-left: 30px;
  order: 1;
}

#toppage #strength .boxes .box .txt_block {
  position: relative;
  padding-top: 80px;
}

#toppage #strength .boxes .box01 .txt_block {
  margin-top: 60px;
}

#toppage #strength .boxes .box02 .txt_block {
  margin-top: 10px;
}

#toppage #strength .boxes .box03 .txt_block {
  margin-top: 70px;
}

#toppage #strength .boxes .box04 .txt_block {
  margin-top: 10px;
}

#toppage #strength .boxes .box .txt_block h3 {
  position: absolute;
  background: #9abf14;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  padding: 10px 40px;
  top: 10px;
  left: -60px;
}

#toppage #strength .boxes .box:nth-child(2n) .txt_block h3 {
  left: auto;
  right: -60px;
}

#toppage #strength .boxes .box:nth-child(2n) .txt_block {
  text-align: right;
}

#toppage #strength .boxes .box .txt_block .txt {
  width: 485px;
  display: inline-block;
}

#toppage #strength .boxes .box .txt_block .txt span {
  font-size: 24px;
  border-bottom: 2px solid #005100; 
}

#toppage #strength .btmtxt {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 2.2;
  text-align: center;
}

@media only screen and (max-width: 768px){

  #toppage #strength {
    background:
    url(./images/strength_bg01.jpg) no-repeat center top/100% auto,
    url(./images/strength_bg02.jpg) no-repeat 30% bottom/150% auto ;
    padding: 10% 0 30%;
  }
  
  #toppage #strength h2 {
    margin-bottom: 10%;
  }
  
  #toppage #strength h2 .white {
    font-size: 4vw;
    padding: 2% 3% 3% 6%;
  }
  
  #toppage #strength h2 .white .fs_b {
    font-size: 5vw;
  }
  
  #toppage #strength .boxes .box {
    margin-bottom: 8%;
  }

  #toppage #strength .boxes .box02 {
    margin-bottom: 4%;
  }

  #toppage #strength .boxes .box04 {
    margin-bottom: 12%;
  }
    
  #toppage #strength .boxes .box .item {
    width: 100%;
  }
  
  #toppage #strength .boxes .box .img {
    text-align: center;
    padding-right: 0;
    margin-bottom: 10px;
  }
  
  #toppage #strength .boxes .box:nth-child(2n) .img {
    padding-left: 0;
    order: 0;
  }
  
  #toppage #strength .boxes .box .txt_block {
    position: relative;
    padding-top: 0;
    width: 78%;
    margin: 0 auto;
  }
  
  #toppage #strength .boxes .box .txt_block h3 {
    position: static;
    font-size: 4vw;
    padding: 1.2% 3%;
    display: inline-block;
    margin-bottom: 10px;
    margin-left: -10%;
  }

  #toppage #strength .boxes .box:nth-child(2n) .txt_block h3 {
    margin-left: 0;
    margin-right: -10%;    
  }

  #toppage #strength .boxes .box .txt_block .txt {
    width: auto;
    display: block;
  }
  
  #toppage #strength .boxes .box .txt_block .txt span {
    font-size: 2.6vw;
    line-height: 2;
  }
  
  #toppage #strength .btmtxt {
    font-size: 3vw;
  }
  
}

@media only screen and (max-width: 414px){

  #toppage #strength .boxes .box .txt_block h3 {
    font-size: 5vw;
  }

  #toppage #strength .boxes .box .txt_block .txt span {
    font-size: 3.6vw;
  }

  #toppage #strength .btmtxt {
    font-size: 3.6vw;
    letter-spacing: 0;
  }

}

/* 他社と比べた費用の比較
=============================================== */

#toppage #comparison {
  background-image:url(./images/top_comparison_bg01.jpg);
  background-position:center;
  padding-bottom: 200px;
}

#toppage #comparison h2 {
  height: 393px;
  position: relative;
  text-align: center;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  padding: 160px 0 130px;
  background-image:url(./images/top_comparison_arrow.png);
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  margin: -200px 0 60px;
}

#toppage #comparison h2 span {
  font-size: 48px;
  font-weight: bold;
}

#toppage #comparison h2 img {
  position: absolute;
  top: 70px;
  left: 100px;
}

#toppage #comparison .diagram {
  position: relative;
  padding-top: 60px;
  margin-bottom: 60px;
}

#toppage #comparison .diagram .txt {
  position: absolute;
  top: 0;
  left: 52%;
}

#toppage #comparison .diagram .txt .star {
  color: #005100;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 4px;
  position: relative;
}

#toppage #comparison .diagram .txt .fs_b {
  font-size: 36px;
  font-weight: bold;
}

#toppage #comparison .diagram .txt .star::after {
  content: "";
  width: 69px;
  height: 69px;
  background-image:url(./images/top_comparison_star.png);
  aspect-ratio: 69 / 69;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: -70px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #comparison .btm {
  text-align: center;
}

#toppage #comparison .btm .contents {
  position: relative;
  padding-left: 220px;
  display: inline-block;
  text-align: left;
}

#toppage #comparison .btm .contents::before {
  content: "";
  width: 183px;
  height: 183px;
  background-image:url(./images/top_comparison_icon01.png);
  aspect-ratio: 183 / 183;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #comparison .btm .contents h3 {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  -moz-text-shadow: 0px 4px 5px rgba(252, 226, 18, 0.8);
  -webkit-text-shadow: 0px 4px 5px rgba(252, 226, 18, 0.8);
  -ms-text-shadow: 0px 4px 5px rgba(252, 226, 18, 0.8);
  text-shadow: 0px 4px 5px rgba(252, 226, 18, 0.8);
  margin-bottom: 20px;
}

#toppage #comparison .btm .contents h3 span {
  font-size: 48px;
  font-weight: bold;
}

#toppage #comparison .btm .contents .txt01 {
  font-size: 20px;
}

@media only screen and (max-width: 768px){

  #toppage #comparison {
    padding-bottom: 30%;
  }
  
  #toppage #comparison h2 {
    height: auto;
    font-size: 5vw;
    padding: 10% 0 20%;
    background-image:url(./images/top_comparison_arrow_sp.png);
    margin: -25% 0 6%;
    letter-spacing: 2px;
  }
  
  #toppage #comparison h2 span {
    font-size: 6vw;
  }
  
  #toppage #comparison h2 img {
    top: -20%;
    left: 0;
    width: 25%;
  }
  
  #toppage #comparison .diagram {
    position: relative;
    padding-top: 0;
    margin-bottom: 10%;
  }
  
  #toppage #comparison .diagram .txt {
    top: 50%;
    left: 5%;
  }
  
  #toppage #comparison .diagram .txt .star {
    font-size: 5vw;
    letter-spacing: 2px;
  }
  
  #toppage #comparison .diagram .txt .fs_b {
    font-size: 6vw;
  }
  
  #toppage #comparison .diagram .txt .star::after {
    content: "";
    width: 15%;
    height: 0;
    padding: 0 0 15%;
    right: -15%;
  }

  #toppage #comparison .btm .contents {
    display: block;
    padding-left: 0;
  }

  #toppage #comparison .btm .contents::before {
    content: none;
  }

  #toppage #comparison .btm .contents h3 {
    position: relative;
    padding-left: 22%;
    font-size: 5vw;
    -moz-text-shadow: 0px 2px 3px rgba(252, 226, 18, 0.8);
    -webkit-text-shadow: 0px 2px 3px rgba(252, 226, 18, 0.8);
    -ms-text-shadow: 0px 2px 3px rgba(252, 226, 18, 0.8);
    text-shadow: 0px 2px 3px rgba(252, 226, 18, 0.8);
    line-height: 1.2;
    margin-bottom: 6%;
  }
  
  #toppage #comparison .btm .contents h3 span {
    font-size: 6vw;
  }
  
  #toppage #comparison .btm .contents h3:before {
    content: "";
    width: 19%;
    height: 0;
    padding: 0 0 19%;
    background-image:url(./images/top_comparison_icon01.png);
    aspect-ratio: 183 / 183;
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  
  #toppage #comparison .btm .contents .txt01 {
    font-size: 3.2vw;
  }

}

/* 他社と比べた低価格の秘密
=============================================== */

#toppage #comparison02 {
  background: #9abf14;
  position: relative;
  padding-top: 120px;
}

#toppage #comparison02::before {
  content: "";
  width: 36px;
  height: 157px;
  background-image:url(./images/top_comparison02_scroll.png);
  aspect-ratio: 36 / 157;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #comparison02 .white {
  background: #fff;
  -webkit-border-radius: 137px;
  -moz-border-radius: 137px;
  border-radius: 137px;
  -moz-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.2);
  -ms-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.2);
  padding: 80px 60px;
}

#toppage #comparison02 h2 {
  text-align: center;
  margin-bottom: 80px;
  line-height: 1;;
}

#toppage #comparison02 h2 .content {
  position: relative;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
}

#toppage #comparison02 h2 .fs_b {
  font-size: 48px;
  font-weight: bold;  
}

#toppage #comparison02 h2 .content::before {
  content: "";
  width: 200px;
  height: 158px;
  background-image:url(./images/top_comparison02_balloon.png);
  aspect-ratio: 200 / 158;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  bottom: 0;
  left: -220px;
}

#toppage #comparison02 h2 .content::after {
  content: "";
  width: 212px;
  height: 146px;
  background-image:url(./images/top_comparison02_h2img01.png);
  aspect-ratio: 212 / 146;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: -232px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #comparison02 .flex01 {
  margin-bottom: 60px;
  justify-content: center;
}

#toppage #comparison02 .flex01 .item {
  width: 49%;
  text-align: center;
}

#toppage #comparison02 .flex01 .item h3 {
  margin-bottom: 60px;
  line-height: 1;
}

#toppage #comparison02 .flex01 .left h3 span {
  color: #363636;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 0 10px;
  background-image: linear-gradient(transparent 80%, #c7c7c7 20%);
}

#toppage #comparison02 .flex01 .right h3 span {
  color: #005100;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 0 10px;
  background-image: linear-gradient(transparent 80%, #ffcc00 20%);
}

#toppage #comparison02 .flex01 .right h3 .fs_s {
  font-size: 24px;
  padding: 0;
}

#toppage #comparison02 .other {
  margin-bottom: 60px;
}

#toppage #comparison02 .other h4 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

#toppage #comparison02 .other ul {
  margin-bottom: 30px;
}

#toppage #comparison02 .other ul li {
  font-size: 18px;
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
}

#toppage #comparison02 .other ul li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

#toppage #comparison02 .other .btm {
  padding-left: 180px;
}

#toppage #comparison02 .other .btm .txt01 {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

#toppage #comparison02 .other .btm .txt01::before {
  content: "";
  width: 153px;
  height: 137px;
  background-image:url(./images/top_comparison02_img03.png);
  aspect-ratio: 153 / 137;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 0;
  left: -180px;
}

#toppage #comparison02 .other .btm .txt02 {
  font-size: 22px;
  font-weight: bold;
  color: #e00000;
  letter-spacing: 2px;
}

#toppage #comparison02 .other .btm .txt02 span {
  font-weight: bold;
  padding-right: 15px;
}

#toppage #comparison02 .we h4 {
  font-size: 24px;
  font-weight: bold;
  color: #005100;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

#toppage #comparison02 .we p {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
}

#toppage #comparison02 .we .txt01 {
  margin-bottom: 20px;
}

#toppage #comparison02 .we .txt01 span {
  font-size: 36px;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
  background-image: linear-gradient(transparent 80%, #fce212 20%);
  margin: 0 10px;
}

@media only screen and (max-width: 768px){

  #toppage #comparison02 {
    padding-top: 15%;
  }
  
  #toppage #comparison02::before {
    width: 20%;
    height: 0;
    padding: 0 0 20%;
    top: -4%;
  }
  
  #toppage #comparison02 .white {
    -webkit-border-radius: 80px;
    -moz-border-radius: 80px;
    border-radius: 80px;
    padding: 8% 6%;
  }
  
  #toppage #comparison02 h2 {
    margin-bottom: 8%;
  }
  
  #toppage #comparison02 h2 .content {
    font-size: 4vw;
    letter-spacing: 2px;
  }
  
  #toppage #comparison02 h2 .fs_b {
    font-size: 5vw;
  }
  
  #toppage #comparison02 h2 .content::before {
    width: 70%;
    height: 0;
    padding: 0 0 56%;
    left: -70%;
  }
  
  #toppage #comparison02 h2 .content::after {
    width: 60%;
    height: 0;
    padding: 0 0 45%;
    right: -60%;
  }
  
  #toppage #comparison02 .flex01 {
    margin-bottom: 8%;
  }
  
  #toppage #comparison02 .flex01 .item {
    width: 100%;
  }

  #toppage #comparison02 .flex01 .left {
    margin-bottom: 16%;
    position: relative;
  }

  #toppage #comparison02 .flex01 .left::after {
    content: "";
    width: 65%;
    height: 4px;
    background: #ffcc00;
    position: absolute;
    bottom: -8%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  #toppage #comparison02 .flex01 .item .img img {
    width: 85%;
  }
  
  #toppage #comparison02 .flex01 .item h3 {
    margin-bottom: 6%;
  }
  
  #toppage #comparison02 .flex01 .left h3 span {
    font-size: 3vw;
  }
  
  #toppage #comparison02 .flex01 .right h3 span {
    font-size: 4vw;
  }
  
  #toppage #comparison02 .flex01 .right h3 .fs_s {
    font-size: 3vw;
  }
  
  #toppage #comparison02 .other {
    margin-bottom: 8%;
  }
  
  #toppage #comparison02 .other h4 {
    font-size: 3vw;
  }
  
  #toppage #comparison02 .other ul {
    margin-bottom: 30px;
  }
  
  #toppage #comparison02 .other ul li {
    font-size: 2.4vw;
  }
  
  #toppage #comparison02 .other .btm {
    padding-left: 0;
  }
  
  #toppage #comparison02 .other .btm .txt01 {
    font-size: 2.6vw;
    padding-left: 22%;
    margin-bottom: 25px;
  }
  
  #toppage #comparison02 .other .btm .txt01::before {
    width: 20%;
    height: 0;
    padding: 0 0 20%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  
  #toppage #comparison02 .other .btm .txt02 {
    font-size: 3vw;
  }
  
  #toppage #comparison02 .other .btm .txt02 span {
    padding-right: 0;
  }
  
  #toppage #comparison02 .we h4 {
    font-size: 3vw;
  }
  
  #toppage #comparison02 .we p {
    font-size: 2.4vw;
    letter-spacing: 0;
  }
    
  #toppage #comparison02 .we .txt01 span {
    font-size: 4vw;
    margin: 0 5px;
  }
  
}

@media only screen and (max-width: 414px){
  
  #toppage #comparison02 .white {
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
  }
    
  #toppage #comparison02 h2 .content {
    font-size: 5vw;
    letter-spacing: 2px;
  }
  
  #toppage #comparison02 h2 .fs_b {
    font-size: 6vw;
  }
  
  #toppage #comparison02 h2 .content::before {
    width: 60%;
    left: -60%;
  }
  
  #toppage #comparison02 h2 .content::after {
    width: 50%;
    right: -50%;
  }

  #toppage #comparison02 .flex01 .left h3 span {
    font-size: 4vw;
    letter-spacing: 1px;
  }
  
  #toppage #comparison02 .flex01 .right h3 span {
    font-size: 5vw;
    letter-spacing: 2px;
  }
  
  #toppage #comparison02 .flex01 .right h3 .fs_s {
    font-size: 4vw;
  }
  
  #toppage #comparison02 .other h4 {
    font-size: 4vw;
  }
  
  #toppage #comparison02 .other ul {
    margin-bottom: 20px;
  }
  
  #toppage #comparison02 .other ul li {
    font-size: 2.8vw;
    padding-left: 15px
  }
    
  #toppage #comparison02 .other .btm .txt01 {
    font-size: 2.8vw;
  }
    
  #toppage #comparison02 .other .btm .txt02 {
    font-size: 3.4vw;
  }
  
  #toppage #comparison02 .other .btm .txt02 .sp {
    display: inline-block !important;
  }

  #toppage #comparison02 .we p {
    font-size: 2.6vw;
  }

  #toppage #comparison02 .we .txt01 span {
    font-size: 3.8vw;
    margin: 0 3px;
  }
  
}

/* 品質への自信
=============================================== */

#toppage #confidence {
  background-image:url(./images/top_confidence_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 120px 0;
}

#toppage #confidence h2 {
  text-align: center;
  color: #005100;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 80px;
}

#toppage #confidence .txt01 {
  width: 70%;
  font-size: 20px;
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 2px;
  margin-bottom: 80px;
}

#toppage #confidence .btm {
  text-align: center;
  background-color: #005100;
  padding: 36px 0 40px;
  width: 88%;
  margin: 0 auto;
  transform: skewX(-40deg);
  box-shadow: #fff 5px 10px;
  /* text-align: center;
  background-image:url(./images/top_confidence_linear.png);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size: 1366px;
  background-size: 1366px;
  padding: 36px 0 40px; */
}

#toppage #confidence .btm p {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  transform:skewX(40deg);
}

#toppage #confidence .btm p span{
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}
@media only screen and (max-width: 1366px){

  #toppage #confidence .txt01 {
    font-size: 18px;
  }

  /* #toppage #confidence .btm {
    -moz-background-size: 1200px;
    background-size: 1200px;
  } */

  #toppage #confidence .btm p span{
    font-size: 22px;
  }

}

@media only screen and (max-width: 768px){

  #toppage #confidence {
    padding: 13% 0;
    background-image: url(./images/top_confidence_bg01_sp.jpg);
    background-position: 86% top;
  }

  #toppage #confidence h2 {
    font-size: 5.5vw;
    margin-bottom: 50%;
  }

  #toppage #confidence .txt01 {
    font-size: 3.2vw;
    text-shadow:
    2px 2px 2px #fff, -2px -2px 2px #fff,
    -2px 2px 2px #fff,  2px -2px 2px #fff,
    2px 0px 2px #fff, -2px -0px 2px #fff,
    0px 2px 2px #fff,  0px -2px 2px #fff;
    width: 100%;
    margin-bottom: 0;
  }

  #toppage #confidence .btm {
    background: none;
    padding-bottom: 0;
    width: 100%;
    margin: 0 auto;
    transform: skewX(0deg);
    box-shadow: none;
  }

  #toppage #confidence .btm p span {
    display: inline-block;
    /* font-size: 2vw; */
    font-size: 14px;
    transform: skewX(30deg);
}

  #toppage #confidence .btm p {
    /* background-image:url(./images/top_confidence_linear_sp.png);
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    padding: 5% 5% 6%;
    font-size: 3.2vw; */
    color: #fff;
    font-weight: bold;
    text-align: center;
    background-color: #005100;
    width: 80%;
    padding: 3%;
    margin: 0 auto;
    transform: skewX(-30deg);
    box-shadow: #fff 5px 10px;
  }

  #toppage #confidence .btm .txt03 {
    /* margin-top: -7%; */
    margin-top: 5px;
  }

}

/* サービス一覧
=============================================== */

#toppage #service {
  background-image:url(./images/top_service_bg01.jpg);
  background-position:center bottom;
  background-repeat:no-repeat;
  padding-bottom: 10%;
}

#toppage #service h2 {
  text-align: center;
  margin-bottom: 80px;
}

#toppage #service h2 span {
  display: inline-block;
  border-top: 2px solid #146e14;
  border-bottom: 2px solid #146e14;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 4px;
  padding: 25px 60px;
}

#toppage #service ul {
  flex-wrap: wrap;
}

#toppage #service ul li {
  width: 48%;
  margin-bottom: 30px;
}

#toppage #service ul li .box {
  width: 556px;
  margin: 0 auto;
  background: #f6f6f6;
  -moz-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
}

#toppage #service ul li .box .item {
  width: 50%;
}

#toppage #service ul li .box .img {
  background-image:url(./images/top_service_img01.jpg);
  aspect-ratio: 550 / 620;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}

#toppage #service ul li .box02 .img {
  background-image:url(./images/top_service_img02.jpg);
}

#toppage #service ul li .box03 .img {
  background-image:url(./images/top_service_img03.jpg);
}

#toppage #service ul li .box04 .img {
  background-image:url(./images/top_service_img04.jpg);
}

#toppage #service ul li .box05 .img {
  background-image:url(./images/top_service_img05.jpg);
}

#toppage #service ul li .box06 .img {
  background-image:url(./images/top_service_img06.jpg);
}

#toppage #service ul li .box .right h3 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #005100;
  padding: 20px 10px 10px;
}

#toppage #service ul li .box .right .txt01 {
  padding: 0 10px 20px 10px;
}

#toppage #service ul li .box .right table {
  width: 100%;
  text-align: center;
}

#toppage #service ul li .box .right table thead th {
  background: #a3cf06;
  width: 50%;
  color: #fff;
  padding: 3px 5px;
}

#toppage #service ul li .box .right table thead th:first-child {
  position: relative;
}

#toppage #service ul li .box .right table thead th:first-child::after {
  content: "";
  width: 1px;
  height: 80%;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #service ul li .box .right table tbody td {
  width: 50%;
  padding: 10px 5px;
}

#toppage #service .btm {
  margin-top: 50px;
  text-align: center;
}

#toppage #service .btm .txt01 {
  margin-bottom: 40px;
}

#toppage #service .btm .txt01 span {
  color: #ff0000;
  font-size: 22px;
  font-weight: bold;
  position: relative;
}

#toppage #service .btm .txt01 span::after {
  content: "";
  width: 75px;
  height: 75px;
  background-image:url(./images/top_service_icon01.png);
  aspect-ratio: 75 / 75;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: -75px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #service .btm .txt02 {
  font-size: 22px;
  font-weight: bold;
}

#toppage #service .btm .txt03 {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 40px;
}

#toppage #service .btm .txt04 {
  font-size: 36px;
  font-weight: bold;
  color: #006e16;
  font-style: oblique;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

@media only screen and (max-width: 768px){

  #toppage #service {
    background-image:url(./images/top_service_bg01_sp.jpg);
    -moz-background-size:100% auto;
    background-size:100% auto; 
    padding-bottom: 45%;
  }
  
  #toppage #service h2 {
    margin-bottom: 10%;
  }
  
  #toppage #service h2 span {
    width: 60%;
    font-size: 5vw;
    padding: 3%;
  }
  
  #toppage #service ul li {
    width: 100%;
    margin-bottom: 4%;
  }
  
  #toppage #service ul li .box {
    width: 78%;
  }
  
  #toppage #service ul li .box .item {
    width: 50%;
  }
  
  #toppage #service ul li .box .right h3 {
    font-size: 3vw;
    padding: 8% 4% 4%;
  }
  
  #toppage #service ul li .box .right .txt01 {
    font-size: 2.2vw;
    padding: 0 4% 8%;
  }

  #toppage #service ul li .box .right table th,
  #toppage #service ul li .box .right table td {
    font-size: 2.2vw;
  }

  #toppage #service .btm {
    margin-top: 10%;
  }
  
  #toppage #service .btm .txt01 {
    margin-bottom: 8%;
    padding-right: 10%;
  }
  
  #toppage #service .btm .txt01 span {
    font-size: 3.6vw;
  }
  
  #toppage #service .btm .txt01 span::after {
    content: "";
    width: 15%;
    height: 0;
    padding: 0 0 15%;
    right: -15%;
  }
  
  #toppage #service .btm .txt02 {
    font-size: 3.6vw;
    font-weight: normal;
    margin-bottom: 2%;
    line-height: 2;
  }
  
  #toppage #service .btm .txt03 {
    font-size: 5vw;
    margin-bottom: 8%;
  }
  
  #toppage #service .btm .txt04 {
    font-size: 5.6vw;
  }

}

@media only screen and (max-width: 480px){

  #toppage #service ul li .box {
    width: 90%;
  }

  #toppage #service ul li .box .right h3 {
    font-size: 3.4vw;
  }
  
  #toppage #service ul li .box .right .txt01 {
    font-size: 2.6vw;
  }

  #toppage #service ul li .box .right table th,
  #toppage #service ul li .box .right table td {
    font-size: 2.6vw;
  }

}

/* お申し込みの流れ３STEP
=============================================== */

.flow_section {
  background-image:url(./images/top_flow_bg01.jpg);
  background-position:center top;
  background-repeat:no-repeat;
}

.flow_section h2 {
  text-align: center;
  margin: 120px 0 280px;
}

.flow_section h2 .white {
  background: rgba(255,255,255, 0.9);
  color: #005100;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 4px;
  padding: 20px 10px 20px 30px;
}

.flow_section h2 .white .fs_b {
  font-size: 56px;
  font-weight: bold;
}

.flow_section .flex01 {
  margin-bottom: 80px;
}

.flow_section .flex01 li {
  width: 330px;
  position: relative;
}

.flow_section .flex01 li::after {
  content: "";
  width: 22px;
  height: 32px;
  background-image:url(./images/top_flow_arrow.png);
  aspect-ratio: 22 / 32;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 42%;
  right: -15%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.flow_section .flex01 li:last-child::after {
  content: none;
}

.flow_section .flex01 li .img {
  margin-bottom: 20px;
}

.flow_section .flex01 li .txt01 {
  font-size: 20px;
}

.flow_section .flex02 {
  flex-wrap: wrap;
  width: 80%;
  margin: 0 auto 40px;
  justify-content: flex-start;
}

.flow_section .flex02 li {
  min-width: 280px;
  font-size: 22px;
  font-weight: bold;
  position: relative;
  padding-left: 50px;
  margin-bottom: 15px;
}

.flow_section .flex02 li:before {
  content: "";
  width: 35px;
  height: 40px;
  background-image:url(./images/top_flow_icon01.png);
  aspect-ratio: 35 / 40;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.flow_section .btm {
  margin-top: 30px;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 2px;;
}

@media only screen and (max-width: 768px){

  .flow_section {
    -moz-background-size:100% auto;
    background-size:100% auto; 
  }
  
  .flow_section h2 {
    text-align: center;
    margin: 0 0 20%;
  }
  
  .flow_section h2 .white {
    font-size: 5vw;
    padding: 3% 2% 3% 3%;
  }
  
  .flow_section h2 .white .fs_b {
    font-size: 8vw;
  }

  .flow_section .flex01 {
    margin-bottom: 10%;
  }

  .flow_section .flex01 li {
    margin: 0 auto 20%;
    width: 65%;
  }

  .flow_section .flex01 li:last-child {
    margin-bottom: 0;
  }

  .flow_section .flex01 li .img img {
    width: 65%;
  }

  .flow_section .flex01 li::after {
    top: auto;
    right: auto;
    bottom: -17%;
    left: 50%;
    margin-left: -11px;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform:rotate(90deg)
  }

  .flow_section .flex01 li .txt01 {
    font-size: 3vw;
  }

  .flow_section .menu {
    text-align: center;
  }

  .flow_section .flex02 {
    width: auto;
    display: inline-block;
    text-align: left;
    padding-left: 7%;
    margin-bottom: 5%;
  }

  .flow_section .flex02 li {
    min-width: initial;
    font-size: 4vw;
    margin-bottom: 10px;
    padding-left: 0
  }

  .flow_section .flex02 li:before {
    width: 10%;
    height: 0;
    padding: 0 0 12%;
    left: -12%;
  }

  .flow_section .btm {
    margin-top: 4%;
    font-size: 5vw;
  }

}

@media only screen and (max-width: 414px){

  .flow_section h2 .white {
    letter-spacing: 2px;
  }

  .flow_section .flex01 li {
    width: 75%;
  }

  .flow_section .flex01 li .img img {
    width: 75%;
  }

  .flow_section .flex01 li::after {
    width: 16px;
    height: 22px;
    bottom: -14%;
  }

  .flow_section .flex01 li .txt01 {
    font-size: 4vw;
  }

  .flow_section .flex02 li {
    font-size: 4.6vw;
  }

}

/* お悩みいくつ当てはまりますか？
=============================================== */

#toppage #trouble {
  background: #9abf14;
  padding-top: 120px;
}

#toppage #trouble h2 {
  text-align: center;
  background: #fff;
  color : #005100;
  padding: 10px 0;
  margin-bottom: 60px;
  line-height: 1;
}

#toppage #trouble h2 .contents {
  display: block;
  border-top: 2px solid #005100;
  border-bottom: 2px solid #005100;
  padding: 10px 0 20px;
}

#toppage #trouble h2 .contents .txt {
  display: inline-block;
  position: relative;
  color: #005100;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
}

#toppage #trouble h2 .contents .txt .fs_b {
  font-size: 48px;
  font-weight: bold;
}

#toppage #trouble h2 .contents .txt img {
  position: absolute;
  bottom: 0;
  left: -291px;
}

#toppage #trouble h2 .contents .txt::after {
  content: "";
  width: 200px;
  height: 384px;
  background-image:url(./images/top_trouble_h2img.png);
  aspect-ratio: 200 / 384;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -130px;
  right: -200px;
}

#toppage #trouble .list_block {
  position: relative;
  z-index: 1;
  background: #fff;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 60px;
  margin-bottom: 60px;
}

#toppage #trouble .list_block ul {
  width: 49%;
}

#toppage #trouble .list_block ul li {
  position: relative;
  padding-left: 40px;
  font-size: 20px;
  letter-spacing: 1px;
  margin-bottom: 7px;
}

#toppage #trouble .list_block ul li:last-child {
  margin-bottom: 0;
}

#toppage #trouble .list_block ul li::before {
  content: "";
  width: 30px;
  height: 24px;
  background-image:url(./images/top_trouble_icon01.png);
  aspect-ratio: 30 / 24;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #trouble .img_list {
  margin-bottom: 80px;
}

#toppage #trouble .img_list li {
  width: 15%;
}

#toppage #trouble .img_list li p {
  display: table;
  width: 100%;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  aspect-ratio: 344 / 246;
  -moz-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
}

#toppage #trouble .img_list li p span {
  display: table-cell;
  height: 123px;
  text-align: center;
  vertical-align: middle;
  padding: 5px;
  font-weight: bold;
  text-shadow:
  1px 1px 1px #fff, -1px -1px 1px #fff,
  -1px 1px 1px #fff,  1px -1px 1px #fff,
  1px 0px 1px #fff, -1px -0px 1px #fff,
  0px 1px 1px #fff,  0px -1px 1px #fff;
}

#toppage #trouble .img_list li:first-child p {
  background-image:url(./images/top_trouble_img01.jpg);
}

#toppage #trouble .img_list li:nth-child(2) p {
  background-image:url(./images/top_trouble_img02.jpg);
}

#toppage #trouble .img_list li:nth-child(3) p {
  background-image:url(./images/top_trouble_img03.jpg);
}

#toppage #trouble .img_list li:nth-child(4) p {
  background-image:url(./images/top_trouble_img04.jpg);
}

#toppage #trouble .img_list li:nth-child(5) p {
  background-image:url(./images/top_trouble_img05.jpg);
}

#toppage #trouble .img_list li:nth-child(6) p {
  background-image:url(./images/top_trouble_img06.jpg);
}

#toppage #trouble .btm p {
  text-align: center;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){

  #toppage #trouble {
    padding-top: 20%;
  }

  #toppage #trouble h2 {
    margin-bottom: 6%;
  }

  #toppage #trouble h2 .contents .txt {
    font-size: 5vw;
    letter-spacing: 2px;
  }

  #toppage #trouble h2 .contents .txt .fs_b {
    font-size: 7vw;
  }

  #toppage #trouble h2 .contents .txt img {
    bottom: 110%;
    left: -20%;
    width: 50%;
  }

  #toppage #trouble h2 .contents .txt::after {
    content: none;
  }

  #toppage #trouble h2 .contents {
    position: relative;
    padding: 5px 0 10px;
  }

  #toppage #trouble h2 .contents::after {
    content: "";
    width: 33%;
    height: 0;
    padding: 0 0 66%;
    background-image:url(./images/top_trouble_h2img.png);
    aspect-ratio: 200 / 384;
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    top: 66%;
    right: -2%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  #toppage #trouble h2 .contents .txt {
    z-index: 1;
  }

  #toppage #trouble .list_block {
    padding: 6%;
    width: 92%;
    margin: 0 auto 6%;
  }

  #toppage #trouble .list_block ul {
    width: 100%;
  }

  #toppage #trouble .list_block ul:first-child {
    margin-bottom: 7px;
  }

  #toppage #trouble .list_block ul li {
    font-size: 3.2vw;
    padding-left: 6%;
  }

  #toppage #trouble .list_block ul li::before {
    width: 5%;
    height: 0;
    padding: 0 0 5%;
  }

  #toppage #trouble .img_list {
    margin-bottom: 4%;
  }

  #toppage #trouble .img_list li {
    width: 31%;
    margin-bottom: 4%;
  }

  #toppage #trouble .img_list li p span {
    height: 100px;
    font-size: 2.4vw;
  }

  #toppage #trouble .btm .txt01 {
    font-size: 4vw;
    margin-bottom: 10px;
  }

  #toppage #trouble .btm .txt02 {
    font-size: 5vw;
  }

}

@media only screen and (max-width: 414px){

  #toppage #trouble .img_list li {
    width: 32%;
    margin-bottom: 2%;
  }

  #toppage #trouble .img_list li p span {
    height: 80px;
    padding: 1px;
    font-size: 3vw;
  }


}

/* 他社と比べてこんなお悩みもありませんか？
=============================================== */

#toppage #trouble02 {
  padding: 0;
}

#toppage #trouble02 .upper .inner {
  background-image:url(./images/top_trouble02_img01.png);
  background-position: right bottom;
  background-repeat:no-repeat;
  padding-bottom: 100px;
}

#toppage #trouble02 .upper h2 {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  margin-bottom: 80px;
}

#toppage #trouble02 .upper h2 span {
  font-size: 48px;
  font-weight: bold;
  display: inline-block;
  padding: 0 10px;
  position: relative;
}

#toppage #trouble02 .upper h2 span::before {
  content: "・・・";
  color: #30a437;
  position: absolute;
  top: -42px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #trouble02 .upper h3 {
  margin-bottom: 60px;
}

#toppage #trouble02 .upper h3 .underline {
  color: #005100;
  font-size: 30px;
  font-weight: bold;
  background-image: linear-gradient(transparent 80%, #ffe354 20%);
}

#toppage #trouble02 .upper h3 .underline .fs_b {
  font-size: 36px;
  font-weight: bold;
}

#toppage #trouble02 .upper ul li {
  margin-bottom: 10px;
}

#toppage #trouble02 .upper ul li span {
  font-size: 28px;
  font-weight: bold;
  font-style: oblique;
  position: relative;
  padding-right: 28px;
}

#toppage #trouble02 .upper ul li span:after {
  content: "";
  width: 25px;
  height: 41px;
  background-image:url(./images/top_trouble02_icon01.png);
  aspect-ratio: 25 / 41;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #trouble02 .lower {
  background: linear-gradient(10deg, #f6f6f6 0%, #f6f6f6 70%, transparent 70%, transparent 100%);
  margin-top: -280px;
  padding-bottom: 100px;
}


#toppage #trouble02 .lower .inner {
  background-image:url(./images/top_trouble02_img02.png);
  background-position: 10% bottom;
  background-repeat:no-repeat;
  padding-top: 200px;
}

#toppage #trouble02 .lower h4 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
}

#toppage #trouble02 .lower h4 span {
  font-size: 28px;
  font-weight: bold;
}

#toppage #trouble02 .lower .contents {
  text-align: right;
  padding-right: 10%;
}

#toppage #trouble02 .lower .contents ul {
  display: inline-block;
  text-align: left;
}

#toppage #trouble02 .lower .contents ul li {
  font-size: 24px;
  position: relative;
  padding-left: 40px;
  margin-bottom: 10px;
}

#toppage #trouble02 .lower .contents ul li::before {
  content: "";
  width: 30px;
  height: 30px;
  background-image:url(./images/top_trouble02_icon02.png);
  aspect-ratio: 30 / 30;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media only screen and (max-width: 768px){

  #toppage #trouble02 .upper {
    background-image:url(./images/top_trouble02_img01_sp.png);
    background-position:center bottom;
    background-repeat:no-repeat;
    -moz-background-size:100% auto;
    background-size:100% auto;
    padding-bottom: 70%;
  }

  #toppage #trouble02 .upper .inner {
    background: none;
    text-align: center;
  }

  #toppage #trouble02 .upper h2 {
    line-height: 2;
    font-size: 4vw;
    margin-bottom: 4%;
  }

  #toppage #trouble02 .upper h2 span {
    font-size: 6vw;
  }

  #toppage #trouble02 .upper h2 span::before {
    top: -40%;
  }

  #toppage #trouble02 .upper h3,
  #toppage #trouble02 .upper ul {
    display: inline-block;
    text-align:left;
  }

  #toppage #trouble02 .upper h3 {
    margin-bottom: 6%;
  }

  #toppage #trouble02 .upper h3 .underline {
    font-size: 4vw;
  }

  #toppage #trouble02 .upper h3 .underline .fs_b {
    font-size: 5vw;
  }

  #toppage #trouble02 .upper ul li span {
    font-size: 3.6vw;
    padding-right: 16px;
  }

  #toppage #trouble02 .upper ul li span:after {
    width: 14px;
    height: 23px;
  }

  #toppage #trouble02 .lower {
    position: relative;
    margin-top: -40%;
    padding-bottom: 20%;
  }

  #toppage #trouble02 .lower::before {
    content: "";
    width: 40%;
    height: 0;
    padding: 0 0 80%;
    background-image:url(./images/top_trouble02_img02_sp.png);
    background-position:center top;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    top: 20%;
    left: 0;
  }

  #toppage #trouble02 .lower .inner {
    background: none;
    text-align: center;
    padding-left: 43%;
    padding-top: 30%;
  }

  #toppage #trouble02 .lower .contents {
    text-align: center;
    padding-right: 0;
  }

  #toppage #trouble02 .lower h4 {
    font-size: 3vw;
    margin: 10% 0;
  }

  #toppage #trouble02 .lower h4 span {
    font-size: 4vw;
  }

  #toppage #trouble02 .lower .contents ul {
    display: block;
  }

  #toppage #trouble02 .lower .contents ul li {
    font-size: 3vw;
    padding-left: 12%;
  }

  #toppage #trouble02 .lower .contents ul li::before {
    width: 8%;
    height: 0;
    padding: 0 0 8%;
  }

}

@media only screen and (max-width: 414px){

  #toppage #trouble02 .upper {
    padding-bottom: 60%;
  }

  #toppage #trouble02 .upper h2 {
    letter-spacing: 2px;
    font-size: 5vw;
  }

  #toppage #trouble02 .upper h2 span {
    font-size: 7vw;
    padding: 0 5px;
  }

  #toppage #trouble02 .upper h3 .underline {
    font-size: 5vw;
  }

  #toppage #trouble02 .upper h3 .underline .fs_b {
    font-size: 6vw;
  }

  #toppage #trouble02 .upper ul li span {
    font-size: 4vw;
  }

}


/* 一部施工事例をご紹介
=============================================== */

#toppage #exsamples {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f0f6dc+0,f0f6dc+87,ffffff+100 */
background: #f0f6dc; /* Old browsers */
background: -moz-linear-gradient(top,  #f0f6dc 0%, #f0f6dc 87%, #ffffff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #f0f6dc 0%,#f0f6dc 87%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #f0f6dc 0%,#f0f6dc 87%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f6dc', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}

#toppage #exsamples h2 {
  text-align: center;
  margin-top: -160px;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}

#toppage #exsamples ul {
  margin-bottom: 80px;
}

#toppage #exsamples ul li {
  width: 31%;
}

#toppage #exsamples ul li .before,
#toppage #exsamples ul li .after {
  text-align: center;
  margin-bottom: 30px;
}

#toppage #exsamples ul li a:hover,
#toppage #exsamples ul li a:hover img {
  opacity: 1;
}

#toppage #exsamples ul li .img {
  display: inline-block;
  position: relative;
}

#toppage #exsamples ul li .img img {
  -moz-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
}

#toppage #exsamples ul li .img span {
  position: absolute;
  top: -10px;
  left: -10px;
  line-height: 1;
  padding: 10px 20px;
  -moz-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px 3px rgba(0, 0, 0, 0.1);
}

#toppage #exsamples ul li .before .img {
  max-width: 250px;
}

#toppage #exsamples ul li .before .img span {
  color: #523906;
  background: #fce212;
}

#toppage #exsamples ul li .after .img span {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  background: #d3211c;
}

#toppage #exsamples ul li .title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}

#toppage #exsamples ul li .content {
  font-size: 18px;
}

.more_btn {
  text-align: center;
}

.more_btn a {
  display: inline-block;
  background: #30a437;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 4px;
  padding: 20px 100px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  -moz-box-shadow: 0px 7px 7px 7px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 7px 7px 7px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 7px 7px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 7px 7px 7px rgba(0, 0, 0, 0.1);
  position: relative;
}

.more_btn a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 50px;
  margin-top: -5px;
  transform:rotate(45deg);
}

.more_btn a:hover {
  color: #fff;
}

@media only screen and (max-width: 768px){

  #toppage #exsamples {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f0f6dc+0,f0f6dc+68,ffffff+100 */
  background: #f0f6dc; /* Old browsers */
  background: -moz-linear-gradient(top,  #f0f6dc 0%, #f0f6dc 68%, #ffffff 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #f0f6dc 0%,#f0f6dc 68%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #f0f6dc 0%,#f0f6dc 68%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f6dc', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
  }

  #toppage #exsamples h2 {
    margin-top: -20%;
    margin-bottom: 6%;
  }

  #toppage #exsamples h2 img {
    width: 90%;
  }

  #toppage #exsamples ul {
    margin-bottom: 10%;
  }

  #toppage #exsamples ul li {
    width: 100%;
    margin-bottom: 10%;
  }

  #toppage #exsamples ul li a {
    display: block;
    width: 70%;
    margin: 0 auto;
  }

  #toppage #exsamples ul li .before .img {
    width: 70%;
  }

  #toppage #exsamples ul li .before .img span {
    font-size: 2.4vw;
    padding: 2% 3%;
  }

  #toppage #exsamples ul li .after .img span {
    font-size: 3vw;
    padding: 2% 3%;
  }

  #toppage #exsamples ul li .title {
    font-size: 3.2vw;
  }

  #toppage #exsamples ul li .content {
    font-size: 2.4vw;
  }

}

@media only screen and (max-width: 414px){


  #toppage #exsamples ul li a {
    width: 85%;
    margin: 0 auto;
  }

  #toppage #exsamples ul li .before .img span {
    font-size: 3vw;
  }

  #toppage #exsamples ul li .after .img span {
    font-size: 4vw;
  }

  #toppage #exsamples ul li .title {
    font-size: 4vw;
  }

  #toppage #exsamples ul li .content {
    font-size: 3.6vw;
  }

  .more_btn a {
    font-size: 16px;
    padding: 15px 80px;
    -moz-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
  }

  .more_btn a::after {
    width: 8px;
    height: 8px;
    margin-top: -4px;
  }

}

/* こんな場所でもお任せください
=============================================== */

#toppage #location h2 {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  font-style: oblique;
  background-image:url(./images/top_location_h2img.png);
  background-position:center;
  background-repeat:no-repeat;
  padding-bottom: 80px;
  margin-bottom: 30px;
}

#toppage #location h2 span {
  font-size: 48px;
  font-weight: bold;
}

#toppage #location ul {
  flex-wrap: wrap;
}

#toppage #location ul li {
  width: 20%;
  text-align: center;
  margin-bottom: 20px;
}

#toppage #location ul li .img {
  margin-bottom: 10px;
}

#toppage #location ul li .name {
  font-size: 20px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){


  #toppage #location h2 {
    font-size: 4vw;
    letter-spacing: 2px;
    background-image:url(./images/top_location_h2img_sp.png);
    -moz-background-size:cover;
    background-size:cover;
    padding-bottom: 16%;
    margin-bottom: 4%;
  }
  
  #toppage #location h2 span {
    font-size: 5.5vw;
  }
  
  #toppage #location ul li {
    width: 31%;
    margin-bottom: 4%;
  }
    
  #toppage #location ul li .name {
    font-size: 3vw;
  }
  
}

@media only screen and (max-width: 414px){

  #toppage #location h2 {
    font-size: 5vw;

  }
  
  #toppage #location h2 span {
    font-size: 6.5vw;
  }

}

/* こんなトラブルに
=============================================== */

#toppage #warning {
  background-image:url(./images/top_warning_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 180px 0;
}

#toppage #warning .upper {
  padding-right: 45%;
  position:relative;
  padding-bottom: 40px;
}

#toppage #warning .upper::after { 
  content: "";
  width: 604px;
  height: 632px;
  background-image:url(./images/top_warning_img01.png);
  aspect-ratio: 604 / 632;
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  bottom: -30px;
  right: -50px;
}

#toppage #warning .upper h2 {
  margin-bottom: 30px;
}

#toppage #warning .upper .txt01 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 2;
  color: #fff;
}

#toppage #warning ul {
  margin-bottom: 40px;
}

#toppage #warning ul li {
  width: 23%;
}

#toppage #warning ul li p {
  border: 5px solid #fff;
  display: table;
  width: 100%;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  height: 190px;
}

#toppage #warning ul li p span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-size: 20px;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #fce212, -2px -2px 2px #fce212,
  -2px 2px 2px #fce212,  2px -2px 2px #fce212,
  2px 0px 2px #fce212, -2px -0px 2px #fce212,
  0px 2px 2px #fce212,  0px -2px 2px #fce212;

}

#toppage #warning ul li:first-child p {
  background-image:url(./images/top_warning_img02.jpg);
  aspect-ratio: 500 / 380;
}

#toppage #warning ul li:nth-child(2) p {
  background-image:url(./images/top_warning_img03.jpg);
  aspect-ratio: 500 / 380;
}

#toppage #warning ul li:nth-child(3) p {
  background-image:url(./images/top_warning_img04.jpg);
  aspect-ratio: 500 / 380;
}

#toppage #warning ul li:nth-child(4) p {
  background-image:url(./images/top_warning_img05.jpg);
  aspect-ratio: 500 / 380;
}


#toppage #warning .txt02 {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 2.2;
  margin-bottom: 20px;
  color: #fff;
}

#toppage #warning .txt03 {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
}

#toppage #warning .txt03 span {
  font-size: 36px;
  font-weight: bold;
  color: #fff;
}

@media only screen and (max-width: 768px){

  #toppage #warning {
    background:
    url(./images/top_warning_bg02_sp.png) no-repeat center 98%/100% auto,
    url(./images/top_warning_bg01_sp.jpg) no-repeat center top/100% auto,
    #000;
    padding: 20% 0;
  }

  #toppage #warning .upper {
    padding-right: 0;
    padding-bottom: 70%;
  }

  #toppage #warning .upper::after {
    width: 100%;
    height: 50%;
    right: 0;
  }

  #toppage #warning .upper h2 {
    margin-bottom: 4%;
  }

  #toppage #warning .upper .txt01 {
    font-size: 3vw;
  }

  #toppage #warning ul {
    position: relative;
    z-index: 1;
    width: 80%;
    margin: 0 auto 4%;
  }

  #toppage #warning ul li {
    width: 48%;
    margin-bottom: 4%;
  }

  #toppage #warning ul li p {
    height: 130px;
  }

  #toppage #warning ul li p span {
    font-size: 3vw;
  }

  #toppage #warning .txt02 {
    font-size: 3vw;
  }

  #toppage #warning .txt03 {
    font-size: 4vw;
  }

  #toppage #warning .txt03 span {
    font-size: 5vw;
  }

}

@media only screen and (max-width: 414px){

  #toppage #warning .upper .txt01 {
    font-size: 3.6vw;
    letter-spacing: 0;
  }

  #toppage #warning ul {
    width: 90%;
  }

  #toppage #warning ul li p {
    height: 120px;
  }

  #toppage #warning ul li p span {
    font-size: 3.2vw;
  }

  #toppage #warning .txt02 {
    font-size: 3vw;
  }

  #toppage #warning .txt03 {
    font-size: 4.2vw;
  }

  #toppage #warning .txt03 span {
    font-size: 5.2vw;
  }

}

/* 災害が起こる前にご用命ください
=============================================== */

#toppage #disaster {
  background-image:url(./images/top_disaster_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}

#toppage #disaster .white {
  width: 96%;
  margin: 0 auto;
  background: rgba(255,255,255, 0.7);
  padding: 30px;
  text-align: center;
}

#toppage #disaster .white h2 {
  position: relative;
  padding-top: 130px;
  margin-bottom: 30px;
  color: #f00000;
  font-size: 48px;
  font-weight: bold;
  font-style: oblique;
  letter-spacing: 4px;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

#toppage #disaster .white h2::before {
  content: "";
  width: 123px;
  height: 112px;
  background-image:url(./images/top_disaster_icon01.png);
  aspect-ratio: 123 / 112;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #disaster .white ul {
  display: inline-block;
  text-align: left;
  margin-bottom: 40px;
}

#toppage #disaster .white ul li {
  font-size: 24px;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
  position: relative;
  padding-left: 30px;
}

#toppage #disaster .white ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

#toppage #disaster .white .txt01 {
  font-size: 24px;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

@media only screen and (max-width: 768px){

  #toppage #disaster .white {
    padding: 10% 3%;
  }

  #toppage #disaster .white h2 {
    font-size: 6vw;
    line-height: 1.2;
    margin-bottom: 5%;
    padding-top: 17%;
  }

  #toppage #disaster .white h2::before {
    width: 16%;
    height: 0;
    padding: 0 0 16%;
  }

  #toppage #disaster .white ul {
    width: 90%;
    margin-bottom: 4%;
  }

  #toppage #disaster .white ul li {
    font-size: 3vw;
    padding-left: 6%;
  }

  #toppage #disaster .white .txt01 {
    font-size: 3vw;
  }


}

/* シルバー人材センターとは
=============================================== */

#toppage #silver {
  background-image:url(./images/top_silver_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}

#toppage #silver h2 {
  text-align: center;
  margin-bottom: 60px;
}

#toppage #silver h2 span {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  position: relative;
}

#toppage #silver h2 span::after {
  content: "";
  width: 90px;
  height: 104px;
  background-image:url(./images/top_silver_icon01.png);
  aspect-ratio: 90 / 104;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: -90px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #silver .flex {
  width: 1080px;
  margin: 0 0 0 auto;
}

#toppage #silver .flex .item {
  width: 49%;
}

#toppage #silver .flex .left {
  position: relative;
  padding-bottom: 80px;
}

#toppage #silver .flex .left .img img {
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
}

#toppage #silver .flex .left .txt01 {
  width: 1080px;
  position: absolute;
  bottom: 0;
  left: -50px;
  font-size: 14px;
}

#toppage #silver .flex .left .txt01 span {
  position: relative;
  display: inline-block;
  padding-left: 250px;
}

#toppage #silver .flex .left .txt01 span::before {
  content: "";
  width: 250px;
  height: 250px;
  background-image:url(./images/top_silver_img02.png);
  aspect-ratio: 250 / 250;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  bottom: 0;
  left: 0;
}

#toppage #silver .flex .right p {
  font-size: 18px;
  margin-bottom: 20px;
}

#toppage #silver .flex .right .txt03 span {
  color: #e53434;
  font-size: 22px;
  font-weight: bold;
  font-style: oblique;
}

#toppage #silver .flex .right .txt04 {
  position: relative;
}

#toppage #silver .flex .right .txt04::before {
  content: "";
  width: 90px;
  height: 100px;
  background-image:url(./images/top_silver_icon02.png);
  aspect-ratio: 90 / 100;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -10px;
  right: 90px;
}

@media only screen and (max-width: 768px){

  #toppage #silver h2 {
    margin-bottom: 8%;
  }
  
  #toppage #silver h2 span {
    font-size: 5vw;
  }
  
  #toppage #silver h2 span::after {
    width: 15%;
    height: 0;
    padding: 0 0 15%;
    right: -15%;
  }
  
  #toppage #silver .flex {
    width: auto;
    margin: 0;
  }
  
  #toppage #silver .flex .item {
    width: 80%;
    margin: 0 auto;
  }
  
  #toppage #silver .flex .left {
    position: relative;
    padding-bottom: 8%;
  }
    
  #toppage #silver .flex .left .txt01 {
    width: auto;
    position: static;
    bottom: 0;
    left: 0;
    font-size: 2vw;
    margin-top: 4%;
    margin-left: -10%;
  }
  
  #toppage #silver .flex .left .txt01 span {
    font-size: 2vw;
    padding-left: 30%;
  }
  
  #toppage #silver .flex .left .txt01 span::before {
    width: 27%;
    height: 0;
    padding: 0 0 27%;
    }
  
  #toppage #silver .flex .right p {
    font-size: 2.6vw;
    margin-bottom: 4%;
  }

  #toppage #silver .flex .right .txt03 {
    position: relative;
  }
  
  #toppage #silver .flex .right .txt03::after {
    content: "";
    width: 15%;
    height: 0;
    padding: 0 0 15%;
    background-image:url(./images/top_silver_icon02.png);
    aspect-ratio: 90 / 100;
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    top: 50%;
    right: -6%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  #toppage #silver .flex .right .txt03 span {
    font-size: 3.2vw;
  }
  
  #toppage #silver .flex .right .txt04 {
    position: relative;
  }
  
  #toppage #silver .flex .right .txt04::before {
    content: none;
  }

}

@media only screen and (max-width: 414px){

  #toppage #silver h2 span {
    font-size: 5.5vw;
  }

}

/* 気持ちの良い暮らしのために
=============================================== */

#toppage #comfortable {
  background-image:url(./images/top_comfortable_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  text-align: center;
}

#toppage #comfortable h2 {
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 4px;
  font-style: oblique;
  margin-bottom: 60px;
}

#toppage #comfortable .txt01 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 2.2;
  margin-bottom: 60px;
}

#toppage #comfortable .txt02 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 2.2;
  color: #005100;
  background: rgba(255,255,255, 0.7);
  padding: 40px 60px;
  width: 86%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px){

  #toppage #comfortable h2 {
    font-size: 5vw;
    margin-bottom: 6%;
  }

  #toppage #comfortable .txt01 {
    font-size: 3.2vw;
    line-height: 2;
    margin-bottom: 6%;
  }

  #toppage #comfortable .txt02 {
    width: 100%;
    font-size: 3.2vw;
    line-height: 2;
    padding: 3% 4%;
  }

}

@media only screen and (max-width: 414px){

  #toppage #comfortable h2 {
    font-size: 6vw;
  }

  #toppage #comfortable .txt01 {
    font-size: 3.6vw;
    line-height: 1.8;;
    letter-spacing: 0;
  }

  #toppage #comfortable .txt02 {
    font-size: 3.6vw;
    line-height: 1.8;;
    letter-spacing: 0;
  }

}

/* 大事なお約束
=============================================== */

#toppage #promise h2 {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 2px;
}

#toppage #promise h2::before {
  content: "";
  width: 87px;
  height: 26px;
  background-image:url(./images/top_promise_icon01.png);
  aspect-ratio: 87 / 26;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#toppage #promise h2 span {
  display: inline-block;
  font-weight: bold;
}

#toppage #promise h2 .fs_s {
  font-size: 24px;
}

#toppage #promise h2 .fs_b {
  font-size: 48px;
}

#toppage #promise .boxes {
  margin-bottom: 80px;
}

#toppage #promise .boxes .box {
  background: #f0ead8;
  padding: 40px 275px 40px 200px;
  margin-bottom: 80px;
  position: relative;
}

#toppage #promise .boxes .box:last-child {
  margin-bottom: 0;
}

#toppage #promise .boxes .box .num {
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#toppage #promise .boxes .box::after {
  content: "";
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
}

#toppage #promise .boxes .box01::after {
  width: 214px;
  height: 183px;
  background-image:url(./images/top_promise_img01.png);
  aspect-ratio: 214 / 183;
  top: 50%;
  right: 40px;
  margin-top: -92px;
}

#toppage #promise .boxes .box02::after {
  width: 216px;
  height: 143px;
  background-image:url(./images/top_promise_img02.png);
  aspect-ratio: 216 / 143;
  top: 50%;
  right: 40px;
  margin-top: -72px;
}

#toppage #promise .boxes .box03::after {
  width: 237px;
  height: 309px;
  background-image:url(./images/top_promise_img03.png);
  aspect-ratio: 237 / 309;
  bottom: 0;
  right: 15px;
}

#toppage #promise .boxes .box h3 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

#toppage #promise .boxes .box .txt01 {
  font-size: 20px;
}

#toppage #promise .txt02 {
  text-align: center;
  color: #60a320;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

#toppage #promise .txt03 {
  text-align: center;
  color: #60a320;
  font-size: 30px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){

  #toppage #promise h2 {
    margin-bottom: 8%;
    font-size: 5vw;
    font-weight: bold;
  }
  
  #toppage #promise h2::before {
    width: 15%;
    height: 0;
    padding: 0 0 5%;
    top: -30%;
  }
  
  #toppage #promise h2 .fs_s {
    font-size: 3.2vw;
  }
  
  #toppage #promise h2 .fs_b {
    font-size: 7vw;
  }
  
  #toppage #promise .boxes {
    margin-bottom: 10%;
  }
  
  #toppage #promise .boxes .box {
    background: #f0ead8;
    padding: 6% 6% 6% 17%;
    margin-bottom: 6%;
  }

  #toppage #promise .boxes .box .num {
    width: 10%;
    left: 3%;
  }
  
  #toppage #promise .boxes .box01::after {
    width: 20%;
    height: 0;
    padding: 0 0 20%;
    top: auto;
    right: 2%;
    margin-top: 0;
    bottom: -7%;
  }
  
  #toppage #promise .boxes .box02::after {
    width: 22%;
    height: 0;
    padding: 0 0 20%;
    top: auto;
    right: 1%;
    margin-top: 0;
    bottom: -10%;
  }
  
  #toppage #promise .boxes .box03::after {
    width: 18%;
    height: 0;
    padding: 0 0 24%;
    bottom: -7%;
    right: 0;
  }
  
  #toppage #promise .boxes .box h3 {
    font-size: 3vw;
    margin-bottom: 4%;
  }
  
  #toppage #promise .boxes .box .txt01 {
    font-size: 2.4vw;
    margin-right: 15%;
  }
  
  #toppage #promise .txt02 {
    font-size: 2.6vw;
    line-height: 2;
  }
  
  #toppage #promise .txt03 {
    font-size: 4.5vw;
  }

}

@media only screen and (max-width: 414px){

  #toppage #promise .txt02 {
    font-size: 3vw;
  }

}


/* コラム ＆　新着情報
=============================================== */

.info_section {
  padding: 120px 0;
}

.info_section .flex01 .item {
  width: 48%;
}

.info_section .flex01 .item h3 {
  position: relative;
  text-align: center;
  color: #30a437;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 60px;
}

.info_section .flex01 .item h3::before {
  content: "";
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.info_section .flex01 .column h3::before {
  width: 63px;
  height: 22px;
  background-image:url(./images/top_info_icon01.png);
  aspect-ratio: 63 / 22;
  top: -30px;
}

.info_section .flex01 .news h3::before {
  width: 63px;
  height: 15px;
  background-image:url(./images/top_info_icon02.png);
  aspect-ratio: 63 / 15;
  top: -23px;
}

.info_section .flex01 .item ul {
  margin-bottom: 60px;
  border-top: 1px solid #30a437;
}

.info_section .flex01 .item ul li {
  border-bottom: 1px solid #30a437;
  color: #30a437;
}

.info_section .flex01 .item ul li a,
.info_section .flex01 .item ul li a:hover {
  color: #30a437;
}
.info_section .flex01 .item ul li a {
  justify-content: flex-start;
  padding: 15px 0;
  padding-right: 5%;
  position: relative;
}

.info_section .flex01 .item ul li .date {
  width: 20%;
  padding: 0 10px;
}

.info_section .flex01 .item ul li .title {
  width: 75%;
  padding: 0 10px;
  font-size: 18px;
}

.info_section .flex01 .item ul li a::after {
  content: "";
  width: 18px;
  height: 26px;
  background-image:url(./images/top_info_arrow.png);
  aspect-ratio: 18 / 126;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media only screen and (max-width: 768px){

  .info_section {
    padding: 15% 0;
  }
  
  .info_section .flex01 .item {
    width: 100%;
  }

  .info_section .flex01 .column {
    margin-bottom: 15%;
  }
  
  .info_section .flex01 .item h3 {
    font-size: 4.5vw;
    margin-bottom: 6%;
  }
    
  .info_section .flex01 .column h3::before {
    width: 10%;
    height: 0;
    padding: 0 0 4%;
    top: -50%;
  }
  
  .info_section .flex01 .news h3::before {
    width: 10%;
    height: 0;
    padding: 0 0 3%;
    top: -50%;
  }
  
  .info_section .flex01 .item ul {
    margin-bottom: 6%;
  }
  
  .info_section .flex01 .item ul li a {
    padding: 2% 0;
  }
  
  .info_section .flex01 .item ul li .date {
    font-size: 2.4vw;
  }
  
  .info_section .flex01 .item ul li .title {
    font-size: 2.4vw;
  }
  
  .info_section .flex01 .item ul li a::after {
    content: "";
    width: 3%;
    height: 0;
    padding: 0 0 4%;
  }

  .info_section .more_btn a {
    font-size: 14px;
    padding: 15px 60px;
    -moz-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
  }
  
  .info_section .more_btn a::after {
    width: 6px;
    height: 6px;
    margin-top: -3px;
    right: 30px;
  }

}

@media only screen and (max-width: 414px){

  .info_section .flex01 .item ul li .date {
    font-size: 2.8vw;
    padding: 0 3px;
  }
  
  .info_section .flex01 .item ul li .title {
    font-size: 2.8vw;
    padding: 0 3px;
  }

  .info_section .more_btn a {
    font-size: 12px;
    padding: 12px 40px;
  }

  .info_section .more_btn a::after {
    right: 20px;
  }
  
}

/* よくある質問
=============================================== */

.faq_section h2 {
  background: #9abf14;
  text-align: center;
  color: #fff;
  padding: 20px;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  margin-bottom: 60px;
}

.faq_list .box {
  margin-bottom: 60px;
  background: #f0f6dc;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  padding: 30px 20px;
}

.faq_list .box:last-child {
  margin-bottom: 0;
}

.faq_list .box h3 {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 2px;
  padding-left: 70px;
  position: relative;
  margin-bottom: 30px;
}

.faq_list .box h3::before {
  content: "";
  width: 36px;
  height: 36px;
  background-image:url(./images/faq_que_icon.png);
  aspect-ratio: 36 / 36;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.faq_list .box .ans {
  background: #c5da78;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  padding: 30px 20px 30px 70px;
  position: relative;
  font-size: 18px;
  letter-spacing: 2px;
}

.faq_list .box .ans::before {
  content: "";
  width: 36px;
  height: 36px;
  background-image:url(./images/faq_ans_icon.png);
  aspect-ratio: 36 / 36;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.faq_section .btn {
  margin-top: 80px;
}

@media only screen and (max-width: 768px){

  .faq_section h2 {
    font-size: 4vw;
    margin-bottom: 8%;
    padding: 3%;
  }

  .faq_list .box {
    margin-bottom: 6%;
    padding: 4% 3%;
  }

  .faq_list .box h3 {
    font-size: 3.2vw;
    padding-left: 12%;
    margin-bottom: 4%;
  }

  .faq_list .box h3::before {
    width: 7%;
    height: 0;
    padding: 0 0 7%;
    left: 3%;
  }
  
  .faq_list .box .ans {
    font-size: 2.4vw;
    padding: 4% 3% 4% 12%;
  }

  .faq_list .box .ans::before {
    width: 7%;
    height: 0;
    padding: 0 0 7%;
    left: 3%;
  }

  .faq_section .btn {
    margin-top: 10%;
  }


  .faq_section .more_btn a {
    font-size: 14px;
    padding: 15px 60px;
    -moz-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 4px 4px rgba(0, 0, 0, 0.1);
  }
  
  .faq_section .more_btn a::after {
    width: 6px;
    height: 6px;
    margin-top: -3px;
    right: 30px;
  }

}

@media only screen and (max-width: 414px){

  .faq_list .box {
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
  }

  .faq_list .box h3 {
    font-size: 3.6vw;
    letter-spacing: 1px;
  }
  
  .faq_list .box .ans {
    font-size: 2.8vw;
    letter-spacing: 1px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
  }

  .faq_section .more_btn a {
    font-size: 12px;
    padding: 12px 40px;
  }

  .faq_section .more_btn a::after {
    right: 20px;
  }

}

/* ==============================================
 フッター
=============================================== */

footer {
  background: #9abf14;
  padding-bottom: 150px;
}

#footer_company {
  background: #9abf14;
  color: #fff;
  padding: 0;
}

#footer_company a,
#footer_company a:hover {
  color: #fff;
}

#footer_company .flex01 {
  align-items: center;
}

#footer_company .flex01 .item {
  width: 50%;
}

#footer_company .flex01 .left {
  padding: 40px 40px 40px 15%;
}

#footer_company .flex01 .left p {
  letter-spacing: 2px;
}

#footer_company h2 {
  font-size: 50px;
  font-weight: bold;
  padding-left: 70px;
  margin-bottom: 20px;
  position: relative;
}

#footer_company h2::before {
  content: "";
  width: 60px;
  height: 85px;
  background-image:url(./images/logo.png);
  aspect-ratio: 60 / 85;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#footer_company .txt01 {
  margin: 25px 0;
}

#footer_company .txt02 {
  font-weight: bold;
}

#footer_company .flex01 .right {
  height: 550px;
}

#footer_company .flex01 iframe {
  width: 100%;
  height: 550px;
}

#footer_nav {
  background: #fff;
}

#footer_nav h3 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 15px;
}

#footer_nav .area_other {
  letter-spacing: 2px;
}

#footer_nav nav {
  margin-top: 30px;
}

#footer_nav nav ul li {
  display: inline-block;
}

#footer_nav nav ul li a {
  display: inline-block;
  padding: 3px 20px;
}

#footer_nav nav ul li:first-child a {
  padding-left: 0;
}

.copyright {
  background: #30a437;
  padding: 10px;
  text-align: center;
}

@media only screen and (max-width: 1600px){

  #footer_company .flex01 .left {
    padding: 40px 40px 40px 10%;
  }

}

@media only screen and (max-width: 1366px){

  #footer_company .flex01 .left {
    padding: 40px;
  }

}

@media only screen and (max-width: 768px){

  #footer_company .flex01 .item {
    width: 100%;
  }

  #footer_company .flex01 .left {
    padding: 6% 4%;
  }

  #footer_company h2 {
    font-size: 6vw;
    padding-left: 10%;
    margin-bottom: 3%;
  }

  #footer_company h2::before {
    width: 8%;
    height: 0;
    padding: 0 0 12%;
  }

  #footer_company .txt01 {
    margin: 3% 0;
  }

  #footer_company .flex01 .right {
    height: auto;
  }

  #footer_company .flex01 .map_canvas {
    position: relative;
    padding: 0 0 56%;
    height: 0;
    overflow: hidden;
  }

  #footer_company .flex01 .map_canvas iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }

  #footer_nav h3 {
    font-size: 20px;
  }
    
  #footer_nav nav ul li {
    margin-bottom: 10px;
  }

  #footer_nav nav ul li:first-child a {
    padding-left: 20px;
  }
  
      
}

@media only screen and (max-width: 414px){

  footer {
    padding-bottom: 100px;
  }  

  #footer_company .flex01 .left p {
    letter-spacing: 0;
  }  

  #footer_nav h3 {
    font-size: 18px;
  }

  .copyright {
    font-size: 12px;
  }

}

/* ==============================================
 フッター固定バナー
=============================================== */

#bottom_fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  background: #9abf14;
  padding: 10px;
  padding-bottom: 0;
  text-align: center;
}

#bottom_fixed .toptxt {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
}

#bottom_fixed .flex {
  justify-content: center;
  align-items: center;
}

#bottom_fixed .flex .block a {
  display: block;
  width: 400px;
  height: 95px;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
}

#bottom_fixed .flex .tel_block a {
  background-image:url(./images/fixed_btn_tel.png);
  aspect-ratio: 400 / 95;
  padding: 16px 0 0 30px;
}

#bottom_fixed .flex .tel_block a p {
  font-weight: bold;
}

#bottom_fixed .flex .tel_block a,
#bottom_fixed .flex .tel_block a:hover {
  color: #fff;
}

#bottom_fixed .flex .tel_block a .txt01 {
  font-size: 18px;
  letter-spacing: 2px;
}

#bottom_fixed .flex .tel_block a .time {
  font-size: 13px;
}

#bottom_fixed .flex .mail_block a {
  background-image:url(./images/fixed_btn_mail.png);
  aspect-ratio: 400 / 95;
  padding: 18px 0 0 30px;
}

#bottom_fixed .flex .mail_block a p {
  font-weight: bold;
}

#bottom_fixed .flex .mail_block a .txt01,
#bottom_fixed .flex .mail_block a:hover .txt01 {
  color: #30a437;
}

#bottom_fixed .flex .mail_block a .txt01 {
  font-size: 18px;
  letter-spacing: 2px;
}

#bottom_fixed .flex .mail_block a .time {
  font-size: 15px;
}

@media only screen and (max-width: 768px){

  #bottom_fixed {
    padding: 10px 0 0 0;
  }

  #bottom_fixed .toptxt {
    font-size: 2.4vw;
  }

  #bottom_fixed .flex .block {
    width: 50%;
  }

  #bottom_fixed .flex .block a {
    width: 100%;
    height: auto;
    -moz-background-size:107% auto;
    background-size:107% auto; 
  }

  #bottom_fixed .flex .tel_block a,
  #bottom_fixed .flex .mail_block a {
    padding: 6% 12% 8% 18%;
  }

  #bottom_fixed .flex .tel_block a .txt01,
  #bottom_fixed .flex .mail_block a .txt01 {
    font-size: 2.4vw;
    letter-spacing: 1px;
  }
  
  #bottom_fixed .flex .tel_block a .time {
    font-size: 1.8vw;
  }

  #bottom_fixed .flex .mail_block a .time {
    font-size: 2.2vw;
  }

}

@media only screen and (max-width: 480px){

  #bottom_fixed .flex .tel_block a,
  #bottom_fixed .flex .mail_block a {
    padding: 6% 0 8% 3%;
  }
}

@media only screen and (max-width: 414px){

  #bottom_fixed .toptxt .sp {
    display: none !important;
  }

  #bottom_fixed .flex .tel_block a .txt01,
  #bottom_fixed .flex .mail_block a .txt01 {
    font-size: 3vw;
    letter-spacing: 0;
  }

  #bottom_fixed .flex .tel_block a .time {
    display: none;
  }
}

@media only screen and (max-width: 355px){

  #bottom_fixed .toptxt .sp {
    display: inline !important;
  }

}

/* ==============================================
 gotop
=============================================== */

.gotop {
  width: 52px;
  height: 52px;
  line-height: 1;
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: block;
  text-align: center;
	z-index: 50;
}

@media only screen and (max-width: 768px){

  .gotop {
    bottom: 12%;
    right: 10px;
  }

}

/* ==============================================
 下層ページ
=============================================== */

#pagemv {
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 0;
}

#pagemv .mv_wrapper {
  display: table;
  width: 100%;
  height: 363px;
}

#pagemv .mv_wrapper h2 {
  font-size: 52px;
  font-weight: bold;
  color:#005100;
  text-shadow:
  3px 3px 3px #fff, -3px -3px 3px #fff,
  -3px 3px 3px #fff,  3px -3px 3px #fff,
  3px 0px 3px #fff, -3px -0px 3px #fff,
  0px 3px 3px #fff,  0px -3px 3px #fff;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  padding: 0 10px;
}

.breadcrumbs {
  font-size: 14px;
  padding: 20px 0;
}

.breadcrumbs a,
.breadcrumbs a:hover {
  text-decoration: underline;
}


@media only screen and (max-width: 768px){

  #pagemv .mv_wrapper {
    height: 200px;
  }

  #pagemv .mv_wrapper h2 {
    font-size: 5vw;
    text-shadow:
    2px 2px 2px #fff, -2px -2px 2px #fff,
    -2px 2px 2px #fff,  2px -2px 2px #fff,
    2px 0px 2px #fff, -2px -0px 2px #fff,
  }

  #pagemv .mv_wrapper h2 img {
    width: 80%;
    height: auto;
  }

  .breadcrumbs {
    font-size: 12px;
    padding: 15px 0;
  }
}

@media only screen and (max-width: 414px){

  #pagemv .mv_wrapper {
    height: 140px;
  }

  #pagemv .mv_wrapper h2 {
    font-size: 6vw;
  }

  #pagemv .mv_wrapper h2 img {
    width: 90%;
    height: auto;
  }

  .breadcrumbs {
    font-size: 10px;
    padding: 10px 0;
  }

}

/* ==============================================
 サービス一覧
=============================================== */

.page-id-81 .breadcrumbs {
  background: #9abf14;
}

#menu.page #sec01 {
  background: #f0f6dc;
}


#menu.page #sec01 .title_block {
  background-image:url(./images/menu_sec01_bg01.png);
  background-position: center bottom;
  background-repeat:no-repeat;
  text-align: center;
  padding: 50px 0 100px;
  margin-bottom: 40px;
}

@media only screen and (min-width: 1920px){

  #menu.page #sec01 .title_block {
    -moz-background-size:100% auto;
    background-size:100% auto; 
  }

}

#menu.page #sec01 .title_block p {
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 15px;
}

#menu.page #sec01 .title_block h3 span {
  color: #005100;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 4px;
  display: inline-block;
  padding: 0 10px;
  background-image: linear-gradient(transparent 80%, #fce212 20%);
}

#menu.page #sec01 ul {
  margin-bottom: 60px;
}

#menu.page #sec01 ul li {
  width: 22%;
}

#menu.page #sec01 ul li .img {
  margin-bottom: 10px;
}

#menu.page #sec01 ul li h3 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

@media only screen and (max-width: 768px){

  #menu.page #sec01 .title_block {
    -moz-background-size:cover;
    background-size:cover;
    padding: 25px 0 70px;
    margin-bottom: 30px;
  }

  #menu.page #sec01 .title_block p {
    font-size: 3vw;
  }

  #menu.page #sec01 .title_block h3 span {
    font-size: 5vw;
    display: inline;
  }

  #menu.page #sec01 ul {
    margin: 0 4% 4%;
  }
  
  #menu.page #sec01 ul li {
    width: 48%;
    margin-bottom: 30px;
  }
  
  #menu.page #sec01 ul li h3 {
    font-size: 3.2vw;
  }
  
  #menu.page #sec01 ul li .txt01 {
    font-size: 3vw;
  }

}

@media only screen and (max-width: 500px){

  #menu.page #sec01 .title_block p {
    font-size: 2.8vw;
  }

}

@media only screen and (max-width: 414px){

  #menu.page #sec01 .title_block {
    padding: 25px 0 50px;
  }

  #menu.page #sec01 .title_block p {
    font-size: 3.6vw;
  }

  #menu.page #sec01 .title_block h3 span {
    font-size: 6vw;
  }

}

/* .accordion
=============================================== */

#menu.page .toggle {
	display: none;
}
#menu.page .Label {
	display: block;
  text-align: center;
  background: #9abf14;
  padding: 10px 0;
}

#menu.page .Label .line {
	display: block;
	color: #fff;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.2;
  border-top: 3px solid #d0e191;
  border-bottom: 3px solid #d0e191;
  padding: 15px;
}

#menu.page .Label .line .green {
  color: #005100;
  font-weight: bold;
}

#menu.page .Label::before{
	content:"▼";
  font-size: 30px;
  color: #fff;
	position: absolute;
  top: 50%;
  right: 30%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
#menu.page .Label,
#menu.page .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
#menu.page .content {
	height: 0;
	overflow: hidden;
  margin-bottom:10px;
}
#menu.page .toggle:checked + .Label + .content {
	height: auto;
	transition: all .3s;
}
#menu.page .toggle:checked + .Label::before {
	content:"▲";
}

@media only screen and (max-width: 768px){

  #menu.page .Label {
    padding: 5px 0;
  }

  #menu.page .Label .line {
    font-size: 4vw;
    padding: 10px;
    border-top: 2px solid #d0e191;
    border-bottom: 2px solid #d0e191;
  }

  #menu.page .Label::before,
  #menu.page .toggle:checked + .Label::before {
    font-size: 3vw;
    right: 5%;
  }

}

@media only screen and (max-width: 414px){

  #menu.page .Label .line {
    font-size: 5vw;
  }

  #menu.page .toggle:checked + .Label::before {
    font-size: 4vw;
  }

}

#menu.page .about {
  background-image:url(./images/menu_sentei_about_bg.png);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  width: 100%;
  height: 500px;
  position: relative;
  margin-bottom: 80px;
}

#menu.page #karikomi .about {
  background-image:url(./images/menu_karikomi_about_bg.png);
}

#menu.page #bassai .about {
  background-image:url(./images/menu_bassai_about_bg.png);
}

#menu.page #kusakari .about {
  background-image:url(./images/menu_kusakari_about_bg.png);
}

#menu.page #niwaki .about {
  background-image:url(./images/menu_niwaki_about_bg.png);
}

#menu.page #gaikou .about {
  background-image:url(./images/menu_gaikou_about_bg.png);
}

#menu.page #kataduke .about {
  background-image:url(./images/menu_kataduke_about_bg.png);
}


#menu.page .about h3 {
  position: absolute;
  top: 62px;
  left: 540px;
}

#menu.page .about .txt_block {
  position: absolute;
  top: 130px;
  left: 560px;
  width: 440px;
}

#menu.page .about p {
  font-size: 18px;
  letter-spacing: 2px;
}

#menu.page .about .txt01 {
  margin-bottom: 10px;
}

#menu.page .about .txt02 span {
  background-image: linear-gradient(transparent 80%, #f9e216 20%);
}

#menu.page .trouble {
  background-image:url(./images/menu_sentei_trouble_bg.png);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  width: 100%;
  height: 520px;
  position: relative;
}

#menu.page #karikomi .trouble {
  background-image:url(./images/menu_karikomi_trouble_bg.png);
}

#menu.page #bassai .trouble {
  background-image:url(./images/menu_bassai_trouble_bg.png);
}

#menu.page #kusakari .trouble {
  background-image:url(./images/menu_kusakari_trouble_bg.png);
}

#menu.page #niwaki .trouble {
  background-image:url(./images/menu_niwaki_trouble_bg.png);
}

#menu.page #gaikou .trouble {
  background-image:url(./images/menu_gaikou_trouble_bg.png);
}

#menu.page #kataduke .trouble {
  background-image:url(./images/menu_kataduke_trouble_bg.png);
}

#menu.page .trouble h3 {
  position: absolute;
  top: 10px;
  left: 150px;
}

#menu.page .trouble ul {
  position: absolute;
  top: 120px;
  left: 180px;
}

#menu.page .trouble ul li {
  font-size: 18px;
  padding-left: 40px;
  margin-bottom: 10px;
  position: relative;
}

#menu.page .trouble ul li::before {
  content: "";
  width: 30px;
  height: 30px;
  background-image:url(./images/menu_sentei_icon01.png);
  aspect-ratio: 30 / 30;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#menu.page .price .header {
  text-align: center;
}

#menu.page .price .body {
  padding: 30px 30px 70px;
  background:
  url(./images/menu_price_btmimg.png) no-repeat left bottom,
  #c5da78;
}

#menu.page .price .body table {
  width: 1000px;
  margin: 0 auto;
}

#menu.page .price .body table,
#menu.page .price .body table th,
#menu.page .price .body table td {
  border: 1px solid #a9a9a9;
}

#menu.page .price .body table th,
#menu.page .price .body table td {
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  font-size: 18px;
  width: 16.6%;
}

#menu.page .price .body table th {
  background: #9abf14;
}

#menu.page .price .body table td {
  background: #fff;
}

#menu.page .price .notice {
  margin-top: 10px;
  color: #ff0000;
}

#menu.page #gaikou .price .body,
#menu.page #kataduke .price .body {
  text-align: center;
}

#menu.page #gaikou .price .body .txt01,
#menu.page #kataduke .price .body .txt01 {
  font-size: 30px;
  color: #075672;
  font-weight: bold;
}

#menu.page #gaikou .price .body .notice,
#menu.page #kataduke .price .body .notice {
  font-size: 20px;
}

#menu.page .location {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f0f6dc+0,f0f6dc+68,ffffff+100 */
  background: #f0f6dc; /* Old browsers */
  background: -moz-linear-gradient(top,  #f0f6dc 0%, #f0f6dc 68%, #ffffff 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #f0f6dc 0%,#f0f6dc 68%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #f0f6dc 0%,#f0f6dc 68%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f6dc', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
  margin-top: 100px;
}

#menu.page .location h3 {
  text-align: center;
  width: 85%;
  background: #9abf14;
  margin: -120px auto 60px;
  padding: 10px 0;
}

#menu.page .location h3 .line {
	display: block;
	color: #fff;
  font-size: 36px;
  font-weight: bold;
  font-style: oblique;
  line-height: 1.2;
  letter-spacing: 4px;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 5px;
}

#menu.page .location h3 .line .fs_b {
  font-size: 48px;
  font-weight: bold;
}

#menu.page .location ul {
  flex-wrap: wrap;
}

#menu.page .location ul li {
  width: 20%;
  text-align: center;
  margin-bottom: 20px;
}

#menu.page .location ul li .img {
  margin-bottom: 10px;
}

#menu.page .location ul li .name {
  font-size: 20px;
  font-weight: bold;
}


@media only screen and (max-width: 768px){

  #menu.page .about {
    background: none;
    height: auto;
    margin-bottom: 10%;
    border: 3px solid #075672;
    padding: 4% 4% 10%;
  }

  #menu.page #karikomi .about,
  #menu.page #bassai .about,
  #menu.page #kusakari .about,
  #menu.page #niwaki .about,
  #menu.page #gaikou .about,
  #menu.page #kataduke .about {
    background: none;
  }

  #menu.page .about::before {
    content: "";
    width: 15%;
    height: 0;
    padding: 0 0 15%;
    background-image:url(./images/menu_sentei_decoration01.png);
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    bottom: -7%;
    left: 0%;
  }

  #menu.page .about::after {
    content: "";
    width: 20%;
    height: 0;
    padding: 0 0 16%;
    background-image:url(./images/menu_sentei_decoration02.png);
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    bottom: -4%;
    right: -4%;
  }

  #menu.page #karikomi .about::after,
  #menu.page #kataduke .about::after {
    width: 24%;
    padding: 0 0 24%;
    background-image:url(./images/menu_karikomi_decoration02.png);
  }
  
  #menu.page .about h3 {
    position: static;
    margin-top: -7%;
    margin-bottom: 4%;
  }

  #menu.page .about h3 img {
    width: 24%;
  }
  
  #menu.page #karikomi .about h3 img {
    width: 30%;
  }

  #menu.page #kusakari .about h3 img {
    width: 45%;
  }

  #menu.page #niwaki .about h3 img {
    width: 60%;
  }

  #menu.page #gaikou .about h3 img {
    width: 65%;
  }

  #menu.page #kataduke .about h3 img {
    width: 43%;
  }

  #menu.page .about .txt_block {
    position: static;
    width: auto;
    margin-bottom: 4%;
  }

  #menu.page .about p {
    font-size: 2.4vw;
  }

  #menu.page .about .img img {
    width: 85%;
    -moz-box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
  }

  #menu.page .trouble {
    background: none;
    width: 100%;
    height: auto;
    margin: 20% 0 10%;
    border: 3px solid #075672;
    padding: 4% 4% 10%;
  }
  
  #menu.page #karikomi .trouble,
  #menu.page #bassai .trouble,
  #menu.page #kusakari .trouble,
  #menu.page #niwaki .trouble,
  #menu.page #gaikou .trouble,
  #menu.page #kataduke .trouble {
    background: none;
  }

  #menu.page .trouble h3 {
    position: static;
    margin: -14% 0 6%;
  }

  #menu.page .trouble h3 img {
    width: 70%;
  }
  
  #menu.page .trouble ul {
    position: static;
    margin-bottom: 6%;
  }

  #menu.page .trouble ul li {
    font-size: 3vw;
    padding-left: 8%;
  }

  #menu.page .trouble ul li::before {
    width: 7%;
    height: 0;
    padding: 0 0 7%;
  }
  
  #menu.page .trouble::before {
    content: "";
    width: 30%;
    height: 0;
    padding: 0px 0 30%;
    background-image:url(./images/menu_sentei_decoration03.png);
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    bottom: -7%;
    left: 0%;
  }

  #menu.page #karikomi .trouble::before,
  #menu.page #kataduke .trouble::before {
    background-image:url(./images/menu_karikomi_decoration03.png);
  }

  #menu.page .trouble::after {
    content: "";
    width: 20%;
    height: 0;
    padding: 0 0 20%;
    background-image:url(./images/menu_sentei_decoration04.png);
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    bottom: -4%;
    right: -4%;
  }

  #menu.page .trouble .img img {
    width: 85%;
    -moz-box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 6px 6px 6px rgba(0, 0, 0, 0.1);
  }

  #menu.page .price .header img {
    width: 60%;
  }

  #menu.page .price .body {
    padding: 6% 6% 10%;
  }

  #menu.page .price .body table {
    width: 100%;
  }

  #menu.page .price .body table th,
  #menu.page .price .body table td {
    width: 50%;
    font-size: 3vw;
  }

  #menu.page #gaikou .price .body .txt01,
  #menu.page #kataduke .price .body .txt01 {
    font-size: 3.6vw;
  }
  
  #menu.page #gaikou .price .body .notice,
  #menu.page #kataduke .price .body .notice {
    font-size: 2.8vw;
  }

  #menu.page .location {
    margin-top: 10%;
  }

  #menu.page .location h3 {
    margin: -16% auto 8%;
    width: 95%;
  }

  #menu.page .location h3 .line {
    font-size: 4vw;
    letter-spacing: 2px;
  }

  #menu.page .location h3 .line .fs_b {
    font-size: 5vw;
  }

  #menu.page .location ul li {
    width: 31%;
    margin-bottom: 4%;
  }

  #menu.page .location ul li .name {
    font-size: 3vw;
  }

}

@media only screen and (max-width: 414px){

  #menu.page .about h3 {
    margin-top: -8%;
  }

  #menu.page #kusakari .about h3 {
    margin-top: -9%;
  }

  #menu.page .about h3 img {
    width: 30%;
  }

  #menu.page #karikomi .about h3 img {
    width: 40%;
  }
  
  #menu.page #kusakari .about h3 img {
    width: 55%;
  }

  #menu.page #niwaki .about h3 img {
    width: 70%;
  }

  #menu.page #gaikou .about h3 img {
    width: 80%;
  }

  #menu.page .about p {
    font-size: 2.8vw;
    letter-spacing: 1px;
  }

  #menu.page .trouble h3 img {
    width: 80%;
  }

  #menu.page .trouble ul li {
    font-size: 3.6vw;
  }

  #menu.page .price .header img {
    width: 70%;
  }

  #menu.page .price .body table th,
  #menu.page .price .body table td {
    font-size: 4vw;
  }

  #menu.page #gaikou .price .body,
  #menu.page #kataduke .price .body {
    padding-bottom: 18%;
  }

  #menu.page #gaikou .price .body .txt01,
  #menu.page #kataduke .price .body .txt01 {
    font-size: 4vw;
  }
  
  #menu.page #gaikou .price .body .notice,
  #menu.page #kataduke .price .body .notice {
    font-size: 3.2vw;
  }

  #menu.page .location {
    margin-top: 5%;
  }
  
}

/* 私たちにおまかせする理由
=============================================== */

#menu.page #reason {
  background: #9abf14;
}

#menu.page #reason .white {
  -webkit-border-radius: 80px;
  -moz-border-radius: 80px;
  border-radius: 80px;
  background: #fff;
  -moz-box-shadow: 0px 8px 10px 8px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 8px 10px 8px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 8px 10px 8px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 8px 10px 8px rgba(0, 0, 0, 0.1);
  padding: 60px 40px;
}

#menu.page #reason .white h3 {
  text-align: center;
  position:relative;
  margin-bottom: 40px;
  font-size: 36px;
  letter-spacing: 2px;
}

#menu.page #reason .white h3::before {
  content: "";
  width: 86px;
  height: 22px;
  background-image:url(./images/menu_reason_title_icon01.png);
  aspect-ratio: 86 / 22;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#menu.page #reason .white ul {
  margin-bottom: 80px;
}

#menu.page #reason .white ul li {
  width: 23%;
}

#menu.page #reason .white ul li .img {
  margin-bottom: 60px;
}

#menu.page #reason .white ul li h4 {
  color: #005100;
  font-size: 30px;
  font-weight:bold;
  text-align: center;
  margin-bottom: 15px;
  position: relative;
}

#menu.page #reason .white ul li h4::before {
  content: "";
  width: 110px;
  height: 30px;
  background-image:url(./images/menu_reason_num01.png);
  aspect-ratio: 110 / 30;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#menu.page #reason .white .btm {
  position: relative;
}

#menu.page #reason .white .btm::before {
  content: "";
  width: 421px;
  height: 359px;
  background-image:url(./images/menu_reason_btmimg01.png);
  aspect-ratio: 421 / 359;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  bottom: 0;
  left: -100px;
}

#menu.page #reason .white .btm::after {
  content: "";
  width: 293px;
  height: 258px;
  background-image:url(./images/menu_reason_btmimg02.png);
  aspect-ratio: 293 / 258;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  bottom: 0;
  right: -100px;
}

#menu.page #reason .white .btm h5 {
  text-align: center;
  width: 380px;
  margin: 0 auto 40px;
  background: #005100;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  padding: 10px 0;
}

#menu.page #reason .white .btm h5 span {
  display: block;
  font-weight: bold;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 10px;
}

#menu.page #reason .white .btm p {
  color: #005100;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 1;;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

#menu.page #reason .white .btm .txt01 {
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px){

  #menu.page #reason .white {
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
    padding: 10% 4%;
  }

  #menu.page #reason .white h3 {
    margin-bottom: 5%;
    font-size: 5vw;
  }

  #menu.page #reason .white h3 img {
    width: 60%;
    height: auto;
  }

  #menu.page #reason .white h3::before {
    width: 15%;
    height: 0;
    padding: 0px 0 5%;
    top: -25%;
  }

  #menu.page #reason .white ul {
    margin-bottom: 4%;
  }

  #menu.page #reason .white ul li {
    width: 49%;
    margin-bottom: 8%;
  }

  #menu.page #reason .white ul li .img {
    margin-bottom: 20%;
  }

  #menu.page #reason .white ul li .img img {
    width: 80%;
  }

  #menu.page #reason .white ul li h4 {
    font-size: 4vw;
  }

  #menu.page #reason .white ul li h4::before {
    width: 30%;
    height: 0;
    padding: 0 0 10%;
    top: -100%;
  }

  #menu.page #reason .white ul li .txt01 {
    font-size: 2.4vw;
  }

  #menu.page #reason .white .btm h5 {
    width: 70%;
    font-size: 5vw;
  }

  #menu.page #reason .white .btm p {
    font-size: 2.6vw;
  }

  #menu.page #reason .white .btm .txt01 {
    margin-bottom: 4%;
  }

  #menu.page #reason .white .btm::before {
    width: 30%;
    height: 0;
    bottom: -25%;
    left: -7%;
    padding: 0 0 30%;
  }

  #menu.page #reason .white .btm::after {
    width: 30%;
    height: 0;
    bottom: -25%;
    right: -7%;
    padding: 0 0 30%;
  }

}

@media only screen and (max-width: 414px){

  #menu.page #reason .white .btm p {
    font-size: 3.2vw;
  }

}

/* トラブル
=============================================== */

#menu.page #trouble {
  padding: 0;
}

#menu.page #trouble .sec01 {
  padding: 180px 0;
  background-image:url(./images/menu_trouble_sec01_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}

#menu.page #trouble .sec01 .inner {
  text-align: center;
  padding-right: 400px;
}

#menu.page #trouble .sec01 .txt01 {
  font-size: 24px;
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 4px;
  color: #075672;
  font-style: oblique;
  margin-bottom: 60px;
}

#menu.page #trouble .sec01 .txt02 {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  color: #075672;
  font-style: oblique;
  background: rgba(255,255,255, 0.9);
  padding: 20px 80px;
}

@media only screen and (max-width: 768px){

  #menu.page #trouble .sec01 {
    padding: 40% 0 10%;
    background-position: 70% center;
  }

  #menu.page #trouble .sec01 .inner {
    padding: 0 20px;
  }

  #menu.page #trouble .sec01 .txt01 {
    font-size: 3.2vw;
    line-height: 2;
    letter-spacing: 2px;
    margin-bottom: 4%;
    text-shadow:
    2px 2px 2px #fff, -2px -2px 2px #fff,
    -2px 2px 2px #fff,  2px -2px 2px #fff,
    2px 0px 2px #fff, -2px -0px 2px #fff,
    0px 2px 2px #fff,  0px -2px 2px #fff;
  }
  
  #menu.page #trouble .sec01 .txt02 {
    font-size: 4.2vw;
    letter-spacing: 2px;
    padding: 4% 10%;
  }

}

@media only screen and (max-width: 414px){

  #menu.page #trouble .sec01 .txt01 {
    font-size: 3.8vw;
  }
  
  #menu.page #trouble .sec01 .txt02 {
    font-size: 4.6vw;
    letter-spacing: 2px;
    padding: 2% 4%;
  }

}

#menu.page #trouble .sec02 {
  background-image:url(./images/menu_trouble_sec02_bg01.jpg);
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 120px 0 10px;
}

#menu.page #trouble .sec02 .inner {
  position: relative;
}

#menu.page #trouble .sec02 h3 {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 60px;
}

#menu.page #trouble .sec02 .balloon {
  position: absolute;
  top: -200px;
  left: 0;
}

#menu.page #trouble .sec02 .word {
  position: absolute;
  top: 140px;
  right: -60px;
}

#menu.page #trouble .sec02 ul li {
  width: 23%;
  text-align: center;
}

#menu.page #trouble .sec02 ul li .box {
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 15px;
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
}

#menu.page #trouble .sec02 ul li:first-child .box {
  background-image:url(./images/menu_trouble_sec02_img01.jpg);
  aspect-ratio: 507 / 601;
}

#menu.page #trouble .sec02 ul li:nth-child(2) .box {
  background-image:url(./images/menu_trouble_sec02_img02.jpg);
  aspect-ratio: 507 / 601;
}

#menu.page #trouble .sec02 ul li:nth-child(3) .box {
  background-image:url(./images/menu_trouble_sec02_img03.jpg);
  aspect-ratio: 507 / 601;
}

#menu.page #trouble .sec02 ul li:nth-child(4) .box {
  background-image:url(./images/menu_trouble_sec02_img04.jpg);
  aspect-ratio: 507 / 601;
}

#menu.page #trouble .sec02 ul li .box h4 {
  font-size: 20px;
  font-weight: bold;
  text-shadow:
  2px 2px 2px #fce212, -2px -2px 2px #fce212,
  -2px 2px 2px #fce212,  2px -2px 2px #fce212,
  2px 0px 2px #fce212, -2px -0px 2px #fce212,
  0px 2px 2px #fce212,  0px -2px 2px #fce212;
  margin-bottom: 50px;
}

#menu.page #trouble .sec02 ul li .box .txt01 {
  background: #fff;
  display: table;
  width: 100%;
  position: relative;
}

#menu.page #trouble .sec02 ul li .box .txt01 span {
  display: table-cell;
  width: 100%;
  vertical-align: middle;
  height: 170px;
}

#menu.page #trouble .sec02 ul li .box .txt01::before {
  content: "";
  width: 54px;
  height: 54px;
  background-image:url(./images/menu_trouble_sec02_icon01.png);
  aspect-ratio: 54 / 54;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#menu.page #trouble .sec02 ul li:first-child .box .txt01::before {
  background-image:url(./images/menu_trouble_sec02_icon01.png);
  aspect-ratio: 54 / 54;
}

#menu.page #trouble .sec02 ul li:nth-child(2) .box .txt01::before {
  background-image:url(./images/menu_trouble_sec02_icon02.png);
  aspect-ratio: 54 / 54;
}

#menu.page #trouble .sec02 ul li:nth-child(3) .box .txt01::before {
  background-image:url(./images/menu_trouble_sec02_icon03.png);
  aspect-ratio: 54 / 54;
}

#menu.page #trouble .sec02 ul li:nth-child(4) .box .txt01::before {
  background-image:url(./images/menu_trouble_sec02_icon04.png);
  aspect-ratio: 54 / 54;
}


@media only screen and (max-width: 768px){

  #menu.page #trouble .sec02 {
    background-position: 70% center;
    padding: 0 0 10px;
  }
  
  #menu.page #trouble .sec02 h3 {
    font-size: 4vw;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
  }
  
  #menu.page #trouble .sec02 .balloon {
    position: static;
    text-align: left;
  }

  #menu.page #trouble .sec02 .balloon img {
    width: 30%;
    margin-top: -10%;
  }
  
  #menu.page #trouble .sec02 .word {
    position: static;
    text-align: right;
  }

  #menu.page #trouble .sec02 .word img {
    width: 55%;
  }
  
  #menu.page #trouble .sec02 ul li {
    width: 49%;
    margin-bottom: 15px;
  }
  
  #menu.page #trouble .sec02 ul li .box h4 {
    font-size: 3vw;
    margin-bottom: 40px;
  }
    
}

@media only screen and (max-width: 480px){

  #menu.page #trouble .sec02 ul li .box h4 {
    font-size: 4vw;
    margin-bottom: 20px;
  }

  #menu.page #trouble .sec02 ul li .box .txt01::before {
    width: 20%;
    height: 0;
    padding: 0 0 20%;
    top: -8%;
  }

  #menu.page #trouble .sec02 ul li .box .txt01 span {
    height: 140px;
    font-size: 2.8vw;
  }

}

#menu.page #trouble .sec03 {
  background-image:url(./images/menu_trouble_sec03_bg01.jpg);
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  padding: 120px 0;
  text-align: center;
}

#menu.page #trouble .sec03 .inner {
  position: relative;
}

#menu.page #trouble .sec03 .inner::before {
  content: "";
  width: 340px;
  height: 550px;
  background-image:url(./images/menu_trouble_sec03_img01.png);
  aspect-ratio: 340 / 550;
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -60px;
  left: 40px;
}

#menu.page #trouble .sec03 .inner::after {
  content: "";
  width: 200px;
  height: 226px;
  background-image:url(./images/menu_trouble_sec03_img02.png);
  aspect-ratio: 200 / 226;
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 20%;
  right: 100px;
}

#menu.page #trouble .sec03 .inner .contents {
  position: relative;
  z-index: 1;
}

#menu.page #trouble .sec03 h3 {
  margin-bottom: 40px;
}

#menu.page #trouble .sec03 h3 span {
  display: inline-block;
  margin-top: 30px;
  font-size: 40px;
  font-weight: bold;
  color: #075672;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
}

#menu.page #trouble .sec03 .txt01 {
  margin-bottom: 60px;
}

#menu.page #trouble .sec03 .txt01 span {
  display: inline-block;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
  font-size: 24px;
  font-weight: bold;
  padding: 0 5px 3px;
  background-image: linear-gradient(transparent 80%, #f6dc56 20%);
}

#menu.page #trouble .sec03 ul {
  justify-content: center;
}


#menu.page #trouble .sec03 ul li {
  width: 16.6%;
}

#menu.page #trouble .sec03 ul li .circle {
  background-image:url(./images/menu_trouble_sec03_circle.png);
  aspect-ratio: 450 / 450;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  display: table;
  width: 100%;
  height: 185px;
}

#menu.page #trouble .sec03 ul li .circle p {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.2;
}

#menu.page #trouble .sec03 ul li .circle p .white {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
}

#menu.page #trouble .sec03 ul li .circle p .yellow {
  color: #fce212;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 2px;
}


@media only screen and (max-width: 768px){

  #menu.page #trouble .sec03 {
    background-image:url(./images/menu_trouble_sec03_bg01_sp.jpg);
    background-position:center top;
    padding: 90px 0;
    position: relative;
  }

  #menu.page #trouble .sec03 .inner::before {
    width: 50%;
    height: 0;
    padding: 0 0 80%;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  #menu.page #trouble .sec03 .inner::after {
    content: none;
  }

  #menu.page #trouble .sec03::after {
    content: "";
    width: 30%;
    height: 0;
    padding: 0 0 37%;
    background-image: url(./images/menu_trouble_sec03_img02_sp.png);
    aspect-ratio: 466 / 577;
    background-position:center top;
    background-repeat:no-repeat;
    -moz-background-size:contain;
    background-size:contain;
    position: absolute;
    top: auto;
    bottom: 0;
    right: 0;
  }

  #menu.page #trouble .sec03 h3 {
    margin-bottom: 5%;
  }

  #menu.page #trouble .sec03 h3 img {
    width: 35%;
  }

  #menu.page #trouble .sec03 .txt01 {
    margin-bottom: 50%;
  }

  #menu.page #trouble .sec03 .txt01 span {
    font-size: 4vw;
  }

  #menu.page #trouble .sec03 h3 span {
    font-size: 5vw;
    margin-top: 4%;
  }
  
  #menu.page #trouble .sec03 ul li {
    width: 30%;
  }

  #menu.page #trouble .sec03 ul li .circle {
    /* height: auto; safariで崩れるので不可*/
    height: 50px;
  }

  #menu.page #trouble .sec03 ul li .circle p {
    padding: 30% 0;
  }

  #menu.page #trouble .sec03 ul li .circle p .white {
    font-size: 3.2vw;
  }

  #menu.page #trouble .sec03 ul li .circle p .yellow {
    font-size: 4.2vw;
  }
}

@media only screen and (max-width: 414px){

  #menu.page #trouble .sec03 {
    padding: 60px 0 80px;
  }

  #menu.page #trouble .sec03 h3 img {
    width: 45%;
  }

  #menu.page #trouble .sec03 .txt01 span {
    font-size: 5vw;
  }

  #menu.page #trouble .sec03 h3 span {
    font-size: 6vw;
  }
  
  #menu.page #trouble .sec03 ul li {
    width: 32%;
  }

  #menu.page #trouble .sec03 ul li .circle p .white {
    font-size: 3.6vw;
  }

  #menu.page #trouble .sec03 ul li .circle p .yellow {
    font-size: 4.6vw;
  }

}

/* ==============================================
 よくある質問
=============================================== */

#faq.page .faq_cate {
  margin-bottom: 80px;
}

#faq.page .faq_cate h3 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 60px;
}

#faq.page .btm {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 768px){

  #faq.page .faq_cate {
    margin-bottom: 8%;
  }
  
  #faq.page .faq_cate h3 {
    font-size: 18px;
    margin-bottom: 6%;
  }

  #faq.page .btm {
    font-size: 20px;
  }
  
}

@media only screen and (max-width: 414px){

  #faq.page .faq_cate h3 {
    font-size: 16px;
  }

  #faq.page .btm {
    font-size: 18px;
  }

}

/* ==============================================
 会社概要
=============================================== */

.page-id-195 .breadcrumbs {
  background: #9abf14;
}

#company.page #sec01 {
  background-image:url(./images/company_sec01_bg01.jpg);
  background-position:center top;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}
 
#company.page #sec01 .title_block {
  background-image:url(./images/menu_sec01_bg01.png);
  background-position: center bottom;
  background-repeat:no-repeat;
  text-align: center;
  padding: 30px 0 80px;
  margin-bottom: 80px;
}

@media only screen and (min-width: 1920px){
  #company.page #sec01 .title_block {
    -moz-background-size:100% auto;
    background-size:100% auto;
  }
}

#company.page #sec01 .title_block .txt01 {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1.4;
}

#company.page #sec01 .title_block .txt01 .fs_b {
  font-size: 48px;
  font-weight: bold;
  padding: 0 5px;
}

#company.page #sec01 .title_block .txt01 .fs_b .num {
  color: #fbe213;
  font-size: 52px;
  font-weight: bold;
  -moz-text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  -webkit-text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  -ms-text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  padding: 0 5px;
}

#company.page #sec01 .title_block h3 {
  font-size: 48px;
  font-weight: bold;
  color: #005100;
  line-height: 1.4;
  letter-spacing: 4px;
}

#company.page #sec01 .contents {
  width: 60%;
  margin-left: 40%;
}

#company.page #sec01 .contents h4 {
  font-size: 24px;
  font-weight: bold;
  color: #005100;
  text-shadow:
  2px 2px 2px #fff, -2px -2px 2px #fff,
  -2px 2px 2px #fff,  2px -2px 2px #fff,
  2px 0px 2px #fff, -2px -0px 2px #fff,
  0px 2px 2px #fff,  0px -2px 2px #fff;
  text-align: center;
  margin-bottom: 40px;
}

#company.page #sec01 .contents .txt02 {
  font-size: 20px;
  margin-bottom: 30px;
}

#company.page #sec01 .contents .txt03 {
  color: #005100;
  font-size: 20px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){

  #company.page #sec01 {
    background-image: url(./images/company_sec01_bg01_sp.png);
    background-position:center 40%;
    -moz-background-size:100% auto;
    background-size:100% auto;
    background-color: #f0f6dc;
  }

  #company.page #sec01 .title_block {
    -moz-background-size:cover;
    background-size:cover;
    padding: 20px 0 40px;
    margin-bottom: 20px;
  }

  #company.page #sec01 .title_block .txt01 {
    font-size: 3vw;
  }
  
  #company.page #sec01 .title_block .txt01 .fs_b {
    font-size: 5vw;
  }
  
  #company.page #sec01 .title_block .txt01 .fs_b .num {
    font-size: 5.5vw;
  }
  
  #company.page #sec01 .title_block h3 {
    font-size: 5vw;
  }

  #company.page #sec01 .contents {
    width: 100%;
    margin-left: auto;
  }
  
  #company.page #sec01 .contents h4 {
    font-size: 4vw;
    margin-bottom: 100%;
  }
  
  #company.page #sec01 .contents .txt02 {
    font-size: 3vw;
    margin-bottom: 20px;
    text-shadow:
    2px 2px 2px #fff, -2px -2px 2px #fff,
    -2px 2px 2px #fff,  2px -2px 2px #fff,
    2px 0px 2px #fff, -2px -0px 2px #fff,
    0px 2px 2px #fff,  0px -2px 2px #fff;
  }
  
  #company.page #sec01 .contents .txt03 {
    font-size: 3vw;
    text-shadow:
    2px 2px 2px #fff, -2px -2px 2px #fff,
    -2px 2px 2px #fff,  2px -2px 2px #fff,
    2px 0px 2px #fff, -2px -0px 2px #fff,
    0px 2px 2px #fff,  0px -2px 2px #fff;
  }

}

@media only screen and (max-width: 414px){

  #company.page #sec01 {
    background-position:center 32%;
  }

  #company.page #sec01 .title_block .txt01 {
    letter-spacing: 0;
    font-size: 4vw;
  }

  #company.page #sec01 .title_block h3 {
    letter-spacing: 2px;
    font-size: 5.5vw;
  }
  
  #company.page #sec01 .title_block .txt01 .fs_b .num {
    font-size: 5.6vw;
  }
  
  #company.page #sec01 .title_block h3 {
    font-size: 5.5vw;
  }

  #company.page #sec01 .contents h4 {
    font-size: 4.6vw;
  }

  #company.page #sec01 .contents .txt02 {
    font-size: 4vw;
  }
  
  #company.page #sec01 .contents .txt03 {
    font-size: 4vw;
  }

}

#company.page #sec02 h3 {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: #005100;
  letter-spacing: 4px;
  margin-bottom: 40px;
}

#company.page #sec02 table {
  width: 100%;
}

#company.page #sec02 table,
#company.page #sec02 table th,
#company.page #sec02 table td {
  border: 2px solid #005100;
  padding: 10px;
  font-size: 22px;
}

#company.page #sec02 table th {
  background: #f0f6dc;
  width: 33%;
  color: #005100;
}

@media only screen and (max-width: 768px){


  #company.page #sec02 h3 {
    font-size: 5vw;
    margin-bottom: 30px;
  }
    
  #company.page #sec02 table,
  #company.page #sec02 table th,
  #company.page #sec02 table td {
    font-size: 16px;
  }
  
}

@media only screen and (max-width: 414px){

  #company.page #sec02 table th,
  #company.page #sec02 table td {
    display: block;
    width: 100%;
    border: none;
    border-bottom: 1px solid #005100;
    font-size: 14px;
  }

  #company.page #sec02 table {
    border-bottom: none;
  }

}

#company.page #sec03 {
  background: #dcf293;
}

#company.page #sec03 .white {
  background: #fff;
  -moz-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
  padding: 80px 50px;
  position: relative;
}

#company.page #sec03 .white h3 {
  text-align: center;
  margin-bottom: 60px;
}

#company.page #sec03 .white h3 span {
  display: block;
  letter-spacing: 4px;
}

#company.page #sec03 .white h3 .txt01 {
  font-size: 48px;
}

#company.page #sec03 .white h3 .txt02 {
  font-size: 48px;
  font-weight: bold;
  position: relative;
}

#company.page #sec03 .white h3 .txt02::before {
  content: "・・・・・・";
  width: 100%;
  height: auto;
  display: block;
  color: #005100;
  font-weight: bold;
  line-height: 1;
  margin-bottom: -20px;
}


#company.page #sec03 .white ul {
  margin-bottom: 60px;
}

#company.page #sec03 .white ul li {
  width: 22%;
}

#company.page #sec03 .white ul li .img {
  margin-bottom: 10px;
}

#company.page #sec03 .white ul li h3 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

#company.page #sec03 .white .btm {
  color: #075672;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}


@media only screen and (max-width: 768px){

  #company.page #sec03 .white {
    padding: 10% 0;
  }

  #company.page #sec03 .white h3 {
    margin: 0 4% 8%;
  }

  #company.page #sec03 .white h3 .txt01,
  #company.page #sec03 .white h3 .txt02 {
    font-size: 5vw;
  }

  #company.page #sec03 .white h3 .txt02::before {
    margin-bottom: -3%;
  }

  #company.page #sec03 .white ul {
    margin: 0 4% 4%;
  }

  #company.page #sec03 .white ul li {
    width: 48%;
    margin-bottom: 30px;
  }

  #company.page #sec03 .white ul li h3 {
    font-size: 3.2vw;
  }

  #company.page #sec03 .white ul li .txt01 {
    font-size: 3vw;
  }

  #company.page #sec03 .white .btm {
    font-size: 3.2vw;
    padding: 0 10px;
  }

}

@media only screen and (max-width: 414px){

  #company.page #sec03 .white h3 span {
    letter-spacing: 2px;
  }

  #company.page #sec03 .white h3 .txt01,
  #company.page #sec03 .white h3 .txt02 {
    font-size: 6vw;
  }

  #company.page #sec03 .white ul {
    margin: 0 4% 4%;
  }

  #company.page #sec03 .white ul li {
    width: 48%;
    margin-bottom: 30px;
  }

  #company.page #sec03 .white ul li h3 {
    font-size: 3.2vw;
  }

  #company.page #sec03 .white ul li .txt01 {
    font-size: 3vw;
  }

}

/* ==============================================
 施工事例　詳細
=============================================== */

article.exsamples #pagemv {
  background-image:url(./images/pagemv_exsamples.jpg);
}

article.exsamples .breadcrumbs {
  background: #f0f6dc;
}

/* 施工カテゴリーブロック
=============================================== */

article.exsamples .cate_block {
  background: #f0f6dc;
  padding: 60px 0 40px;
}

article.exsamples .cate_block h3 {
  font-size: 20px;
  font-weight: bold;
  color: #005100;
  letter-spacing: 2px;;
  line-height: 1.2;
  padding-left: 15px;
  border-left: 5px solid #9abf14;
  margin-bottom: 60px;
}

article.exsamples .cate_block ul {
  justify-content: flex-start;
  flex-wrap: wrap;
}

article.exsamples .cate_block ul li {
  width: 25%;
  margin-bottom: 20px;
  padding: 0 10px;
}

article.exsamples .cate_block ul li a {
  display: block;
  text-align: center;
  background: #fff;
  font-size: 20px;
  font-weight: bold;
  color: #005100;
  letter-spacing: 2px;;
  line-height: 1.2;
  padding: 10px;
  border: 3px solid #9abf14;
}

article.exsamples .cate_block ul li a:hover,
article.exsamples .cate_block ul li a.current {
  background: #dcf293;
  opacity: 1;
  color: #005100;
}

@media only screen and (max-width: 768px){

  article.exsamples .cate_block {
    padding: 60px 0 40px;
  }

  article.exsamples .cate_block h3 {
    font-size: 4.2vw;
    margin-bottom: 30px;
  }

  article.exsamples .cate_block ul li {
    width: 50%;
    margin-bottom: 15px;
  }

  article.exsamples .cate_block ul li a {
    font-size: 3vw;
    padding: 7px;
  } 

}

@media only screen and (max-width: 414px){

  article.exsamples .cate_block {
    padding: 40px 0 20px;
  }

  article.exsamples .cate_block h3 {
    font-size: 4.8vw;
    margin-bottom: 20px;
  }

  article.exsamples .cate_block ul li {
    margin-bottom: 10px;
    padding: 0 5px;
  }

  article.exsamples .cate_block ul li a {
    font-size: 3.6vw;
  } 

}

article.exsamples section {
  padding-top: 0;
}

article.exsamples .section_title {
  background: #9abf14;
  margin-bottom: 80px;
  text-align: center;
  padding: 10px 0;
}

article.exsamples .section_title span {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  line-height: 1.2;
  display: block;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
  padding: 10px 0
}

@media only screen and (max-width: 768px){

  article.exsamples .section_title {
    margin-bottom: 60px;
  }
  
  article.exsamples .section_title span {
    font-size: 5vw;
  }

}

@media only screen and (max-width: 414px){

  article.exsamples .section_title {
    margin-bottom: 40px;
    padding: 7px 0;
  }
  
  article.exsamples .section_title span {
    font-size: 6vw;
    letter-spacing: 2px;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    padding: 7px 0
  }

}

/* 施工内容セクション
=============================================== */

#single_exsamples #sec01 .date {
  text-align: center;
  font-size: 18px;
  margin-bottom: 30px;
}

#single_exsamples #sec01 h3 {
  text-align: center;
  color: #005100;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 40px;
}

#single_exsamples #sec01 .ex_area {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
}

#single_exsamples #sec01 .img_block {
  justify-content: center;
  margin-bottom: 60px;
}

#single_exsamples #sec01 .img_block .item {
  padding: 0 15px;
}

#single_exsamples #sec01 .img_block .item .img {
  position: relative;
}

#single_exsamples #sec01 .img_block .item .img::before {
  content: "BEFORE";
  background: #fff;
  color: #005100;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  padding: 10px 30px;
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 20px;
  left: 0;
}

#single_exsamples #sec01 .img_block .after .img::before {
  content: "AFTER";
  background: #005100;
  color: #fff;
}

#single_exsamples #sec01 .content {
  width: 1080px;
  margin: 0 auto;
}


@media only screen and (max-width: 768px){


  #single_exsamples #sec01 .date {
    font-size: 16px;
    margin-bottom: 20px;
  }
  
  #single_exsamples #sec01 h3 {
    font-size: 30px;
    margin-bottom: 30px;
  }
  
  #single_exsamples #sec01 .ex_area {
    font-size: 20px;
    margin-bottom: 30px;
  }
  
  #single_exsamples #sec01 .img_block {
    margin-bottom: 40px;
  }
  
  #single_exsamples #sec01 .img_block .item {
    width: 100%;
    padding: 0;
    text-align: center;
  }

  #single_exsamples #sec01 .img_block .item .img {
    display: inline-block;
  }

  #single_exsamples #sec01 .img_block .before {
    margin-bottom: 20px;
  }

  #single_exsamples #sec01 .img_block .before .img {
    width: 70%;
  }
  
  #single_exsamples #sec01 .img_block .item .img::before {
    font-size: 16px;
    padding: 10px 20px;
  }
    
  #single_exsamples #sec01 .content {
    width: auto;
  }

}

@media only screen and (max-width: 480px){


  #single_exsamples #sec01 .date {
    font-size: 14px;
  }
  
  #single_exsamples #sec01 h3 {
    font-size: 24px;
  }
  
  #single_exsamples #sec01 .ex_area {
    font-size: 18px;
  }
  
  #single_exsamples #sec01 .img_block .before .img {
    width: 80%;
  }
  
  #single_exsamples #sec01 .img_block .item .img::before {
    font-size: 14px;
  }
    
}

/* 施工の流れセクション
=============================================== */

#single_exsamples #sec02 .flow .step {
  width: 960px;
  background: #f0f6dc;
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  padding: 30px 30px 60px;
  margin: 0 auto 80px;
  position: relative;
}

#single_exsamples #sec02 .flow .step:last-child {
  margin-bottom: 0;
}

#single_exsamples #sec02 .flow .step::after {
  content: "";
  width: 55px;
  height: 75px;
  background-image:url(./images/exsamples_single_arrow.png);
  aspect-ratio: 55 / 75;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#single_exsamples #sec02 .flow .step:last-child::after {
  content: none;
}

#single_exsamples #sec02 .flow .step .img {
  width: 43%;
}

#single_exsamples #sec02 .flow .step .right {
  width: 55%;
}

#single_exsamples #sec02 .flow .step .right .num {
  margin-bottom: 10px;
}

#single_exsamples #sec02 .flow .step .right .num span {
  display: inline-block;
  line-height: 1;
  background: #9abf14;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px;
}

#single_exsamples #sec02 .flow .step .right .flow_title {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: bold;
}

@media only screen and (max-width: 768px){

  #single_exsamples #sec02 .flow .step {
    width: 80%;
    padding: 15px 15px 30px;
    margin-bottom: 40px
  }
  
  #single_exsamples #sec02 .flow .step::after {
    content: "";
    width: 28px;
    height: 38px;
    bottom: -20px;
  }
  
  #single_exsamples #sec02 .flow .step .item {
    width: 100%;
  }

  #single_exsamples #sec02 .flow .step .img {
    margin-bottom: 20px;
  }
    
  #single_exsamples #sec02 .flow .step .right .num span {
    font-size: 14px;
    padding: 8px 16px;
  }
  
  #single_exsamples #sec02 .flow .step .right .flow_title {
    font-size: 18px;
  }

}

@media only screen and (max-width: 414px){

  #single_exsamples #sec02 .flow .step {
    width: 90%;
  }

}

/* ==============================================
 施工事例　一覧
=============================================== */

.exsamples_list {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.exsamples_list li {
  width: 25%;
  padding: 0 10px;
  margin-bottom: 30px;
}

.exsamples_list li .box {
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  background: #f0f6dc;
}

.exsamples_list li .box .img {
  position: relative;
}

.exsamples_list li .box .img .exsamples_cate {
  color: #005100;
  background: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px;
  line-height: 1;
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 15px;
  left: 0;
}

.exsamples_list li .box .lower {
  background: #f0f6dc;
  padding: 10px;
  text-align: center;
}

.exsamples_list li .box .lower .date {
  font-size: 14px;
}

.exsamples_list li .box .lower .title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  color: #005100;
}

.exsamples_list li .box .lower .btn {
  margin-top: 10px;
}

@media only screen and (max-width: 768px){
  
  .exsamples_list li {
    width: 50%;
  }

  .exsamples_list li .box {
    max-width: 280px;
    margin: 0 auto;
  }

  .exsamples_list li .box .img .exsamples_cate {
    font-size: 14px;
  }
    
  .exsamples_list li .box .lower .date {
    font-size: 13px;
  }
  
  .exsamples_list li .box .lower .title {
    font-size: 16px;
  }

  .exsamples_list li .box .lower img {
    width: 65%;
  }
  
}


@media only screen and (max-width: 600px){

  .exsamples_list {
    justify-content: space-between;
  }

  .exsamples_list li {
    width: 49%;
    padding: 0;
    margin-bottom: 20px;
  }  

  .exsamples_list li .box .img .exsamples_cate,
  .exsamples_list li .box .lower .date,
  .exsamples_list li .box .lower .ex_area {
    font-size: 2.4vw;
  }

  .exsamples_list li .box .lower .title {
    font-size: 3vw;
  }

}

/* ==============================================
 コラム　詳細
=============================================== */

article.column #pagemv {
  background-image:url(./images/pagemv_column.jpg);
}

article.single #sec01 .gray {
  background: #f8f8f8;
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  padding: 70px;
}

article.single #sec01 .gray .date {
  text-align: center;
  font-size: 18px;
  margin-bottom: 30px;
}

article.single #sec01 .gray .title {
  text-align: center;
  color: #005100;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 100px;
  position: relative;
}

article.single #sec01 .gray .title::after {
  content: "";
  width: 100%;
  height: 5px;
  background: #30a437;
  position: absolute;
  bottom: -40px;
  left: 0;
}

article.single #sec01 .gray .img {
  margin-bottom: 40px;
}


/* ビジュアルエディタ装飾 */

.freeeditor {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.freeeditor h1 {
	text-align: left;
	font-size: 140%;
	font-weight: bold;
	border-bottom: 3px solid #e8e7e3;
	padding-bottom: 5px;
	margin-bottom: 20px;
}

.freeeditor h2 {
	text-align: left;
	border: none;
	font-size: 130%;
	font-weight: bold;
	border-bottom: 2px solid #e8e7e3;
	padding-left: 0;
	padding-bottom: 5px;
	margin-bottom: 20px;
}

.freeeditor h3 {
	text-align: left;
	font-size: 120%;
	font-weight: bold;
	border-bottom: 1px solid #e8e7e3;
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.freeeditor h4 {
	text-align: left;
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 10px;
}

.freeeditor h5 {
	text-align: left;
	font-weight: bold;
	margin-bottom: 10px;
}

.freeeditor strong {
	font-weight: bold;
}

.freeeditor img.alignright { display: block; margin: 0 0 0 auto; }/* 配置位置 右 */
.freeeditor img.alignleft { display: block; margin: 0 auto 0 0; }/* 配置位置 左 */
.freeeditor img.aligncenter { display: block; margin: 0 auto; }/* 配置位置 中央 */

@media only screen and (max-width: 768px){

  article.single #sec01 .gray {
    padding: 40px 30px;
  }

  article.single #sec01 .gray .date {
    font-size: 16px;
    margin-bottom: 20px;
  }
  
  article.single #sec01 .gray .title {
    font-size: 30px;
    margin-bottom: 70px;
  }
  
  article.single #sec01 .gray .title::after {
    height: 4px;
    bottom: -30px;
  }
  
}

@media only screen and (max-width: 480px){

  article.single #sec01 .gray {
    padding: 30px 15px;
  }

  article.single #sec01 .gray .date {
    font-size: 14px;
  }
  
  article.single #sec01 .gray .title {
    font-size: 24px;
  }

}

/* ==============================================
 コラム　一覧
=============================================== */


#archive_column section {
  padding-top: 0;
}

#archive_column .section_title {
  background: #9abf14;
  margin-bottom: 80px;
  text-align: center;
  padding: 10px 0;
}

#archive_column .section_title span {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 4px;
  line-height: 1.2;
  display: block;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
  padding: 10px 0
}

@media only screen and (max-width: 768px){

  #archive_column .section_title {
    margin-bottom: 60px;
  }
  
  #archive_column .section_title span {
    font-size: 5vw;
  }

}

@media only screen and (max-width: 414px){

  #archive_column .section_title {
    margin-bottom: 40px;
    padding: 7px 0;
  }
  
  #archive_column .section_title span {
    font-size: 6vw;
    letter-spacing: 2px;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    padding: 7px 0
  }

}

.column_list {
  justify-content: center;
  flex-wrap: wrap;
}

.column_list li {
  width: 25%;
  padding: 0 10px;
  margin-bottom: 30px;
}

.column_list li .box {
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  background: #f0f6dc;
}

.column_list li .box .lower {
  background: #f0f6dc;
  padding: 10px;
  text-align: center;
}

.column_list li .box .lower .date {
  font-size: 14px;
}

.column_list li .box .lower .title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  color: #005100;
}

.column_list li .box .lower .btn {
  margin-top: 10px;
}

@media only screen and (max-width: 768px){
  
  .column_list li {
    width: 100%;
  }

  .column_list li .box {
    max-width: 280px;
    margin: 0 auto;
  }

  .column_list li .box .img .colum_cate {
    font-size: 14px;
  }
    
  .column_list li .box .lower .date {
    font-size: 13px;
  }
  
  .column_list li .box .lower .title {
    font-size: 16px;
  }

  .column_list li .box .lower img {
    width: 65%;
  }
  
}

@media only screen and (max-width: 600px){

  .column_list li {
    padding: 0;
    margin-bottom: 20px;
  }  

}


#archive_column #sec02 .gray {
  background: #f8f8f8;
  -moz-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, 0.1);
  padding: 70px;
  margin-bottom: 60px;
}

#archive_column #sec02 .gray .date {
  text-align: center;
  font-size: 18px;
  margin-bottom: 30px;
}

#archive_column #sec02 .gray .title {
  text-align: center;
  color: #005100;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 100px;
  position: relative;
}

#archive_column #sec02 .gray .title::after {
  content: "";
  width: 100%;
  height: 5px;
  background: #30a437;
  position: absolute;
  bottom: -40px;
  left: 0;
}

#archive_column #sec02 .gray .img {
  margin-bottom: 40px;
}


@media only screen and (max-width: 768px){

  #archive_column #sec02 .gray {
    padding: 40px 30px;
    margin-bottom: 40px;
  }

  #archive_column #sec02 .gray .date {
    font-size: 16px;
    margin-bottom: 20px;
  }
  
  #archive_column #sec02 .gray .title {
    font-size: 30px;
    margin-bottom: 70px;
  }
  
  #archive_column #sec02 .gray .title::after {
    height: 4px;
    bottom: -30px;
  }
  
}

@media only screen and (max-width: 480px){

  #archive_column #sec02 .gray {
    padding: 30px 15px;
    margin-bottom: 30px;
  }

  #archive_column #sec02 .gray .date {
    font-size: 14px;
  }
  
  #archive_column #sec02 .gray .title {
    font-size: 24px;
  }

}

/* ==============================================
 新着情報　詳細
=============================================== */

article.news #pagemv {
  background-image:url(./images/pagemv_news.jpg);
}


/* ==============================================
 新着情報　一覧
=============================================== */



#archive_news .board {
  background: #fff;
  -moz-box-shadow: 0px 0px 6px 6px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 6px 6px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 0px 6px 6px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 6px 6px rgba(0, 0, 0, 0.1);
  padding: 80px 60px;
  position: relative;
}

#archive_news .board::before {
  content: "";
  width: 160px;
  height: 73px;
  background-image:url(./images/news_clip.png);
  aspect-ratio: 160 / 73;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#archive_news .board .news_list {
  width: 960px;
  margin: 0 auto;
}

#archive_news .board .news_list li {
  border-bottom: 2px solid #30a437;
}

#archive_news .board .news_list li a {
  padding: 10px;
}

#archive_news .board .news_list li a .date {
  width: 20%;
  padding: 10px;
  border-right: 2px solid #30a437;
  font-size: 18px;
}

#archive_news .board .news_list li a .title {
  width: 78%;
  padding: 10px 60px 10px 20px;
  position: relative;
  font-size: 18px;
}

#archive_news .board .news_list li a .title::after {
  content: "";
  width: 24px;
  height: 19px;
  background-image:url(./images/news_arrow.png);
  aspect-ratio: 24 / 19;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media only screen and (max-width: 768px){


  #archive_news .board {
    padding: 30px 20px;
  }
  
  #archive_news .board::before {
    content: "";
    width: 90px;
    height: 41px;
    top: -30px;
  }  

  #archive_news .board .news_list {
    width: auto;
  }
  
  #archive_news .board .news_list li a .date {
    font-size: 16px;
  }
  
  #archive_news .board .news_list li a .title {
    padding: 10px 40px 10px 20px;
    font-size: 16px;
  }
  
  #archive_news .board .news_list li a .title::after {
    right: 0;
  }

}

@media only screen and (max-width: 600px){

  #archive_news .board .news_list li a .date {
    width: 100%;
    font-size: 14px;
    border-right: none;
    padding: 0 10px;
  }
  
  #archive_news .board .news_list li a .title {
    width: 100%;
    padding: 10px 40px 10px 20px;
    font-size: 14px;
  }

}

@media only screen and (max-width: 414px){

  #archive_news .board {
    padding: 30px 10px;
  }

  #archive_news .board .news_list li a .date{
    padding: 0;
  }

  #archive_news .board .news_list li a .title {
    padding: 10px 30px 10px 0;
  }

  #archive_news .board .news_list li a .title::after {
    width: 20px;
    height: 16px;
  }
}

/* ==============================================
 お問い合わせ
=============================================== */

#contact.page #sec01 h3 {
  text-align: center;
  font-size: 24px;
  margin-bottom: 60px;
}

#contact.page #sec01 .flex01 {
  align-items: center;
  margin-bottom: 80px;
}

#contact.page #sec01 .flex01 .left {
  width: 54%;
}

#contact.page #sec01 .flex01 .right {
  width: 45%;
}

#contact.page #sec01 .flex01 .left .txt01 {
  line-height: 2;
  letter-spacing: 2px;
}

#contact.page #sec01 .flex01 .left .txt01 span {
  color: #ff0000;
}

#contact.page #sec01 .flex01 .right .tel_block {
  border: 2px solid #005100;
  background: #9abf14;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  -moz-box-shadow: 0px 8px 0px 0px rgba(235, 235, 235, 1);
  -webkit-box-shadow: 0px 8px 0px 0px rgba(235, 235, 235, 1);
  -ms-box-shadow: 0px 8px 0px 0px rgba(235, 235, 235, 1);
  box-shadow: 0px 8px 0px 0px rgba(235, 235, 235, 1);
  padding: 15px;
  text-align: center;
}

#contact.page #sec01 .flex01 .right .tel_block a,
#contact.page #sec01 .flex01 .right .tel_block a:hover {
  color: #fff;
}

#contact.page #sec01 .flex01 .right .tel_block p {
  line-height: 1;
}

#contact.page #sec01 .flex01 .right .tel_block .txt02 {
  font-weight: bold;
  letter-spacing: 2px;
  color: #fff;
}

#contact.page #sec01 .flex01 .right .tel_block .tel {
  margin: 10px 0 5px;
}

#contact.page #sec01 .flex01 .right .tel_block .tel span {
  font-size: 48px;
  font-weight: bold;
  -moz-text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
  -webkit-text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
  -ms-text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
  position: relative;
  padding-left: 50px;
}

#contact.page #sec01 .flex01 .right .tel_block .tel span::before {
  content: "";
  width: 37px;
  height: 40px;
  background-image:url(./images/contact_tel_icon.png);
  aspect-ratio: 37 / 40;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  position: absolute;
  top: 60%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#contact.page #sec01 .flex01 .right .time {
  font-size: 14px;
  color: #fff;
}

@media only screen and (max-width: 768px){

  #contact.page #sec01 h3 {
    font-size: 3vw;
    margin-bottom: 30px;
  }

  #contact.page #sec01 .flex01 {
    margin-bottom: 60px;
  }

  #contact.page #sec01 .flex01 .item {
    width: 100%;
  }

  #contact.page #sec01 .flex01 .left {
    margin-bottom: 15px;
  }

}

@media only screen and (max-width: 540px){

  #contact.page #sec01 .flex01 .right .tel_block .txt02 {
    letter-spacing: 0;
    font-size: 3vw;
  }

  #contact.page #sec01 .flex01 .right .tel_block .tel span {
    font-size: 8vw;
    padding-left: 10%;
  }

  #contact.page #sec01 .flex01 .right .time {
    font-size: 3vw;
  }

}

@media only screen and (max-width: 414px){

  #contact.page #sec01 .flex01 {
    margin-bottom: 40px;
  }

  #contact.page #sec01 .flex01 .right .tel_block .tel span {
    font-size: 10vw;
    padding-left: 12%;
  }

}

#contact.page #sec01 .green {
  border: 5px solid #9abf14;
  background: #f0f6dc;
  padding: 60px;
  margin-bottom: 60px;
}

#contact.page #sec01 .green h3 {
  font-size: 36px;
  font-weight: bold;
  color: #005100;
  letter-spacing: 2px;;
}

@media only screen and (max-width: 768px){

  #contact.page #sec01 .green {
    padding: 30px 20px;
    margin-bottom: 40px;
  }

  #contact.page #sec01 .green h3 {
    font-size: 4vw;
  }
}

@media only screen and (max-width: 480px){

  #contact.page #sec01 .green {
    padding: 30px 10px;
  }

  #contact.page #sec01 .green h3 {
    font-size: 5vw;
  }
}

/* MW WP Form
=============================================== */

table.inquiry_table,
.inquiry_complete {
  width: 100%;
  margin: 0 auto;
}

.inquiry_table th,
.inquiry_table td {
	vertical-align: top;
	padding: 25px 20px 15px;
	border-top: 2px solid #b6cec1;
}

.inquiry_table th{
  width: 25%;
  text-align: left;
  color: #005100;
  font-weight: bold;
  position: relative
}

.inquiry_table th .required {
  color: #ff0000;
  font-size: 90%;
}

.inquiry_table td{
	width:80%;
}

.inquiry_table input[type="checkbox"] {
    margin-right: 5px;
}

.inquiry_table textarea,
.inquiry_table select,
.inquiry_table input[type="text"] {
	font-size: 18px;
	width:100%;
	border: none;
	padding: 10px;
	color: #413226;
	background: #fff;
}

.inquiry_table select {
  width: 40%;
  display: inline-block;
  margin-bottom:10px;
}

.inquiry_table input.zip,
.inquiry_table .mwform-tel-field input[type="text"]   {
	width: 23%;
}

.inquiry_table textarea {
	width:100%;
}

.inquiry_table .file p {
  margin-bottom: 10px;
}

.mw_wp_form .error {
    margin-top: 7px;
	font-weight:bold;
	color:#ee4958;
}

.policy_block {
  width: 90%;
  margin: 0 auto 40px;
  text-align: center;
  padding-bottom: 40px;
  border-bottom: 2px solid #b6cec1;
}

.policycheck_note {
  margin-bottom: 10px;
}

.policycheck_note a {
  text-decoration: underline;
}

.policycheck_note a:hover {
  text-decoration: none;
    opacity: 1;
}

.btn_form {
	text-align: center;
}

.btn_form input {
  display: inline-block;
  width: 319px;
  height: 83px;
  background-image:url(./images/contact_submitback.png);
  aspect-ratio: 319 / 83;
  background-position:center;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
  border: none;
  color: transparent;
  background-color: transparent;
}

.mw_wp_form_confirm .btn_form input {
  background-image:url(./images/contact_submitback02.png);
}

#submitback {
	margin-right: 10px;
}

.btn_form #submitback input {
  background-color: #888;
  background-image: none;
  color: #fff;
  font-size: 20px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  height: 60px;
  width: 280px;
}

.btn_form input:hover{
  text-decoration: none;
  opacity:0.75;
}

.inquiry_complete {
  text-align : center;
}

.inquiry_complete h4 {
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 40px;
}

.inquiry_complete p {
	line-height: 2;
  display: inline-block;
  text-align: left;
  margin-bottom: 40px;
}

.inquiry_complete .backbtn {
  display: block;
  text-align: center;
}

.inquiry_complete .backbtn a {
  display: inline-block;
  padding: 13px 80px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background: #30a437;
  box-shadow: 4px 4px 4px -2px #dadada;
  font-size: 18px;
  font-weight:bold;
  border: none;
  color: #fff;
}

.mw_wp_form_confirm .policy_block,
.mw_wp_form_preview .policy_block {
  display: none;
}

.inquiry_table .mw-wp-form_image img {
  width: 100%;
  max-width: 400px;
  height: auto;
}

@media only screen and (max-width: 768px){

  table.inquiry_table th,
  table.inquiry_table td {
    display: block;
    width: 100%;
  }

  .inquiry_table th {
  	padding: 15px 15px 10px;
  }

  .inquiry_table td {
  	padding: 20px 15px;
  }


  .inquiry_table textarea,
  .inquiry_table input[type="text"] {
  	width:100%;
    font-size: 16px;
  }

  .inquiry_table input.zip,
  .mwform-tel-field input[type="text"] {
    width: 28%;
  }

  .policycheck {
  	margin-bottom: 10px;
  }

  #submitback {
  	display: block;
  	margin-right: 0px;
  	margin-bottom: 10px;
  }

}

@media only screen and (max-width: 480px){

}


/* ==============================================
 wp-pagenavi
=============================================== */

.wp-pagenavi_block .wp-pagenavi {
	text-align: center;
  padding: 50px 0;
  position: relative;
}

.wp-pagenavi_block .wp-pagenavi span,
.wp-pagenavi_block .wp-pagenavi a {
  padding: 10px 15px 12px;
  margin-left: 10px;
  border: 2px #005100 solid;
  background: #fff;
  color: #005100;
  font-size: 18px;
  line-height: 1;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  display: inline-block;
}

.wp-pagenavi_block .wp-pagenavi span.current {
    background: #9abf14;
}

@media only screen and (max-width: 768px){

  .wp-pagenavi_block .wp-pagenavi span,
  .wp-pagenavi_block .wp-pagenavi a {
    padding: 5px 10px 7px;
    margin-left: 5px;
  }

}

@media only screen and (max-width: 768px){

  .wp-pagenavi_block .wp-pagenavi span,
  .wp-pagenavi_block .wp-pagenavi a {
    font-size: 13px;
  }

}

/* ==============================================
 single pagenavi
=============================================== */

.pagenavi {
  text-align: center;
}

.pagenavi span {
  display: inline-block;
  line-height: 1;
  vertical-align: middle; 
}

.pagenavi .gotolist {
  margin: 0 30px;
}

@media only screen and (max-width: 768px){

  .pagenavi span {
    display: block;
    margin: 0 0 20px;
  }

  .pagenavi .gotolist {
    margin: 0 0 20px;
  }

}

@media only screen and (max-width: 500px){


  .pagenavi span img {
    width: 35%;
  }

  .pagenavi .gotolist img {
    width: 60%;
  }

}

/* ==============================================
  privacypolicy
=============================================== */

#privacy-policy #sec01 .inner {
  padding: 0 10px;
}

#privacy-policy #sec01 h2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 60px;
}

#privacy-policy #sec01 h3 {
  font-size: 20px;
  font-weight:bold;
  margin: 30px 0;
}

#privacy-policy #sec01 p {
  line-height: 2;
}

#privacy-policy #sec01 ul {
  margin: 20px 0 0 20px;
}

#privacy-policy #sec01 ul li {
  list-style-type: disc;
  list-style-position: outside;
}

@media only screen and (max-width: 768px){

  #privacy-policy #sec01 h2 {
    font-size: 24px;
    margin-bottom: 40px;
  }

  #privacy-policy #sec01 h3 {
    font-size: 18px;
    margin: 20px 0;
  }

  #privacy-policy #sec01 p {
    line-height: 1.6;
  }

}




/* ==============================================
 title
=============================================== */

/* #top_message
=============================================== */

/* title
----------------------------------------------- */


.spbr{
  display: none;
}

@media only screen and (max-width: 768px){

.spbr{
  display: inline;
}

}

@media only screen and (max-width: 414px){



}
