@charset "UTF-8";
dd,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
ul {
  margin: 0;
  padding: 0;
}

/* 
.taL,
th {
    text-align: left
}
#page-top a,
a {
    text-decoration: none
}
.clear,
.clearfix,
footer,
table.form {
    clear: both
}
.office label:before,
.time label:before {
    top: 50%;
    content: ""
}
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}
button {
    overflow: visible
}
button,
select {
    text-transform: none
}
.chizu_btn,
.modoru_btn {
    text-transform: uppercase
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}
button[disabled],
html input[disabled] {
    cursor: default
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}
input {
    line-height: normal;
    vertical-align: middle
}
input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    height: auto
}
input[type=search] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}*/
dl,
li,
ol,
ul {
  list-style: none;
}

* html ul {
  height: 1%;
}

article,
footer,
header,
nav,
section,
ul {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
  width: 100%;
}

th {
  font-weight: 400;
}

button,
input,
select,
textarea {
  border-radius: 0;
}

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

.clearfix {
  min-height: 1%;
}

* html .clearfix {
  height: 1%;
}

*,
:after,
:before {
  box-sizing: border-box;
}

/* .fb {
    font-weight: 700;
}
.fn {
    font-weight: 400;
}
.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.fL {
    float: left;
}
#page-top a,
.fR {
    float: right;
}
.p02 {
    padding: 2px;
}
.p05 {
    padding: 5px
}
.p10 {
    padding: 10px
}
.p20 {
    padding: 20px
}
.pt10,
.ptb-10 {
    padding-top: 10px
}
.pb10,
.ptb-10 {
    padding-bottom: 10px
}
.prl-10 {
    padding-right: 10px;
    padding-left: 10px
}
.prl-20 {
    padding-right: 20px;
    padding-left: 20px
}
.pt20 {
    padding-top: 20px
}
.pt30 {
    padding-top: 30px
}
.pl40 {
    padding-left: 40px
}
.pl50 {
    padding-left: 50px
}
.pl75 {
    padding-left: 75px
}
.ma {
    margin: auto
}
.m05 {
    margin: 5px
}
.m10 {
    margin: 10px
}
.mt05 {
    margin-top: 5px
}
.mt10 {
    margin-top: 10px
}
.mt15 {
    margin-top: 15px
}
.mt20 {
    margin-top: 20px
}
.mt30 {
    margin-top: 30px
}
.mt40 {
    margin-top: 40px
}
.mt50 {
    margin-top: 50px
}
.mb0 {
    margin-bottom: 0 !important;
}
.mb05 {
    margin-bottom: 5px
}
.mb10 {
    margin-bottom: 10px
}
.mb20 {
    margin-bottom: 20px
}
.mb30 {
    margin-bottom: 30px
}
.mb50 {
    margin-bottom: 50px
}
.mrl05 {
    margin-right: 5px;
    margin-left: 5px
}
.mrl10 {
    margin-right: 10px;
    margin-left: 10px
}
.mrl15 {
    margin-right: 15px;
    margin-left: 15px
}
.mrl20 {
    margin-right: 20px;
    margin-left: 20px
}
.mrl30 {
    margin-right: 30px;
    margin-left: 30px
}
.mrl-10 {
    margin-right: -10px;
    margin-left: -10px
}
.mt-05 {
    margin-top: -5px
}
.mt-10 {
    margin-top: -10px
}
.mr05 {
    margin-right: 5px
}
.mr10 {
    margin-right: 10px
}
.mr20 {
    margin-right: 20px
}
.ml03 {
    margin-left: 3px
}
.ml05 {
    margin-left: 5px
}
.ml10 {
    margin-left: 10px
}
.ml20 {
    margin-left: 20px
}
.ml30 {
    margin-left: 30px
}
.text08 {
    font-size: 0.8rem
}
.text09 {
    font-size: 0.9rem
}
.text10 {
    font-size: 1rem
}
.text11 {
    font-size: 1.1rem
}
.text12 {
    font-size: 1.2rem
}
.text13 {
    font-size: 1.3rem
}
.text14 {
    font-size: 1.4rem
}
.text15 {
    font-size: 1.5rem
}
.text16 {
    font-size: 1.6rem
}
.text17 {
    font-size: 1.7rem
}
.text18 {
    font-size: 1.8rem
}
.text19 {
    font-size: 1.9rem
}
.text20 {
    font-size: 2rem
}
.text21 {
    font-size: 2.1rem
}
.text22 {
    font-size: 2.2rem
}
.text23 {
    font-size: 2.3rem
}
.text24 {
    font-size: 2.4rem
}
.text25 {
    font-size: 2.5rem
}
.text26 {
    font-size: 2.6rem
}
.text27 {
    font-size: 2.7rem
}
.text28 {
    font-size: 2.8rem
}
.text29 {
    font-size: 2.9rem
}
.text30 {
    font-size: 3rem
}
.text35 {
    font-size: 3.5rem
}
.text50 {
    font-size: 5rem
}
.border1_c {
    border: 1px solid #ccc
}
.border1_o {
    border: 1px solid #CE6101
}
.border1_g {
    border: 1px solid #e5efd0
}
.border2_c {
    border: 2px solid #ccc
}
.border1_b {
    border: 1px solid #021b4a
}
.border_btm_1_o {
    border-bottom: 1px solid #AC4209
}
.border_btm_8_o {
    border-bottom: 5px solid #AC4209
}
.lh10 {
    line-height: 1
}
.lh12 {
    line-height: 1.2
}
.lh14 {
    line-height: 1.4
}
.colorRed {
    color: #c00
}
.colorBlue {
    color: #071A36
}
.colorWhite {
    color: #fff
}
.colorOrange {
    color: #ca5f01
}
a,
body {
    color: #333
}
.width_100 {
    width: 100%
}
.width_95 {
    width: 95%
}
.width_70 {
    width: 70%
}
.width_50 {
    width: 50%
}
.width_49 {
    width: 49%
}
.width_48 {
    width: 48%
}
.width_35 {
    width: 35%
}
.width_30 {
    width: 30%
}
.width_33 {
    width: 33.333%
}
.width_45 {
    width: 45%
}
.width_47 {
    width: 47%
}
.width_960 {
    width: 960px
}
.bkc_w {
    background-color: #fff
}
.bkc_g {
    background-color: #e5efd0
}
.bkc_o {
    background-color: #CE6101
}
.bkc_b {
    background-color: #021b4a
}
.bkc_lg {
    background-color: #ededed
}
.inline_box {
    display: inline-block;
    width: 100%
}
.area_box_g {
    background: -ms-linear-gradient(top, #052d78, #021b4a);
    background: -moz-linear-gradient(top, #052d78, #021b4a);
    background: -o-linear-gradient(top, #052d78, #021b4a);
    background: -webkit-linear-gradient(top, #052d78, #021b4a);
    background: linear-gradient(top, #052d78, #021b4a);
    background-color: #021b4a
}
.icon_r {
    background: url('../images/icon_r.png') 0 7px no-repeat;
    padding-left: 10px
} */
.flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.pc_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .pc_flex {
    flex-direction: column;
  }
}

