@charset "UTF-8";
/*
Theme Name: instrument-cms
Description: instrument-cms のテーマ
Version: 1.0
Author:	Rockstream
License: GPL
License URI: https://www.gnu.org/copyleft/gpl.html
*/

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&family=Noto+Serif+JP:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=PT+Sans+Narrow:wght@700&display=swap");

/*scss*/
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;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

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;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/* Reset+ */
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 */
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: 18px;
  line-height: 1.8;
  color: #000;
  background: #fff;
  position: relative;
}

@media only screen and (max-width: 760px) {
  body {
    font-size: 15px;
  }
}

@media only screen and (max-width: 414px) {
  body {
    font-size: 13px;
  }
}

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

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

a:hover {
  color: #000;
}

a:hover img {
  opacity: 1 !important;
}

.opensans,
.en {
  font-family: "Open Sans", sans-serif;
}

/*クリアフィックス*/
.cf:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.common-wrapper {
  max-width: 1200px;
  width: 96%;
  margin: 0 auto;
  position: relative;
}

.inner {
  margin: 0 auto;
  position: relative;
}

iframe {
  width: 100%;
}

.dispnone {
  display: none;
}

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

.lh2 {
  line-height: 2;
}

.lh12 {
  line-height: 1.2;
}

.lh13 {
  line-height: 1.3;
}

.lh14 {
  line-height: 1.4;
}

.lh15 {
  line-height: 1.5;
}

#loading {
  width: 100%;
  height: 100%;
  margin: 0;
  background: #fff;
  opacity: 1;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

#loading img {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin-top: -80px;
  margin-left: -80px;
  width: 80px;
  margin: auto;
}

/*---------------------
header
---------------------*/
#header {
  position: relative;
  width: 100%;
  height: auto;
}

#header .hd-top {
  position: relative;
  padding: 3px 0;
  text-align: center;
  color: #fff;
  background-color: #000;
}

#header .hd-top #h1 {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  font-size: min(18px, 1.8vw);
}

#header .hd-main {
  position: relative;
}

#header .hd-main .common-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 98%;
  padding: 10px 0;
}

#header .logo {
  width: 23%;
  max-width: 255px;
}

#header .txt01 {
  max-width: 151px;
  width: 13%;
  margin: 0 2%;
}

#header .txt01 img {
  display: block;
  margin-bottom: 5px;
}

#header .txt01 span {
  display: block;
  padding: 2px 5px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  background-color: #838101;
}

#header .telarea {
  width: 257px;
}

#header .telarea.a8 {
  position: relative;
  width: 360px;
}

#header .telarea.a8 a {
  position: relative;
  display: block;
  width: 100%;
}

#header .telarea.a8 a img {
  width: 100%;
  max-width: 478px;
}

#header .telarea.a8 a span.opentime {
  position: absolute;
  bottom: 12%;
  left: 0;
  right: 0;
  width: 90%;
  margin: auto;
  text-align: center;
  color: #fff;
}

#header .telarea img {
  display: block;
  width: 96%;
  max-width: 257px;
  margin: auto;
}

#header .telarea span {
  display: block;
  line-height: 1.1;
}

#header .telarea span.num {
  padding-top: 1px;
  padding-bottom: 2px;
  font-size: min(34px, 3.6vw);
  font-weight: bold;
}

#header .telarea span.opentime {
  font-size: min(13px, 1.9vw);
}

#header .telarea span.opentime span {
  display: inline-block;
}

#header .line {
  max-width: 214px;
  width: 18%;
}

#header .mail {
  max-width: 214px;
  width: 18%;
}

@media only screen and (max-width: 1200px) {
  #header .txt01 {
    margin: 0 1%;
  }

  #header .txt01 span {
    padding: 2px;
    font-size: 1.5vw;
  }

  #header .telarea span.num {
    font-size: min(34px, 3.8vw);
  }

  #header .line {
    margin: 0 0.5%;
  }

  #header .mail {
    margin: 0 0.5%;
  }

  #header .telarea.a8 {
    width: 32%;
  }

  #header .telarea.a8 a span.opentime {
    font-size: min(13px, 1.3vw);
  }
}

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

  _::-webkit-full-page-media,
  _:future,
  :root #header .telmail .tel .num {
    font-size: min(26px, 2.6vw);
  }
}

@media only screen and (max-width: 760px) {
  #header .hd-top {
    position: relative;
    padding: 3px 0;
    text-align: center;
    color: #fff;
    background-color: #000;
  }

  #header .hd-top #h1 .h1 {
    width: 105vw;
    height: 1.25rem;
    line-height: 1.25rem;
    text-align: left;
  }

  #header .hd-top .marquee h1 {
    margin: 0;
    padding-left: 33em;
    display: inline-block;
    white-space: nowrap;
    animation: marquee 15s linear infinite;
    transform: translateX(0%);
    font-size: 0.5rem;
  }

  @keyframes marquee {
    0% {
      transform: translateX(0%);
    }

    100% {
      transform: translateX(-100%);
    }
  }

  #header .left {
    max-width: 340px;
    width: calc(340 / 900 * 100%);
  }

  #header .logo {
    width: calc(272 / 330 * 100%);
    max-width: 136px;
    margin-bottom: 5px;
  }

  #header .txt01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    width: 100%;
    max-width: 473px;
  }

  #header .txt01 img {
    max-width: 240px;
    width: 51%;
    margin: auto 2% auto auto;
  }

  #header .txt01 span {
    display: block;
    width: 47%;
    padding: 2px 5px;
    text-align: center;
    font-size: min(20px, 2vw);
    font-weight: bold;
    color: #fff;
    background-color: #838101;
  }

  #header .telarea {
    position: relative;
    max-width: 424px;
    width: 39%;
  }

  #header .telarea .opentime {
    position: absolute;
    bottom: 10%;
    left: 0;
    right: 0;
    width: 90%;
    margin: auto;
    text-align: center;
    color: #fff;
    font-size: min(14px, 1.4vw);
  }

  #header .mail {
    max-width: 211px;
    width: 18%;
    margin: 0;
  }
}

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

/* メインビジュアル */
#mv {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  z-index: 1;
}

#mv h2 {
  padding: 10px 0;
  background-color: #1a0d00;
}

#mv h2 img {
  display: block;
  max-width: 1021px;
  width: 96%;
  margin: auto;
}

#mv .mv_wrap {
  position: relative;
  padding: 25px 0;
  background: url(../images/mv-bg.jpg) no-repeat center;
  background-size: cover;
}

#mv .mv_wrap .common-wrapper {
  max-width: 1210px;
}

#mv .mv_wrap .mv_main {
  position: relative;
  width: 100%;
  margin: auto;
  z-index: 3;
}

#mv .mv_wrap .mv_main .mv_area {
  position: relative;
  left: 3.5%;
  max-width: 540px;
  width: 45%;
  margin-bottom: 1%;
  line-height: 1.5;
}

#mv .mv_wrap .mv_main p:nth-of-type(1) {
  margin-top: 5px;
  padding: 5px 10px;
  text-align: center;
  font-size: min(23px, 1.8vw);
  font-weight: bold;
  background-color: #fff;
  line-height: 1;
}

@media only screen and (max-width: 1200px) {
  #mv .mv_wrap .mv_main p:nth-of-type(1) {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 760px) {
  #mv .mv_wrap {
    position: relative;
    padding: 0;
    background: none;
  }

  #mv .mv_wrap p.state1 {
    display: none;
  }

  #mv .mv_wrap .state2 {
    position: absolute;
    top: 8%;
    left: 0%;
    right: 0%;
    width: 70%;
    margin: auto;
    text-align: center;
  }

  #mv .mv_wrap .state2 p {
    position: relative;
    text-align: center;
    font-size: 5vw;
    font-weight: bold;
    color: #f51600;
    -webkit-text-stroke: 6px #fff;
  }

  #mv .mv_wrap .state2 p:before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    text-align: center;
    color: #f51600;
    -webkit-text-stroke: 1px #f51600;
  }

  _::-webkit-full-page-media,
  _:future,
  :root #mv .mv_wrap .state2 p:before {
    left: inherit;
  }

  #mv .mv_wrap p.pref {
    position: absolute;
    top: 11%;
    left: 0;
    right: 0;
    width: 80%;
    margin: auto;
    padding: 5px;
    text-align: center;
    font-size: 3vw;
    font-weight: bold;
    background-color: #fff;
    line-height: 1.2;
    z-index: 1;
    word-break: normal;
  }
}

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

  _::-webkit-full-page-media,
  _:future,
  :root #mv .mv_wrap p.state1 span:nth-of-type(2) {
    font-size: min(12px, 2vw);
  }
}

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

/*---------------------
共通contact
---------------------*/
.bg_cta {
  background: url(../images/contact-bg_cta.jpg) no-repeat center bottom;
  background-size: cover;
}

.area {
  position: relative;
  margin-bottom: 10px;
  padding-top: 40px;
}

.area .main_bnr {
  position: relative;
  max-width: 1196px;
  width: 98%;
  margin: auto;
}

.area p {
  position: absolute;
}

.area p:nth-of-type(1) {
  top: 55%;
  left: 0;
  right: 0;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: end;
  -moz-align-items: end;
  -ms-align-items: end;
  align-items: end;
  font-size: min(34px, 2.8vw);
  font-weight: bold;
  color: #ffea00;
  text-shadow: 5px 5px 3px #000, -5px 5px 3px #000, 5px -5px 3px #000, -5px -5px 3px #000, 5px 0px 3px #000,
    0px 5px 3px #000, -5px 0px 3px #000, 0px -5px 3px #000;
  line-height: 1;
  letter-spacing: 0.01em;
}

.area p:nth-of-type(1) span::first-letter {
  font-size: min(55px, 4.4vw);
  font-weight: bold;
}

.area p:nth-of-type(2) {
  top: 81%;
  left: 0;
  right: 0;
  width: 98%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  font-size: min(30px, 2.6vw);
  color: #fff;
  line-height: 1.4;
}

.area p:nth-of-type(2) span {
  display: block;
}

.area p:nth-of-type(2) span:nth-of-type(1) {
  margin-right: 10px;
  padding-right: 10px;
  font-size: min(34px, 2.8vw);
  font-weight: bold;
  border-right: 10px solid #fff;
}

.contact {
  position: relative;
  max-width: 1198px;
  width: 98%;
  margin: auto;
  padding-bottom: 100px;
}

.contact .main_bnr {
  position: relative;
}

.contact .telarea {
  position: absolute;
  top: 46%;
  left: 24%;
  width: 31%;
  text-align: center;
  color: #fff;
}

.contact .telarea .txt01 {
  display: block;
  max-width: 324px;
  width: 100%;
  margin: 0 auto 10px;
}

.contact .telarea .txt02 {
  display: block;
  max-width: 322px;
  width: 100%;
  margin: 5px auto 15px;
}

.contact .telarea .tel {
  position: relative;
  font-size: min(50px, 4.2vw);
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif;
  color: #ffea00;
  line-height: 1;
}

.contact .telarea .tel a {
  color: #ffea00;
}

.contact .telarea .time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  line-height: 1;
}

.contact .telarea .time span {
  display: block;
  line-height: 1;
}

.contact .telarea .time span:nth-of-type(1) {
  max-width: 104px;
  width: 27%;
  margin-right: 5px;
}

.contact .telarea .time span:nth-of-type(2) {
  font-size: min(22px, 1.8vw);
  font-weight: bold;
  color: #fff;
}

