@charset "UTF-8";

/* base */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */

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

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
	--scrollbar: 0;
}

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

html:has(#navi[aria-hidden=false]) {
	overflow: hidden;
}

body {
	font-family: "Noto Serif JP", serif;
	font-size: 1.4rem;
	font-weight: 500;
	color: #2B2B2B;
	word-wrap: break-word;
}

a {
	color: inherit;
}

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

input,
textarea,
select,
button {
	font: inherit;
	color: inherit;
	outline: none;
}

button,
a {
	cursor: pointer;
}

button:focus-visible,
a:focus-visible {
	outline: auto;
}

/* for development */

pre {
	padding: 15px;
	background: #eee;
	font-size: 1.2rem;
	line-height: 1.2;
}

/* Tools */

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

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

.text-right {
	text-align: right;
}

.d-block {
	display: block;
}

.d-inline-block {
	display: inline-block;
}

.hidden {
	display: none !important;
}

.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}

.clearfix::after {
	clear: both;
}

.clear {
	clear: both;
}

input::placeholder {
  color: inherit;
}

/* show only  SP/PC
-------------------------------*/

.sp-only {
	display: none !important;
}

.sp-only-2 {
	display: none !important;
}

.pc-only {
	display: block !important;
}

.pc-only-2 {
	display: inline-block !important;
}

/* font
-------------------------------*/

.fw-700 {
	font-weight: 700;
}

/* margin
-------------------------------*/

/* padding
-------------------------------*/

/* gap
-------------------------------*/

/* grid
-------------------------------*/

.grid-1col > *,
.grid-2col > *,
.grid-3col > *,
.grid-4col > * {
	min-width: 0;
}

.grid-1col {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.grid-2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.grid-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.grid-4col {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

/* Layout */

.l-body {
	width: 100%;
}

.l-body.is-fixed {
	position: fixed;
}

.l-header {
	padding: 10px 10px 10px 2.6042%;
	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;
	background: #121440;
	height: 81px;
}

.l-footer {
	padding: 22px 0;
	background: #171A60;
	color: #FFF;
}

.l-wrapper {
	position: relative;
	width: 91.4667%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1080px;
}

.l-wrapper--xs {
	max-width: 920px;
}

.l-wrapper--lg {
	max-width: 1147px;
}

/* Module */

.noscript {
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	padding: 1em;
	border: 3px solid red;
}

.noscript span {
	color: red;
}

/*
#styleguide
heading-primary

SP 20px / PC 26px
デフォルトは左寄せ
```
<p class="heading-primary">見出し２です</p>
```
*/

.heading-primary {
	position: relative;
	z-index: 1;
	text-align: center;
	letter-spacing: 0.1em;
}

.heading-primary__en {
	color: #76a4de;
	font-family: "century-old-style-std", serif;
	font-size: 2.4rem;
}

.heading-primary__jp {
	font-size: 4rem;
	font-weight: 500;
	color: #FFF;
	margin-top: 10px;
}

.heading-primary__jp--black {
	color: #2B2B2B;
}

/*
#styleguide
heading-secondary

SP 20px / PC 26px
デフォルトは左寄せ
```
<p class="heading-secondary">見出し２です</p>
```
*/

.heading-secondary {
	position: relative;
	padding-bottom: 18px;
	font-size: 4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 50px;
}

.heading-secondary::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100px;
	height: 2px;
	background: #1C3DAC;
}

/*
#styleguide
heading-tertiary

SP 20px / PC 26px
デフォルトは左寄せ
```
<p class="heading-tertiary">見出し２です</p>
```
*/

.heading-tertiary {
	background: linear-gradient(173deg, #46a1d1, #2069b2);
	padding: 15px;
	font-size: 2.8rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #FFF;
	text-align: center;
	margin-bottom: 30px;
}

.bg-skyblue {
	background: #EAF8FF;
}

.bg-tile {
	background: url(../img/bg_tile_pc.png) no-repeat center center/cover;
}

.table-1 {
	border-right: 1px solid #CCCCCC;
}

.table-1__item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.table-1__item:last-child .table-1__head {
	border-bottom: none;
}

.table-1__item:last-child .table-1__detail {
	border-bottom: 1px solid #CCCCCC;
}

.table-1__head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 14px 14px 18px;
	background: #171A60;
	border-bottom: 1px solid #FFF;
	font-weight: 600;
	font-size: 2.4rem;
	line-height: 1.5;
	color: #FFF;
	text-align: center;
}

.table-1__detail {
	padding: 14px 28px 14px 14px;
	background: #FFF;
	border-top: 1px solid #CCCCCC;
	border-left: 1px solid #CCCCCC;
	font-weight: 600;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: right;
}

.table-1__detail span {
	font-size: 1.4rem;
}

.header-logo {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 227px;
}

.header-logo img {
	display: block;
}

.header-cta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 10px;
}