a:active,
a:hover {
  color: #ccc;
}

a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: none;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.8;
  font-size: 1.7rem;
}

#container {
  margin-right: auto;
  margin-left: auto;
}

#page-top a,
.contact_navi li,
.reply label,
footer {
  text-align: center;
}

footer {
  padding: 14px;
}

#page-top {
  position: fixed;
  bottom: 40px;
  right: 10px;
}

#page-top a {
  background: #616161;
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  color: #fff;
  line-height: 50px;
  border-radius: 30px;
}

/* .breadcrumbs li.home {
    background: url('../images/home.png') 1px 1px no-repeat;
    background-size: 14px 14px;
    padding-left: 17px
}
.breadcrumbs li {
    float: left;
    margin-right: 8px;
    margin-bottom: 15px
}
.contact_navi li {
    border: 2px solid #ccc;
    background-color: #fff;
    margin: 10px 10px 10px 0;
    font-weight: 700;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 10px;
    color: #ccc;
    width: 30.22%;
    float: left
}
.contact_navi li.active {
    border: 2px solid #e77700;
    background-color: #fff;
    color: #e77700
}
.contact_navi li.last {
    margin: 10px 0 10px 5px
}
table.form {
    border-spacing: 0;
    margin: auto;
    width: 100%
}
table.form tbody tr th {
    padding: 5px;
    white-space: nowrap;
    font-weight: 700
}
table.form tbody tr td {
    padding: 5px;
    overflow: hidden;
word-break: break-all;
word-wrap: break-word;
}
table.form tbody tr th span.hissu {
    color: #fff;
    padding: 2px;
    background-color: #c00;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px
}
table.form tbody tr td .text {
    height: 55px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border: 1px solid #CCC;
    padding-right: 5px;
    padding-left: 5px;
    width: 100%
}
.reply input {
    display: none
}
.reply input[type=radio]:checked+label {
    background-color: #56AC00;
    color: #fff
}
.reply label:first-of-type {
    border-radius: 3px 0 0 3px
}
.reply label {
    display: block;
    float: left;
    cursor: pointer;
    width: 33%;
    margin: 0 0 8px;
    padding: 25px 5px;
    border-right: 1px solid #abb2b7;
    background: #bdc3c7;
    color: #555e64;
    line-height: 1;
    transition: 0.2s
}
.time input {
    display: none
}
.time label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-left: 10px;
    padding: 20px;
    border-radius: 2px;
    text-align: left;
    width: 45%
}
.btn_area,
.btn_area ul {
    margin-right: auto;
    margin-left: auto
}
.time label:before {
    position: absolute;
    left: -10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #bdc3c7;
    border-radius: 50%
}
.time input[type=radio]:checked+label:after {
    position: absolute;
    content: "";
    top: 50%;
    left: -4px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #56AC00
}
table.form tbody tr td .textarea {
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border: 1px solid #CCC;
    padding: 5px;
    width: 100%
}
.btn_area {
    text-align: center;
    padding-top: 20px
}
.btn_area ul {
    width: 100%
} */
/* 
.soushin_btn, .soushin_btn:hover {
  padding: 15px 30px;
  color: #fff;
  border-style: none;
  width: 80%;
  cursor: pointer
} */
/* .soushin_btn {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    background: -ms-linear-gradient(top, #EF8121, #ca5f01);
    background: -moz-linear-gradient(top, #EF8121, #ca5f01);
    background: -o-linear-gradient(top, #EF8121, #ca5f01);
    background: -webkit-linear-gradient(top, #EF8121, #ca5f01);
    background: linear-gradient(top, #EF8121, #ca5f01);
    background-color: #ca5f01
}
.soushin_btn:hover {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    background: -ms-linear-gradient(top, #EF8121, #EF8121);
    background: -moz-linear-gradient(top, #EF8121, #EF8121);
    background: -o-linear-gradient(top, #EF8121, #EF8121);
    background: -webkit-linear-gradient(top, #EF8121, #EF8121);
    background: linear-gradient(top, #EF8121, #EF8121);
    background-color: #EF8121
}
.modoru_btn {
    border: 1px solid #949494;
    padding: 15px 10px;
    cursor: pointer;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    color: #949494;
    font-weight: 700;
    background-color: #fff;
    width: 100%
}
.chizu_icon {
    background: url('../images/icon_chizu.png') 25px 5px no-repeat;
    background-size: 17px
}
.chizu_btn {
    border: 1px solid #BDAEA0;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
    background-color: #F1DDCA;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    display: block;
    width: 35%;
    color: #CE0000;
    text-align: center;
    margin: 15px auto auto
}
.office input {
    display: none
}
.office label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-left: 10px;
    padding: 15px 30px;
    border-radius: 2px;
    font-size: 14px;
    text-align: left;
    width: 45%
}
.office label:before {
    position: absolute;
    left: -10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #bdc3c7;
    border-radius: 50%
}
.office input[type=radio]:checked+label:after {
    position: absolute;
    content: "";
    top: 50%;
    left: -4px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #56AC00
}
::-webkit-input-placeholder {
    font-weight: 400
}
.top_listboc {
    padding: 3px
}
.top_listboc span {
    font-size: 2.5rem;
    background: #d20101;
    color: #fff
}
.top_listboc p {
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: 700;
    padding-top: 10px
}
.top_listboc p.text {
    font-size: 4.4rem;
    color: #e00
} */
@font-face {
  font-family: "ZenKurenaido-Regular";
  src: url("../../font/ZenKurenaido-Regular.ttf") format("truetype");
}
.sm_only {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sm_only {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}
.content {
  padding: 30px 10px;
}

#canvas {
  width: 100%;
  height: 350px;
}