.contact .telarea.a8 {
  top: 51%;
  left: 22%;
  width: 43%;
}

.contact .telarea.a8 span {
  position: absolute;
  bottom: 12%;
  left: 0;
  right: 0;
  width: 90%;
  margin: auto;
  text-align: center;
  color: #fff;
  font-size: min(18px, 1.8vw);
  font-weight: bold;
}

.contact .btn {
  position: absolute;
  top: 46%;
  left: 65%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  max-width: 420px;
  width: 37%;
}

.contact .btn span {
  display: block;
  margin: 0 1%;
}

@media only screen and (max-width: 1200px) {
  .contact .btn {
    left: 65%;
  }

  .contact .btn span {
    width: 46%;
  }
}

@media only screen and (max-width: 760px) {
  .area {
    padding-top: 10px;
  }

  .area p:nth-of-type(1) {
    font-size: min(34px, 2.6vw);
    text-shadow: 2px 2px 1px #000, -2px 2px 1px #000, 2px -2px 1px #000, -2px -2px 1px #000, 2px 0px 1px #000,
      0px 2px 1px #000, -2px 0px 1px #000, 0px -2px 1px #000;
  }

  .area p:nth-of-type(1) span::first-letter {
    font-size: min(55px, 3.4vw);
    font-weight: bold;
  }

  .area p:nth-of-type(2) {
    font-size: min(30px, 2.4vw);
  }

  .area p:nth-of-type(2) span:nth-of-type(1) {
    margin-right: 8px;
    padding-right: 8px;
    font-size: 3vw;
    border-right: 5px solid #fff;
  }

  .contact {
    padding-bottom: 10px;
  }

  .contact .telarea,
  .contact .telarea.a8 {
    top: 48%;
    left: 23%;
    width: 45%;
  }

  .contact .telarea .tel span,
  .contact .telarea.a8 span {
    position: absolute;
    bottom: 8%;
    left: 0;
    right: 0;
    width: 90%;
    margin: auto;
    text-align: center;
    font-size: 1.8vw;
    color: #fff;
  }

  .contact .btn {
    left: 69%;
    width: 30%;
    margin-right: 1%;
  }
}

@media only screen and (max-width: 414px) {
  .area p:nth-of-type(2) {
    top: 80%;
    font-size: 2.4vw;
  }

  .contact .btn {
    left: 70%;
  }
}

@media only screen and (max-width: 360px) {
  .area p:nth-of-type(2) {
    font-size: 1.6vw;
  }

  .area p:nth-of-type(2) span:nth-of-type(1) {
    margin-right: 5px;
    padding-right: 5px;
    font-size: 2.2vw;
    border-right: 3px solid #fff;
  }

  _::-webkit-full-page-media,
  _:future,
  :root .area p:nth-of-type(2) {
    font-size: 2.4vw;
  }

  .contact .telarea {
    left: 21%;
    width: 47%;
  }

  .contact .telarea .txt02 {
    margin: 2px auto 0;
  }

  .contact .telarea .time span:nth-of-type(2) {
    font-size: min(10px, 1vw);
  }

  _::-webkit-full-page-media,
  _:future,
  :root .contact .telarea .time span:nth-of-type(2) {
    font-size: min(10px, 2vw);
  }
}

@media only screen and (max-width: 330px) {
  .area p:nth-of-type(2) {
    font-size: 1.4vw;
  }

  .area p:nth-of-type(2) span:nth-of-type(1) {
    font-size: 2vw;
  }

  _::-webkit-full-page-media,
  _:future,
  :root .area p:nth-of-type(2) {
    font-size: 2.2vw;
  }

  _::-webkit-full-page-media,
  _:future,
  :root .area p:nth-of-type(2) span:nth-of-type(1) {
    font-size: 2.4vw;
  }
}

/*************************** 
セクション共通
**************************/
section {
  position: relative;
}

h2,
h3,
h2 span,
h3 span,
h4 {
  font-weight: bold;
}

/*************************** 
top-cta
**************************/
.top-cta {
  padding: 10px 0 0;
  background-color: #d83b3b;
}

.top-cta .common-wrapper {
  max-width: 1160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

.top-cta .common-wrapper .left {
  max-width: 307px;
  width: 26.5%;
}

.top-cta .common-wrapper .right {
  width: 73.4%;
}

.top-cta .common-wrapper .right h2 {
  max-width: 814px;
  width: 100%;
  margin-bottom: 5px;
}

.top-cta .common-wrapper .right .lower {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

.top-cta .common-wrapper .right .lower .txt {
  max-width: 180px;
  width: 22%;
  margin-top: -1%;
}

.top-cta .common-wrapper .right .lower .tel {
  position: relative;
  max-width: 478px;
  width: 57%;
}

.top-cta .common-wrapper .right .lower .tel span {
  position: absolute;
  display: block;
}

.top-cta .common-wrapper .right .lower .tel span.num {
  top: 23%;
  left: 0;
  right: 0;
  width: 94%;
  margin: auto;
  text-align: center;
  font-size: min(55px, 4vw);
  font-family: Arial, sans-serif;
  color: #fff;
  -webkit-text-stroke: 6px #31b80d;
  line-height: 1;
  letter-spacing: 0.02em;
}

.top-cta .common-wrapper .right .lower .tel span.num::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: auto;
  text-align: center;
  color: #fff;
  -webkit-text-stroke: 1px #fff;
}

.top-cta .common-wrapper .right .lower .tel span.opentime {
  bottom: 27%;
  left: 0;
  right: 0;
  width: 90%;
  margin: auto;
  text-align: center;
  font-size: min(16px, 1.4vw);
  color: #fff;
  line-height: 1;
}

.top-cta .common-wrapper .right .lower .mail {
  max-width: 162px;
  width: 20%;
}

@media only screen and (max-width: 760px) {
  .top-cta .common-wrapper {
    display: block;
  }

  .top-cta .common-wrapper .left {
    display: none;
  }

  .top-cta .common-wrapper .right {
    max-width: 750px;
    width: 100%;
    margin: auto;
  }

  .top-cta .common-wrapper .right .lower .tel span.opentime {
    bottom: 26.5%;
    font-size: min(20px, 2vw);
  }
}

/*************************** 
トップページ
**************************/
#top-bnr {
  padding: 40px 0 30px;
  background: url(../images/top-bnr-bg.jpg) no-repeat center;
  background-size: cover;
}

#top-bnr h2 {
  max-width: 837px;
  width: 96%;
  margin: 0 auto 25px;
}

#top-bnr h3 {
  max-width: 757px;
  width: 96%;
  margin: 0 auto 30px;
}

#top-bnr h4 {
  max-width: 796px;
  width: 96%;
  margin: 0 auto 20px;
}

#top-bnr ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 860px;
  margin: 0 auto;
}

#top-bnr ul li {
  max-width: 392px;
  width: calc(50% - 15px);
  margin-bottom: 30px;
}

@media only screen and (max-width: 760px) {
  #top-bnr {
    padding: 15px 0 30px;
    background: url(../images/top-bnr-bg_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #top-bnr h2 {
    max-width: 478px;
    width: 65%;
    margin: 0 0 25px;
  }

  #top-bnr h3 {
    max-width: 757px;
    width: 96%;
    margin: 0 auto 30px;
  }

  #top-bnr h4 {
    max-width: 796px;
    width: 96%;
    margin: 0 auto 20px;
  }

  #top-bnr ul {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  #top-bnr ul li {
    width: 49%;
    margin: 0 0.5% 20px;
  }
}

@media only screen and (max-width: 414px) {
  #top-bnr {
    padding: 15px 0 20px;
  }
}

#result {
  padding: 50px 0;
  background: url(../images/result-bg.jpg) no-repeat center;
  background-size: cover;
}

#result h2 {
  max-width: 737px;
  width: 80%;
  margin: 0 auto 50px;
}

.slider2 .slick-slide {
  margin: 0 0.1%;
}

.slider2 .slick-prev {
  left: -5%;
}

.slider2 .slick-next {
  right: -2%;
}

.slider2 .slick-prev,
.slider2 .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 40%;
  display: block;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 10;
}

.slider2 .slick-prev:before {
  content: "◀";
}

.slider2 .slick-next:before {
  content: "▶";
}

.slider2 .slick-prev:before,
.slider2 .slick-next:before {
  font-family: "slick";
  font-size: 60px;
  line-height: 1;
  opacity: 0.75;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (max-width: 1300px) {
  .slider2 .slick-prev {
    left: -2%;
  }

  .slider2 .slick-next {
    right: -2%;
  }
}

@media only screen and (max-width: 760px) {
  #result {
    padding: 40px 0;
    background: url(../images/result-bg_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #result h2 {
    margin: 0 auto 30px;
  }

  .slider2 {
    width: 90%;
    margin: auto;
  }

  .slider2 .slick-prev,
  .slider2 .slick-next {
    display: none;
  }

  .slider2 .slick-prev:before,
  .slider2 .slick-next:before {
    font-size: 0;
  }
}

@media only screen and (max-width: 414px) {
  #result {
    padding: 30px 0;
  }

  .slider2 {
    width: 100%;
    margin: auto;
  }
}

#worries {
  padding: 80px 0 160px;
  background: url(../images/worries-bg.jpg) no-repeat center;
  background-size: cover;
}

#worries h2 {
  max-width: 1093px;
  width: 96%;
  margin: 0 auto 80px;
}

#worries .common-wrapper {
  width: 100%;
}

#worries .block:nth-of-type(1) {
  width: 96%;
  margin: auto;
  margin-bottom: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

#worries .block:nth-of-type(1) ul {
  max-width: 640px;
  padding-left: 5%;
}

#worries .block:nth-of-type(1) ul li {
  margin-bottom: 10px;
  font-size: 26px;
}

#worries .block:nth-of-type(1) .img {
  max-width: 450px;
}

#worries .block:nth-of-type(2) {
  padding: 50px 2%;
  text-align: center;
  background-color: #fff;
  border: 1px solid #838101;
}

#worries .block:nth-of-type(2) h3 {
  margin-bottom: 50px;
  font-size: min(42px, 4.2vw);
  color: #838101;
  line-height: 1.3;
}

#worries .block:nth-of-type(2) h3 br:nth-of-type(2) {
  display: none;
}

#worries .block:nth-of-type(2) p {
  font-size: 22px;
}

@media only screen and (max-width: 1200px) {
  #worries .block:nth-of-type(1) ul {
    width: 55%;
    padding-left: 0;
  }

  #worries .block:nth-of-type(1) ul li {
    font-size: min(26px, 2.4vw);
  }

  #worries .block:nth-of-type(1) .img {
    width: 43%;
  }

  #worries .block:nth-of-type(2) {
    border-left: 0;
    border-right: 0;
  }
}

@media only screen and (max-width: 760px) {
  #worries {
    padding: 60px 0 100px;
  }

  #worries h2 {
    max-width: 735px;
    width: 90%;
    margin-bottom: 60px;
  }

  #worries .block:nth-of-type(1) {
    margin-bottom: 60px;
  }

  #worries .block:nth-of-type(1) ul {
    width: 96%;
    margin: auto;
  }

  #worries .block:nth-of-type(1) ul li {
    font-size: min(26px, 3vw);
  }

  #worries .block:nth-of-type(1) .img {
    display: none;
  }

  #worries .block:nth-of-type(2) {
    padding: 30px 2%;
  }

  #worries .block:nth-of-type(2) h3 {
    margin-bottom: 30px;
    font-size: min(42px, 5vw);
  }

  #worries .block:nth-of-type(2) h3 br:nth-of-type(2) {
    display: block;
  }

  #worries .block:nth-of-type(2) p {
    font-size: 18px;
  }
}

