@charset "UTF-8";
/* Helpers - helpers Variable file along with starting point Mixins and Placeholders.
========================================================================== */
/*
 * reset
 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

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

button {
  background-color: transparent;
  outline: none;
  border: 0;
  cursor: pointer;
}

/*
 * Function
 */
/*
* mixins
*/
/*
 * Variables
 */
/* Flex
========================================================================== */
.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.justify-content-between {
  justify-content: space-between !important;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
}

.flex-10 {
  flex: 10%;
  max-width: 10%;
  padding: 0 10px;
}

.flex-20 {
  flex: 20%;
  max-width: 20%;
  padding: 0 10px;
}

.flex-30 {
  flex: 30%;
  max-width: 30%;
  padding: 0 10px;
}

.flex-40 {
  flex: 40%;
  max-width: 40%;
  padding: 0 10px;
}

.flex-50 {
  flex: 50%;
  max-width: 50%;
  padding: 0 10px;
}

.flex-60 {
  flex: 60%;
  max-width: 60%;
  padding: 0 10px;
}

.flex-70 {
  flex: 70%;
  max-width: 70%;
  padding: 0 10px;
}

.flex-80 {
  flex: 80%;
  max-width: 80%;
  padding: 0 10px;
}

.flex-90 {
  flex: 90%;
  max-width: 90%;
  padding: 0 10px;
}

.flex-100 {
  flex: 100%;
  max-width: 100%;
  padding: 0 10px;
}

.col-1 {
  flex: 100%;
  max-width: 100%;
  padding: 0 10px;
}

.order-1 {
  order: 1;
}

.col-2 {
  flex: 50%;
  max-width: 50%;
  padding: 0 10px;
}

.order-2 {
  order: 2;
}

.col-3 {
  flex: 33.3333333333%;
  max-width: 33.3333333333%;
  padding: 0 10px;
}

.order-3 {
  order: 3;
}

.col-4 {
  flex: 25%;
  max-width: 25%;
  padding: 0 10px;
}

.order-4 {
  order: 4;
}

.col-5 {
  flex: 20%;
  max-width: 20%;
  padding: 0 10px;
}

.order-5 {
  order: 5;
}

.col-6 {
  flex: 16.6666666667%;
  max-width: 16.6666666667%;
  padding: 0 10px;
}

.order-6 {
  order: 6;
}

.col-7 {
  flex: 14.2857142857%;
  max-width: 14.2857142857%;
  padding: 0 10px;
}

.order-7 {
  order: 7;
}

.col-8 {
  flex: 12.5%;
  max-width: 12.5%;
  padding: 0 10px;
}

.order-8 {
  order: 8;
}

/* Magin Padding
========================================================================== */
.mt0 {
  margin-top: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.ma0 {
  margin: 0px !important;
}

.pa0 {
  padding: 0px !important;
}

.mx0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.px0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.my0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.py0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.ma5 {
  margin: 5px !important;
}

.pa5 {
  padding: 5px !important;
}

.mx5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.px5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.my5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.py5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.ma10 {
  margin: 10px !important;
}

.pa10 {
  padding: 10px !important;
}

.mx10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.px10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.my10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.py10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.ma15 {
  margin: 15px !important;
}

.pa15 {
  padding: 15px !important;
}

.mx15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.px15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.my15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.py15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.ma20 {
  margin: 20px !important;
}

.pa20 {
  padding: 20px !important;
}

.mx20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.px20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.my20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.py20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.ma25 {
  margin: 25px !important;
}

.pa25 {
  padding: 25px !important;
}

.mx25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}

.px25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.my25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

.py25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.ma30 {
  margin: 30px !important;
}

.pa30 {
  padding: 30px !important;
}

.mx30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.px30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.my30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.py30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.ma35 {
  margin: 35px !important;
}

.pa35 {
  padding: 35px !important;
}

.mx35 {
  margin-left: 35px !important;
  margin-right: 35px !important;
}

.px35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.my35 {
  margin-top: 35px !important;
  margin-bottom: 35px !important;
}

.py35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.ma40 {
  margin: 40px !important;
}

.pa40 {
  padding: 40px !important;
}

.mx40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.px40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.my40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.py40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.ma45 {
  margin: 45px !important;
}

.pa45 {
  padding: 45px !important;
}

.mx45 {
  margin-left: 45px !important;
  margin-right: 45px !important;
}

.px45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.my45 {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}

.py45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.ma50 {
  margin: 50px !important;
}

.pa50 {
  padding: 50px !important;
}

.mx50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.px50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.my50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.py50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.ma55 {
  margin: 55px !important;
}

.pa55 {
  padding: 55px !important;
}

.mx55 {
  margin-left: 55px !important;
  margin-right: 55px !important;
}

.px55 {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.my55 {
  margin-top: 55px !important;
  margin-bottom: 55px !important;
}

.py55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.ma60 {
  margin: 60px !important;
}

.pa60 {
  padding: 60px !important;
}

.mx60 {
  margin-left: 60px !important;
  margin-right: 60px !important;
}

.px60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.my60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.py60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

/* Typography
========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Lato", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

h1 {
  font-size: 3.5rem;
}

h2 {
  font-size: 2.4rem;
}

h3 {
  font-size: 1.8rem;
}

hr {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  border-color: #dcdcdc -moz-use-text-color -moz-use-text-color;
  -o-border-image: none;
     border-image: none;
  border-style: solid none none;
  border-width: 2px 0 0 0;
  margin: 0;
}

p {
  margin-bottom: 2rem;
}

a {
  color: #2561b1;
  text-decoration: none;
}
a:visited {
  color: #2561b1;
  text-decoration: none;
}
a:hover, a:visited:hover {
  color: #dcdcdc;
  text-decoration: none;
}
a:focus {
  outline: none;
  text-decoration: none;
}
a img {
  transition: all 400ms ease-in-out;
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out;
}
a img:hover {
  opacity: 0.6;
}

.small,
small {
  font-size: 80%;
  font-weight: 400;
}

.italic {
  font-style: italic;
}

.bold {
  font-weight: 700;
}

.red {
  color: #DE2C0C;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* Base - Basic layout
========================================================================== */
.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  cursor: pointer;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-group-lg > .btn, .btn-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-warning.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}
.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.more-box {
  text-align: center;
}

body .more, body .more:visited {
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  display: inline-block;
  line-height: 4.4rem;
  border: 1px solid #F7CC3E;
  background: #D11F2B;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  border-radius: 30px;
  padding: 0 2.5rem;
}
body .more:hover, body .more:visited:hover {
  background: #F7CC3E;
  color: #FFF;
  cursor: pointer;
}
body .more + .more, body .more:visited + .more {
  margin-left: 1.5rem;
}

body .more.btn-contact, body .more.btn-contact:visited {
  background: #F38F00;
  color: #fff;
  border: 2px solid #FD7C23;
}
body .more.btn-contact:hover, body .more.btn-contact:visited:hover {
  background: #F40D07;
  color: #fff;
}

body .more.btn-next, body .more.btn-next:visited {
  font-size: 1.3rem;
  line-height: 2.2rem;
  color: #D11F2B;
  font-weight: 700;
  border: none;
  background: transparent;
  padding: 0;
}
body .more.btn-next:hover, body .more.btn-next:visited:hover {
  color: #fff;
}

body .more.btn-detail, body .more.btn-detail:visited {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #333;
  font-weight: 700;
  border: 1px solid #dcdcdc;
  padding: 0.5rem 1.5rem;
  background: transparent;
  border-radius: 0.5rem;
}
body .more.btn-detail:hover, body .more.btn-detail:visited:hover {
  background: #dcdcdc;
}
body .more.btn-detail::after, body .more.btn-detail:visited::after {
  display: none;
}
body .more.btn-detail::before, body .more.btn-detail:visited::before {
  font-family: "Font Awesome 5 Pro";
  content: "\f302";
  display: inline-block;
  padding-right: 0.5rem;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.table-est {
  background-color: #fff !important;
  margin-bottom: 2rem !important;
}

.form {
  background: #FAF9F7;
  padding: 2.5rem 3rem;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}
.form fieldset {
  margin-bottom: 3rem;
}
.form .alert {
  margin-top: 3rem;
}
.form .form-group {
  border-bottom: 1px #dcdcdc dotted;
  padding: 1rem 0;
  margin-bottom: 0;
}
.form .form-group .circle {
  position: absolute;
  top: 4.2rem;
  left: 3.2rem;
  font-size: 1.3rem;
  line-height: 1;
  background: #DE2C0C;
  border-color: #DE2C0C;
}
.form .form-group .row > label {
  padding: 1rem !important;
}
.form .form-group .row > label span {
  font-size: 1.2rem;
  background-color: #DE2C0C;
  padding: 2px 3px;
  border-radius: 4px;
  color: #FFF;
}
.form .form-group#address ul {
  margin: 0 -10px;
}
.form .form-group li {
  margin-bottom: 15px;
}
.form .form-group .more.btn-next {
  line-height: 2rem;
  color: #333;
  background: #dcdcdc;
  padding: 0.5rem;
  border-radius: 0 0 3px 3px;
  margin: 0;
}
.form .form-group .more.btn-next:hover {
  background: #565656;
}
.form .form-group input.form-control,
.form .form-group textarea.form-control,
.form .form-group select.form-control {
  font-size: inherit;
  height: auto;
  padding: 1rem;
}
.form .form-group input.form-control::-webkit-input-placeholder,
.form .form-group textarea.form-control::-webkit-input-placeholder,
.form .form-group select.form-control::-webkit-input-placeholder {
  color: #aaa;
}
.form .form-group select.form-control.form-place {
  height: 45px;
  max-width: 20%;
}
.form .form-group input[type=checkbox],
.form .form-group input[type=radio] {
  width: auto;
  display: inline-block;
}
.form .form-group input[type=checkbox] > label,
.form .form-group input[type=radio] > label {
  padding-left: 0.5rem;
}
.form .form-group input[type=radio i] {
  margin: 3px 0.5ex;
}
.form .form-group .des {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #98A6B5;
}
.form .form-group .des p {
  margin-bottom: 0;
  text-align: justify;
}
.form .form-group .form-label {
  flex: 25%;
  padding: 0 10px;
  font-weight: bold;
}
.form .form-group .form-contents {
  flex: 75%;
  padding: 0 10px;
}
.form .form-group .check {
  padding: 7px;
  border-radius: 3px;
  background-color: #fff;
  border: solid 1px #dcdcdc;
}
.form .form-group .check img {
  padding: 5px;
}
.form .form-group .check input {
  padding-left: 2rem;
}
.form .more-box {
  padding-top: 1rem;
  text-align: center;
}
.form .more-box .more {
  display: inline-block;
  width: 100%;
  max-width: calc(24.9rem - 4px);
  line-height: 4.4rem;
  border: 2px solid #F38F00;
  background: #F38F00;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  border-radius: 30px;
}
.form .more-box .more:hover {
  background: #fff;
  color: #F38F00;
}

.form .form-group input.form-control,
.form .form-group textarea.form-control,
.form .form-group select.form-control {
  font-size: inherit;
  height: auto;
  padding: 1rem;
}

.label {
  padding: 0.5rem;
  border-radius: 3px;
  color: #fff;
}

input:focus {
  outline: none;
}

.header-nav ul li {
  position: relative;
}
.header-nav ul li ul {
  flex-wrap: wrap;
  display: flex;
  position: absolute;
  z-index: 999;
  right: 0;
  top: 3rem;
  width: 600px;
  background: #eee;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.2s;
  transition-timing-function: ease-out;
  padding: 1rem;
  border-radius: 0 0 5px 5px;
  border: 1px #dcdcdc solid;
  border-top: none;
}
.header-nav ul li ul li {
  width: 33.33%;
  padding: 5px;
}
.header-nav ul li ul li a {
  border: 1px solid #e9e9e9;
  background-color: #fff;
  display: block;
  font-size: 1.3rem;
  padding: 0.5rem;
  color: #333;
  font-weight: 700;
  line-height: 3.5rem;
  position: relative;
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
}
.header-nav ul li ul li a img {
  padding-right: 1rem;
  width: 50px;
  height: auto;
}
.header-nav ul li ul li a i {
  position: absolute;
  right: 0;
  top: 0;
  color: #999;
  line-height: 50px;
}
.header-nav ul li ul li:hover a {
  background-color: #fff;
  color: #2561b1;
  opacity: 0.6;
}
.header-nav ul li:hover > ul {
  transform: scaleY(1);
}