ul.asterisk li {
  list-style-type: none;
  text-indent: -1em;
}

ul.asterisk li:before {
  display: inline;
  content: "※";
}

.area_title {
  background-color: #051132;
  color: #fff;
  font-size: 2rem;
  padding: 5px;
  font-weight: bold;
  text-align: center;
}

.area_inline {
  display: inline-block;
  width: 100%;
  background: #fff;
  border: 1px solid #e5efd0;
  padding: 5px;
}

.area_box {
  background: #fff;
  width: 100%;
  margin: 15px auto;
  border: 1px solid #ccc;
  /* display: inline-block; */
  padding: 8px;
}

.area_box a {
  color: #000;
  font-size: 1.4rem;
  text-decoration: none;
}

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

.li_fL li a {
  padding: 5px;
  float: left;
  width: 47%;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  color: #fff;
  background: linear-gradient(top, #052d78, #021b4a);
  background-color: #021b4a;
  margin: 5px;
  text-align: center;
}

.shiten_title {
  /* background-color: #051132; */
  text-align: center;
  /* padding: 5px; */
  font-weight: bold;
  color: #000;
}

.shiteninline_box {
  display: inline-block;
  width: 100%;
  margin-top: 10px;
}

/* .shiten_aicon {
    float: left;
    width: 10%;
    padding-top: 5px;
} */
.shiten_text {
  width: 85%;
  text-align: left;
  float: left;
}

.form_box {
  padding: 20px 15px;
  border-top: 1px solid #dfdfdf;
  overflow: hidden;
  word-break: break-all;
  word-wrap: break-word;
}

form .form_box:first-child {
  border: none;
}

.form_box ul {
  display: flex;
  flex-wrap: wrap;
}

.form_box ul li {
  width: 45%;
  padding-top: 15px;
}

form div label {
  font-weight: bold;
}

form div ul label {
  font-weight: normal;
}

.required {
  background: #ff6462;
  color: #fff;
  padding: 2px 6px 1px;
  display: inline-block;
  margin-left: 4px;
  font-size: 13px;
  border-radius: 4px;
  font-weight: bold;
  margin-bottom: 2px;
  vertical-align: middle;
}

.b_area .num {
  width: 200px;
  justify-content: space-between;
  margin: 0 auto 20px;
  text-align: center;
  position: relative;
}

.b_area span {
  font-size: 14px;
}

.b_area .num:before {
  content: "";
  width: 80%;
  height: 2px;
  background-color: #bfbfbf;
  position: absolute;
  top: 24px;
  left: 48%;
  margin-left: -40%;
}

.b_area .num li {
  width: 20%;
  padding-top: 24px;
  position: relative;
  font-size: 16px;
}

.b_area .num li.active:before {
  background-color: #e79b2e;
}

.b_area .num li:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #bfbfbf;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-radius: 5px;
}

.form_box ul input {
  display: none;
}

.form_box ul input + label {
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
}

.form_box ul input + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 50%;
}

.form_box ul input:checked + label {
  color: #f96c41;
}

.form_box ul input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 11px;
  height: 11px;
  background: #f96c41;
  border-radius: 50%;
}

.ex_txt {
  padding: 5px 2px 0;
}

.ex_txt_area {
  padding: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  background: #f4f4f4;
}

form .text {
  border-radius: 5px;
  border: 2px solid #ccc;
  width: 100%;
  padding: 5px;
  font-size: 16px;
  margin-top: 5px;
  line-height: 1.8;
}

.notice {
  background-color: #f4f4f4;
  font-size: 14px;
  padding: 10px;
  margin-top: 10px;
  display: inline-block;
}

.textarea {
  border: 2px solid #ccc;
  border-radius: 5px;
  width: 100%;
  padding: 10px;
  font-size: 16px;
  height: 200px;
  margin-top: 5px;
  line-height: 1.8;
  font-weight: normal;
}

.b_area {
  margin: 0 10px;
  padding: 20px 0 0;
  text-align: center;
}

.b_area p {
  font-weight: bold;
  font-size: 20px;
  padding-bottom: 10px;
}

.b_area ul {
  display: flex;
}

.b_area li.actv {
  font-weight: bold;
}

.b_area li {
  font-size: 14px;
  margin: 20px 8px 10px 0;
}

.b_area li.home {
  background: url("../images/home.png") 2px 4px no-repeat;
  background-size: 11px 11px;
  padding-left: 18px;
}

.f_area {
  margin: 0 10px;
}

.list_ttl {
  font-size: 16px;
}

.btn_area {
  text-align: center;
  padding: 20px 15px 60px;
}

.btn_area ul .left {
  float: left;
  width: 40%;
}

