@charset "UTF-8";

/* CSS Document */
/**********************************
Reset
**********************************/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: 300;
}

body {
  line-height: 1;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

nav ul,
ul,
li {
  list-style: none;
}

li a {
  text-decoration: none;
}

blockquote,
q {
  quotes: none;
}

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

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

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

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

del {
  text-decoration: line-through;
}

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

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

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

input,
select {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
}

/**********************************
Settings
**********************************/
html {
  font-size: 14px;
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #333;
  line-height: 1.5em;
  width: 100%;
}
body.fixed {
  overflow: hidden;
}
/**********************************
Hover
**********************************/
a {
  color: #333;
  font-weight: 500;
  text-decoration: underline;
  transition: all .2s ease;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}
a img {
  transition: all .2s ease;
}
a img:hover {
  opacity: .6;
}
/**********************************
Header Navigation
**********************************/
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 901;
}
.header_wrap {
  width: 96%;
  padding: 7px 2%;
  margin: 0 auto;
  position: relative;
  background-color: rgba(255, 255, 255, .8);
}
.nav_sp {
  width: 68px;
  height: 78px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 401;
}
.nav_unshown {
  display: none;
}
.nav_sp .hamburger {
  width: 68px;
  height: 78px;
  -webkit-transition: .2s;
  transition: .2s;
  cursor: pointer;
  position: relative;
  top: 0;
  right: 0;
  z-index: 902;
}
.nav_sp .hamburger .hamburger_inner {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -16px 0 0 -14px;
  pointer-events: none;
}
#nav_open {
  display: inline-block;
  width: 30px;
  height: 30px;
  top: 0;
  left: 50%;
  margin-left: -15px;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
}
.nav_sp .hamburger span {
  position: absolute;
  width: 30px;
  height: 3px;
  left: 0;
  background-color: #333;
  display: block;
  content: '';
  border-radius: 18px;
  cursor: pointer;
  transition: all .1s linear;
}
#nav_open span:nth-of-type(1) {
  top: 5px;
}
#nav_open span:nth-of-type(2) {
  top: 13px;
}
#nav_open span:nth-of-type(3) {
  bottom: 5px;
}
#nav_check:checked~.hamburger #nav_open span:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: 6px 6px;
}
#nav_check:checked~.hamburger #nav_open span:nth-of-type(2) {
  display: none;
}
#nav_check:checked~.hamburger #nav_open span:nth-of-type(3) {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  transform-origin: 17px -3px;
  width: 30px;
}
#nav_check:checked~.bg_mask {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 800;
  display: block;
  min-width: 100vw;
  height: 100vh;
  background-color: rgba(0,0,0,.7);
  cursor: pointer;
}
.nav_inner {
  position: absolute;
  background-color: #fff;
  top: 0;
  right: -482px;
  width: 440px;
  height: calc(100vh - 24px);
  padding: 0 0 58px;
  z-index: 801;
  overflow: scroll;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
.nav_inner::-webkit-scrollbar {
  display: none;
}
.nav_inner nav > ul {
  width: 82%;
  margin: 86px auto 0;
}
.nav_inner nav > ul > li {
  border-bottom: solid 1px #efefef;
}
.nav_inner nav > ul > li > a {
  padding: 18px 8px;
  color: #222;
  font-size: 1.25rem;
  font-weight: 500;
  display: block;
  position: relative;
}
.nav_inner nav > ul > li > a:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-image: url(../images/nav_plus.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -6px;
}
.nav_inner nav > ul > li > a.is-open:after {
  background-image: url(../images/nav_minus.png);
  width: 12px;
  height: 3px; 
  margin-top: -1.5px;  
}
.nav_inner nav > ul > li > a:hover {
  background-color: #d9d9d9;
}
.nav_inner nav > ul > li > ul {
  display: none;
}
.nav_inner nav > ul > li > ul > li {
  width: auto;
}
.nav_inner nav > ul > li > ul > li > a {
  display: block;
  width: auto;
  padding: 12px 14px;
  position: relative;
}
.nav_inner nav > ul > li > ul > li > a:after {
  content: "";
  display: block;
  width: 8px;
  height: 12px;
  background-image: url(../images/red_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -6px;
}
.nav_inner nav > ul > li > ul > li > a:hover {
  background-color: #d9d9d9;
}
.nav_inner .tel_num {
  width: 82%;
  background-color: #f8f8f9;
  margin: 32px auto 0;
  padding: 24px 0 18px;
}
.nav_inner .tel_num a {
  width: auto;
  display: block;
  text-align: center;
}
.nav_inner .tel_num a span {
  font-family: "Oswald", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  padding-left: 34px;
  position: relative;
}
.nav_inner .tel_num a span:before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background-image: url(../images/tell_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -14px;
}
.nav_inner .tel_num .business_hours {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 6px;
}
.nav_inner .contact_btn {
  width: 82%;
  background-color: #333;
  border-radius: 10px;
  margin: 24px auto 0;
}
.nav_inner .contact_btn:hover {
  background-color: #e03b15;
}
.nav_inner .contact_btn a {
  display: block;
  width: auto;
  text-decoration: none;
  color: #fff;
  text-align: center;
  padding: 8px 0;
}
.nav_inner .contact_btn a span {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
}
#nav_check:checked~.nav_inner {
  right: 0;
  scrollbar-width: none;
  overflow: scroll;
}
.nav_pc {
  display: none;
}
.header_logo_sp {
  width: 170px;
}
.header_logo_sp img {
  width: 100%;
  height: auto;
}
.contents_wrap {
  width: 100%;
  margin: 78px auto 0;
  background-color: #fff;
}
.main_contents {
  width: auto;
  overflow-x: hidden;
}
/**********************************
TOP Page
**********************************/
/***MV***/
.mv_pc {
  width: 100%;
  height: 680px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.mv_pc .mv_bg {
  width: 100%;
  height: 680px;
}
.mv_pc .mv_bg img {
  width: 100%;
  height: 680px;
  object-fit: cover;
}
.mv_pc .mv_message {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
.mv_pc .mv_message .mv_illust {
  width: 97%;
}
.mv_pc .mv_message .mv_illust img {
  width: 100%;
  height: auto;
}
.mv_sp {
  display: none;
}
/***児嶋防災とは***/
#about_us .section_inner {
  width: auto;
  padding: 126px 18px;
}
#about_us .section_inner h2 {
  width: 31%;
  max-width: 244px;
  margin:  0 auto;
}
#about_us .section_inner h2 img {
  width: 100%;
  height: auto;
}
#about_us .section_inner .inner_box {
  width: 90%;
  max-width: 930px;
  margin: 46px auto 0;
}
#about_us .section_inner .inner_box .about_illust {
  margin: 0 auto;
  width: 520px;
}
#about_us .section_inner .inner_box .about_illust img {
  width: 100%;
  height: auto;
}
#about_us .section_inner .inner_box > p {
  margin-top: 46px;
  width: auto;
  line-height: 1.7em;
}
/***業務内容***/
#service {
  background-color: #f4f4f4;
}
#service .section_inner {
  width: auto;
  padding: 126px 18px;
}
#service .section_inner h2 {
  width: 27%;
  max-width: 208px;
  margin:  0 auto;
}
#service .section_inner h2 img {
  width: 100%;
  height: auto;
}
#service .section_inner .inner_box {
  width: 90%;
  max-width: 930px;
  margin: 46px auto 0;
}
#service .section_inner .inner_box .service_wrap {
  width: auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
}
#service .section_inner .inner_box .service_wrap .service_box {
  width: 48%;
  aspect-ratio: 1/1;
  border-radius: 12px;
  background-color: #fff;
  margin: 0 0 4%;
  position: relative;
  transition: all .2s ease;
}
#service .section_inner .inner_box .service_wrap .service_box:after {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background-image: url(../images/service_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: all .2s ease;
}
#service .section_inner .inner_box .service_wrap .service_box:hover:after {
  background-image: url(../images/service_arrow_on.png);
}
#service .section_inner .inner_box .service_wrap .service_box a {
  display: block;
  aspect-ratio: 1/1;
  text-decoration: none;
  border-radius: 12px;
}
#service .section_inner .inner_box .service_wrap .service_box:hover {
  transform: scale(.95,.95);
}
#service .section_inner .inner_box .service_wrap .service_box a h3 {
  width: 98%;
  text-align: center;
  margin: 0 auto;
  padding-top: 28px;
  font-weight: 700;
}
#service .section_inner .inner_box .service_wrap .service_box:first-of-type a .illust {
  width: 60%;
  margin: 56px auto 0;
}
#service .section_inner .inner_box .service_wrap .service_box:nth-of-type(2) a .illust {
  width: 62%;
  margin: 48px auto 0;
}
#service .section_inner .inner_box .service_wrap .service_box:nth-of-type(3) a .illust {
  width: 75%;
  margin: 46px auto 0;
}
#service .section_inner .inner_box .service_wrap .service_box:nth-of-type(4) a .illust {
  width: 65%;
  margin: 56px auto 0;
}
#service .section_inner .inner_box .service_wrap .service_box:last-of-type a .illust {
  width: 60%;
  margin: 36px auto 0;
}
#service .section_inner .inner_box .service_wrap .service_box a .illust img {
  width: 100%;
  height: auto;
}
#service .section_inner .inner_box .service_wrap .service_box a:hover .illust img {
  opacity: 1;
}
/***児嶋防災の強み***/
#strengths .section_inner {
  width: auto;
  padding: 126px 18px;
}
#strengths .section_inner h2 {
  width: 98%;
  max-width: 736px;
  margin:  0 auto;
}
#strengths .section_inner h2 img {
  width: 100%;
  height: auto;
}
#strengths .section_inner .inner_box {
  width: 90%;
  max-width: 930px;
  margin: 46px auto 0;
}
#strengths .section_inner .inner_box .illust {
  margin: 0 auto;
  width: 440px;
}
#strengths .section_inner .inner_box .illust img {
  width: 100%;
  height: auto;
}
#strengths .section_inner .inner_box .text {
  width: auto;
}
#strengths .section_inner .inner_box .text > p {
  margin-top: 46px;
  width: auto;
  line-height: 1.7em;
}
#strengths .section_inner .inner_box .text .more_btn {
  margin: 56px auto 0;
}
/***導入事例***/
#use_case {
  background-color: #f4f4f4;
}
#use_case .section_inner {
  width: auto;
  padding: 126px 18px;
}
#use_case .section_inner h2 {
  width: 32%;
  max-width: 236px;
  margin:  0 auto;
}
#use_case .section_inner h2 img {
  width: 100%;
  height: auto;
}
#use_case .section_inner .inner_box {
  width: 90%;
  max-width: 930px;
  margin: 46px auto 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
}
#use_case .section_inner .inner_box .use_case_box {
  width: 31%;
  margin: 0 3.5% 0 0;
}
#use_case .section_inner .inner_box .use_case_box:nth-of-type(3) {
  margin: 0 0 0 auto;
}
#use_case .section_inner .inner_box .use_case_box .thumb {
  width: 100%;
  aspect-ratio: 1.4/1;
  border-radius: 14px;
}
#use_case .section_inner .inner_box .use_case_box .thumb img {
  width: 100%;
  aspect-ratio: 1.4/1;
  object-fit: cover;
  border-radius: 14px;
}
#use_case .section_inner .inner_box .use_case_box .title {
  width: auto;
}
#use_case .section_inner .inner_box .use_case_box .title a {
  text-decoration: none;
  display: block;
  width: auto;
  font-weight: 700;
  padding: 12px 26px 12px 2px;
  position: relative;
  border-bottom: solid 1px #e03b15;
}
#use_case .section_inner .inner_box .use_case_box .title a:hover {
  color: #e03b15;
}
#use_case .section_inner .inner_box .use_case_box .title a:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../images/circle_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -10px;
  transition: all .15s ease;
}
#use_case .section_inner .inner_box .use_case_box .title a:hover:after {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}