@media only screen and (max-width: 414px) {
  #worries {
    padding: 40px 0 60px;
  }

  #worries h2 {
    margin-bottom: 30px;
  }

  #worries .block:nth-of-type(1) {
    margin-bottom: 30px;
  }

  #worries .block:nth-of-type(2) h3 {
    margin-bottom: 20px;
  }

  #worries .block:nth-of-type(2) p {
    font-size: 14px;
  }
}

#reason .tit {
  position: relative;
  padding: 80px 0 60px;
  text-align: center;
  background: url(../images/reason-bg_tit.jpg) no-repeat center;
  background-size: cover;
}

#reason .tit h2 {
  max-width: 1154px;
  width: 94%;
  margin: 0 auto 40px;
}

#reason .tit p {
  font-size: min(26px, 2.4vw);
  color: #fff;
}

#reason .tit p br {
  display: none;
}

#reason .bg {
  padding: 50px 0 70px;
  background: url(../images/reason-bg.jpg) no-repeat center;
  background-size: cover;
}

#reason .block {
  position: relative;
  max-width: 1164px;
  width: 100%;
  margin: 0 auto 20px;
  padding: 25px;
  background-color: #fff;
  border: 4px solid #838101;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: start;
  -moz-align-items: start;
  -ms-align-items: start;
  align-items: start;
}

#reason .block .left {
  max-width: 710px;
  width: 63%;
}

#reason .block .left h3 {
  position: absolute;
  top: 30px;
  left: 0;
  max-width: 723px;
  width: 63%;
}

#reason .block .left .inner {
  padding-top: 110px;
}

#reason .block .left h4 {
  margin-bottom: 20px;
  font-size: min(26px, 2.4vw);
  color: #5f1b00;
  line-height: 1.4;
}

#reason .block .left h4 .none {
  display: none;
}

#reason .block .left p {
  font-size: min(20px, 2vw);
  line-height: 1.3;
}

#reason .block .left p .none,
#reason .block .left p .none2 {
  display: none;
}

#reason .block .left p span {
  display: block;
  font-size: 80%;
  line-height: 1.5;
}

#reason .block .right {
  max-width: 378px;
  width: 35%;
}

@media only screen and (max-width: 760px) {
  #reason .tit {
    padding: 60px 0 40px;
    background: url(../images/reason-bg_tit_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #reason .tit h2 {
    margin: 0 auto 30px;
  }

  #reason .tit p {
    font-size: 3.6vw;
  }

  #reason .tit p br {
    display: block;
  }

  #reason .bg {
    padding: 10px 0;
    background: url(../images/reason-bg_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #reason .block {
    width: 98%;
    margin-bottom: 10px;
    padding: 20px 2%;
  }

  #reason .common-wrapper {
    width: 100%;
  }

  #reason .block .left {
    width: 100%;
    text-align: center;
  }

  #reason .block .left .inner {
    padding-top: 0px;
  }

  #reason .block .left h3 {
    position: static;
    max-width: 700px;
    width: 96%;
    margin: 0 auto 20px;
  }

  #reason .block .left .img {
    display: none;
  }

  #reason .block .left h4 {
    font-size: min(22px, 4vw);
  }

  #reason .block .left p {
    font-size: 16px;
  }

  #reason .block .left p .none {
    display: block;
  }
}

@media only screen and (max-width: 414px) {
  #reason .tit {
    padding: 40px 0;
  }

  #reason .block .left h4 {
    margin-bottom: 10px;
  }

  #reason .block .left h4 .none {
    display: block;
  }

  #reason .block .left p {
    font-size: 13px;
  }

  #reason .block .left p .none2 {
    display: block;
  }
}

#campaign {
  padding: 60px 0 80px;
  background: url(../images/campaign-bg.jpg) no-repeat top;
  background-size: cover;
}

#campaign h2 {
  max-width: 1155px;
  width: 100%;
  margin: 0 auto 70px;
}

#campaign .common-wrapper {
  width: 98%;
}

#campaign .common-wrapper div {
  position: relative;
  max-width: 1196px;
  margin: auto;
  margin-bottom: 20px;
  z-index: 2;
}

@media only screen and (max-width: 760px) {
  #campaign {
    position: relative;
    padding: 40px 0 60px;
    background: #fff;
  }

  #campaign::after {
    content: "";
    position: absolute;
    top: 5%;
    left: 0;
    width: 100%;
    height: 630px;
    background: url(../images/campaign-bg_sp.jpg) no-repeat top;
    background-size: 100%;
    z-index: 1;
  }

  #campaign h2 {
    position: relative;
    margin: 0 auto 20px;
    z-index: 2;
  }
}

@media only screen and (max-width: 414px) {
  #campaign {
    padding: 20px 0;
  }

  #campaign h2 {
    margin: 0 auto 20px;
  }

  #campaign .common-wrapper div {
    margin-bottom: 10px;
  }
}

#consult {
  padding: 30px 0 50px;
  text-align: center;
  background: url(../images/consult-bg.jpg) no-repeat center;
  background-size: cover;
}

#consult .tit {
  width: 100%;
  margin-bottom: 45px;
  padding: 2px;
  background-color: #5f1b00;
  border: 2px solid #ffea00;
}

#consult .tit h2 {
  padding: 20px 2%;
  font-size: min(48px, 4.4vw);
  color: #ffea00;
  background-color: #5f1b00;
  border: 2px solid #ffea00;
  line-height: 1.3;
}

#consult h3 {
  max-width: 1116px;
  width: 96%;
  margin: 0 auto 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #fff;
}

#consult p {
  font-size: min(30px, 3vw);
  color: #fff;
}

#consult p br {
  display: none;
}

@media only screen and (max-width: 760px) {
  #consult {
    padding: 30px 0 50px;
    background: url(../images/consult-bg_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #consult p br {
    display: block;
  }
}

@media only screen and (max-width: 414px) {
  #consult {
    padding: 30px 0;
  }

  #consult .tit {
    margin-bottom: 20px;
  }

  #consult .tit h2 {
    padding: 15px 2%;
  }

  #consult .tit h2 {
    font-size: 3.8vw;
  }
}

.bg01 {
  position: relative;
}

.bg01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: url(../images/high-valuation-bg_01.png) no-repeat 0 0 / cover;
  z-index: 1;
}

.bg01::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 50%;
  background: url(../images/high-valuation-bg_02.png) no-repeat 0 0 / cover;
  z-index: 1;
}

.bg01 section {
  position: relative;
  z-index: 2;
}

#high-valuation {
  padding: 50px 0 70px;
  background: url(../images/high-valuation-bg.jpg) no-repeat;
  background-size: cover;
}

#high-valuation h2 {
  max-width: 1123px;
  width: 98%;
  margin: 0 auto 40px;
}

#high-valuation section:nth-of-type(1) h3 {
  max-width: 790px;
  width: 90%;
  margin: 0 auto 40px;
}

#high-valuation section:nth-of-type(1) .common-wrapper:nth-of-type(1) ul {
  max-width: 1090px;
  margin: 0 auto 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#high-valuation section:nth-of-type(1) .common-wrapper:nth-of-type(1) ul li {
  max-width: 347px;
  width: 32%;
  margin-bottom: 20px;
}

#high-valuation section:nth-of-type(1) .block dl {
  width: 100%;
  margin: 0 auto 10px;
}

#high-valuation section:nth-of-type(1) .block dt {
  position: relative;
  cursor: pointer;
  width: 100%;
  padding: 10px 1%;
  background-color: #838101;
}

#high-valuation section:nth-of-type(1) .block dt span {
  display: block;
  padding-left: 5px;
  font-size: min(30px, 5vw);
  font-weight: bold;
  color: #fff;
  border-left: 10px solid #fff;
  line-height: 1;
}

#high-valuation section:nth-of-type(1) .block dt.open_tit::after {
  content: "";
  position: absolute;
  top: 0%;
  right: 0%;
  width: 5%;
  height: 100%;
  background-image: url(../images/high-valuation-arrow01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

#high-valuation section:nth-of-type(1) .block dt.open_tit.is-active::after {
  content: "";
  position: absolute;
  top: 0%;
  right: 0%;
  width: 5%;
  height: 100%;
  background-image: url(../images/high-valuation-arrow02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

#high-valuation section:nth-of-type(1) .block dd {
  display: none;
  padding: 20px;
  background-color: #fff;
}

#high-valuation section:nth-of-type(1) .block dd ul li {
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}

#high-valuation section:nth-of-type(1) .block dd ul li span {
  font-size: min(26px, 4vw);
}

#high-valuation section:nth-of-type(2) {
  padding: 60px 0 100px;
}

#high-valuation section:nth-of-type(2) .h3_tit {
  position: relative;
  width: 100%;
  background-color: #5f1b00;
}

#high-valuation section:nth-of-type(2) .h3_tit::before,
#high-valuation section:nth-of-type(2) .h3_tit::after {
  content: "";
  position: absolute;
}

#high-valuation section:nth-of-type(2) .h3_tit::before {
  bottom: -20px;
  left: 0;
  width: 0;
  height: 0;
  border-top: 20px solid #333;
  border-left: 35px solid transparent;
}

#high-valuation section:nth-of-type(2) .h3_tit::after {
  right: 0;
  bottom: -20px;
  width: 0;
  height: 0;
  border-top: 20px solid #333;
  border-right: 35px solid transparent;
}

#high-valuation section:nth-of-type(2) .h3_tit h3 {
  padding: 40px 0;
}

#high-valuation section:nth-of-type(2) .h3_tit h3 span {
  display: block;
  margin: auto;
}

#high-valuation section:nth-of-type(2) .h3_tit h3 span:nth-of-type(1) {
  max-width: 601px;
  width: 60%;
  margin: 0 auto 20px;
}

#high-valuation section:nth-of-type(2) .h3_tit h3 span:nth-of-type(2) {
  max-width: 632px;
  width: 70%;
}

#high-valuation section:nth-of-type(2) .h3_tit .icon {
  position: absolute;
  top: 8%;
  max-width: 219px;
  width: 18%;
}

#high-valuation section:nth-of-type(2) .h3_tit .icon:nth-of-type(1) {
  left: 3%;
}

#high-valuation section:nth-of-type(2) .h3_tit .icon:nth-of-type(2) {
  right: 3%;
}

#high-valuation section:nth-of-type(2) .box {
  max-width: 1130px;
  margin: auto;
  padding: 60px 0 40px;
  background-color: #fff;
}