.main-nav {
  display: flex;
  justify-content: flex-start;
}
.main-nav > ul {
  display: flex;
  align-items: center;
}
.main-nav > ul > li {
  position: relative;
  display: block;
  color: #F40E08;
  padding: 0.5rem 1.5rem 0.5rem 5rem;
  border-left: 1px solid #dcdcdc;
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
}
.main-nav > ul > li .sm {
  display: block;
  font-size: 1.2rem;
  line-height: 1.5rem;
  font-weight: 700;
}
.main-nav > ul > li .lg {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8rem;
  display: block;
}
.main-nav > ul > li:last-child {
  border-right: none;
}
.main-nav > ul > li:nth-child(1) {
  background-image: url("../img/common/header-icon1.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-position: 1.5rem center;
  border-left: none;
}
.main-nav > ul > li:nth-child(2) {
  background-image: url("../img/common/header-icon2.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-position: 1.5rem center;
}
.main-nav > ul > li:nth-child(3) {
  background-image: url("../img/common/header-icon3.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-position: 1.5rem center;
}
.main-nav > ul > li:nth-child(4) {
  background-image: url("../img/common/header-icon4.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-position: 1.2rem center;
}
.main-nav > ul > li:nth-child(5) {
  background-image: url("../img/common/header-icon5.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-position: 1.3rem center;
}

.main-nav-sp {
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  opacity: 0;
  height: 0;
  position: fixed;
  z-index: 9999;
  left: 0;
  width: 100%;
  overflow-y: auto;
}
.main-nav-sp.is_active {
  opacity: 0.98;
  height: calc(100vh - 4rem);
}
.main-nav-sp ul li {
  position: relative;
}
.main-nav-sp ul li a {
  display: block;
  font-size: 1.5rem;
  line-height: 6rem;
  color: #fff;
  padding: 0 15px;
  background: #565656;
  border-bottom: 1px solid #dcdcdc;
}
.main-nav-sp ul li a.main-nav-sp-est {
  background: #FD7C23;
  font-weight: 700;
}
.main-nav-sp ul li span {
  position: absolute;
  z-index: 999;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  height: 6rem;
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  text-align: right;
}
.main-nav-sp ul li span::before {
  content: "\f078";
  display: inline-block;
  line-height: 5rem;
  margin-right: 20px;
  color: #fff;
}
.main-nav-sp ul li span.is-active::before {
  content: "\f077";
}
.main-nav-sp ul li ul {
  display: none;
}
.main-nav-sp ul li ul li a {
  background: #F6F6F6;
  color: #333;
}

.navbar-global {
  background: #F6F6F6;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  padding: 0;
  margin: 0;
}
.navbar-global .navbar-nav {
  width: 100%;
  display: flex;
}
.navbar-global .navbar-nav li {
  padding: 1.5rem 0;
  border-left: 1px solid #ddd;
  width: 100%;
  height: 50px;
  position: relative;
}
.navbar-global .navbar-nav li:last-child {
  border-right: 1px solid #ddd;
}
.navbar-global .navbar-nav li a {
  color: #F7CC3E;
  font-weight: 700;
  display: block;
  text-align: center;
  font-size: 1.6rem;
  line-height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 2.5rem;
}
.navbar-global .navbar-nav li a:hover {
  color: #fff;
  background: #565656;
}

.navbar-search {
  padding: 1rem 0;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  background-color: #fdfdfd;
}
.navbar-search__main {
  vertical-align: middle;
  align-items: center;
}
.navbar-search__main div {
  margin-left: 3rem;
}
.navbar-search__main div + div {
  margin-left: 2rem;
}
.navbar-search__main ul {
  background-image: url("../img/navbar_icon.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-position: 0 center;
  padding-left: 8.5rem;
}
.navbar-search__main ul li {
  height: 74px;
  background: #f8f7f3;
}
.navbar-search__main ul li:first-child {
  border-radius: 5px 0 0 5px;
}
.navbar-search__main ul li:last-child {
  border-radius: 0 5px 5px 0;
}
.navbar-search__main ul li + li {
  margin-left: -1px;
}
.navbar-search__main ul li > a {
  padding: 7px;
  display: block;
  position: relative;
  width: 13rem;
  height: 100%;
  color: #333;
  text-align: center;
  font-weight: 700;
}
.navbar-search__main ul li > a img {
  display: block;
  margin: 0 auto;
}
.navbar-search__main ul li > a span {
  font-size: 1.4rem;
}
.navbar-search__main ul li > a:hover {
  color: #D11F2B;
}
.navbar-search__main ul li > a:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 2px solid #D11F2B;
  width: 100%;
  height: 100%;
  border-radius: 3px;
}
.navbar-search__main ul li > a:hover::before {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translate(-50%, 0);
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid #91AA04;
  width: 14px;
  height: 8px;
  background-size: 14px auto;
  z-index: 1000;
}
.navbar-search__main ul li .filter-child {
  display: none;
  position: absolute;
  z-index: 150;
  top: 8.5rem;
  left: -2rem;
  right: 0;
  margin: 0 auto;
  width: 1290px;
}
.navbar-search__main ul li .filter-child.active {
  opacity: 1;
  z-index: 500;
  display: block;
}
.navbar-search__main ul li .filter-contents {
  background-color: #fdfdfd;
  color: #FFF;
  padding: 3rem;
  border-radius: 0 0 5px 5px;
}
.navbar-search__main ul li .filter-contents a span {
  font-size: 1.4rem;
  display: block;
}

div#background {
  display: none;
  width: 100%;
  height: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.7);
}

.sidenav {
  display: none;
}
.sidenav.is_active {
  display: block;
  border: 1px solid #dcdcdc;
  position: fixed;
  z-index: 10;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  margin-right: 30px;
  padding: 1.25rem;
  background: #f8f7f3;
  text-align: center;
  border-radius: 7px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.sidenav ul.sidenav-menu li {
  margin-top: 7px;
  border-radius: 5px;
  height: 85px;
  width: 100px;
  line-height: 1.8rem;
  position: relative;
}
.sidenav ul.sidenav-menu li a, .sidenav ul.sidenav-menu li a:hover, .sidenav ul.sidenav-menu li a:visited {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  color: #fff;
}
.sidenav ul.sidenav-menu li a:hover {
  opacity: 0.7;
}
.sidenav ul.sidenav-menu li img {
  display: block;
  margin: 0 auto;
}
.sidenav ul.sidenav-menu li span {
  font-size: 1.2rem;
}
.sidenav ul.sidenav-menu li.sidenav-sample {
  background: #3ca232;
}
.sidenav ul.sidenav-menu li.sidenav-help {
  background: #f40e08;
}
.sidenav ul.sidenav-menu li.sidenav-est {
  background: #91AA04;
}
.sidenav ul.sidenav-menu li.sidenav-home {
  background: #666666;
}

.page-template-page-est .sidenav, .single-design .sidenav, .page-clearcase .sidenav, .page-package .sidenav {
  display: none !important;
}
.page-template-page-est .sidenav.is_active, .single-design .sidenav.is_active, .page-clearcase .sidenav.is_active, .page-package .sidenav.is_active {
  display: none !important;
}

.sub-menu {
  background: #D11F2B;
  border-bottom: 1px solid #dcdcdc;
  border-top: 1px solid #FAF9F7;
}
.sub-menu ul {
  display: flex;
  align-items: center;
}
.sub-menu ul li {
  width: 100%;
  border-left: 1px solid #fff;
}
.sub-menu ul li:last-child {
  border-right: 1px solid #fff;
}
.sub-menu ul li a {
  display: block;
  font-size: 2rem;
  line-height: 2.5rem;
  color: #fff;
  font-weight: 700;
  background: #D11F2B;
  text-align: center;
  padding: 1.5rem 1rem;
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  font-family: "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
}
.sub-menu ul li a:hover {
  color: #fff;
  background: #333;
}
.sub-menu ul li a i {
  color: #fff;
}
.sub-menu ul li.active a {
  background: #333;
  color: #fff;
}
.sub-menu ul li.active a i {
  display: none;
}
.sub-menu.is_active {
  position: fixed;
  z-index: 20;
  width: 100%;
  top: 11.5rem;
  left: 0;
}

.draft-nav {
  margin-bottom: 3rem;
  display: flex;
  gap: 10px;
  justify-content: center;
}
.draft-nav li {
  border-radius: 4px;
  text-align: center;
  padding: 1.5rem;
  font-size: 1.8rem;
  width: 49%;
}
.draft-nav li.icon_ai, .draft-nav li.icon_ai:visited {
  border: 2px solid #FF982D;
  color: #FF982D;
}
.draft-nav li.icon_ai:hover, .draft-nav li.icon_ai:visited:hover {
  background: #FF982D;
}
.draft-nav li.icon_ai.icon_ai.active, .draft-nav li.icon_ai:visited.icon_ai.active {
  background: #FF982D;
  color: #fff;
}
.draft-nav li.icon_psd, .draft-nav li.icon_psd:visited {
  border: 2px solid #4093CC;
  color: #4093CC;
}
.draft-nav li.icon_psd:hover, .draft-nav li.icon_psd:visited:hover {
  background: #4093CC;
}
.draft-nav li.icon_psd.icon_psd.active, .draft-nav li.icon_psd:visited.icon_psd.active {
  background: #4093CC;
  color: #fff;
}
.draft-nav li:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  transition: all 0.5s ease;
  color: #fff;
}

.table {
  width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}
.table th,
.table td {
  padding: 1rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
  text-align: left;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}
.table .table {
  background-color: #fff;
}

.table-sm th,
.table-sm td {
  padding: 1rem;
}

.table-bordered {
  border: 1px solid #dee2e6;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

/* Components - Re-usable site elements.
========================================================================== */
.hamburger {
  padding: 0.9rem 1.1rem;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.7;
}

.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner {
  background-color: #fff;
}
.hamburger.is-active .hamburger-inner::before {
  background-color: #fff;
}
.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

.hamburger-box {
  width: 4rem;
  height: 1.4rem;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  left: 25%;
  display: block;
  top: 50%;
  margin-top: -0.1rem;
  width: 4rem;
  height: 0.2rem;
  background-color: #fff;
  border-radius: 0;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before {
  width: 4rem;
  height: 0.2rem;
  background-color: #fff;
  border-radius: 0;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
  content: "";
  display: block;
  top: -0.6rem;
}
.hamburger-inner::after {
  width: 4rem;
  height: 0.2rem;
  background-color: #fff;
  border-radius: 0;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
  content: "";
  display: block;
  bottom: -0.6rem;
}

.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.slide_selector, .top-slider {
  display: none;
}

.slidebars_right {
  color: #444;
  border-left: 1px solid #dcdcdc;
}
.slidebars_right table {
  font-size: 12px;
}
.slidebars_right th {
  width: 25%;
}
.slidebars_right .fa-times {
  position: absolute;
  top: 5px;
  left: 10px;
  color: #dcdcdc;
  z-index: 10;
}

.slidebars_left {
  border-right: 1px solid #dcdcdc;
}
.slidebars_left .fa-times {
  position: absolute;
  top: 5px;
  right: 10px;
  color: #dcdcdc;
  z-index: 10;
}
.slidebars_left a {
  color: #000;
}

/*
    slick
*/
.slider .slick-prev,
.slider .slick-next {
  /* スライド画像の後ろに隠れないようにする */
  z-index: 10;
}

.slider .slick-prev {
  left: -35px;
}

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

.acbox {
  width: auto;
  font-size: 0px;
  /* ラベルと開く部分を分離する時は数値を入れる */
  margin: 0 20px;
  /* ボックス全体の位置調整 */
}

.acbox label {
  width: auto;
  font-size: 16px;
  /* ラベルの文字サイズ */
  font-weight: bold;
  text-align: left;
  background: #f6f6f6;
  /* ラベルの背景色 */
  border-bottom: #D11F2B 1px solid;
  position: relative;
  display: block;
  padding: 15px 20px;
  cursor: pointer;
  color: #D11F2B;
}

.acbox label:hover {
  border-bottom: #F7CC3E 1px solid;
  /* ラベルにマウスを乗せた時の背景色 */
}

.acbox input {
  display: none;
}

.acbox label:after {
  color: #D11F2B;
  content: "▼";
  /* ラベルのアイコン */
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -14px;
}

.acbox input:checked ~ label::after {
  content: "▲";
  color: #F7CC3E;
  /* ラベルをクリックした後のアイコン */
}

.acbox div {
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.2s;
  /* 開閉スピードの設定 */
}

.acbox input:checked ~ div {
  height: auto;
  padding: 18px;
  /* 開いた部分の枠内の余白 */
  border-radius: 0px;
  background: #FFF;
  /* 開いた部分の背景色 */
  opacity: 1;
}

.acbox input:checked ~ label {
  background: #f6f6f6;
  /* クリック後のラベルの背景色 */
}

.acbox-under {
  font-size: 15px;
  /* 開いた部分の文字サイズ */
  color: #333;
  /* 開いた部分の文字色 */
}

/* Layout - Structure and layout files.
========================================================================== */
/* Overall
========================================================================== */
* {
  box-sizing: border-box;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  background: #ffffff;
  font-family: "Lato", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333;
  font-size: 1.7rem;
  line-height: 1.5;
  overflow-x: hidden;
  font-weight: 400;
  letter-spacing: 0.05rem;
}
body.is_active {
  height: 100%;
  overflow: hidden;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}

.contents-wrap {
  padding: 5rem 0;
}

.side-main-warp {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.side-main-warp .side-contents {
  flex: 25%;
  padding-right: 25px;
}
.side-main-warp .main-contents {
  flex: 75%;
}

.contents {
  padding: 4rem 0;
}
.contents.contents-bg {
  background: #F7F5F2;
}
.contents .head-box {
  text-align: left;
  margin-bottom: 3rem;
}
.contents .head-box h2 {
  font-size: 2.5rem;
  line-height: 4rem;
  padding-left: 2.5rem;
  position: relative;
  border-bottom: none;
}
.contents .head-box h2::before {
  content: "";
  width: 0.7rem;
  height: 4rem;
  border-radius: 3px;
  background: #D11F2B;
  position: absolute;
  left: 0;
  top: 0;
}
.contents .main-box {
  width: 100%;
  margin: 0 auto;
}
.contents .main-box h3 {
  padding: 1rem 1.5rem;
  background: #F4F4F4;
  margin-bottom: 1.5rem;
  line-height: 3rem;
}
.contents .main-box section {
  padding-bottom: 3rem;
}
.contents header {
  padding-bottom: 3rem;
}
.contents header .main-box {
  max-width: 87.5rem;
}

.contentWarp {
  gap: 40px;
  flex-direction: row-reverse;
}
.contentWarp .main {
  width: 75%;
}
.contentWarp .main .contents:first-child {
  padding-top: 0;
}
.contentWarp .side {
  width: 22.5%;
}

/* Adjustment
========================================================================== */
.overflow-h {
  overflow: hidden;
}

.scroll {
  margin-top: -22rem !important;
  padding-top: 22rem !important;
}

/* Button
========================================================================== */
.buttonCon {
  background: #E40213;
  border-radius: 3px;
  color: #fff;
  font-size: 17px;
  line-height: 4.5rem;
  padding: 0 15px;
  margin-top: 10px;
  font-weight: bold;
  border: solid 1px #E40213;
  /* 内側の線になる一本線の枠線をひく*/
  outline: solid 1px #E40213;
  /* 外側の線になる一本線の枠線をひく*/
  outline-offset: 1px;
  /* 外側の線と内側の線の空き具合を調整*/
}
.buttonCon::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 27px;
  background-image: url(../img/mail_icon.png);
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}
.buttonCon:hover {
  opacity: 0.7;
}

.buttonLine,
.buttonTikTok {
  background: #06C755;
  border-radius: 3px;
  color: #fff;
  font-size: 17px;
  line-height: 1.5rem;
  padding: 0px 13px 0px 8px;
  margin: 10px 13px 0 8px;
  border: solid 1px #06C755;
  /* 内側の線になる一本線の枠線をひく*/
  outline: solid 1px #06C755;
  /* 外側の線になる一本線の枠線をひく*/
  outline-offset: 1px;
  /* 外側の線と内側の線の空き具合を調整*/
  font-weight: bold;
  display: flex;
  align-items: center;
}
.buttonLine img,
.buttonTikTok img {
  margin-right: 5px;
}
.buttonLine .flex,
.buttonTikTok .flex {
  flex-direction: column;
}

.buttonLineWarp:hover .buttonLine,
.buttonTikTokWarp:hover .buttonLine {
  opacity: 0.7;
}

.buttonTikTok {
  background: #000;
  border-radius: 3px;
  color: #fff;
  font-size: 15.2px;
  line-height: 1.5rem;
  padding: 10px;
  margin: 0 0 20px 0;
  border: solid 1px #000;
  /* 内側の線になる一本線の枠線をひく*/
  outline: solid 1px #000;
  /* 外側の線になる一本線の枠線をひく*/
  outline-offset: 1px;
  /* 外側の線と内側の線の空き具合を調整*/
  font-weight: bold;
  display: flex;
  align-items: center;
}
.buttonTikTok img {
  margin-right: 0px;
}
.buttonTikTok .flex {
  flex-direction: column;
}

.buttonNext {
  background: #D11F2B;
  border-radius: 30px;
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  line-height: 4.5rem;
  padding: 0 30px;
}
.buttonNext:hover {
  background: #dcdcdc;
  color: #D11F2B;
}

/* List
========================================================================== */
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

/* Imeges
========================================================================== */
img {
  max-width: 100%;
  vertical-align: middle;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}

i {
  padding: 0 0.5rem;
}

/* Page-Template
========================================================================== */
.pageTitle {
  width: 100%;
  border: 1px solid #F7CC3E;
  border-radius: 10px;
  margin-bottom: 40px;
}
.pageTitle h1 {
  margin: 30px 50px;
  line-height: 1.4;
  color: #D11F2B;
  font-size: 5.5rem;
}

.page section h3 {
  border: #D11F2B 1px solid;
  border-left: #D11F2B 8px solid;
  padding: 5px 5px 5px 10px;
  line-height: 1.5;
  margin-bottom: 15px;
  font-size: 2.5rem;
}

/* Parts
========================================================================== */
.title {
  font-size: 2.4rem;
  line-height: 4.5rem;
  color: #413233;
  font-family: "Lato", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

.h2 {
  text-align: center;
  color: #D11F2B;
  font-size: 4rem;
  line-height: 4rem;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto 40px;
  position: relative;
  line-height: 1.5;
}
.h2::after {
  position: absolute;
  content: "";
  background-color: #F7CC3E;
  /*下線の色*/
  width: 250px;
  /*線の幅*/
  height: 2px;
  /*線の太さ*/
  bottom: -10px;
  /*線のタテ位置*/
  left: 50%;
  /*線のヨコ位置*/
  transform: translateX(-50%);
  /*線のヨコ位置*/
}

.h2-con {
  text-align: center;
  color: #D11F2B;
  font-size: 3rem;
  padding: 15px;
  max-width: 100%;
  margin: 0 auto 30px;
  border: solid 1px #F7CC3E;
  /* 内側の線になる一本線の枠線をひく*/
  outline: solid 1px #D11F2B;
  /* 外側の線になる一本線の枠線をひく*/
  outline-offset: 2px;
  /* 外側の線と内側の線の空き具合を調整*/
}

.read {
  padding-bottom: 6rem;
}

.tablePrice {
  color: #E50000;
  font-size: 2.5rem;
  font-weight: bold;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

fieldset {
  margin-bottom: 3rem;
}

.page-title {
  background-color: #f8f7f3;
}
.page-title__main {
  text-align: center;
  padding: 4rem;
}

.price {
  padding: 0.5rem;
}
.price .red {
  font-size: 110%;
}

.page_top {
  position: fixed;
  bottom: 85px;
  right: 10px;
  width: 45px;
  height: 45px;
}
.page_top i {
  font-size: 2rem;
  font-weight: 700;
}

.contactBox {
  border: 5px #D8AA13 solid;
  border-radius: 5px;
  padding: 15px 30px;
}

.partTell {
  border: 5px #D8AA13 solid;
  border-radius: 5px;
  padding: 15px 10px 0 120px;
  background: url(../img/part_tell_bg.png) no-repeat;
  background-size: contain;
  height: 200px;
}
.partTell p {
  margin-bottom: 0;
}
.partTell .flex {
  gap: 8px;
}
.partTell .flex p {
  width: 40%;
  margin-top: 5px;
}
.partTell a {
  display: block;
}
.partTell .buttonCon {
  height: auto;
  width: 100%;
  font-size: 16px;
  padding: 6px 10px;
  margin-top: 15px;
}
.partTell .buttonCon:hover {
  opacity: 0.5;
}
.partTell .buttonLine {
  font-size: 16px;
  line-height: 1.5;
  padding: 6px 13px 6px 8px;
  margin: 15px 5px 0 0;
}

.main-breadcrumb {
  padding: 1rem;
}
.main-breadcrumb .breadcrumb {
  background: none;
  padding: 0;
  font-size: 1.3rem;
  line-height: 2.4rem;
  margin-bottom: 0;
}
.main-breadcrumb .breadcrumb a {
  color: #3B4043;
}
.main-breadcrumb .breadcrumb-item + .breadcrumb-item {
  padding-left: 1rem;
}
.main-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  font-size: 1.2rem;
  line-height: 2.4rem;
}

.faq li {
  margin-bottom: 20px;
}

/* form
========================================================================== */
.form table {
  width: 100%;
}
.form table tr {
  border-bottom: #dcdcdc 1px solid;
}
.form table tr th,
.form table tr td {
  padding: 15px;
  vertical-align: middle;
}
.form table tr th {
  width: 35%;
  text-align: left;
}
.form table tr th span {
  color: #E50000;
  font-size: 80%;
}
.form table tr p {
  margin: 0;
}
.form table input {
  line-height: 3.5rem;
  border: #aaa 1px solid;
}
.form table textarea {
  width: 100%;
  border: #aaa 1px solid;
}
.form table span.wpcf7-spinner {
  display: none;
}
.form table .wpcf7-list-item {
  display: inline-block;
  margin: 0 1em 0 0;
}
.form .submit {
  text-align: center;
  margin-top: 20px;
}
.form .submit input {
  font-size: 2rem;
  background: #E40213;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 5px 30px;
}

/* header
========================================================================== */
.header .headerTop {
  background: #D11F2B;
  line-height: 30px;
}
.header .headerTop h1, .header .headerTop p {
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  margin-bottom: 0;
}
.header .headerContet {
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #F7CC3E;
}
.header .headerContet .headerRR {
  gap: 15px;
}

.gNavi {
  line-height: 6rem;
  font-size: 1.8rem;
  font-weight: bold;
  color: #D11F2B;
  border-bottom: 1px solid #F7CC3E;
}
.gNavi a {
  color: #D11F2B;
}
.gNavi a:hover {
  color: #D11F2B;
}
.gNavi .dropdown {
  justify-content: space-around;
}
.gNavi .dropdown .ui-widget-content {
  position: absolute;
  z-index: 10;
  background: #f6f6f6;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.2);
}
.gNavi .dropdown .ui-widget-content li {
  font-size: 1.5rem;
  line-height: 1;
  border-bottom: #D11F2B 1px solid;
}
.gNavi .dropdown .ui-widget-content li.first-child {
  border-top: #F7CC3E 1px solid;
}
.gNavi .dropdown .ui-widget-content li:hover {
  background: #F7CC3E;
}
.gNavi .dropdown .ui-widget-content li.first-child a:first-child {
  display: none;
}
.gNavi .dropdown .ui-widget-content li a {
  padding: 10px 15px;
  display: block;
}
.gNavi .dropdown .ui-widget-content li a:hover {
  color: #D11F2B;
}

.breadcrumbs {
  padding: 15px 0 10px;
  font-size: 1.4rem;
}

/* footer
========================================================================== */
.footer {
  margin-top: 60px;
  background: #333;
  padding: 30px 0;
  color: #fff;
  font-size: 1.4rem;
}
.footer .footerCon {
  justify-content: space-between;
}
.footer a {
  color: #fff;
}
.footer ul {
  gap: 100px;
}

.copyright {
  background: #aaa;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  padding: 1rem 0;
}
.copyright address {
  font-style: normal;
}

/* sidebar-blog
========================================================================== */
.side .contactBox {
  padding: 75px 10px 10px;
  position: relative;
  border: 2px #D8AA13 solid;
  margin-bottom: 25px;
}
.side .contactBox img {
  position: absolute;
  padding: 10px;
  top: -20px;
  left: 0;
}
.side .contactBox .buttonCon {
  width: 100%;
  padding: 0;
}
.side .buttonLine {
  margin: 0;
  font-size: 20px;
  line-height: 2.5rem;
  letter-spacing: 0.1rem;
  margin-bottom: 3rem;
  justify-content: center;
  align-items: center;
}
.side #sideArea {
  border: 2px #dcdcdc solid;
  border-radius: 5px;
  padding: 10px 10px 0;
  margin-bottom: 30px;
}
.side #sideArea p {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-bottom: 10px;
}
.side #sideBanner {
  flex-direction: column;
  gap: 20px;
}

.sideTitle {
  background: #D11F2B;
  color: #fff;
  font-weight: 600;
  font-size: 20px;
  padding: 10px;
  margin-bottom: 10px;
}

.side_serviceBanner {
  margin-bottom: 30px;
}
.side_serviceBanner .flex {
  gap: 10px;
  flex-direction: column;
}

#sideCategory {
  margin-bottom: 30px;
}
#sideCategory ul li {
  padding: 5px;
  border-bottom: #dcdcdc 1px dotted;
}
#sideCategory ul li::before {
  content: "-";
  font-weight: bold;
  color: #F7CC3E;
}