#use_case .section_inner .inner_box .use_case_box > p {
  font-size: 0.875rem;
  margin-top: 16px;
  line-height: 1.9em;
}
#use_case .section_inner .more_btn {
  margin: 68px auto 0;
}
#use_case .section_inner .now_prepare {
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  margin-top: 68px;
}
/***お客様の声***/
#voice .section_inner {
  width: auto;
  padding: 126px 18px;
}
#voice .section_inner h2 {
  width: 20%;
  max-width: 148px;
  margin:  0 auto;
}
#voice .section_inner h2 img {
  width: 100%;
  height: auto;
}
#voice .section_inner .inner_box {
  width: 90%;
  max-width: 930px;
  margin: 46px auto 0;
}
#voice .section_inner .inner_box .voice_box {
  width: auto;
  background-color: #f7f7f7;
  border-radius: 16px;
  display: -webkit-box;
  display: flex;
  justify-content: space-around;
  -webkit-box-align: center;
  align-items: center;
  padding: 36px 0;
  margin-bottom: 36px;
}
#voice .section_inner .inner_box .voice_box .illust {
  width: 24%;
}
#voice .section_inner .inner_box .voice_box .illust img {
  width: 100%;
  height: auto;
}
#voice .section_inner .inner_box .voice_box .text {
  width: 61%;
}
#voice .section_inner .inner_box .voice_box .text > h3 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .1em;
}
#voice .section_inner .inner_box .voice_box .text > p {
  margin-top: 18px;
  line-height: 1.9em;
}
/***お知らせ***/
#info {
  background-color: #f4f4f4;
}
#info .section_inner {
  width: auto;
  padding: 126px 18px;
}
#info .section_inner h2 {
  width: 44%;
  max-width: 346px;
  margin:  0 auto;
}
#info .section_inner h2 img {
  width: 100%;
  height: auto;
}
#info .section_inner .info_table {
  width: 90%;
  max-width: 930px;
  margin: 64px auto 0;
  background-color: #fff;
  border-radius: 14px;
  padding: 18px 0 46px;
}
#info .section_inner .info_table table {
  width: 88%;
  margin: 0 auto;
}
#info .section_inner .info_table table tr {
  border-bottom: solid 1px #ddd;
}
#info .section_inner .info_table table tr td:first-of-type {
  width: 16%;
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #e03b15;
  text-align: center;
  padding: 24px 2%;
}
#info .section_inner .info_table table tr td:last-of-type {
  padding: 24px 14px;
}
#info .section_inner .now_prepare {
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  margin-top: 68px;
}
/**********************************
Sub page
**********************************/
.sub_page .page_inner {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page .page_inner .title_wrap {
  width: 100%;
  height: 496px;
  background-image: url(../images/mv_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.sub_page .page_inner .title_wrap .title_bg {
  width: auto;
  height: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}

.sub_page .page_inner .title_wrap .title_bg > h2 {
  font-size: 2.375rem;
  letter-spacing: .1em;
  line-height: 1.7em;
  font-weight: 600;
  margin: 0 auto;
}

.section_inner .section_body > h2 {
  text-align: center;
  font-size: 1.75rem;
  line-height: 1.7em;
  font-weight: 600;
  position: relative;
  padding-top: 68px;
}
.section_inner .section_body > h2:before {
  content: "";
  display: block;
  width: 56px;
  height: 56px;
  background-image: url(../images/h_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -28px;
}
.section_inner .section_body > h3 {
  width: auto;
  font-size: 1.5rem;
  line-height: 1.5em;
  font-weight: 600;
  padding: 6px 24px 6px 12px;
  border-left: solid 4px #e03b15;
  margin-top: 86px;
}
/***会社概要***/
.sub_page .company .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .company .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
}
.sub_page .company .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .company .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
/*ご挨拶*/
.sub_page #company01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #company01 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #company01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #company01 .section_inner .section_body > p {
  margin-top: 46px;
  line-height: 1.7em;
}
.sub_page #company01 .section_inner .section_body .president_name {
  width: 158px;
  line-height: 1.7em;
  margin: 46px 0 0 auto;
}
/*経営理念*/
.sub_page #company02 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #company02 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #company02 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #company02 .section_inner .section_body ul {
  border: solid 1px #a7a7a7;
  background-color: #fff;
  border-radius: 24px;
  max-width: 100%;
  padding: 40px 20px 10px 64px;
  margin: 46px auto 0;
}
.sub_page #company02 .section_inner .section_body ul li {
  list-style: decimal;
  font-size: 1.25rem;
  line-height: 1.5em;
  margin-bottom: 34px;
}
.sub_page #company02 .section_inner .section_body ul li span {
  font-weight: 700;
  color: #e03b15;
}
/*会社概要*/
.sub_page #company03 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #company03 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #company03 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #company03 .section_inner .section_body > table {
  width: 100%;
  margin-top: 46px;
  border-top: solid 1px #a7a7a7;
}
.sub_page #company03 .section_inner .section_body > table tr {
  border-bottom: solid 1px #a7a7a7;
}
.sub_page #company03 .section_inner .section_body > table th {
  width: 20%;
  padding: 13px 1%;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.7em;
  background-color: #e03b15;
  color: #fff;
}
.sub_page #company03 .section_inner .section_body > table td {
  width: 68%;
  padding: 13px 4% 13px 6%;
  line-height: 1.7em;
}
.sub_page #company03 .section_inner .section_body > table td dl {
  margin-bottom: 16px;
}
.sub_page #company03 .section_inner .section_body > table td dl dt {
  font-weight: 700;
  margin-top: 16px;
}
.sub_page #company03 .section_inner .section_body > table td dl dd {
  line-height: 1.7em;
}
/*沿革*/
.sub_page #company04 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #company04 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #company04 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #company04 .section_inner .section_body > table {
  width: 100%;
  margin-top: 46px;
  border-top: solid 1px #a7a7a7;
  background-color: #fff;
}
.sub_page #company04 .section_inner .section_body > table tr {
  border-bottom: solid 1px #a7a7a7;
}
.sub_page #company04 .section_inner .section_body > table th {
  width: 28%;
  padding: 16px 2%;
  line-height: 1.7em;
  text-align: right;
}
.sub_page #company04 .section_inner .section_body > table td {
  width: 64%;
  padding: 16px 2%;
  line-height: 1.7em;
}