.btn_area ul {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.soushin_btn {
  color: #fff;
  background: #f96c41;
  font-weight: bold;
  border-radius: 4px;
  font-size: 18px;
  padding: 20px;
  margin: 0 auto;
  display: block;
  width: 100%;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  border-style: none;
}

.soushin_btn a {
  color: #fff;
}

.modoru_btn {
  color: #f96c41;
  background: #fff;
  border: 1px solid #f96c41;
  font-weight: bold;
  border-radius: 4px;
  font-size: 18px;
  padding: 20px;
  margin: 20px auto 0;
  display: block;
  width: 100%;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
}

.csn {
  background-color: #feffc9;
  color: #666;
  text-align: left;
  border: 1px solid #dfdfdf;
  margin: 10px 10px 30px;
  padding: 10px;
  font-size: 14px;
}

.csn span {
  color: #f00;
}

.csn_bold {
  font-weight: bold;
  color: #f00;
  text-align: center;
  padding-bottom: 5px;
  font-size: 16px;
}

.tnkyou {
  margin-top: 20px;
}

.main_letter {
  color: #f00;
  font-weight: bold;
  text-align: center;
}

.erre_name {
  color: #f00;
}

header {
  padding: 14px 0px 14px;
  text-align: center;
}

header img {
  width: 248px;
}

/* header div {
  width: 200px;
} */
/* header div:last-child {
  width: 150px;
  margin-top: 3px;
} */
.kyoten {
  position: absolute;
  color: #c00;
  font-size: 2.6rem;
  font-weight: bold;
  bottom: 261px;
  right: 20px;
}

.todoufuken {
  position: absolute;
  font-size: 1.5rem;
  font-weight: bold;
  bottom: 104px;
  right: 33px;
}

.ruikei {
  position: absolute;
  font-size: 1.5rem;
  font-weight: bold;
  bottom: 37px;
  right: 29px;
}

.jisseki {
  position: absolute;
  color: #c00;
  font-size: 2.6rem;
  font-weight: bold;
  bottom: 228px;
  right: 23px;
}

.jisseki span {
  font-size: 1.5rem;
}

.jisseki_osaka {
  position: absolute;
  color: #c00;
  font-size: 2.8rem;
  font-weight: bold;
  bottom: 260px;
  right: 23px;
}

.jisseki_osaka span {
  font-size: 1.5rem;
}

.jiten {
  font-size: 0.9rem;
  padding: 5px 0 5px 5px;
}

.jiten_osaka {
  position: absolute;
  font-size: 0.9rem;
  bottom: 4px;
  right: 6px;
}

.eyecatch {
  position: relative;
}

article {
  background-color: #efebe4;
  margin-top: 20px;
  padding: 10px 0;
}

.action_btn_box {
  margin-top: -24px;
}
@media screen and (min-width: 900px) {
  .action_btn_box {
    margin-top: -32px;
  }
}

.action_btn {
  /*  margin: 10px 0px 10px; */
  padding: 0px 12px 16px 12px;
}

article p {
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
}

.online {
  padding: 10px;
}

.content_box {
  margin-top: 14px;
  padding: 0 14px;
}

.content_title {
  font-size: 2.2rem;
  color: #051132;
  border-bottom: 6px solid #e00;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}
@media screen and (min-width: 900px) {
  .content_title {
    font-size: 3.5rem;
    padding-bottom: 8px;
    margin-bottom: 20px;
  }
}

.content_subtitle {
  text-align: center;
  margin-top: 15px;
}

.content_text {
  /* position: relative; */
  padding: 14px;
  background: #ebebeb;
  color: #000;
  /* border-top: 2px solid #e00; */
  /* font-size: 2.2rem; */
  font-weight: 700;
  text-align: center;
  /* line-height: 1.6; */
  /* margin-top: 26px; */
  /* top: 3px; */
  margin: 14px;
  /* font-size: 1.7rem;*/
}

.telinfo {
  padding: 0 10px;
}

.telinfo2 {
  padding: 14px 14px;
  background: #fff9eb;
}

.telinfo2 p {
  margin-top: 10px;
}

.telinfo2 p span {
  color: #ee0204;
}

.top_b ol {
  counter-reset: number;
  list-style-type: none !important;
  padding: 25px 15px 40px;
}

.top_b ol li {
  position: relative;
  padding: 10px 10px 10px 40px;
  line-height: 1.5em;
  font-size: 2.4rem;
  font-weight: 700;
  list-style: none;
}

.top_b ol li span {
  color: #ee0204;
  font-size: 2.4rem;
}

.top_b ol li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #051132;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  border-radius: 50%;
  left: 0;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}

.top_c ol {
  counter-reset: number;
  list-style-type: none !important;
  padding: 24px 14px 14px;
}

.top_c ol li {
  position: relative;
  padding: 10px 10px 10px 44px;
  line-height: 1.3;
  font-size: 2.4rem;
  font-weight: 700;
  list-style: none;
}

.top_c ol li p {
  color: #000;
  font-size: 1.7rem;
  font-weight: normal;
  margin-top: 10px;
}

.top_c ol li p span {
  color: #ee0204;
  font-size: 1.7rem;
}

.top_c ol li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #051132;
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  left: 0;
  width: 35px;
  height: 35px;
  text-align: center;
  top: 13%;
  transform: translateY(-50%);
  line-height: 1.5;
}

.price ol {
  counter-reset: number;
  list-style-type: none !important;
  padding: 24px 14px 14px;
}

.price ol li {
  position: relative;
  padding: 10px 10px 10px 44px;
  line-height: 1.3;
  font-size: 2.4rem;
  font-weight: 700;
  list-style: none;
}

.price ol li p {
  color: #000;
  font-size: 1.7rem;
  font-weight: normal;
  margin-top: 10px;
}

.price ol li p span {
  color: #ee0204;
  font-size: 1.7rem;
}

.price ol li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #ee0000;
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  left: 0;
  width: 35px;
  height: 35px;
  text-align: center;
  top: 28%;
  transform: translateY(-50%);
  line-height: 1.5;
}

/* .content_text {
  padding: 35px 15px 15px;
} */
.sekken div:last-child {
  padding: 0px 2px 20px;
}

/* .cost div:nth-child(2) {
  padding: 40px 10px 20px;
} */
.cost .lise {
  /* padding: 0px 15px 40px; */
}

.lise ul,
ol {
  padding: 0px 0px 0px 20px;
}

.lise ul li,
ol li {
  padding: 10px 5px;
  list-style: square;
}

.top_lise ul,
ol {
  color: #000;
  padding: 0.1em 0.1em 0.1em 1.3em;
  font-weight: 700;
  font-size: 2.2rem;
}

