@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Material+Icons&family=Jost:wght@400..700&family=Noto+Sans+JP:wght@100..900&display=swap');

.lp {
  position: relative;
  font-family: 'Noto Sans JP', Meiryo, "sans-serif";
  font-size: 1rem;
	font-weight: 500;
  line-height: 2;
  letter-spacing: 0.02em;
  font-feature-settings: "palt";
  overflow: hidden;
}
.lp * {
  box-sizing: border-box;
}
.lp a {
  color: #b60005;
	text-underline-offset: 0.8ex;
  transition: all 0.4s;
}
.lp a:hover {
  color: #b60005;
  text-decoration: none;
}
.lp a img {
  transition: all 0.3s;
}
.lp a:hover img {
  opacity: .7;
}
.lp .section:after,
.lp .clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.lp img {
  max-width: 100%;
  height: auto;
}
.lp .en {
  font-family: 'Jost', 'Noto Sans JP', Meiryo, "sans-serif";
}

.lp h2,
.lp h3,
.lp h4,
.lp h5,
.lp h6 {
	position: relative;
  margin: 0 0 1em 0;
  font-weight: 700;
	letter-spacing: normal;
	line-height: 1.3;  
}

.lp h2 {
  font-size: 2rem;
}
.lp h3 {
  font-size: 1.5rem;
}
.lp * + h3 {
	margin-top: 3em;
}
.lp h2 + h3 {
	margin-top: 0;
}
.lp h4,
.lp .h4 {
  padding-bottom: .5em;
  color: #1038c7;
  font-size: 1.25rem;
  border-bottom: 1px solid #ccc;
}
.lp h4:has(+ table),
.lp .h4:has(+ table) {
	padding-bottom: 0;
  border-bottom: none;
}

.lp h3 + h4,
.lp h4:not(:first-of-type) {
  margin-top: 2em;
}
.lp h5,
.lp .h5 {
	font-size: 1.15rem;
}
.lp h6 {
  padding-bottom: 1.5em;
  font-size: 0.9375rem;
  font-weight: bold;
}
.lp p {
  margin: 0 0 2em 0;
  padding: 0;
}
.lp .note {
  position: relative;
  padding: 0 0 0 1.5em;
  font-size: 0.875em;
}
.lp .note:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.lp .note.text-center {
  width: fit-content;
  margin-inline: auto;
  text-align: left !important;
}

@media screen and (max-width: 767px) {
  .lp {font-size:.8125rem}
  .lp {padding-bottom:40px}
  .lp h2 {font-size:1.375rem}
  .lp h3 {font-size:1.25rem}
  .lp h4 {font-size:1.125rem}
  .lp h5 {font-size:1rem}
  .lead {font-size:.9375rem}
}

.lp ol,
.lp ul {
  margin: 0 0 1em;
  padding: 0;
  list-style-type: none !important;
}
.lp ol > li,
.lp ul > li {
  position: relative;
  margin: .5em 0 0;
  padding: 0.25em 0 0.25em 24px;
  line-height: 1.5;
}
.lp ul li:before {
  content: "";
  position: absolute;
  left: 6px;
  top: calc(1em - 3px);
  width: 6px;
  height: 6px;
  background: #1038c7;
  border-radius: 3px;
}
.lp ol > li:first-child,
.lp ul > li:first-child,
.lp ol.thin > li,
.lp ul.thin > li {
	margin-top: 0;
}

.lp ol {
  counter-reset: number;
}
.lp ol > li:before {
	content: counter(number)".";
	counter-increment: number;
	position: absolute;
	left: 0;
	top: 0;
	display: inline-block;
	color: #1038c7;
	font-weight: bold;
	font-size: 15px;
	line-height: 28px;
	text-align: center;
}
.lp ol.underline,
.lp ul.underline {
  border-bottom: 1px solid #ccc;
}
.lp ol.underline > li,
.lp ul.underline > li {
  border-top: 1px solid #ccc;
}
.lp ol.underline > li,
.lp ul.underline > li {
  margin: 0;
  padding-top: 1em;
  padding-bottom: 1em;
}
.lp ul.underline > li:before {
  top: calc(1.75em - 3px);
}
.lp ol.underline > li:before {
  top: .75em;
}