/*アクセス*/
.sub_page #company05 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #company05 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #company05 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #company05 .section_inner .section_body .access_info {
  margin-top: 32px;
  line-height: 1.7em;
}
.sub_page #company05 .section_inner .section_body .g_map {
  margin-top: 32px;
  width: 100%;
}
.sub_page #company05 .section_inner .section_body .g_map iframe {
  width: 100%;
  height: 400px;
}
/*資格・許認可*/
.sub_page #company06 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #company06 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #company06 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #company06 .section_inner .section_body ul {
  margin-top: 32px;
  padding-left: 32px;
}
.sub_page #company06 .section_inner .section_body ul li {
  line-height: 1.5em;
  font-size: 1.125rem;
  margin-bottom: 14px;
  list-style: disc;
}
/***事業内容***/
.sub_page .service .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .service .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
}
.sub_page .service .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .service .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
.sub_page .section_inner .section_body .dot_list {
  margin: 36px 0 0 18px;
}
.sub_page .section_inner .section_body .dot_list li {
  list-style: disc;
  margin-top: 14px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5em;
}
/*消防設備の設計・施工*/
.sub_page #service01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #service01 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #service01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #service01 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #service01 .section_inner .section_body .service_items_wrap {
  width: auto;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-top: 36px;
}
.sub_page #service01 .section_inner .section_body .service_items_wrap .items_box {
  width: 31%;
  margin-left: 2.3%;
  margin-bottom: 36px;
}
.sub_page #service01 .section_inner .section_body .service_items_wrap .items_box:nth-of-type(3n+1) {
  margin-left: 0;
}
.sub_page #service01 .section_inner .section_body .service_items_wrap .items_box .illust {
  border: solid 1px #d9d9d9;
  border-radius: 14px;
  width: 100%;
  aspect-ratio: 1 / 1;
}
.sub_page #service01 .section_inner .section_body .service_items_wrap .items_box .illust img {
  display: block;
  width: 96%;
  height: auto;
  margin: 0 auto;
}
.sub_page #service01 .section_inner .section_body .service_items_wrap .items_box .subject {
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 8px;
}
.sub_page #service01 .section_inner .section_body .cta_message {
  margin-top: 56px;
}
.sub_page #service01 .section_inner .section_body .cta_message a {
  color: #e03b15;
}

