* {
  margin:0;
  padding:0;
  font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",sans-serif;
  -webkit-box-sizing:border-box;
  box-sizing:border-box
}
input[type=submit],input[type=button] {
  border-radius:0;
  -webkit-box-sizing:content-box;
  -webkit-appearance:button;
  appearance:button;
  border:none;
  box-sizing:border-box;
  cursor:pointer
}
input[type=submit]::-webkit-search-decoration,input[type=button]::-webkit-search-decoration {
  display:none
}
input[type=submit]:focus,input[type=button]:focus {
  outline-offset:-2px
}
body {
  color:#222;
  font-size:28px;
  line-height:1.6;
  background:#fff
}
@media(min-width: 751px) {
  body {
  font-size:16px
}
}
body:not(.single) li {
  list-style:none;
  margin:0;
  padding:0
}
body.single li {
  margin-left:1em
}
h1,h2,h3,h4,h5,h6 {
  padding:0;
  margin:0
}
a {
  display:block;
  color:inherit;
  text-decoration:none
}
picture,img {
  display:block;
  max-width:100%
}
table {
  border-collapse:collapse
}
table tbody {
  -webkit-text-size-adjust:100%
}
p {
  line-height:1.8em
}
select {
  -webkit-appearance:none;
  appearance:none
}
select::-ms-expand {
  display:none
}
.c {
  text-align:center
}
@media(min-width: 751px) {
  .pcc {
  text-align:center
}
}
@media(max-width: 750px) {
  .spc {
  text-align:center
}
}
.r {
  text-align:right
}
.flexbox-a {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex
}
@media(min-width: 751px) {
  .flexbox {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex
}
}
@media(max-width: 750px) {
  .flexbox-sp {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex
}
}
.jus-s {
  -webkit-box-pack:start;
  -ms-flex-pack:start;
  justify-content:flex-start
}
.jus-c {
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center
}
.jus-e {
  -webkit-box-pack:end;
  -ms-flex-pack:end;
  justify-content:flex-end
}
.jus-ad {
  -ms-flex-pack:distribute;
  justify-content:space-around
}
.jus-bn {
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between
}
.al-c {
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center
}
.al-s {
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start
}
.al-e {
  -webkit-box-align:end;
  -ms-flex-align:end;
  align-items:flex-end
}
.flex-w {
  -ms-flex-wrap:wrap;
  flex-wrap:wrap
}
.flexbox-a {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex
}
.flexbox-in {
  display:inline-flex
}
.flex-r {
  flex-flow:row-reverse
}
@media(max-width: 750px) {
  .pc {
  display:none
}
}
.pc-in {
  display:none
}
@media(min-width: 751px) {
  .pc-in {
  display:inline
}
}
@media(min-width: 751px) {
  .sp {
  display:none
}
}
.sp-in {
  display:none
}
@media(max-width: 750px) {
  .sp-in {
  display:inline
}
}
.max-w {
  position:relative;
  margin-left:30px;
  margin-right:30px;
  z-index:1
}
@media(min-width: 751px) {
  .max-w {
  width:850px;
  margin:0 auto
}
}
.max-ws {
  position:relative;
  margin-left:30px;
  margin-right:30px;
  z-index:1
}
@media(min-width: 751px) {
  .max-ws {
  width:690px;
  margin:0 auto
}
}
@media(min-width: 751px) {
  .max-wpc {
  position:relative;
  width:850px;
  margin:0 auto;
  z-index:1
}
}
@media(max-width: 750px) {
  .max-wsp {
  position:relative;
  margin-left:30px;
  margin-right:30px;
  z-index:1
}
}
.wrap {
  overflow:hidden
}
.inlinelink {
  display:inline;
  text-decoration:underline;
  transition:opacity .3s
}
@media(min-width: 751px) {
  .inlinelink:hover {
  opacity:.7
}
}
@media(min-width: 751px) {
  .hover-opacity {
  transition:opacity .3s
}
.hover-opacity:hover {
  opacity:.7
}
}
.top5 {
  margin-top:5px
}
.top10 {
  margin-top:10px
}
.top20 {
  margin-top:20px
}
.top30 {
  margin-top:30px
}
.top40 {
  margin-top:40px
}
.top50 {
  margin-top:50px
}
.top60 {
  margin-top:60px
}
.top70 {
  margin-top:70px
}
.top80 {
  margin-top:80px
}
.top90 {
  margin-top:90px
}
.top100 {
  margin-top:100px
}
@media(max-width: 750px) {
  .top5-sp {
  margin-top:5px
}
}
@media(max-width: 750px) {
  .top10-sp {
  margin-top:10px
}
}
@media(max-width: 750px) {
  .top20-sp {
  margin-top:20px
}
}
@media(max-width: 750px) {
  .top30-sp {
  margin-top:30px
}
}
@media(max-width: 750px) {
  .top40-sp {
  margin-top:40px
}
}
@media(max-width: 750px) {
  .top50-sp {
  margin-top:50px
}
}
@media(max-width: 750px) {
  .top60-sp {
  margin-top:60px
}
}
@media(max-width: 750px) {
  .top70-sp {
  margin-top:70px
}
}
@media(max-width: 750px) {
  .top80-sp {
  margin-top:80px
}
}
@media(max-width: 750px) {
  .top90-sp {
  margin-top:90px
}
}
@media(max-width: 750px) {
  .top100-sp {
  margin-top:100px
}
}
@media(min-width: 751px) {
  .top5-pc {
  margin-top:5px
}
}
@media(min-width: 751px) {
  .top10-pc {
  margin-top:10px
}
}
@media(min-width: 751px) {
  .top20-pc {
  margin-top:20px
}
}
@media(min-width: 751px) {
  .top30-pc {
  margin-top:30px
}
}
@media(min-width: 751px) {
  .top40-pc {
  margin-top:40px
}
}
@media(min-width: 751px) {
  .top50-pc {
  margin-top:50px
}
}
@media(min-width: 751px) {
  .top60-pc {
  margin-top:60px
}
}
@media(min-width: 751px) {
  .top70-pc {
  margin-top:70px
}
}
@media(min-width: 751px) {
  .top80-pc {
  margin-top:80px
}
}
@media(min-width: 751px) {
  .top90-pc {
  margin-top:90px
}
}
@media(min-width: 751px) {
  .top100-pc {
  margin-top:100px
}
}
.btm5 {
  margin-bottom:5px
}
.btm10 {
  margin-bottom:10px
}
.btm20 {
  margin-bottom:20px
}
.btm30 {
  margin-bottom:30px
}
.btm40 {
  margin-bottom:40px
}
.btm50 {
  margin-bottom:50px
}
.btm60 {
  margin-bottom:60px
}
.btm70 {
  margin-bottom:70px
}
.btm80 {
  margin-bottom:80px
}
.btm90 {
  margin-bottom:90px
}
.btm100 {
  margin-bottom:100px
}
@media(max-width: 750px) {
  .btm5-sp {
  margin-bottom:5px
}
}
@media(max-width: 750px) {
  .btm10-sp {
  margin-bottom:10px
}
}
@media(max-width: 750px) {
  .btm20-sp {
  margin-bottom:20px
}
}
@media(max-width: 750px) {
  .btm30-sp {
  margin-bottom:30px
}
}
@media(max-width: 750px) {
  .btm40-sp {
  margin-bottom:40px
}
}
@media(max-width: 750px) {
  .btm50-sp {
  margin-bottom:50px
}
}
@media(max-width: 750px) {
  .btm60-sp {
  margin-bottom:60px
}
}
@media(max-width: 750px) {
  .btm70-sp {
  margin-bottom:70px
}
}
@media(max-width: 750px) {
  .btm80-sp {
  margin-bottom:80px
}
}
@media(max-width: 750px) {
  .btm90-sp {
  margin-bottom:90px
}
}
@media(max-width: 750px) {
  .btm100-sp {
  margin-bottom:100px
}
}
@media(min-width: 751px) {
  .btm5-pc {
  margin-bottom:5px
}
}
@media(min-width: 751px) {
  .btm10-pc {
  margin-bottom:10px
}
}
@media(min-width: 751px) {
  .btm20-pc {
  margin-bottom:20px
}
}
@media(min-width: 751px) {
  .btm30-pc {
  margin-bottom:30px
}
}
@media(min-width: 751px) {
  .btm40-pc {
  margin-bottom:40px
}
}
@media(min-width: 751px) {
  .btm50-pc {
  margin-bottom:50px
}
}
@media(min-width: 751px) {
  .btm60-pc {
  margin-bottom:60px
}
}
@media(min-width: 751px) {
  .btm70-pc {
  margin-bottom:70px
}
}
@media(min-width: 751px) {
  .btm80-pc {
  margin-bottom:80px
}
}
@media(min-width: 751px) {
  .btm90-pc {
  margin-bottom:90px
}
}
@media(min-width: 751px) {
  .btm100-pc {
  margin-bottom:100px
}
}
@media(max-width: 750px) {
  .header,main,.footer {
  min-width:750px
}
}
@media(min-width: 751px) {
  .header,main,.footer {
  min-width:1201px
}
}
.red-txt {
  color:#ce0529
}
.yellow-txt {
  color:#fff200
}
.b {
  font-weight:bold
}
.yellow-line {
  background-image:linear-gradient(transparent 70%, #fef437 0%)
}
.header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:120px;
  background:#fff;
  z-index:10
}
@media(min-width: 751px) {
  .header {
  height:60px
}
}
.header .inner {
  width:100%
}
@media(min-width: 751px) {
  .header .inner {
  width:852px;
  margin:0 auto
}
}
@media(min-width: 751px)and (min-width: 1201px) {
  .header .inner {
  width:71vw
}
}
@media(max-width: 750px) {
  .header .logo {
  padding-left:20px
}
}
.header .logo img {
  width:265px
}
@media(min-width: 751px) {
  .header .logo img {
  width:204px
}
}
.header .txt {
  margin-right:14px;
  font-size:17px;
  font-weight:bold
}
.header .txt img {
  width:23px;
  margin-right:9px
}
.header .btn a img {
  width:auto;
  height:120px
}
@media(min-width: 751px) {
  .header .btn a img {
  height:60px
}
}
.footer {
  padding:60px 0 400px;
  text-align:center;
  background:#d9f8ff
}
@media(min-width: 751px) {
  .footer {
  padding:50px 0 130px
}
}
.footer .title {
  margin-bottom:30px;
  font-size:28px;
  font-weight:bold
}
@media(min-width: 751px) {
  .footer .title {
  margin-bottom:20px
}
}
.footer dl dt {
  font-weight:bold
}
.fixed {
  position:fixed;
  left:0;
  bottom:0;
  width:100%;
  z-index:10;
  opacity:0;
  visibility:hidden;
  transition:.3s
}
@media(min-width: 751px) {
  .fixed {
  height:85px;
  background:#fff;
  border-top:6px solid #f5445c
}
}
.fixed .logo {
  width:300px;
  margin-right:100px
}
@media(max-width: 750px) {
  .fixed .info {
  position:absolute;
  left:-5px;
  bottom:115px;
  width:210px
}
}
@media(min-width: 751px) {
  .fixed .info {
  width:288px;
  margin-right:22px
}
}
.fixed .btn {
  position:relative;
  z-index:1
}
.fixed .btn a {
  width:50%
}
@media(min-width: 751px) {
  .fixed .btn a {
  width:140px
}
}
.fixed .btn a:nth-child(2) {
  border-left:2px solid #204e9e
}
@media(min-width: 751px) {
  .fixed .btn a:nth-child(2) {
  border-left-width:1px
}
}
body.scrolled .fixed {
  opacity:1;
  visibility:visible
}
aside.to-contact {
  width:calc(100% - 60px);
  margin:0 auto;
  border:2px solid #42a4f4
}
@media(min-width: 751px) {
  aside.to-contact {
  width:850px
}
}
aside.to-contact .head {
  position:relative;
  padding:20px 0;
  text-align:center;
  background:#42a4f4
}
@media(min-width: 751px) {
  aside.to-contact .head {
  padding:24px 0
}
}
aside.to-contact .head .char1 {
  position:absolute;
  top:-20px;
  left:8px;
  width:130px
}
@media(min-width: 751px) {
  aside.to-contact .head .char1 {
  top:-30px;
  left:8px;
  width:100px
}
}
aside.to-contact .head .char2 {
  position:absolute;
  right:-2px;
  bottom:0;
  width:130px
}
@media(min-width: 751px) {
  aside.to-contact .head .char2 {
  width:120px
}
}
aside.to-contact .head h3 {
  padding-left:30px;
  line-height:1.4;
  color:#fff;
  font-size:28px
}
@media(min-width: 751px) {
  aside.to-contact .head h3 {
  padding-left:10px;
  font-size:24px
}
}
@media(max-width: 750px) {
  aside.to-contact .head h3 span {
  display:block;
  font-size:38px
}
}
aside.to-contact .cnt {
  padding:30px
}
@media(min-width: 751px) {
  aside.to-contact .cnt {
  padding:20px
}
}
aside.to-contact .cnt .intro-txt {
  display:flex;
  flex-wrap:wrap
}
aside.to-contact .cnt .intro-txt span {
  font-size:26px;
  font-weight:bold;
  line-height:35px
}
aside.to-contact .cnt .intro-txt span:nth-child(odd) {
  width:40%;
  text-align:right
}
@media(min-width: 751px) {
  aside.to-contact .cnt .intro-txt span:nth-child(odd) {
  width:45%
}
}
aside.to-contact .cnt .intro-txt span:nth-child(even) {
  display:inline-block;
  margin-left:10px;
  padding:0 10px;
  color:#ce0529;
  border:1px solid #ce0529
}
aside.to-contact .cnt .intro-txt span:nth-child(n+3) {
  margin-top:10px
}
aside.to-contact .cnt .btn {
  margin:30px 0
}
@media(min-width: 751px) {
  aside.to-contact .cnt .btn a {
  width:347px
}
}
@media(max-width: 750px) {
  aside.to-contact .cnt .btn a:nth-child(n+2) {
  margin-top:30px
}
}
@media(min-width: 751px) {
  aside.to-contact .cnt .btn a:nth-child(n+2) {
  margin-left:35px
}
}
aside.to-contact .cnt .band {
  padding:10px 10px 10px 25px;
  font-weight:bold;
  text-align:center;
  background:#e4e4e4
}
@media(min-width: 751px) {
  aside.to-contact .cnt .band {
  padding:5px 5px 5px 15px
}
}
.sec-band {
  position:relative;
  height:180px;
  margin-bottom:90px;
  background:linear-gradient(to bottom, #007eca, #0048ac)
}
@media(min-width: 751px) {
  .sec-band {
  height:120px;
  margin-bottom:35px
}
}
.sec-band::after {
  display:block;
  content:"";
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width:40px 50px 0 50px;
  border-color:#0048ac rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}
@media(min-width: 751px) {
  .sec-band::after {
  border-width:25px 35px 0 35px
}
}
.sec-band .title {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:611px;
  z-index:1
}
@media(min-width: 751px) {
  .sec-band .title {
  width:631px
}
}
.sec-band .title.title2 {
  width:603px
}
@media(min-width: 751px) {
  .sec-band .title.title2 {
  width:536px
}
}
.sec-band .water {
  position:absolute;
  right:-60px;
  bottom:0;
  width:450px
}
@media(min-width: 751px) {
  .sec-band .water {
  width:218px;
  right:calc(50% - 440px)
}
}
.sec-band .char {
  position:absolute;
  right:-10px;
  bottom:0;
  width:254px
}
@media(min-width: 751px) {
  .sec-band .char {
  width:119px;
  right:calc(50% - 420px)
}
}
main {
  margin-top:120px;
  overflow-x:hidden
}
@media(min-width: 751px) {
  main {
  margin-top:60px
}
}
main .mv {
  border-bottom:8px solid #500b06
}
@media(min-width: 751px) {
  main .mv {
  border-bottom-width:4px
}
}
main section#card {
  margin-bottom:60px
}
@media(min-width: 751px) {
  main section#card {
  margin-bottom:80px
}
}
main section#card .bg {
  position:relative
}
main section#card .bg::before {
  display:block;
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:calc(100% + 140px);
  background:url(assets/img/card-bg-sp.jpg) no-repeat bottom center;
  background-size:cover;
  z-index:-1
}
@media(min-width: 751px) {
  main section#card .bg::before {
  height:calc(100% + 120px);
  background-image:url(assets/img/card-bg.jpg)
}
}
main section#card h2 img {
  width:572px;
  margin:80px 0 40px
}
@media(min-width: 751px) {
  main section#card h2 img {
  width:382px;
  margin:70px 0 20px
}
}
main section#card .intro {
  font-size:48px;
  font-weight:900;
  text-align:center
}
@media(min-width: 751px) {
  main section#card .intro {
  font-size:35px
}
}
main section#card .intro strong {
  font-size:64px;
  font-weight:600;
  line-height:1em
}
main section#card .box {
  margin:40px 0 60px
}
@media(min-width: 751px) {
  main section#card .box {
  margin:40px 0 50px
}
}
main section#card .box .head {
  position:relative;
  height:140px;
  background:#ce0529;
  border-bottom:3px solid #500b06
}
@media(min-width: 751px) {
  main section#card .box .head {
  width:780px;
  height:110px;
  margin:0 auto
}
}
main section#card .box .head::before {
  display:block;
  content:"";
  position:absolute;
  top:calc(100% + 3px);
  left:0;
  width:0;
  height:0;
  border-style:solid;
  border-width:0 5px 5px 0;
  border-color:rgba(0,0,0,0) #500b06 rgba(0,0,0,0) rgba(0,0,0,0)
}
main section#card .box .head::after {
  display:block;
  content:"";
  position:absolute;
  top:calc(100% + 3px);
  right:0;
  width:0;
  height:0;
  border-style:solid;
  border-width:5px 5px 0 0;
  border-color:#500b06 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}
