@charset "UTF-8";
/* CSS Document */

#gnav_lower a {
  transition: all .6s;
}

.content.full {
  margin: 0 auto 5rem;
  max-width: 100%;
}

.content h2.nomgb {
  padding-bottom: 30px;
}

.content h2 em.nrm {
  font-style: normal;
}

.content h2.wh strong::after {
  background-color: #fff;
}

.content h2#merit_tel {
  padding-top: 0;
}

.content h1.nomgb {
  padding-bottom: 10px;
}

.content h3.heading20 {
  margin-bottom: .8em;
}

#gnav_lower li a {
  letter-spacing: .075em;
}

#gnav_lower li a:hover, #gnav_lower a:hover {
  border-bottom-color: #c32a36;
}

.red {
  color: #c32a36;
}

.wh {
  color: #fff;
}

.center {
  text-align: center !important;
}

.under_orange {
  background: linear-gradient(transparent 70%, #ffc85f 30%);
}

.orange {
  color: #eb9c48;
}

.w80 {
  width: 80%;
  margin: 0 auto;
}

.imgline {
  display: block;
  border: 1px #eeeeee solid;
  padding: 5%;
}

.bold {
  font-weight: bold;
}

h2.ico_ttl {
  font-size: 3rem;
  text-align: center;
  color: #e95513;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  letter-spacing: .04em;
}

h2.ico_ttl img {
  max-width: 3.6em;
  margin-right: 10px;
}

h3.red_ttl {
  font-size: 2rem;
  color: #c32a36;
  font-weight: bold;
  text-align: center;
  margin-bottom: .35em;
}

h4.bgttl {
  display: inline-block;
  margin: 0 auto;
  width: auto;
  background-color: #ef7d1a;
  padding: .25em 1em;
  border-radius: 1.5em;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
}

h4.redbg {
  display: block;
  background-color: #c32a36;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  padding: .35em;
  line-height: 1.2;
  border-radius: 6px;
  margin-bottom: .45em;
}

h5 {
  font-size: 1.8rem;
  margin-bottom: .35em;
}

ul.merit_circle {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto 45px;
}

ul.merit_circle li {
  display: block;
  width: 18%;
  position: relative;
  text-align: left;
}

ul.merit_circle li span {
  display: flex;
  width: 100%;
  min-height: 160px;
  border-radius: 50%;
  background-color: #c32a36;
  color: #fff;
  padding: 5% 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 10px;
}

ul.merit_circle li span i {
  display: block;
  font-size: 3.6em;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

ul.merit_circle li p {
  margin-bottom: .85em;
}

span {
  position: relative;
}

i.new {
  background-color: #c32a36;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  border-radius: 5px;
  padding: .25em .5em;
  font-style: normal;
  display: inline-block;
  position: absolute;
  right: -2em;
  top: -2em;
}

ul.merit_3col {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 30px;
}

ul.merit_3col li {
  width: 25%;
  border: 2px #c32a36 solid;
  border-radius: 6px;
  padding: 55px 2.5% 15px;
  position: relative;
}

ul.merit_3col h3 {
  font-size: 2rem;
  color: #c42a36;
  font-weight: bold;
  text-align: center;
  margin-bottom: .5em;
}

ul.merit_3col li em {
  display: flex;
  width: 75px;
  height: 80px;
  border-radius: 50%;
  background-color: #c32a36;
  color: #fff;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 10px;
  font-size: 5rem;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  position: absolute;
  left: 50%;
  margin-left: -40px;
  top: -35px;
  font-style: italic;
  padding-right: 5px;
}

ul.merit_3col li p {
  font-size: 1.5rem;
  margin-bottom: 0;
}

ul.alf {
  margin-bottom: 1.5em;
  font-size: 1.5rem;
}

.list.decimal li ul.alf li, ul.alf li {
  padding-left: 1em;
  text-indent: -1em;
  display: block;
  padding-bottom: .5em;
}

ul.s-alf {
  padding-left: 1.5em;
}

ul.s-alf li {
  padding-left: 1em;
  text-indent: -1em;
  display: block;
  padding-bottom: .2em;
}

.agreement .list {
  margin-bottom: 0;
}

.agreement .list li {
  margin-bottom: 0;
}

.content.agreement p {
  margin-bottom: .5em;
}

.merit_list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.merit_list span {
  display: block;
  width: 28.33%;
  background-attachment: scroll;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  padding: 2em 2.5% 10em;
  height: 16vw;
}

.merit_list span img.ico {
  display: block;
  width: 25%;
  margin: 0 auto 2em;
}

span.morning {
  background-image: url(/img/top/ph_01.png);
}

span.noon {
  background-image: url(/img/top/ph_02.png);
}

span.night {
  background-image: url(/img/top/ph_03.png);
}

.fukifashi_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.fukifashi_box div {
  width: 30%;
  display: block;
  position: relative;
}

.fukifashi_box div span {
  position: absolute;
  width: 60%;
}

.fukifashi_box div span p {
  font-size: 1.5rem;
}

.fukifashi_box div.left span {
  left: 32%;
  top: 18%;
}

.fukifashi_box div.right span {
  left: 10%;
  top: 18%;
}

h1.answer {
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  color: #444;
  padding: 1.5em 0;
}

.contentsbg {
  position: relative;
  overflow: hidden;
  padding: 180px 0 0px;
  margin-top: -55px;
  /*margin-bottom: -150px;*/
  z-index: 22;
}

.contentsbg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 120%;
  margin: 2% -10% 0;
  background: #ec9d48;
  transform-origin: right center;
  transform: rotate(-8deg);
  z-index: -1;
}

.contentsbg::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 120%;
  margin: 2% -10% 0;
  background: #ef7d1a;
  transform-origin: left center;
  transform: rotate(8deg);
  z-index: -2;
}

.mgt-160 {
  margin-top: -160px;
}

.mgt-100 {
  margin-top: -100px;
}

.mgt1 {
  margin-top: 1em;
}

.mgt2 {
  margin-top: 2em;
}

.mgt3 {
  margin-top: 3em;
}

.wh_inner {
  display: block;
  max-width: 1000px;
  margin: 0 auto 40px;
  background-color: #fff;
  position: relative;
  padding: 0px 20px 20px;
}

.wh_inner img.doc {
  display: block;
  position: absolute;
  left: 50%;
  top: -144px;
  width: 300px;
  margin-left: -150px;
}

.circle_ico {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 1rem auto;
}

.circle_ico li {
  display: block;
  width: 23%;
  padding: 0 1%;
  text-align: center;
  color: #444;
  font-size: 1.5rem;
}