.lp ul.list-note > li {
  padding: 0 0 0 1.5em;
}
.lp ul.list-note > li:before {
  content: "※";
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}

.lp hr {
  clear: both;
  margin-bottom: 30px;
  color: #fff;
  background: none transparent;
  border-top: 0px none transparent;
  border-right: 0px none transparent;
  border-left: 0px none transparent;
  border-bottom: 1px solid #ccc;
}


.lp table {
	width: 100%;
	margin-bottom: 2em;
	border-collapse: collapse;
	border-top: 1px solid #ccc;
}
.lp th,
.lp td {
	position: relative;
	padding: 20px 20px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}
.lp th > *:first-child,
.lp td > *:first-child {
	margin-top: 0;
}
.lp th > *:last-child,
.lp td > *:last-child {
	margin-bottom: 0;
}
.lp th {
	width: 25%;
	font-weight: bold;
}
.lp th.w-auto {
  width: auto;
}
.lp table tr > *:not(:last-child) {
  border-right: 1px solid #ccc;
}
.lp .bg-dot table {
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .lp table.sp-vertical th,
  .lp table.sp-vertical td {
    display: block;
    width: auto;
    padding: 10px 0;
  }
  .lp table.sp-vertical tr > *:not(:last-child) {
    border-right: 0;
  }
}

@media screen and (max-width: 479px) {
  .lp table.sp-vertical th,
  .lp table.sp-vertical td {
    display: block;
    width: 100%;
    padding: 15px 0;
  }
  .lp table.sp-vertical tr > *:not(:last-child) {
    border: none;
  }
  .lp table.sp-vertical th {
    padding-bottom: 0;
    border: none;
  }
}


.inline-center {
  text-align: center;
}
.inline-center > * {
	display: inline-block;
	text-align: left;
	vertical-align: top;
}
.item-ib {
  display: inline-block;
}
.item-flex {
  display: flex;
  flex-direction: column;
}
.item-flex .bottom {
  margin-top: auto;
}