/*点検・保守管理*/
.sub_page #service02 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #service02 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #service02 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #service02 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #service02 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #service02 .section_inner .section_body .cta_message a {
  color: #e03b15;
}

/*防災物品・非常食の販売*/
.sub_page #service03 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #service03 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #service03 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #service03 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #service03 .section_inner .section_body .service_items_wrap {
  width: auto;
  display: -webkit-box;
  display: flex;
  margin-top: 36px;
}
.sub_page #service03 .section_inner .section_body .service_items_wrap .items_box {
  width: 25%;
  margin-right: 38px;
}
.sub_page #service03 .section_inner .section_body .service_items_wrap .items_box .illust {
  border: solid 1px #d9d9d9;
  border-radius: 14px;
  width: 100%;
  padding: 14px 12px;
  aspect-ratio: 1.48 / 1;
}
.sub_page #service03 .section_inner .section_body .service_items_wrap .items_box .illust img {
  display: block;
  width: 92%;
  height: auto;
  margin: 0 auto;
}
.sub_page #service03 .section_inner .section_body .service_items_wrap .items_box .subject {
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 8px;
}
.sub_page #service03 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #service03 .section_inner .section_body .cta_message a {
  color: #e03b15;
}

/*定期点検契約*/
.sub_page #service04 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #service04 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #service04 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #service04 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}