#sideReform {
  margin-bottom: 30px;
}
#sideReform ul li .flex {
  gap: 10px;
}
#sideReform ul li .flex p img {
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  /* この一行を追加するだけ！ */
}
#sideReform ul li .flex p span {
  font-size: 1.4rem;
  color: #666;
}

/* Index
========================================================================== */
.topSlider {
  margin-top: 15px;
}

#mainTop .bx-wrapper {
  margin: 0 auto 30px;
}

.topService ul {
  gap: 20px;
}
.topService ul li {
  width: 25%;
}
.topService ul li p {
  font-size: 1.5rem;
  font-weight: bold;
  background: #fff;
  margin-bottom: 1.4rem;
  text-align: center;
  width: 100%;
  padding: 5px;
  position: relative;
}
.topService ul li p:after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-right-width: 10px;
  margin-left: -10px;
  border-top-color: #FFFFFF;
  top: 100%;
  left: 50%;
}
.topService ul li a {
  color: #333;
}
.topService ul li a div {
  border: 2px #dcdcdc solid;
  background: #fff;
  border-radius: 5px;
  padding: 20px 15px;
  font-size: 1.4rem;
  text-align: center;
}
.topService ul li a div dl {
  margin-bottom: 10px;
}
.topService ul li a div dl dt {
  font-size: 2.5rem;
  color: #D11F2B;
  font-weight: bold;
}
.topService ul li a div dl img {
  margin: 10px 0;
}
.topService ul li a div table {
  margin-bottom: 10px;
  width: 100%;
}
.topService ul li a div table tr {
  border-top: 1px dotted #dcdcdc;
}
.topService ul li a div table td {
  padding-left: 15px;
  text-align: left;
}
.topService ul li a div table td.tablePrice span {
  font-size: 125%;
}
.topService ul li a:hover div {
  border: 2px #F7CC3E solid;
}
.topService #topServiceApartment {
  margin: 60px 100px;
}

