@charset "UTF-8";

/*-----------------------------------------------------------
1-1. Reset
-----------------------------------------------------------*/
html {
	font-size: 100%;
}

body {
	margin: 0;
	padding: 0;
	line-height: 1;
}

div,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
img,
ins,
kbd,
q,
samp,
sub,
sup,
var,
b,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
mark,
audio,
video,
a {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	font: inherit;
}

span,
small,
em,
time,
i {
	font-style: normal;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

a {
	border: medium;
}

sup {
	vertical-align: text-top;
}

sub {
	vertical-align: text-bottom;
}

legend {
	color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.5em;
}

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

li {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

input,
select {
	vertical-align: middle;
}

abbr[title],
dfn[title] {
	cursor: help;
}

del {
	text-decoration: line-through;
}

ins {
	font-style: oblique;
	text-decoration: none;
}

mark {
	background: transparent;
	font-style: normal;
}

img {
	vertical-align: top;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

::-moz-selection {
	background: #d4dcd6;
}

::selection {
	background: #d4dcd6;
}

/*-----------------------------------------------------------
body
-----------------------------------------------------------*/

img {
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

body,
html {
	width: 100%;
	height: 100%;
}

html {
	scroll-behavior: smooth;
	font-size: 100%;
}

body {
	color: #333;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

a {
	color: inherit;
	text-decoration: none;
}

.link {
	color: #ef5b27;
	text-decoration: underline;
	cursor: pointer;
}

.link:is(:hover, :focus) {
	text-decoration: none;
}

a[href^=tel] {
	cursor: default;
}

a:-webkit-any-link:focus-visible {
	outline-offset: 1px;
}

:focus-visible {
	outline: -webkit-focus-ring-color auto 1px;
}


@media (max-width: 800px) {

	/*-----------------------------------------------------------
	body SP
	-----------------------------------------------------------*/
	body {
		font-size: 14px;
		line-height: 1.8;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		line-height: 1.4;
	}

}

/*-----------------------------------------------------------
header
-----------------------------------------------------------*/
.header {
	background: #fff;
	width: 100%;
}

.h1-txt {
	font-size: 14px;
	padding: 10px max(5%, 50% - 512px);
}

.h1-img {
	margin-bottom: 50px;
}

.h-logo {
	font-size: 45px;
	font-weight: 700;
	padding: 0 max(5%, 50% - 512px) 10px;
	line-height: 1;
}

@media (max-width: 800px) {

	/*-----------------------------------------------------------
	header SP
	-----------------------------------------------------------*/
	.header {
		width: 100%;
	}

	.h1-txt {
		font-size: 12px;
		padding: 5px 10px;
	}

	.h-logo {
		font-size: 8vw;
		padding: 0 10px 10px;
	}
}

/*-----------------------------------------------------------
navi
-----------------------------------------------------------*/
.navi-menu-btn {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	appearance: none;
	background-color: #3E9ADD;
	border: 1px solid #3E9ADD;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: fixed;
	top: 25px;
	right: 25px;
	width: 100px;
	height: 100px;
	transition: .4s;
	z-index: 999;
}

.navi-menu-btn .hamburger-line {
	width: 50px;
	height: 2px;
	background: #fff;
	transition: .3s;
	position: relative;
	margin: 36px 0 15px;
	min-height: 2px;
}

.navi-menu-btn .hamburger-line::before,
.navi-menu-btn .hamburger-line::after {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	transition: .3s;
}

.navi-menu-btn .hamburger-line::before {
	top: -12px;
}

.navi-menu-btn .hamburger-line::after {
	top: 12px;
}

.navi-menu-btn[aria-expanded="true"] .hamburger-line {
	background-color: transparent;
}

.navi-menu-btn[aria-expanded="true"] .hamburger-line::before,
.navi-menu-btn[aria-expanded="true"] .hamburger-line::after {
	top: 0;
	background: #fff;
}

.navi-menu-btn[aria-expanded="true"] .hamburger-line::before {
	transform: rotate(45deg);
}

.navi-menu-btn[aria-expanded="true"] .hamburger-line::after {
	transform: rotate(-45deg);
}

.navi-menu-btn .ttl {
	font-size: 24px;
	color: #fff;
	width: 100%;
}

.g-navi-contents {
	display: none;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .16);
	padding: 180px 0 50px;
	position: fixed;
	inset: 0 0 0 auto;
	max-width: 600px;
	transition: opacity 0.5s, display 0.5s;
	transition-behavior: allow-discrete;
	z-index: 998;
	opacity: 0;
}

.g-navi-contents.is-open {
	display: block;
	pointer-events: auto;
	visibility: visible;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	opacity: 1;
}

@starting-style {
	.g-navi-contents.is-open {
		opacity: 0;
	}
}

.g-navi-layout {
	margin-inline: auto;
	width: 80%;
}

.g-navi-list {
	width: fit-content;
	margin-inline: auto;
}

.g-navi-list>li {
	break-inside: avoid;
	margin-bottom: 10px;
	padding: 0 0 0 38px;
	position: relative;
}

.g-navi-list>li:before {
	content: "";
	display: block;
	background: url(../images/share/navi-arrow.svg) no-repeat center/contain;
	width: 15px;
	height: 23px;
	position: absolute;
	left: 0;
	top: 9px;
	z-index: 2;
}

.g-navi-list>li>a {
	color: #333;
	font-size: 25px;
	font-weight: bold;
	background: linear-gradient(currentColor) no-repeat bottom right/0 1px;
	padding-bottom: 3px;
	transition: background-size 0.3s ease-out;
	line-height: 1.7;
}

@media (hover: hover) {
	.g-navi-list>li>a:is(:hover, :focus) {
		background-size: 100% 1px;
		background-position: bottom left;
	}
}

.no-link {
	cursor: default;
	pointer-events: none;
}

@media (max-width: 800px) {
	.navi-menu-btn {
		top: 10px;
		right: 10px;
		width: 55px;
		height: 55px;
	}

	.navi-menu-btn .hamburger-line {
		width: 25px;
		height: 2px;
		margin: 18px 0 13px;
	}

	.navi-menu-btn .hamburger-line::before {
		top: -8px;
	}

	.navi-menu-btn .hamburger-line::after {
		top: 8px;
	}

	.navi-menu-btn .ttl {
		font-size: 11px;
	}

	.g-navi-contents {
		padding: 80px 0 30px;
		max-width: 100%;
	}
	.g-navi-list{
		width: auto;
	}
	.g-navi-list>li {
		padding: 0 0 0 23px;
	}

	.g-navi-list>li:before {
		width: 10px;
		height: 15px;
		top: 10px;
	}

	.g-navi-list>li>a {
		font-size: 20px;
	}
}

/*-----------------------------------------------------------
top contents
-----------------------------------------------------------*/
.container {
	margin-inline: auto;
	max-width: 1024px;
	width: 90%;
}

.container.narrow {
	max-width: 822px;
	width: 80%;
}

.t-ttl {
	font-size: 80px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

@media screen and (max-width: 640px) {
	.t-ttl {
		font-size: 45px;
	}
}

/* ----------------------------------------------------
    sec01
---------------------------------------------------- */
.sec01,
.sec02 {
	margin: 0 0 50px;
}

@media screen and (max-width: 640px) {

	.sec01,
	.sec02 {
		margin: 0 0 20px;
	}
}

/* ----------------------------------------------------
    sec04
---------------------------------------------------- */
.sec04 {
	background-color: #FFFAD3;
	padding: 50px 0;
	margin: 0 0 50px;
}

.sec04 .t-ttl {
	color: #EF5B27;
}

@media screen and (max-width: 640px) {
	.sec04 {
		padding: 20px 0;
		margin: 0 0 20px;
	}
}

/* ----------------------------------------------------
    sec05
---------------------------------------------------- */
.sec05 {
	margin: 0 0 10px;
}

@media screen and (max-width: 640px) {
	.sec05 {}
}

/* ----------------------------------------------------
    sec06
---------------------------------------------------- */
.sec06 {
	margin: 0 0 50px;
}

@media screen and (max-width: 640px) {
	.sec06 {
		margin: 0 0 20px;
	}
}

/* ----------------------------------------------------
    sec07
---------------------------------------------------- */
.sec07 {
	background: #EDFDFD;
	padding: 50px 0;
	margin: 0 0 50px;
}

.sec07 .t-ttl {
	color: #3E9ADD;
	margin-bottom: 10px;
}

.sec07-txt {
	text-align: center;
	margin-bottom: 10px;
}

.sec07-btn {
	margin-top: 20px;
	text-align: center;
}

.sec07-post-layout {
	display: block;
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	border: 5px solid #fff;
	box-shadow: 0 3px 5px rgb(0 0 0/.45);
}

.sec07-post-layout:before {
	content: "";
	display: block;
	background: url(../images/share/ico_complete.png) no-repeat center/contain;
	width: 35%;
	height: auto;
	aspect-ratio: 1/1;
	position: absolute;
	right: 8px;
	top: 8px;
	z-index: 5;
}

.sec07-post-layout .l-img img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 450/550;
}

.sec07-post-layout .l-desc {
	background: rgba(0, 0, 0, 0.35);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	color: #fff;
	padding: 20px;
	position: absolute;
	inset: 0;
	z-index: 2;
}

.sec07-post-layout .l-data {
	margin-bottom: 20px;
}

.sec07-post-layout .l-data dt {
	color: #FFE800;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
	position: relative;
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 0 10px
}

.sec07-post-layout .l-data dd {
	padding: 0 0 0 40px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
}

.sec07-post-layout .l-data dd+dt {
	margin-top: 20px;
}

.sec07-post-layout .l-txt {
	font-size: 22px;
	line-height: 1.6;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	min-height: 105px;
}

#sec07-slider {
	margin-bottom: 20px;
	padding: 20px 0;
}

#sec07-slider .splide__track {
	overflow-x: clip;
	overflow-y: visible;
	display: flow-root;
}

@media screen and (max-width: 640px) {
	.sec07 {
		padding: 20px 0;
		margin: 0 0 20px;
	}

	.sec07-txt {
		text-align: left;
	}

	.sec07-btn {
		margin-top: 0;
	}

	.sec07-post-layout .l-desc {
		padding: 15px;
	}

	.sec07-post-layout .l-data dt {
		font-size: 14px;
		grid-template-columns: 15px 1fr;
		gap: 0 7px;
		margin-bottom: 5px;
	}

	.sec07-post-layout .l-data dd {
		padding: 0 0 0 22px;
		font-size: 14px;
	}

	.sec07-post-layout .l-data dd+dt {
		margin-top: 20px;
	}

	.sec07-post-layout .l-txt {
		font-size: 10px;
		-webkit-line-clamp: 2;
		min-height: 47px;
	}

	#sec07-slider {
		margin-bottom: 0px;
	}
}

/* ----------------------------------------------------
    sec08
---------------------------------------------------- */
.sec08 {
	margin: 0 0 50px;
}

.sec08 .price-area {
	background: #FFFAD4;
	padding: 50px 5%;
}

.sec08 .price-area .catch {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin: 30px 0 15px;
}

@media screen and (max-width: 640px) {
	.sec08 {
		margin: 0 0 20px;
	}

	.sec08 .t-ttl {
		font-size: 30px;
	}

	.sec08 .price-area {
		padding: 30px 5%;
	}

	.sec08 .price-area .catch {
		font-size: 16px;
		margin: 30px 0 15px;
	}
}

/* ----------------------------------------------------
    sec09
---------------------------------------------------- */
.sec09 {
	padding: 50px 0;
	margin: 0 0 50px;
	background: #FFFAD4;
}

.sec09 .table-style01 {
	margin-bottom: 30px;
}

@media screen and (max-width: 640px) {
	.sec09 {
		padding: 20px 0;
		margin: 0 0 20px;
	}

	.sec09 .table-style01 {
		margin-bottom: 10px;
	}

}


/* ----------------------------------------------------
    sec10
---------------------------------------------------- */
.sec10 {
	margin: 0 0 50px;
}

.sec10 .inner {
	max-width: 724px;
	margin: 0 auto;
}

.accordion {
	margin: auto 0;
	overflow: hidden;
	color: #333;
}

.accordion-title img {
	width: 95%;
}

.accordion-item {
	margin-top: 10px;
}

.accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 20px 30px 20px 10px;
	box-sizing: border-box;
	background-color: #fff9d1;
	cursor: pointer;
}