.sub_page #service04 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #service04 .section_inner .section_body .cta_message a {
  color: #e03b15;
}

/***保守管理の重要性***/
.sub_page .maintenance .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .maintenance .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
}
.sub_page .maintenance .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .maintenance .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
/*なぜ点検が必要なのか*/
.sub_page #maintenance01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #maintenance01 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #maintenance01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #maintenance01 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
/*点検未実施のリスク事例*/
.sub_page #maintenance02 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #maintenance02 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #maintenance02 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #maintenance02 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #maintenance02 .section_inner .section_body .case_items_wrap {
  width: auto;
  display: -webkit-box;
  display: flex;
  margin-top: 36px;
}
.sub_page #maintenance02 .section_inner .section_body .case_items_wrap .items_box {
  width: 22%;
  margin-right: 54px;
}
.sub_page #maintenance02 .section_inner .section_body .case_items_wrap .items_box .illust {
  border: solid 1px #d9d9d9;
  border-radius: 14px;
  width: 100%;
  padding: 14px 12px;
  aspect-ratio: 1.48 / 1;
  background-color: #fff;
}
.sub_page #maintenance02 .section_inner .section_body .case_items_wrap .items_box .illust img {
  display: block;
  width: 92%;
  height: auto;
  margin: 0 auto;
}

/*児嶋防災の強み*/
.sub_page #maintenance03 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #maintenance03 .section_inner {
  width: auto;
  padding: 126px 18px 68px;
}
.sub_page #maintenance03 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #maintenance03 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #maintenance03 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #maintenance03 .section_inner .section_body .cta_message a {
  color: #e03b15;
}

/***お役立ち情報***/
.sub_page .tips_hints .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .tips_hints .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
}
.sub_page .tips_hints .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .tips_hints .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
/*消防署が来ると言われたら*/
.sub_page #tips01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #tips01 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #tips01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #tips01 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #tips01 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #tips01 .section_inner .section_body .cta_message a {
  color: #e03b15;
}
/*消火器の選び方*/
.sub_page #tips02 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #tips02 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #tips02 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #tips02 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #tips02 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #tips02 .section_inner .section_body .cta_message a {
  color: #e03b15;
}
/*建築会社・工務店向け*/
.sub_page #tips03 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #tips03 .section_inner {
  width: auto;
  padding: 126px 18px 68px;
}
.sub_page #tips03 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #tips03 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #tips03 .section_inner .section_body .cta_message {
  margin-top: 96px;
}
.sub_page #tips03 .section_inner .section_body .cta_message a {
  color: #e03b15;
}

/***実績・お客様の声***/
.sub_page .achievements .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .achievements .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 864px;
  margin: 0 auto;
}
.sub_page .achievements .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .achievements .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
/*導入実績のご紹介*/
.sub_page #achievements01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #achievements01 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #achievements01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #achievements01 .section_inner .section_body > p {
  width: 90%;
  max-width: 960px;
  margin: 64px auto 0;
}
.sub_page #achievements01 .section_inner .section_body .case_wrap {
  background-color: #d9d9d9;
  width: auto;
  margin: 64px auto 0;
  border-radius: 12px;
  display: -webkit-box;
  display: flex;
  padding: 36px;
}
.sub_page #achievements01 .section_inner .section_body .case_wrap .photo {
  width: 38%;
}
.sub_page #achievements01 .section_inner .section_body .case_wrap .photo img {
  width: 100%;
  height: auto;
}
.sub_page #achievements01 .section_inner .section_body .case_wrap .text {
  margin-left: auto;
  width: 57%;
}
.sub_page #achievements01 .section_inner .section_body .case_wrap .text h3 {
  font-size: 1.25rem;
  font-weight: 700;
}
.sub_page #achievements01 .section_inner .section_body .case_wrap .text p {
  margin-top: 14px;
  line-height: 1.7em;
}
/*お客様の声*/
.sub_page #achievements02 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #achievements02 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #achievements02 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap:nth-of-type(odd) {
  width: auto;
  margin: 68px auto 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap:nth-of-type(even) {
  width: auto;
  margin: 68px auto 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  flex-direction: row-reverse;
  -webkit-box-align: center;
  align-items: center;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap:nth-of-type(odd) .photo {
  margin-right: auto;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap:nth-of-type(even) .photo {
  margin-left: auto;
}

.sub_page #achievements02 .section_inner .section_body .voice_wrap .photo {
  width: 16%;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap .photo img {
  width: 100%;
  height: auto;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap .text {
  width: 65%;
  background-color: #fff;
  padding: 36px;
  border-radius: 12px;
  position: relative;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap .text h3 {
  font-size: 1.25rem;
  font-weight: 700;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap .text p {
  margin-top: 14px;
  line-height: 1.7em;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap:nth-of-type(odd) .text:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 15px 30px 15px 0;
  border-color: transparent #fff transparent transparent;
  translate: -100% -50%;
}
.sub_page #achievements02 .section_inner .section_body .voice_wrap:nth-of-type(even) .text:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-style: solid;
  border-width: 15px 0 15px 30px;
  border-color: transparent transparent transparent #fff;
  translate: 100% -50%;
}
.sub_page #achievements02 .section_inner .section_body .cta_message {
  margin-top: 96px;
  line-height: 1.9em;
}
.sub_page #achievements02 .section_inner .section_body .cta_message a {
  color: #e03b15;
}


/***法令・規制情報***/
.sub_page .regulations .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .regulations .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
}
.sub_page .regulations .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .regulations .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
/***お問い合わせ***/
.sub_page .contact_form .title_wrap .title_bg .title_box {
  width: 100%;
}
.sub_page .contact_form .title_wrap .title_bg .title_box .pc_title {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
}
.sub_page .contact_form .title_wrap .title_bg .title_box .pc_title img {
  width: 100%;
  height: auto;
}
.sub_page .contact_form .title_wrap .title_bg .title_box .sp_title {
  display: none;
}
.sub_page #contact01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #contact01 .section_inner {
  width: auto;
  padding: 86px 18px 126px;
}
.sub_page #contact01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #contact01 .section_inner .section_body .contact_table {
  background-color: rgba(245, 245, 245, 0.5); 
  width: auto;
  padding: 40px 64px 76px;
  border: solid 2px #333;
  border-radius: 12px;
}