.circle_ico li span {
  display: block;
  border-radius: 50%;
  width: 150px;
  height: 135px;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  margin: 0 auto;
  padding-top: 15px;
  margin-bottom: 5px;
}

.circle_ico li span img {
  max-width: 60%;
  display: block;
  margin: 0 auto 0 auto;
}

.circle_ico.orange li span {
  background-color: #ef7d1a;
}

.circle_ico li.list_box {
  width: 70%;
}

.circle_ico li.list_box li {
  width: 100%;
  text-align: left;
}

.circle_ico li p {
  margin-bottom: .3em;
}

div.bgy {
  display: block;
  background-color: #fff4c5;
  padding: 0px 20px 15px 20px;
  border-radius: 10px;
}

div.bgy h4.bgttl {
  margin-top: -4em;
  margin-bottom: .65em;
}

ul.disc {}

ul.disc li {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.5rem;
}

ul.disc li::before {
  content: "●";
  color: #ec9d48;
  font-size: .85em;
  padding-right: .15em;
}

ul.whcircle_list {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-bottom: 15px;
}

ul.whcircle_list li {
  display: inline-flex;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background-color: #fff;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ec9d48;
  font-size: 2.2rem;
  font-weight: bold;
}

.ill_col2 {
  display: flex;
  justify-content: space-between;
}

.ill_col2 span {
  width: 42%;
  background-color: #fff;
  position: relative;
  padding: 18px 3%;
}

.ill_col2 span img.ill {
  position: absolute;
  top: -145px;
  left: 30%;
  height: 150px;
}

.staff_info {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

.staff_info li {
  display: block;
  width: 28%;
  border-bottom: 2px #eee solid;
  padding: .5em 0;
  margin: 10px 2%;
  justify-content: center;
}

.staff_info li img {
  display: block;
  border-radius: 50%;
  width: 80%;
  margin: 0 auto;
}

.staff_info p.name {
  display: block;
  text-align: center;
}

.staff_info p.name span {
  display: block;
  text-align: center;
  padding-left: 0;
}

.staff_detail {
  border-bottom: 1px #eee solid;
}

.staff_detail img {
  border-radius: 50%;
}

.staff_info_s {
  display: block;
  width: 80%;
  margin: 0 auto;
}

.staff_info_s li {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 15px;
  border-bottom: 1px #eee solid;
  padding-bottom: 15px;
}

.staff_info_s li img {
  width: 160px;
  height: auto;
  margin-right: 40px;
}

.sinfo {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
}

.sinfo dt {
  display: inline-block;
  width: 6em;
  padding-bottom: .5em;
}

.sinfo dd {
  width: calc(100% - 6em);
  padding-bottom: .5em;
}

.box {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 3px rgba(10, 10, 10, .1), 0 0 0 1px rgba(10, 10, 10, .1);
  color: #4a4a4a;
  display: block;
  padding: 1.25rem;
  margin: 40px auto;
}

.col4 .btn_link {
  font-size: 1.4rem;
}

.col4 .btn_link.inpage {
  background-position: 12% center !important;
  background-size: 12px auto;
}

.voices_list.col2 {
  flex-wrap: wrap;
}

.voices_list.col2 li {
  width: 43%;
  padding: 2.5%;
  margin-bottom: 60px;
}

.table.row th {
  padding: 20px 20px
}

.table.nomgb {
  margin-bottom: 2rem;
}

.mgb20 {
  margin-bottom: 20px;
}

.mgb40 {
  margin-bottom: 40px;
}

p.txtXXL, .txtXXL {
  font-size: 3.2rem;
}

p.txtXL, .txtXL {
  font-size: 2.4rem;
}

p.txtL {}

p.txtM {
  font-size: 1.4rem;
}

p.txtS {
  font-size: 1.2rem;
}

p.txtXS {
  font-size: 1rem;
}

.content p.nomgb {
  margin-bottom: 0;
  padding-bottom: 0;
}

p.ast {
  font-size: 1.3rem;
}

p.left {
  text-align: left;
}

a.txtlink {
  display: inline-block;
  color: #c32a36;
  padding: 0 .2em 0 1em;
  background-image: url(/img/arrow_linkbtn.png);
  background-position: .45em center;
  background-repeat: no-repeat;
  background-size: 6px auto;
}

a.txtlink span {
  color: #999;
}

a.txtlink.mgr {
  margin-right: 1em;
}

#footer {
  background-image: none !important;
  background-color: rgba(0, 0, 0, .04);
}

#footer_nav_lower a {
  padding-right: .5em;
}

/*** progress bar  ***/

.progressbar {
  margin: 1rem auto 3rem;
  padding: 0;
  z-index: 0;
  position: relative;
  display: block;
  letter-spacing: -.5em;
  text-align: center;
}

.progressbar li {
  list-style-type: none;
  width: 16%;
  padding: 0 2%;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  font-size: .75rem;
  line-height: 1.2;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  color: #666666;
}

.progressbar li:before {
  width: 30px;
  height: 30px;
  content: counter(step);
  counter-increment: step;
  line-height: 0px;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  padding: 0;
  border-radius: 50%;
  background-color: #d3d1d1;
}

.progressbar li:after {
  width: 100%;
  height: 4px;
  content: '';
  position: absolute;
  background-color: #d3d1d1;
  top: 15px;
  left: -50%;
  z-index: -1;
}

.progressbar li:first-child:after {
  content: none;
}

.progressbar li.active {
  color: #df4525;
}

.progressbar li.active:before, .progressbar li.pass:before {
  background-color: #df4525;
  color: #fff;
}

.progressbar li.pass+li:after {
  background-color: #df4525;
}

.progressbar li.step1:before {
  content: url(/img/form/nav_ic-01.svg);
}

.progressbar li.step2:before {
  content: url(/img/form/nav_ic-02.svg);
}

.progressbar li.step3:before {
  content: url(/img/form/nav_ic-03.svg);
}

.progressbar li.step4:before {
  content: url(/img/form/nav_ic-04.svg);
}

.progressbar li.step5:before {
  content: url(/img/form/nav_ic-05.svg);
}

/* NEW TOP */

#container.newtop {}

#mv_area {
  width: 100vw;
  /*height:calc(100vh - 90px);overflow: hidden; display: flex; align-items: center;*/
  position: relative;
}

#mv_area img {
  width: 100%;
}

#mv_area h1 {
  position: absolute;
  left: 50%;
  top: 150px;
  margin-left: -13em;
  font-size: 3vw;
  font-weight: bold;
  text-shadow: 0px 0px 10px #ffffff, 2px 2px 10px #ffffff, -2px -2px 10px #ffffff;
  border-bottom: 5px #ec9d48 solid;
  padding-bottom: .15em;
}