.accordion-icon {
	font-size: 20px;
	transition: transform 0.3s ease;
	width: 50px;
	height: 30px;
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	padding: 0 30px;
	background-color: transparent;
	transition: max-height 0.5s ease, padding 0.5s ease;
	text-align: left;
}

.accordion-header.active+.accordion-content {
	padding: 30px 30px 60px;
}

.accordion-header.active .accordion-icon {
	transform: rotate(180deg);
}

@media screen and (max-width: 640px) {
	.sec10 {
		margin: 0 0 50px;
	}

	.accordion-header {
		font-size: 20px;
		font-weight: 400;
		padding: 10px;
	}

	.accordion-icon {
		font-size: calc(16px * 0.7);
		width: calc(80px * 0.7);
		height: calc(30px * 0.7);
	}

	.accordion-header.active+.accordion-content {
		padding: 20px 30px 40px;
	}

	.accordion-content {
		font-size: 18px;
		text-align: justify;
	}
}

/* ----------------------------------------------------
    sec11
---------------------------------------------------- */
.sec11 {
	padding: 50px 0;
	background-color: #e2f7f6
}

.contact-form {
	max-width: 600px;
	width: 94%;
	margin: 0 auto;
	color: #333;
}

.contact-form table {
	border-collapse: collapse;
	margin: 0 0 30px;
	width: 100%;
}