.sub_page #contact01 .section_inner .section_body .contact_table table {
  width: 100%;
}
.sub_page #contact01 .section_inner .section_body .contact_table table tr {
}
.sub_page #contact01 .section_inner .section_body .contact_table table th {
  display: block;
  width: 100%;
  font-weight: 500;
  text-align: left;
  color: #333;
  margin-bottom: 8px;
  margin-top: 36px;
}
.sub_page #contact01 .section_inner .section_body .contact_table table th span {
  font-size: 0.875rem;
  color: #e03b15;
  margin-left: 12px;
}
.sub_page #contact01 .section_inner .section_body .contact_table table td {
  display: block;
  width: 100%;
}
.sub_page #contact01 .section_inner .section_body .contact_table table td input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: calc(96% - 4px);
  background-color: #fff;
  border: solid 2px rgba(94, 76, 56, 0.3);
  padding: 16px 2%;
  font-size: 0.875rem;
  border-radius: 8px;
}
.sub_page #contact01 .section_inner .section_body .contact_table table td textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: calc(96% - 4px);
  background-color: #fff;
  border: solid 2px rgba(94, 76, 56, 0.3);
  padding: 16px 2%;
  font-size: 0.875rem;
  border-radius: 8px;
}

.sub_page #contact01 .section_inner .section_body .contact_table table ::placeholder {
  color: #a7a7a7;
}

.sub_page #contact01 .section_inner .section_body .contact_table .submit_btn {
  width: 220px;
  display: block;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  margin: 48px auto 0;
  cursor: pointer;
}

.sub_page #contact01 .section_inner .section_body .contact_table .submit_btn input[type="submit"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  text-align: center;
  padding: 14px 0;
  font-weight: 500;
  background-color: #333;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1.125rem;
  letter-spacing: .1em;
}

.wpcf7-spinner {
  display: none !important;
}
.sub_page #contact01 .section_inner .section_body .contact_table .submit_btn input[type="submit"]:hover {
  background-color: #e03b15;
  color: #fff;
}
.sub_page #contact01 .section_inner .section_body .contact_table .pp_info {
  text-align: center;
  margin-top: 36px;
  line-height: 1.7em;
}
.google_annotation {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  margin: 24px 0 86px;
}
.grecaptcha-badge {
  visibility: hidden;
}

/***よくあるご質問***/
.sub_page #faq01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #faq01 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #faq01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #faq01 .section_inner .section_body > p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7em;
  margin-top: 46px;
}
.sub_page #faq01 .section_inner .section_body .answer {
  width: auto;
  margin: 64px auto 0;
  font-size: 1.25rem;
  line-height: 2.5em;
}
.sub_page #faq01 .section_inner .section_body .answer span {
  font-weight: 600;
  border-bottom: solid 3px #e03b15;
}
.sub_page #faq02 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #faq02 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #faq02 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #faq02 .section_inner .section_body > p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7em;
  margin-top: 46px;
}
.sub_page #faq02 .section_inner .section_body .answer {
  width: auto;
  margin: 64px auto 0;
  font-size: 1.25rem;
  line-height: 2.5em;
}
.sub_page #faq02 .section_inner .section_body .answer span {
  font-weight: 600;
  border-bottom: solid 3px #e03b15;
}
.sub_page #faq03 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #faq03 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #faq03 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #faq03 .section_inner .section_body > p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7em;
  margin-top: 46px;
}
.sub_page #faq03 .section_inner .section_body .answer {
  width: auto;
  margin: 64px auto 0;
  font-size: 1.25rem;
  line-height: 2.5em;
}
.sub_page #faq03 .section_inner .section_body .answer span {
  font-weight: 600;
  border-bottom: solid 3px #e03b15;
}
.sub_page #faq04 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #faq04 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #faq04 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #faq04 .section_inner .section_body > p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7em;
  margin-top: 46px;
}
.sub_page #faq04 .section_inner .section_body .answer {
  width: auto;
  margin: 64px auto 0;
  font-size: 1.25rem;
  line-height: 2.5em;
}
.sub_page #faq04 .section_inner .section_body .answer span {
  font-weight: 600;
  border-bottom: solid 3px #e03b15;
}

.sub_page #faq05 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #faq05 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #faq05 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #faq05 .section_inner .section_body > p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7em;
  margin-top: 46px;
}
.sub_page #faq05 .section_inner .section_body .answer {
  width: auto;
  margin: 64px auto 0;
  font-size: 1.25rem;
  line-height: 2.5em;
}
.sub_page #faq05 .section_inner .section_body .answer span {
  font-weight: 600;
  border-bottom: solid 3px #e03b15;
}