.intro {
  display: block;
  background-color: #c32a36;
  padding: 35px 0 45px 0;
  width: 100%;
  text-align: center;
}

.intro h2 {
  font-size: 2.6rem;
  color: #fff;
  font-weight: bold;
  margin-bottom: .65em;
  padding-bottom: .35em;
  letter-spacing: .06em;
}

.intro h2 em {
  font-size: 4rem;
}

.intro h2::after {
  content: "";
  display: block;
  margin: 10px auto 0 auto;
  height: 3px;
  width: 100px;
  background-color: #fff;
}

.txtbox {
  display: flex;
  max-width: 24em;
  font-size: 1.8rem;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
}

.txtbox img {
  width: auto;
  height: 4em;
  margin-right: 20px;
}

.txtbox p.lead {
  text-align: left;
  color: #fff;
}

.open_container {
  display: block;
  border: 2px #ddd solid;
  padding: 15px;
  border-radius: 15px;
  margin-bottom: 25px;
  position: relative;
}

.toggle_area {}

/*ラベル*/

.open_container label {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.5s;
}

/*ラベルホバー時*/

.open_container label:hover {}

/*チェックは隠す*/

.open_container input {
  display: none;
}

/*中身を非表示にしておく*/

.open_container .hide_content {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}

/*クリックで中身表示*/

.cssacc:checked+label+.hide_content {
  height: auto;
  padding: 5px;
  opacity: 1;
}

.open_container label:before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 2.5%;
  top: 40%;
  background-attachment: scroll;
  background-position: center center;
  background-image: url(/img/arrow_open.png);
  background-size: 20px;
  background-repeat: no-repeat;
  z-index: 10;
}

.open_container .cssacc:checked+label:before {
  background-image: url(/img/arrow_close.png);
}

.point {
  position: absolute;
  color: #fff;
  background-color: #c32a36;
  border-radius: 50%;
  font-size: 1.6rem;
  width: 5em;
  height: 5em;
  left: -15px;
  top: -15px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

p.catch {
  display: inline-block;
  width: auto;
  background-attachment: scroll;
  background-image: url(/img/catch_left.png), url(/img/catch_right.png);
  background-position: left 10%, right 10%;
  background-size: .65em auto;
  padding: 0em 1.2em 0em;
  background-repeat: no-repeat;
  margin-bottom: 0;
  font-size: 1.8rem;
}

.open_container label span {
  text-align: center;
  padding: 0;
}

.open_container h3 {
  font-size: 3.4rem;
  color: #c32a36;
}

.open_container h3 em {
  color: #fff;
  background-color: #ec9d48;
  font-size: 2rem;
  text-align: center;
  padding: .25em 1.5em;
  border-radius: 1em;
  line-height: 1;
  margin-right: .4em;
  min-width: 5em;
  display: inline-block;
  margin-bottom: .2em;
  vertical-align: middle;
}

.open_container label span.price {
  width: 38%;
  text-align: left;
  padding-left: 5%;
}

.open_container label span.price img {
  width: 100%;
}

/*.open_container label span.price {font-size: 1.6rem; color: #c32a36;display: inline-flex;padding-bottom: .65em;align-items: center;}
.open_container label span.price em {color: #fff; background-color: #c32a36; font-size: 2rem; text-align: center; padding:.25em 1.5em; border-radius: 1em; line-height: 1; margin-right: .5em;}
.open_container label span.price i {font-family: 'Spartan', sans-serif; font-size: 4.5rem; font-style: normal; letter-spacing: -.02em;}
*/

#point_list {
  margin-bottom: 45px;
}

.btn_link.L.plan {
  background-position: 14% center;
}

.btn_link.wh {
  background-color: #fff;
}

.priceinner {
  display: block;
  border-top: 1px #ddd solid;
  padding: 20px 5% 0 5%;
}

p.fukidashi {
  display: block;
  padding: 10px;
  border: 2px #ddd solid;
  border-radius: 6px;
  text-align: center;
  width: 55%;
  font-size: 2rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 30px;
}

p.fukidashi span {
  display: block;
  font-size: 1.6rem;
}

p.fukidashi::after {
  content: url(/img/top/fukidashi.png);
  position: absolute;
  bottom: -18px;
  left: calc(50% - 10px);
}

.pricetxt {
  width: 80%;
  margin: 0 auto 20px;
}

p.ast_c {
  text-align: center;
  font-size: 1.5rem;
}

#select_box {
  margin-bottom: 0;
}

.step {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  width: 80%;
  margin: 2rem auto;
}

.step li {
  width: 31%;
  text-align: center;
  font-size: 1.8rem;
}

.step li img {
  width: 80%;
  display: block;
  margin: 0 auto;
}

.green {
  color: #4da017;
  font-weight: bold;
}

.urgent_news {
  display: flex;
  width: 40%;
  margin: 0 auto;
  align-items: center;
  justify-content: flex-start;
  background-color: rgba(255, 255, 255, .75);
  border-radius: 10px;
  padding: 15px;
  position: absolute;
  top: 4%;
  left: 10%;
  font-size: 1.6rem;
}

.urgent_news p.ttl {
  background-image: url(/img/ic/ic_important.png);
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 1.2em;
  color: #c42a36;
  font-size: 1.4rem;
  width: 8em;
  font-weight: bold;
  margin: 0 0.5em 0 0;
  padding: 0.5em .5em 0.5em 1.5em;
}

.urgent_news dl {
  border-left: #c42a36 solid 1px;
  padding-left: .5em;
}

.urgent_news dl dt {
  font-size: 1.2rem;
  display: block;
}

#btnfoot {
  display: none;
}

.spOnly {
  display: none;
}

.pcOnly {
  display: block;
}