#topInfo {
  padding: 30px 15px;
}
#topInfo dl {
  margin: 0 auto;
  border: #E40213 double;
  border-radius: 5px;
  padding: 20px 30px;
  font-size: 1.4rem;
  width: -moz-fit-content;
  /* Firefox */
  width: fit-content;
  /* other browsers */
}
#topInfo dl dt {
  margin-bottom: 5px;
  font-weight: bold;
}

.topSample {
  margin-bottom: 20px;
}
.topSample .slick-prev {
  left: -25px;
}
.topSample .slick-next {
  right: -15px;
}
.topSample .topSampleItem {
  border: 1px solid #dcdcdc;
  background: #fff;
  padding: 10px;
  margin: 0 20px;
  border-radius: 5px;
}
.topSample .topSampleItem img {
  width: 250px;
  height: 180px;
  -o-object-fit: cover;
     object-fit: cover;
  /* この一行を追加するだけ！ */
}
.topSample .topSampleItem dd {
  font-size: 1.4rem;
}

#topPoint div {
  margin: 30px 20px;
}
#topPoint div.topPointCon:nth-child(n+2) {
  border-bottom: 1px dotted #dcdcdc;
}
#topPoint h3 {
  color: #E40213;
  font-size: 2.8rem;
  margin-bottom: 15px;
}
#topPoint h3 span {
  font-size: 1.4rem;
  background: #333;
  padding: 5px;
  color: #fff;
  border-radius: 3px;
  vertical-align: text-bottom;
  margin-right: 15px;
}
#topPoint #topPointCon3 ul {
  gap: 10px;
  justify-content: center;
}
#topPoint #topPointCon3 ul img {
  width: 150px;
}
#topPoint .more-box {
  justify-content: center;
  align-items: center;
  gap: 10px;
}
#topPoint .buttonTikTok {
  text-align: center;
  background: #000;
  border-radius: 3px;
  color: #fff;
  font-size: 15.2px;
  line-height: 1.5rem;
  padding: 8px 10px;
  margin: 0;
  border: solid 1px #000;
  /* 内側の線になる一本線の枠線をひく*/
  outline: solid 1px #000;
  /* 外側の線になる一本線の枠線をひく*/
  outline-offset: 1px;
  /* 外側の線と内側の線の空き具合を調整*/
  font-weight: bold;
  display: flex;
  align-items: center;
}
#topPoint .buttonTikTok img {
  margin-right: 0px;
}
#topPoint .buttonTikTok .flex {
  flex-direction: column;
}

#topColumn ul {
  gap: 30px;
  flex-wrap: wrap;
}
#topColumn ul li {
  width: calc(50% - 20px);
}
#topColumn ul li .thumb {
  width: 100px;
  height: 100px;
  margin-right: 15px;
  margin-bottom: 0;
}
#topColumn ul li .title {
  font-size: 2rem;
  line-height: 2.5rem;
  margin-bottom: 10px;
}
#topColumn ul li .calender {
  font-size: 1.4rem;
  margin-bottom: 0;
  color: #666;
}
#topColumn ul li a:hover .title {
  color: #D11F2B;
}

#topNayami div {
  margin: 30px 20px 0 20px;
  /*
  &::after {
      content: "";
      display: inline-block;
      width: 245px;
      height: 45px;
      background: url(../img/topNayami_sita.png;) no-repeat;
      background-size: contain;
  }
  */
}
#topNayami div:last-child() {
  background: none;
}
#topNayami div.topNayamiCon {
  border: 3px #F7CC3E solid;
  padding: 30px;
  border-radius: 7px;
}
#topNayami div p {
  margin-bottom: 0;
}
#topNayami h3 {
  color: #D11F2B;
  font-size: 3rem;
  margin-bottom: 15px;
}
#topNayami h3 span {
  font-size: 2rem;
  background-color: #E40213;
  padding: 5px 10px;
  color: #fff;
  border-radius: 26px;
  vertical-align: bottom;
  margin-right: 15px;
}

#topFlow ul li {
  position: relative;
}
#topFlow ul li:nth-child(1)::before {
  content: "";
  /*何も入れない*/
  display: inline-block;
  width: 85px;
  /*画像の幅*/
  height: 128px;
  /*画像の高さ*/
  background: url(../img/step1.png;) no-repeat;
  background-size: contain;
  margin-left: 20px;
  position: absolute;
  top: -20px;
}
#topFlow ul li:nth-child(2)::before {
  content: "";
  /*何も入れない*/
  display: inline-block;
  width: 85px;
  /*画像の幅*/
  height: 128px;
  /*画像の高さ*/
  background: url(../img/step2.png;) no-repeat;
  background-size: 8.5rem;
  margin-left: 20px;
  position: absolute;
  top: -20px;
}
#topFlow ul li:nth-child(3)::before {
  content: "";
  /*何も入れない*/
  display: inline-block;
  width: 85px;
  /*画像の幅*/
  height: 128px;
  /*画像の高さ*/
  background: url(../img/step3.png;) no-repeat;
  background-size: 8.5rem;
  margin-left: 20px;
  position: absolute;
  top: -20px;
}
#topFlow ul li:nth-child(4)::before {
  content: "";
  /*何も入れない*/
  display: inline-block;
  width: 85px;
  /*画像の幅*/
  height: 128px;
  /*画像の高さ*/
  background: url(../img/step4.png;) no-repeat;
  background-size: 8.5rem;
  margin-left: 20px;
  position: absolute;
  top: -20px;
}
#topFlow ul li:nth-child(5)::before {
  content: "";
  /*何も入れない*/
  display: inline-block;
  width: 85px;
  /*画像の幅*/
  height: 128px;
  /*画像の高さ*/
  background: url(../img/step5.png;) no-repeat;
  background-size: 8.5rem;
  margin-left: 20px;
  position: absolute;
  top: -20px;
}
#topFlow ul li:nth-child(6)::before {
  content: "";
  /*何も入れない*/
  display: inline-block;
  width: 85px;
  /*画像の幅*/
  height: 128px;
  /*画像の高さ*/
  background: url(../img/step6.png;) no-repeat;
  background-size: 8.5rem;
  margin-left: 20px;
  position: absolute;
  top: -20px;
}
#topFlow .topFlowCon {
  gap: 20px;
  border: #D11F2B solid 1px;
  padding: 20px 20px 20px 70px;
  border-radius: 5px;
  margin: 40px 20px 30px 63px;
}
#topFlow .topFlowCon .buttonLine {
  font-size: 13px;
}
#topFlow .topFlowCon .topFlowConCon {
  width: 70%;
}
#topFlow .topFlowCon .topFlowConImg {
  display: inline-block;
  width: 30%;
}

#topMessage {
  margin-top: 60px;
  padding: 40px 50px;
  border: #dcdcdc 1px solid;
  border-radius: 5px;
}
#topMessage h2 {
  text-align: center;
  font-size: 3rem;
  margin-bottom: 30px;
}
#topMessage p {
  line-height: 2;
}

/* service
========================================================================== */
.page-template-page-service .serviceHeaderBanner p.hojokin {
  padding-top: 10px;
  font-size: 1.8rem;
  color: #D11F2B;
}
.page-template-page-service .pageTitle {
  margin-bottom: 0;
}
.page-template-page-service .topFlowCon {
  margin-bottom: 20px;
}
.page-template-page-service .topFlowCon .flex {
  justify-content: center;
}
.page-template-page-service .topFlowCon .flex .buttonLine {
  font-size: 20px;
  line-height: 3rem;
}

.serviceHeader .container h2 {
  border: #D8AA13 2px solid;
  border-radius: 3px;
  padding: 20px;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  margin: 0 auto;
}
.serviceHeader .container .flex {
  justify-content: center;
  align-items: center;
  margin-top: -20px;
}
.serviceHeader .container .flex p {
  font-size: 5rem;
  text-align: right;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  color: #E40213;
  margin-top: 30px;
}
.serviceHeader .container .flex p span {
  font-size: 50%;
  color: #333;
}
.serviceHeader .container .flex img {
  width: 10%;
}

#double_serviceHikaku {
  background: url(../img/double_bg.png) no-repeat;
  background-size: cover;
}

#door_serviceHikaku {
  background: url(../img/door_bg.png) no-repeat;
  background-size: cover;
}

#mado_serviceHikaku {
  background: url(../img/mado_bg.png) no-repeat;
  background-size: cover;
}

#shutter_serviceHikaku {
  background: url(../img/shutter_bg.png) no-repeat;
  background-size: cover;
}

.serviceBanner .flex {
  gap: 10px;
  flex-direction: column;
  align-items: flex-end;
  max-width: 200px;
  z-index: 100;
  position: fixed;
  right: 0;
  bottom: 80px;
}
.serviceBanner .flex li:hover::after {
  content: "";
  border-left: 10px #D11F2B solid;
}