.sub_page #faq06 {
  width: 100%;
  max-width: 1920px;
  background-color: #f4f4f4;
  margin: 0 auto;
}
.sub_page #faq06 .section_inner {
  width: auto;
  padding: 126px 18px;
}
.sub_page #faq06 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #faq06 .section_inner .section_body > p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7em;
  margin-top: 46px;
}
.sub_page #faq06 .section_inner .section_body .answer {
  width: auto;
  margin: 64px auto 0;
  font-size: 1.25rem;
  line-height: 2.5em;
}
.sub_page #faq06 .section_inner .section_body .answer span {
  font-weight: 600;
  border-bottom: solid 3px #e03b15;
}

.sub_page #faq06 .section_inner .section_body .cta_message {
  margin-top: 96px;
  line-height: 1.9em;
}
/***プライバシーポリシー***/
.sub_page #privacy01 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page #privacy01 .section_inner {
  width: auto;
  padding: 64px 18px;
}
.sub_page #privacy01 .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page #privacy01 .section_inner .section_body > h2 {
  margin-top: 86px;
}
.sub_page #privacy01 .section_inner .section_body > p {
  margin-top: 46px;
  line-height: 1.7em;
}
/***固定ページ追加時の共通設定***/
.sub_page .add_page {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.sub_page .add_page .section_inner {
  width: auto;
  padding: 64px 18px;
}
.sub_page .add_page .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.sub_page .add_page .section_inner .section_body > p {
  margin-top: 46px;
  line-height: 1.7em;
}
/**********************************
Single page
**********************************/
.single_page .page_inner {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.single_page .page_inner .title_wrap {
  width: 100%;
  height: 496px;
  background-image: url(../images/mv_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.single_page .page_inner .title_wrap .title_bg {
  width: auto;
  height: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}
.single_page .page_inner .title_wrap .title_bg > h2 {
  font-size: 2.375rem;
  letter-spacing: .1em;
  line-height: 1.7em;
  font-weight: 600;
  margin: 0 auto;
}
.single_page .page_inner  > section {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.single_page .page_inner > section .section_inner {
  width: auto;
  padding: 126px 18px;
}
.single_page .page_inner > section .section_inner .section_body {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
/**********************************
Category page
**********************************/
.category_page .page_inner {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.category_page .page_inner .title_wrap {
  width: 100%;
  height: 496px;
  background-image: url(../images/mv_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.category_page .page_inner .title_wrap .title_bg {
  width: auto;
  height: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}
.category_page .page_inner .title_wrap .title_bg > h2 {
  font-size: 2.375rem;
  letter-spacing: .1em;
  line-height: 1.7em;
  font-weight: 600;
  margin: 0 auto;
}
.category_page .page_inner.info .inner_wrap {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto; 
}
.category_page .page_inner.info .inner_wrap .inner_body {
  width: auto;
  padding: 86px 18px 36px;
}
.category_page .page_inner.info .inner_wrap .inner_body > table {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
.category_page .page_inner.info .inner_wrap .inner_body > table tr {
  border-bottom: solid 1px #ddd;
}
.category_page .page_inner.info .inner_wrap .inner_body > table td:first-of-type {
  width: 16%;
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #e03b15;
  text-align: center;
  padding: 24px 2%;
}
.category_page .page_inner.info .inner_wrap .inner_body > table td:last-of-type {
  padding: 24px 14px;
}
.category_page .page_inner.info .inner_wrap .inner_body .now_prepare {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  margin-top: 68px;
}
/***共通***/
.more_btn {
  margin: 46px auto 0;
  width: 326px;
}
.more_btn a {
  display: block;
  width: auto;
  background-color: #333;
  border-radius: 12px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  padding: 18px 0;
  text-decoration: none;
  position: relative;
}
.more_btn a:hover {
  background-color: #e03b15;
}
.more_btn a:after {
  content: "";
  display: block;
  width: 10px;
  height: 16px;
  background-image: url(../images/white_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -8px;
}
/***コンタクトセクション***/
.contact {
  width: auto;
  padding: 96px 18px 126px;
  background-color: #fff;
}
.contact > h2 {
  text-align: center;
  margin: 0 auto;
  font-size: 1.125rem;
  line-height: 1.9em;
  font-weight: 700;
}
.contact .contact_box {
  width: 90%;
  max-width: 930px;
  margin: 46px auto 0;
  border: solid 1px #d9d9d9;
  border-radius: 12px;
}
.contact .contact_box .tel {
  width: auto;
  padding: 38px 0;
}
.contact .contact_box .tel > h3 {
  text-align: center;
  font-weight: 700;
}
.contact .contact_box .tel .tel_num {
  width: auto;
  margin-top: 18px;
}
.contact .contact_box .tel .tel_num a {
  width: auto;
  display: block;
  text-align: center;
}
.contact .contact_box .tel .tel_num a span {
  font-family: "Oswald", sans-serif;
  font-size: 2.125rem;
  font-weight: 700;
  letter-spacing: 2px;
  padding-left: 46px;
  position: relative;
}
.contact .contact_box .tel .tel_num a span:before {
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background-image: url(../images/tell_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -19px;
}
.contact .contact_box .tel .business_hours {
  text-align: center;
  margin-top: 10px;
  line-height: 1.7em;
}
.contact .contact_box .tel .business_hours span {
  font-size: 1.375rem;
}
.contact .contact_box .form {
  width: auto;
  padding: 38px 0;
  border-top: solid 1px #d9d9d9;
}
.contact .contact_box .form > h3 {
  text-align: center;
  font-size: 1.125rem;
  position: relative;
  padding-top: 44px;
}
.contact .contact_box .form > h3:before {
  content: "";
  display: block;
  width: 38px;
  height: 38px;
  background-image: url(../images/mail_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -19px;
}
.contact .contact_box .form .contact_btn {
  margin: 16px auto 0;
  width: 326px;
}
.contact .contact_box .form .contact_btn a {
  display: block;
  width: auto;
  background-color: #333;
  border-radius: 12px;
  text-align: center;
  color: #fff;
  line-height: 1.7em;
  padding: 12px 0;
  text-decoration: none;
  position: relative;
}
.contact .contact_box .form .contact_btn a:hover {
  background-color: #e03b15;
}
.contact .contact_box .form .contact_btn a:after {
  content: "";
  display: block;
  width: 10px;
  height: 16px;
  background-image: url(../images/white_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -8px;
}
.contact .contact_box .form .contact_btn a span {
  font-weight: 700;
}
.contact_btn_fixed {
  width: 256px;
  position: fixed;
  left: 14px;
  bottom: 14px;
}
.contact_btn_fixed a {
  display: block;
  width: auto;
  background-color: #333;
  border-radius: 12px;
  color: #fff;
  line-height: 1.7em;
  padding: 12px 18px;
  text-decoration: none;
  position: relative;
}
.contact_btn_fixed a:hover {
  background-color: #e03b15;
}
.contact_btn_fixed a:after {
  content: "";
  display: block;
  width: 10px;
  height: 16px;
  background-image: url(../images/white_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -8px;
}
.contact_btn_fixed a span {
  font-size: 1.125rem;
  font-weight: 700;
}
/**********************************
パンくずリスト
**********************************/
.breadcrumbs {
  width: auto;
  padding: 12px 36px;
}
.breadcrumbs > a {
  font-size: 0.875rem;
}
.breadcrumbs .breadcrumb-separator {
  margin: 0 10px;
}
.breadcrumbs .current-page {
  font-weight: 500;
  color: #555;
}

ul.page-numbers {
  margin-top: 96px;
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}

ul.page-numbers li .current {
  display: block;
  width: 26px;
  height: 25px;
  padding: 10px 8px 13px;
  text-align: center;
  margin: 0 7px;
  background-color: #111;
  color: #fff;
  border-radius: 8px;
}

ul.page-numbers li .dots {
  display: block;
  width: 26px;
  height: 25px;
  padding: 6px 8px 17px;
  text-align: center;
  margin: 0 7px;
  font-size: 1.125rem;
}

ul.page-numbers li a {
  display: block;
  width: 26px;
  height: 25px;
  padding: 10px 8px 13px;
  text-align: center;
  margin: 0 7px;
  background-color: #ccc;
  transition: all .15s ease;
  border-radius: 8px;
}

ul.page-numbers li a:hover {
  transform: scale(.9,.9);
  filter: none;
  opacity: 1;
}
/**********************************
404
**********************************/
.not_found .page_inner {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.not_found .page_inner .title_wrap {
  width: 100%;
  height: 296px;
  background-image: url(../images/mv_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.not_found .page_inner .title_wrap .title_bg {
  width: auto;
  height: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
.not_found .page_inner .title_wrap .title_bg h2 {
  font-size: 1.5rem;
  letter-spacing: .1em;
  font-weight: 600;
  text-align: center;
}
.not_found .page_inner .inner_wrap {
  width: auto;
  padding: 0 36px;
}
.not_found .page_inner .inner_wrap .not_found_info {
  text-align: center;
  padding: 96px 0 24px;
  font-size: 1.125rem;
  line-height: 1.9em;
}
/**********************************
Footer
**********************************/
.anshin_bnr_sp {
  position: fixed;
  right: 14px;
  bottom: 14px;
  width: 290px;
}
.anshin_bnr_sp img {
  width: 100%;
  height: auto;
}
footer {
  width: 100%;
  background-color: #333;
}
footer .footer_inner {
  width: auto;
  padding: 70px 36px 24px;
}
footer .footer_inner .footer_left {
  width: 400px;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}
footer .footer_inner .footer_left .footer_logo {
  width: 56px;
}
footer .footer_inner .footer_left .footer_logo img {
  width: 100%;
  height: auto;
}
footer .footer_inner .footer_left .compony_info {
  margin-left: 24px;
}
footer .footer_inner .footer_left .compony_info > h1 {
  font-size: 1.5rem;
}
footer .footer_inner .footer_left .compony_info > h1 a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
footer .footer_inner .footer_left .compony_info .address {
  color: #fff;
  font-size: 0.875rem;
  margin-top: 14px;
}
footer .footer_inner .footer_left .compony_info .address a {
  color: #fff;
  text-decoration: none;
}
footer .footer_inner .footer_right {
  margin-top: 36px;
  width: auto;
  display: -webkit-box;
  display: flex;
}
footer .footer_inner .footer_right ul {
  width: 33%;
  margin-left: auto;
}
footer .footer_inner .footer_right ul li {
  margin-bottom: 18px;
}
footer .footer_inner .footer_right ul li a {
  color: #fff;
  font-weight: 500;
  font-size: 0.875rem;
}
footer .footer_inner .footer_right ul li a:hover {
  opacity: .5;
}
footer .copyright {
  width: auto;
  text-align: center;
  padding-bottom: 24px;
  color: #fff;
  font-size: 0.75rem;
}
a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
.sp_only {
  display: none;
}