@media screen and (max-width: 768px) {
  #header {
    background-color: #fff;
  }
  #gnav_lower {
    padding: 0;
  }
  #gnav_lower li a {
    padding: 10px 5vw;
  }
  #mainvisual strong {
    width: 90vw;
    top: 45vw;
    padding: 3vw 5vw;
    left: 0;
  }
  #mainvisual strong span {
    font-size: 1.2rem;
  }
  #mainvisual strong em {
    font-size: 2rem;
  }
  #mainvisual {
    height: 65vw;
    background-size: 160%;
    background-position: 100% top;
  }
  .top #mainvisual {
    background-size: contain;
  }
  .content h2 {
    padding: 6vw 0;
  }
  .content h2 strong {
    font-size: 5vw;
  }
  .content h2 em {
    font-size: 4vw;
  }
  .content h5 {
    font-size: 4vw;
  }
  .content h3.heading20 {
    font-size: 4.6vw;
  }
  .content h3.heading22, #form h3 {
    font-size: 5vw;
    padding-left: 0;
  }
  #form h4 {
    font-size: 4.6vw;
  }
  .breadcrumb li {
    font-size: 2vw;
  }
  .content .txtL {
    font-size: 4vw;
  }
  .voices_list strong, .content .lead {
    font-size: 3.7vw;
  }
  .content p {
    font-size: 3.5vw;
  }
  #select_box dt, p.txtXXL, .txtXXL {
    font-size: 5vw;
  }
  p.txtXL, .txtXL {
    font-size: 4vw;
  }
  p.txtL {}
  p.txtM {
    font-size: 1.4rem;
  }
  p.txtS {
    font-size: 1.2rem;
  }
  p.txtXS {
    font-size: 1rem;
  }
  .content p.nomgb {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  p.ast {
    font-size: 1.3rem;
  }
  .list li, .list2 li, .table th, .table td {
    font-size: 3.6vw;
  }
  .qaList dl {
    font-size: 3.2vw;
  }
  .sinfo {
    font-size: 3.2vw;
  }
  .staff_info_s li {
    display: block;
  }
  .staff_info_s li img {
    display: block;
    width: 50%;
    margin: 0 auto;
    text-align: center;
  }
  .staff_detail {
    display: block;
    width: 90%;
    margin: 0 auto 5vw;
  }
  .staff_detail.Lsize img {
    width: 80%;
    margin: 0 auto;
  }
  .staff_detail.Lsize .profile {
    width: 100%;
  }
  p.name {
    text-align: center;
  }
  .staff_info li {
    width: 45%;
  }
  .btn_list li {
    font-size: 1.2rem;
    display: block;
    margin: 0 auto 10px
  }
  .list.decimal {
    padding-left: 2.5em;
  }
  .btn_link.L {
    width: 80%;
    background-position: 12% center;
  }
  #mv_area {
    padding-top: 22vw;
  }
  #mv_area h1 {
    top: 0;
    left: 5%;
    margin-left: 0;
    font-size: 7vw;
  }
  .intro {
    padding: 5vw 0 5vw 0;
  }
  .intro h2 {
    font-size: 5vw;
  }
  .intro h2 em {
    font-size: 9vw;
  }
  .txtbox {
    display: block;
    max-width: 100%;
    font-size: 4.2vw;
    padding: 0 5vw;
  }
  .txtbox img {
    margin-right: 0;
    margin-bottom: 3vw;
  }
  .open_container label {
    display: block;
    text-align: center;
  }
  .open_container h3 {
    text-align: center;
    font-size: 8vw;
  }
  .open_container h3 em {
    display: block;
    width: 5em;
    margin: .35em auto;
    font-size: 5vw;
    text-align: center;
  }
  .open_container label span.price {
    padding-left: 0;
    width: 100%;
  }
  .priceinner {
    padding: 5vw 0;
  }
  p.fukidashi {
    width: auto;
  }
  p.fukidashi span {
    font-size: 3vw;
  }
  .pricetxt {
    width: 100%;
    margin-bottom: 5vw;
  }
  .content p.ast_c {
    font-size: 2.9vw;
  }
  .priceinner .btn_list {
    margin-bottom: 0;
  }
  .btn_link.L.plan {
    width: 100%;
    font-size: 4vw;
    background-position: 8% center;
    background-size: auto 1em;
  }
  #top_column h3 {
    font-size: 5vw;
  }
  #select_box a {
    font-size: 4vw;
  }
  #btnfoot {
    width: 100%;
    background-color: #c32a36;
    text-align: center;
    padding: 3vw 0 6vw;
    position: fixed;
    bottom: 0;
    left: 0;
    display: block;
    z-index: 200;
  }
  #btnfoot a.btn_link {
    width: 80vw;
    margin: 0 auto;
  }
  #btnfoot a.btn_link.wh {
    background-color: #fff;
    color: #c32a36;
  }
  body {
    padding-bottom: 20vw;
  }
  .voices_list img {
    margin: -5vw 0 2rem;
    max-width: 30vw;
  }
  .step {
    width: 100%;
  }
  .step li {
    font-size: 3.2vw;
  }
  ul.merit_circle {
    flex-wrap: wrap;
    justify-content: space-around;
  }
  ul.merit_circle li {
    width: 40%;
  }
  ul.merit_circle li span {
    width: auto;
    min-height: 27vw;
    padding: 3vw 8%;
  }
  .content .box h1 {
    font-size: 5vw;
    padding-top: 6vw;
  }
  .voices_list.col2 li {
    width: 80%;
    padding: 2% 5%;
  }
  h1.answer {
    font-size: 5vw;
  }
  h2.ico_ttl {
    font-size: 6vw;
    display: block;
  }
  h2.ico_ttl img {
    display: block;
    margin: 0 auto 5px;
  }
  .merit_list {
    display: block;
  }
  .merit_list span {
    width: 95%;
    display: flex;
    height: 18vw;
  }
  .merit_list span img.ico {
    width: 18vw;
    margin: 0;
    height: 18vw;
    margin-right: 2vw;
  }
  .fukifashi_box {
    display: block;
  }
  .fukifashi_box div {
    width: 90%;
    margin: 0 auto;
  }
  .contentsbg {
    padding: 40vw 0 0px;
    margin-top: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, #ec9d48 25%, #ec9d48 100%);
  }
  .contentsbg::before {
    margin: 10vw -25vw;
    width: 150vw;
    height: 60vw;
  }
  .contentsbg::after {
    margin: 10vw -25vw;
    width: 150vw;
    height: 30vw;
  }
  .wh_inner {
    margin: -10vw auto 10vw;
    padding: 5vw;
  }
  .wh_inner img.doc {
    top: -31vw;
    width: 65%;
    margin-left: -32.5%;
  }
  .circle_ico {
    flex-wrap: wrap;
  }
  .circle_ico li {
    width: 45%;
    padding: 0 2.5% 5vw;
  }
  .circle_ico li span {
    width: 33vw;
    height: 30vw;
    padding-top: 3vw;
    font-size: 4vw;
  }
  .circle_ico li.list_box {
    width: 100%;
    margin-top: 5vw;
  }
  h4.bgttl {
    font-size: 4.2vw;
  }
  ul.disc li {
    font-size: 3.6vw;
    padding-bottom: .25em;
  }
  .contentsbg.mgt-160 {
    margin-top: -30vw;
    padding: 30vw 0 0px;
  }
  .contentsbg.mgt-100 {
    margin-top: -20vw;
    padding: 30vw 0 0px;
  }
  ul.whcircle_list li {
    width: 28vw;
    height: 28vw;
    font-size: 4vw;
  }
  ul.merit_3col {
    display: block;
  }
  ul.merit_3col li {
    width: 90%;
    margin: 40px auto 0;
  }
  ul.merit_3col h3 {
    font-size: 5vw;
  }
  ul.merit_3col li p {
    font-size: 3.6vw;
  }
  .ill_col2 {
    display: block;
  }
  .ill_col2 span {
    width: 90%;
    display: block;
    margin: 33vw auto 5vw auto;
  }
  .ill_col2 span img.ill {
    top: -32vw;
    height: 33vw;
  }
  .urgent_news {
    display: block;
    width: 90%;
    margin: 0 auto;
    padding: 3vw;
    position: relative;
    top: 0%;
    left: 0%;
    font-size: 4vw;
  }
  .urgent_news dl dt {
    font-size: 3vw;
  }
  .spOnly {
    display: block;
  }
  .pcOnly {
    display: none;
  }
}