.serviceHikaku table {
  width: 650px;
  margin: 0 auto;
  background: #fff;
}
.serviceHikaku table th,
.serviceHikaku table td {
  text-align: center;
  width: 50%;
  padding: 1rem 1rem 1.2rem;
}
.serviceHikaku table thead th {
  background: #D11F2B;
  color: #fff;
}
.serviceHikaku table thead th:last-child {
  background: #D9D9D9;
  color: #333;
}
.serviceHikaku table tbody dl dt {
  color: #E40213;
  font-size: 1.4rem;
  font-weight: bold;
}
.serviceHikaku table tbody dl .tablePrice {
  color: #333;
}

.page-template-page-service .partTell {
  margin: 40px auto;
  width: 870px;
}

.serviceSample ul {
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.serviceSample ul li {
  width: 45%;
  border: 1px solid #dcdcdc;
  background: #fff;
  padding: 10px;
  border-radius: 5px;
}
.serviceSample ul li p {
  margin: 5px 0;
}

.servicePoint .servicePointCon {
  gap: 30px;
  margin-bottom: 40px;
}
.servicePoint .servicePointCon .servicePointConP {
  width: 60%;
}
.servicePoint .servicePointCon .servicePointConImg {
  width: 35%;
}
.servicePoint ul {
  margin-bottom: 20px;
}
.servicePoint ul li {
  border-bottom: 1px #dcdcdc dashed;
}
.servicePoint ul li + li {
  margin-top: 5px;
}
.servicePoint .PriceBox {
  margin-top: 50px;
  border: #fbe193 2px solid;
  background: #fff7de;
  border-radius: 10px;
  padding: 20px;
  line-height: 1.7;
  position: relative;
}
.servicePoint .PriceBox::before {
  content: "■施工費用の例";
  background: #fbe193;
  padding: 0 10px;
  position: absolute;
  top: -20px;
  font-weight: bold;
}

.serviceConHead {
  width: 870px;
  margin: 0 auto 40px;
}

.serviceProduct .flex {
  gap: 20px;
  justify-content: center;
}
.serviceProduct section {
  width: 33.3%;
  padding: 20px 30px;
  border: #F7CC3E 2px solid;
  border-radius: 10px;
}
.serviceProduct section p {
  font-size: 15px;
  line-height: 1.6;
}
.serviceProduct section h3 {
  border-top: none;
  border-right: none;
  border-left: none;
  padding: 0;
  color: #D11F2B;
}
.serviceProduct section .flex {
  flex-direction: column;
  align-items: center;
}
.serviceProduct section .flex p {
  margin: 0;
}
.serviceProduct section .flex img {
  width: 50%;
  margin: 0 auto;
  display: block;
}
.serviceProduct section .table {
  margin-bottom: 0;
}

.serviceForm {
  margin: 0 auto;
  width: 870px;
}
.serviceForm .topFlowCon .buttonLine {
  padding: 7px 15px;
}

.serviceFaq {
  margin: 40px auto;
  width: 870px;
}

/* door */
#doorService li dl dd {
  text-align: left;
}
#doorService li.door_service4 dl dt {
  font-size: 2rem;
  line-height: 1;
}

#doorColumn ul {
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
#doorColumn ul li {
  max-width: 30%;
}

/* price
========================================================================== */
.pagePrice .flex {
  gap: 30px;
  align-items: center;
  margin-bottom: 40px;
}
.pagePrice .flex img {
  width: 200px;
}
.pagePrice .priceCon {
  width: 80%;
  margin-bottom: 20px;
}
.pagePrice .priceCon p {
  background: #F6F6F6;
  padding: 10px 15px;
}
.pagePrice .priceCon table tr th,
.pagePrice .priceCon table tr td {
  border-bottom: 1px solid #dee2e6;
}
.pagePrice .priceCon table tr th {
  width: 35%;
}
.pagePrice .priceCon table tr .tablePrice span {
  font-size: 1.4rem;
  color: #333;
  margin-left: 10px;
}

/* profile
========================================================================== */
#profile_table th {
  width: 25%;
  background: #f6f6f6;
}

#pageProfilePolicy {
  text-align: center;
}
#pageProfilePolicy ul {
  font-size: 4rem;
}
#pageProfilePolicy ul li {
  line-height: 2;
}

#pageProfileHistory table th,
#pageProfileHistory table td {
  border-bottom: 1px solid #dee2e6;
}

#profileArea table th {
  width: 15%;
}

#pageProfileStaff .staffCon {
  margin-bottom: 50px;
}
#pageProfileStaff .staffCon .flex {
  gap: 30px;
  align-items: center;
  padding: 0 20px;
}
#pageProfileStaff .staffCon .flex img {
  width: 130px;
  height: 170px;
}
#pageProfileStaff .staffCon .flex table {
  width: 100%;
}
#pageProfileStaff .staffCon .flex table th,
#pageProfileStaff .staffCon .flex table td {
  border-bottom: 1px solid #dee2e6;
  border-top: none;
}
#pageProfileStaff .staffCon .flex table th {
  width: 20%;
}
#pageProfileStaff .staffCon .kodawari {
  border: #F7CC3E 1px solid;
  margin: 10px 20px;
  border-radius: 10px;
}
#pageProfileStaff .staffCon .kodawari dt {
  background: rgba(35, 226, 204, 0.5);
  font-weight: bold;
  padding: 3px 20px;
  margin-bottom: 10px;
  max-width: -moz-fit-content;
  max-width: fit-content;
  font-size: 1.3rem;
  border-top-left-radius: 10px;
}
#pageProfileStaff .staffCon .kodawari dd {
  padding: 0 20px;
}

/* example
========================================================================== */
.post-type-archive-example h2 {
  border: #D11F2B 1px solid;
  border-left: #D11F2B 8px solid;
  padding: 5px 5px 5px 10px;
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 2.5rem;
}
.post-type-archive-example .exampleCon {
  margin-bottom: 50px;
  padding: 0 20px;
}
.post-type-archive-example .exampleCon img {
  padding: 5px;
}
.post-type-archive-example .exampleCon table {
  margin-top: 20px;
}
.post-type-archive-example .exampleCon table tr th,
.post-type-archive-example .exampleCon table tr td {
  border-bottom: 1px solid #dee2e6;
}
.post-type-archive-example .exampleCon table tr th {
  width: 20%;
}

/* blog
========================================================================== */
#blog h2 {
  border: #D11F2B 1px solid;
  border-left: #D11F2B 8px solid;
  padding: 5px 5px 5px 10px;
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 2.5rem;
}
#blog .blogCon {
  margin-bottom: 50px;
  padding: 0 20px;
}
#blog .blogCon .wp-block-image {
  padding: 5px;
  display: inline-block;
}
#blog .blogCon .wp-block-image img {
  margin-bottom: 20px;
}
#blog .blogCon .calender {
  color: #999;
}
#blog .blogCon table {
  margin-top: 20px;
}
#blog .blogCon table tr th,
#blog .blogCon table tr td {
  border-bottom: 1px solid #dee2e6;
}
#blog .blogCon table tr th {
  width: 20%;
}
#blog .navigation {
  flex-direction: row-reverse;
  gap: 20px;
}

/* Blog
========================================================================== */
.archive-contents {
  padding: 4.5rem 0;
}
.archive-contents .contents {
  padding: 3rem 0;
}
.archive-contents .head-box h2 {
  font-size: 3rem;
  line-height: 4rem;
  position: relative;
  display: block;
  text-align: left;
  padding: 0 0 0 3rem;
  border-bottom: none;
}
.archive-contents .head-box h2::before {
  content: "";
  width: 0.7rem;
  height: 4rem;
  border-radius: 3px;
  background: #F38F00;
  position: absolute;
  left: 0;
  top: 0;
}
.archive-contents .main-box {
  max-width: 87.5rem;
}

.single .card .card-title h1 {
  background-color: #F3F4F5;
  font-size: 4rem;
  line-height: 6rem;
  padding: 3rem 5rem;
}
.single .card h2 {
  font-size: 3rem;
  line-height: 4rem;
  margin: 2.5rem 0;
  padding-left: 3rem;
  position: relative;
}
.single .card h2::before {
  content: "";
  width: 0.7rem;
  height: 4rem;
  border-radius: 3px;
  background: #F38F00;
  position: absolute;
  left: 0;
  top: 0;
}
.single .card .card-body {
  padding: 3rem 5rem;
}
.single .card .card-body h3 {
  padding: 1.7rem 0;
  margin: 3rem 0 1.5rem;
  border-bottom: 4px solid #D11F2B;
  font-size: 2rem;
}
.single .card .card-body h4 {
  margin-top: 30px;
  background: #eee;
  padding: 10px 15px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  line-height: 3rem;
}
.single .card .card-body .card-text {
  margin-top: 2rem;
}
.single .card .card-body section {
  margin-bottom: 3rem;
}

/* Column
========================================================================== */
.single-column .wrap {
  padding-top: 30px;
}

.single-column .contentWarp,
.post-type-archive-column .contentWarp,
.tax-columntag .contentWarp {
  flex-direction: row;
}
.single-column h1,
.post-type-archive-column h1,
.tax-columntag h1 {
  line-height: 1.5;
  margin-bottom: 15px;
}
.single-column h1:nth-child(n+2),
.post-type-archive-column h1:nth-child(n+2),
.tax-columntag h1:nth-child(n+2) {
  margin-top: 70px;
}
.single-column #sideCategory,
.post-type-archive-column #sideCategory,
.tax-columntag #sideCategory {
  margin-bottom: 30px;
}
.single-column #sideCategory ul,
.post-type-archive-column #sideCategory ul,
.tax-columntag #sideCategory ul {
  flex-wrap: wrap;
  gap: 10px;
}
.single-column #sideCategory ul li,
.post-type-archive-column #sideCategory ul li,
.tax-columntag #sideCategory ul li {
  padding: 5px;
  border-bottom: none;
  background: #ebf5f9;
  color: #333;
  border-radius: 3px;
}
.single-column #sideCategory ul li:hover,
.post-type-archive-column #sideCategory ul li:hover,
.tax-columntag #sideCategory ul li:hover {
  background: #f6f6f6;
}
.single-column #sideCategory ul li a,
.post-type-archive-column #sideCategory ul li a,
.tax-columntag #sideCategory ul li a {
  color: #D11F2B;
}
.single-column #sideCategory ul li::before,
.post-type-archive-column #sideCategory ul li::before,
.tax-columntag #sideCategory ul li::before {
  content: "#";
  font-weight: bold;
  color: #D11F2B;
}
.single-column .blogwrap .thumb img,
.post-type-archive-column .blogwrap .thumb img,
.tax-columntag .blogwrap .thumb img {
  height: 400px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-column .blogwrap p,
.post-type-archive-column .blogwrap p,
.tax-columntag .blogwrap p {
  font-size: 17px;
  line-height: 1.7;
}
.single-column .blogwrap #ez-toc-container,
.post-type-archive-column .blogwrap #ez-toc-container,
.tax-columntag .blogwrap #ez-toc-container {
  margin: 30px auto 40px;
  width: 100%;
  background: #ebf5f9;
  border: none;
  padding: 30px;
}
.single-column .blogwrap #ez-toc-container .ez-toc-title-container,
.post-type-archive-column .blogwrap #ez-toc-container .ez-toc-title-container,
.tax-columntag .blogwrap #ez-toc-container .ez-toc-title-container {
  border-bottom: 1px #dcdcdc solid;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
.single-column .blogwrap #ez-toc-container .ez-toc-link,
.post-type-archive-column .blogwrap #ez-toc-container .ez-toc-link,
.tax-columntag .blogwrap #ez-toc-container .ez-toc-link {
  font-size: 18px;
  text-decoration: underline;
}
.single-column .blogwrap .partTell,
.post-type-archive-column .blogwrap .partTell,
.tax-columntag .blogwrap .partTell {
  margin: 30px 0;
}
.single-column .blogwrap .partTell .flex p,
.post-type-archive-column .blogwrap .partTell .flex p,
.tax-columntag .blogwrap .partTell .flex p {
  width: 37%;
  margin-top: 6px;
}
.single-column .navigation,
.post-type-archive-column .navigation,
.tax-columntag .navigation {
  padding: 0 20px;
}
.single-column .yarpp,
.post-type-archive-column .yarpp,
.tax-columntag .yarpp {
  background: #f6f6f6;
  padding: 30px;
  border-radius: 10px;
}
.single-column .yarpp h3,
.post-type-archive-column .yarpp h3,
.tax-columntag .yarpp h3 {
  border-bottom: #dcdcdc solid 1px;
  margin-bottom: 10px;
}
.single-column .yarpp .yarpp-thumbnail,
.post-type-archive-column .yarpp .yarpp-thumbnail,
.tax-columntag .yarpp .yarpp-thumbnail {
  background: #fff;
  height: -moz-fit-content;
  height: fit-content;
  width: 32%;
}
.single-column .yarpp .yarpp-thumbnail img,
.post-type-archive-column .yarpp .yarpp-thumbnail img,
.tax-columntag .yarpp .yarpp-thumbnail img {
  width: 96%;
}
.single-column .yarpp .yarpp-thumbnail-title,
.post-type-archive-column .yarpp .yarpp-thumbnail-title,
.tax-columntag .yarpp .yarpp-thumbnail-title {
  width: 95%;
  font-size: 85%;
}
.single-column #sideReform ul li .flex p img,
.post-type-archive-column #sideReform ul li .flex p img,
.tax-columntag #sideReform ul li .flex p img {
  width: revert-layer;
  height: 100px;
  -o-object-fit: cover;
  object-fit: cover;
}