.contact-form table th,
.contact-form table td {
	width: 100%;
	display: block;
}

.contact-form table th {
	text-align: left;
	font-weight: 700;
	font-size: 18px;
	color: #333;
}

.contact-form table td {
	margin-bottom: 24px;
}

.contact-form table tr:last-of-type td {
	margin-bottom: 0;
}

.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form input[type=number],
.contact-form input[type=date],
.contact-form select,
.contact-form textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 2px;
	padding: 0.8em;
	font-size: 18px;
	padding: 10px;
	margin: 0;
	width: 100%;
	min-height: 50px;
}

.contact-form input::placeholder {
	color: #CCC;
}

.contact-form input[type=text]:focus,
.contact-form input[type=email]:focus,
.contact-form input[type=tel]:focus,
.contact-form input[type=number]:focus,
.contact-form input[type=file]:focus,
.contact-form textarea:focus,
.contact-form select:focus {
	outline: 1px solid #ef5b27;
}

/*radio*/
.wpcf7-radio .wpcf7-list-item {
	display: inline-block;
	margin: 0 20px 0 0;
}

.wpcf7-radio label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	position: relative;
}

.wpcf7-radio input[type=radio] {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 18px;
	flex: 0 0 18px;
	display: inline-block;
	background-color: #eeeff2;
	border: 1px solid #d6d9e0;
	width: 18px;
	height: 18px;
	border-radius: 50px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 6px 10px 0 0;
}

.wpcf7-radio input[type=radio]+span::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background: #ef5b27;
	border-radius: 50%;
	position: absolute;
	top: 11px;
	left: 5px;
	opacity: 0;
	z-index: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	-webkit-transform: scale(0);
	transform: scale(0);
}

.wpcf7-radio input[type=radio]:checked+span::before {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.contact-form input[type=radio]:focus-visible {
	border-color: #ef5b27;
	outline: none;
}

/*checkbox*/
.wpcf7-checkbox .wpcf7-list-item {
	display: inline-block;
	margin: 0 20px 0 0;
}

.wpcf7-checkbox label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	position: relative;
}

.wpcf7-checkbox input[type=checkbox] {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 18px;
	flex: 0 0 18px;
	display: inline-block;
	background-color: #eeeff2;
	border: 1px solid #d6d9e0;
	width: 18px;
	height: 18px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 6px 10px 0 0;
}

.wpcf7-checkbox input[type=checkbox]+span::before {
	content: "";
	display: block;
	border: solid #ef5b27;
	border-width: 0 2px 2px 0;
	width: 6px;
	height: 10px;
	position: absolute;
	top: 9px;
	left: 6px;
	-webkit-transform: rotate(45deg) scale(0);
	transform: rotate(45deg) scale(0);
	opacity: 0;
	z-index: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.wpcf7-checkbox input[type=checkbox]:checked+span::before {
	opacity: 1;
	-webkit-transform: rotate(45deg) scale(1);
	transform: rotate(45deg) scale(1);
}

/*wpcf7-acceptance*/
.wpcf7-acceptance .wpcf7-list-item {
	display: inline-block;
	margin: 0 20px 0 0;
}

.wpcf7-acceptance label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	position: relative;
}

.wpcf7-acceptance input[type=checkbox] {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 18px;
	flex: 0 0 18px;
	display: inline-block;
	background-color: #eeeff2;
	border: 1px solid #d6d9e0;
	width: 18px;
	height: 18px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 6px 10px 0 0;
}

.wpcf7-acceptance input[type=checkbox]+span::before {
	content: "";
	display: block;
	border: solid #ef5b27;
	border-width: 0 2px 2px 0;
	width: 6px;
	height: 10px;
	position: absolute;
	top: 9px;
	left: 6px;
	-webkit-transform: rotate(45deg) scale(0);
	transform: rotate(45deg) scale(0);
	opacity: 0;
	z-index: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.wpcf7-acceptance input[type=checkbox]:checked+span::before {
	opacity: 1;
	-webkit-transform: rotate(45deg) scale(1);
	transform: rotate(45deg) scale(1);
}

.contact-form input[type=checkbox]:focus-visible {
	border-color: #ef5b27;
	outline: none;
}

.contact-form textarea {
	height: 200px;
	resize: vertical;
}

/*select*/
.contact-form select::-ms-expand {
	display: none;
}

.contact-form .select-wrap {
	position: relative;
}

.contact-form .select-wrap::after {
	content: "";
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #333 transparent transparent transparent;
	pointer-events: none;
	position: absolute;
	right: 15px;
	top: 22px;
}

/*送信ボタン*/
button {
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	outline: none;
}

.contact-form .submit-btn,
.contact-form .wpcf7cp-btns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.contact-form .submit-btn [type=submit] {
	-webkit-appearance: none;
	background: url(../images/f_btn_pc.webp) no-repeat center/contain;
	border: none;
	border-radius: 0;
	outline: none;
	cursor: pointer;
	font-size: 0;
	color: transparent;
	letter-spacing: 3px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 414px;
	height: 86px;
}

.contact-form .submit-btn [type=submit]:disabled {
	opacity: 0.2;
	cursor: default;
	pointer-events: none;
}

.contact-form .submit-btn [type=submit]:is(:hover, :focus) {
	opacity: 0.7;
}


/*送信中*/
.loading-wrapper {
	display: none;
	background-color: rgba(0, 0, 0, 0.25);
	position: fixed;
	top: 0;
	left: 0;
	width: 300vw;
	height: 300vh;
}

.loading-send {
	background: #fff;
	padding: 35px 70px;
	box-shadow: 0 4px 8px -1px rgba(0, 32, 128, 0.1), 0 0 0 1px #f0f2f7;
	border-radius: 5px;
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	white-space: nowrap;
	z-index: 1000;
}

.loading-send-dot,
.loading-send-dot::before,
.loading-send-dot::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background-color: #9FACE6;
	position: absolute;
	top: 0;
	-webkit-animation: dot-flashing 1s infinite alternate;
	animation: dot-flashing 1s infinite alternate;
}

.loading-send-dot {
	margin-top: 5px;
	position: relative;
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}

.loading-send-dot::before {
	left: -15px;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}

.loading-send-dot::after {
	left: 15px;
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}

@-webkit-keyframes dot-flashing {
	0% {
		background-color: #9FACE6;
	}

	50%,
	100% {
		background-color: #ccc;
	}
}

@keyframes dot-flashing {
	0% {
		background-color: #9FACE6;
	}

	50%,
	100% {
		background-color: #ccc;
	}
}

.c-form {
	max-width: 724px;
	margin: 0 auto;
}

.c-form__item {
	padding-bottom: 8px;
	margin-bottom: 50px;
	background-color: #fff;
	width: 100%;
}

.c-form__label,
.c-form__input {
	text-align: left;
}

.c-form__label {
	font-weight: bold;
	font-size: 24px;
}