.color-0 {color: #000 !important;}
.color-orange {color: #fc3f00 !important;}
.color-red {color: #b60005 !important;}
.color-pink {color: #b96a7c !important;}
.color-blue {color: #1038c7 !important;}
.color-green {color: #34582c !important;}

.bgcolor00 {background-color: #fff !important;}
.bgcolor01 {background-color: #fdf4f4 !important;}
.bgcolor02 {background-color: #f8f8f8 !important;}
.bgcolor03 {background-color: #FBFEDA !important;}

.bg-dot {
  background-image: radial-gradient(#eee 10%, transparent 20%), radial-gradient(#eee 10%, transparent 20%);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;
}

.textS {font-size: 0.9em;}
.textSS {font-size: 0.75em;}
.textL {font-size: 1.25em;}
.textLL {font-size: 1.5em;}

.text-normal {font-weight: 400;}
.text-medium {font-weight: 500;}
.text-bold {font-weight: 700;}

.text-left {text-align: left !important;}
.text-center {text-align: center !important;}
.text-right {text-align: right !important;}
.img-right {float: right; margin-left: 1em;}
.img-left {float: left; margin-right: 1em;}

.lp .box-center {
	width: fit-content;
  margin-inline: auto;
}

.mt0 {margin-top: 0 !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mb0 {margin-bottom: 0 !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.pt0 {padding-top: 0 !important;}
.pb0 {padding-bottom: 0 !important;}
.pcOnly {display: block;}
.spOnly {display: none;}

@media screen and (min-width: 768px),print {
	.text-pc-left {text-align: left !important;}
	.text-pc-center {text-align: center !important;}
	.text-pc-right {text-align: right !important;}
  .list-colmn2 {columns: 2; column-gap:2em;}
}

@media screen and (max-width: 767px) {
  .pcOnly {display:none}
  .spOnly {display:block}
	.text-sp-left {text-align: left !important;}
	.text-sp-center {text-align: center !important;}
	.text-sp-right {text-align: right !important;}
	.sp-mt0 {margin-top: 0 !important;}
	.sp-mt10 {margin-top: 10px !important;}
	.sp-mt20 {margin-top: 20px !important;}
	.sp-mt30 {margin-top: 30px !important;}
	.sp-mt40 {margin-top: 40px !important;}
	.sp-mt50 {margin-top: 50px !important;}
	.sp-mb0 {margin-bottom: 0 !important;}
	.sp-mb10 {margin-bottom: 10px !important;}
	.sp-mb20 {margin-bottom: 20px !important;}
	.sp-mb30 {margin-bottom: 30px !important;}
	.sp-mb40 {margin-bottom: 40px !important;}
	.sp-mb50 {margin-bottom: 50px !important;}
  .lp .scroll {
    width: 100%;
    margin-bottom: 1em;
    padding-bottom: 1em;
    overflow-x: auto;
  }
  .lp .scroll table {
    width: 700px;
    margin-bottom: 0;
  }
  .lp .scroll::-webkit-scrollbar {
   height: 10px;
   cursor: pointer;
  }
  .lp .scroll::-webkit-scrollbar-track {
   border-radius: 10px;
   background: rgba(40,40,40,0.1);
  }
  .lp .scroll::-webkit-scrollbar-thumb {
   border-radius: 5px;
   background: rgba(40,40,40,0.1);
  }
}


/*--- header ---*/
#menu {
  position: relative;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  padding: 0;
  font-size: 16px;
  z-index: 995;
}
#menu ul {
	display: flex;
	align-items: center;
  justify-content: center;
	height: 90px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#menu ul li {
  margin: 0;
  padding: 0;
}
#menu ul li:before {
  content: none;
}
#menu li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
	padding: 10px 1.25em;
	color: #000;
	line-height: 1.4;
	text-decoration: none;
}
#menu li a:hover {
  color: #b60005;
}

#lp-hdr {
	width: 100%;
  padding: 0 30px;
	background-color: #fff;
}
#lp-hdr .inner {
	display: flex;
	align-items: center;
	max-width: none;
	width: 100%;
	padding: 0;
	height: 90px;
}
#lp-hdr a {
	display: block;
	text-decoration: none;
}
#lp-hdr .title .name {
	color: #0b346e;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1.5;
}

#lp-hdr .navi {
	flex: 1;
	padding-right: 20px;
}
#lp-hdr #menu {
  flex: 1;
}
#lp-hdr #menu ul {
	justify-content: flex-end;
  height: auto;
}
.btn-menu,
#lp-hdr [class^="btn-"] {
	width: 80px;
	height: 90px;
}
.btn-menu > *,
#lp-hdr [class^="btn-"] > * {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 10px 0;
	color: #fff;
	font-size: .75rem;
	text-align: center;
	line-height: 1.1;
	text-decoration: none;
	border: none;
	cursor: pointer;
}
#lp-hdr [class^="btn-"] > *:hover {
	opacity: .7;
}
.btn-menu > *:hover {
  opacity: 1 !important;
}
.btn-menu > *:before,
#lp-hdr [class^="btn-"] > *:before {
	display: block;
	width: 100%;
	font-family: 'Material Icons';
	font-size: 28px;
	line-height: 1;
}
#lp-hdr .btn-contact a {
	background-color: #0b346e;
}
#lp-hdr .btn-contact a:before {
	content: "\e0e1";
}
#lp-hdr .btn-form a {
	background-color: #7d86a7;
}
#lp-hdr .btn-form a:before {
	content: "\e14f";
}
.btn-menu {
	display: none;
}
.btn-menu button {
	color: #fff;
	background-color: #0b346e;
	transition: all 0.4s;
}
.btn-menu button:focus {
	outline: none;
}
.btn-menu button:before {
	content: "\e5d2";
}
.btn-menu button:hover:before {
	content: "\e164";
}
.menu-on .btn-menu button:before {
	content: "\e14c";
}
#lp-hdr [class^="btn-"] span {
	margin-top: -6px;
}

.is-scroll .menu-fixed {
	position: fixed;
	left: 0;
	top: 0;
	box-shadow: 0px 6px 6px 0px rgba(0,0,0,0.3);
}
.is-scroll #lp-hdr {
	position: fixed;
	left: 0;
	top: 0;
  z-index: 999;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  #menu {
    font-size: 1.5vw;
  }
}