#high-valuation section:nth-of-type(2) .box .inner {
  max-width: 1056px;
  width: 96%;
  margin: auto;
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(1) {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(2) {
  display: none;
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(1) ul {
  width: calc(100% / 3);
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(1) ul li {
  font-size: 13px;
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(3) ul {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(3) ul li {
  width: 19%;
  max-width: 146px;
  margin: 0 0.5% 10px;
}

#high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(3) p.txt {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.3em;
}

#high-valuation section:nth-of-type(2) .box .inner .maker {
  max-width: 995px;
  width: 100%;
  margin: 0 auto 30px;
}

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

  #high-valuation section:nth-of-type(2) .h3_tit::before,
  #high-valuation section:nth-of-type(2) .h3_tit::after {
    content: none;
  }

  #high-valuation section:nth-of-type(2) .h3_tit .icon:nth-of-type(1) {
    left: 1%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit .icon:nth-of-type(2) {
    right: 1%;
  }
}

@media only screen and (max-width: 760px) {
  .bg01::before {
    content: none;
  }

  .bg01::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 50%;
    background: url(../images/high-valuation-bg_02_sp.png) no-repeat 0 0 / cover;
    z-index: 1;
  }

  #high-valuation {
    padding: 0;
    background: none;
  }

  #high-valuation section:nth-of-type(1) {
    padding: 40px 0;
    background: #3c3c3c url(../images/high-valuation-bg.jpg) no-repeat center;
    background-size: cover;
  }

  #high-valuation .tit {
    margin-bottom: 20px;
    padding: 20px;
  }

  #high-valuation .tit .inner {
    padding: 20px 10px;
  }

  #high-valuation .tit p {
    font-size: 3.4vw;
  }

  #high-valuation section:nth-of-type(1) .common-wrapper:nth-of-type(1) ul {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }

  #high-valuation section:nth-of-type(1) .common-wrapper:nth-of-type(1) ul li {
    width: 48%;
    margin: 0 1% 20px;
  }

  #high-valuation section:nth-of-type(1) .block dd ul li span {
    font-size: 22px;
  }

  #high-valuation section:nth-of-type(2) {
    padding: 0;
  }

  #high-valuation section:nth-of-type(2) .common-wrapper {
    width: 100%;
    background-color: #fff;
  }

  #high-valuation section:nth-of-type(2) .h3_tit {
    width: 96%;
    margin: 0 auto;
    background: url(../images/high-valuation-bg_tit_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #high-valuation section:nth-of-type(2) .h3_tit .icon {
    top: 65%;
    width: 25%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit .icon:nth-of-type(1) {
    left: 1%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit .icon:nth-of-type(2) {
    right: 1%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit h3 {
    padding-bottom: 80px;
  }

  #high-valuation section:nth-of-type(2) .h3_tit h3 span {
    width: 100%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit h3 span:nth-of-type(1) {
    margin: 0 auto -20px;
  }

  #high-valuation section:nth-of-type(2) .h3_tit h3 span:nth-of-type(2) {
    max-width: 700px;
    width: 94%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit::after,
  #high-valuation section:nth-of-type(2) .h3_tit::before {
    content: none;
  }

  #high-valuation section:nth-of-type(2) .box {
    padding-top: 70px;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(1) {
    display: none;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(2) {
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(2) ul {
    margin: 0 5%;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(2) ul li {
    font-size: 14px;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(3) p #high-valuation section:nth-of-type(3) .common-wrapper {
    padding-bottom: 40px;
  }

  #high-valuation section:nth-of-type(3) .block {
    margin-bottom: 20px;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(3) p.txt {
    margin-top: 20px;
    font-size: 18px;
  }
}

@media only screen and (max-width: 414px) {
  #high-valuation {
    padding: 0 0 0;
  }

  #high-valuation h2 {
    margin-bottom: 20px;
  }

  #high-valuation .tit {
    padding: 20px 10px;
  }

  #high-valuation .tit .inner {
    padding: 20px 0;
  }

  #high-valuation section:nth-of-type(1) h3 {
    margin-bottom: 20px;
  }

  #high-valuation section:nth-of-type(1) .block dt {
    font-size: min(30px, 4.4vw);
  }

  #high-valuation section:nth-of-type(1) .block dd {
    padding: 15px 5px;
  }

  #high-valuation section:nth-of-type(1) .block dd ul li span {
    font-size: 12px;
  }

  #high-valuation section:nth-of-type(2) {
    padding: 0;
  }

  #high-valuation section:nth-of-type(2) .h3_tit h3 {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  #high-valuation section:nth-of-type(2) .h3_tit .icon {
    top: 72%;
  }

  #high-valuation section:nth-of-type(2) .h3_tit h3 span:nth-of-type(1) {
    width: 70%;
    margin-bottom: -10px;
  }

  #high-valuation section:nth-of-type(2) .box {
    padding-top: 50px;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(2) ul {
    margin: 0 2%;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(2) ul li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 12px;
  }

  #high-valuation section:nth-of-type(2) .box .inner div:nth-of-type(3) p.txt {
    font-size: 15px;
    letter-spacing: 0;
  }
}

@media only screen and (max-width: 360px) {
  #high-valuation section:nth-of-type(1) .block dd ul li span {
    font-size: 10px;
  }
}

#any-condition {
  padding: 100px 0;
  background: url(../images/any-condition-bg.jpg) no-repeat center top;
  background-size: cover;
}

#any-condition section:nth-of-type(1) {
  padding-bottom: 40px;
}

#any-condition section:nth-of-type(1) h2 {
  max-width: 1054px;
  width: 90%;
  margin-left: 5%;
  margin-right: 2%;
  margin-bottom: 60px;
}

#any-condition section:nth-of-type(1) p {
  text-align: center;
  font-size: 24px;
}

#any-condition section:nth-of-type(1) p br.none {
  display: none;
}

#any-condition section:nth-of-type(2) ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#any-condition section:nth-of-type(2) ul li {
  max-width: 293px;
  width: 24.5%;
}

@media only screen and (max-width: 760px) {
  #any-condition {
    padding: 60px 0;
  }

  #any-condition section:nth-of-type(1) {
    padding-bottom: 50px;
  }

  #any-condition section:nth-of-type(1) h2 {
    max-width: 819px;
    margin-bottom: 40px;
  }

  #any-condition section:nth-of-type(1) p {
    font-size: 22px;
  }

  #any-condition section:nth-of-type(1) p br.none {
    display: block;
  }

  #any-condition section:nth-of-type(2) ul {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }

  #any-condition section:nth-of-type(2) ul li {
    margin: 0 0.5px;
  }
}

@media only screen and (max-width: 414px) {
  #any-condition {
    padding: 40px 0;
  }

  #any-condition section:nth-of-type(1) {
    padding-bottom: 30px;
  }

  #any-condition section:nth-of-type(1) h2 {
    margin-bottom: 30px;
  }

  #any-condition section:nth-of-type(1) p {
    font-size: 14px;
  }
}

#comparison {
  padding-bottom: 90px;
  background-color: #f2f2e5;
}

#comparison .tit {
  margin-bottom: 60px;
  padding: 30px 0;
  background: url(../images/comparison-bg_tit.jpg) no-repeat center;
  background-size: cover;
}

#comparison h2 {
  max-width: 911px;
  width: 90%;
  margin: auto;
}

#comparison .block {
  max-width: 1200px;
  width: 96%;
  margin: auto;
}

#comparison .block ul {
  margin-bottom: 7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}

#comparison .block ul li {
  margin-left: 0.5%;
  width: 27%;
  text-align: center;
}

#comparison .block ul li:nth-child(1) {
  width: 21%;
  margin-left: 0;
  font-size: 24px;
  color: #fff;
  background-color: #000;
}

#comparison .block .upper ul {
  -webkit-align-items: end;
  -moz-align-items: end;
  -ms-align-items: end;
  align-items: end;
}

#comparison .block .upper ul li {
  padding: 15px 1%;
  font-size: min(30px, 2.2vw);
  font-weight: bold;
  color: #fff;
  background-color: #3c3c3c;
  line-height: 1.3;
}

#comparison .block .upper ul li:first-child {
  background: none;
}

#comparison .block .upper ul li:nth-child(3) {
  padding: 20px 1%;
  color: #5f1b00;
  background-color: #ffea00;
}

#comparison .block .lower ul li {
  position: relative;
  height: 180px;
  padding: 10px 1%;
  font-size: min(24px, 2vw);
}

#comparison .block .lower ul li span {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  margin: auto;
  font-weight: bold;
  text-align: center;
  transform: translate(0, -50%);
}

#comparison .block .lower ul li:first-child {
  font-size: min(30px, 2.2vw);
  color: #fff;
  background-color: #5f1b00;
}

#comparison .block .lower ul li:nth-child(2),
#comparison .block .lower ul li:last-child {
  background-color: #d4d4d4;
}

#comparison .block .lower ul li:nth-child(3) {
  background-color: #fffac1;
}

#comparison .block .lower ul li.icon01 {
  background-image: url(../images/comparison-icon01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
}

#comparison .block .lower ul li.icon02 {
  background-image: url(../images/comparison-icon02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
}

#comparison .block .lower ul li.icon03 {
  background-image: url(../images/comparison-icon03.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 55%;
}

#comparison .block .lower ul li.icon04 {
  background-image: url(../images/comparison-icon04.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 55%;
}

#comparison .block .table {
  display: none;
}

@media only screen and (max-width: 1000px) {
  #comparison .block .lower ul li {
    height: 140px;
  }
}

@media only screen and (max-width: 760px) {
  #comparison {
    padding-bottom: 60px;
  }

  #comparison .block .lower ul li {
    height: 110px;
  }
}

@media only screen and (max-width: 414px) {
  #comparison {
    padding-bottom: 40px;
  }

  #comparison .tit {
    margin-bottom: 30px;
  }

  #comparison .block {
    width: 98%;
  }

  #comparison .block .upper,
  #comparison .block .lower {
    display: none;
  }

  #comparison .block .table {
    display: block;
    margin-bottom: 10px;
  }

  #comparison .block .table ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  #comparison .block .table ul:nth-of-type(1) {
    margin-bottom: 0;
  }

  #comparison .block .table ul li {
    position: relative;
    width: 49.5%;
    margin-bottom: 3px;
    margin-left: inherit;
    padding: 1%;
    text-align: center;
    font-size: 12px;
  }

  #comparison .block .table ul:nth-of-type(2) li {
    min-height: 80px;
  }

  #comparison .block .table ul:nth-of-type(1) li:first-child {
    background: none;
  }

  #comparison .block .table ul:nth-of-type(1) li:nth-child(2) {
    height: auto;
    padding: 15px 1%;
  }

  #comparison .block .table ul:nth-of-type(2) li span {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    font-weight: bold;
    text-align: center;
    transform: translate(0, -50%);
  }

  #comparison .block .table ul:nth-of-type(1) li:nth-child(2),
  #comparison .block .table ul:nth-of-type(2) li:first-child,
  #comparison .block .table ul:nth-of-type(2) li:nth-child(5) {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #3c3c3c;
  }

  #comparison .block .table ul:nth-of-type(2) li:nth-child(2),
  #comparison .block .table ul:nth-of-type(2) li:last-child {
    background-color: #d4d4d4;
  }

  #comparison .block .table ul:nth-of-type(2) li:nth-child(3) {
    font-size: 15px;
    color: #ff3600;
    text-shadow: 3px 3px 3px #fff, 3px -3px 3px #fff, -3px 3px 3px #fff, -3px -3px 3px #fff, 3px 0px 3px #fff,
      0px 3px 3px #fff, -3px 0px 3px #fff, 0px -3px 3px #fff;
    background-color: #ffea00;
  }

  #comparison .block .table ul:nth-of-type(2) li:nth-child(4) {
    background-color: #fffac1;
  }

  #comparison .block .table ul:nth-of-type(2) li.icon01 {
    background-image: url(../images/comparison-icon01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 30%;
  }

  #comparison .block .table ul:nth-of-type(2) li.icon02 {
    background-image: url(../images/comparison-icon02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 30%;
  }

  #comparison .block .table ul:nth-of-type(2) li.icon03 {
    background-image: url(../images/comparison-icon03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 35%;
  }

  #comparison .block .table ul:nth-of-type(2) li.icon04 {
    background-image: url(../images/comparison-icon04.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 35%;
  }
}