.c-form__input {
	font-size: 20px;
	border: solid 1px #333;
	border-radius: 8px;
	padding: 15px 8px 15px 8px;
	margin: 5px 0 20px 0;
}

.contact .c-form__input {
	display: block;
	width: 96%;
}

.c-form__input:focus-visible {
	outline: #C50014 auto 1px;
}

.c-form__required {
	color: #fff;
	font-size: 14px;
	background-color: #C50014;
	border-radius: 4px;
	padding: 2px 5px;
	margin: 0 0 0 10px;
	vertical-align: middle
}

textarea.c-form__input {
	height: 160px;
	flex-grow: 1;
}

textarea::placeholder {
	color: #999;
	font-weight: lighter !important;
}

.c-form__submit {
	width: 100%;
}

.c-form__submit input {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
	width: 70%;
}

.c-form__submit input {
	filter: drop-shadow(2px 2px 2px #c5c5c5);
}




.scroll-box {
	border: 1px solid #ccc;
	padding: 15px 0 15px 15px;
	margin: 15px 0;
}

.scroll-box__inner {
	height: 300px;
	overflow-y: auto;
	width: 100%;
}

.scroll-box__inner p {
	padding-right: 0.6em;
	font-size: 16px;
}

.scroll-box p {
	margin-bottom: 1em;
	line-height: 1.6;
}

.privacy-check {
	text-align: center;
	padding: 20px 0;
}

.privacy-check input[type="checkbox"] {
	margin-right: 8px;
}

.privacy-title {
	text-align: left;
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 18px;
}

.privacy-subtitle {
	white-space: wrap;
	font-size: 17px;
}

.privacy-subtitle {
	font-weight: bold;
}

.company {
	margin-left: 20px;
}

.company ul {
	list-style: none;
}

.company ul li {
	margin-bottom: 10px;
}

.announce {
	padding-top: 10px;
}

.ul-list li {
	list-style-type: disc;
	margin-left: 20px;
	font-size: 16px;
	padding-right: 1em;
}

.ul-list {
	margin-bottom: 24px;
}




@media screen and (max-width: 640px) {
	.sec11 {
		padding: 20px 0;
	}

	.contact-form {
		border: none;
		padding: 0;
	}

	.contact-form table {
		margin: 0 0 20px;
	}

	.contact-form .submit-btn [type=submit] {
		background: url(../images/f_btn_sp.webp) no-repeat center/contain;
		height: 67px;
		width: 263px;
	}

	.scroll-box__inner>div {
		padding: 0 !important;
		margin: 0 !important;
		font-size: 16px;
	}

	.privacy-check {
		text-align: left;
		line-height: 1.2;
		padding: 16px;
	}

	.c-form__item {
		padding-bottom: 10px;
	}

	.c-form__submit input {
		margin-top: 0px;
		width: 97%;
		margin-left: 0px;
	}

	.scroll-box {
		padding-right: 0;
	}

	.scroll-box p {
		font-size: 16px;
	}

	.scroll-box__inner {
		width: 100%;
		height: 200px;
	}
}

/* ----------------------------------------------------
    CTA
---------------------------------------------------- */
.cta {
	margin: 0 0 50px;
}

.cta-frame {
	margin: 0 auto;
	position: relative;
}

.cta-frame .bnr {
	margin-bottom: 10px;
}

.cta-frame .btns {
	display: flex;
	flex-direction: column;
}

.cta-frame .cta01 {
	bottom: 10px;
}

.cta-frame .tel {
	margin-bottom: 10px;
	position: relative;
}

.cta-frame .tel a,
.mail a {
	transition: all .2s;
}

.cta-frame .tel:hover {
	opacity: 0.7;
}

.cta-frame .mail:hover {
	opacity: 0.7;
}

.cta-frame .tel-pc {
	position: relative;
}

.cta-frame .js-tel-status {
	display: block;
	position: absolute;
	inset: auto 0 35px;
	font-size: 20px;
	text-align: center;
	font-weight: 500;
	color: #fff;
}

.cta-frame .tel01 .js-tel-status {
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 72%;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
}

@media screen and (max-width: 640px) {
	.cta {
		margin: 0 0 20px;
	}

	.cta-frame .cta01 {
		top: 15%;
	}

	.cta-frame .tel {
		margin-bottom: 0;
	}

	.cta-frame .js-tel-status {
		display: block;
		position: absolute;
		inset: auto 0 3.5vw;
		font-size: 3vw;
	}

	.cta-frame .tel01 .js-tel-status {
		top: 70%;
		font-size: 14px;
		width: 100%;
		text-align: center;
	}
}

/*-----------------------------------------------------------
footer
-----------------------------------------------------------*/
.footer {
	background-color: #f0793c;
	color: #fff;
	padding: 30px 0;
	font-size: 14px;
	font-weight: 200;
	text-align: center;
	overflow: hidden;
}

.footer-link {
	width: 92%;
	margin: 0 auto;
}

.footer-link a {
	color: #fff;
	text-decoration: none;
	display: inline-block;
}

.copy-right {
	margin-top: 6px;
	text-align: center;
}

/* ----------------------------------------------------
    固定ボタン
---------------------------------------------------- */
.fixed-bottom-link {
	position: fixed;
	bottom: 0;
	padding: 10px 0;
	background-color: #000000da;
	z-index: 100;
	width: 100%;
	display: none;
	/* 初期状態では非表示 */
	left: 0;
}

.fixed-bottom-link.show {
	display: block;
	/* クラスが付与されたら表示 */
}

.fixed_logo {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	color: #fff;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 0px;
}

.fixed_logo span {
	color: #ffff00;
	font-size: 30px;
}

.fixed_btn {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin: 0 auto;
}

.fixed_btn a:hover {
	opacity: 0.8;
}

.fixed_btn_item {
	width: calc((724px - 8px)/2);
}

.fixed-bottom-link .inner {
	width: 724px;
	margin: 0 auto;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

/*フッターまでスクロールしたら消す*/
.fixed-bottom-link.is-hidden {
	visibility: hidden;
	opacity: 0;
}

@media screen and (max-width: 640px) {
	.fixed-bottom-link {
		padding: 10px 0 20px;
	}

	.fixed_logo {
		font-size: 15px;
		line-height: 1.6;
		margin-bottom: 5px;
	}

	.fixed_logo span {
		font-size: 18px;
	}

	.fixed_btn {
		gap: 4px;
	}

	.fixed-bottom-link .inner {
		width: 94%;
	}
}


/*-----------------------------------------------------------
under
-----------------------------------------------------------*/
.u-contents p+p {
	margin-top: 15px;
}

/*------------
サイドバー
--------------*/
.sidebar-layout {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 1024px;
	width: 90%;
}

.sidebar-layout .contents {
	width: 740px;
	margin-bottom: 50px;
}

.sidebar-layout .side-navi {
	width: 240px;
	margin-bottom: 50px;
}

.side-links01 {
	border-top: 4px solid #ef5b27;
	margin-bottom: 30px;
}

.side-links01 .side-link-ttl {
	font-size: 16px;
	font-weight: 700;
	padding: 15px 0;
	line-height: 1.5;
}

.side-links01-list>li {
	border-bottom: 1px solid #ccc;
	position: relative;
	padding: 0 0 13px 15px;
	margin: 0 0 13px;
}

.side-links01-list>li:before {
	background: #FC5E15;
	border-radius: 50%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 13px;
	width: 5px;
	height: 5px;
}

.side-links01-list>li>a {
	font-size: 16px;
	font-weight: 700;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.side-links01-list>li>a:is(:hover, :focus) {
	opacity: 0.7;
}

.side-links01-list .child-wrap-col2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.side-links01-list .child {
	margin-top: 10px;
}

.side-links01-list .child .child-ttl {
	margin-bottom: 5px;
}

.side-links01-list .child .child-ttl>a {
	font-size: 16px;
	font-weight: 700;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.side-links01-list .child .child-ttl>a:is(:hover, :focus) {
	opacity: 0.7;
}

.category-list {
	font-size: 14px;
	line-height: 1.5;
}

.category-list>li {
	position: relative;
	padding: 0 0 0 24px;
}

.category-list>li::before {
	content: "";
	background: #A5A5A5;
	width: 10px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 11px;
}

.category-list>li+li {
	margin-top: 5px;
}

.category-list>li a {
	position: relative;
	font-size: 14px;
}

.category-list>li a::after {
	content: "";
	position: absolute;
	width: 100%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #000;
	-webkit-transform-origin: bottom right;
	transform-origin: bottom right;
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.category-list>li a:is(:hover, :focus)::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: bottom left;
	transform-origin: bottom left;
}

.slide-links01-post li+li {
	margin-top: 20px;
}

.slide-links01-post .list-img {
	margin-bottom: 5px;
}

.slide-links01-post .list-img img {
	border: 1px solid #ccc;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	aspect-ratio: 12/7;
}

.slide-links01-post .list-ttl {
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.slide-links01-post .list-ttl a {
	position: relative;
}

.slide-links01-post .list-ttl a::after {
	content: "";
	position: absolute;
	width: 100%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #ef5b27;
	-webkit-transform-origin: bottom right;
	transform-origin: bottom right;
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.slide-links01-post .list-ttl a:is(:hover, :focus)::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: bottom left;
	transform-origin: bottom left;
}

@media (max-width: 800px) {
	.sidebar-layout {
		display: block;
	}

	.sidebar-layout .contents {
		width: 100%;
		margin-bottom: 50px;
	}

	.sidebar-layout .side-navi {
		width: 100%;
		margin-bottom: 50px;
		position: relative;
	}

	.category-list.list-col2 {
		column-count: 2;
	}
}

/*------------
パンくず
--------------*/
.breadcrumb {
	margin: 5px 0 55px;
	width: 100%;
}

.breadcrumb ul {
	margin-inline: auto;
	max-width: 1024px;
	width: 90%;
}

.breadcrumb ul li {
	color: #888;
	font-size: 13px;
	display: inline;
}

.breadcrumb ul li a {
	text-decoration: underline;
}

.breadcrumb ul li a:is(:hover, :focus) {
	text-decoration: none;
}

.breadcrumb ul li+li:before {
	content: "> ";
	padding: 0 5px;
	color: #ccc;
}

@media (max-width: 800px) {
	.breadcrumb {
		margin: 5px 0 30px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.breadcrumb ul {
		margin-inline: auto;
		max-width: 1024px;
		width: 90%;
	}
}

/*------------
page ttl
--------------*/
.page-ttl {
	height: 250px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #FFFAD4;
}

.page-ttl h2 {
	font-size: 45px;
	font-weight: 700;
	text-align: center;
}

@media (max-width: 800px) {
	.page-ttl {
		height: 100px;
	}

	.page-ttl h2 {
		font-size: 25px;
	}
}

/*------------
見出し
--------------*/
.u-h3,
.postdata h3 {
	border-bottom: 1px solid #ccc;
	font-size: 30px;
	font-weight: 700;
	padding: 0 0 10px;
	margin: 0 0 20px;
	position: relative;
}

.u-h3::after,
.postdata h3::after {
	content: "";
	background: #EF5B27;
	width: 40px;
	height: 2px;
	position: absolute;
	bottom: -1px;
	left: 0;
}

.u-h4,
.postdata h4 {
	color: #EF5B27;
	font-size: 25px;
	font-weight: 700;
	margin: 0 0 15px;
}

.u-h5,
.postdata h5 {
	font-size: 23px;
	font-weight: 700;
	margin: 0 0 15px;
}

@media (max-width: 800px) {

	.u-h3,
	.postdata h3 {
		font-size: 23px;
		line-height: 1.4;
		padding: 0 0 15px;
		margin: 0 0 15px;
	}

	.u-h3::after,
	.postdata h3::after {
		width: 30px;
	}

	.u-h4,
	.postdata h4 {
		font-size: 20px;
		line-height: 1.4;
	}

	.u-h5,
	.postdata h5 {
		font-size: 16px;
		line-height: 1.4;
		margin: 0 0 15px;
	}
}

/*------------
section
--------------*/
.short+.short {
	margin-top: 60px;
}

.tall {
	margin: 0 0 90px;
}

@media (max-width: 800px) {
	.short+.short {
		margin-top: 40px;
	}

	.tall {
		margin: 0 0 60px;
	}
}

/*------------
column
--------------*/
.col2,
.col2-col2,
.col3,
.col3-col2,
.col4,
.col4-col2 {
	display: -ms-grid;
	display: grid;
}

.col2,
.col2-col2 {
	-ms-grid-columns: 1fr 30px 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

.col3,
.col3-col2 {
	-ms-grid-columns: 1fr 30px 1fr 30px 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.col4,
.col4-col2 {
	-ms-grid-columns: 1fr 30px 1fr 30px 1fr 30px 1fr;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px 30px;
}

@media (max-width: 800px) {

	.col2,
	.col3,
	.col4 {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.col2-col2,
	.col3-col2,
	.col4-col2 {
		-ms-grid-columns: 1fr 20px 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 15px 20px;
	}
}

/*------------
list
--------------*/
.list-disc li {
	position: relative;
	padding: 0 0 0 15px;
}

.list-disc li:before {
	background: #FC5E15;
	border-radius: 50%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 15px;
	width: 5px;
	height: 5px;
}

.list-disc li+li {
	margin-top: 3px;
}

.list-decimal {
	padding-left: 22px;
}

.list-decimal li {
	list-style: decimal;
}

.list-decimal li+li {
	margin-top: 3px;
}


.list-col2 {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
}

.list-col3 {
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
}

@media (max-width: 800px) {
	.list-disc li:before {
		top: 10px;
	}

	.list-check li:before {
		top: 5px;
	}

	.list-col2 {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}

	.list-col3 {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
}

/*------------
table
--------------*/
.table-style01 {
	border: 1px solid #AEADA9;
	border-collapse: collapse;
	width: 100%;
}

.table-style01 th,
.table-style01 td {
	background: #fff;
	padding: 20px 30px;
	border: 1px solid #AEADA9;
	vertical-align: middle;
}

.table-style01 th {
	font-size: 30px;
	font-weight: 700;
	text-align: left;
}

.table-style01 td {
	font-size: 24px;
}

.table-style02 {
	border-collapse: collapse;
	width: 100%;
}

.table-style02 th,
.table-style02 td {
	background: #fff;
	padding: 20px 30px;
	border: 1px solid #ccc;
	vertical-align: middle;
	font-size: 20px;
}

.table-style02 th {
	background-color: #f0793c;
	font-weight: bold;
	color: #fff;
	text-align: left;
}

@media (max-width: 800px) {
	.table-style01.sp-block colgroup {
		display: none;
	}

	.table-style01.sp-block th,
	.table-style01.sp-block td {
		border: none;
		display: block;
		width: 100%;
	}

	.table-style01.sp-block th {
		padding-bottom: 0;
	}

	.table-style01.sp-block td {
		border-bottom: 1px solid #ddd;
	}

	.table-style01 th,
	.table-style01 td {
		font-size: 14px;
		line-height: 1.5;
		padding: 15px;
	}

	.table-style02.sp-block colgroup {
		display: none;
	}

	.table-style02.sp-block {
		border: 1px solid #ddd;
	}

	.table-style02.sp-block th,
	.table-style02.sp-block td {
		border: none;
		display: block;
		width: 100%;
	}

	.table-style02 th,
	.table-style02 td {
		font-size: 14px;
		line-height: 1.5;
		padding: 15px;
	}
}

/*------------
.box-style01
--------------*/
.box-style01 {
	background: #FFFAD3;
	border-radius: 10px;
	padding: 40px 30px;
}

.box-style01 .box-ttl {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 20px;
}

.box-style01 .list-disc li {
	font-size: 14px;
	line-height: 1.8;
}

.box-style01 .list-disc li:before {
	background: #FA7538;
	top: 10px;
}

/*------------
list01
--------------*/
.list01 {
	-ms-grid-columns: 1fr 10px 1fr;
	grid-template-columns: repeat(2, 1fr);
	display: -ms-grid;
	display: grid;
	font-size: 14px;
}

.list01 li {
	position: relative;
	padding: 0 0 0 15px;
}

.list01 li:before {
	background: #FA7538;
	border-radius: 50%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 10px;
	width: 5px;
	height: 5px;
}

@media (max-width: 800px) {
	.list01 {
		display: block;
	}
}

/*------------
投稿パーツ
--------------*/
/*list-post-type01*/
.list-post-type01 {
	margin-bottom: 50px;
}

.list-post-type01 li {
	display: flow-root;
}

.list-post-type01 li+li {
	border-top: 1px solid #ccc;
	margin-top: 30px;
	padding-top: 30px;
}

.list-post-type01 .list-ttl {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 10px;
}

.list-post-type01 .list-ttl a {
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.list-post-type01 .list-ttl a:is(:hover, :focus) {
	opacity: 0.5;
}

.list-post-type01 .list-img {
	float: left;
	margin: 0 25px 0 0;
	width: 33%;
}

.list-post-type01 .list-img img {
	border: 1px solid #ccc;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	aspect-ratio: 3/2;
}

.list-post-type01 .list-img a {
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.list-post-type01 .list-img a:is(:hover, :focus) {
	opacity: 0.5;
}

.list-post-type01 .list-data {
	margin: 0 0 5px;
}

.list-post-type01 time {
	display: inline-block;
	color: #6A6A6A;
	font-size: 13px;
	vertical-align: -1px;
	margin: 0 10px 0 0;
}

.list-post-type01 .category {
	background: #FFFAD4;
	color: #ef5b27;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	border-radius: 13px;
	line-height: 1;
	padding: 7px 14px;
	margin: 0 10px 0 0;
}

.list-post-type01 .list-txt {
	margin: 0 0 25px;
}

.list-post-type01 .list-btn {
	text-align: right;
}

.list-post-type01 .list-btn a {
	display: inline-block;
	color: #ef5b27;
	font-size: 15px;
	font-weight: 700;
	position: relative;
	line-height: 1.7;
}

.list-post-type01 .list-btn a::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #ef5b27;
	border-right: 2px solid #ef5b27;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	vertical-align: middle;
	margin-right: 8px;
}

.list-post-type01 .list-btn a::after {
	content: "";
	position: absolute;
	width: 100%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #ef5b27;
	-webkit-transform-origin: bottom right;
	transform-origin: bottom right;
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
	transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.list-post-type01 .list-btn a:is(:hover, :focus)::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: bottom left;
	transform-origin: bottom left;
}

@media (max-width: 800px) {
	.list-post-type01 {
		margin: 0 0 50px;
	}

	.list-post-type01 li+li {
		margin-top: 20px;
	}

	.list-post-type01 .list-ttl {
		font-size: 18px;
		padding: 0 0 7px;
		margin: 0 0 15px;
	}

	.list-post-type01 .list-img {
		float: left;
		margin: 0 15px 0 0;
		width: 40%;
	}

	.list-post-type01 .list-img img {
		width: 100%;
		height: 25vw;
	}

	.list-post-type01 .list-desc {
		margin: -5px 0 0;
	}

	.list-post-type01 time {
		font-size: 12px;
		margin: 0 15px 0 0;
	}

	.list-post-type01 .list-txt {
		font-size: 11px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		margin: 0 0 5px;
	}

	.list-post-type01 .list-btn {
		margin-top: 15px;
	}

	.list-post-type01 .list-btn a {
		font-size: 11px;
		text-align: center;
		padding: 2px 15px 4px;
	}
}

/*before-after*/
.before-after {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.before-after .item {
	text-align: center;
	width: 48.5%;
	position: relative;
}

.before-after .item+.item::before {
	content: "";
	border-style: solid;
	border-width: 9px 0 9px 9px;
	border-color: transparent transparent transparent #FC5E15;
	position: absolute;
	left: -4%;
	top: calc(50% - 20px);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.before-after .item+.item::after {
	content: "";
	display: block;
	width: 136px;
	height: 136px;
	background: url(../images/share/ico_complete.png) no-repeat center/contain;
	position: absolute;
	right: 8px;
	top: 8px;
}

.before-after figure img {
	border-radius: 10px;
	max-height: 350px;
	-o-object-fit: contain;
	object-fit: contain;
}

.before-after p {
	color: #ef5b27;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	margin-top: 10px;
}

@media (max-width: 800px) {
	.before-after {
		display: block;
	}

	.before-after .item {
		width: 100%;
	}

	.before-after .item+.item {
		margin-top: 50px;
	}

	.before-after .item+.item::before {
		left: 50%;
		top: -35px;
		-webkit-transform: translate(-50%, 0) rotate(90deg);
		transform: translate(-50%, 0) rotate(90deg);
	}

	.before-after figure img {
		max-height: 100%;
	}
}

/*詳細ページ*/
.l-post-single {
	margin-bottom: 50px;
}

.l-post-single .l-ttl {
	font-size: 40px;
	font-weight: 700;
	margin: 0 0 35px;
}

.l-post-single .post-data {
	margin: 0 0 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.l-post-single .post-data time {
	display: inline-block;
	color: #9F9F9F;
	font-size: 13px;
	vertical-align: -1px;
	margin: 0 10px 0 0;
}

.l-post-single .post-data>.category {
	background: #FFFAD4;
	color: #ef5b27;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 7px 14px;
	border-radius: 13px;
	margin: 0 10px 0 0;
}

.l-post-single .post-dl-category {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.l-post-single .post-dl-category dt {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 0 0 0 30px;
	position: relative;
	margin-right: 15px;
}

.l-post-single .post-dl-category dt i {
	position: absolute;
	left: 0;
	top: 0;
}

.l-post-single .post-dl-category dt i img {
	width: 15px;
	height: auto;
}

.l-post-single .post-dl-category dt:nth-of-type(1) {
	color: #333;
}

.l-post-single .post-dl-category dt:nth-of-type(2) {
	color: #333;
}

.l-post-single .post-dl-category dd {
	color: #333;
	font-size: 14px;
}

.l-post-single .post-dl-category dd>.category {
	color: #333;
	text-decoration: underline;
}

.l-post-single .post-dl-category dd>.category:hover {
	text-decoration: none;
}

.l-post-single .post-dl-category dd+dt {
	margin-left: 30px;
}

@media (max-width: 800px) {
	.l-post-single .l-ttl {
		font-size: 25px;
		margin: 0 0 30px;
	}

	.l-post-single .post-data {
		margin: 0 0 20px;
		display: block;
	}

	.l-post-single .post-data time {
		display: block;
		margin: 0;
	}

	.l-post-single .post-dl-category {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 110px 1fr;
		grid-template-columns: 110px 1fr;
		margin-bottom: 20px;
	}

	.l-post-single .post-dl-category dt i {
		top: -1px;
	}

	.l-post-single .post-dl-category dd {
		font-size: 14px;
	}

	.l-post-single .post-dl-category dd>.category {
		text-decoration: underline;
	}

	.l-post-single .post-dl-category dd>.category:hover {
		text-decoration: none;
	}

	.l-post-single .post-dl-category dd+dt {
		margin-left: 0;
	}
}

/*postdata*/
.postdata p,
.postdata ul,
.postdata ol {
	margin-bottom: 15px;
}

.postdata a {
	color: #ef5b27;
	text-decoration: underline;
}

.postdata a:is(:hover, :focus) {
	text-decoration: none;
}

.postdata strong {
	font-weight: bold;
}

.postdata em {
	font-style: italic;
}

.postdata ul li {
	position: relative;
	padding: 0 0 0 0.8em;
}

.postdata ul li:before {
	background: #FC5E15;
	border-radius: 50%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.9em;
	width: 0.3em;
	height: 0.3em;
}

.postdata ol li {
	list-style: inside decimal;
}

.postdata ol li>ol {
	margin: 0 0 0 15px;
}

/*検索*/
.search-area {
	border: 1px solid #ccc;
}

.search-area .search_container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	border: none;
	border-radius: 0;
	background: #fff;
	height: 44px;
	width: 100%;
}

.search-area .search_container input[type=submit] {
	cursor: pointer;
	border: none;
	border-radius: 0;
	width: 44px;
	height: 44px;
	outline: none;
	background: url(../images/share/ico_search.svg) no-repeat center;
}

.search-area .search_container input[type=text] {
	border: none;
	border-radius: 10px;
	font-size: 16px;
	height: 44px;
	width: 100%;
	padding-left: 10px;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.search-area .search_container input[type=text]:focus {
	outline: 0;
}

.search-area .search_container input[type=text]::-webkit-input-placeholder {
	color: #9F9F9F;
}

.search-area .search_container input[type=text]::-moz-placeholder {
	color: #9F9F9F;
}

.search-area .search_container input[type=text]:-ms-input-placeholder {
	color: #9F9F9F;
}

.search-area .search_container input[type=text]::-ms-input-placeholder {
	color: #9F9F9F;
}

.search-area .search_container input[type=text]::placeholder {
	color: #9F9F9F;
}

/*ページャー*/
.post-number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 50px 0 0;
}

.post-number a {
	background: #FFFAD3;
	color: #333;
	font-size: 16px;
	font-weight: 700;
	display: block;
	padding: 0 10px;
	margin: 0 5px 10px;
	line-height: 40px;
	text-align: center;
	min-width: 40px;
	text-decoration: none;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.post-number a:is(:hover, :focus) {
	background: #ef5b27;
	color: #fff;
}

.post-number .current {
	background: #ef5b27;
	color: #fff;
	display: block;
	font-size: 16px;
	font-weight: 700;
	margin: 0 5px 10px;
	line-height: 40px;
	text-align: center;
	min-width: 40px;
}

.post-number-single {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

.post-number-single a {
	display: inline-flex;
	align-items: center;
	color: #333;
}

.post-number-single a[rel=next] {
	margin-top: 0;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.post-number-single a[rel=next]::before {
	content: "";
	background: url(../images/share/ico_arrow_post_left.svg) no-repeat center center/contain;
	display: inline-block;
	margin-right: 5px;
	width: 24px;
	height: 66px;
}

.post-number-single a[rel=next]:hover,
.post-number-single a[rel=next]:focus {
	opacity: 0.5;
}

.post-number-single a[rel=prev] {
	margin-top: 0;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.post-number-single a[rel=prev]::after {
	content: "";
	background: url(../images/share/ico_arrow_post_right.svg) no-repeat center center/contain;
	display: inline-block;
	margin-right: 5px;
	width: 24px;
	height: 66px;
}

.post-number-single a[rel=prev]:hover,
.post-number-single a[rel=prev]:focus {
	opacity: 0.5;
}

.post-number-single a.all {
	display: inline-block;
	border: 3px solid #ef5b27;
	border-radius: 100px;
	background: #fff;
	-webkit-box-shadow: 5px 5px #B8DFF3;
	box-shadow: 5px 5px #B8DFF3;
	color: #333;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.1em;
	padding: 18px 30px;
	position: relative;
	text-align: left;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	margin-inline: auto;
}

.post-number-single a.all:is(:hover, :focus) {
	background: #FFFAD3;
}

@media (max-width: 800px) {
	.post-number-single a.all {
		padding: 10px;
	}
}

/*-----------------------------------------------------------
common
-----------------------------------------------------------*/
.pc-item {
	display: block;
}

.sp-item {
	display: none;
}

.fade {
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.fade:is(:hover, :focus) {
	opacity: 0.5;
}

.bold,
strong {
	font-weight: bold;
}

.marker {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #FBEF6D));
	background: linear-gradient(transparent 70%, #FBEF6D 70%);
	background-position: left 0 bottom 3px;
}

.red {
	color: #F44336;
}

.orange {
	color: #FC5E15;
}

.notice {
	font-size: 13px;
	text-indent: -16px;
	padding: 0 0 0 15px;
}

.sp-map iframe,
.sp-map object,
.sp-map embed {
	vertical-align: top;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

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

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

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

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

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

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

.mt0 {
	margin-top: 0 !important;
}

.tac {
	text-align: center;
}

.tar {
	text-align: right;
}

.tal {
	text-align: left;
}

@media (max-width: 800px) {

	/*-----------------------------------------------------------
	common SP
	-----------------------------------------------------------*/
	.pc-item {
		display: none;
	}

	.sp-item {
		display: block;
	}

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

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

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

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

	.sp-map {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}

	.sp-map iframe,
	.sp-map object,
	.sp-map embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


/*-----------------------------------------------------------
splide
-----------------------------------------------------------*/
/*各種色設定*/
:root {
	--splide-arrow-color: #ef5b27;
	/*矢印*/
	--splide-focus-color: #ef5b27;
	/*タブ移動によるフォーカス時のアウトライン*/
	--splide-pagination-color: #ef5b27;
	/*アクティブ時のページネーション*/
	--splide-progress-color: #ef5b27;
	/*プログレスバー*/
	--splide-toggle-color: #ef5b27;
	/*再生ボタン*/
	--splide-track-color: #ef5b27;
	/*サムネイルの枠*/
}

.splide__container {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}

.splide__list {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
	display: block;
}

.splide__pagination {
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	margin: 0;
	pointer-events: none;
}

.splide__pagination li {
	display: inline-block;
	line-height: 1;
	list-style-type: none;
	margin: 0;
	pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
	display: none;
}

.splide__progress {
	background: #ddd;
	margin-top: 10px;
}

.splide__progress__bar {
	width: 0;
}

.splide {
	position: relative;
	visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
	visibility: visible;
}

.splide__slide {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	list-style-type: none !important;
	margin: 0;
	position: relative;
}

.splide__slide img {
	vertical-align: bottom;
}

.splide__spinner {
	-webkit-animation: splide-loading 1s linear infinite;
	animation: splide-loading 1s linear infinite;
	border: 2px solid #999;
	border-left-color: transparent;
	border-radius: 50%;
	bottom: 0;
	contain: strict;
	display: inline-block;
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px;
}

.splide__sr {
	clip: rect(0 0 0 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
	display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
	display: inline;
}

.splide__controls {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 15px;
}

.splide__controls .splide__pagination {
	position: static;
}

.splide__track {
	overflow: hidden;
	position: relative;
	z-index: 0;
}

@-webkit-keyframes splide-loading {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes splide-loading {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

.splide__track--draggable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.splide__track--fade>.splide__list>.splide__slide {
	margin: 0 !important;
	opacity: 0;
	z-index: 0;
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.splide--rtl {
	direction: rtl;
}

.splide__track--ttb>.splide__list {
	display: block;
}

.splide__arrow {
	background: none;
	border: none;
	cursor: pointer;
	width: 35px;
	height: 35px;
	opacity: 1;
	padding: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.splide__arrow svg {
	width: 100%;
	height: 100%;
	fill: var(--splide-arrow-color);
}

.splide__arrow:hover:not(:disabled) {
	opacity: 0.3;
}

.splide__arrow:disabled {
	opacity: 0.3;
}

.splide__arrow:focus-visible {
	outline: 3px solid var(--splide-focus-color);
	outline-offset: 3px;
}

.splide__arrow--prev {
	left: 20px;
	-webkit-transform: translateY(-50%) scaleX(-1);
	transform: translateY(-50%) scaleX(-1);
}

.splide__arrow--next {
	right: 20px;
}

.splide.is-focus-in .splide__arrow:focus {
	outline: 3px solid var(--splide-focus-color);
	outline-offset: 3px;
}

.splide__pagination {
	bottom: 15px;
	left: 0;
	padding: 0;
	position: absolute;
	right: 0;
	z-index: 1;
}

.splide__pagination__page {
	background: #ddd;
	border: 0;
	border-radius: 50%;
	display: inline-block;
	height: 8px;
	margin: 5px;
	opacity: 1;
	padding: 0;
	position: relative;
	-webkit-transition: -webkit-transform 0.2s linear;
	transition: -webkit-transform 0.2s linear;
	transition: transform 0.2s linear;
	transition: transform 0.2s linear, -webkit-transform 0.2s linear;
	width: 8px;
}

.splide__pagination__page.is-active {
	background: var(--splide-pagination-color);
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
	z-index: 1;
}

.splide__pagination__page:hover {
	cursor: pointer;
	opacity: 0.9;
}

.splide__pagination__page:focus-visible {
	outline: 3px solid var(--splide-focus-color);
	outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
	outline: 3px solid var(--splide-focus-color);
	outline-offset: 3px;
}

.splide__progress__bar {
	background: var(--splide-progress-color);
	height: 3px;
}

.splide__slide {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
	outline: 0;
}

@supports (outline-offset: -3px) {
	.splide__slide:focus-visible {
		outline: 3px solid var(--splide-focus-color);
		outline-offset: -3px;
	}
}

@supports (outline-offset: -3px) {
	.splide.is-focus-in .splide__slide:focus {
		outline: 3px solid var(--splide-focus-color);
		outline-offset: -3px;
	}
}

.splide__toggle {
	border: 0;
	padding: 0;
	cursor: pointer;
	background: #737e80;
	border-radius: 50%;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-right: 10px;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
	height: 29px;
	width: 29px;
}

.splide__toggle:hover {
	background: var(--splide-toggle-color);
}

.splide__toggle svg {
	fill: #fff;
	-webkit-transition: fill 0.2s ease;
	transition: fill 0.2s ease;
	width: 12px;
	height: auto;
}

.splide__toggle:focus-visible {
	outline: 3px solid var(--splide-focus-color);
	outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
	outline: 3px solid var(--splide-focus-color);
	outline-offset: 3px;
}

.splide__track--nav>.splide__list>.splide__slide {
	border: 3px solid transparent;
	cursor: pointer;
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
	border: 3px solid var(--splide-track-color);
}

.splide__arrows--rtl .splide__arrow--prev {
	left: auto;
	right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
	left: 1em;
	right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
	left: 50%;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
	top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
	bottom: 1em;
	top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.splide__pagination--ttb {
	bottom: 0;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	left: auto;
	padding: 1em 0;
	right: 0.5em;
	top: 0;
}


@media (max-width: 800px) {
	.splide__arrow {
		width: 25px;
		height: 25px;
	}

	.splide__arrow--prev {
		left: 10px;
	}

	.splide__arrow--next {
		right: 10px;
	}
}