.top_lise ul li,
ol li {
  line-height: 1.5;
  padding: 0.4em 5px;
  text-align: left;
  font-size: 2rem;
  list-style: square;
}

.top_lise ul li span {
  color: #ee0204;
}

.table {
  padding: 15px;
}

.sample_02 {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  font-size: 1.4rem;
}

.sample_02 th {
  width: 30%;
  text-align: left;
  vertical-align: top;
  color: #444;
  background-color: #efefef;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}

.sample_02 td {
  background-color: #fafafa;
}

.sample_02 td,
.sample_02 th {
  padding: 10px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

#navi {
  margin-bottom: 25px;
  margin-top: 10px;
}

#navi h4 {
  padding: 10px 10px;
  margin: 2px;
  background: #ffffff;
  border: 1px solid #ccc;
}

#navi ul {
  padding-left: 14px;
  background: #fff;
  width: 99%;
  margin: -4px auto 10px;
  border-top: none;
  border: 1px solid #ccc;
}

#navi ul li {
  padding: 20px 5px 15px 0px;
  width: 50%;
}

#navi ul li input + label {
  padding-left: 20px;
  position: relative;
  margin-right: 5px;
}

@media screen and (min-width: 0px) and (max-width: 320px) {
  .jisseki {
    font-size: 2.2rem;
    bottom: 167px;
    right: 18px;
  }
  .jiten {
    font-size: 0.8rem;
  }
  .kyoten {
    position: absolute;
    color: #c00;
    font-size: 2.2rem;
    font-weight: bold;
    bottom: 192px;
    right: 17px;
  }
  .todoufuken {
    position: absolute;
    font-size: 1.5rem;
    font-weight: bold;
    bottom: 86px;
    right: 17px;
  }
  .ruikei {
    position: absolute;
    font-size: 1.5rem;
    font-weight: bold;
    bottom: 29px;
    right: 14px;
  }
}
@media screen and (min-width: 411px) and (max-width: 768px) {
  .jisseki {
    font-size: 2.5rem;
    bottom: 221px;
    right: 31px;
  }
  .jiten {
    font-size: 1rem;
    bottom: -15px;
    right: 9px;
  }
  .kyoten {
    position: absolute;
    color: #c00;
    font-size: 2.6rem;
    font-weight: bold;
    bottom: 255px;
    right: 30px;
  }
  .todoufuken {
    position: absolute;
    font-size: 1.5rem;
    font-weight: bold;
    bottom: 112px;
    right: 45px;
  }
  .ruikei {
    position: absolute;
    font-size: 1.5rem;
    font-weight: bold;
    bottom: 41px;
    right: 42px;
  }
}
@media screen and (min-width: 900px) {
  .contents,
  .bkc_w {
    width: 640px;
    margin: 0 auto;
    text-align: left;
  }
  #container {
    width: 640px;
    margin: 0 auto;
    text-align: left;
  }
  section {
    width: 640px;
    margin: 0 auto;
    text-align: left;
  }
  header {
    width: 640px;
    margin: 0 auto;
    text-align: left;
  }
}
/*404*/
.not_box {
  width: 90%;
  margin: 20px auto;
}

.not_box ol {
  margin-top: 20px;
  margin-left: 20px;
  font-size: 14px;
}

.not_box ol li {
  list-style-type: decimal;
  line-height: 1.5;
  padding: 0.4em 5px;
  text-align: left;
  font-size: 1.4rem;
  list-style: square;
  font-weight: normal;
}

ul.asterisk {
  padding: 0;
  margin-bottom: 20px;
  padding-left: 20px;
}

ul.asterisk li {
  list-style-type: none;
  padding: 4px;
  text-indent: -1em;
  font-size: 1.2rem;
}

ul.asterisk li:before {
  display: inline;
  content: "※";
}

.price_box {
  margin-top: 24px;
  padding: 0px 15px 40px;
}

.price_a {
  background: #051132;
  color: #fff;
  border-bottom: 5px solid #e00;
  font-size: 2.2rem;
  padding: 10px;
  margin-top: 20px;
  text-align: center;
}

.price_b {
  padding: 10px 0;
  text-align: left;
  margin-top: 10px;
}

.price_boxin {
  padding: 10px 0;
  text-align: left;
}

.price_boxin ul.asterisk {
  padding: 0;
  margin-bottom: 20px;
  padding-left: 20px;
}

.price_boxin ul.asterisk li {
  list-style-type: none;
  padding: 4px;
  text-indent: -1em;
  font-size: 2rem;
}

.price_boxin ul.asterisk li:before {
  display: inline;
  content: "・";
}

.pri_title {
  border: 2px solid #051132;
  padding: 10px 0;
  font-weight: bold;
}

.caution_box {
  background-color: #fff;
  padding: 8px 10px 0px 10px;
  /* margin: 0px 8px 8px 8px; */
  width: 94%;
  margin: 0px auto 0px;
  border: 2px solid #8e0404;
}

.caution_box p {
  text-align: center;
  font-weight: bold;
  color: #8e0404;
}

.caution_list {
  background-color: #fff;
  padding: 8px;
  text-align: left;
  display: inline-block;
  width: 100%;
}

.caution_list li {
  list-style: none;
  padding: 4px 0px 0px 14px;
  font-size: 1.4rem;
  text-indent: -1.5em;
}

.caution_list li:before {
  content: "※";
}

.caution_list span {
  background: linear-gradient(transparent 65%, rgba(204, 0, 0, 0.3098039216) 65%);
}

.text_title {
  margin: 14px 0 14px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #051132;
  background: #efefef;
  padding: 12px;
}

.text_list li {
  list-style: none;
  padding: 4px 0px 0px 14px;
  text-indent: -1.5em;
}

.text_list li:before {
  content: "・";
}

.text_box {
  padding-left: 10px;
  padding-right: 10px;
}

.office_subtabletitle {
  border-bottom: 1px solid #dadada;
  background: #e9e9e9;
  text-align: left;
  font-weight: bold;
  padding: 12px;
}