#memento section:nth-of-type(1) {
  padding: 40px 0;
  background: url(../images/memento-bg01.jpg) no-repeat;
  background-size: cover;
}

#memento section:nth-of-type(1) .common-wrapper {
  width: 100%;
}

#memento section:nth-of-type(1) h2 {
  max-width: 1069px;
  width: 92%;
  margin: 0 auto 40px;
}

#memento section:nth-of-type(1) .block:nth-of-type(1) {
  width: 96%;
  margin: 0 auto 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

#memento section:nth-of-type(1) .block:nth-of-type(1) p:nth-of-type(1) {
  display: block;
  max-width: 564px;
  width: 52%;
  margin-right: 2%;
}

#memento section:nth-of-type(1) .block:nth-of-type(1) p:nth-of-type(2) {
  max-width: 486px;
  width: 44%;
  margin-left: 2%;
}

#memento section:nth-of-type(1) .block:nth-of-type(2) {
  max-width: 1105px;
  width: 100%;
  margin: auto;
  padding: 25px 2%;
  text-align: center;
  font-size: min(26px, 3.6vw);
  color: #fff;
  background-color: rgba(141, 88, 30, 0.6);
  letter-spacing: 0.05em;
}

#memento section:nth-of-type(2) {
  padding: 80px 0;
  background: url(../images/memento-bg02.jpg) no-repeat bottom center;
  background-size: cover;
}

#memento section:nth-of-type(2) h2 {
  max-width: 1111px;
  width: 100%;
  margin: 0 auto 30px;
}

#memento section:nth-of-type(2) .txt {
  margin-bottom: 45px;
  text-align: center;
  font-size: 24px;
  color: #fff;
}

#memento section:nth-of-type(2) ul {
  margin-bottom: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

#memento section:nth-of-type(2) ul li {
  max-width: 530px;
  width: 48%;
  margin: 0 1%;
}

#memento section:nth-of-type(2) ul li h3 {
  width: 100%;
  margin: auto;
  padding: 15px 1%;
  text-align: center;
  font-size: min(26px, 2.4vw);
  color: #fff;
  background-color: #5f1b00;
  line-height: 1;
}

#memento section:nth-of-type(2) ul li p {
  max-width: 500px;
  width: 100%;
  margin: 10px auto 0;
  font-size: 20px;
  color: #fff;
  line-height: 1.5;
}

#memento section:nth-of-type(2) .bottom {
  max-width: 1120px;
  width: 100%;
  margin: auto;
  padding: 7px;
  background-color: #838101;
}

#memento section:nth-of-type(2) .bottom .inner {
  padding: 20px;
  border: 2px solid #fff;
}

#memento section:nth-of-type(2) .bottom p {
  text-align: center;
  font-size: 24px;
  color: #fff;
  line-height: 1.5;
}

#memento section:nth-of-type(2) .bottom p .none {
  display: none;
}

#memento section:nth-of-type(2) .bottom p span {
  color: #ffea00;
}

@media only screen and (max-width: 760px) {
  #memento section:nth-of-type(1) {
    padding: 80px 0 50px;
    background: url(../images/memento-bg01_sp.jpg) no-repeat;
    background-size: cover;
  }

  #memento section:nth-of-type(1) .block:nth-of-type(1) {
    width: 92%;
    display: block;
  }

  #memento section:nth-of-type(1) .block:nth-of-type(1) p:nth-of-type(1) {
    display: none;
  }

  #memento section:nth-of-type(1) .block:nth-of-type(1) p:nth-of-type(2) {
    width: 92%;
    margin-left: 0;
  }

  #memento section:nth-of-type(1) .block:nth-of-type(2) {
    background-color: rgba(255, 255, 255, 0.3);
  }

  #memento section:nth-of-type(2) {
    padding: 60px 0;
    background: url(../images/memento-bg02_sp.jpg) no-repeat bottom left;
    background-size: cover;
  }

  #memento section:nth-of-type(2) ul li p {
    font-size: 16px;
  }

  #memento section:nth-of-type(2) .bottom .inner {
    padding: 30px 2%;
    background: url(../images/memento-bg_box.png) no-repeat left;
    background-size: cover;
    border: 1px solid #fff;
  }

  #memento section:nth-of-type(2) .bottom p {
    font-size: 20px;
  }

  #memento section:nth-of-type(2) .bottom p .none {
    display: block;
  }
}

@media only screen and (max-width: 414px) {
  #memento section:nth-of-type(1) {
    padding: 40px 0;
  }

  #memento section:nth-of-type(1) h2 {
    margin: 0 auto 20px;
  }

  #memento section:nth-of-type(1) .block:nth-of-type(2) {
    padding: 15px 2%;
  }

  #memento section:nth-of-type(2) {
    padding: 40px 0;
  }

  #memento section:nth-of-type(2) h2 {
    margin-bottom: 20px;
  }

  #memento section:nth-of-type(2) .txt {
    margin-bottom: 30px;
  }

  #memento section:nth-of-type(2) ul {
    display: block;
    margin-bottom: 40px;
  }

  #memento section:nth-of-type(2) ul li {
    width: 90%;
    margin: 0 auto 20px;
  }

  #memento section:nth-of-type(2) ul li h3 {
    font-size: 18px;
  }

  #memento section:nth-of-type(2) ul li p {
    font-size: 13px;
  }

  #memento section:nth-of-type(2) .bottom .inner {
    padding: 20px 2%;
  }

  #memento section:nth-of-type(2) .bottom p {
    font-size: min(16px, 3vw);
  }
}

@media only screen and (max-width: 360px) {
  #memento section:nth-of-type(2) ul li h3 {
    font-size: 16px;
  }
}

#appraiser {
  padding: 100px 0 40px;
  background: url(../images/appraiser-bg.jpg) no-repeat top center;
  background-size: cover;
}

#appraiser h2 {
  max-width: 1112px;
  width: 96%;
  margin: 0 auto 80px;
}

#appraiser .common-wrapper {
  width: 100%;
}

#appraiser .block {
  position: relative;
  margin-bottom: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}

#appraiser .block .left {
  width: 56%;
  padding-left: 3%;
}

#appraiser .block .left h3 {
  max-width: 420px;
  width: 100%;
  margin-bottom: 15px;
  padding: 8px 2%;
  text-align: center;
  font-size: min(30px, 4vw);
  color: #fff;
  background-color: #5f1b00;
}

#appraiser .block .left h4 {
  margin-bottom: 20px;
  font-size: min(30px, 2.8vw);
  font-weight: bold;
  color: #5f1b00;
  line-height: 1.3;
  text-shadow: 2px 0 2px #f2f2e5, 0 2px 2px #f2f2e5, -2px 0 2px #f2f2e5, 0 -2px 2px #f2f2e5, 2px 2px 2px #f2f2e5,
    2px -2px 2px #f2f2e5, -2px 0 2px #f2f2e5, -2px -2px 2px #f2f2e5;
}

#appraiser .block .left p {
  font-size: 20px;
  text-shadow: 2px 0 2px #f2f2e5, 0 2px 2px #f2f2e5, -2px 0 2px #f2f2e5, 0 -2px 2px #f2f2e5, 2px 2px 2px #f2f2e5,
    2px -2px 2px #f2f2e5, -2px 0 2px #f2f2e5, -2px -2px 2px #f2f2e5;
}

#appraiser .block .right {
  position: relative;
  display: block;
  max-width: 528px;
  width: 44%;
  z-index: 1;
}

@media only screen and (max-width: 1200px) {
  #appraiser .block .left {
    width: 55%;
    padding-left: 2%;
  }
}

@media only screen and (max-width: 1000px) {
  #appraiser .block {
    margin-bottom: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
  }

  #appraiser .block .left {
    position: absolute;
    top: 0;
    left: 2%;
    width: 75%;
    max-width: 620px;
    z-index: 2;
  }

  #appraiser .block .left h4 {
    font-size: 30px;
  }

  #appraiser .block .right {
    width: 55%;
    z-index: 1;
  }
}

@media only screen and (max-width: 760px) {
  #appraiser {
    padding: 60px 0 40px;
    background: url(../images/appraiser-bg_sp.jpg) no-repeat top center;
    background-size: cover;
  }

  #appraiser h2 {
    margin-bottom: 40px;
  }

  #appraiser .block .left h3 {
    max-width: 330px;
    margin-bottom: 10px;
    padding: 5px 1%;
    font-size: 24px;
  }

  #appraiser .block .left h4 {
    margin-bottom: 15px;
    font-size: 24px;
  }

  #appraiser .block .left p {
    font-size: 16px;
  }
}

@media only screen and (max-width: 414px) {
  #appraiser {
    padding: 40px 0 20px;
  }

  #appraiser .block {
    display: block;
    margin-bottom: 40px;
  }

  #appraiser .block .left {
    position: static;
    width: 94%;
    margin: 0 auto 20px;
    padding: 0;
  }

  #appraiser .block .left h3 {
    max-width: inherit;
    width: 100%;
    margin: 0 auto 10px;
    margin-bottom: 10px;
    padding: 4px 1%;
    font-size: 18px;
  }

  #appraiser .block .left h4 {
    font-size: 18px;
  }

  #appraiser .block .left p {
    font-size: 13px;
  }

  #appraiser .block .right {
    width: 60%;
    margin: auto;
  }
}

#voice {
  padding: 110px 0 80px;
  background: url(../images/voice-bg.jpg) no-repeat top center;
  background-size: cover;
}

#voice h2 {
  max-width: 863px;
  width: 92%;
  margin: 0 auto 110px;
}

#voice .common-wrapper {
  max-width: 1620px;
}

#voice .bx-wrapper {
  margin: auto;
  box-shadow: none !important;
  border: none !important;
  background-color: inherit !important;
}

#voice .bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;
}

#voice .bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #838101;
}

#voice .bx-wrapper ul {
  display: flex;
}

#voice .bx-wrapper ul li {
  display: flex;
  flex-direction: column;
}

#voice .bx-wrapper ul li img {
  position: relative;
  display: block;
  max-width: 228px;
  width: 60%;
  margin: auto;
  z-index: 2;
}

#voice .bx-wrapper ul li .box {
  position: relative;
  top: -4px;
  padding: 20px;
  background-color: #fff;
  border: 4px solid #000;
  z-index: 1;
  flex-grow: 1;
}

@media only screen and (max-width: 760px) {
  #voice {
    padding: 60px 0 80px;
  }

  #voice h2 {
    margin: 0 auto 60px;
  }
}

@media only screen and (max-width: 414px) {
  #voice {
    padding-top: 40px;
  }

  #voice h2 {
    margin: 0 auto 40px;
  }

  #voice .bx-wrapper ul li img {
    width: 40%;
  }
}

#document {
  padding: 90px 0;
  background: url(../images/document-bg.jpg) no-repeat center;
  background-size: cover;
}

#document h2 {
  max-width: 1188px;
  width: 100%;
  margin: 0 auto 40px;
}

#document .block {
  max-width: 1134px;
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 760px) {
  #document {
    padding: 60px 0;
  }

  #document .common-wrapper {
    width: 100%;
  }

  #document h2 {
    margin: 0 auto 30px;
  }
}

