img {
	height: auto;
	max-width: 100%;
}

a {
	color: inherit;
}

/*本体common*/

body {
	border-top: none;
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*header*/

h1 {
	font-size: clamp(0.625rem, 0.504rem + 0.61vw, 0.875rem) !important;
	height: auto;
	line-height: 1.3;
	margin: 0 auto;
	padding: 0.3125rem 0rem 0rem 0rem;
	text-align: center;
	width: 100%;
}

/*本文*/

/*動画*/

#content .h2-8 {
	background: url(../img/h2-8.png) center center/contain no-repeat;
	padding-top: 2.5rem;
}

#content .h2-9 {
	background: url(../img/h2-9.png) center center/contain no-repeat;
	padding-top: 2.5rem;
}

.p-button a {
	background: linear-gradient(0deg, #ff9900, #ffe10f);
	border: 1px solid #ffffff;
	border-radius: 0.625rem;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
	color: #ffffff;
	display: inline-block;
	font-size: 1.25rem;
	line-height: 1.6;
	max-width: 31.75rem;
	padding: 0.625rem 0.625rem 0.625rem 0.625rem;
	position: relative;
	text-align: center;
	text-shadow: 2px 2px 2px #555555, -2px -2px 2px #555555, -2px 2px 2px #555555, 2px -2px 2px #555555, 2px 0 2px #555555, -2px 0 2px #555555, 0 2px 2px #555555, 0 -2px 2px #555555;
	transition: all 0.3s ease 0s;
}

.p-button a:hover {
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
	transform: translateY(4px);
}

.p-list {
	margin: 0rem 0rem 0rem 0rem;
	padding: 0.5rem 0rem 0.3125rem 2.1875rem;
}

.p-sub-title {
	color: #cd0808;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.6 !important;
}

.p-sub-title span {
	color: #000;
}

.p-sub-title .p-sub-title__deco {
	background: linear-gradient(transparent 70%, yellow 70%);
	color: #cd0808;
}

/*footer*/

#footer {
	max-width: 100%;
}

#footer #inner {
	padding-top: 0.625rem;
}

#footer #inner ul li {
	color: #4360d2;
}

/*ボタン*/

.p-online__line {
	background: #eee;
	border-radius: 0.625rem;
	margin: 0.625rem 0.3125rem 0rem 0.3125rem;
	padding: 0.625rem 0rem 0.625rem 0rem;
}

.p-online {
	margin: 1.25rem auto;
	max-width: 100%;
	width: 40rem;
}

.p-online img {
	display: block;
	margin: 0 auto;
}

.p-online__text {
	font-size: 1rem;
	text-align: center;
}

.p-btn__wrap {
	color: #ffffff;
	padding: 0rem 0.625rem 0rem 0.625rem;
}

.p-online__btn {
	display: block;
	margin: 0 auto;
	margin-top: 1.25rem;
	text-align: center;
}

.p-online__btn:hover {
	animation: rumble 0.22s linear infinite;
}

.p-online__btn img {
	margin: 0 auto;
}

.p-sp_text {
	text-align: center;
}

.p-pt10 {
	padding-bottom: 0.3125rem;
	padding-top: 0.3125rem;
}

.p-offset {
	padding-bottom: 3.75rem;
}

.p-tel {
	text-align: center;
}

.p-tel__text {
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}

.p-tel__text span {
	color: #ff0000;
	display: block;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
}

.p-tel__text2 {
	font-size: 1rem;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
	text-align: center;
}

.p-footer__button-r {
	margin-top: 3vw;
}

.c-totop {
	animation: rumble2 1.2s linear infinite;
	display: inline-block;
}

.c-totop img {
	-o-object-fit: contain;
	height: clamp(3.75rem, 0.72rem + 15.15vw, 10rem);
	object-fit: contain;
	width: clamp(3.75rem, 0.72rem + 15.15vw, 10rem);
}

.c-totop:hover {
	opacity: 0.7;
}

.p-footer__button {
	bottom: 10px;
	display: block;
	opacity: 0;
	position: fixed;
	right: 20px;
	transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	visibility: hidden;
}

.p-footer__button.is-show {
	opacity: 1;
	visibility: visible;
}

@media (min-width: 768px) and (max-width: 999px) {

.u-hidden-tab {
	display: none;
}

}

@media (min-width: 999px) {

.u-hidden-pc {
	display: none;
}

}

@media (max-width: 999px) {

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	border: 0;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

li,
dd {
	list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
}

a {
	cursor: pointer;
	text-decoration: none;
}

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

body {
	background: transparent;
	font-size: 16px;
	line-height: 1.5;
	min-width: 320px;
	width: 100%;
}

img.r {
	display: block;
	float: none;
	margin: 0 auto 20px;
}

#header {
	background: url(../img/head2.jpg) center top/contain no-repeat;
	background-size: 135%;
	margin-top: 1.875rem;
	padding-top: 22vw;
}

#header .p-header__img {
	width: 92.1052631579%;
}

#wrapper {
	margin: 0;
	max-width: 100%;
	min-width: 100%;
	width: 100%;
}

#content {
	background: transparent;
	padding: 0rem 0rem 0rem 0rem;
}