/*body #gnav_upper li.logout { display: none;}
body.member #gnav_upper li.logout { display: block;}
body.member #gnav_upper li.login { display: none;}
body.member #gnav_upper li.entry { display: none;}
body #gnav_upper li.mypage { display: none;}
body.member #gnav_upper li.mypage { display: block;}*/

#gnav_upper .ic {
  margin-right: 4px;
}

@media screen and (max-width: 768px) {
  #gnav_upper {
    display: flex;
    position: absolute;
    left: 100%;
    top: 16vw;
    width: 100vw;
    background-color: #fff;
    border-top: 1px #eee solid;
    margin-bottom: 0;
    transition: all 300ms;
  }
  .open #gnav_upper {
    left: 0;
  }
  #gnav_upper li {
    display: inline-flex;
    width: 50%;
    margin-left: 0;
    font-size: 3.4vw;
  }
  #gnav_upper li a {
    display: block;
    text-align: center;
    margin: 0 auto;
  }
  #gnav_upper .register {
    font-size: 3.4vw;
    width: 50vw;
  }
  #gnav_lower {
    top: 26vw;
  }
}

/*
* 調整　2020.05.01
*/

.table td input[type="button"].change {
  background-color: #fff;
  border-color: #dbdbdb;
  border-width: 1px;
  color: #363636;
  cursor: pointer;
  justify-content: center;
  padding-bottom: calc(.5em - 1px);
  padding-left: 1em;
  padding-right: 1em;
  padding-top: calc(.5em - 1px);
  text-align: center;
  white-space: nowrap;
  margin: 0 0 0 1em;
  border-radius: 290486px;
  padding-left: calc(1em + .25em);
  padding-right: calc(1em + .25em);
}

.table td input[type="button"].change:hover {
  background-color: #ffeded;
}

input[type="submit"]:hover {
  background-color: #ffeded;
}

#mypage h4 {
  background: #F7F7F7;
  border-left: #EB9C48 solid 6px;
  font-size: 2rem;
  margin-bottom: .35em;
  padding: 5px 0.5em;
}

#mypage p.sub {
  font-size: 1.4rem;
  margin-bottom: 30px;
}

#mypage .career_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#mypage .career_list {
  width: 80%;
  margin: 0 auto;
}

#mypage form div {
  align-items: center;
  display: block;
  margin-bottom: 23px;
  position: relative;
}

#mypage form div.input.text {
  margin-bottom: 0;
}

#mypage form td div input.txt {
  margin-bottom: 0;
}

#mypage .career {
  background-image: url(/img/form/arrow_gray_r.png);
  background-position: center right 18px;
  background-repeat: no-repeat;
  border: #959595 solid 1px;
  border-radius: 10px;
  box-sizing: border-box;
  height: 120px;
  margin: 0 auto 20px;
  padding: 10px 0;
  text-align: center;
  max-width: 310px;
  width: 48%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#mypage .career div img {
  /*margin-bottom: 1em;*/
  max-height: 58px;
  max-width: 80%;
  display: block;
  margin: 0 auto;
}

#mypage .career a, #mypage .career div p {
  font-size: 1.4rem;
  width: 100%;
  margin-bottom: .65em;
}

#mypage .btn_area .career {
  max-width: 80%;
}

.txtC {
  text-align: center;
}

p.txt_small {
  font-size: 1.4rem;
}

.wrp.width_aside {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  max-width: 1000px;
  padding-top: 27px;
}

.main_contetnt {
  max-width: 700px;
}

.wrp.width_aside aside {
  box-sizing: border-box;
  margin-right: 40px;
  width: 260px;
}

.wrp.width_aside ul.localmenu {
  background-color: #f5f5f5;
}

.wrp.width_aside ul.localmenu li {
  border-top: 2px #e0e0e0 solid;
  padding: 0 7px 5px 7px;
}

.wrp.width_aside ul.localmenu li span {
  font-size: 1.5rem;
  padding: 0.85em 0.65em;
  display: block;
}

.wrp.width_aside ul.localmenu li .submenu {
  background-color: #fff;
}

.wrp.width_aside ul.localmenu li .submenu li {
  border-top: 1px #e0e0e0 solid;
  padding: 0;
}

.wrp.width_aside ul.localmenu li .submenu li a {
  display: block;
  font-size: 1.4rem;
  padding: 12px 0.65em;
  background-image: url(/img/ic/arrow_sidenav.png);
  background-position: 96% center;
  background-repeat: no-repeat;
  background-size: 6px;
}

.wrp.width_aside ul.localmenu li .submenu li a:hover {
  background-color: rgba(196, 42, 52, 0.05);
}

.wrp.width_aside ul.localmenu li .s-submenu {
  background-color: #fff;
}

.wrp.width_aside ul.localmenu li .s-submenu li {
  border-top: 1px #e0e0e0 solid;
  font-size: 1.4rem;
  padding: .25em 1em;
}

.wrp.width_aside ul.localmenu li .submenu li.urgent a {
  background-image: url(/img/ic/ic_important.png);
  background-position: .5em center;
  background-repeat: no-repeat;
  background-size: 1.2em;
  padding-left: 2em;
}

.post-list {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px #ddd solid;
}

h3 {
  position: relative;
}

span.column-date {
  font-size: 1.2rem;
  text-align: right;
  position: absolute;
  right: 1em;
  top: .5em;
}