@media screen and (min-width: 768px) {
  .menu-fixed {
    position: relative;
    transition: .3s;
  }
}
@media screen and (max-width: 767px) {
  #menu {
    position: fixed;
    top: 90px;
    left: auto;
    right: 0;
    padding: 20px;
    z-index: 9999;
    background-color: #0b346e;
    opacity: 0;
    visibility: hidden;
    transition: .2s
  }
  #menu ul {
    display: block;
    text-align: center;
    background-color: transparent;
  }
  #menu ul li {
    padding: 0;
  }
  #menu ul li:not(:last-of-type) {
    border-bottom: 1px solid #fff;
  }
  #menu ul li:before {
    content: none;
  }
  .lp #menu li a {
    display: block;
    height: auto;
    padding: 15px 20px;
    color: #fff;
  }
  .lp #menu li a:hover {
    color: #fff;
  }
  .btn-menu {
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9999;
  }
  .menu-on #menu {
    height: calc(100% - 90px);
    opacity: 1;
    visibility: visible;
  }
  .menu-on #menu ul {
    height: auto;
  }
  #overlay {
    display: none;
  }
  #lp-hdr {
    padding: 0 0 0 20px;
  }
  #lp-hdr .title .name {
    font-size: 1.25rem;
  }
}


/*--- footer ---*/
.lp .section#contact {
	background-color: #faf6f0;
}
.lp .section#contact h2 {
  font-size: 1.5em;
}
.lp .section#contact h2:after {
  content: none;
}
.lp .section#contact h2 .en {
  color: #fc3f00;
  font-size: .8em;
  font-weight: normal;
}

.lp-footer{display:flex;align-items:center;justify-content:space-between;max-width:960px;margin:0 auto;padding:20px;font-size:13px}
.lp-footer .logo img{width:150px;height:auto}
.lp-footer p{margin:0;padding:0}
.lp-footer a{border:none;padding:10px 0}
@media screen and (max-width: 767px) {
.lp-footer{display:block;text-align:center}
.lp-footer .copyright{margin-top:10px}
}

#lp-ft > .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
}
#lp-ft .logo img {
  width: 150px;
}
#lp-ft p {
	margin: 0;
}

@media screen and (max-width: 1000px) {
	#lp-ft > .inner {
    padding: 10px 20px;
  }
}

@media screen and (min-width: 768px),print {
  #lp-ft {
    margin-top: 40px;
  }
}

#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 12px;
	z-index: 998;
}
#pagetop a {
	display: flex;
  align-items: center;
	width: 80px;
	height: 80px;
	padding: 0 10px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1.25;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #b60005;
	box-sizing: border-box;
	transition: all 0.3s;
}
#pagetop a:hover {
	color: #fff;
	background: #a8a5ac;
}
@media screen and (max-width: 767px) {
  #pagetop {
    right: 10px;
    bottom: 60px;
  }
  #pagetop a {
    width: 70px;
    height: 70px;
  }
}


/*--- main ---*/
.lp .section {
  position: relative;
}
.lp .inner {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
}
.lp .section .inner {
  padding: 60px 0;
}

@media screen and (max-width: 1000px) {
  .lp .section .inner {
    padding: 40px 20px;
  }
}

@media screen and (min-width: 768px),print {
}

@media screen and (max-width: 767px) {
}