@media only screen and (max-width: 414px) {
  #document {
    padding: 40px 0;
  }
}

#business-trip {
  background-color: #000;
}

#business-trip .tit {
  padding: 60px 0;
  background: url(../images/business-trip-bg_tit.jpg) no-repeat center;
  background-size: cover;
}

#business-trip .tit h2 {
  max-width: 1022px;
  width: 90%;
  margin: auto;
}

#business-trip .bg {
  padding: 70px 0 80px;
  background: url(../images/business-trip-bg.jpg) no-repeat center;
  background-size: cover;
}

#business-trip .txt {
  margin-bottom: 60px;
  font-size: 24px;
  color: #fff;
  text-align: center;
}

#business-trip .txt br:nth-of-type(3),
#business-trip .txt br.none {
  display: none;
}

#business-trip .block {
  margin-bottom: 20px;
  padding: 40px 30px;
  background-color: #fff;
}

#business-trip .block .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: start;
  -moz-align-items: start;
  -ms-align-items: start;
  align-items: start;
}

#business-trip .block .img {
  max-width: 362px;
  width: 32%;
}

#business-trip .block .right {
  max-width: 750px;
  width: 66%;
}

#business-trip .block .right h3 {
  display: inline-block;
  margin-bottom: 25px;
  padding: 10px;
  font-size: 23.5px;
  color: #fff;
  background-color: #5f1b00;
  line-height: 1;
}

#business-trip .block .right h4 {
  margin-bottom: 20px;
  font-size: 64px;
  color: #5f1b00;
  line-height: 1;
}

#business-trip .block .right p {
  font-size: 24px;
  line-height: 1.3;
}

#business-trip .block .right p .none {
  display: none;
}

@media only screen and (max-width: 1200px) {
  #business-trip .block .right h4 {
    font-size: 50px;
  }
}

@media only screen and (max-width: 760px) {
  #business-trip .tit {
    background: url(../images/business-trip-bg_tit_sp.jpg) no-repeat center;
    background-size: cover;
  }

  #business-trip .tit h2 {
    max-width: 760px;
    width: 90%;
    margin: auto;
  }

  #business-trip .bg {
    padding: 60px 0;
    background: url(../images/business-trip-bg_sp.jpg) no-repeat center bottom;
    background-size: cover;
  }

  #business-trip .txt {
    margin-bottom: 40px;
    font-size: 20px;
  }

  #business-trip .txt br:nth-of-type(3),
  #business-trip .txt br.none {
    display: block;
  }

  #business-trip .block {
    padding: 3px;
  }

  #business-trip .block .img {
    display: none;
  }

  #business-trip .block .inner {
    position: relative;
    display: block;
    padding: 30px 2%;
    background-image: linear-gradient(135deg, #5f1b00 25px, transparent 0);
  }

  #business-trip .block .right {
    width: 100%;
    text-align: center;
  }

  #business-trip .block .right h3 {
    margin-bottom: 15px;
    font-size: 18px;
  }

  #business-trip .block .right h4 {
    font-size: 40px;
  }

  #business-trip .block .right p {
    font-size: 18px;
  }
}

@media only screen and (max-width: 414px) {
  #business-trip .tit {
    padding: 40px 0;
  }

  #business-trip .bg {
    padding: 40px 0;
  }

  #business-trip .txt {
    font-size: 14px;
  }

  #business-trip .block .inner {
    padding: 20px 2%;
    background-image: linear-gradient(135deg, #5f1b00 20px, transparent 0);
  }

  #business-trip .block .right h3 {
    margin-bottom: 10px;
    font-size: 16px;
  }

  #business-trip .block .right h4 {
    font-size: 30px;
  }

  #business-trip .block .right p {
    font-size: 13px;
  }

  #business-trip .block .right p .none {
    display: block;
  }
}

#point {
  padding: 80px 0;
  background: url(../images/point-bg.jpg) no-repeat center top;
  background-size: cover;
}

#point .common-wrapper {
  width: 100%;
}

#point .tit_h2 {
  margin-bottom: 40px;
  text-align: center;
}

#point .tit_h2 h2 {
  max-width: 1107px;
  width: 94%;
  margin: 0 auto 30px;
}

#point .tit_h2 p {
  font-size: min(34px, 4.5vw);
  letter-spacing: 0.03em;
}

#point .block {
  margin-bottom: 25px;
  padding: 35px 0 60px;
  background-color: #fff;
}

#point .block .tit {
  position: relative;
  max-width: 1100px;
  width: 94%;
  margin: 0 auto 30px;
  padding: 20px 2%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  background-color: #838101;
}

#point .block .tit h3 {
  font-size: min(38px, 3.8vw);
  color: #fff;
}

#point .block .tit span {
  display: block;
  width: 70px;
  margin-right: 2%;
}

#point .block .box {
  max-width: 1100px;
  width: 94%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: start;
  -moz-align-items: start;
  -ms-align-items: start;
  align-items: start;
}

#point .block .box p {
  max-width: 660px;
  width: 61%;
  font-size: 24px;
}

#point .block .box p .none {
  display: none;
}

#point .block .box img {
  display: block;
  max-width: 387px;
  width: 37%;
}

@media only screen and (max-width: 760px) {
  #point {
    padding: 50px 0 100px;
    background: url(../images/point-bg_sp.jpg) no-repeat center top;
    background-size: cover;
  }

  #point .tit_h2 h2 {
    max-width: 802px;
    margin: 0 auto 30px;
  }

  #point .block .tit {
    margin-bottom: 30px;
    padding: 15px 2%;
  }

  #point .block .tit span {
    width: 8%;
  }

  #point .block .box {
    text-align: center;
  }

  #point .block .box p {
    max-width: inherit;
    width: 100%;
    font-size: 18px;
  }

  #point .block .box p .none {
    display: block;
  }

  #point .block .box img {
    display: none;
  }
}

@media only screen and (max-width: 414px) {
  #point {
    padding: 30px 0;
  }

  #point .tit_h2 {
    margin-bottom: 30px;
  }

  #point .tit_h2 h2 {
    margin: 0 auto 20px;
  }

  #point .block {
    margin-bottom: 15px;
    padding: 25px 0 30px;
  }

  #point .block .tit {
    margin-bottom: 25px;
  }

  #point .block .box p {
    font-size: 13px;
  }
}

@media only screen and (max-width: 360px) {
  #point .block .tit h3 {
    font-size: 3.6vw;
  }
}

#faq {
  padding: 60px 0;
  background: url(../images/faq-bg.jpg) no-repeat center;
  background-size: cover;
}

#faq h2 {
  max-width: 557px;
  width: 70%;
  margin: 0 auto 30px;
}

#faq .common-wrapper {
  width: 100%;
}

#faq .block {
  margin-bottom: 20px;
  padding: 30px 0;
  background-color: #fff;
}

#faq .block .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  max-width: 1140px;
  width: 94%;
  margin: auto;
}

#faq .block .inner .img {
  max-width: 201px;
  width: 18%;
}

#faq .block .inner .right {
  max-width: 930px;
  width: 80%;
}

#faq .block .inner .right .h3_tit {
  margin-bottom: 10px;
}

#faq .block .inner .right .h3_tit h3 {
  font-size: 26px;
}

#faq .block .inner .right p {
  font-size: 20px;
}

@media only screen and (max-width: 760px) {
  #faq .block .inner {
    display: block;
  }

  #faq .block .inner .right {
    width: 100%;
  }

  #faq .block .inner .right .h3_tit h3 {
    font-size: 22px;
  }

  #faq .block .inner .right .h3_tit img {
    display: none;
  }

  #faq .block .inner .right p {
    font-size: 16px;
  }
}

@media only screen and (max-width: 414px) {
  #faq {
    padding: 40px 0;
  }

  #faq h2 {
    margin-bottom: 10px;
  }

  #faq .block .inner .right .h3_tit h3 {
    font-size: 18px;
  }

  #faq .block .inner .right p {
    font-size: 14px;
  }
}

#promise {
  padding: 80px 0;
  background: url(../images/promise-bg.jpg) no-repeat center;
  background-size: cover;
}

#promise .common-wrapper {
  width: 100%;
}

#promise h2 {
  max-width: 966px;
  width: 90%;
  margin: 0 auto 30px;
}

#promise ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

#promise ul li {
  width: 31%;
  max-width: 317px;
  margin: 0 1%;
}

@media only screen and (max-width: 760px) {
  #promise {
    padding: 60px 0;
  }
}

@media only screen and (max-width: 414px) {
  #promise {
    padding: 40px 0;
  }
}

#entrust {
  padding: 40px 0 30px;
  color: #fff;
  background-color: #000;
}

#entrust h2 {
  max-width: 1035px;
  width: 100%;
  margin: 0 auto 30px;
}

#entrust p {
  max-width: 1050px;
  width: 100%;
  margin: auto;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 760px) {
  #entrust {
    padding: 60px 0;
  }

  #entrust p {
    font-size: 18px;
  }

  #entrust p br {
    display: none;
  }
}

@media only screen and (max-width: 414px) {
  #entrust {
    padding: 40px 0;
  }

  #entrust p {
    font-size: 12px;
  }
}

/*************************** 
問合せ
**************************/
#contact {
  position: relative;
  padding: 70px 0;
}

#contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background-color: #5f1b00;
  z-index: 1;
}

#contact h2 {
  position: relative;
  margin-bottom: 50px;
  text-align: center;
  font-size: min(40px, 5vw);
  color: #fff;
  z-index: 2;
}

@media only screen and (max-width: 760px) {
  #contact {
    padding-top: 60px;
  }

  #contact::before {
    height: 15%;
  }

  #contact h2 {
    margin: 0 auto 40px;
  }
}

@media only screen and (max-width: 414px) {
  #contact {
    padding-top: 40px;
  }

  #contact::before {
    height: 10%;
  }

  #contact h2 {
    margin: 0 auto 30px;
  }
}

.form-area {
  position: relative;
  max-width: 1160px;
  width: 100%;
  padding: 60px 0;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  z-index: 3;
}

.form-area .txt01 br.none {
  display: none;
}

.form-area .txt01 {
  width: 96%;
  margin: 0 auto 30px;
  text-align: center;
}

.form-area .txt02 {
  max-width: 860px;
  width: 94%;
  margin: 0 auto 30px;
}

.form-area .complete {
  text-align: center;
}

@media only screen and (max-width: 760px) {
  .form-area {
    padding-top: 40px;
  }

  .form-area .txt01 br.none {
    display: block;
  }
}

.form-group dl {
  width: 94%;
  margin: auto;
  margin-bottom: 5px;
  padding: 10px;
  background-color: #f5f5f5;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.form-group dl dt {
  width: 32%;
  padding: 15px;
  font-weight: bold;
  color: #0a0a0a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.form-group dl dt span {
  font-size: 24px;
}

.form-group dl dt span.required {
  display: block;
  margin-right: 5%;
  padding: 5px 15px;
  color: #fff;
  background-color: #ff9a7f;
  border-radius: 5px;
}

.form-group dl dt span.option {
  display: block;
  margin-right: 5%;
  padding: 5px 15px;
  color: #fff;
  background-color: #bdbdbd;
  border-radius: 5px;
}

.form-group dl dd {
  width: 68%;
  padding: 15px 30px;
}

.form-group dl dd .w100 {
  width: 100%;
  padding: 10px;
}