main section#card .box .head img {
  width:98px;
  margin-right:19px
}
@media(min-width: 751px) {
  main section#card .box .head img {
  width:55px;
  margin-right:16px
}
}
main section#card .box .head h3 {
  color:#f3e742;
  font-size:33px;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#card .box .head h3 {
  font-size:22px
}
}
main section#card .box .cnt {
  width:calc(100% - 10px);
  margin:0 auto;
  padding:15px;
  background:#fff;
  border-left:1px solid #a3bbbf;
  border-right:1px solid #a3bbbf;
  border-bottom:1px solid #a3bbbf
}
@media(min-width: 751px) {
  main section#card .box .cnt {
  width:770px;
  padding:25px
}
}
main section#card .sale .band {
  width:325px;
  margin:0 auto;
  color:#fff;
  font-size:35px;
  text-align:center;
  font-weight:bold;
  line-height:1.4;
  background:url(assets/img/card-band.jpg);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section#card .sale .band {
  width:221px;
  padding:10px 0;
  font-size:23px
}
}
main section#card .sale .band strong {
  display:block;
  font-size:44px;
  font-weight:600
}
@media(min-width: 751px) {
  main section#card .sale .band strong {
  font-size:29px
}
}
main section#card .sale .price {
  margin-top:45px;
  font-size:110px;
  font-weight:900;
  line-height:1em
}
main section#card .sale .price small {
  font-size:89px
}
main section#card .sale .price>span {
  background-image:linear-gradient(transparent 70%, #fef437 0%)
}
main section#emergency {
  margin-top:80px
}
main section#emergency h2 {
  position:relative;
  text-align:center;
  font-size:50px;
  line-height:1.4em;
  z-index:1
}
@media(min-width: 751px) {
  main section#emergency h2 {
  font-size:32px
}
}
main section#emergency h2 strong {
  font-size:60px
}
@media(min-width: 751px) {
  main section#emergency h2 strong {
  font-size:38px
}
}
main section#emergency h2 .dot {
  display:inline-block;
  position:relative;
  color:#ce0529
}
main section#emergency h2 dot::after {
  display:block;
  content:"・";
  position:absolute;
  left:45%;
  bottom:100%;
  transform:translateX(-50%);
  font-size:.8em;
  line-height:10px
}
main section#emergency h2+.arrow {
  width:713px;
  margin:-50px auto 0
}
@media(min-width: 751px) {
  main section#emergency h2+.arrow {
  width:550px;
  margin-top:-20px
}
}
main section#emergency .bg {
  padding:100px 0 130px;
  margin-top:-40px;
  background:#d9f8ff
}
@media(min-width: 751px) {
  main section#emergency .bg {
  padding-bottom:100px
}
}
main section#emergency .bg .subtitle {
  width:650px;
  margin:0 auto 40px
}
@media(min-width: 751px) {
  main section#emergency .bg .subtitle {
  width:400px;
  margin-bottom:30px
}
}
main section#emergency .bg .cld {
  position:relative;
  background:#fff;
  border-radius:15px 15px 0 0
}
@media(max-width: 750px) {
  main section#emergency .bg .cld {
  width:calc(50% - 11px)
}
main section#emergency .bg .cld:nth-child(n+3) {
  margin-top:40px
}
}
@media(min-width: 751px) {
  main section#emergency .bg .cld {
  width:calc(33.33% - 11px)
}
main section#emergency .bg .cld:nth-child(n+4) {
  margin-top:30px
}
}
main section#emergency .bg .cld h3 {
  color:#fff10c;
  font-size:35px;
  text-align:center;
  line-height:80px;
  background:#0048ac;
  border-radius:15px 15px 0 0
}
@media(min-width: 751px) {
  main section#emergency .bg .cld h3 {
  font-size:27px;
  line-height:60px
}
}
main section#emergency .bg .cld .box {
  height:calc(100% - 80px);
  border:1px solid #0048ac
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .box {
  height:calc(100% - 60px)
}
}
main section#emergency .bg .cld .img {
  padding:8px
}
@media(min-width: 751px) {
  main section#emergency	.bg .cld .img {
  padding:6px
}
}
main section#emergency .bg .cld ul {
  padding:10px 20px 60px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld ul {
  padding:10px 12px 30px 20px
}
}
main section#emergency .bg .cld ul li {
  margin-left:1em;
  font-size:23px;
  list-style:disc
}
@media(min-width: 751px) {
  main section#emergency .bg .cld ul li {
  font-size:17px
}
}
main section#emergency .bg .cld .deco1 {
  position:absolute;
  right:-13px;
  bottom:-11px;
  width:228px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .deco1 {
  right:-11px;
  bottom:-10px;
  width:179px
}
}
main section#emergency .bg .cld .deco2 {
  position:absolute;
  right:-12px;
  bottom:-14px;
  width:165px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .deco2 {
  right:-11px;
  bottom:-13px;
  width:131px
}
}
main section.promise {
  background:#d9f8ff;
  margin-bottom:70px
}
@media(min-width: 751px) {
  main section.promise .head {
  padding-top:50px
}
}
main section.promise .head .subtitle {
  width:auto;
  height:55px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section.promise .head .subtitle {
  height:34px
}
}
main section.promise .head h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section.promise .head h2 {
  font-size:62px
}
}
main section.promise .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section.promise .head h2 small {
  font-size:62px
}
}
main section.promise .cld {
  background-color:#fff;
  border:1px solid #9c9c9c
}
@media(max-width: 750px) {
  main section.promise .cld {
  width:calc(33% - 9px);
  padding:8px
}
}
@media(min-width: 751px) {
  main section.promise .cld {
  width:calc(33.33% - 8px);
  padding:6px
}
main section.promise .cld:nth-child(n+4) {
  margin-top:30px
}
}
main section.promise .cld .img {
  position:relative
}
main section.promise .cld .img::after {
  display:block;
  position:absolute;
  top:10px;
  left:10px;
  content:"";
  width:34px;
  height:34px;
  background:url(../img/promise-cross.png);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section.promise .cld .img::after {
  top:5px;
  left:5px;
  width:26px;
  height:26px
}
}
main section.promise .cld h3 {
  padding:5px 0 10px;
  font-size:22px;
  text-align:center
}
@media(min-width: 751px) {
  main section.promise .cld h3 {
  font-size:17px
}
}
main section.promise .cld h3::before {
  display:block;
  content:"";
  width:66.66%;
  margin:15px auto;
  border-top:1px solid #9c9c9c
}
main section.promise .arrow {
  transform:translateY(70px);
  margin:-50px auto 0
}
@media(max-width: 750px) {
  main section.promise .arrow {
  width:713px
}
main section.promise .arrow.arrow2 {
  width:100%
}
}
@media(min-width: 751px) {
  main section.promise .arrow {
  width:536px;
  margin-top:-20px
}
}
main section#maker {
  padding:100px 0
}
@media(min-width: 751px) {
  main section#maker {
  padding:50px 0 80px
}
}
main section#maker .head {
  text-align:center
}
main section#maker .head h2 {
  font-size:48px;
  line-height:1em
}
@media(min-width: 751px) {
  main section#maker .head h2 {
  font-size:24px
}
}
main section#maker .head p {
  margin:30px 0 40px;
  font-size:34px;
  font-weight:bold;
  line-height:1.2em
}
@media(min-width: 751px) {
  main section#maker .head p {
  margin:16px 0 24px;
  font-size:17px
}
}
main section#maker .img {
  padding:30px;
  border:1px solid #9c9c9c;
  border-radius:50px
}
@media(min-width: 751px) {
  main section#maker .img {
  padding:50px 10px;
  margin:0 auto;
  border-radius:50px
}
}
main section#relief .bg {
  padding:100px 0 150px;
  background:url( assets/img/relief-bg-sp.jpg);
  background-size:cover;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 50px), calc(50% + 80px) calc(100% - 50px), 50% 100%, calc(50% - 80px) calc(100% - 50px), 0 calc(100% - 50px), 0% 30%)
}
@media(min-width: 751px) {
  main section#relief .bg {
  padding:80px 0 120px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(50% + 60px) calc(100% - 40px), 50% 100%, calc(50% - 60px) calc(100% - 40px), 0 calc(100% - 40px), 0% 30%);
  background-image:url(assets/img/relief-bg.jpg)
}
}
main section#relief .box h2 {
  position:relative;
  color:#fff;
  font-size:44px;
  text-align:center;
  line-height:120px;
  background:#42a4f4
}
@media(min-width: 751px) {
  main section#relief .box h2 {
  font-size:24px;
  line-height:75px
}
}
main section#relief .box h2::before,main section#relief .box h2::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  right:100%;
  transform:translateY(-50%);
  width:20px;
  height:100px;
  background:url(../assets/img/relief-head.png);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section#relief .box h2::before,main section#relief .box h2::after {
  height:65px
}
}
main section#relief .box h2::after {
  left:100%;
  right:auto;
  transform:translateY(-50%) rotate(180deg)
}
main section#relief .box .cnt {
  background:#fff
}
@media(min-width: 751px) {
  main section#relief .box .cnt {
  border-left:2px solid #42a4f4;
  border-right:2px solid #42a4f4;
  border-bottom:2px solid #42a4f4
}
}
main section#relief .box .cnt .cld {
  position:relative;
  width:33.33%;
  padding:40px 0
}
@media(min-width: 751px) {
  main section#relief .box .cnt .cld {
  padding:25px 0
}
}
main section#relief .box .cnt .cld:nth-child(n+2)::after {
  display:block;
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  border-left:1px solid #9c9c9c;
  height:80%
}
main section#relief .box .cnt .cld .img img {
  height:100px;
  margin:0 auto
}
@media(min-width: 751px) {
  main section#relief .box .cnt .cld .img img {
  height:60px
}
}
main section#relief .box .cnt .cld h3 {
  margin-top:20px;
  color:#0048ac;
  font-size:28px;
  text-align:center;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#relief .box .cnt .cld h3 {
  margin-top:10px;
  font-size:18px
}
}
main section#relief .btm {
  text-align:center
}
main section#relief .btm h3 {
  position:relative;
  margin:30px 0 40px;
  padding-bottom:.1em;
  font-size:42px;
  border-bottom:2px solid #222
}
@media(min-width: 751px) {
  main section#relief .btm h3 {
  font-size:30px
}
}
main section#relief .btm h3 span {
  display:inline-block;
  margin-left:.1em;
  padding:0 .15em .1em;
  color:#fff;
  background:#ce0529;
  line-height:1em
}
main section#relief .btm h3::after {
  display:block;
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width:20px 25px 0 25px;
  border-color:#222 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}