.columntag li {
  padding: 3px 8px;
  margin: 0 3px;
  background: #ebf5f9;
  color: #D11F2B;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 3px;
}
.columntag li a {
  color: #D11F2B;
  font-size: 1.4rem;
}
.columntag li:hover {
  background: #f6f6f6;
}

.post-type-archive-column h2,
.tax-columntag h2 {
  border: #D11F2B 1px solid;
  border-left: #D11F2B 8px solid;
  padding: 5px 5px 5px 10px;
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 2.5rem;
}
.post-type-archive-column .main .columnList,
.tax-columntag .main .columnList {
  margin-bottom: 30px;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}
.post-type-archive-column .main .columnList .columnListCon,
.tax-columntag .main .columnList .columnListCon {
  width: 31%;
}
.post-type-archive-column .main .columnList .columnListCon .title,
.tax-columntag .main .columnList .columnListCon .title {
  font-size: 18px;
  line-height: 1.5;
}
.post-type-archive-column .main .columnList .columnListCon:hover,
.tax-columntag .main .columnList .columnListCon:hover {
  opacity: 0.6;
}
.post-type-archive-column .main .columnList .columnListCon .calender,
.tax-columntag .main .columnList .columnListCon .calender {
  margin-top: 0px;
  margin-bottom: 20px;
}
.post-type-archive-column .main .columnList .columnListCon p,
.tax-columntag .main .columnList .columnListCon p {
  margin-bottom: 10px;
}
.post-type-archive-column .main .columnList .columnListCon p img,
.tax-columntag .main .columnList .columnListCon p img {
  width: 100%;
  height: auto;
}