p.excerpt {
  margin-bottom: 0;
  font-size: 1.5rem;
}

p.excerpt a {
  word-break: break-word;
}

#post-main-content h3, .post-list h3 a {
  padding-right: 6em;
  display: inline-block;
  width: calc(100% - 6em - 14px);
}

.pagination {
  display: flex;
  margin: 20px auto;
  width: auto;
  font-size: 1.3rem;
  justify-content: center;
}

.pagination .page-numbers {
  display: block;
  border-right: 1px #ddd solid;
  padding: 0 .75em;
  line-height: 2;
}

.pagination .page-numbers:first-child {
  border-left: 1px #ddd solid;
}

.pagination .page-numbers.current {
  color: #999;
}

.pagination a.page-numbers {
  color: #0099ff;
}

#post-main-content {
  margin-bottom: 30px;
  border-bottom: 1px #ddd solid;
  display: block;
  padding-bottom: 30px;
}

#post-main-content p {
  margin-bottom: .25em;
}

#post-main-content p.date {
  font-size: 1.3rem;
  text-align: right;
}

#post-main-content pre {
  display: block;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: .65em;
  white-space: pre-wrap;
}

span.link {
  position: absolute;
  right: 0;
  font-size: 1.3rem;
  bottom: 1.2em;
  font-weight: normal;
}

span.link a {
  background-image: url(/img/arrow_blue.png);
  background-position: 5px center;
  background-repeat: no-repeat;
  background-size: 6px auto;
  display: inline-block;
  padding-left: 1em;
}

.main_contetnt {
  min-width: 700px;
}

ul.news-list li {
  display: block;
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px #ddd solid;
  ;
}

ul.news-list li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

ul.news-list li span {
  width: 15%;
  font-size: 1.3rem;
  color: #666;
  padding-top: .2em;
}

ul.news-list li h3 {
  width: 85%;
  font-size: 1.8rem;
}

ul.news-list li p {
  width: 100%;
  display: block;
  padding-top: .5em;
  font-size: 1.3rem;
  color: #666;
}

ul.news-list li h3 em, em.urgent {
  display: block;
  width: 8em;
  text-align: center;
  font-size: 1.1rem;
  background-color: #c42a36;
  color: #fff;
  border-radius: 4px;
  padding: .15em .5em;
  margin-right: .5em;
  margin-bottom: .35em;
  line-height: 1.5;
}

em.urgent {
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  .content h4.heading20 {
    font-size: 5vw;
  }
  .btn_link.square {
    font-size: 3.4vw;
  }
  .main_contetnt {
    min-width: 100%;
  }
  ul.news-list li h3 em, em.urgent, #post-main-content p.date {
    font-size: 3vw;
  }
  .wrp.width_aside aside {
    width: 100%;
    margin: 0 auto;
  }
  .pagination {
    font-size: 3vw;
  }
  #post-main-content p {
    word-break: break-word;
  }
  ul.news-list li a {
    display: block;
  }
  ul.news-list li span {
    width: 100%;
  }
  ul.news-list li h3 {
    width: 100%;
  }
}

/*
* added petclinic
*/

h6.sttl {
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: .35em;
  border-bottom: 1px #ddd solid;
  padding-bottom: .25em;
}

ul.search-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

ul.search-list li {
  display: inline-flex;
  padding: 0 .5em;
}

ul.search-list li a {
  display: inline-block;
  color: #c32a36;
  padding: 0 .2em 0 1em;
  background-image: url(/img/arrow_linkbtn.png);
  background-position: .45em center;
  background-repeat: no-repeat;
  background-size: 6px auto;
  min-width: 9em;
}

ul.search-list li a span {
  color: #999;
}

.clinicl_col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.clinicl_col2 div {
  display: block;
  width: 48%;
  border-bottom: 1px #ddd solid;
  margin-bottom: 30px;
  padding-bottom: 1rem;
}

.clinicl_col2 div p {
  margin-bottom: .25em;
  padding-left: 1em;
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  .table.row th {
    padding: 4vw 4vw;
  }
  .table th, .table td {
    padding: 4vw 4vw;
  }
  ul.search-list li {
    padding: .25em .5em;
  }
  .clinicl_col2 {
    display: block;
  }
  .clinicl_col2 div {
    width: 100%;
  }
}

#form input[type="send"].orange {
  background-image: url(../img/form/arrow_gray_r.png);
  background-position: 8% center;
  background-repeat: no-repeat;
  background-size: .5em auto;
  background-color: #fff;
  border: #959595 solid 1px;
  border-radius: 2em;
  box-sizing: border-box;
  color: #eb9c48;
  display: block;
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0 0 15px auto;
  padding: .65em 0;
  line-height: 1.5;
  text-align: center;
  width: 90%;
  max-width: 310px;
}

#form div.txtbox {
  height: 10em;
  width: 100%;
  max-width: 100%;
}

#mypage #header {
  border-bottom: 1px #ddd solid;
}

@media screen and (max-width: 768px) {
  #form input[type="send"].orange {
    margin: 0 auto 15px auto;
  }
  #form .career {
    width: 90%;
    margin: 0 auto 3vw;
  }
  #form .career_list a {
    width: 100%;
  }
  #form .credit_btn {
    width: 80%;
    margin: 0 auto;
  }
  #form .credit_btn .career {
    width: 100%;
    /*padding-top: 2em; height: 5em;*/
  }
  #form input[type="submit"], #form input[type="submit"].back, #form input[type="submit"].ok {
    font-size: 4vw;
  }
  #form input[type="submit"].back, #form input[type="submit"].ok {
    width: 45%;
  }
  #form input[type="submit"].cancel_submit {
    margin-left: 5vw;
  }
  #form select {
    margin-bottom: 2vw;
  }
}

p.mgb065 {
  margin-bottom: .65em;
}

p.mgb1 {
  margin-bottom: 1em;
}

p.mgb15 {
  margin-bottom: 1.5em;
}

/*
* Inquiry　20200609
*/

main.Inquiry {
  background-color: #fff;
}

.inquirybox {
  padding: 30px 60px;
  margin-top: 0;
}

.inquirybox .txt-red, .ast {
  color: #C42A36;
}

.inquirybox p.error {
  display: block;
  font-size: 1.3rem;
  color: #C42A36;
  margin-bottom: 0;
  padding-left: 1em;
}

.inquirybox .area p.cap {
  margin: 0;
}

.inquirybox table.formtd {
  width: 100%;
}

.inquirybox table.formtd tr {
  border-bottom: 0;
}