.office_subtable {
  font-size: 1.4rem;
  margin-top: 12px;
}

.office_subtable table th,
.office_subtable table td {
  padding: 4px;
}

.office_subtable table {
  margin-top: 12px;
}

.office_subtable table th {
  border-bottom: 1px solid #ffffff;
  background: #fff;
  text-align: left;
  font-weight: normal;
  width: 104px;
  padding: 10px 0;
}

.office_subtable table tr td.smalla {
  width: 15px;
}

.office_subtable table tr td {
  border-bottom: 1px solid #ffffff;
  width: 256px;
}

.cost_table {
  padding: 8px;
  margin-top: 8px;
}

.cost_table table {
  border: 1px solid #dadada;
  margin-top: 12px;
}

.cost_table table,
.cost_table table tr,
.cost_table table th,
.cost_table table td {
  display: grid;
}

.cost_table table th {
  border-bottom: 1px solid #dadada;
  background: #ebebeb;
  text-align: left;
  font-weight: bold;
}

.cost_table table tr td {
  border-bottom: 1px solid #dadada;
}

.red {
  font-weight: bold;
  color: #ee0000;
}

.cost_table table tr td p {
  margin: 12px 0;
}

.cost_table table th,
.cost_table table td {
  padding: 12px;
}

.cost_table table tr:last-of-type td {
  border-bottom: none;
}

.cost_asterisk li {
  list-style-type: none;
  text-indent: -1em;
  margin-top: 5px;
  margin-left: 15px;
  font-size: 12px;
}

.cost_asterisk li:before {
  display: inline;
  content: "※";
}

.cost_list li {
  list-style-type: none;
  text-indent: -1em;
  margin-top: 5px;
  margin-left: 15px;
  font-size: 12px;
}

.cost_list li:before {
  display: inline;
  content: "・";
}

.scrollbox {
  border: 1px solid #d8d8d8;
  overflow-y: scroll;
  padding: 0px !important;
  margin-left: auto;
  margin-right: auto;
  height: 200px;
  width: 100% !important;
  float: none;
  padding: 4px;
}

.word_header {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #ccc;
}

.word_header_title {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
}

.word_header_title {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
}

.word_header_titleh2 {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 30px;
}

.word_header span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  border-radius: 3px;
  background: #dcab6e;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
}

.word a {
  display: inline;
  color: #49bbfd;
}

.word {
  padding: 8px;
  font-size: 14px !important;
}

.word .title {
  color: #484848;
  line-height: 1.5;
}

.word ol {
  position: relative;
  margin-top: 10px;
  padding: 0;
}

.word ol li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
  font-size: 14px !important;
  font-weight: normal;
}

.word .privacy a {
  color: -webkit-link;
}

.nayami img {
  margin-bottom: 10px;
}