@media(min-width: 751px) {
  main section#relief .btm h3::after {
  border-width:14px 19px 0 19px
}
}
main section#relief .btm p {
  text-align:center;
  font-size:28px;
  font-weight:500
}
@media(min-width: 751px) {
  main section#relief .btm p {
  font-size:18px
}
}
main section#relief .btm .comment {
  margin-top:30px;
  font-size:23px
}
@media(min-width: 751px) {
  main section#relief .btm .comment {
  font-size:14px
}
}
main section#relief+.to-contact {
  margin-top:50px
}
main section#reason .head {
  padding-top:100px
}
@media(min-width: 751px) {
  main section#reason .head {
  padding-top:80px
}
}
main section#reason .head .subtitle {
  width:auto;
  height:55px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section#reason .head .subtitle {
  height:34px
}
}
main section#reason .head h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#reason .head h2 {
  font-size:62px
}
}
main section#reason .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#reason .head h2 small {
  font-size:62px
}
}
main section#reason .item:nth-child(n+2) {
  margin-top:80px
}
@media(min-width: 751px) {
  main section#reason .item:nth-child(n+2) {
  margin-top:40px
}
}
@media(max-width: 750px) {
  main section#reason .item .txt {
  margin:30px 30px 0
}
}
@media(min-width: 751px) {
  main section#reason .item .txt {
  width:400px
}
}
main section#reason .item .txt .point {
  display:flex;
  align-items:center;
  margin-bottom:5px;
  color:#0048ac;
  font-size:28px;
  font-weight:bold;
  line-height:1.2em
}
@media(min-width: 751px) {
  main section#reason .item .txt .point {
  font-size:16px
}
}
main section#reason .item .txt .point span {
  margin-left:.2em;
  display:block;
  font-size:40px;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#reason .item .txt .point span {
  font-size:20px
}
}
main section#reason .item .txt h3 {
  margin-bottom:20px;
  color:#0048ac;
  font-size:38px
}
@media(min-width: 751px) {
  main section#reason .item .txt h3 {
  margin-bottom:10px;
  font-size:24px
}
}
@media(min-width: 751px) {
  main section#reason .item .img {
  width:400px
}
}
main section#comparison {
  padding:224px 0 100px;
  background:url(assets/img/comparison-bg.jpg) no-repeat top center;
  background-size:contain
}
@media(min-width: 751px) {
  main section#comparison {
  padding:400px 0 80px
}
}
main section#comparison .head .subtitle {
  width:auto;
  height:65px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section#comparison .head .subtitle {
  height:46px
}
}
main section#comparison .head h2 {
  margin-bottom:50px;
  font-size:44px;
  font-weight:900;
  text-align:center;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#comparison .head h2 {
  font-size:29px
}
}
main section#comparison .head h2 strong {
  font-size:54px
}
@media(max-width: 750px) {
  main section#comparison .head h2 strong {
  display:block
}
}
@media(min-width: 751px) {
  main section#comparison .head h2 strong {
  font-size:29px
}
}
main section#please .bg {
  padding:100px 0 150px;
  background:url(assets/img/please-bg-sp.jpg);
  background-size:cover;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 50px), calc(50% + 80px) calc(100% - 50px), 50% 100%, calc(50% - 80px) calc(100% - 50px), 0 calc(100% - 50px), 0% 30%)
}
@media(min-width: 751px) {
  main section#please .bg {
  padding:80px 0 120px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(50% + 60px) calc(100% - 40px), 50% 100%, calc(50% - 60px) calc(100% - 40px), 0 calc(100% - 40px), 0% 30%)
}
}
main section#please .box {
  padding:30px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 8px 8px rgba(0,0,0,.16)
}
main section#please .box .head {
  padding-bottom:40px
}
@media(max-width: 750px) {
  main section#please .box .head {
  padding-top:20px
}
}
main section#please .box .head img {
  width:107px;
  margin:0 auto 30px
}
@media(min-width: 751px) {
  main section#please .box .head img {
  margin-bottom:25px
}
}
main section#please .box .head h2 {
  font-size:54px;
  font-weight:900;
  text-align:center;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#please .box .head h2 {
  font-size:33px
}
}
main section#please .box .head h2 small {
  font-size:.9em
}
main section#please .box .txt {
  padding:30px;
  background:#f44234;
  border-radius:9px
}
@media(min-width: 751px) {
  main section#please .box .txt {
  padding:23px 15px 23px 17px
}
}
main section#please .box .txt p {
  color:#ffde00;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#please .box .txt p {
  font-size:17px;
  white-space:nowrap
}
}
main section#please .box .txt p:nth-child(n+2) {
  margin-top:1.2em
}
main section#please+.to-contact {
  margin-top:50px
}
main section#price .bg {
  margin-top:100px;
  padding:150px 0 130px;
  background:#d9f8ff;
  clip-path:polygon(calc(50% - 80px) 0, 50% 50px, calc(50% + 80px) 0, 100% 0, 100% 100%, 0 100%, 0 0)
}
@media(min-width: 751px) {
  main section#price .bg {
  margin-top:80px;
  padding:120px 0 80px;
  clip-path:polygon(calc(50% - 60px) 0, 50% 40px, calc(50% + 60px) 0, 100% 0, 100% 100%, 0 100%, 0 0)
}
}
main section#price .head .subtitle {
  width:auto;
  height:55px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section#price .head .subtitle {
  height:34px
}
}
main section#price .head h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#price .head h2 {
  font-size:62px
}
}
main section#price .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#price .head h2 small {
  font-size:62px
}
}
main section#price .clm .cld {
  position:relative;
  border-radius:22px;
  overflow:hidden
}
@media(max-width: 750px) {
  main section#price .clm .cld {
  width:calc(50% - 15px)
}
main section#price .clm .cld:nth-child(n+3) {
  margin-top:30px
}
}
@media(min-width: 751px) {
  main section#price .clm .cld {
  width:calc(25% - 15px)
}
main section#price .clm .cld:nth-child(n+5) {
  margin-top:20px
}
}
main section#price .clm .cld h3 {
  padding:15px 0 15px .05em;
  color:#fff;
  font-size:35px;
  text-align:center;
  line-height:1.4;
  letter-spacing:.05em;
  background:linear-gradient(to right bottom, #f8a118, #f83600)
}
@media(min-width: 751px) {
  main section#price .clm .cld h3 {
  padding:8px 0;
  font-size:17px
}
}
main section#price .clm .cld h3 span {
  display:block;
  font-size:45px
}
@media(min-width: 751px) {
  main section#price .clm .cld h3 span {
  font-size:22px
}
}
main section#price .clm .cld h3 span small {
  font-size:.9em
}
main section#price .clm .cld .cnt {
  position:relative;
  background:#fff;
  overflow:hidden
}
main section#price .clm .cld .cnt .img img {
  width:100%;
  height:230px;
  object-fit:cover
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .img img {
  height:130px
}
}
main section#price .clm .cld .cnt .band {
  transform:translateY(-20px) rotate(-2deg);
  width:calc(100% + 30px);
  margin-left:-15px;
  font-size:29px;
  font-weight:bold;
  text-align:center;
  line-height:53px;
  background:#fef54e
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .band {
  transform:translateY(-15px) rotate(-2deg);
  font-size:18px;
  line-height:35px;
  text-indent:5px
}
}
main section#price .clm .cld .cnt .band small {
  font-size:.9em
}
main section#price .clm .cld .cnt .before {
  display:inline-block;
  position:relative;
  margin:0 30px;
  font-size:26px;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .before {
  margin:0 15px;
  font-size:14px
}
}
main section#price .clm .cld .cnt .before::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%) rotate(-15deg);
  width:120%;
  border-bottom:3px solid #f83600
}
main section#price .clm .cld .cnt .after {
  display:flex;
  justify-content:center;
  align-items:flex-end;
  margin:0 30px 30px
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after {
  margin:0 10px 20px
}
}
main section#price .clm .cld .cnt .after .price {
  color:#f83600;
  font-size:76px;
  font-weight:bold;
  font-family:"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro";
  line-height:1em;
  background:linear-gradient(to right bottom, #f8a118, #f83600);
  -webkit-background-clip:text;
  -webkit-text-fill-color:rgba(0,0,0,0)
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after .price {
  font-size:42px
}
}
main section#price .clm .cld .cnt .after small {
  display:inline-block;
  position:relative;
  color:#f83600;
  margin-left:5px;
  font-size:49px;
  font-weight:bold;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after small {
  font-size:27px
}
}
main section#price .clm .cld .cnt .after small::before {
  display:block;
  content:"(税込)";
  color:#f83600;
  font-size:16px;
  font-weight:bold;
  line-height:1em;
  white-space:nowrap
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after small::before {
  font-size:10px
}
}
main section#satisfaction {
  background:#d9f8ff;
  padding-bottom:100px
}
@media(min-width: 751px) {
  main section#satisfaction {
  padding-bottom:80px
}
}
main section#satisfaction .clm {
  margin-top:30px
}
@media(min-width: 751px) {
  main section#satisfaction .clm {
  margin-top:100px
}
}
@media(min-width: 751px) {
  main section#satisfaction .img {
  width:400px
}
}
@media(max-width: 750px) {
  main section#satisfaction .txt {
  width:calc(100% + 5px);
  margin-top:30px
}
}
@media(min-width: 751px) {
  main section#satisfaction .txt {
  width:400px
}
}
@media(max-width: 750px) {
  main section#satisfaction .txt p {
  margin-top:1.5em
}
}
@media(min-width: 751px) {
  main section#satisfaction .txt p:nth-child(n+2) {
  margin-top:1.5em
}
}
main section#voice .head {
  text-align:center
}
main section#voice .head .title {
  display:flex;
  justify-content:center;
  margin:-100px auto 50px;
  align-items:center;
  width:324px;
  height:122px;
  background:#084fb0
}
@media(min-width: 751px) {
  main section#voice .head .title {
  width:193px;
  height:72px;
  margin:-33px auto 20px
}
}
main section#voice .head .title img {
  width:49px;
  margin-right:7px
}
@media(min-width: 751px) {
  main section#voice .head .title img {
  width:29px;
  margin-right:4px
}
}
main section#voice .head .title h2 {
  color:#fef54e;
  font-size:44px
}
@media(min-width: 751px) {
  main section#voice .head .title h2 {
  font-size:26px
}
}
main section#voice .head .btm {
  margin:25px 0 60px
}
main section#voice .head .btm p {
  font-size:30px;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#voice .head .btm p {
  font-size:17px
}
}
main section#voice .head .btm .per {
  color:#d80d20;
  font-size:78px;
  font-weight:900;
  line-height:1em
}
@media(min-width: 751px) {
  main section#voice .head .btm .per {
  font-size:49px
}
}
main section#voice .head .btm .per strong {
  font-size:119px
}
@media(min-width: 751px) {
  main section#voice .head .btm .per strong {
  font-size:74px
}
}
main section#voice .item {
  margin-top:50px
}
@media(min-width: 751px) {
  main section#voice .item {
  margin-top:60px
}
}
main section#voice .item h3 {
  padding:15px 20px;
  background:#fef54e
}
@media(min-width: 751px) {
  main section#voice .item h3 {
  padding:10px 20px
}
}
main section#voice .item h3 img {
  height:35px
}
@media(min-width: 751px) {
  main section#voice .item h3 img {
  height:25px
}
}
main section#voice .item .info {
  margin-bottom:30px;
  padding:40px 0;
  border-bottom:1px solid #9c9c9c
}
@media(min-width: 751px) {
  main section#voice .item .info {
  margin-bottom:20px;
  padding:20px 0
}
}
main section#voice .item .info .img {
  width:150px;
  margin-right:30px
}
@media(min-width: 751px) {
  main section#voice .item .info .img {
  width:70px;
  margin-right:12px
}
}
main section#voice .item .info .name {
  font-weight:bold;
  font-size:42px
}
@media(min-width: 751px) {
  main section#voice .item .info .name {
  font-size:20px
}
}
main section#voice .item .info .star img {
  height:50px;
  margin-top:10px
}
@media(min-width: 751px) {
  main section#voice .item .info .star img {
  height:23px;
  margin-top:5px
}
}
main section#voice .item .txt p {
  font-size:27px
}
@media(min-width: 751px) {
  main section#voice .item .txt p {
  font-size:17px
}
}
main section#voice .item .txt p .red-txt {
  font-weight:bold
}
main section#voice .item .txt p:nth-child(n+2) {
  margin-top:1.5em
}
main section#voice .arrow {
  width:584px;
  margin:30px auto
}
@media(min-width: 751px) {
  main section#voice .arrow {
  width:300px;
  margin:50px auto
}
}
main section#flow {
  padding-bottom:40px
}
@media(min-width: 751px) {
  main section#flow {
  padding-bottom:25px
}
}
main section#flow h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#flow h2 {
  font-size:62px
}
}
main section#flow h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#flow h2 small {
  font-size:62px
}
}
@media(max-width: 750px) {
  main section#flow .item {
  padding:30px 20px 30px 30px
}
}
@media(min-width: 751px) {
  main section#flow .item {
  height:140px;
  padding-left:128px
}
}
main section#flow .item:nth-child(1) {
  background:#beebfb
}
main section#flow .item:nth-child(2) {
  background:#89d9f7
}
main section#flow .item:nth-child(3) {
  background:#6ed4f7
}
main section#flow .item:nth-child(4) {
  position:relative;
  background:#50c6f1
}
main section#flow .item:nth-child(4)::after {
  display:block;
  content:"";
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width:40px 50px 0 50px;
  border-color:#50c6f1 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}
