@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) {}









/* =============================================================
【MV画像変更】
=============================================================== */

.fix_sp_mv_bg {
  display: none;
}

@media screen and (max-width:768px) {
  .fix_mv.img {
    position: relative;
  }

  .fix_sp_mv_bg {
    display: block;
    position: absolute;
    top: 0;
  }
}