/*--- content ---*/
.lp .block-set {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 30px;
}
.lp .block-set.center {
  justify-content: center;
}
.lp .block-set.left {
  justify-content: flex-start;
}
.lp .block-set > * {
  width: calc(50% - 15px);
}
.lp .block-set > .col1-3 {
  width: calc(33.333% - 20px);
}
.lp .block-set > .col2-3 {
  width: calc(66.667% - 15px);
}
.lp .block-set > .col1-4 {
  width: calc(25% - 15px);
}
.lp .block-set > .col3-4 {
  width: calc(75% - 15px);
}
.lp .block-set > .middle {
  align-self: center;
}
.lp .block-set + * {
  margin-top: 2em;
}
.lp .block-set > * > *:first-child {
  margin-top: 0;
}
.lp .block-set > * > *:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px),print {
  .lp .block-set > * > *:last-child {
    margin-bottom: 0 !important;
  }
  .lp .block-set.auto {
    width: auto;
  }
  .lp .block-set.auto > * {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .lp .block-set {margin: 0; gap:20px;}
  .lp .block-set > *,
  .lp .block-set > .col1-3,
  .lp .block-set > .col2-3,
  .lp .block-set > .col1-4,
  .lp .block-set > .col3-4 {
    width: 100%;
    margin: 0;
  }
  .lp .block-set > .sp-col1-2 {
    width: calc(50% - 10px);
  }
}


.lp .img-set {
  display: flex;
  margin: 2em 0 0 0;
}
.lp .img-set > *:nth-child(2) {
	margin-left: 30px;
}
.lp .img-set > .img {
	width: 25%;
	height: auto;
}
.lp .img-set > :not(.img) {
	flex: 1;
}

@media screen and (max-width: 767px) {
  .lp .img-set > img {
    width: 50%;
  }
}


.lp .imgRight {
	float: right;
	display: block;
	margin: 0 0 15px 30px;
	word-wrap: break-word;
}


.lp .frame {
  margin-bottom: 2em;
  padding: 25px;
  border: 4px solid #ddd;
}
.lp .box {
  margin-bottom: 2em;
  padding: 30px;
	background-color: #fdf4f4;
  border-radius: 10px;
}
.lp .frame > *:first-child,
.lp .box > *:first-child {
  margin-top: 0;
}
.lp .frame > *:last-child,
.lp .box > *:last-child {
  margin-bottom: 0;
}

.lp .note-line {
  line-height: 3;
  background-color: #fff;
  background-image: linear-gradient(to top, #ccc 1px, transparent 1px, transparent 100%);
  background-size: 100% 3em;
  border-top: 1px solid #ccc;
  overflow: clip;
}
.lp .note-line li {
  margin: 0;
  line-height: inherit;
}
.lp .frame:has(.note-line:first-child) {
  padding: 15px 25px;
}
.lp .frame .note-line {
  position: relative;
	margin: 0;
}
.lp .frame > .note-line:first-child {
  border-top: none;
}
.lp .frame .note-line:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: -1px;
  background-color: #fff;
}


.lp .embed-video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: none;
}


.lp a.link-arrow::after {
	content: "";
	display: inline-block;
	right: 1em;
	width: 8px;
	height: 8px;
	margin-left: .5em;
	border-top: 1px solid #b60005;
	border-right: 1px solid #b60005;
	transform: rotate(45deg);
}