#content p {
	padding: 0rem 0.625rem 1.25rem 0.625rem;
}

#content .txt {
	margin: 0 0.625rem;
}

#content .h2-1 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .kanso {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

#content .h2-2 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-3 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-4 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-5 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-5-2 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-6 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-7 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-11 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-11-2 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content .h2-12 {
	background-size: contain;
	padding-top: 2.5rem;
}

#content dl dt {
	background-position: bottom 8px left;
}

#content .p-contents__list {
	margin: 0;
}

#content .p-contents__list dd {
	margin-right: 0;
}

.movie {
	max-width: 100%;
	padding: 0rem 0.625rem 0.625rem 0.625rem;
}

.movie p {
	padding-left: 0 !important;
	text-align: center;
}

.movie iframe {
	aspect-ratio: 560/382;
	height: auto;
	margin-bottom: 0rem;
	margin-top: 0;
	max-width: 560px;
	width: 100%;
}

.frame1 {
	background-size: contain;
}

.frame1 img {
	width: 100%;
}

.frame1maru img {
	width: 100%;
}

.frame1batsu img {
	width: 100%;
}

.frame1_2 {
	background-size: contain;
}

.frame1batsu {
	background-size: contain;
}

.p-prof img {
	width: 100%;
}

#prof {
	background-size: contain;
	margin-left: 0;
	margin-right: 0;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

#prof p {
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
}

.mr-10 {
	margin-right: 0rem;
}

.fs-26 {
	font-size: 1.25rem;
}

.fs-24 {
	font-size: 1.25rem;
}

.fs-22 {
	font-size: 1.125rem;
}

.fs-20 {
	font-size: 1.125rem;
}

.frame1maru {
	background-size: contain;
}

.mb-70 {
	margin-bottom: 1.25rem;
}

#goods {
	margin-bottom: 1.25rem;
}

#goods p {
	margin-left: 0;
}

#goods .p-price img {
	-o-object-fit: contain;
	height: 1.875rem;
	object-fit: contain;
	width: 1.25rem;
}

#goods .p-price img:nth-child(3) {
	height: 1.25rem;
	width: 0.625rem;
}

.credit {
	padding: 0.625rem 0rem 0.625rem 0rem;
}

.p-center {
	text-align: center;
}

#tokuten h2 {
	font-size: 1.125rem;
	padding: 9.375rem 0.625rem 0rem 0.625rem;
	text-align: center;
}

#tokuten .toku-frame {
	margin: 0.625rem 0rem 0rem 0rem;
	padding: 0rem 0rem 0rem 0rem;
}

#faq {
	padding: 0rem 0.625rem 0rem 0.625rem;
}

#faq dl {
	margin: 0;
}

#faq dl dd {
	margin-right: 0;
	padding: 0.3125rem 0.3125rem 0.3125rem 2.8125rem;
}

#faq dl dt {
	background-position: top left;
}

#p_top_area {
	max-width: 100%;
	text-align: center;
}

.p-sent img {
	margin: 0 auto;
}

.contents_box {
	max-width: 100%;
	padding: 0.625rem 0.625rem 0.625rem 0.625rem;
}

.contents_box p {
	font-size: 0.75rem;
	padding: 0.625rem 0rem 0.625rem 0.75rem;
}

.contents_box ul {
	padding-left: 1.25rem;
}

.p-online {
	width: 100%;
}

.p-online__text {
	font-size: 0.875rem;
}

.p-text__left {
	padding-bottom: 1.25rem;
	text-align: left !important;
}

.p-offset {
	padding-bottom: 2.5rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.p-tel__text {
	font-size: 1rem;
}

.p-tel__text2 {
	font-size: 0.875rem;
}

}

@media (max-width: 999px) and (max-width: 999px) {

#content .kanso iframe {
	aspect-ratio: 560/382;
	height: auto;
	margin-bottom: 0rem;
	margin-top: 0;
	max-width: 560px;
	width: 100%;
}

}

@media (max-width: 768px) {

.u-hidden-sp {
	display: none;
}

}

@keyframes rumble {

0% {
	transform: rotate(0deg) translate(0, 0);
}

12.5% {
	transform: rotate(0.4deg) translate(1px, -1px);
}

25% {
	transform: rotate(0.8deg) translate(0px, 1px);
}

37.5% {
	transform: rotate(0.4deg) translate(-1px, 0);
}

50% {
	transform: rotate(0deg) translate(0, 0);
}

62.5% {
	transform: rotate(-0.4deg) translate(1px, 0);
}

75% {
	transform: rotate(-0.8deg) translate(0, 1px);
}

87.5% {
	transform: rotate(-0.4deg) translate(-1px, -1px);
}

100% {
	transform: rotate(0deg) translate(0, 0);
}

}

@keyframes rumble2 {

0% {
	transform: rotate(0deg);
}

40% {
	transform: rotate(0deg);
}

50% {
	transform: rotate(2deg);
}

70% {
	transform: rotate(-1deg);
}

80% {
	transform: rotate(-2deg);
}

90% {
	transform: rotate(0deg);
}

100% {
	transform: rotate(0deg);
}

}