@media(min-width: 751px) {
  main section#flow .item:nth-child(4)::after {
  border-width:25px 35px 0 35px
}
}
main section#flow .item .img {
  width:150px;
  margin-right:20px
}
@media(min-width: 751px) {
  main section#flow .item .img {
  width:74px;
  margin-right:30px
}
}
main section#flow .item .txt {
  width:calc(100% - 170px)
}
@media(min-width: 751px) {
  main section#flow .item .txt {
  width:calc(100% - 104px)
}
}
main section#flow .item .txt h3 {
  margin-bottom:5px;
  color:#0048ac;
  font-weight:900
}
@media(min-width: 751px) {
  main section#flow .item .txt h3 {
  font-size:24px
}
}
main section#flow .item .txt p {
  font-size:26px
}
@media(min-width: 751px) {
  main section#flow .item .txt p {
  font-size:17px
}
}
main section#qa {
  padding:100px 0
}
@media(min-width: 751px) {
  main section#qa {
  padding:80px 0
}
}
main section#qa .head img {
  width:100px;
  margin:0 auto
}
@media(min-width: 751px) {
  main section#qa .head img {
  width:50px
}
}
main section#qa .head h2 {
  margin:10px 0 60px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#qa .head h2 {
  margin-bottom:40px;
  font-size:62px
}
}
main section#qa .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#qa .head h2 small {
  font-size:62px
}
}
main section#qa dl {
  border:1px solid #dcdcdc
}
main section#qa dl:nth-child(n+2) {
  margin-top:30px
}
@media(min-width: 751px) {
  main section#qa dl:nth-child(n+2) {
  margin-top:15px
}
}
main section#qa dl dt {
  position:relative;
  padding:18px 30px 18px 90px;
  background:#8fe5fa;
  font-size:26px;
  cursor:pointer
}
@media(min-width: 751px) {
  main section#qa dl dt {
  padding:8px 40px 8px 60px;
  font-size:18px
}
}
main section#qa dl dt::after {
  display:block;
  content:"Q";
  position:absolute;
  top:42%;
  left:35px;
  width:24px;
  font-size:30px;
  font-weight:bold;
  text-align:center;
  transform:translateY(-50%);
  color:#0048ac
}
@media(min-width: 751px) {
  main section#qa dl dt::after {
  left:20px;
  width:17px;
  font-size:22px
}
}
main section#qa dl dt .plus {
  position:absolute;
  top:50%;
  right:25px;
  transform:translateY(-50%);
  width:20px;
  height:20px
}
@media(min-width: 751px) {
  main section#qa dl dt .plus {
  right:20px;
  width:15px;
  height:15px
}
}
main section#qa dl dt .plus::before,main section#qa dl dt .plus::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:100%;
  border-bottom:3px solid #0048ac;
  transition:.2s
}
main section#qa dl dt .plus::after {
  transform:translate(-50%, -50%) rotate(90deg)
}
main section#qa dl dt.on .plus::after {
  transform:translate(-50%, -50%)
}
main section#qa dl dd {
  position:relative;
  height:0;
  overflow:hidden
}
main section#qa dl dd::after {
  display:block;
  content:"A";
  position:absolute;
  top:55px;
  left:35px;
  transform:translateY(-50%);
  width:24px;
  color:#0048ac;
  font-size:30px;
  font-weight:bold;
  text-align:center
}
@media(min-width: 751px) {
  main section#qa dl dd::after {
  top:34px;
  left:20px;
  width:17px;
  font-size:22px
}
}
main section#qa dl dd .inner {
  padding:30px 30px 30px 90px
}
@media(min-width: 751px) {
  main section#qa dl dd .inner {
  padding:20px 20px 20px 60px
}
}
main section#area {
  padding:100px 0 170px;
  margin-bottom:50px;
  background:url(assets/img/area-bg.jpg) no-repeat center;
  background-size:cover;
  clip-path:polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%)
}
@media(min-width: 751px) {
  main section#area {
  padding:80px 0
}
}
main section#area .box h2 {
  position:relative;
  color:#fff;
  font-size:44px;
  text-align:center;
  line-height:120px;
  background:#42a4f4
}
@media(min-width: 751px) {
  main section#area .box h2 {
  font-size:24px;
  line-height:75px
}
}
main section#area .box h2::before,main section#area .box h2::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  right:100%;
  transform:translateY(-50%);
  width:20px;
  height:100px;
  background:url(../img/relief-head.png);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section#area .box h2::before,main section#area .box h2::after {
  height:65px
}
}
main section#area .box h2::after {
  left:100%;
  right:auto;
  transform:translateY(-50%) rotate(180deg)
}
main section#area .box .cnt {
  position:relative;
  padding:30px;
  background:#fff;
  border-left:1px solid #dcdcdc;
  border-right:1px solid #dcdcdc;
  border-bottom:1px solid #dcdcdc
}
main section#area .box .cnt .map {
  position:absolute;
  top:0;
  left:0;
  width:329px
}
@media(min-width: 751px) {
  main section#area .box .cnt .map {
  width:200px
}
}
@media(min-width: 751px) {
  main section#area .box .cnt {
  padding:20px 20px 20px 246px
}
}
@media(max-width: 750px) {
  main section#area .box .cnt .txt img {
  width:285px;
  margin:50px 20px 100px auto
}
}
@media(min-width: 751px) {
  main section#area .box .cnt .txt img {
  width:188px;
  margin-bottom:30px
}
}
main section#area .box .cnt .txt p {
  position:relative;
  font-size:26px;
  z-index:1
}
@media(min-width: 751px) {
  main section#area .box .cnt .txt p {
  font-size:17px
}
}
main section#area .box .cnt .txt p:nth-child(n+2) {
  margin-top:1em
}
main section#contact {
  padding:100px 0
}
@media(min-width: 751px) {
  main section#contact {
  padding:80px 0
}
}
main section#contact .head {
  position:relative;
  padding:40px 0;
  margin-bottom:80px;
  background:#f9f9f9;
  text-align:center
}
@media(min-width: 751px) {
  main section#contact .head {
  padding:20px 0 15px;
  margin-bottom:80px
}
}
main section#contact .head .jp {
  padding-left:.05em;
  font-size:40px;
  letter-spacing:.05em;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#contact .head .jp {
  font-size:20px
}
}
main section#contact .head .en {
  margin-top:10px;
  padding-left:.05em;
  color:#aeaeae;
  font-size:28px;
  letter-spacing:.05em
}
@media(min-width: 751px) {
  main section#contact .head .en {
  font-size:14px
}
}
main section#contact form .top .inner {
  max-width:640px;
  margin:0 auto
}
main section#contact form .top .inner dl:nth-child(n+2) {
  margin-top:30px
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl:nth-child(n+2) {
  margin-top:20px
}
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl {
  display:flex;
  justify-content:space-between
}
}
main section#contact form .top .inner dl dt {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-flow:row-reverse;
  font-size:28px;
  font-weight:bold;
  letter-spacing:.05em
}
@media(max-width: 750px) {
  main section#contact form .top .inner dl dt {
  margin-bottom:10px
}
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dt {
  width:220px;
  font-size:16px
}
}
main section#contact form .top .inner dl dt span {
  margin-right:20px;
  padding:0 8px;
  color:#fff;
  font-size:20px;
  font-weight:bold;
  background:#c7c7c7
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dt span {
  margin-right:10px;
  padding:0 4px;
  font-size:12px
}
}
main section#contact form .top .inner dl dt span.required {
  background:#eb737a
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dd {
  width:calc(100% - 220px);
  font-size:16px
}
}
main section#contact form .top .inner dl dd input[type=text],main section#contact form .top .inner dl dd input[type=email],main section#contact form .top .inner dl dd input[type=tel],main section#contact form .top .inner dl dd textarea {
  display:block;
  width:100%;
  padding:15px;
  font-size:28px;
  line-height:1.6em;
  background:#f9f9f9;
  border:none
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dd input[type=text],main section#contact form .top .inner dl dd input[type=email],main section#contact form .top .inner dl dd input[type=tel],main section#contact form .top .inner dl dd textarea {
  padding:5px 10px;
  font-size:17px
}
}
main section#contact form .top .inner dl dd input[type=text]::placeholder,main section#contact form .top .inner dl dd input[type=email]::placeholder,main section#contact form .top .inner dl dd input[type=tel]::placeholder,main section#contact form .top .inner dl dd textarea::placeholder {
  opacity:.6
}
main section#contact form .top .inner dl dd textarea {
  height:300px
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dd textarea {
  height:150px
}
}
main section#contact form .btm .privacy {
  max-width:660px;
  height:160px;
  margin:20px auto 0;
  padding:16px 20px;
  border:1px solid #2b2b2b;
  border-radius:6px;
  overflow-y:scroll
}
@media(min-width: 751px) {
  main section#contact form .btm .privacy {
  margin-top:50px
}
}
main section#contact form .btm .privacy p {
  font-size:13px
}
@media(min-width: 751px) {
  main section#contact form .btm .privacy p {
  font-size:14px
}
}
main section#contact form .btm .check label {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:40px 0;
  cursor:pointer;
  font-size:26px
}
@media(min-width: 751px) {
  main section#contact form .btm .check label {
  margin:25px 0;
  font-size:14px
}
}
main section#contact form .btm .check label input {
  display:block
}
@media(max-width: 750px) {
  main section#contact form .btm .check label input {
  width:30px;
  height:30px;
  margin-right:10px
}
}
@media(min-width: 751px) {
  main section#contact form .btm .check label input {
  width:15px;
  height:15px;
  margin-right:5px
}
}
main section#contact form .btm button {
  max-width:100%;
  width:500px;
  cursor:pointer;
  background:rgba(0,0,0,0);
  border:none
}
@media(min-width: 751px) {
  main section#contact form .btm button {
  width:250px
}
}
main section#emergency {
  margin-top:80px
}
main section#emergency h2 {
  position:relative;
  text-align:center;
  font-size:50px;
  line-height:1.4em;
  z-index:1
}
@media(min-width: 751px) {
  main section#emergency h2 {
  font-size:32px
}
}
main section#emergency h2 strong {
  font-size:60px
}
@media(min-width: 751px) {
  main section#emergency h2 strong {
  font-size:38px
}
}
main section#emergency h2 .dot {
  display:inline-block;
  position:relative;
  color:#ce0529
}
main section#emergency h2 .dot::after {
  display:block;
  content:"・";
  position:absolute;
  left:45%;
  bottom:100%;
  transform:translateX(-50%);
  font-size:.8em;
  line-height:10px
}
main section#emergency h2+.arrow {
  width:713px;
  margin:-50px auto 0
}
@media(min-width: 751px) {
  main section#emergency h2+.arrow {
  width:550px;
  margin-top:-20px
}
}
main section#emergency .bg {
  padding:100px 0 130px;
  margin-top:-40px;
  background:#d9f8ff
}
@media(min-width: 751px) {
  main section#emergency .bg {
  padding-bottom:100px
}
}
main section#emergency .bg .subtitle {
  width:650px;
  margin:0 auto 40px
}
@media(min-width: 751px) {
  main section#emergency .bg .subtitle {
  width:400px;
  margin-bottom:30px
}
}
main section#emergency .bg .cld {
  position:relative;
  background:#fff;
  border-radius:15px 15px 0 0
}
@media(max-width: 750px) {
  main section#emergency .bg .cld {
  width:calc(50% - 11px)
}
main section#emergency .bg .cld:nth-child(n+3) {
  margin-top:40px
}
}
@media(min-width: 751px) {
  main section#emergency .bg .cld {
  width:calc(33.33% - 11px)
}
main section#emergency .bg .cld:nth-child(n+4) {
  margin-top:30px
}
}
main section#emergency .bg .cld h3 {
  color:#fff10c;
  font-size:35px;
  text-align:center;
  line-height:80px;
  background:#0048ac;
  border-radius:15px 15px 0 0
}
@media(min-width: 751px) {
  main section#emergency .bg .cld h3 {
  font-size:27px;
  line-height:60px
}
}
main section#emergency .bg .cld .box {
  height:calc(100% - 80px);
  border:1px solid #0048ac
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .box {
  height:calc(100% - 60px)
}
}
main section#emergency .bg .cld .img {
  padding:8px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .img {
  padding:6px
}
}
main section#emergency .bg .cld ul {
  padding:10px 20px 60px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld ul {
  padding:10px 12px 30px 20px
}
}
main section#emergency .bg .cld ul li {
  margin-left:1em;
  font-size:23px;
  list-style:disc
}
@media(min-width: 751px) {
  main section#emergency .bg .cld ul li {
  font-size:17px
}
}
main section#emergency .bg .cld .deco1 {
  position:absolute;
  right:-13px;
  bottom:-11px;
  width:228px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .deco1 {
  right:-11px;
  bottom:-10px;
  width:179px
}
}
main section#emergency .bg .cld .deco2 {
  position:absolute;
  right:-12px;
  bottom:-14px;
  width:165px
}
@media(min-width: 751px) {
  main section#emergency .bg .cld .deco2 {
  right:-11px;
  bottom:-13px;
  width:131px
}
}
main section.promise {
  background:#d9f8ff;
  margin-bottom:70px
}
@media(min-width: 751px) {
  main section.promise .head {
  padding-top:50px
}
}
main section.promise .head .subtitle {
  width:auto;
  height:55px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section.promise .head .subtitle {
  height:34px
}
}
main section.promise .head h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section.promise .head h2 {
  font-size:62px
}
}
main section.promise .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section.promise .head h2 small {
  font-size:62px
}
}
main section.promise .cld {
  background-color:#fff;
  border:1px solid #9c9c9c
}
@media(max-width: 750px) {
  main section.promise .cld {
  width:calc(33% - 9px);
  padding:8px
}
}
@media(min-width: 751px) {
  main section.promise .cld {
  width:calc(33.33% - 8px);
  padding:6px
}
main section.promise .cld:nth-child(n+4) {
  margin-top:30px
}
}
main section.promise .cld .img {
  position:relative
}
main section.promise .cld .img::after {
  display:block;
  position:absolute;
  top:10px;
  left:10px;
  content:"";
  width:34px;
  height:34px;
  background:url(../img/promise-cross.png);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section.promise .cld .img::after {
  top:5px;
  left:5px;
  width:26px;
  height:26px
}
}
main section.promise .cld h3 {
  padding:5px 0 10px;
  font-size:22px;
  text-align:center
}
@media(min-width: 751px) {
  main section.promise .cld h3 {
  font-size:17px
}
}
main section.promise .cld h3::before {
  display:block;
  content:"";
  width:66.66%;
  margin:15px auto;
  border-top:1px solid #9c9c9c
}
main section.promise .arrow {
  transform:translateY(70px);
  margin:-50px auto 0
}
@media(max-width: 750px) {
  main section.promise .arrow {
  width:713px
}
main section.promise .arrow.arrow2 {
  width:100%
}
}
@media(min-width: 751px) {
  main section.promise .arrow {
  width:536px;
  margin-top:-20px
}
}
main section#maker {
  padding:100px 0
}
@media(min-width: 751px) {
  main section#maker {
  padding:50px 0 80px
}
}
main section#maker .head {
  text-align:center
}
main section#maker .head h2 {
  font-size:48px;
  line-height:1em
}
@media(min-width: 751px) {
  main section#maker .head h2 {
  font-size:24px
}
}
main section#maker .head p {
  margin:30px 0 40px;
  font-size:34px;
  font-weight:bold;
  line-height:1.2em
}
@media(min-width: 751px) {
  main section#maker .head p {
  margin:16px 0 24px;
  font-size:17px
}
}
main section#maker .img {
  padding:30px;
  border:1px solid #9c9c9c;
  border-radius:50px
}
@media(min-width: 751px) {
  main section#maker .img {
  padding:50px 10px;
  margin:0 auto;
  border-radius:50px
}
}
main section#relief .bg {
  padding:100px 0 150px;
  background:url(assets/img/relief-bg-sp.jpg);
  background-size:cover;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 50px), calc(50% + 80px) calc(100% - 50px), 50% 100%, calc(50% - 80px) calc(100% - 50px), 0 calc(100% - 50px), 0% 30%)
}
@media(min-width: 751px) {
  main section#relief .bg {
  padding:80px 0 120px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(50% + 60px) calc(100% - 40px), 50% 100%, calc(50% - 60px) calc(100% - 40px), 0 calc(100% - 40px), 0% 30%);
  background-image:url(assets/img/relief-bg.jpg)
}
}
main section#relief .box h2 {
  position:relative;
  color:#fff;
  font-size:44px;
  text-align:center;
  line-height:120px;
  background:#42a4f4
}
@media(min-width: 751px) {
  main section#relief .box h2 {
  font-size:24px;
  line-height:75px
}
}
main section#relief .box h2::before,main section#relief .box h2::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  right:100%;
  transform:translateY(-50%);
  width:20px;
  height:100px;
  background:url(../img/relief-head.png);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section#relief .box h2::before,main section#relief .box h2::after {
  height:65px
}
}
main section#relief .box h2::after {
  left:100%;
  right:auto;
  transform:translateY(-50%) rotate(180deg)
}
main section#relief .box .cnt {
  background:#fff
}
@media(min-width: 751px) {
  main section#relief .box .cnt {
  border-left:2px solid #42a4f4;
  border-right:2px solid #42a4f4;
  border-bottom:2px solid #42a4f4
}
}
main section#relief .box .cnt .cld {
  position:relative;
  width:33.33%;
  padding:40px 0
}
@media(min-width: 751px) {
  main section#relief .box .cnt .cld {
  padding:25px 0
}
}
main section#relief .box .cnt .cld:nth-child(n+2)::after {
  display:block;
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  border-left:1px solid #9c9c9c;
  height:80%
}
main section#relief .box .cnt .cld .img img {
  height:100px;
  margin:0 auto
}
@media(min-width: 751px) {
  main section#relief .box .cnt .cld .img img {
  height:60px
}
}
main section#relief .box .cnt .cld h3 {
  margin-top:20px;
  color:#0048ac;
  font-size:28px;
  text-align:center;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#relief .box .cnt .cld h3 {
  margin-top:10px;
  font-size:18px
}
}
main section#relief .btm {
  text-align:center
}
main section#relief .btm h3 {
  position:relative;
  margin:30px 0 40px;
  padding-bottom:.1em;
  font-size:42px;
  border-bottom:2px solid #222
}
@media(min-width: 751px) {
  main section#relief .btm h3 {
  font-size:30px
}
}
main section#relief .btm h3 span {
  display:inline-block;
  margin-left:.1em;
  padding:0 .15em .1em;
  color:#fff;
  background:#ce0529;
  line-height:1em
}
main section#relief .btm h3::after {
  display:block;
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width:20px 25px 0 25px;
  border-color:#222 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}