/*--- btn ---*/
.lp .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px 40px;
}
.lp .btn:has(+ .btn) {
	margin-bottom: 20px;
}
.lp .btn.vertical {
	flex-direction: column;
}
.lp .btn a {
  position: relative;
	display: flex;
	align-items: center;
  min-width: 240px;
	min-height: 60px;
  padding: 10px 3em 10px 1.5em;
  color: #fff;
  font-family: 'Noto Sans JP', Meiryo, "sans-serif";
  font-size: 1.1em;
  line-height: 1.3;
  vertical-align: middle;
  text-decoration: none;
  border: 1px solid #fc3f00;
  background: linear-gradient(to right,#fc3f00 0%, #fc8800 100%);
  transition: .3s linear;
}
.lp .block-set .btn a {
	min-width: 0;
	width: 100%;
}
.lp .btn.s a {
  padding: 0.5em 3em calc(0.5em + 3px) 1.5em;
	min-height: 2em;
}
.lp .btn a:hover {
  color: #fc3f00;
  background: #fff;
}
.lp .btn a::after {
  content: "\e5cc";
  position: absolute;
  top: calc(50% - .5em);
  right: 10px;
  font-size: 2em;
  font-family: 'Material Icons';
  line-height: 1;
  vertical-align: middle;
}
.lp .btn.anchor a::after {
  content:"\e5cf";
}
.lp .btn.rounded a {
  border-width: 2px;
  border-radius: 40px;
}
.lp .btn.mail a::after {
  content: "\e0be";
}
.lp .btn.blue a {
	border-color: #1038c7;
	background: linear-gradient(135deg, #1038c7 0%, #00a9ff 100%);
}
.lp .btn.blue a:hover {
  color: #1038c7;
  background: #fff;
}
.lp .btn.green a {
	border-color: #8fc31f;
	background: linear-gradient(135deg, #00a040 0%, #8fc31f 100%);
}
.lp .btn.green a:hover {
  color: #8fc31f;
  background: #fff;
}
.lp .btn.pink a {
	border-color: #FFA4A5;
	background: #FFA4A5;
}
.lp .btn.pink a:hover {
  color: #FFA4A5;
  background: #fff;
}
.lp .btn.red a {
	border-color: #b60005;
	background: #b60005;
}
.lp .btn.red a:hover {
  color: #b60005;
  background: #fff;
}
.lp .btn.yellow a {
  color: #1d2088;
	border-color: #fff100;
	background: #fff100;
}
.lp .btn.yellow a:hover {
  background: #fff;
}
.lp .btn.disabled a {
  pointer-events: none;
}
.lp .btn.disabled a::after {
  content: none;
}

@media screen and (min-width: 768px),print {
	.lp .btn.l a {
		min-height: 100px;
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.lp .btn {
		flex-direction: column;
	}
  .lp .btn a {
    min-width: 0;
		width: 100%;
    margin: 0;
  }
  .lp .sp-btn-bottom {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 99;
  }
  .lp .sp-btn-bottom .col1-2 {
    width: 50%;
  }
  .lp .sp-btn-bottom .btn {
    margin: 0;
  }
  .lp .sp-btn-bottom .btn a {
    min-width: 0;
    margin: 0;
		text-decoration: none;
		border-radius: 0 !important;
  }
	html:has(.sp-btn-bottom) .lp-footer {
		padding-bottom: 80px;
	}
}

.lp .float-btn {
  position: absolute;
  right: 20px;
  bottom: 150px;
  margin: 0;
  padding: 0;
  z-index: 999;
}
.lp .float-btn a span {
  display: inline-block;
  vertical-align: middle;
}

@media screen and (min-width: 768px),print {
	.is-scroll .lp .float-btn {
		position: fixed;
	}
	.lp .float-btn.pc-top {
		bottom: unset;
		top: 20px;
  }
	.lp .float-btn.pc-top.pc-round a {
		border-radius: 9999px;
	} 
}

@media screen and (max-width: 767px) {
  .lp .float-btn {
		position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
  }
  .lp .float-btn a {
    /*display: block;*/
    margin: 0;
		justify-content: center;
    box-shadow: none;
    border-radius: 0;
  }
  .lp .float-btn.btn.rounded a {
		border-radius: 0;
  }
  .lp .float-btn.btn.red a:hover {
		color: #fff;
		background-color: #b60005;
  }
	html:has(.float-btn) .lp-footer {
		padding-bottom: 80px;
	}
}

.lp .btn-bottom-fixed {
  position: fixed;
  left: 0;
  bottom: -200px;
  width: 100%;
  padding: 40px 20px;
  background-color: #FBF5DD;
  transition: bottom .3s;
  z-index: 98;
}
.is-scroll .lp .btn-bottom-fixed {
  bottom: 0;
}
.is-inview-entry .lp .btn-bottom-fixed {
  bottom: -200px;
}
.lp .btn-bottom-fixed .btn {
  max-width: 500px;
  margin: 0 auto;
  padding: 0;
}
.lp .btn-bottom-fixed .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  line-height: 1.25;
  background: #e72510;
  transition: all 0.4s;
}
.lp .btn-bottom-fixed .btn.btn-horizontal {
  display: flex;
  gap: 20px;
  max-width: 960px;
}
.lp .btn-bottom-fixed .btn.btn-horizontal a {
  flex: 1;
}
.lp:has(.js-entry) .btn-bottom-fixed .btn a:after {
  content: "\e5cc";
}
.lp:has(.js-entry) .btn-bottom-fixed .btn a[href^="#"]:after {
  content: "\e5cf";
}

@media screen and (min-width: 769px) {
  .lp .btn-bottom-fixed .btn a:hover {
    color: #e72510;
    background: #fff;
  }
}

@media screen and (max-width: 768px) {
  .lp .btn-bottom-fixed {
    padding: 0;
    bottom: 0;
  }
  .lp .btn-bottom-fixed .btn {
    max-width: none;
    width: 100%;
  }
  .lp .btn-bottom-fixed .btn a {
    height: 50px;
    font-size: 1rem;
  }
  .lp .btn-bottom-fixed:has(.btn.btn-horizontal) {
    padding: 20px;
  }
  .lp .btn-bottom-fixed .btn.btn-horizontal {
    flex-direction: column;
  }
}