.form-group dl dd input[type="text"],
.form-group dl dd textarea {
  border: 1px solid #828282;
}

.form-group dl dd.upload {}

.form-group dl dd.upload .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 100%;
}

.form-group dl dd.upload p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 50%;
}

.form-group dl dd.upload p span {
  display: block;
  margin: 0 2%;
}

.form-group dl dd.upload .btn_img {
  width: 20%;
  margin-right: 2%;
  padding: 15px 10px;
  text-align: center;
  background: #c0c0c0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  border-radius: 5px;
}

.form-group input,
.form-group textarea {
  font-size: 100%;
}

.mw_wp_form_confirm dl dd.upload .flex {
  display: inline-block;
}

.mw_wp_form_confirm dl dd.upload .btn_img {
  display: none;
}

.form-group dl dd.upload .mw-wp-form_image {
  width: 23%;
  margin-left: 2%;
}

.mw_wp_form_confirm dl dd.upload .mw-wp-form_image {
  width: 100%;
  margin-left: 0;
}

.form-group dl dd.upload .mw-wp-form_image img {
  max-width: 200px;
}

.form-group dl input[type="text"].filename {
  font-size: 90%;
  background: none;
  border: none;
}

.form-group dl input[type="text"].filename::placeholder {
  color: #000;
  font-size: 90%;
}

.form-group dl input[type="file"] {
  background: none;
  box-shadow: none;
  border: none;
}

.form-group dl:nth-of-type(7),
.form-group dl:nth-of-type(8),
.form-group dl:nth-of-type(9) {
  background-color: #fff;
}

.form-group dl:nth-of-type(8) dt,
.form-group dl:nth-of-type(9) dt {
  padding-left: 11%;
}

.form-group input.zip {
  padding: 10px;
}

.form-group .mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 0 !important;
}

.form-group span.mwform-tel-field input[name="tel[data][0]"] {
  width: 15%;
  padding: 10px;
}

.form-group span.mwform-tel-field input[name="tel[data][1]"] {
  width: 20%;
  padding: 10px;
}

.form-group span.mwform-tel-field input[name="tel[data][2]"] {
  width: 20%;
  padding: 10px;
}

.form-group .privacy_box {
  max-width: 970px;
  width: 94%;
  height: 300px;
  margin: 30px auto;
  padding: 20px 0;
  border: 1px solid #000;
  overflow: auto;
}

.form-group .privacy_box .inner {
  max-width: 670px;
  width: 94%;
  margin: auto;
}

.form-group .privacy_box h3 {
  margin-bottom: 10px;
  text-align: center;
}

.form-group .privacy_box h4 {
  margin-bottom: 5px;
}

.form-group .privacy_box p {
  margin-bottom: 15px;
}

.form-group .mw_wp_form_confirm .privacy_box {
  display: none;
}

.form-group .btn_form {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin-top: 30px;
}

.form-group input.btn_confirm {
  max-width: 450px;
  width: 50%;
  height: 85px;
  margin: 0 1%;
  padding: 15px 0;
  font-size: 150%;
  color: #fff;
  background: #ff3600;
  background-size: 100%;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  box-shadow: none;
  border: none;
  line-height: 1;
}

.form-group input.return {
  width: 100px;
  height: 64px;
  margin: 0 1%;
  padding: 15px 0;
  font-size: 20px;
  color: #fff;
  background: #ff3600;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  box-shadow: none;
  border: none;
  border-radius: 10px;
  line-height: 1;
}

.form-group .check_policy {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.form-group .check_policy label input {
  width: 15px;
  height: 15px;
  line-height: 1;
}

.form-group .check_policy .mwform-checkbox-field-text {
  display: none;
}

@media only screen and (max-width: 760px) {
  .form-group dl {
    background-color: transparent;
    display: block;
  }

  .form-group dl dt {
    width: 100%;
  }

  .form-group dl dt span {
    font-size: 100%;
  }

  .form-group dl dd {
    width: 100%;
    padding: 20px 15px;
    background-color: #f5f5f5;
  }

  .form-group dl:nth-of-type(8) dt,
  .form-group dl:nth-of-type(9) dt {
    padding-left: 15px;
    padding-bottom: 0;
  }

  .form-group dl:nth-of-type(8) dd,
  .form-group dl:nth-of-type(9) dd {
    background-color: #fff;
  }

  .form-group .privacy_box {
    width: 80%;
    height: 200px;
  }

  .form-group input.btn_confirm {
    height: auto;
    padding: 15px;
  }
}

@media only screen and (max-width: 414px) {
  .form-group dl {
    width: 100%;
  }

  .form-group dl dt {
    padding-top: 0;
  }

  .form-group dl dd.upload .btn_img {
    padding: 10px 2px;
  }
}

.mw_wp_form_confirm .check_policy {
  display: none;
}

.return {
  max-width: 368px;
  width: 50%;
  margin: 60px auto 0;
}

@media only screen and (max-width: 414px) {
  .return {
    margin: 30px auto 0;
  }
}

/*---------------------
フッター会社概要
---------------------*/
#company {
  padding: 60px 0;
  background: url(../images/company-bg.jpg) no-repeat center;
  background-size: cover;
}

#company .common-wrapper {
  max-width: 1160px;
}

#company h2 {
  margin-bottom: 30px;
  text-align: center;
  font-size: min(42px, 6vw);
  color: #fff;
}

#company .block {
  padding: 50px 0;
  background-color: #fff;
}

#company .block table {
  max-width: 1000px;
  width: 94%;
  margin: auto;
}

#company .block table th,
#company .block table td {
  padding-bottom: 10px;
}

#company .block table th {
  width: 22%;
  text-align: left;
  font-weight: bold;
}

#company .block table td {
  width: auto;
}

@media only screen and (max-width: 760px) {
  #company {
    padding-bottom: 280px;
  }
}

@media only screen and (max-width: 414px) {
  #company {
    padding: 40px 0 185px;
  }

  #company .block {
    padding: 25px 0;
  }

  #company .block table th,
  #company .block table td {
    display: block;
  }

  #company .block table th {
    width: 100%;
    padding-bottom: 0;
  }
}

#footer {
  margin-bottom: 180px;
}

@media only screen and (max-width: 760px) {
  #footer {
    margin-bottom: 0;
  }
}

/* フッター追尾 */
#footer-btn {
  position: fixed;
  display: block;
  width: 100%;
  left: 0px;
  bottom: 0;
  z-index: 998;
  padding: 15px 0;
  background: #ff3600;
}

#footer-btn .container {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: auto;
}

#footer-btn img {
  width: 100%;
}

#footer-btn .footer-btn-wrapper {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: auto;
}

#footer-btn .footer-btn-pc {
  position: relative;
  max-width: 1160px;
  width: 96%;
  margin: auto;
  padding: 15px 2% 5px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #fff;
  box-shadow: 3px 3px 3px #ccc inset;
  border-radius: 10px;
  z-index: 2;
}

#footer-btn .footer-btn-pc h1 {
  position: absolute;
  top: -19%;
  left: 2%;
  max-width: 355px;
  width: 41%;
  z-index: 3;
}

#footer-btn .footer-btn-pc .img {
  position: absolute;
  bottom: 10%;
  left: 22%;
  max-width: 250px;
  z-index: 1;
}

#footer-btn .footer-btn-pc p {
  margin: 0 5px;
  font-weight: bold;
}

#footer-btn .footer-btn-pc .txt {
  position: relative;
  margin-right: 5%;
  z-index: 2;
}

#footer-btn .footer-btn-pc .footer-tel {
  position: relative;
  max-width: 478px;
  width: 50%;
  text-align: center;
  z-index: 2;
}

#footer-btn .footer-btn-pc .footer-tel span {
  display: block;
  font-weight: bold;
}

#footer-btn .footer-btn-pc .footer-tel .footer-tel-number {
  position: absolute;
  top: 27%;
  left: 0;
  right: 0;
  width: 90%;
  margin: auto;
  text-align: center;
  font-size: min(55px, 4vw);
  font-family: Arial, sans-serif;
  color: #fff;
  -webkit-text-stroke: 6px #31b80d;
  line-height: 1;
  letter-spacing: 0.02em;
}

#footer-btn .footer-btn-pc .footer-tel .footer-tel-number::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: auto;
  text-align: center;
  color: #fff;
  -webkit-text-stroke: 1px #fff;
}

#footer-btn .footer-btn-pc .footer-tel .footer-tel-time {
  position: absolute;
  bottom: 14%;
  left: 0;
  right: 0;
  width: 90%;
  margin: auto;
  text-align: center;
  font-size: min(16px, 1.4vw);
  color: #fff;
  line-height: 1;
}

#footer-btn .footer-btn-pc .footer-tel .footer-tel-time {
  font-size: min(16px, 1.4vw);
}

#footer-btn .footer-btn-pc .mail {
  max-width: 162px;
  width: 16%;
}

#footer-btn .footer-btn-sp {
  display: none;
}

@media only screen and (max-width: 760px) {
  #footer-btn {
    padding: 10px;
  }

  #footer-btn .footer-btn-pc {
    display: none;
  }

  #footer-btn .footer-btn-wrapper {
    width: 100%;
    margin: auto;
  }

  #footer-btn .footer-btn-sp {
    display: block;
    position: relative;
    height: auto;
  }

  #footer-btn .tit {
    position: absolute;
    top: -32px;
    left: 0;
    right: 0;
    width: 96%;
    margin: auto;
    z-index: 3;
  }

  #footer-btn .common-wrapper {
    width: 100%;
    padding: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    background-color: #fff;
    border-radius: 8px;
  }

  #footer-btn .txt {
    position: relative;
    max-width: 180px;
    width: 17%;
    z-index: 2;
  }

  #footer-btn .footer-tel {
    position: relative;
    width: 60%;
    z-index: 2;
  }

  #footer-btn .footer-tel .footer-tel-time {
    position: absolute;
    display: block;
    font-weight: bold;
    color: #fff;
    top: 64%;
    left: 0%;
    right: 0;
    width: 90%;
    margin: auto;
    text-align: center;
    font-size: min(16px, 2.6vw);
  }

  #footer-btn .mail {
    width: 20%;
  }

  #footer-btn .icon {
    position: absolute;
    bottom: 0;
    left: 0.5%;
    width: 28%;
    max-width: 269px;
    z-index: 1;
  }
}

@media only screen and (max-width: 414px) {
  #footer-btn {
    padding: 5px;
  }

  #footer-btn .tit {
    top: -25px;
  }
}

/* error */
.error {
  margin: 30px auto;
}

.error h2 {
  font-size: 18px;
  margin-bottom: 15px;
}

/* gotop */
#top {
  position: relative;
  overflow: hidden;
}

.gotop {
  position: fixed;
  right: 50px;
  bottom: 150px;
  z-index: 10;
  cursor: pointer;
}