@media(min-width: 751px) {
  main section#relief .btm h3::after {
  border-width:14px 19px 0 19px
}
}
main section#relief .btm p {
  text-align:center;
  font-size:28px;
  font-weight:500
}
@media(min-width: 751px) {
  main section#relief .btm p {
  font-size:18px
}
}
main section#relief .btm .comment {
  margin-top:30px;
  font-size:23px
}
@media(min-width: 751px) {
  main section#relief .btm .comment {
  font-size:14px
}
}
main section#relief+.to-contact {
  margin-top:50px
}
main section#reason .head {
  padding-top:100px
}
@media(min-width: 751px) {
  main section#reason .head {
  padding-top:80px
}
}
main section#reason .head .subtitle {
  width:auto;
  height:55px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section#reason .head .subtitle {
  height:34px
}
}
main section#reason .head h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#reason .head h2 {
  font-size:62px
}
}
main section#reason .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#reason .head h2 small {
  font-size:62px
}
}
main section#reason .item:nth-child(n+2) {
  margin-top:80px
}
@media(min-width: 751px) {
  main section#reason .item:nth-child(n+2) {
  margin-top:40px
}
}
@media(max-width: 750px) {
  main section#reason .item .txt {
  margin:30px 30px 0
}
}
@media(min-width: 751px) {
  main section#reason .item .txt {
  width:400px
}
}
main section#reason .item .txt .point {
  display:flex;
  align-items:center;
  margin-bottom:5px;
  color:#0048ac;
  font-size:28px;
  font-weight:bold;
  line-height:1.2em
}
@media(min-width: 751px) {
  main section#reason .item .txt .point {
  font-size:16px
}
}
main section#reason .item .txt .point span {
  margin-left:.2em;
  display:block;
  font-size:40px;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#reason .item .txt .point span {
  font-size:20px
}
}
main section#reason .item .txt h3 {
  margin-bottom:20px;
  color:#0048ac;
  font-size:38px
}
@media(min-width: 751px) {
  main section#reason .item .txt h3 {
  margin-bottom:10px;
  font-size:24px
}
}
@media(min-width: 751px) {
  main section#reason .item .img {
  width:400px
}
}
main section#comparison {
  padding:224px 0 100px;
  background:url(assets/img/comparison-bg.jpg) no-repeat top center;
  background-size:contain
}
@media(min-width: 751px) {
  main section#comparison {
  padding:400px 0 80px
}
}
main section#comparison .head .subtitle {
  width:auto;
  height:65px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section#comparison .head .subtitle {
  height:46px
}
}
main section#comparison .head h2 {
  margin-bottom:50px;
  font-size:44px;
  font-weight:900;
  text-align:center;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#comparison .head h2 {
  font-size:29px
}
}
main section#comparison .head h2 strong {
  font-size:54px
}
@media(max-width: 750px) {
  main section#comparison .head h2 strong {
  display:block
}
}
@media(min-width: 751px) {
  main section#comparison .head h2 strong {
  font-size:29px
}
}
main section#please .bg {
  padding:100px 0 150px;
  background:url(assets/img/please-bg-sp.jpg);
  background-size:cover;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 50px), calc(50% + 80px) calc(100% - 50px), 50% 100%, calc(50% - 80px) calc(100% - 50px), 0 calc(100% - 50px), 0% 30%)
}
@media(min-width: 751px) {
  main section#please .bg {
  padding:80px 0 120px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(50% + 60px) calc(100% - 40px), 50% 100%, calc(50% - 60px) calc(100% - 40px), 0 calc(100% - 40px), 0% 30%)
}
}
main section#please .box {
  padding:30px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 8px 8px rgba(0,0,0,.16)
}
main section#please .box .head {
  padding-bottom:40px
}
@media(max-width: 750px) {
  main section#please .box .head {
  padding-top:20px
}
}
main section#please .box .head img {
  width:107px;
  margin:0 auto 30px
}
@media(min-width: 751px) {
  main section#please .box .head img {
  margin-bottom:25px
}
}
main section#please .box .head h2 {
  font-size:54px;
  font-weight:900;
  text-align:center;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#please .box .head h2 {
  font-size:33px
}
}
main section#please .box .head h2 small {
  font-size:.9em
}
main section#please .box .txt {
  padding:30px;
  background:#f44234;
  border-radius:9px
}
@media(min-width: 751px) {
  main section#please .box .txt {
  padding:23px 15px 23px 17px
}
}
main section#please .box .txt p {
  color:#ffde00;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#please .box .txt p {
  font-size:17px;
  white-space:nowrap
}
}
main section#please .box .txt p:nth-child(n+2) {
  margin-top:1.2em
}
main section#please+.to-contact {
  margin-top:50px
}
main section#price .bg {
  margin-top:100px;
  padding:150px 0 130px;
  background:#d9f8ff;
  clip-path:polygon(calc(50% - 80px) 0, 50% 50px, calc(50% + 80px) 0, 100% 0, 100% 100%, 0 100%, 0 0)
}
@media(min-width: 751px) {
  main section#price .bg {
  margin-top:80px;
  padding:120px 0 80px;
  clip-path:polygon(calc(50% - 60px) 0, 50% 40px, calc(50% + 60px) 0, 100% 0, 100% 100%, 0 100%, 0 0)
}
}
main section#price .head .subtitle {
  width:auto;
  height:55px;
  margin:0 auto 5px
}
@media(min-width: 751px) {
  main section#price .head .subtitle {
  height:34px
}
}
main section#price .head h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#price .head h2 {
  font-size:62px
}
}
main section#price .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#price .head h2 small {
  font-size:62px
}
}
main section#price .clm .cld {
  position:relative;
  border-radius:22px;
  overflow:hidden
}
@media(max-width: 750px) {
  main section#price .clm .cld {
  width:calc(50% - 15px)
}
main section#price .clm .cld:nth-child(n+3) {
  margin-top:30px
}
}
@media(min-width: 751px) {
  main section#price .clm .cld {
  width:calc(25% - 15px)
}
main section#price .clm .cld:nth-child(n+5) {
  margin-top:20px
}
}
main section#price .clm .cld h3 {
  padding:15px 0 15px .05em;
  color:#fff;
  font-size:35px;
  text-align:center;
  line-height:1.4;
  letter-spacing:.05em;
  background:linear-gradient(to right bottom, #f8a118, #f83600)
}
@media(min-width: 751px) {
  main section#price .clm .cld h3 {
  padding:8px 0;
  font-size:17px
}
}
main section#price .clm .cld h3 span {
  display:block;
  font-size:45px
}
@media(min-width: 751px) {
  main section#price .clm .cld h3 span {
  font-size:22px
}
}
main section#price .clm .cld h3 span small {
  font-size:.9em
}
main section#price .clm .cld .cnt {
  position:relative;
  background:#fff;
  overflow:hidden
}
main section#price .clm .cld .cnt .img img {
  width:100%;
  height:230px;
  object-fit:cover
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .img img {
  height:130px
}
}
main section#price .clm .cld .cnt .band {
  transform:translateY(-20px) rotate(-2deg);
  width:calc(100% + 30px);
  margin-left:-15px;
  font-size:29px;
  font-weight:bold;
  text-align:center;
  line-height:53px;
  background:#fef54e
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .band {
  transform:translateY(-15px) rotate(-2deg);
  font-size:18px;
  line-height:35px;
  text-indent:5px
}
}
main section#price .clm .cld .cnt .band small {
  font-size:.9em
}
main section#price .clm .cld .cnt .before {
  display:inline-block;
  position:relative;
  margin:0 30px;
  font-size:26px;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .before {
  margin:0 15px;
  font-size:14px
}
}
main section#price .clm .cld .cnt .before::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%) rotate(-15deg);
  width:120%;
  border-bottom:3px solid #f83600
}
main section#price .clm .cld .cnt .after {
  display:flex;
  justify-content:center;
  align-items:flex-end;
  margin:0 30px 30px
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after {
  margin:0 10px 20px
}
}
main section#price .clm .cld .cnt .after .price {
  color:#f83600;
  font-size:76px;
  font-weight:bold;
  font-family:"?q???M?m?p?S ProN","Hiragino Kaku Gothic ProN","?q???M?m?p?S Pro","Hiragino Kaku Gothic Pro";
  line-height:1em;
  background:linear-gradient(to right bottom, #f8a118, #f83600);
  -webkit-background-clip:text;
  -webkit-text-fill-color:rgba(0,0,0,0)
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after .price {
  font-size:42px
}
}
main section#price .clm .cld .cnt .after small {
  display:inline-block;
  position:relative;
  color:#f83600;
  margin-left:5px;
  font-size:49px;
  font-weight:bold;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after small {
  font-size:27px
}
}
main section#price .clm .cld .cnt .after small::before {
  display:block;
  content:"(???)";
  color:#f83600;
  font-size:16px;
  font-weight:bold;
  line-height:1em;
  white-space:nowrap
}
@media(min-width: 751px) {
  main section#price .clm .cld .cnt .after small::before {
  font-size:10px
}
}
main section#satisfaction {
  background:#d9f8ff;
  padding-bottom:100px
}
@media(min-width: 751px) {
  main section#satisfaction {
  padding-bottom:80px
}
}
main section#satisfaction .clm {
  margin-top:30px
}
@media(min-width: 751px) {
  main section#satisfaction .clm {
  margin-top:100px
}
}
@media(min-width: 751px) {
  main section#satisfaction .img {
  width:400px
}
}
@media(max-width: 750px) {
  main section#satisfaction .txt {
  width:calc(100% + 5px);
  margin-top:30px
}
}
@media(min-width: 751px) {
  main section#satisfaction .txt {
  width:400px
}
}
@media(max-width: 750px) {
  main section#satisfaction .txt p {
  margin-top:1.5em
}
}
@media(min-width: 751px) {
  main section#satisfaction .txt p:nth-child(n+2) {
  margin-top:1.5em
}
}
main section#voice .head {
  text-align:center
}
main section#voice .head .title {
  display:flex;
  justify-content:center;
  margin:-100px auto 50px;
  align-items:center;
  width:324px;
  height:122px;
  background:#084fb0
}
@media(min-width: 751px) {
  main section#voice .head .title {
  width:193px;
  height:72px;
  margin:-33px auto 20px
}
}
main section#voice .head .title img {
  width:49px;
  margin-right:7px
}
@media(min-width: 751px) {
  main section#voice .head .title img {
  width:29px;
  margin-right:4px
}
}
main section#voice .head .title h2 {
  color:#fef54e;
  font-size:44px
}
@media(min-width: 751px) {
  main section#voice .head .title h2 {
  font-size:26px
}
}
main section#voice .head .btm {
  margin:25px 0 60px
}
main section#voice .head .btm p {
  font-size:30px;
  font-weight:bold
}
@media(min-width: 751px) {
  main section#voice .head .btm p {
  font-size:17px
}
}
main section#voice .head .btm .per {
  color:#d80d20;
  font-size:78px;
  font-weight:900;
  line-height:1em
}
@media(min-width: 751px) {
  main section#voice .head .btm .per {
  font-size:49px
}
}
main section#voice .head .btm .per strong {
  font-size:119px
}
@media(min-width: 751px) {
  main section#voice .head .btm .per strong {
  font-size:74px
}
}
main section#voice .item {
  margin-top:50px
}
@media(min-width: 751px) {
  main section#voice .item {
  margin-top:60px
}
}
main section#voice .item h3 {
  padding:15px 20px;
  background:#fef54e
}
@media(min-width: 751px) {
  main section#voice .item h3 {
  padding:10px 20px
}
}
main section#voice .item h3 img {
  height:35px
}
@media(min-width: 751px) {
  main section#voice .item h3 img {
  height:25px
}
}
main section#voice .item .info {
  margin-bottom:30px;
  padding:40px 0;
  border-bottom:1px solid #9c9c9c
}
@media(min-width: 751px) {
  main section#voice .item .info {
  margin-bottom:20px;
  padding:20px 0
}
}
main section#voice .item .info .img {
  width:150px;
  margin-right:30px
}
@media(min-width: 751px) {
  main section#voice .item .info .img {
  width:70px;
  margin-right:12px
}
}
main section#voice .item .info .name {
  font-weight:bold;
  font-size:42px
}
@media(min-width: 751px) {
  main section#voice .item .info .name {
  font-size:20px
}
}
main section#voice .item .info .star img {
  height:50px;
  margin-top:10px
}
@media(min-width: 751px) {
  main section#voice .item .info .star img {
  height:23px;
  margin-top:5px
}
}
main section#voice .item .txt p {
  font-size:27px
}
@media(min-width: 751px) {
  main section#voice .item .txt p {
  font-size:17px
}
}
main section#voice .item .txt p .red-txt {
  font-weight:bold
}
main section#voice .item .txt p:nth-child(n+2) {
  margin-top:1.5em
}
main section#voice .arrow {
  width:584px;
  margin:30px auto
}
@media(min-width: 751px) {
  main section#voice .arrow {
  width:300px;
  margin:50px auto
}
}
main section#flow {
  padding-bottom:40px
}
@media(min-width: 751px) {
  main section#flow {
  padding-bottom:25px
}
}
main section#flow h2 {
  margin:10px 0 40px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#flow h2 {
  font-size:62px
}
}
main section#flow h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#flow h2 small {
  font-size:62px
}
}
@media(max-width: 750px) {
  main section#flow .item {
  padding:30px 20px 30px 30px
}
}
@media(min-width: 751px) {
  main section#flow .item {
  height:140px;
  padding-left:128px
}
}
main section#flow .item:nth-child(1) {
  background:#beebfb
}
main section#flow .item:nth-child(2) {
  background:#89d9f7
}
main section#flow .item:nth-child(3) {
  background:#6ed4f7
}
main section#flow .item:nth-child(4) {
  position:relative;
  background:#50c6f1
}
main section#flow .item:nth-child(4)::after {
  display:block;
  content:"";
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width:40px 50px 0 50px;
  border-color:#50c6f1 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}