.inquirybox table.formtd td, table.formtd th {
  border: none;
  font-size: 1.6rem;
  vertical-align: middle;
  padding: 1em 0;
  background: #fff;
  vertical-align: top;
}

.inquirybox table.formtd th {
  width: 22%;
  font-weight: bold;
  padding-top: 1.6rem;
  padding-right: 0px;
  border-right: 2px #eee solid;
}

.inquirybox table.formtd td {
  padding-left: 20px;
}

.inquirybox table.formtd td .control {
  font-size: 1.5rem;
}

.inquirybox input.radio {
  margin-right: .5em;
}

.inquirybox table.formtd tr.linebtm th, table.formtd tr.linebtm td {
  border-bottom: 1px #ddd solid;
}

.inquirybox input[type=text], input[type=tel] {
  max-width: 90%;
  padding: .35em;
  font-size: 1.6rem;
}

.inquirybox #CustomerName, .inquirybox #CustomerNameKana {
  width: 30em;
}

.inquirybox #CustomerAddr2, .inquirybox #CustomerAddr3 {
  width: 60%;
}

.gray {
  color: #999;
}

.inquirybox select {
  padding: .35em .35em .5em .35em;
}

.inquirybox #CustomerComment {
  width: 90%;
  height: 10em;
  padding: .5em;
  font-size: 1.6rem;
  color: #666;
}

.inquirybox i {
  font-style: normal !important;
}

.inquirybox .btn_area {
  margin: 30px auto;
  display: flex !important;
  align-items: center;
  justify-content: space-around;
  max-width: 700px;
}

.inquirybox input[type="submit"] {
  cursor: pointer;
  background: #fff;
  background-image: url(/img/form/arrow_red.png);
  background-position: 90% center;
  background-repeat: no-repeat;
  border: #c42a36 solid 1px;
  border-radius: 2em;
  color: #c42a36;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 auto;
  padding: 0.65em 0;
  line-height: 1.5;
  text-align: center;
  width: 90%;
  max-width: 310px;
}

.inquirybox input[type="submit"].next, .inquirybox input[type="submit"].ok {
  background: #C42A36;
  background-image: url(/img/form/arrow_wht.png);
  background-position: 90% center;
  background-repeat: no-repeat;
  border: #c42a36 solid 1px;
  border-radius: 2em;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 auto;
  padding: 0.65em 0;
  line-height: 1.5;
  text-align: center;
  width: 90%;
  max-width: 310px;
}

.inquirybox input[type="submit"].next:hover, .inquirybox input[type="submit"].ok:hover {
  opacity: .8;
}

.inquirybox input[type="submit"].back {
  background-image: url(/img/form/arrow_gray_l.png);
  background-position: 8% center;
  background-repeat: no-repeat;
  background-color: #fff;
  border: #959595 solid 1px;
  border-radius: 2em;
  box-sizing: border-box;
  color: #959595;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 auto;
  padding: .65em 0;
  line-height: 1.5;
  text-align: center;
  width: 90%;
  max-width: 310px;
}

.linltextR {
  display: flex;
  text-align: right;
  justify-content: flex-end;
  padding-bottom: .25em;
}

.linltextR a {
  display: block;
  color: #c32a36;
  padding: 0 .2em 0 1em;
  background-image: url(/img/arrow_linkbtn.png);
  background-position: .25em center;
  background-repeat: no-repeat;
  background-size: 6px auto;
}

.inquirybox input::-webkit-input-placeholder {
  color: #dbdbdb;
}

.inquirybox input:-ms-input-placeholder {
  color: #dbdbdb;
}

.inquirybox input::-ms-input-placeholder {
  color: #dbdbdb;
}

.inquirybox input::placeholder {
  color: #dbdbdb;
}

.inquirybox input:-ms-input-placeholder {
  color: #dbdbdb;
}

.inquirybox input::-ms-input-placeholder {
  color: #dbdbdb;
}

.Inquiry h4 {
  background: #F7F7F7;
  border-left: #EB9C48 solid 6px;
  font-size: 2rem;
  margin-bottom: 32px;
  padding: 5px 0.5em;
  margin-top: 2em;
}

.Inquiry .txtbox {
  border: #C3C3C3 solid 1px;
  display: block;
  box-sizing: border-box;
  overflow: scroll;
  padding: 24px 21px;
  height: 10em;
  width: 100%;
  max-width: 100%;
}

.Inquiry .txtbox p {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .inquirybox {
    padding: 5vw;
  }
  .inquirybox table.formtd td, table.formtd th {
    font-size: 3.6vw;
    display: block;
    width: 100%;
    border: none;
    padding: .3em 0;
  }
  .inquirybox table.formtd th {
    width: 100%;
    border-right: 0;
  }
  .inquirybox #CustomerName, .inquirybox #CustomerNameKana {
    width: 90%;
  }
  .inquirybox input[type="submit"].next, .inquirybox input[type="submit"].ok, .inquirybox input[type="submit"].back {
    width: 45%;
    font-size: 4vw;
  }
  .inquirybox #CustomerAddr2, .inquirybox #CustomerAddr3 {
    width: 90%;
  }
  .Inquiry h4 {
    font-size: 4.6vw;
  }
  #form .career_list a img {
    max-width: 80%;
  }
  #form .btn_area input[type="submit"].exec_button {
    width: 100%;
    margin: 0 auto;
    background-position: 96% center;
  }
  #flow, #everytime, #veterinarians, #consultation, #fee, #system, #others {
    margin-top: -25vw;
    padding-top: 25vw;
  }
  #merit {
    margin-top: -25vw;
    padding-top: 30vw;
  }
}

img.imgpd {
  padding: 1.5em;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #logo {
    width: 200px;
  }
}

/*
* added by ferosi
*/

#form form .pet, #form form .add_form {
  display: block;
}

#form form .pet.add {
  display: none;
}

#form form .pet.add.active {
  display: block;
}

#form form .add_form {
  display: none;
}

#form form .pet.active+.add_form {
  display: block;
}

#form .add_form a.remove {
  color: #333;
}

hr {
  background-color: #ddd;
  border: none;
  display: block;
  height: 1px;
  margin: .5rem 0;
}

/*
* template　20210617
*/

.template p {
  font-size: 1.6rem;
  margin: 0;
}

#post-main-content.template .mt20 {
  margin-bottom: 0 !important;
}

#post-main-content .post-inner {
  color: #7E7E7E;
}

#post-main-content .post-inner>p {
  margin-bottom: 2em;
  max-width: 90%;
}

#post-main-content.template h3 {
  background: none;
  border: none;
  color: rgba(0, 0, 0, 0.67);
  font-size: 2.4rem;
  font-weight: 600;
  padding: 0;
  width: auto;
}