.gotop:hover {
  opacity: 1;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {

  _::-webkit-full-page-media,
  _:future,
  :root .gotop {
    padding-top: 20px;
  }
}

/*---------------------
Responsive
---------------------*/
.sp {
  display: none;
}

@media only screen and (max-width: 760px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}

/*---------------------
contact-promo
---------------------*/
.contact-promo {
  padding: 50px 0;

  @media only screen and (max-width: 760px) {
    padding: 30px 0;
  }

  .inner {
    width: 90%;
    max-width: 1200px;
    margin: auto;

    @media only screen and (max-width: 760px) {
      width: 96%;
    }
  }

  .ttl {
    width: 100%;
  }

  .target-area {
    width: 100%;
    background-color: white;
    margin: 35px 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    position: relative;
    gap: 70px;

    @media only screen and (max-width: 760px) {
      margin: 20px 0;
      padding: 10px;
      flex-direction: column;
      gap: 20px;
    }

    .label {
      font-size: 34px;
      font-weight: 700;
      position: relative;

      @media only screen and (max-width: 1000px) {
        font-size: 28px;
      }

      @media only screen and (max-width: 850px) {
        font-size: 20px;
      }

      @media only screen and (max-width: 760px) {
        font-size: 24px;
      }

      &::after {
        position: absolute;
        content: '';
        display: block;
        width: 9px;
        height: 58px;
        background-color: black;
        top: 50%;
        right: -35px;
        transform: translateY(-50%);

        @media only screen and (max-width: 760px) {
          display: none;
        }
      }
    }

    .value {
      font-size: 30px;
      font-weight: 700;

      @media only screen and (max-width: 1000px) {
        font-size: 24px;
      }

      @media only screen and (max-width: 850px) {
        font-size: 18px;
      }

      @media only screen and (max-width: 760px) {
        font-size: 20px;
      }
    }
  }

  .content {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: nowrap;

    @media only screen and (max-width: 760px) {
      display: block;
      position: relative;
    }

    .txt-wrapper {
      width: calc(860 / 1200 * 100%);
      position: relative;
      z-index: 10;

      @media only screen and (max-width: 760px) {
        display: contents;
      }

      .ttl {
        font-size: 34px;
        font-weight: 800;
        white-space: nowrap;

        @media only screen and (max-width: 1000px) {
          font-size: 28px;
        }

        @media only screen and (max-width: 850px) {
          font-size: 20px;
        }

        @media only screen and (max-width: 760px) {
          width: 100%;
          font-size: 28px;
          line-height: 1;
          white-space: wrap;
          margin-bottom: 15px;
          position: relative;
          z-index: 10;
        }
      }

      .txt {
        font-size: 30px;
        font-weight: 700;

        @media only screen and (max-width: 1000px) {
          font-size: 24px;
        }

        @media only screen and (max-width: 850px) {
          font-size: 18px;
        }
      }
    }

    .img-wrapper {
      max-width: 291px;

      @media only screen and (max-width: 760px) {
        position: absolute;
        top: -5%;
        right: 0;
        width: 30%;
        z-index: 1;
      }
    }
  }

  .msg01 {
    width: 100%;
    max-width: 1036px;
    margin: 40px auto 0;

    @media only screen and (max-width: 760px) {
      margin: 20px auto 0;
    }
  }

  .msg02 {
    width: calc(883 / 1036 * 100%);
    max-width: 883px;
    margin: 20px auto 40px;

    @media only screen and (max-width: 760px) {
      width: 100%;
      margin: 10px auto 20px;
    }
  }

  .btns-wrapper {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 42px;

    @media only screen and (max-width: 760px) {
      display: contents;
    }

    .tel {
      display: block;
      position: relative;
      width: calc(632 / 1200 * 100%);
      max-width: 632px;

      @media only screen and (max-width: 760px) {
        width: 100%;
        max-width: initial;
      }

      .tel-num {
        font-size: min(55px, 3.8vw);
        font-weight: 700;
        white-space: nowrap;
        color: #ffea00;
        position: absolute;
        top: 13%;
        left: 50%;
        transform: translateX(-50%);

        @media only screen and (max-width: 760px) {
          font-size: 8vw;
        }
      }

      .time {
        font-size: min(25px, 1.6vw);
        color: white;
        white-space: nowrap;
        position: absolute;
        bottom: 16%;
        left: 50%;
        transform: translateX(-50%);

        @media only screen and (max-width: 760px) {
          font-size: 3.5vw;
        }

        .label {
          font-size: min(22px, 1.4vw);
          background-color: #5f1b00;
          padding: 0px 20px;

          @media only screen and (max-width: 760px) {
            font-size: 3vw;
            padding: 2px 10px;
          }
        }
      }
    }

    .mail {
      width: calc(440 / 1200 * 100%);
      max-width: 440px;
    }
  }

  .note {
    width: 100%;
    max-width: 779px;
    margin: 20px auto 0;
  }
}

/* =========================
  simple-form (SCSS)
========================= */
.simple-form {
  --bg: #fff;
  --panel: #5f1b00; // 見出しの濃茶
  --accent: #ff3a00; // ボタンや必須色
  --accent-grad: linear-gradient(180deg, #ff5a22, #ff2e0a);
  --pill-shadow: 0 8px 0 rgba(0, 0, 0, .15);
  --field-bg: #ffffff;
  --field-bd: #b9b9b9;
  --field-radius: 24px;
  --label-red: #e53935;
  --text: #2c2c2c;

  color: var(--text);
  background: #cd9c07;
  padding: 20px 0 40px;
  min-height: 400px;
  position: relative;

  @media only screen and (max-width: 760px) {
    min-height: 250px;
  }

  .container {
    width: 96%;
    max-width: 1200px;
    margin: 0 auto;
  }

  /* ===== header ===== */
  .header {
    background: var(--panel);
    color: #fff600;
    border-radius: 20px 20px 0 0;
    padding: clamp(14px, 2.2vw, 18px) clamp(18px, 3vw, 28px);
    text-align: center;

    @media only screen and (max-width: 760px) {
      border-radius: 8px 8px 0 0;
    }

    .title {
      font-weight: 800;
      letter-spacing: .06em;
      line-height: 1.25;
      font-size: clamp(20px, 3.2vw, 36px);

      @media only screen and (max-width: 760px) {
        font-size: 24px;
      }
    }
  }

  /* ===== form grid ===== */
  .form {
    padding: clamp(18px, 3vw, 28px);
    background: white;
    border-radius: 0 0 20px 20px;

    @media only screen and (max-width: 760px) {
      border-radius: 0 0 8px 8px;
    }

    .columns {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(20px, 3vw, 36px);

      @media only screen and (max-width: 760px) {
        grid-template-columns: 1fr;
      }
    }

    .col {
      .col-title {
        display: block;
        background: var(--panel);
        color: #fff;
        padding: 10px 16px;
        font-weight: 800;
        font-size: clamp(16px, 2.2vw, 22px);
        margin-bottom: 16px;
        text-align: center;

        @media only screen and (max-width: 760px) {
          font-size: 20px;
          margin-bottom: 5px;
          padding: 8px 0;
        }
      }
    }

    /* ===== rows & fields ===== */
    .group {
      display: grid;
      grid-template-columns: minmax(120px, 1fr) 3fr;
      align-items: center;
      gap: 14px;
      padding: 10px 0;

      @media only screen and (max-width: 760px) {
        grid-template-columns: 1fr;
        gap: 5px;
      }

      .label {
        display: flex;
        align-items: baseline;
        gap: 6px;
        font-weight: 700;

        @media only screen and (max-width: 760px) {
          justify-content: center;
        }

        .label-text {
          font-size: clamp(14px, 1.6vw, 18px);

          @media only screen and (max-width: 760px) {
            font-size: 16px;
          }
        }

        .label-text.required {
          color: var(--label-red);

          @media only screen and (max-width: 760px) {
            font-size: 18px;
          }
        }

        .req {
          color: var(--label-red);
          font-weight: 900;
        }

        .opt {
          color: #777;
          font-weight: 700;
          font-size: .95em;
        }
      }

      .input,
      .select,
      .textarea {
        width: 100%;
        background: var(--field-bg);
        border: 1.5px solid var(--field-bd);
        border-radius: var(--field-radius);
        padding: 12px 16px;
        font-size: clamp(14px, 1.5vw, 16px);
        outline: none;
        transition: box-shadow .15s ease, border-color .15s ease;

        @media only screen and (max-width: 760px) {
          border-radius: 8px;
          font-size: 16px;
        }

        &:focus {
          border-color: #ff7a3a;
          box-shadow: 0 0 0 3px rgba(255, 122, 58, .2);
        }

        &::placeholder {
          color: #9da4ae;
        }
      }

      .textarea {
        border-radius: 16px;
        min-height: 160px;
        resize: vertical;
        padding: 12px 14px;
      }

      .select-wrap {
        position: relative;

        .select {
          appearance: none;
          -webkit-appearance: none;
          padding-right: 44px;
          background-color: var(--field-bg);
        }

        .select:hover {
          cursor: pointer;
        }

        &::after {
          content: "";
          position: absolute;
          right: 12px;
          top: 50%;
          width: 0;
          height: 0;
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 10px solid var(--panel);
          transform: translateY(-50%);
          pointer-events: none;
        }
      }
    }

    /* ===== notice ===== */
    .notice {
      grid-column: 1 / -1;
      margin: 12px 0 6px;
      font-size: 16px;
      text-align: center;

      @media only screen and (max-width: 760px) {
        font-size: 14px;
      }

      .policy-link {
        color: var(--label-red);
        text-decoration: underline;
      }

      .policy-link:hover {
        cursor: pointer;
      }
    }

    /* ===== actions / submit ===== */
    .actions {
      display: flex;
      justify-content: center;
      margin: 18px 0 4px;

      .submit {
        width: 80%;
        max-width: 484px;
        border: none;
        background: none;
        padding: 0;
        cursor: pointer;

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

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

        .visually-hidden {
          position: absolute;
          width: 1px;
          height: 1px;
          padding: 0;
          margin: -1px;
          overflow: hidden;
          clip: rect(0, 0, 0, 0);
          white-space: nowrap;
          border: 0;
        }

        &:hover img {
          filter: brightness(1.05);
        }

        &:active img {
          transform: translateY(1px);
        }
      }
    }


    /* ===== generic error (hidden by default) ===== */
    .form-error {
      text-align: center;
      color: var(--label-red);
      font-weight: 700;
      margin-top: 6px;
    }
  }

  .thanks-txt-wrapper {
    width: 80%;
    margin: 24px auto;
    max-width: 720px;
    padding: 30px;
    background-color: white;
    border: 3px solid var(--panel);
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);

    @media only screen and (max-width: 760px) {
      width: 90%;
      padding: 20px 10px;
    }

    .thanks-txt {
      font-size: clamp(16px, 1.6vw, 20px);
      line-height: 1.6;
      font-weight: 500;
      text-align: center;
    }
  }
}

/*---------------------
simple-form プライバシーポリシー
---------------------*/

.policy_modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);

  .modal_content {
    position: relative;
    width: 80vw;
    max-width: 1200px;
    margin: 5vh auto;
    background-color: white;
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transform: translateY(100%);

    @media (max-width: 750px) {
      margin: 5vh auto;
    }
  }

  .modal_content.active {
    opacity: 1;
    transform: translateY(0);
    animation: slideInUp 0.5s ease forwards;
  }

  .modal_close {
    position: absolute;
    top: -15px;
    right: 5px;
    font-size: 50px;
    cursor: pointer;
  }

  .ct_policy {
    border: 0;
    border-radius: 0;
    width: 100%;
    height: 75vh;
    padding: 40px 30px;
    overflow-y: auto;
  }

  .policy_title {
    border-radius: 0;
    background: none;
    font-size: 36px;
    color: black;
    text-align: center;
    margin-bottom: 15px;

    @media (max-width: 750px) {
      font-size: 18px;
    }
  }

  .policy_text {
    height: auto !important;
    line-height: 1.6 !important;
    text-align: left;
  }
}