@media(min-width: 751px) {
  main section#flow .item:nth-child(4)::after {
  border-width:25px 35px 0 35px
}
}
main section#flow .item .img {
  width:150px;
  margin-right:20px
}
@media(min-width: 751px) {
  main section#flow .item .img {
  width:74px;
  margin-right:30px
}
}
main section#flow .item .txt {
  width:calc(100% - 170px)
}
@media(min-width: 751px) {
  main section#flow .item .txt {
  width:calc(100% - 104px)
}
}
main section#flow .item .txt h3 {
  margin-bottom:5px;
  color:#0048ac;
  font-weight:900
}
@media(min-width: 751px) {
  main section#flow .item .txt h3 {
  font-size:24px
}
}
main section#flow .item .txt p {
  font-size:26px
}
@media(min-width: 751px) {
  main section#flow .item .txt p {
  font-size:17px
}
}
main section#qa {
  padding:100px 0
}
@media(min-width: 751px) {
  main section#qa {
  padding:80px 0
}
}
main section#qa .head img {
  width:100px;
  margin:0 auto
}
@media(min-width: 751px) {
  main section#qa .head img {
  width:50px
}
}
main section#qa .head h2 {
  margin:10px 0 60px;
  font-size:90px;
  font-weight:900;
  text-align:center;
  line-height:1em
}
@media(min-width: 751px) {
  main section#qa .head h2 {
  margin-bottom:40px;
  font-size:62px
}
}
main section#qa .head h2 small {
  font-size:75px
}
@media(min-width: 751px) {
  main section#qa .head h2 small {
  font-size:62px
}
}
main section#qa dl {
  border:1px solid #dcdcdc
}
main section#qa dl:nth-child(n+2) {
  margin-top:30px
}
@media(min-width: 751px) {
  main section#qa dl:nth-child(n+2) {
  margin-top:15px
}
}
main section#qa dl dt {
  position:relative;
  padding:18px 30px 18px 90px;
  background:#8fe5fa;
  font-size:26px;
  cursor:pointer
}
@media(min-width: 751px) {
  main section#qa dl dt {
  padding:8px 40px 8px 60px;
  font-size:18px
}
}
main section#qa dl dt::after {
  display:block;
  content:"Q";
  position:absolute;
  top:42%;
  left:35px;
  width:24px;
  font-size:30px;
  font-weight:bold;
  text-align:center;
  transform:translateY(-50%);
  color:#0048ac
}
@media(min-width: 751px) {
  main section#qa dl dt::after {
  left:20px;
  width:17px;
  font-size:22px
}
}
main section#qa dl dt .plus {
  position:absolute;
  top:50%;
  right:25px;
  transform:translateY(-50%);
  width:20px;
  height:20px
}
@media(min-width: 751px) {
  main section#qa dl dt .plus {
  right:20px;
  width:15px;
  height:15px
}
}
main section#qa dl dt .plus::before,main section#qa dl dt .plus::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:100%;
  border-bottom:3px solid #0048ac;
  transition:.2s
}
main section#qa dl dt .plus::after {
  transform:translate(-50%, -50%) rotate(90deg)
}
main section#qa dl dt.on .plus::after {
  transform:translate(-50%, -50%)
}
main section#qa dl dd {
  position:relative;
  height:0;
  overflow:hidden
}
main section#qa dl dd::after {
  display:block;
  content:"A";
  position:absolute;
  top:55px;
  left:35px;
  transform:translateY(-50%);
  width:24px;
  color:#0048ac;
  font-size:30px;
  font-weight:bold;
  text-align:center
}
@media(min-width: 751px) {
  main section#qa dl dd::after {
  top:34px;
  left:20px;
  width:17px;
  font-size:22px
}
}
main section#qa dl dd .inner {
  padding:30px 30px 30px 90px
}
@media(min-width: 751px) {
  main section#qa dl dd .inner {
  padding:20px 20px 20px 60px
}
}
main section#area {
  padding:100px 0 170px;
  margin-bottom:50px;
  background:url(assets/img/area-bg.jpg) no-repeat center;
  background-size:cover;
  clip-path:polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%)
}
@media(min-width: 751px) {
  main section#area {
  padding:80px 0
}
}
main section#area .box h2 {
  position:relative;
  color:#fff;
  font-size:44px;
  text-align:center;
  line-height:120px;
  background:#42a4f4
}
@media(min-width: 751px) {
  main section#area .box h2 {
  font-size:24px;
  line-height:75px
}
}
main section#area .box h2::before,main section#area .box h2::after {
  display:block;
  content:"";
  position:absolute;
  top:50%;
  right:100%;
  transform:translateY(-50%);
  width:20px;
  height:100px;
  background:url(../img/relief-head.png);
  background-size:100% 100%
}
@media(min-width: 751px) {
  main section#area .box h2::before,main section#area .box h2::after {
  height:65px
}
}
main section#area .box h2::after {
  left:100%;
  right:auto;
  transform:translateY(-50%) rotate(180deg)
}
main section#area .box .cnt {
  position:relative;
  padding:30px;
  background:#fff;
  border-left:1px solid #dcdcdc;
  border-right:1px solid #dcdcdc;
  border-bottom:1px solid #dcdcdc
}
main section#area .box .cnt .map {
  position:absolute;
  top:0;
  left:0;
  width:329px
}
@media(min-width: 751px) {
  main section#area .box .cnt .map {
  width:200px
}
}
@media(min-width: 751px) {
  main section#area .box .cnt {
  padding:20px 20px 20px 246px
}
}
@media(max-width: 750px) {
  main section#area .box .cnt .txt img {
  width:285px;
  margin:50px 20px 100px auto
}
}
@media(min-width: 751px) {
  main section#area .box .cnt .txt img {
  width:188px;
  margin-bottom:30px
}
}
main section#area .box .cnt .txt p {
  position:relative;
  font-size:26px;
  z-index:1
}
@media(min-width: 751px) {
  main section#area .box .cnt .txt p {
  font-size:17px
}
}
main section#area .box .cnt .txt p:nth-child(n+2) {
  margin-top:1em
}
main section#contact {
  padding:100px 0
}
@media(min-width: 751px) {
  main section#contact {
  padding:80px 0
}
}
main section#contact .head {
  position:relative;
  padding:40px 0;
  margin-bottom:80px;
  background:#f9f9f9;
  text-align:center
}
@media(min-width: 751px) {
  main section#contact .head {
  padding:20px 0 15px;
  margin-bottom:80px
}
}
main section#contact .head .jp {
  padding-left:.05em;
  font-size:40px;
  letter-spacing:.05em;
  line-height:1.4
}
@media(min-width: 751px) {
  main section#contact .head .jp {
  font-size:20px
}
}
main section#contact .head .en {
  margin-top:10px;
  padding-left:.05em;
  color:#aeaeae;
  font-size:28px;
  letter-spacing:.05em
}
@media(min-width: 751px) {
  main section#contact .head .en {
  font-size:14px
}
}
main section#contact form .top .inner {
  max-width:640px;
  margin:0 auto
}
main section#contact form .top .inner dl:nth-child(n+2) {
  margin-top:30px
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl:nth-child(n+2) {
  margin-top:20px
}
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl {
  display:flex;
  justify-content:space-between
}
}
main section#contact form .top .inner dl dt {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-flow:row-reverse;
  font-size:28px;
  font-weight:bold;
  letter-spacing:.05em
}
@media(max-width: 750px) {
  main section#contact form .top .inner dl dt {
  margin-bottom:10px
}
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dt {
  width:220px;
  font-size:16px
}
}
main section#contact form .top .inner dl dt span {
  margin-right:20px;
  padding:0 8px;
  color:#fff;
  font-size:20px;
  font-weight:bold;
  background:#c7c7c7
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dt span {
  margin-right:10px;
  padding:0 4px;
  font-size:12px
}
}
main section#contact form .top .inner dl dt span.required {
  background:#eb737a
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dd {
  width:calc(100% - 220px);
  font-size:16px
}
}
main section#contact form .top .inner dl dd input[type=text],main section#contact form .top .inner dl dd input[type=email],main section#contact form .top .inner dl dd input[type=tel],main section#contact form .top .inner dl dd textarea {
  display:block;
  width:100%;
  padding:15px;
  font-size:28px;
  line-height:1.6em;
  background:#f9f9f9;
  border:none
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dd input[type=text],main section#contact form .top .inner dl dd input[type=email],main section#contact form .top .inner dl dd input[type=tel],main section#contact form .top .inner dl dd textarea {
  padding:5px 10px;
  font-size:17px
}
}
main section#contact form .top .inner dl dd input[type=text]::placeholder,main section#contact form .top .inner dl dd input[type=email]::placeholder,main section#contact form .top .inner dl dd input[type=tel]::placeholder,main section#contact form .top .inner dl dd textarea::placeholder {
  opacity:.6
}
main section#contact form .top .inner dl dd textarea {
  height:300px
}
@media(min-width: 751px) {
  main section#contact form .top .inner dl dd textarea {
  height:150px
}
}
main section#contact form .btm .privacy {
  max-width:660px;
  height:160px;
  margin:20px auto 0;
  padding:16px 20px;
  border:1px solid #2b2b2b;
  border-radius:6px;
  overflow-y:scroll
}
@media(min-width: 751px) {
  main section#contact form .btm .privacy {
  margin-top:50px
}
}
main section#contact form .btm .privacy p {
  font-size:13px
}
@media(min-width: 751px) {
  main section#contact form .btm .privacy p {
  font-size:14px
}
}
main section#contact form .btm .check label {
  display:flex;
  justify-content:center;
  align-items:center;
  margin:40px 0;
  cursor:pointer;
  font-size:26px
}
@media(min-width: 751px) {
  main section#contact form .btm .check label {
  margin:25px 0;
  font-size:14px
}
}
main section#contact form .btm .check label input {
  display:block
}
@media(max-width: 750px) {
  main section#contact form .btm .check label input {
  width:30px;
  height:30px;
  margin-right:10px
}
}
@media(min-width: 751px) {
  main section#contact form .btm .check label input {
  width:15px;
  height:15px;
  margin-right:5px
}
}
main section#contact form .btm button {
  max-width:100%;
  width:500px;
  cursor:pointer;
  background:rgba(0,0,0,0);
  border:none
}
@media(min-width: 751px) {
  main section#contact form .btm button {
  width:250px
}
}