.header-cta__tel {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: clamp(26rem, 4.6666666667rem + 27.7777777778vw, 38rem);
	background: -webkit-gradient(linear, left bottom, left top, from(#1C3DAC), to(#5073E8));
	background: linear-gradient(to top, #1C3DAC, #5073E8);
	padding: 11px clamp(1rem, -2.2rem + 4.1666666667vw, 2.8rem) 11px clamp(1rem, -2.7333333333rem + 4.8611111111vw, 3.1rem);
	border-radius: 5px;
	color: #FFF;
}

.header-cta__tel__icon {
	display: block;
	margin-right: 3.5%;
}

.header-cta__tel__icon img {
	display: block;
}

.header-cta__tel__num {
	font-family: "bebas-neue-pro-semiexpanded", sans-serif;
	font-weight: 800;
	font-size: clamp(2.1rem, 0.1444444444rem + 2.5462962963vw, 3.2rem);
	line-height: 1.1875;
	letter-spacing: 0.03em;
	text-decoration: none;
}

.header-cta__tel__num::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border-radius: 5px;
}

.header-cta__tel__info {
	margin-left: 6.2305%;
	font-weight: 700;
	font-size: clamp(1rem, 0.4666666667rem + 0.6944444444vw, 1.3rem);
	line-height: 1.2308;
	letter-spacing: 0.05em;
}

.header-cta__btn {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 4.2105%;
	width: clamp(22rem, -0.2222222222rem + 28.9351851852vw, 34.5rem);
	background: -webkit-gradient(linear, left bottom, left top, from(#B2B2B4), color-stop(40%, #E5E8EB), color-stop(60%, #FFFFFF), to(#FFFFFF));
	background: linear-gradient(to top, #B2B2B4 0%, #E5E8EB 40%, #FFFFFF 60%, #FFFFFF 100%);
	padding: 10px clamp(2rem, -1.5555555556rem + 4.6296296296vw, 4rem) 10px clamp(1rem, -0.7777777778rem + 2.3148148148vw, 2rem);
	border-radius: 5px;
	-webkit-box-shadow: inset 0 0 6px #ffffff, 0 0 12px rgba(0, 0, 0, 0.16);
	box-shadow: inset 0 0 6px #ffffff, 0 0 12px rgba(0, 0, 0, 0.16);
	color: #171A60;
	text-decoration: none;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.header-cta__btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: clamp(1rem, -2.5555555556rem + 4.6296296296vw, 3rem);
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.header-cta__btn__icon {
	width: 28px;
}

.header-cta__btn__icon img {
	display: block;
}

.header-cta__btn__text {
	font-weight: 800;
	font-size: clamp(1.3rem, 0.4111111111rem + 1.1574074074vw, 1.8rem);
	line-height: 1.5;
}

.copyright {
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 3;
	letter-spacing: 0.05em;
	text-align: center;
}

/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face {
	font-family: swiper-icons;
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
	font-weight: 400;
	font-style: normal;
}

:root {
	--swiper-theme-color: #007aff;
}

:host {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
	display: block;
}

.swiper-vertical > .swiper-wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	-webkit-transform: translate3d(0px, 0, 0);
	transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
	-ms-touch-action: pan-y;
	touch-action: pan-y;
}

.swiper-vertical {
	-ms-touch-action: pan-x;
	touch-action: pan-x;
}

.swiper-slide {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	display: block;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-transition-property: height, -webkit-transform;
	transition-property: height, -webkit-transform;
	transition-property: transform, height;
	transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.swiper-3d {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
	scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
	scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
	scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
	content: "";
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-webkit-box-ordinal-group: 10000;
	-ms-flex-order: 9999;
	order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	-webkit-transform-origin: 50%;
	transform-origin: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
	-webkit-animation: swiper-preloader-spin 1s infinite linear;
	animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

.swiper-virtual .swiper-slide {
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
	height: 1px;
	width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
	width: 1px;
	height: var(--swiper-virtual-size);
}

:root {
	--swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
	position: absolute;
	top: var(--swiper-navigation-top-offset, 50%);
	width: calc(var(--swiper-navigation-size) / 44 * 27);
	height: var(--swiper-navigation-size);
	margin-top: calc(0px - var(--swiper-navigation-size) / 2);
	z-index: 10;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	opacity: 0.35;
	cursor: auto;
	pointer-events: none;
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
	display: none !important;
}

.swiper-button-next svg,
.swiper-button-prev svg {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-webkit-transform-origin: center;
	transform-origin: center;
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
	left: var(--swiper-navigation-sides-offset, 10px);
	right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
	right: var(--swiper-navigation-sides-offset, 10px);
	left: auto;
}

.swiper-button-lock {
	display: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	font-family: swiper-icons;
	font-size: var(--swiper-navigation-size);
	text-transform: none !important;
	letter-spacing: 0;
	font-variant: initial;
	line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
	content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
	right: var(--swiper-navigation-sides-offset, 10px);
	left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
	content: "next";
}

.swiper-pagination {
	position: absolute;
	text-align: center;
	-webkit-transition: 0.3s opacity;
	transition: 0.3s opacity;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: var(--swiper-pagination-bottom, 8px);
	top: var(--swiper-pagination-top, auto);
	left: 0;
	width: 100%;
}

.swiper-pagination-bullets-dynamic {
	overflow: hidden;
	font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transform: scale(0.33);
	transform: scale(0.33);
	position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
	-webkit-transform: scale(1);
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	-webkit-transform: scale(1);
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	-webkit-transform: scale(0.66);
	transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	-webkit-transform: scale(0.33);
	transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	-webkit-transform: scale(0.66);
	transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	-webkit-transform: scale(0.33);
	transform: scale(0.33);
}

.swiper-pagination-bullet {
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
	height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
	display: inline-block;
	border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
	background: var(--swiper-pagination-bullet-inactive-color, #000);
	opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
	border: none;
	margin: 0;
	padding: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}

.swiper-pagination-bullet:only-child {
	display: none !important;
}

.swiper-pagination-bullet-active {
	opacity: var(--swiper-pagination-bullet-opacity, 1);
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
	right: var(--swiper-pagination-right, 8px);
	left: var(--swiper-pagination-left, auto);
	top: 50%;
	-webkit-transform: translate3d(0px, -50%, 0);
	transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
	display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	display: inline-block;
	-webkit-transition: 0.2s top, 0.2s -webkit-transform;
	transition: 0.2s top, 0.2s -webkit-transform;
	transition: 0.2s transform, 0.2s top;
	transition: 0.2s transform, 0.2s top, 0.2s -webkit-transform;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transition: 0.2s left, 0.2s -webkit-transform;
	transition: 0.2s left, 0.2s -webkit-transform;
	transition: 0.2s transform, 0.2s left;
	transition: 0.2s transform, 0.2s left, 0.2s -webkit-transform;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transition: 0.2s right, 0.2s -webkit-transform;
	transition: 0.2s right, 0.2s -webkit-transform;
	transition: 0.2s transform, 0.2s right;
	transition: 0.2s transform, 0.2s right, 0.2s -webkit-transform;
}

.swiper-pagination-fraction {
	color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
	background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
	position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transform-origin: left top;
	transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	-webkit-transform-origin: right top;
	transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 100%;
	height: var(--swiper-pagination-progressbar-size, 4px);
	left: 0;
	top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
	width: var(--swiper-pagination-progressbar-size, 4px);
	height: 100%;
	left: 0;
	top: 0;
}

.swiper-pagination-lock {
	display: none;
}

.swiper-scrollbar {
	border-radius: var(--swiper-scrollbar-border-radius, 10px);
	position: relative;
	-ms-touch-action: none;
	touch-action: none;
	background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
	display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
	position: absolute;
	left: var(--swiper-scrollbar-sides-offset, 1%);
	bottom: var(--swiper-scrollbar-bottom, 4px);
	top: var(--swiper-scrollbar-top, auto);
	z-index: 50;
	height: var(--swiper-scrollbar-size, 4px);
	width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical > .swiper-scrollbar {
	position: absolute;
	left: var(--swiper-scrollbar-left, auto);
	right: var(--swiper-scrollbar-right, 4px);
	top: var(--swiper-scrollbar-sides-offset, 1%);
	z-index: 50;
	width: var(--swiper-scrollbar-size, 4px);
	height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
	height: 100%;
	width: 100%;
	position: relative;
	background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
	border-radius: var(--swiper-scrollbar-border-radius, 10px);
	left: 0;
	top: 0;
}

.swiper-scrollbar-cursor-drag {
	cursor: move;
}

.swiper-scrollbar-lock {
	display: none;
}

.swiper-zoom-container {
	width: 100%;
	height: 100%;
	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;
	text-align: center;
}

.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
	max-width: 100%;
	max-height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.swiper-slide-zoomed {
	cursor: move;
	-ms-touch-action: none;
	touch-action: none;
}

.swiper .swiper-notification {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
	pointer-events: none;
	-webkit-transition-property: opacity;
	transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-fade .swiper-slide-active {
	pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

.swiper.swiper-cube {
	overflow: visible;
}

.swiper-cube .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
	visibility: hidden;
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
	width: 100%;
	height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
	-webkit-transform-origin: 100% 0;
	transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
	pointer-events: auto;
	visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 100%;
	opacity: 0.6;
	z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
	content: "";
	background: #000;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	-webkit-filter: blur(50px);
	filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
	pointer-events: auto;
	visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper.swiper-flip {
	overflow: visible;
}

.swiper-flip .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
	-webkit-transition-property: opacity, height, -webkit-transform;
	transition-property: opacity, height, -webkit-transform;
	transition-property: transform, opacity, height;
	transition-property: transform, opacity, height, -webkit-transform;
}

.swiper.swiper-cards {
	overflow: visible;
}

.swiper-cards .swiper-slide {
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
}

/*
#styleguide
タブ
```
<div class="js-accordion">
	<button type="button" aria-expanded="false" aria-controls="【コンテンツとボタンを紐付けするid名】" class="js-accordion-btn">トリガーボタンテキスト <img src="img/icon_arrow_red.svg" alt="開く" class="js-accordion-icon"></button>
	<div id="【コンテンツとボタンを紐付けするid名】" class="js-accordion-content" aria-hidden="true">
		ここが開閉により表示が変わるテキストです。
	</div>
</div>
```
*/

.js-accordion-content {
	display: none;
}

.section {
	padding: 100px 0;
}

.fv {
	position: relative;
	padding: clamp(5rem, -18.1111111111rem + 30.0925925926vw, 18rem) 0 95px;
	background: url(../img/bg_fv_pc.jpg) no-repeat center center/cover;
}

.fv__inner {
	width: 91.4667%;
	max-width: 1130px;
	margin: 0 auto;
}

.fv__head {
	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;
	width: 63.7168%;
	padding-left: clamp(0rem, -8.8888888889rem + 11.5740740741vw, 5rem);
	margin-bottom: clamp(5rem, -0.3333333333rem + 6.9444444444vw, 8rem);
}

.fv__text-1 {
	position: relative;
	display: block;
	padding: 8px 34px;
	margin-bottom: 1.2727em;
	font-weight: 600;
	font-size: 2.2rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #FFF;
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.64);
	z-index: 1;
	text-align: center;
}

.fv__text-1::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	clip-path: polygon(4% 0%, 100% 0%, 96% 100%, 0% 100%);
	z-index: -1;
	background: -webkit-gradient(linear, left top, right top, from(#74B6F8), to(#1C3DAC));
	background: linear-gradient(to right, #74B6F8, #1C3DAC);
	-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
	opacity: 0.8;
}

.fv__heading {
	margin-bottom: 28px;
}

.fv__heading img {
	display: block;
}

.fv__text-2 {
	font-weight: 600;
	font-size: 3rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #FFF;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
}

.fv__lead {
	position: relative;
	padding: 15px 20px;
	font-weight: 800;
	font-size: clamp(2.4rem, 0.6222222222rem + 2.3148148148vw, 3.4rem);
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #171A60;
	text-align: center;
	text-shadow: -1px -1px 2px #FFFFFF;
	z-index: 1;
}

.fv__lead::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	clip-path: polygon(2.2% 0%, 97.8% 0%, 100% 50%, 97.8% 100%, 2.2% 100%, 0% 50%);
	z-index: -1;
	background: -webkit-gradient(linear, left top, right top, from(#E0E0E0), color-stop(20%, #FFFFFF), color-stop(55%, #E6E6E6), color-stop(75%, #FFFFFF), to(#CFD5DD));
	background: linear-gradient(to right, #E0E0E0 0%, #FFFFFF 20%, #E6E6E6 55%, #FFFFFF 75%, #CFD5DD 100%);
	opacity: 0.95;
	-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}

.fv__list {
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
	width: 91.4667%;
	max-width: 1130px;
	z-index: 10;
}

.fv__box {
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.fv__box img {
	display: block;
}

.cta {
	padding: 90px 0;
	background: url(../img/bg_cta_pc.png) repeat-y center top/100% auto;
}

.cta--pt-lg {
	padding: 110px 0 70px;
}

.cta__text {
	margin-bottom: 44px;
	font-size: 2.4rem;
	line-height: 1.9167;
	letter-spacing: 0.05em;
	color: #FFF;
	text-align: center;
}

.cta__area {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6.383%;
	max-width: 940px;
	margin: 0 auto;
}

.cta-box {
	background: -webkit-gradient(linear, left bottom, left top, from(#1C3DAC), to(#5073E8));
	background: linear-gradient(to top, #1C3DAC, #5073E8);
	padding: 16px;
	color: #FFF;
	text-align: center;
}

.cta-box__text {
	margin-bottom: 5px;
	font-weight: 800;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.cta-box__tel {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.cta-box__tel__icon {
	display: block;
	margin-right: 3.5%;
}

.cta-box__tel__icon img {
	display: block;
}

.cta-box__tel__num {
	font-family: "bebas-neue-pro-semiexpanded", sans-serif;
	font-weight: 800;
	font-size: 4.3rem;
	line-height: 1.1875;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.cta-box__info {
	font-size: 1.4rem;
	line-height: 1.4286;
	letter-spacing: 0.05em;
}

.cta-btn {
	position: relative;
	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;
	background: -webkit-gradient(linear, left bottom, left top, from(#B2B2B4), color-stop(40%, #E5E8EB), color-stop(60%, #FFFFFF), to(#FFFFFF));
	background: linear-gradient(to top, #B2B2B4 0%, #E5E8EB 40%, #FFFFFF 60%, #FFFFFF 100%);
	padding: 10px 20px;
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px #ffffff, 0 0 12px rgba(0, 0, 0, 0.16);
	box-shadow: inset 0 0 6px #ffffff, 0 0 12px rgba(0, 0, 0, 0.16);
	color: #171A60;
	text-decoration: none;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.cta-btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: clamp(1rem, -2.5555555556rem + 4.6296296296vw, 3rem);
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 12px;
	height: 12px;
	border-top: 3px solid currentColor;
	border-right: 3px solid currentColor;
}

.cta-btn__icon img {
	display: block;
}

.cta-btn__text {
	margin-top: 8px;
	font-weight: 800;
	font-size: 2.4rem;
	line-height: 1.4167;
	text-align: center;
}

.lead {
	padding: 50px 0 0;
	margin: 0 0 30px;
	background: url(../img/bg_lead_pc.png) no-repeat center bottom/cover;
}

.lead__text-wrap {
	margin-bottom: 40px;
	text-align: center;
}

.lead__head {
	font-size: 2.4rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	margin-bottom: 0.8em;
}

.lead__head strong {
	font-weight: 800;
	font-size: 3rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #1C3DAC;
}

.lead__text p {
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.05em;
}

.lead__lg-text {
	max-width: 778px;
	margin: 60px auto 0;
	padding-bottom: 35px;
	-webkit-filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.24));
	filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.24));
}

.lead__lg-text img {
	display: block;
}

.lead-slide {
	padding: 15px 0;
	will-change: transform;
}

.lead-slide__item {
	aspect-ratio: 180/255;
	width: 180px;
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
	margin-right: 20px;
}

.lead-slide__item img {
	display: block;
	width: 100%;
}

.map {
	aspect-ratio: 1920/780;
}

.map iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.point::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1080px;
	background: url(../img/bg_point_top.png) no-repeat center/cover;
}

.point::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1280px;
	background: url(../img/bg_point_bottom.png) no-repeat center/cover;
}

.point {
	position: relative;
	background-color: #FFF;
	padding-top: 225px;
	overflow: hidden;
}

.point__main-image {
	width: 100%;
	min-width: 140vw;
	z-index: 1;
	position: relative;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: 60px;
}

.point-block {
	margin-top: 40px;
	z-index: 2;
	position: relative;
}

.point-block--m0 {
	margin-top: 0;
}

.point-block__title {
	margin-bottom: 20px;
}

.point-block__sub-title {
	margin-bottom: 40px;
}

.point-block__inner {
	display: grid;
	grid-template-columns: 42.5% auto;
	gap: 3%;
}

.point-block__text-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 40px;
	font-size: 1.6rem;
	line-height: 2.2;
	margin-top: -5px;
}

.point-block__text-wrap p {
	text-indent: 1em;
}

.point-checklist {
	margin-top: 90px;
	position: relative;
	z-index: 2;
}

.point-checklist__block {
	margin-bottom: 30px;
	-webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.25);
	box-shadow: 0 0 18px rgba(0, 0, 0, 0.25);
}

.point-checklist__block__title {
	background: -webkit-gradient(linear, left top, right top, from(#3d54a3), to(#344586));
	background: linear-gradient(to right, #3d54a3, #344586);
	color: #fff;
	font-size: 2.8rem;
	text-align: center;
	padding: 30px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.point-checklist__block__wrapper {
	background-color: #fff;
	padding: 58px 11%;
}

.point-checklist__block__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 18px;
}

.point-checklist__block__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 35px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
}

.point-checklist__image {
	max-width: 971.5px;
}

.point-checklist__image img {
	display: block;
}

.care {
	position: relative;
	z-index: 5;
	width: 100%;
	padding: 100px 0;
	background: url(../img/bg_care_pc.jpg) no-repeat center/cover;
}

.care__title {
	margin: 0 auto 50px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.care__block {
	width: 100%;
	padding: 30px;
	background-color: #FFF;
	-webkit-box-shadow: 0 0 12px rgba(20, 49, 75, 0.16);
	box-shadow: 0 0 12px rgba(20, 49, 75, 0.16);
	margin-bottom: 30px;
}

.care__block__title {
	color: #FFF;
	background-image: -webkit-gradient(linear, left top, right top, from(#3d75a4), to(#14324d));
	background-image: linear-gradient(to right, #3d75a4, #14324d);
	font-size: 2rem;
	text-align: center;
	padding: 15px 0;
}

.care__block__text {
	margin-top: 15px;
	padding-left: 10px;
	color: #2B2B2B;
	font-size: 1.6rem;
	line-height: 2.2;
	font-weight: 500;
}

.care__block:last-child {
	margin-bottom: 0;
}

.case-flow {
	background: url(../img/bg_case_pc.jpg) no-repeat center/cover;
}

.case {
	padding: 50px 0 0px;
	margin-bottom: 310px;
	position: relative;
}

.case__text {
	font-size: 1.6rem;
	text-align: center;
	line-height: 2.4;
	color: #FFF;
	letter-spacing: 0.05em;
	margin-top: 24px;
}

.case__subtext {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	margin-top: 0px;
	display: block;
}

.case-swiper {
	margin-top: 40px;
}

.case-swiper__slide-link {
	text-decoration: none;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.case-swiper__slide {
	color: #fff;
}

.case-swiper__slide-text-wrapper {
	padding: 30px;
	background-image: -webkit-gradient(linear, left top, right top, from(#707070), to(#383838));
	background-image: linear-gradient(to right, #707070, #383838);
}

.case-swiper__slide-text {
	font-size: 1.6rem;
	font-size: clamp(1.4rem, 1.1714285714rem + 0.2976190476vw, 1.6rem);
	line-height: 1.5;
}

.case-swiper__slide-text--clamp {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.case-swiper__slide-title {
	color: #FFF;
	font-size: clamp(1.6rem, 0.6857142857rem + 1.1904761905vw, 2.4rem);
	font-weight: 700;
	text-align: center;
	margin-bottom: 28px;
}

.case-swiper__slide-image {
	display: block;
	width: 100%;
	overflow: hidden;
}

.case-swiper__slide-image img {
	vertical-align: bottom;
}

.case-swiper__slide-image {
	position: relative;
}

.case-swiper__swiper-button-prev {
	width: 31px;
	height: 43px;
}

.case-swiper__swiper-button-prev::after {
	content: "";
	background: url(../img/icon_swiper_left.png) no-repeat center/contain;
	width: 31px;
	height: 43px;
}

.case-swiper__swiper-button-next {
	width: 31px;
	height: 43px;
}

.case-swiper__swiper-button-next::after {
	content: "";
	background: url(../img/icon_swiper_right.png) no-repeat center/contain;
	width: 31px;
	height: 43px;
}

.case-swiper__wrapper {
	width: 100% !important;
}

.swiper-pagination .swiper-pagination-bullet {
	background-color: #cccccc;
	opacity: 1;
	margin: 0 6px !important;
}

.swiper-pagination .swiper-pagination-bullet-active {
	background-color: #80b8ff;
}
 
.flow--pt {
	padding-top: 107px;
}

.flow__list {
	margin-top: 75px;
	padding-bottom: 100px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 56px 8%;
}

.flow__item {
	position: relative;
	background-image: -webkit-gradient(linear, left top, right bottom, from(#ffffff), to(#e7e8ea));
	background-image: linear-gradient(to bottom right, #ffffff, #e7e8ea);
	height: 200px;
	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: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	padding-top: 85px;
	color: #171A60;
	font-weight: 700;
	font-size: 2.4rem;
	-webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.16);
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.16);
	border-radius: 10px;
	gap: 5px;
	text-align: center;
	line-height: 1.3;
	font-size: clamp(1.8rem, 1.1142857143rem + 0.8928571429vw, 2.4rem);
}

.flow__item__text-sm {
	display: block;
	font-size: 1.8rem;
}

.flow__item__topper {
	line-height: 1;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-35%);
	transform: translateX(-50%) translateY(-35%);
	border-radius: 50%;
	width: 60px;
	height: 60px;
	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;
	color: #FFF;
	font-family: "bebas-neue-pro-semiexpanded", sans-serif;
	background-image: -webkit-gradient(linear, left top, right bottom, from(#0c1a52), to(#4663c7));
	background-image: linear-gradient(to bottom right, #0c1a52, #4663c7);
	font-size: 1.8rem;
	font-weight: 400;
}

.flow__item__topper span {
	font-size: 2.6rem;
}

.flow__item--adjust {
	padding-top: 65px;
	gap: 0;
}

.flow__item--adjust img {
	width: 86%;
}

.reason {
	background: url(../img/bg_reason.png) no-repeat center/cover;
}

.reason {
	position: relative;
	padding-top: 70px;
	overflow: hidden;
	padding-bottom: 100px;
}

.reason__main-image {
	width: 100%;
	min-width: 140vw;
	z-index: 1;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.reason-block {
	margin-top: 50px;
	z-index: 2;
	position: relative;
}

.reason-block--first {
	margin-top: 20px;
}

.reason-block__title {
	margin-bottom: 20px;
}

.reason-block__sub-title {
	margin-bottom: 40px;
}

.reason-block__inner {
	display: grid;
	grid-template-columns: 42.5% auto;
	gap: 3%;
}

.reason-block__text-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 40px;
	font-size: 1.6rem;
	line-height: 2.2;
	margin-top: -5px;
}

.reason-block__text-wrap p {
	color: #fff;
	text-indent: 1em;
}

.cost__heading {
	font-weight: 700;
	font-size: 4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #171A60;
	text-align: center;
	margin-bottom: 32px;
}

.cost__lead {
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 35px;
}

.cost__text {
	margin-top: 25px;
}

.cost__text P {
	font-size: 1.6rem;
	line-height: 2.25;
}

.cost__text P:not(:last-of-type) {
	margin-bottom: 2.2em;
}

.cost__text small {
	display: block;
	font-size: 1.4rem;
	line-height: 2.5714285714;
}

.faq {
	border-top: 1px solid #2B2B2B;
}

.faq:last-child {
	border-bottom: 1px solid #2B2B2B;
}

.faq__question__btn {
	position: relative;
	width: 100%;
	padding: 21px 50px 22px 70px;
	background: transparent;
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.8rem;
	line-height: 2.25;
	text-align: left;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.faq__question__btn.is-open {
	background: #171A60;
	color: #FFF;
}

.faq__question__btn.is-open .faq__question__icon {
	color: #FFF;
}

.faq__question__btn.is-open::before {
	opacity: 0;
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.faq__question__btn.is-open::after {
	background: #FFF;
	-webkit-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.faq__question__btn::before,
.faq__question__btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 16px;
	height: 2px;
	background: #1C3DAC;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.faq__question__btn::after {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.faq__question__icon {
	position: absolute;
	top: 0.8em;
	left: 0.7em;
	display: inline-block;
	font-family: "century-old-style-std", serif;
	font-weight: 400;
	font-size: 3rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: #1C3DAC;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.faq__answer {
	position: relative;
	padding: 24px 50px 30px 70px;
	font-size: 1.6rem;
	line-height: 2.25;
}

.faq__answer__icon {
	position: absolute;
	top: 0.8em;
	left: 0.7em;
	display: inline-block;
	font-family: "century-old-style-std", serif;
	font-weight: 400;
	font-size: 3rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: #1C3DAC;
}

@media screen and (min-width: 768px) {
	.pay {
		margin-top: 100px;
	}
}
.pay__item {
	position: relative;
	padding-left: 20px;
}

.pay__item:not(:last-child) {
	margin-bottom: 1em;
}

.pay__item::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 10px;
	height: 10px;
	background: #1C3DAC;
	border-radius: 50%;
}

.pay__text {
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.6666666667;
}

.pay__note {
	display: block;
	margin-top: 8px;
	font-size: 1.2rem;
	line-height: 1.5;
}

.pay__image {
	display: inline-block;
	height: 80px;
	margin-top: 10px;
	padding: 18px 30px;
}

.pay__image img {
	display: block;
	-o-object-fit: contain;
	object-fit: contain;
	height: 100%;
}

@media (hover: hover) {

.header-cta__btn:hover {
	opacity: 0.6;
}

.cta-btn:hover {
	opacity: 0.6;
}

.case-swiper__slide-link:hover {
	opacity: 0.6;
}

.faq__question__btn:hover {
	background: rgba(23, 26, 96, 0.2);
}

.faq__question__btn.is-open:hover {
	background: #171A60;
}

}

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

.text-pc-left { /* pc */
	text-align: left;
}

.text-pc-center { /* pc */
	text-align: center;
}

.text-pc-right { /* pc */
	text-align: right;
}

.care__block { /* pc */
	min-height: 224px;
}

.case-swiper { /* pc */
}

.case-swiper__pagination {
	display: none;
}

.case-swiper__wrapper {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.78%;
}

.case-swiper__swiper-button-next,
.case-swiper__swiper-button-prev {
	display: none;
}

.flow__item { /* pc */
}

.flow__item:not(:nth-child(4n))::after {
	content: "";
	position: absolute;
	right: -25%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 16px;
	height: 20px;
	background: url(../img/icon_arrow.svg) no-repeat center/contain;
}

}

@media (min-width: 1240px) {

.point__main-image {
	min-width: 1920px;
}

.reason__main-image {
	min-width: 1920px;
}

}

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

.text-sp-left { /* sp */
	text-align: left;
}

.text-sp-center { /* sp */
	text-align: center;
}

.text-sp-right { /* sp */
	text-align: right;
}

.sp-only { /* sp */
	display: block !important;
}

.sp-only-2 { /* sp */
	display: inline-block !important;
}

.pc-only { /* sp */
	display: none !important;
}

.pc-only-2 { /* sp */
	display: none !important;
}

/* sp */

.sp-grid-1col {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.sp-grid-2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.sp-grid-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.sp-grid-4col {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.--sp-grid-2col { /* sp */
	grid-template-columns: repeat(2, 1fr);
}

.--sp-grid-1col { /* sp */
	grid-template-columns: repeat(1, 1fr);
}

.l-header { /* sp */
	height: 60px;
	padding: 10px 16px;
}

.l-footer { /* sp */
	padding: 15px 0;
}

.l-navi { /* sp */
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #114170;
	color: #fff;
	z-index: 100;
}

.heading-primary__en { /* sp */
	font-size: 1.4rem;
}

.heading-primary__jp { /* sp */
	font-size: 2.8rem;
}

.heading-secondary { /* sp */
	font-size: 3rem;
	margin-bottom: 40px;
}

.heading-tertiary { /* sp */
	font-size: 2rem;
	margin-bottom: 20px;
}

.bg-tile { /* sp */
	background: url(../img/bg_tile_sp.png) no-repeat center center/cover;
}

.table-1__head { /* sp */
	padding: 12px 12px 9px;
	font-size: 1.6rem;
}

.table-1__detail { /* sp */
	padding: 23px 9px 20px 20px;
	font-size: 1.6rem;
}

.table-1__detail span { /* sp */
	font-size: 1rem;
}

.header-cta { /* sp */
	gap: 9px;
}

.header-cta { /* sp */
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #171A60;
	padding: 10px 8px;
	z-index: 1000;
}

.header-cta__tel { /* sp */
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 48.7465%;
	padding: 8px;
}

.header-cta__tel__icon { /* sp */
	width: 30px;
	margin-right: 6px;
}

.header-cta__tel__num { /* sp */
	font-size: 2.3rem;
}

.header-cta__tel__info { /* sp */
	width: 100%;
	margin-top: 2px;
	margin-left: 0;
	font-size: 1.1rem;
	text-align: center;
}

.header-cta__btn { /* sp */
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 48.7465%;
	padding: 10px;
}

.header-cta__btn::after { /* sp */
	display: none;
}

.header-cta__btn__icon { /* sp */
	width: 22px;
}

.header-cta__btn__text { /* sp */
	margin-top: 2px;
	font-size: 1.4rem;
}

.copyright { /* sp */
	font-size: 1rem;
	line-height: 1.5;
}

.section { /* sp */
	padding: 50px 0;
}

.section--sp-pb-0 { /* sp */
	padding: 50px 0 0;
}

.fv { /* sp */
	padding: 5.3333% 0 32%;
	background: url(../img/bg_fv_sp.jpg) no-repeat center center/cover;
}

.fv__head { /* sp */
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 90.0875%;
	max-width: 310px;
	margin-bottom: 178px;
}

.fv__text-1 { /* sp */
	padding: 5px 37px;
	margin-bottom: 10px;
	font-size: 1.6rem;
}

.fv__heading { /* sp */
	margin-bottom: 14px;
}

.fv__text-2 { /* sp */
	font-size: 1.6rem;
}

.fv__lead { /* sp */
	padding: 9px 20px 12px;
	font-size: 2rem;
	letter-spacing: 0;
}

.fv__lead::before { /* sp */
	clip-path: polygon(6% 0%, 94% 0%, 100% 50%, 94% 100%, 6% 100%, 0% 50%);
}

.fv__list { /* sp */
	grid-template-columns: repeat(3, 1fr);
	width: 85.6%;
	-webkit-transform: translate(-50%, 29%);
	transform: translate(-50%, 29%);
}

.cta { /* sp */
	padding: 20px 0;
	background: url(../img/bg_cta_sp.png) repeat-y center top/100%;
}

.cta--pt-lg { /* sp */
	padding: 16% 0 20px;
}

.cta__text { /* sp */
	margin-bottom: 15px;
	font-size: 1.6rem;
	line-height: 2;
}

.cta__area { /* sp */
	grid-template-columns: 1fr;
	gap: 10px;
}

.cta-box__text { /* sp */
	font-size: 1.5rem;
}

.cta-box__tel__icon { /* sp */
	width: 30px;
	margin-right: 6px;
}

.cta-box__tel__num { /* sp */
	font-size: 3.3rem;
}

.cta-box__info { /* sp */
	font-size: 1rem;
	line-height: 1.4;
}

.cta-btn { /* sp */
	padding: 23px 20px;
}

.cta-btn::after { /* sp */
	right: 22px;
	width: 9px;
	height: 9px;
}

.cta-btn__icon { /* sp */
	width: 25px;
}

.cta-btn__text { /* sp */
	margin-top: 8px;
	font-size: 1.8rem;
	line-height: 1.4444;
}

.lead { /* sp */
	margin: 0 0 20px;
	background: url(../img/bg_lead_sp.png) no-repeat center bottom/cover;
}

.lead__text-wrap { /* sp */
	margin-bottom: 30px;
}

.lead__head { /* sp */
	font-size: 2.2rem;
	line-height: 1.8636;
}

.lead__head strong { /* sp */
	font-size: 2.7rem;
	line-height: 1.5185;
}

.lead__text p { /* sp */
	font-size: 1.6rem;
}

.lead__text p:not(:last-child) { /* sp */
	margin-bottom: 21px;
}

.lead__lg-text { /* sp */
	max-width: 301px;
	margin-top: 40px;
	padding-bottom: 30px;
}

.lead-slide { /* sp */
	padding: 9px 0;
}

.lead-slide__item { /* sp */
	width: 109px;
	margin-right: 12px;
}

.map { /* sp */
	aspect-ratio: auto;
	height: 400px;
}

.point::before { /* sp */
	height: 403px;
}

.point::after { /* sp */
	height: 667px;
}

.point { /* sp */
	padding-top: 130px;
	padding-top: clamp(13rem, -0.8711734694rem + 36.9897959184vw, 27.5rem);
}

.point__main-image { /* sp */
	width: 100%;
	min-width: unset;
	top: 2vw;
}

.point-block__title { /* sp */
}

.point-block__title--first {
	width: 97vw;
	-webkit-transform: translateX(-2vw);
	transform: translateX(-2vw);
}

.point-block__sub-title { /* sp */
	margin-bottom: 20px;
}

.point-block__inner { /* sp */
	display: block;
}

.point-block__text-wrap { /* sp */
	margin-top: 12px;
}

.point-checklist { /* sp */
	margin-top: 45px;
}

.point-checklist__block { /* sp */
	width: 100vw;
	-webkit-transform: translateX(-4.25vw);
	transform: translateX(-4.25vw);
	margin-bottom: 20px;
}

.point-checklist__block__title { /* sp */
	padding: 30px 18px;
	font-size: 2rem;
}

.point-checklist__block__wrapper { /* sp */
	padding: 30px 15px 30px 18px;
}

.point-checklist__block__item { /* sp */
	font-size: 1.8rem;
	gap: 14px;
}

.point-checklist__block__item img {
	width: 24px;
	height: 24px;
}

.point-checklist__image { /* sp */
	width: 109vw;
	-webkit-transform: translateX(-17.4vw);
	transform: translateX(-17.4vw);
}

.care { /* sp */
	background: url(../img/bg_care_sp.jpg) no-repeat center/cover;
	padding: 60px 0 51px;
}

.care__title { /* sp */
	width: 311px;
	margin-bottom: 35px;
}

.care__block { /* sp */
	padding: 20px;
	margin-bottom: 20px;
}

.care__block__title { /* sp */
	line-height: 1.5;
	padding: 10px 0;
}

.care__block__text { /* sp */
	padding-left: 0;
}

.case-flow { /* sp */
	background: url(../img/bg_case_sp.jpg) no-repeat center/cover;
}

.case { /* sp */
	margin-bottom: 185px;
}

.case__text { /* sp */
	text-align: left;
}

.case-swiper { /* sp */
	padding-bottom: 60px;
	margin-top: 30px;
	width: 100vw;
	-webkit-transform: translateX(-4.25vw);
	transform: translateX(-4.25vw);
}

.case-swiper__slide { /* sp */
	padding: 0 4.25%;
}

.case-swiper__slide-text { /* sp */
	line-height: 1.8;
}

.case-swiper__slide-title { /* sp */
	font-size: 2.4rem;
}

.flow--pt { /* sp */
	padding-top: 53px;
}

.flow__list { /* sp */
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 10px;
	margin-top: 65px;
	padding-bottom: 50px;
}

.flow__item { /* sp */
	height: 160px;
	padding-top: 70px;
	font-size: 2rem;
}

.flow__item--adjust { /* sp */
	padding-top: 50px;
	gap: 10px;
}

.flow__item--adjust img { /* sp */
	max-width: 136px;
}

.reason { /* sp */
	background: url(../img/bg_reason_sp.png) no-repeat center/cover;
}

.reason { /* sp */
	padding-top: 30px;
	padding-bottom: 50px;
}

.reason__main-image { /* sp */
	width: 717px;
}

.reason-block { /* sp */
	margin-top: 45px;
}

.reason-block--first { /* sp */
	margin-top: 15px;
}

.reason-block__sub-title { /* sp */
	margin-bottom: 20px;
}

.reason-block__inner { /* sp */
	display: block;
}

.reason-block__text-wrap { /* sp */
	margin-top: 12px;
}

.cost__heading { /* sp */
	font-size: 3rem;
	margin-bottom: 35px;
}

.cost__lead { /* sp */
	font-size: 1.6rem;
	margin-bottom: 25px;
}

.cost__text { /* sp */
	margin-top: 15px;
}

.cost__text P { /* sp */
	line-height: 2;
}

.cost__text P:not(:last-of-type) { /* sp */
	margin-bottom: 2em;
}

.cost__text small { /* sp */
	margin-top: 1em;
	font-size: 1.2rem;
	line-height: 2;
}

.faq { /* sp */
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.faq__question__btn { /* sp */
	padding: 20px 50px 20px 70px;
	font-size: 1.6rem;
}

.faq__question__btn.is-open { /* sp */
	padding: 25px 50px 19px 70px;
}

.faq__question__btn.is-open .faq__question__icon { /* sp */
	top: 0.8em;
}

.faq__question__btn::before,
.faq__question__btn::after { /* sp */
	right: 15px;
}

.faq__question__icon { /* sp */
	top: 0.7em;
}

.faq__answer { /* sp */
	padding: 19px 50px 14px 70px;
}

.faq__answer__icon { /* sp */
	top: 0.7em;
}

.pay__image { /* sp */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.pay__image--sp-h-150 { /* sp */
	height: 150px;
}

}

@-webkit-keyframes swiper-preloader-spin {

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

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@keyframes swiper-preloader-spin {

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

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}



/*section contact*/
:root {
	--c-bg-body: 255, 255, 255;
  --c-color-base: 0, 0, 0;
  --black: 43, 43, 43;
  --white: 255, 255, 255;
  --lightGray: 170, 170, 170;
  --gray: 235, 235, 235;
  --gray2: 204, 204, 204;
  --gray3: 244, 244, 244;
  --gray4: 242, 242, 242;
  --darkGray: 112, 112, 112;
  --gold: 245, 212, 149;
  --gold2: 173, 152, 106;
  --red: 210, 41, 47;
  --red2: 230, 31, 37;
  --blue: 47, 98, 238;
  --blue2: 28, 61, 172;
  --blue3: 66, 80, 157;
  --blue4: 23, 26, 96;
  --navy: 25, 29, 117;
  --darkNavy: 18, 20, 64;
  --pink: 230, 114, 114;
  --pink2: 255, 193, 195;
  --yellow: 225, 251, 22;
  --yellow2: 250, 224, 80;
  --green: 36, 141, 118;
  --green2: 80, 167, 149;
  --green3: 148, 207, 195;
}


.embla,.embla-sp {
    position: relative
}

.embla__viewport,.embla__viewport-sp {
    display: flex;
    overflow: hidden
}

.embla__container {
    display: flex
}

@media screen and (min-width: 768px) {
    .embla__container {
        gap:20px
    }
}

@media screen and (max-width: 767px) {
    .embla__container {
        gap:max(20px,5.3333333333vw)
    }
}

.embla__viewport-sp {
    width: 100%
}

.embla__container-sp {
    display: flex;
    min-width: 100%
}

.embla__controls-sp {
    position: absolute;
    width: 100%
}

.embla__prev,.embla__next {
    background-color: rgba(var(--c-color-base), 0.8);
    border: none;
    cursor: pointer;
    transform: translateY(-50%);
    text-indent: -9999px;
    position: absolute;
    top: 50%
}

.embla__prev::after,.embla__next::after {
    content: "";
    display: block;
    border-top: 2px solid rgb(var(--white));
    border-right: 2px solid rgb(var(--white));
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0
}

.embla__prev::after {
    transform: rotate(-135deg);
    right: 0
}

@media screen and (min-width: 768px) {
    .embla__prev::after {
        left:7px
    }
}

@media screen and (max-width: 767px) {
    .embla__prev::after {
        left:max(7px,1.8666666667vw)
    }
}

.embla__next::after {
    transform: rotate(45deg);
    left: 0
}

@media screen and (min-width: 768px) {
    .embla__next::after {
        right:7px
    }
}

@media screen and (max-width: 767px) {
    .embla__next::after {
        right:max(7px,1.8666666667vw)
    }
}

@media screen and (min-width: 768px) {
    .embla__prev,.embla__next {
        width:41px;
        height: 58px
    }

    .embla__prev {
        left: -50px
    }

    .embla__next {
        right: -50px
    }

    .embla__prev::after,.embla__next::after {
        width: 13px;
        height: 13px
    }

    .embla__controls-sp {
        display: none !important
    }

    .embla-skip-init .embla__controls {
        display: none
    }
}

@media screen and (min-width: 768px)and (max-width: 1024px) {
    .embla__prev {
        left:-15px
    }

    .embla__next {
        right: -15px
    }
}

@media screen and (max-width: 767px) {
    .embla__prev,.embla__next {
        width:max(41px,10.9333333333vw);
        height: max(58px,15.4666666667vw)
    }

    .embla__prev {
        left: max(-10px,-2.6666666667vw)
    }

    .embla__next {
        right: max(-10px,-2.6666666667vw)
    }

    .embla__prev::after,.embla__next::after {
        width: max(13px,3.4666666667vw);
        height: max(13px,3.4666666667vw)
    }
}

.embla__dots {
    display: flex;
    justify-content: center
}

.embla__dot {
    background-color: rgb(var(--gray2));
    border-radius: 50%;
    cursor: pointer
}

.embla__dot.is-selected {
    background-color: rgb(var(--blue2))
}

@media screen and (min-width: 768px) {
    .embla__dots {
        gap:12px;
        margin-top: 60px
    }

    .embla__dot {
        width: 8px;
        height: 8px
    }
}

@media screen and (min-width: 768px)and (max-width: 1024px) {
    .embla__dot {
        width:10px;
        height: 10px
    }
}

@media screen and (max-width: 767px) {
    .embla__dots {
        gap:max(15px,4vw);
        margin-top: max(40px,10.6666666667vw)
    }

    .embla__dot {
        width: max(10px,2.6666666667vw);
        height: max(10px,2.6666666667vw)
    }
}

@media screen and (max-width: 767px) {
    .embla__controls-sp button {
			background: none;
			border: none;
			text-indent:-9999px;
			width: max(10px,2.6666666667vw);
			height: max(10px,2.6666666667vw);
			position: absolute;
			top: max(14px,3.7333333333vw);
    }

    .embla__controls-sp button::after {
        border-top: 2px solid rgb(var(--black));
        content: "";
        display: block;
        width: max(10px,2.6666666667vw);
        height: max(10px,2.6666666667vw);
        position: absolute;
        top: 0
    }

    .embla__prev-sp::after {
        border-left: 2px solid rgb(var(--black));
        transform: rotate(-45deg)
    }

    .embla__next-sp {
        right: 0
    }

    .embla__next-sp::after {
        border-right: 2px solid rgb(var(--black));
        transform: rotate(45deg)
    }
}


@media screen and (min-width: 768px) {
    .slideScroll-icon {
        display:none
    }
}

@media screen and (max-width: 767px) {
    .slideScroll-area {
        position:relative
    }

    .slideScroll-icon {
        background: rgba(var(--black), 0.4);
        border-radius: max(5px,1.3333333333vw);
        display: flex;
        align-items: flex-end;
        justify-content: center;
        text-align: center;
        transition: var(--transition-base);
        width: max(140px,37.3333333333vw);
        height: max(110px,29.3333333333vw);
        margin: auto;
        padding: max(5px,1.3333333333vw);
        position: absolute;
        bottom: max(90px,24vw);
        right: 0;
        left: 0
    }

    .slideScroll-icon.hidden {
        opacity: 0;
        visibility: hidden
    }

    .slideScroll-icon span {
        color: rgb(var(--white));
        font-size: max(12px,3.2vw)
    }

    .slideScroll-icon::before,.slideScroll-icon::after {
        content: "";
        display: block;
        margin: auto;
        position: absolute;
        right: 0;
        left: 0
    }

    .slideScroll-icon::before {
        animation: sway 3s ease-in-out infinite;
        background: url("../img/icon_scroll.svg") no-repeat 0 0/100%;
        width: max(45px,12vw);
        height: max(54px,14.4vw);
        bottom: max(30px,8vw)
    }

    .slideScroll-icon::after {
        background: url("../img/icon_scroll_arrow.svg") 0 0/100%;
        transform: translateX(max(-5px, -1.3333333333vw));
        width: max(45px,12vw);
        height: max(16px,4.2666666667vw);
        top: max(10px,2.6666666667vw)
    }
}

@keyframes sway {
    0% {
        transform: translateX(0)
    }

    25% {
        transform: translateX(-5px)
    }

    50% {
        transform: translateX(3px)
    }

    75% {
        transform: translateX(-5px)
    }

    100% {
        transform: translateX(0)
    }
}



.calendar-area-title {
    text-align: center
}

.calendar-area-title span {
    position: relative
}

.calendar-area-title span::before,.calendar-area-title span::after {
    background: rgb(var(--black));
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0
}

@media screen and (min-width: 768px) {
    .calendar-area-title span::before,.calendar-area-title span::after {
        height:1px
    }
}

@media screen and (max-width: 767px) {
    .calendar-area-title span::before,.calendar-area-title span::after {
        height:max(1px,0.2666666667vw)
    }
}

@media screen and (min-width: 768px) {
    .calendar-area-title span {
        font-size:18px
    }

    .calendar-area-title span::before,.calendar-area-title span::after {
        width: 30px
    }

    .calendar-area-title span::before {
        left: -50px
    }

    .calendar-area-title span::after {
        right: -50px
    }
}

.calendar-area {
    background: rgb(var(--white));
    box-shadow: var(--boxshadow-black);
    position: relative;
    z-index: 10
}

.calendar {
    width: 100%
}

.calendar-label {
    text-align: center
}

.calendar .week {
    background: rgb(var(--darkNavy));
    color: rgb(var(--white));
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    width: 14.2857142857%
}

.calendar .week:last-of-type {
    border-right: 1px solid rgb(var(--white))
}

.calendar tbody tr:not(:last-child) {
    border-bottom: 2px solid rgb(var(--darkNavy))
}

.calendar tbody th,.calendar tbody td {
    text-align: center
}

.calendar tbody td {
    vertical-align: top
}

.calendar .holiday .daywrap {
    background: rgb(var(--gray));
    color: rgb(var(--blue));
    font-weight: 700;
    padding-top: 3px
}

.calendar .holiday .daywrap-inner {
    line-height: 1.4
}

.calendar .holiday .holiday-span {
    display: block
}

.calendar-text {
    border: 2px solid rgb(var(--black));
    text-align: center
}

.calendar-caution {
    background: var(--gradient-gray);
    border-top: 2px solid rgb(var(--black));
    border-bottom: 2px solid rgb(var(--black));
    text-align: center
}

@media screen and (min-width: 768px) {
    .sec-calendar {
        padding-bottom:40px
    }

    .calendar-area {
        width: min(100%,860px);
        padding: 40px 80px 60px
    }

    .embla__container-sp {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 30px
    }

    .calendar-area-box {
        width: min(49%,320px)
    }

    .calendar-label {
        font-size: 25px;
        margin-bottom: 15px
    }

    .calendar .week {
        font-size: 13px;
        padding: 6px 0
    }

    .calendar tbody td {
        font-size: 12px;
        padding: 5px
    }

    .calendar .daywrap {
        min-height: 41px
    }

    .calendar .holiday .holiday-span {
        font-size: 10px
    }

    .calendar-caution {
        margin: 30px 0 40px;
        padding: 40px 0
    }

    .calendar-caution-title {
        font-size: 18px;
        margin-bottom: 20px
    }

    .calendar-caution-text {
        font-size: 14px
    }

    .calendar-text {
        padding: 29px
    }

    .calendar-caution .fixed-link-tel {
        margin-top: 30px;
        margin-right: auto;
        margin-left: auto;
        width: 350px
    }

    .calendar-caution .fixed-link-tel a {
        display: block;
        padding-top: 20px;
        padding-bottom: 20px
    }

    .calendar-caution .fixed-link-tel a:hover {
        opacity: .6
    }

    .calendar-caution .fixed-link-tel .fixed-link-tel-no,.calendar-caution .fixed-link-tel .fixed-link-tel-time {
        color: rgb(var(--white))
    }
}

@media screen and (min-width: 768px)and (max-width: 1024px) {
    .calendar-area {
        padding:40px 30px 60px
    }

    .calendar-area-box {
        width: 49%
    }
}

@media screen and (max-width: 767px) {
    .calendar-area {
        padding:max(30px,8vw) max(23px,6.1333333333vw) max(30px,8vw)
    }

    .calendar-area-inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: max(20px,5.3333333333vw)
    }

    .calendar-area-box {
        flex: 0 0 100%;
        width: 100%
    }

    .calendar-label {
        font-size: max(19px,5.0666666667vw);
        margin-bottom: max(15px,4vw)
    }

    .calendar .week {
        font-size: max(12px,3.2vw);
        padding: max(4px,1.0666666667vw) 0
    }

    .calendar tbody td {
        font-size: max(10px,2.6666666667vw);
        padding: max(4px,1.0666666667vw)
    }

    .calendar .daywrap {
        min-height: max(35px,9.3333333333vw)
    }

    .calendar .holiday .holiday-span {
        font-size: max(8px,2.1333333333vw)
    }

    .calendar-caution {
        margin-bottom: max(40px,10.6666666667vw);
        padding: max(40px,10.6666666667vw) 0
    }

    .calendar-caution-title {
        font-size: max(18px,4.8vw);
        text-align: center;
        margin-bottom: max(20px,5.3333333333vw)
    }

    .calendar-caution-text {
        font-size: max(14px,3.7333333333vw)
    }

    .calendar-text {
        font-size: max(14px,3.7333333333vw);
        padding: max(20px,5.3333333333vw)
    }

    .calendar-caution .fixed-link-tel {
        width: 80%;
        margin-right: auto;
        margin-left: auto;
        margin-top: max(30px,8vw)
    }

    .calendar-caution .fixed-link-tel a {
        display: block;
        padding-top: max(10px,2.6666666667vw);
        padding-bottom: max(15px,4vw)
    }

    .calendar-caution .fixed-link-tel .fixed-link-tel-no,.calendar-caution .fixed-link-tel .fixed-link-tel-time {
        color: rgb(var(--white))
    }
}

@media screen and (min-width: 768px) {
    .calendar-area {
        margin-top:20px;
        margin-bottom: 40px
    }
}

@media screen and (max-width: 767px) {
    .calendar-area {
        margin-top:max(20px,5.3333333333vw);
        margin-bottom: max(40px,10.6666666667vw)
    }
}


@media screen and (max-width: 767px) {
    .calendar-area-title span::before,.calendar-area-title span::after {
        width:max(25px,6.6666666667vw)
    }

    .calendar-area-title span::before {
        left: max(-50px,-13.3333333333vw)
    }

    .calendar-area-title span::after {
        right: max(-50px,-13.3333333333vw)
    }
}

@media screen and (min-width: 768px) {
    .contact-form-wrapper {
        width:min(100%,920px);
        margin-right: auto;
        margin-left: auto
    }
}

@media screen and (min-width: 768px) {
    .contact-intro-text {
        margin:60px 0 30px
    }
}

@media screen and (max-width: 767px) {
    .contact-intro-text {
        margin:max(60px,16vw) 0 max(40px,10.6666666667vw)
    }
}

@media screen and (min-width: 768px) {
	.contact-form-wrapper {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.contact-form-wrapper {
		font-size: 16px;
	}
}


.warning-note {
    background: rgb(var(--white))
}

.warning-note-title {
	color: rgb(var(--red2));
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.icon-warning {
	margin-right: 10px;
}
.icon-warning .cls-1 {
    fill: #e61f25
}

.icon-warning .cls-2 {
    fill: #fff
}

.icon-warning .cls-3 {
    isolation: isolate
}

.warning-note-signature {
    text-align: right
}

.warning-note-text {
	line-height: 2;
}
@media screen and (min-width: 768px) {
    .warning-note {
        margin:80px 0 70px;
        padding: 30px 50px
    }

    .warning-note-title {
        font-size: 18px
    }

    .icon-warning {
        width: 26px
    }

    .warning-note-text {
        font-size: 14px;
        margin: 15px 0
    }
}

@media screen and (max-width: 767px) {
    .warning-note {
        margin:max(60px,16vw) 0 max(30px,8vw);
        padding: max(20px,5.3333333333vw)
    }

    .warning-note-title {
        font-size: max(14px,3.733vw);
    }

    .icon-warning {
        width: max(26px,6.9333333333vw);
        transform: translateY(max(-2px, -0.5333333333vw))
    }

    .warning-note-text {
        margin: max(14px,3.733vw) 0
    }
		.warning-note-signature {
			font-size: max(12px,3.2vw);
		}
}

.sectionCF7View__title {
    border-bottom: 1px solid rgb(var(--darkGray));
    position: relative
}

.sectionCF7View__title::after {
    background: rgb(var(--gray2));
    color: rgb(var(--darkGray));
    content: "任意";
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0
}

@media screen and (min-width: 768px) {
    .sectionCF7View__title::after {
        border-radius:2px
    }
}

@media screen and (max-width: 767px) {
    .sectionCF7View__title::after {
        border-radius:max(2px,0.5333333333vw)
    }
}

.sectionCF7View__title.req::after {
    background: rgb(var(--pink2));
    color: rgb(var(--red2));
    content: "必須"
}

.sectionCF7View__title__02 {
    text-align: center
}

.sectionCF7View__subText__02 a {
    color: rgb(var(--blue2));
    text-decoration: underline
}

.sectionCF7View__subText__02 a:hover {
    color: rgb(var(--red))
}

.wpcf7-list-item {
    margin: initial !important
}

.wpcf7-list-item label {
    cursor: pointer
}

.checkbox__btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
}

input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select {
    background: rgb(var(--white));
    border: 1px solid rgb(var(--gray2))
}

@media screen and (min-width: 768px) {
    input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select {
        border-radius:5px
    }
}

@media screen and (max-width: 767px) {
    input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select {
        border-radius:max(5px,1.3333333333vw)
    }
}

select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("../img/icon arrow bold_under.svg");
    background-repeat: no-repeat
}

@media screen and (min-width: 768px) {
    select {
        background-size:12px auto;
        background-position: right 22px center;
        cursor: pointer;
        width: 260px
    }
}

@media screen and (max-width: 767px) {
    select {
        background-size:max(12px,3.2vw) auto;
        background-position: right max(22px,5.8666666667vw) center
    }
}

textarea {
    width: 100%
}

.sectionCF7View__age {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.submit-button__wrapper {
    text-align: center
}
.submit-button__wrapper p {
	position: relative;
}
@media screen and (min-width: 768px) {
	.submit-button__wrapper p {
		display: inline-block;
	}
}
@media screen and (max-width: 767px) {
}
.submit-button__wrapper p::after {
	border-top: 2px solid rgb(var(--white));
	border-right: 2px solid rgb(var(--white));
	content: '';
	transform: rotate(45deg);
	width: 10px;
	height: 10px;
	margin: auto;
	position: absolute;
	right: 20px;
}
@media screen and (min-width: 768px) {
	.submit-button__wrapper p::after {
		top: 0;
		bottom: 0;
		right: 100px;
	}
}
@media screen and (max-width: 767px) {
	.submit-button__wrapper p::after {
		top: 6.6vw;
	}
}
.submit-button__wrapper .submit-button {
	border: none;
	border-radius: 10px;
	background: linear-gradient(to bottom, #5073e8 0%, #1c3dac 100%);
	color: rgb(var(--white));
	transition: var(--transition-base)
}



.submit-button__wrapper .submit-button:hover {
  opacity: 0.6;
}

.sectionCF7View {
    margin-bottom: max(80px,21.3333333333vw)
}

.sectionCF7View__wrapper+.sectionCF7View__wrapper {
    margin-top: max(30px,8vw)
}

.sectionCF7View__wrapper.privacy {
    margin-top: max(60px,16vw)
}

.sectionCF7View__title {
    font-size: max(18px,4.8vw);
    margin-bottom: max(13px,3.4666666667vw);
    padding-left: max(15px,4vw);
    padding-bottom: max(5px,1.3333333333vw)
}

.sectionCF7View__title::after {
    font-size: max(12px,3.2vw);
    line-height: max(20px,5.3333333333vw);
    height: max(20px,5.3333333333vw);
    padding: 0 max(8px,2.1333333333vw)
}

.sectionCF7View__title__02 {
    font-size: max(18px,4.8vw)
}

.sectionCF7View__wrapper fieldset {
    padding-left: max(15px,4vw)
}
.wpcf7-radio.radio__btn {
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 2.5px;
}
.radio-items .wpcf7-list-item {
    display: block;
}
.sectionCF7View__subText {
	line-height: 2;
}
@media screen and (min-width: 768px) {
	.sectionCF7View__subText {
			transform: translateX(max(15px, 4vw));
			margin-bottom: 15px;
	}
}

@media screen and (max-width: 767px) {
	.sectionCF7View__subText {
			margin-bottom: max(15px,4vw);
			padding-right: 1em;
			padding-left: 1em;
	}
}
.sectionCF7View__subText+.sectionCF7View__subText {
    margin-top: max(-15px,-4vw)
}

.kyushinbi {
    background: rgb(var(--gray2));
    border: 1px solid rgb(var(--gray2));
    display: inline-block;
    width: max(14px,3.7333333333vw);
    height: max(14px,3.7333333333vw);
    margin: 0 max(5px,1.3333333333vw) max(-2px,-0.5333333333vw)
}

.sectionCF7View__subText__02 {
	line-height: 1.6;
	margin: max(10px,2.6666666667vw) 0
}

.checkbox__wrapper2 {
    text-align: center
}
.checkbox__wrapper2 .wpcf7-list-item label {
	justify-content: center;
} 
.checkbox__btn {
    gap: max(8px,2.1333333333vw) max(20px,5.3333333333vw)
}

input[type=checkbox] {
    transform: translateY(max(-2px, -0.5333333333vw))
}

input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select {
	box-sizing: border-box;
    max-width: 100%;
    padding: max(10px,2.6666666667vw) max(15px,4vw);
}

.sectionCF7View__age input[type=text] {
    width: max(150px,40vw)
}
@media screen and (min-width: 768px) {
	.input-text,.email,.phone {
			padding-left: max(15px,4vw)
	}
}

.sectionCF7View__kibou {
    display: flex;
    flex-wrap: wrap
}
@media screen and (min-width: 768px) {
	.sectionCF7View__kibou + .sectionCF7View__kibou {
			margin-top: 20px;
	}
}
@media screen and (max-width: 767px) {
	.sectionCF7View__kibou + .sectionCF7View__kibou {
		margin-top: max(20px,5.3333333333vw);
	}
}

.sectionCF7View__kibou__inner {
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width: 768px) {
    .sectionCF7View {
        margin-bottom:80px
    }

    .sectionCF7View__wrapper+.sectionCF7View__wrapper {
        margin-top: 30px
    }

    .sectionCF7View__wrapper.privacy {
        margin-top: 60px
    }

    .sectionCF7View__title {
        font-size: 18px;
        margin-bottom: 13px;
        padding-left: 15px;
        padding-bottom: 10px
    }

    .sectionCF7View__title::after {
        font-size: 12px;
        line-height: 20px;
        height: 20px;
        padding: 0 8px
    }

    .sectionCF7View__title__02 {
        font-size: 18px
    }

    .sectionCF7View__wrapper fieldset {
        padding-left: 15px
    }

    .sectionCF7View__subText {
        transform: translateX(15px);
        margin-bottom: 15px
    }

    .sectionCF7View__subText+.sectionCF7View__subText {
        margin-top: -15px
    }

    .kyushinbi {
        width: 14px;
        height: 14px;
        margin: 0 5px -2px
    }

    .sectionCF7View__subText__02 {
        margin: 10px 0
    }

    .checkbox__btn {
        gap: 8px 20px
    }

    input[type=checkbox] {
        transform: translateY(-2px)
    }

    input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select {
        padding: 10px 15px
    }

    .sectionCF7View__age input[type=text] {
        width: 150px
    }

    .input-text,.email,.phone {
        padding-left: 15px
    }

    .sectionCF7View__kibou {
        align-items: center;
        gap: 30px
    }

    .sectionCF7View__kibou__inner {
        align-items: center;
        gap: 20px
    }

    .submit-button__wrapper {
        margin-left: 48px
    }

    .submit-button__wrapper .submit-button {
        width: 380px;
        height: 60px
    }
}

@media screen and (max-width: 767px) {
	#contact {
		padding-right: max(16px,4.267vw);
		padding-left: max(16px,4.267vw);
		overflow: hidden;
	}
    .sectionCF7View {
        margin-bottom:max(60px,16vw)
    }

    .sectionCF7View__kibou {
        flex-direction: column;
        gap: max(15px,4vw)
    }

    .sectionCF7View__kibou__inner {
        flex-direction: column;
        gap: max(10px,2.6666666667vw)
    }

    .datepicker-wrapper input,.select select {
        width: 80%
    }

    .sectionCF7View__kibou .select select {
        width: 100%
    }

    .submit-button__wrapper .submit-button {
        width: 100%;
        height: max(60px,16vw)
    }

    .submit-button__wrapper .wpcf7-spinner {
        margin: max(10px,2.6666666667vw) auto 0
    }
}

input.flatpickr {
    background: rgb(var(--white)) url("../img/icon_calendar_bk.svg") no-repeat right 20px top 50%
}

@media screen and (min-width: 768px) {
    input.flatpickr {
        width:300px
    }
}

@media screen and (max-width: 767px) {
    input.flatpickr {
        width:100%
    }
}
@media screen and (min-width: 768px) {
	.dayContainer {
			gap: 5px;
	}
}
@media screen and (max-width: 767px) {
	.dayContainer {
		gap: max(5px,1.3333333333vw)
	}
}

.flatpickr-disabled.holiday {
    background-color: rgb(var(--gray)) !important;
    border-radius: 0 !important;
    color: rgb(var(--blue)) !important
}

.cta_area_tel_caution {
    margin-bottom: 1.5em
}

.recaptcha-notice a {
    text-decoration: underline
}

.recaptcha-notice a:hover {
    color: rgb(var(--blue2));
    text-decoration: none
}

@media screen and (min-width: 768px) {
    .recaptcha-notice {
        text-align:center;
        font-size: 14px;
        margin-top: 60px
    }
}

@media screen and (max-width: 767px) {
    .recaptcha-notice {
        font-size:max(15px,4vw)
    }
}


.bold {
	font-weight: 700;
}
.kome {
	display: inline-block;
}
@media screen and (min-width: 768px) {
	.kome {
		font-size: 14px;
		text-indent: -1em;
		padding-left: 1em;
	}
}
@media screen and (max-width: 767px) {
	.kome {
		font-size: max(14px,3.7333333333vw);
		text-indent: 0;
	}
}
.kome::before {
	content: '※';
}
.red {
	color: #e61f25;
}