.dot_back {
  background: url(../images/dot.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top center;
}

.blue_back {
  overflow: hidden;
  position: relative;
  background: #05224a;
  background: linear-gradient(to bottom, #22334a 0%, #22324a 50%, #22334a 75%, #556c8f 100%);
}

.blue_back::after {
  right: 0;
  border-width: 0 0 70px 50vw;
  border-color: transparent transparent #f8f8f8 transparent;
}

.blue_back::before {
  left: 0;
  border-width: 70px 0 0 50vw;
  border-color: transparent transparent transparent #f8f8f8;
}

.blue_back::before,
.blue_back::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
}

.contents_title1 {
  color: #ffffff;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 4rem;
  line-height: 1.4;
  padding: 18px;
}
@media screen and (min-width: 769px) {
  .contents_title1 {
    font-size: 4.5rem;
    padding-bottom: 40px;
  }
}
.contents_title1 small {
  font-size: 2.5rem;
}

.contents_subtitle1 {
  color: #ffffff;
  width: 100%;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.4;
  padding: 10px 0px 24px 0px;
}

.contents_subtitle1 span {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #a90303;
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
  font-feature-settings: "palt";
  margin-left: 6px;
}

.contents_subtitle1 br {
  content: "";
  display: block;
  margin: 13px 0;
}

.accordion-area {
  list-style: none;
  margin: 20px auto 90px;
  width: 95%;
}

.accordion-area li {
  margin: 10px 0;
}

.accordion-area li > div {
  box-shadow: 0px 5px 11px 0px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(128, 128, 128, 0);
  background: #f8f5ea;
  margin-bottom: 30px;
}

.title {
  position: relative;
  cursor: pointer;
  font-weight: 700;
  padding: 5% 3% 3% 3%;
  transition: all 0.5s ease;
}

.accordion-area .box {
  opacity: unset;
  display: none;
  background: #ffffff;
  width: 95%;
  padding: 15px;
  margin: 0 auto 20px;
}

.jirei ul li section {
  padding: 30px 55px;
}

.jirei_before .flex {
  align-items: center;
  justify-content: center;
}

.jirei_before .jirei_resultimg img {
  width: 100%;
  margin-bottom: 10px;
}

.jirei .accordion-area .title::before,
.jirei .accordion-area .title::after {
  content: none;
}

.jirei .accordion-area .title {
  padding: unset;
  font-size: unset;
}

.jirei_img {
  width: 100px;
}

.jirei_benya {
  background: #ededed;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px;
}

.jirei_before_right img {
  width: 400px;
  margin: 10px 0 15px;
}

.jirei_title {
  font-weight: 500;
}

.jirei_maintitle {
  font-size: 2.5rem;
  line-height: 1.6;
  color: #bc0e00;
  margin-bottom: 10px;
}

.table_standard {
  padding-top: 15px;
}

.jirei_title span,
.table_standard span {
  font-weight: 700;
  font-size: 2.7rem;
  color: #00538c;
}

.table_standard span {
  font-weight: 700;
  font-size: 2.5rem;
  color: #aa280e;
}

.table_standard span br {
  content: "";
  margin: -9px;
  display: block;
}

.table_standard th,
.table_standard td {
  background: unset;
  padding: 5px 0 5px 0;
}

.table_standard {
  margin-top: 10px;
}

.jirei .accordion-area .box {
  background-color: #fafafa;
  margin: 20px 0 0 0;
  padding: 20px;
}

.jirei_after {
  font-weight: 400;
}

.jirei_after_title {
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: 10px;
  border-left: 6px solid #00538c;
  color: #00538c;
  padding-left: 9px;
}

.jirei_after div {
  margin-bottom: 25px;
}

.jirei_result {
  background-color: rgba(19, 166, 210, 0.168627451);
  padding: 10px;
  font-weight: 400;
}

.jirei_after div:last-child {
  margin-bottom: unset;
}

.jirei_after div {
  background: url(../images/dot_hor.svg) repeat-x;
  background-position: left bottom;
  background-size: 134px 2px;
  padding: 0px 0 22px 0;
}

.jirei_after div:last-child {
  background: unset;
}

.jirei_before_right .table_standard td {
  width: 70%;
  font-weight: bold;
  font-size: 3rem;
}

.reasons img {
  width: 250px;
  margin: 0 auto 20px;
  display: block;
}

.flex_column {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
}

.jirei_after br {
  display: block;
  content: "";
  margin: 10px 0;
}

.fild {
  display: flex;
  gap: 5px;
}
.fild li {
  margin: 0;
  background-color: #ffffff;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0px 10px;
  font-size: 1.4rem;
  color: #00144a;
  margin-bottom: 10px;
}
.fild li:first-child {
  color: #000000;
  background: yellow;
}

.detail_btn_ {
  text-align: center;
  color: #838383;
  font-weight: bold;
  cursor: pointer;
}

.detail_btn {
  cursor: pointer;
  text-align: center;
  color: #0e55bf;
  margin-bottom: 20px;
}

.detail_btn::before {
  content: "詳しく見る　▼";
  top: 10px;
  position: relative;
}

.HL_text2 {
  background: linear-gradient(transparent 65%, #8f4b4b 65%);
}

.jirei_after span {
  font-weight: bold;
  background-color: #fff8e0;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.balloon1 {
  position: relative;
  padding: 15px 0px;
  border-radius: 87px;
  color: #fff;
  background: #021b4a;
  margin: 10px auto;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #021b4a;
}

.balloon1_btm {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 20px;
}

.balloon1_btm span,
.balloon1_btm2 span {
  color: red;
}

.balloon1_btm2 {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-top: 20px;
  line-height: 1.4;
  margin-bottom: 20px;
}

.why img {
  width: 100%;
}

.pat_01 li {
  position: relative;
  margin-bottom: 40px;
  width: 100%;
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
}

.pat_01 img {
  width: 100%;
  height: 145px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 769px) {
  .pat_01 img {
    height: 230px;
  }
}

.pat_01_text {
  padding: 30px 20px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .pat_01_text {
    padding: 30px 40px;
  }
}

.case_01::before {
  content: "";
  display: inline-block;
  width: 114px;
  height: 111px;
  background: url(../images/01.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 4%;
  right: 0px;
}

.case_02::before {
  content: "";
  display: inline-block;
  width: 114px;
  height: 111px;
  background: url(../images/02.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 4%;
  right: 0px;
}

.case_03::before {
  content: "";
  display: inline-block;
  width: 114px;
  height: 111px;
  background: url(../images/03.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 4%;
  right: 0px;
}

.case_04::before {
  content: "";
  display: inline-block;
  width: 114px;
  height: 111px;
  background: url(../images/04.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 4%;
  right: 0px;
}

.case_05::before {
  content: "";
  display: inline-block;
  width: 114px;
  height: 111px;
  background: url(../images/05.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 4%;
  right: 0px;
}

.case_06::before {
  content: "";
  display: inline-block;
  width: 114px;
  height: 111px;
  background: url(../images/06.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 4%;
  right: 0px;
}

.pat_01_text_title {
  color: #751b15;
  line-height: 1.5;
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .pat_01_text_title {
    font-size: 3rem;
  }
}

.pat_01 li span {
  background: linear-gradient(transparent 65%, #fff800 65%);
  font-weight: bold;
}

.koe li {
  padding: 10px 20px;
  align-items: center;
  margin-bottom: 40px;
}

.koe li div:last-child {
  font-family: "ZenKurenaido-Regular";
}

.koe li div:last-child p:last-child {
  text-align: right;
  margin-top: 20px;
}

.koe img {
  width: 110px;
}

.koe .flex_column {
  margin-bottom: 10px;
}

.bg_pattern {
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: -1;
}

.bg_pattern {
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: -1;
}

.Paper_v2 {
  background-image: repeating-linear-gradient(to bottom, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px), repeating-linear-gradient(to right, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px);
}

.section_merits {
  box-sizing: border-box;
  height: 250px;
  padding: 50px 0 0;
  background-image: url(../images/merit_background.jpeg);
  background-repeat: no-repeat;
  background-position: top 0 left 50%;
  background-size: cover;
  font-size: 0px;
  font-weight: bold;
  line-height: 1.88;
  letter-spacing: 1.92px;
  text-align: center;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-bottom: -107px;
}

.pat_01 {
  width: 95%;
  margin: 0 auto;
}

.section_merits p {
  font-size: 3rem;
  line-height: 1.3;
}
@media screen and (min-width: 769px) {
  .section_merits p {
    font-size: 4rem;
  }
}

.section_merits span {
  /* color: red; */
}

#satisfaction_of_clients {
  margin: 0px 0 30px;
  font-weight: 700;
  position: relative;
}

#satisfaction_of_clients_contents p:first-child {
  text-align: center;
}

#satisfaction_of_clients_contents #satisfaction_of_clients_tilte {
  font-size: 3rem;
  color: #c13c3c;
  margin-left: -9px;
  font-weight: 700;
}

#satisfaction_of_clients_contents p,
#satisfaction_of_clients_contents span {
  margin-bottom: 20px;
}

#satisfaction_of_clients img {
  width: 60%;
  margin: 0 auto;
  display: block;
}

.red_text {
  color: #c13c3c;
}

#QA .title {
  font-weight: bold;
  position: relative;
  cursor: pointer;
  padding: 15px 15px 15px 50px;
  transition: all 0.5s ease;
  line-height: 1.5;
  font-size: 1.7rem;
}

#QA .title::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 20px;
  background: url(../images/arrow_down.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 18px;
  transition: transform 0.2s;
}

#QA .title.close::after {
  transform: rotateZ(180deg);
  top: 39%;
}

#QA .accordion-area section {
  margin-bottom: 15px;
  box-shadow: unset;
}

#QA .accordion-area {
  margin: 20px auto 20px;
}