/* Layout - Responsive .
========================================================================== */
/* pc
========================================================================== */
@media (min-width: 992px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
/* tab
========================================================================== */
@media (max-width: 991px) {
  .flex-tab-10 {
    flex: 10%;
    max-width: 10%;
    padding: 0 10px;
  }
  .flex-tab-20 {
    flex: 20%;
    max-width: 20%;
    padding: 0 10px;
  }
  .flex-tab-30 {
    flex: 30%;
    max-width: 30%;
    padding: 0 10px;
  }
  .flex-tab-40 {
    flex: 40%;
    max-width: 40%;
    padding: 0 10px;
  }
  .flex-tab-50 {
    flex: 50%;
    max-width: 50%;
    padding: 0 10px;
  }
  .flex-tab-60 {
    flex: 60%;
    max-width: 60%;
    padding: 0 10px;
  }
  .flex-tab-70 {
    flex: 70%;
    max-width: 70%;
    padding: 0 10px;
  }
  .flex-tab-80 {
    flex: 80%;
    max-width: 80%;
    padding: 0 10px;
  }
  .flex-tab-90 {
    flex: 90%;
    max-width: 90%;
    padding: 0 10px;
  }
  .flex-tab-100 {
    flex: 100%;
    max-width: 100%;
    padding: 0 10px;
  }
  .col-tab-1 {
    flex: 100%;
    max-width: 100%;
    padding: 0 10px;
  }
  .col-tab-2 {
    flex: 50%;
    max-width: 50%;
    padding: 0 10px;
  }
  .col-tab-3 {
    flex: 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 0 10px;
  }
  .col-tab-4 {
    flex: 25%;
    max-width: 25%;
    padding: 0 10px;
  }
  .col-tab-5 {
    flex: 20%;
    max-width: 20%;
    padding: 0 10px;
  }
  .col-tab-6 {
    flex: 16.6666666667%;
    max-width: 16.6666666667%;
    padding: 0 10px;
  }
  .col-tab-7 {
    flex: 14.2857142857%;
    max-width: 14.2857142857%;
    padding: 0 10px;
  }
  .col-tab-8 {
    flex: 12.5%;
    max-width: 12.5%;
    padding: 0 10px;
  }
  .mt-tab-0 {
    margin-top: 0px !important;
  }
  .pt-tab-0 {
    padding-top: 0px !important;
  }
  .mr-tab-0 {
    margin-right: 0px !important;
  }
  .pr-tab-0 {
    padding-right: 0px !important;
  }
  .mb-tab-0 {
    margin-bottom: 0px !important;
  }
  .pb-tab-0 {
    padding-bottom: 0px !important;
  }
  .ml-tab-0 {
    margin-left: 0px !important;
  }
  .pl-tab-0 {
    padding-left: 0px !important;
  }
  .ma-tab-0 {
    margin: 0px !important;
  }
  .pa0 {
    padding: 0px !important;
  }
  .mx-tab-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .px-tab-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .my-tab-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .py-tab-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .mt-tab-5 {
    margin-top: 5px !important;
  }
  .pt-tab-5 {
    padding-top: 5px !important;
  }
  .mr-tab-5 {
    margin-right: 5px !important;
  }
  .pr-tab-5 {
    padding-right: 5px !important;
  }
  .mb-tab-5 {
    margin-bottom: 5px !important;
  }
  .pb-tab-5 {
    padding-bottom: 5px !important;
  }
  .ml-tab-5 {
    margin-left: 5px !important;
  }
  .pl-tab-5 {
    padding-left: 5px !important;
  }
  .ma-tab-5 {
    margin: 5px !important;
  }
  .pa5 {
    padding: 5px !important;
  }
  .mx-tab-5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .px-tab-5 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .my-tab-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .py-tab-5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .mt-tab-10 {
    margin-top: 10px !important;
  }
  .pt-tab-10 {
    padding-top: 10px !important;
  }
  .mr-tab-10 {
    margin-right: 10px !important;
  }
  .pr-tab-10 {
    padding-right: 10px !important;
  }
  .mb-tab-10 {
    margin-bottom: 10px !important;
  }
  .pb-tab-10 {
    padding-bottom: 10px !important;
  }
  .ml-tab-10 {
    margin-left: 10px !important;
  }
  .pl-tab-10 {
    padding-left: 10px !important;
  }
  .ma-tab-10 {
    margin: 10px !important;
  }
  .pa10 {
    padding: 10px !important;
  }
  .mx-tab-10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  .px-tab-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .my-tab-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .py-tab-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .mt-tab-15 {
    margin-top: 15px !important;
  }
  .pt-tab-15 {
    padding-top: 15px !important;
  }
  .mr-tab-15 {
    margin-right: 15px !important;
  }
  .pr-tab-15 {
    padding-right: 15px !important;
  }
  .mb-tab-15 {
    margin-bottom: 15px !important;
  }
  .pb-tab-15 {
    padding-bottom: 15px !important;
  }
  .ml-tab-15 {
    margin-left: 15px !important;
  }
  .pl-tab-15 {
    padding-left: 15px !important;
  }
  .ma-tab-15 {
    margin: 15px !important;
  }
  .pa15 {
    padding: 15px !important;
  }
  .mx-tab-15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .px-tab-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .my-tab-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .py-tab-15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .mt-tab-20 {
    margin-top: 20px !important;
  }
  .pt-tab-20 {
    padding-top: 20px !important;
  }
  .mr-tab-20 {
    margin-right: 20px !important;
  }
  .pr-tab-20 {
    padding-right: 20px !important;
  }
  .mb-tab-20 {
    margin-bottom: 20px !important;
  }
  .pb-tab-20 {
    padding-bottom: 20px !important;
  }
  .ml-tab-20 {
    margin-left: 20px !important;
  }
  .pl-tab-20 {
    padding-left: 20px !important;
  }
  .ma-tab-20 {
    margin: 20px !important;
  }
  .pa20 {
    padding: 20px !important;
  }
  .mx-tab-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .px-tab-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .my-tab-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .py-tab-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .mt-tab-25 {
    margin-top: 25px !important;
  }
  .pt-tab-25 {
    padding-top: 25px !important;
  }
  .mr-tab-25 {
    margin-right: 25px !important;
  }
  .pr-tab-25 {
    padding-right: 25px !important;
  }
  .mb-tab-25 {
    margin-bottom: 25px !important;
  }
  .pb-tab-25 {
    padding-bottom: 25px !important;
  }
  .ml-tab-25 {
    margin-left: 25px !important;
  }
  .pl-tab-25 {
    padding-left: 25px !important;
  }
  .ma-tab-25 {
    margin: 25px !important;
  }
  .pa25 {
    padding: 25px !important;
  }
  .mx-tab-25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }
  .px-tab-25 {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .my-tab-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .py-tab-25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .mt-tab-30 {
    margin-top: 30px !important;
  }
  .pt-tab-30 {
    padding-top: 30px !important;
  }
  .mr-tab-30 {
    margin-right: 30px !important;
  }
  .pr-tab-30 {
    padding-right: 30px !important;
  }
  .mb-tab-30 {
    margin-bottom: 30px !important;
  }
  .pb-tab-30 {
    padding-bottom: 30px !important;
  }
  .ml-tab-30 {
    margin-left: 30px !important;
  }
  .pl-tab-30 {
    padding-left: 30px !important;
  }
  .ma-tab-30 {
    margin: 30px !important;
  }
  .pa30 {
    padding: 30px !important;
  }
  .mx-tab-30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .px-tab-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .my-tab-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .py-tab-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .mt-tab-35 {
    margin-top: 35px !important;
  }
  .pt-tab-35 {
    padding-top: 35px !important;
  }
  .mr-tab-35 {
    margin-right: 35px !important;
  }
  .pr-tab-35 {
    padding-right: 35px !important;
  }
  .mb-tab-35 {
    margin-bottom: 35px !important;
  }
  .pb-tab-35 {
    padding-bottom: 35px !important;
  }
  .ml-tab-35 {
    margin-left: 35px !important;
  }
  .pl-tab-35 {
    padding-left: 35px !important;
  }
  .ma-tab-35 {
    margin: 35px !important;
  }
  .pa35 {
    padding: 35px !important;
  }
  .mx-tab-35 {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }
  .px-tab-35 {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .my-tab-35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }
  .py-tab-35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .mt-tab-40 {
    margin-top: 40px !important;
  }
  .pt-tab-40 {
    padding-top: 40px !important;
  }
  .mr-tab-40 {
    margin-right: 40px !important;
  }
  .pr-tab-40 {
    padding-right: 40px !important;
  }
  .mb-tab-40 {
    margin-bottom: 40px !important;
  }
  .pb-tab-40 {
    padding-bottom: 40px !important;
  }
  .ml-tab-40 {
    margin-left: 40px !important;
  }
  .pl-tab-40 {
    padding-left: 40px !important;
  }
  .ma-tab-40 {
    margin: 40px !important;
  }
  .pa40 {
    padding: 40px !important;
  }
  .mx-tab-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .px-tab-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .my-tab-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .py-tab-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .mt-tab-45 {
    margin-top: 45px !important;
  }
  .pt-tab-45 {
    padding-top: 45px !important;
  }
  .mr-tab-45 {
    margin-right: 45px !important;
  }
  .pr-tab-45 {
    padding-right: 45px !important;
  }
  .mb-tab-45 {
    margin-bottom: 45px !important;
  }
  .pb-tab-45 {
    padding-bottom: 45px !important;
  }
  .ml-tab-45 {
    margin-left: 45px !important;
  }
  .pl-tab-45 {
    padding-left: 45px !important;
  }
  .ma-tab-45 {
    margin: 45px !important;
  }
  .pa45 {
    padding: 45px !important;
  }
  .mx-tab-45 {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }
  .px-tab-45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .my-tab-45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }
  .py-tab-45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .mt-tab-50 {
    margin-top: 50px !important;
  }
  .pt-tab-50 {
    padding-top: 50px !important;
  }
  .mr-tab-50 {
    margin-right: 50px !important;
  }
  .pr-tab-50 {
    padding-right: 50px !important;
  }
  .mb-tab-50 {
    margin-bottom: 50px !important;
  }
  .pb-tab-50 {
    padding-bottom: 50px !important;
  }
  .ml-tab-50 {
    margin-left: 50px !important;
  }
  .pl-tab-50 {
    padding-left: 50px !important;
  }
  .ma-tab-50 {
    margin: 50px !important;
  }
  .pa50 {
    padding: 50px !important;
  }
  .mx-tab-50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .px-tab-50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .my-tab-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .py-tab-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .mt-tab-55 {
    margin-top: 55px !important;
  }
  .pt-tab-55 {
    padding-top: 55px !important;
  }
  .mr-tab-55 {
    margin-right: 55px !important;
  }
  .pr-tab-55 {
    padding-right: 55px !important;
  }
  .mb-tab-55 {
    margin-bottom: 55px !important;
  }
  .pb-tab-55 {
    padding-bottom: 55px !important;
  }
  .ml-tab-55 {
    margin-left: 55px !important;
  }
  .pl-tab-55 {
    padding-left: 55px !important;
  }
  .ma-tab-55 {
    margin: 55px !important;
  }
  .pa55 {
    padding: 55px !important;
  }
  .mx-tab-55 {
    margin-left: 55px !important;
    margin-right: 55px !important;
  }
  .px-tab-55 {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .my-tab-55 {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }
  .py-tab-55 {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .mt-tab-60 {
    margin-top: 60px !important;
  }
  .pt-tab-60 {
    padding-top: 60px !important;
  }
  .mr-tab-60 {
    margin-right: 60px !important;
  }
  .pr-tab-60 {
    padding-right: 60px !important;
  }
  .mb-tab-60 {
    margin-bottom: 60px !important;
  }
  .pb-tab-60 {
    padding-bottom: 60px !important;
  }
  .ml-tab-60 {
    margin-left: 60px !important;
  }
  .pl-tab-60 {
    padding-left: 60px !important;
  }
  .ma-tab-60 {
    margin: 60px !important;
  }
  .pa60 {
    padding: 60px !important;
  }
  .mx-tab-60 {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }
  .px-tab-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .my-tab-60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .py-tab-60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .side {
    display: none;
  }
  body {
    font-size: 2.5rem;
  }
  .wrap {
    padding-top: 125px;
  }
  #mainTop {
    padding-top: 15px;
  }
  .contentWarp {
    display: block;
  }
  .contentWarp .main {
    width: 100%;
  }
  .contents {
    padding: 6rem 0;
  }
  .h2 {
    font-size: 4rem;
  }
  .h2-con {
    font-size: 4rem;
  }
  /*header*/
  .header {
    position: fixed;
    background: #fff;
    z-index: 100;
    width: 100%;
  }
  .header .headerTop {
    text-align: center;
    padding: 5px 0;
  }
  .header .headerTop p,
  .header .headerTop h1 {
    font-size: 2rem;
    font-weight: bold;
  }
  .header .headerContet {
    padding: 5px 15px;
  }
  .header .headerContet #logo img {
    width: 350px;
  }
  .header .headerContet .headerRR ul {
    gap: 15px;
  }
  .header .headerContet .headerRR ul li {
    width: 80px;
    height: 80px;
    background: #666;
    text-align: center;
    padding: 15px;
    border-radius: 5px;
  }
  .header .headerContet .headerRR ul li:hover {
    opacity: 0.5;
  }
  .header .headerContet .headerRR ul li a {
    display: block;
    height: 100%;
  }
  .header .headerContet .headerRR ul li.headerSPtell {
    background: #D11F2B;
  }
  .header .headerContet .headerRR ul li.headerSPmail {
    background: #E40213;
  }
  .header .headerContet .headerRR ul li.headerSPline {
    background: #06C755;
    border: #06C755 1px solid;
    padding: 0;
  }
  .header .headerContet .headerRR ul li.headerSPmenu {
    position: relative;
  }
  .main-nav-sp {
    top: 131px;
  }
  .main-nav-sp ul li a {
    font-size: 3.8rem;
    line-height: 2.5;
  }
  /*footer*/
  .footer .footerCon {
    justify-content: space-between;
    flex-direction: column;
    padding: 30px;
    gap: 50px;
    font-size: 2.5rem;
  }
  .footer .footerCon ul {
    gap: 40px;
    flex-wrap: wrap;
  }
  .footer .footerCon ul li {
    width: 100%;
  }
  .footer .footerCon ul li li {
    width: 100%;
  }
  #footerSP {
    background: #fff;
    padding: 15px;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 100;
  }
  #footerSP ul {
    gap: 10px;
  }
  #footerSP ul li {
    width: 50%;
    text-align: center;
    padding: 8px;
    border-radius: 5px;
    font-size: 3rem;
    line-height: 1.5;
    font-weight: bold;
  }
  #footerSP ul li a {
    display: block;
    color: #fff;
  }
  #footerSP ul li img {
    width: 50px;
  }
  #footerSP ul li.footerSPmail {
    background: #E40213;
  }
  #footerSP ul li.footerSPline {
    background: #fff;
    border: #06C755 1px solid;
  }
  #footerSP ul li.footerSPtell {
    background: #D11F2B;
  }
  #footerSP ul li.footerSPline {
    background: #06C755;
  }
  body .more,
  body .more:visited {
    font-size: 2.5rem;
    padding: 5px 50px;
  }
  .acbox label {
    padding: 15px 50px 15px 20px;
  }
  .partTell {
    padding: 15px 30px;
    background: none;
    height: unset;
  }
  .partTell .flex {
    flex-direction: column;
  }
  .partTell .flex p {
    width: 100%;
    margin-bottom: 0;
  }
  .partTell .flex .buttonLine {
    margin: -10px 0 10px;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    line-height: 1rem;
    padding: 20px 10px;
  }
  .partTell .flex .buttonLine .flex {
    display: block;
  }
  .partTell .buttonCon {
    font-size: 4rem;
    padding: 15px 20px;
    margin-top: 0;
    font-weight: bold;
  }
  .partTell .buttonCon::before {
    width: 32px;
    height: 35px;
    margin-right: 10px;
  }
  .topFlowCon .buttonLine {
    font-size: 20px;
    line-height: 1rem;
    padding: 13px 10px;
    margin: 10px 0;
    align-items: center;
    justify-content: center;
  }
  .topFlowCon .buttonLine .flex {
    display: block;
  }
  .page-template-page-service .partTell {
    width: 100%;
  }
  /*index*/
  .topService ul {
    gap: 20px;
    flex-wrap: wrap;
  }
  .topService ul li {
    width: 48%;
  }
  .topService ul li p {
    font-size: 2.5rem;
    padding: 5px;
  }
  .topService ul li a div {
    font-size: 2.1rem;
  }
  .topService ul li a div dl dt {
    font-size: 4rem;
    font-weight: bold;
  }
  .topService ul li table th,
  .topService ul li table td {
    padding: 10px;
  }
  .topService ul li table .tablePrice {
    font-size: 3.5rem;
  }
  .topSample .topSampleItem dd {
    font-size: 2rem;
  }
  #topPoint h3 {
    font-size: 4rem;
  }
  #topNayami div.topNayamiCon {
    padding: 25px;
  }
  #topNayami h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  #topNayami h3 span {
    font-size: 1.2rem;
  }
  #topFlow .topFlowCon {
    flex-direction: column;
  }
  #topFlow .topFlowCon .topFlowConFont {
    font-size: 3.8rem;
  }
  #topFlow .topFlowCon .topFlowConCon {
    width: 100%;
  }
  #topFlow .topFlowCon h3 {
    font-size: 4rem;
  }
  #topFlow .topFlowCon .topFlowConImg {
    display: inline-block;
    width: 50%;
    margin: 0 auto;
  }
  #topFlow .topFlowCon .flex {
    flex-direction: column;
  }
  #topFlow .topFlowCon .flex p {
    margin-bottom: 0;
  }
  #topFlow .topFlowCon .flex p img {
    width: 100%;
  }
  #topFlow .topFlowCon .flex .buttonCon {
    width: 100%;
    height: 60px;
    font-size: 2rem;
  }
  #topMessage {
    font-size: 3rem;
  }
  .readmore {
    position: relative;
    margin: 50px auto 0;
    padding: 0 0 75px;
  }
  .readmore label {
    position: absolute;
    display: table;
    left: 50%;
    bottom: 0;
    margin: 0 auto;
    width: 200px;
    padding: 10px 0;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    background-color: #333;
    transform: translateX(-50%);
    cursor: pointer;
    z-index: 1;
  }
  .readmore label::before {
    content: "続きを見る";
  }
  .readmore input[type=checkbox] {
    display: none;
  }
  .readmore input[type=checkbox]:checked ~ label::before {
    content: "元に戻す";
  }
  .readmore-content {
    position: relative;
    height: 200px;
    overflow: hidden;
  }
  .readmore input[type=checkbox]:checked ~ .readmore-content {
    height: auto;
  }
  /* service */
  .page-template-page-service .pageTitle {
    margin-bottom: 0;
  }
  .page-template-page-service .contents {
    padding: 4rem 20px;
  }
  .serviceHikaku table {
    width: 90%;
  }
  .serviceHikaku table tbody dl dt {
    font-size: 2rem;
  }
  .serviceSample ul li {
    width: 100%;
  }
  .servicePoint .servicePointCon {
    flex-direction: column;
  }
  .servicePoint .servicePointCon .servicePointConP {
    width: 100%;
  }
  .servicePoint .servicePointCon .servicePointConImg {
    width: 90%;
    display: inline-block;
    margin: 0 auto;
  }
  #apartmentPoint ul,
  #apartmentCost ul {
    flex-direction: column;
  }
  #apartmentPoint ul h3,
  #apartmentCost ul h3 {
    line-height: 1.3;
    font-size: 3rem;
  }
  .serviceFaq .acbox label,
  .serviceFaq .acbox,
  .serviceFaq .acbox-under {
    font-size: 21px;
  }
  .serviceProduct .flex {
    flex-direction: column;
  }
  .serviceProduct .flex section {
    width: 100%;
  }
  .serviceProduct .flex section p {
    font-size: 2rem;
  }
  .serviceProduct .flex section .flex {
    flex-direction: row;
  }
  .serviceProduct .flex section .flex img {
    width: 100%;
  }
  .serviceProduct .flex section .priceCon p {
    font-size: 2.5rem;
  }
  .serviceProduct .flex section .tablePrice {
    font-size: 4rem;
  }
  .serviceForm {
    width: 100%;
  }
  /* apartment */
  #apartmentPeople .container {
    padding: 0;
  }
  #apartmentCan p {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  #apartmentPoint ul li {
    margin-bottom: 40px;
    padding: 30px 20px;
  }
  #apartmentPoint ul li:before {
    width: 170px;
    height: 90px;
  }
  #apartmentPoint ul li h3 {
    padding: 20px;
    font-size: 3rem;
  }
  /* profile */
  #pageProfileStaff .staffCon .kodawari dt {
    font-size: 1.8rem;
  }
  #pageProfileStaff .staffCon .flex {
    align-items: flex-start;
  }
  /* form */
  .form .submit input {
    font-size: 4rem;
  }
  /* blog */
  .single-column .wrap,
  .post-type-archive-column .wrap,
  .tax-columntag .wrap {
    padding-top: 125px;
  }
  .single-column .wrap .thumb,
  .post-type-archive-column .wrap .thumb,
  .tax-columntag .wrap .thumb {
    margin-top: 10px;
  }
  .single-column .blogwrap p,
  .post-type-archive-column .blogwrap p,
  .tax-columntag .blogwrap p {
    font-size: 2rem;
    line-height: 1.7;
  }
  .post-type-archive-column .main .columnList .columnListCon {
    width: 48%;
  }
}
/* sp
========================================================================== */
@media (max-width: 767px) {
  p {
    line-height: 1.7;
  }
  .flex-sp-10 {
    flex: 10%;
    max-width: 10%;
    padding: 0 10px;
  }
  .flex-sp-20 {
    flex: 20%;
    max-width: 20%;
    padding: 0 10px;
  }
  .flex-sp-30 {
    flex: 30%;
    max-width: 30%;
    padding: 0 10px;
  }
  .flex-sp-40 {
    flex: 40%;
    max-width: 40%;
    padding: 0 10px;
  }
  .flex-sp-50 {
    flex: 50%;
    max-width: 50%;
    padding: 0 10px;
  }
  .flex-sp-60 {
    flex: 60%;
    max-width: 60%;
    padding: 0 10px;
  }
  .flex-sp-70 {
    flex: 70%;
    max-width: 70%;
    padding: 0 10px;
  }
  .flex-sp-80 {
    flex: 80%;
    max-width: 80%;
    padding: 0 10px;
  }
  .flex-sp-90 {
    flex: 90%;
    max-width: 90%;
    padding: 0 10px;
  }
  .flex-sp-100 {
    flex: 100%;
    max-width: 100%;
    padding: 0 10px;
  }
  .col-sp-1 {
    flex: 100%;
    max-width: 100%;
    padding: 0 10px;
  }
  .col-sp-2 {
    flex: 50%;
    max-width: 50%;
    padding: 0 10px;
  }
  .col-sp-3 {
    flex: 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 0 10px;
  }
  .col-sp-4 {
    flex: 25%;
    max-width: 25%;
    padding: 0 10px;
  }
  .col-sp-5 {
    flex: 20%;
    max-width: 20%;
    padding: 0 10px;
  }
  .col-sp-6 {
    flex: 16.6666666667%;
    max-width: 16.6666666667%;
    padding: 0 10px;
  }
  .col-sp-7 {
    flex: 14.2857142857%;
    max-width: 14.2857142857%;
    padding: 0 10px;
  }
  .col-sp-8 {
    flex: 12.5%;
    max-width: 12.5%;
    padding: 0 10px;
  }
  .mt-sp-0 {
    margin-top: 0px !important;
  }
  .pt-sp-0 {
    padding-top: 0px !important;
  }
  .mr-sp-0 {
    margin-right: 0px !important;
  }
  .pr-sp-0 {
    padding-right: 0px !important;
  }
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .pb-sp-0 {
    padding-bottom: 0px !important;
  }
  .ml-sp-0 {
    margin-left: 0px !important;
  }
  .pl-sp-0 {
    padding-left: 0px !important;
  }
  .ma-sp-0 {
    margin: 0px !important;
  }
  .pa0 {
    padding: 0px !important;
  }
  .mx-sp-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .px-sp-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .my-sp-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .py-sp-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .mt-sp-5 {
    margin-top: 5px !important;
  }
  .pt-sp-5 {
    padding-top: 5px !important;
  }
  .mr-sp-5 {
    margin-right: 5px !important;
  }
  .pr-sp-5 {
    padding-right: 5px !important;
  }
  .mb-sp-5 {
    margin-bottom: 5px !important;
  }
  .pb-sp-5 {
    padding-bottom: 5px !important;
  }
  .ml-sp-5 {
    margin-left: 5px !important;
  }
  .pl-sp-5 {
    padding-left: 5px !important;
  }
  .ma-sp-5 {
    margin: 5px !important;
  }
  .pa5 {
    padding: 5px !important;
  }
  .mx-sp-5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .px-sp-5 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .my-sp-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .py-sp-5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .mt-sp-10 {
    margin-top: 10px !important;
  }
  .pt-sp-10 {
    padding-top: 10px !important;
  }
  .mr-sp-10 {
    margin-right: 10px !important;
  }
  .pr-sp-10 {
    padding-right: 10px !important;
  }
  .mb-sp-10 {
    margin-bottom: 10px !important;
  }
  .pb-sp-10 {
    padding-bottom: 10px !important;
  }
  .ml-sp-10 {
    margin-left: 10px !important;
  }
  .pl-sp-10 {
    padding-left: 10px !important;
  }
  .ma-sp-10 {
    margin: 10px !important;
  }
  .pa10 {
    padding: 10px !important;
  }
  .mx-sp-10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  .px-sp-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .my-sp-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .py-sp-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .mt-sp-15 {
    margin-top: 15px !important;
  }
  .pt-sp-15 {
    padding-top: 15px !important;
  }
  .mr-sp-15 {
    margin-right: 15px !important;
  }
  .pr-sp-15 {
    padding-right: 15px !important;
  }
  .mb-sp-15 {
    margin-bottom: 15px !important;
  }
  .pb-sp-15 {
    padding-bottom: 15px !important;
  }
  .ml-sp-15 {
    margin-left: 15px !important;
  }
  .pl-sp-15 {
    padding-left: 15px !important;
  }
  .ma-sp-15 {
    margin: 15px !important;
  }
  .pa15 {
    padding: 15px !important;
  }
  .mx-sp-15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .px-sp-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .my-sp-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .py-sp-15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .mt-sp-20 {
    margin-top: 20px !important;
  }
  .pt-sp-20 {
    padding-top: 20px !important;
  }
  .mr-sp-20 {
    margin-right: 20px !important;
  }
  .pr-sp-20 {
    padding-right: 20px !important;
  }
  .mb-sp-20 {
    margin-bottom: 20px !important;
  }
  .pb-sp-20 {
    padding-bottom: 20px !important;
  }
  .ml-sp-20 {
    margin-left: 20px !important;
  }
  .pl-sp-20 {
    padding-left: 20px !important;
  }
  .ma-sp-20 {
    margin: 20px !important;
  }
  .pa20 {
    padding: 20px !important;
  }
  .mx-sp-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .px-sp-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .my-sp-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .py-sp-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .mt-sp-25 {
    margin-top: 25px !important;
  }
  .pt-sp-25 {
    padding-top: 25px !important;
  }
  .mr-sp-25 {
    margin-right: 25px !important;
  }
  .pr-sp-25 {
    padding-right: 25px !important;
  }
  .mb-sp-25 {
    margin-bottom: 25px !important;
  }
  .pb-sp-25 {
    padding-bottom: 25px !important;
  }
  .ml-sp-25 {
    margin-left: 25px !important;
  }
  .pl-sp-25 {
    padding-left: 25px !important;
  }
  .ma-sp-25 {
    margin: 25px !important;
  }
  .pa25 {
    padding: 25px !important;
  }
  .mx-sp-25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }
  .px-sp-25 {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .my-sp-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .py-sp-25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .mt-sp-30 {
    margin-top: 30px !important;
  }
  .pt-sp-30 {
    padding-top: 30px !important;
  }
  .mr-sp-30 {
    margin-right: 30px !important;
  }
  .pr-sp-30 {
    padding-right: 30px !important;
  }
  .mb-sp-30 {
    margin-bottom: 30px !important;
  }
  .pb-sp-30 {
    padding-bottom: 30px !important;
  }
  .ml-sp-30 {
    margin-left: 30px !important;
  }
  .pl-sp-30 {
    padding-left: 30px !important;
  }
  .ma-sp-30 {
    margin: 30px !important;
  }
  .pa30 {
    padding: 30px !important;
  }
  .mx-sp-30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .px-sp-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .my-sp-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .py-sp-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .mt-sp-35 {
    margin-top: 35px !important;
  }
  .pt-sp-35 {
    padding-top: 35px !important;
  }
  .mr-sp-35 {
    margin-right: 35px !important;
  }
  .pr-sp-35 {
    padding-right: 35px !important;
  }
  .mb-sp-35 {
    margin-bottom: 35px !important;
  }
  .pb-sp-35 {
    padding-bottom: 35px !important;
  }
  .ml-sp-35 {
    margin-left: 35px !important;
  }
  .pl-sp-35 {
    padding-left: 35px !important;
  }
  .ma-sp-35 {
    margin: 35px !important;
  }
  .pa35 {
    padding: 35px !important;
  }
  .mx-sp-35 {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }
  .px-sp-35 {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .my-sp-35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }
  .py-sp-35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .mt-sp-40 {
    margin-top: 40px !important;
  }
  .pt-sp-40 {
    padding-top: 40px !important;
  }
  .mr-sp-40 {
    margin-right: 40px !important;
  }
  .pr-sp-40 {
    padding-right: 40px !important;
  }
  .mb-sp-40 {
    margin-bottom: 40px !important;
  }
  .pb-sp-40 {
    padding-bottom: 40px !important;
  }
  .ml-sp-40 {
    margin-left: 40px !important;
  }
  .pl-sp-40 {
    padding-left: 40px !important;
  }
  .ma-sp-40 {
    margin: 40px !important;
  }
  .pa40 {
    padding: 40px !important;
  }
  .mx-sp-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .px-sp-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .my-sp-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .py-sp-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .mt-sp-45 {
    margin-top: 45px !important;
  }
  .pt-sp-45 {
    padding-top: 45px !important;
  }
  .mr-sp-45 {
    margin-right: 45px !important;
  }
  .pr-sp-45 {
    padding-right: 45px !important;
  }
  .mb-sp-45 {
    margin-bottom: 45px !important;
  }
  .pb-sp-45 {
    padding-bottom: 45px !important;
  }
  .ml-sp-45 {
    margin-left: 45px !important;
  }
  .pl-sp-45 {
    padding-left: 45px !important;
  }
  .ma-sp-45 {
    margin: 45px !important;
  }
  .pa45 {
    padding: 45px !important;
  }
  .mx-sp-45 {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }
  .px-sp-45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .my-sp-45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }
  .py-sp-45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .mt-sp-50 {
    margin-top: 50px !important;
  }
  .pt-sp-50 {
    padding-top: 50px !important;
  }
  .mr-sp-50 {
    margin-right: 50px !important;
  }
  .pr-sp-50 {
    padding-right: 50px !important;
  }
  .mb-sp-50 {
    margin-bottom: 50px !important;
  }
  .pb-sp-50 {
    padding-bottom: 50px !important;
  }
  .ml-sp-50 {
    margin-left: 50px !important;
  }
  .pl-sp-50 {
    padding-left: 50px !important;
  }
  .ma-sp-50 {
    margin: 50px !important;
  }
  .pa50 {
    padding: 50px !important;
  }
  .mx-sp-50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .px-sp-50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .my-sp-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .py-sp-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .mt-sp-55 {
    margin-top: 55px !important;
  }
  .pt-sp-55 {
    padding-top: 55px !important;
  }
  .mr-sp-55 {
    margin-right: 55px !important;
  }
  .pr-sp-55 {
    padding-right: 55px !important;
  }
  .mb-sp-55 {
    margin-bottom: 55px !important;
  }
  .pb-sp-55 {
    padding-bottom: 55px !important;
  }
  .ml-sp-55 {
    margin-left: 55px !important;
  }
  .pl-sp-55 {
    padding-left: 55px !important;
  }
  .ma-sp-55 {
    margin: 55px !important;
  }
  .pa55 {
    padding: 55px !important;
  }
  .mx-sp-55 {
    margin-left: 55px !important;
    margin-right: 55px !important;
  }
  .px-sp-55 {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .my-sp-55 {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }
  .py-sp-55 {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .mt-sp-60 {
    margin-top: 60px !important;
  }
  .pt-sp-60 {
    padding-top: 60px !important;
  }
  .mr-sp-60 {
    margin-right: 60px !important;
  }
  .pr-sp-60 {
    padding-right: 60px !important;
  }
  .mb-sp-60 {
    margin-bottom: 60px !important;
  }
  .pb-sp-60 {
    padding-bottom: 60px !important;
  }
  .ml-sp-60 {
    margin-left: 60px !important;
  }
  .pl-sp-60 {
    padding-left: 60px !important;
  }
  .ma-sp-60 {
    margin: 60px !important;
  }
  .pa60 {
    padding: 60px !important;
  }
  .mx-sp-60 {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }
  .px-sp-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .my-sp-60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .py-sp-60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  body {
    font-size: 1.6rem;
  }
  h1 {
    font-size: 2.5rem;
  }
  .form {
    padding: 2.5rem;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
  .form .form-group {
    border-bottom: 1px #ccc dotted;
  }
  .form .form-group select.form-control.form-place {
    max-width: 100%;
  }
  .form .form-group .form-label,
  .form .form-group .form-contents {
    flex: 100%;
    margin-bottom: 5px;
  }
  .form .form-group .control-label {
    padding: 1rem 0 1rem 1rem !important;
    font-weight: 700;
  }
}/*# sourceMappingURL=style.css.map */