#post-main-content.template h3 span.column-date {
  color: #000;
  display: block;
  font-size: 1.4rem;
  font-weight: 300;
  margin: 1em 0 0;
  position: unset;
  text-align: left;
}

#post-main-content.template>p:first-of-type {
  display: none;
}

.sv {
  border: 1px solid rgba(0, 0, 0, 0.29);
  box-sizing: border-box;
  margin-bottom: 48px;
  max-width: 90%;
  padding: 25px 18px;
}

#post-main-content p.ttl {
  margin-bottom: 1.25em;
  font-weight: bold;
}

#post-main-content.template .fw600 {
  font-weight: 600;
}

#post-main-content.template .fs14 {
  font-size: 1.4rem;
}

img.circle {
  border-radius: 50%;
  float: left;
  max-width: 11%;
}

#post-main-content .sv div p {
  font-size: 1.4rem;
  margin: 0 0 0 auto;
  max-width: 86%;
}

#post-main-content .sv div p.name {
  font-size: 1.6rem;
  font-weight: normal;
  margin: 0 0 0.5em auto;
}

#post-main-content .sv div p.name span {
  color: #FDA42C;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 0;
}

#post-main-content .sv div p.name small {
  font-size: 1.2rem;
}

.box-or {
  background: rgba(253, 164, 44, 0.15);
  box-sizing: border-box;
  margin-bottom: 150px;
  max-width: 86.7%;
  padding: 25px 23px;
}

.flex {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.box-or .flex img {
  max-width: 39.75%;
}

.box-or .flex div {
  max-width: 56%;
}

#post-main-content .box-or .flex div a {
  background-image: url(../img/add/arrow-or.png);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  color: #FD772C;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  margin-top: 1em;
  padding-right: 1.5em;
  text-decoration: none;
}

#post-main-content.template h4 {
  color: rgba(0, 0, 0, 0.67);
  font-size: 2.4rem;
  font-weight: 600;
  margin: 0 0 1.5em;
  padding-top: 1.2em;
  position: relative;
}

#post-main-content.template h4::before {
  background-color: rgba(253, 164, 44, 0.5);
  content: '';
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  width: 80%;
}

#post-main-content.template ol, #post-main-content.template ul {
  font-size: 1.6rem;
  line-height: 1.625;
  list-style: none;
  margin: 0;
  padding: 0;
}

#post-main-content ol.or {
  border: 2px solid rgba(253, 164, 44, 0.5);
  border-radius: 4px;
  box-sizing: border-box;
  margin-bottom: 35px;
  max-width: 85.4%;
  padding: 1.5rem;
}

#post-main-content ul.checkmark {
  margin-bottom: 1.5em;
}

#post-main-content ul.checkmark span.or {
  color: #FD772C;
}

.box-gr {
  border: 2px solid #C4C4C4;
  border-radius: 4px;
  box-sizing: border-box;
  max-width: 80.85%;
  padding: 36px 11px 31px 30px;
  position: relative;
}

.box-gr p.ttl {
  background-color: #FDA42C;
  color: #fff;
  display: inline-block;
  padding: 0.25em 1em;
  position: absolute;
  top: -1.25em;
}

.box-gr .flex img {
  max-width: 25%;
}

.box-gr .flex div {
  max-width: 71%;
}

#post-main-content .box-gr .flex div p.fs14 {
  font-weight: 400;
  line-height: 1.85;
  margin-bottom: 2em;
}

a.btn {
  background-color: #FD772C;
  background-image: url(../img/add/arrow-wh.png);
  background-position: center right 1.5em;
  background-repeat: no-repeat;
  background-size: 10px;
  border-radius: 15px;
  color: #fff;
  display: block;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 auto;
  max-width: 11em;
  padding: 1em 3em 1em 2em;
  text-decoration: none;
}

.italic {
  font-style: italic;
}

#post-main-content.template p span.ttl {
  display: block;
}

h5.or {
  color: #FDA42C;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0;
}

#post-main-content ul.inside {
  border: 2px solid rgba(253, 164, 44, 0.5);
  border-radius: 4px;
  box-sizing: border-box;
  list-style: inside;
  margin-top: 1em;
  margin-bottom: 35px;
  max-width: 85.4%;
  padding: 1.5rem;
}

@media screen and (max-width: 768px) {
  #post-main-content.template .fs14 {
    font-size: 3.73vw;
  }
  #post-main-content.template h3 {
    font-size: 6.4vw;
  }
  #post-main-content.template h3 span.column-date {
    font-size: 3.73vw;
  }
  .sv {
    max-width: 100%;
  }
  .template p {
    font-size: 4.26vw;
  }
  img.circle {
    max-width: 20%;
  }
  #post-main-content .sv div p {
    font-size: 3.73vw;
    max-width: 100%;
  }
  #post-main-content .sv div p.name {
    font-size: 4.26vw;
    margin: 0 0 2em 5em;
    text-align: left;
  }
  #post-main-content .sv div p.name span {
    display: block;
    font-size: 3.73vw;
  }
  #post-main-content .sv div p.name small {
    display: block;
    font-size: 3.2vw;
  }
  #post-main-content .post-inner>p {
    max-width: 100%;
  }
  .box-or {
    margin-bottom: 50px;
    max-width: 100%;
  }
  .box-or .flex {
    justify-content: center;
  }
  .box-or .flex img {
    max-width: 76.5%;
  }
  .box-or .flex div {
    max-width: 100%;
    text-align: center;
  }
  #post-main-content .box-or .flex div p {
    margin-top: 1em;
  }
  #post-main-content .box-or .flex div a {
    font-size: 4.26vw;
    margin-top: 0;
  }
  #post-main-content.template h4 {
    font-size: 6.4vw;
  }
  #post-main-content.template h4::before {
    width: 100%;
  }
  #post-main-content.template ol, #post-main-content.template ul {
    font-size: 4.26vw;
  }
  #post-main-content ol.or, #post-main-content ul.inside {
    max-width: 100%;
  }
  .box-gr {
    max-width: 100%;
    padding: 10vw 25px 35px;
  }
  .box-gr p.ttl {
    left: 50%;
    margin-left: -29vw;
  }
  .box-gr .flex img {
    margin: 0 auto 5vw;
    max-width: 100%;
  }
  .box-gr .flex div {
    max-width: 100%;
    text-align: center;
  }
  #post-main-content .box-gr .flex div p.fs14 {
    text-align: left;
  }
  a.btn {
    background-size: 2.66vw;
    font-size: 4.26vw;
  }
}