#three_step_ul_sp {
  margin: 0 auto;
  width: 356px;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  #three_step_ul_sp {
    width: 100%;
  }
}

.three_step_li_sp {
  list-style: none;
  margin-bottom: 20px;
}

.three_step_li_left_sp {
  background-color: #1d314e;
  border: 2px solid #1d314e;
  width: 100%;
  height: 36px;
  font-size: 18px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  display: inline-block;
}

.three_step_li_left_sp p {
  display: inline;
  position: relative;
  top: 2px;
  color: #fff;
  font-size: 10px;
}

.three_step_li_title_sp {
  display: inline;
  position: relative;
  top: 2px;
  font-weight: 700;
}

.three_step_li_title_sp span {
  color: #fff;
}

.three_step_li_right_sp {
  border-width: 2px;
  border-style: solid;
  border-color: #e5e5e5;
  border-top: none;
  background-color: #fff;
  width: 100%;
}

.three_step_li_text_sp {
  font-weight: 400;
  display: block;
  padding: 17px 1em 15px 1.4em;
  position: relative;
}

.three_step_li_text_sp:before {
  content: "";
  z-index: 5;
  width: 0;
  height: 0;
  border-top: 10px solid #fff;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  position: absolute;
  bottom: -20px;
  left: 165px;
}
@media screen and (min-width: 769px) {
  .three_step_li_text_sp:before {
    left: 50%;
  }
}

.three_step_li_text_last_sp:before {
  content: none;
}

.three_step_li_text_last_sp:after {
  content: none;
  display: none;
}

.three_step_li_text_sp2:after {
  top: 83px;
}

.three_step_li_text_last:before,
.three_step_li_text_last:after {
  content: none;
}

.cost_img img {
  margin-top: 20px;
}

#cost .detail_btn::before {
  content: "費用について詳しく見る　▼";
  top: 0px;
  position: relative;
}

.cost_detail {
  border-bottom: solid #c00 3px;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2rem;
  font-weight: bold;
}

.aisatu .title {
  margin-top: 30px;
}

.aisatu > div {
  background-color: #fdfbf5;
  padding: 1px 0 20px;
  margin-top: 20px;
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
}

.aisatu .jirei_after p {
  padding: 3% 3% 3% 3%;
  color: rgb(57, 57, 57);
  /* font-size: 1.7rem; */
  line-height: 1.7;
}

.aisatu .jirei_before .flex {
  align-items: center;
  justify-content: space-evenly;
}

.aisatu .jirei_before img {
  width: 180px;
  margin-bottom: 10px;
}

.t_center {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 400;
}

.aisatu .casetitle {
  padding: 12px;
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.6;
  color: #052d78;
}

.action_box_out {
  background-color: #f9f7f3;
}

.chizu_btn {
  display: block;
  font-size: 1.3rem !important;
  color: -webkit-link !important;
  text-decoration: underline !important;
}

.kyoten {
  position: absolute;
  top: 18px;
  left: 10px;
  font-size: 17px;
  font-weight: 600;
  color: #a90303;
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
}

.kyoten span {
  font-size: 10px;
  color: #212121;
  text-shadow: none;
  position: inherit;
}

/* ===== カルーセル（スライド）スタイル ===== */
.carousel-wrapper {
  border-radius: 8px;
  margin-top: 25px;
  border: 1px solid #22314a;
}

.carousel-container {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}

.carousel-inner {
  display: flex;
  gap: 15px;
  transition: transform 0.5s ease-in-out;
  /* スワイプ時のジャンプを防ぐ */
  will-change: transform;
}

.carousel-inner .voice-card {
  flex: 0 0 100%;
  min-width: 100%;
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 769px) {
  .carousel-inner .voice-card {
    padding: 20px 70px;
  }
}

.carousel-inner .voice-card h4 {
  margin: 0 0 10px 0;
  font-size: 1.05em;
  color: #333;
}

.carousel-inner .voice-card p {
  margin: 0;
  font-size: 0.9em;
  color: #555;
  background: #f6f6f6;
  padding: 15px 20px;
  border-radius: 6px;
}

.carousel-inner .voice-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.carousel-inner .placeholder-icon {
  width: 50px;
  height: 50px;
  background-color: #c8e6c9;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8em;
  color: #2e7d32;
  flex-shrink: 0;
}

.carousel-inner .voice-meta {
  display: flex;
  flex-direction: column;
}

.carousel-inner .voice-gender {
  font-size: 18px;
  font-weight: bold;
  color: #555;
  line-height: 1.4;
}

.carousel-inner .stars {
  color: #ffb300;
  font-size: 1.2em;
  letter-spacing: 2px;
}

/* 矢印ボタン */
.carousel-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background-color 0.3s ease;
}

.carousel-button:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.carousel-prev {
  left: 10px;
}

.carousel-next {
  right: 10px;
}

/* タブレット対応 */
@media screen and (max-width: 768px) {
  .carousel-wrapper {
    margin-top: 25px;
    padding: 0px;
  }
  .carousel-inner .voice-card {
    padding: 15px;
  }
  .carousel-button {
    width: 35px;
    height: 35px;
    font-size: 1.2em;
  }
  .carousel-prev {
    left: 0px;
  }
  .carousel-next {
    right: 0px;
  }
}
.voice-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
  justify-content: flex-start;
}
.voice-header .voice_icon {
  width: 80px;
  margin: unset;
}/*# sourceMappingURL=style.css.map */