* {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
	font-size: 1.3333333333vw;
}

html.noscroll {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	margin: 0;
	font-family: "M PLUS 1",sans-serif;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1.5;
	color: #333;
	background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
}

ol,
ul,
dl {
	list-style-type: none;
	margin: 0;
	padding-left: 0;
}

b,
strong {
	font-weight: 700;
}

a {
	background-color: rgba(0,0,0,0);
	color: inherit;
	text-decoration: none;
}

img {
	vertical-align: middle;
	border-style: none;
	max-width: 100%;
	height: auto;
}

table {
	border-collapse: collapse;
}

th {
	font-weight: 400;
	text-align: inherit;
	text-align: -webkit-match-parent;
}

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

select {
	word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

textarea {
	overflow: auto;
	resize: vertical;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	outline-offset: -2px;
	-webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

[hidden] {
	display: none !important;
}

.aligncenter {
	text-align: center;
}

.alignright {
	text-align: right;
}

.alignleft {
	text-align: left;
}

img.aligncenter {
	display: block;
	margin: auto;
}

img.alignright {
	display: block;
	margin-left: auto;
}

img.alignleft {
	display: block;
	margin-right: auto;
}

.container {
	padding-left: 6rem;
	padding-right: 6rem;
	width: 100%;
}

.inner {
	width: 100%;
	padding-left: 6rem;
	padding-right: 6rem;
}

.d-none {
	display: none !important;
}

.d-block {
	display: block !important;
}

.d-flex {
	display: flex !important;
}

.text-justify {
	text-align: justify !important;
}

.text-wrap {
	white-space: normal !important;
}

.text-nowrap {
	white-space: nowrap !important;
}

.text-left {
	text-align: left !important;
}

.text-right {
	text-align: right !important;
}

.text-center {
	text-align: center !important;
}

.text-lowercase {
	text-transform: lowercase !important;
}

.text-uppercase {
	text-transform: uppercase !important;
}

.text-capitalize {
	text-transform: capitalize !important;
}

.text-underline {
	text-decoration: underline;
}

.cl-primary {
	color: #0056a4 !important;
}

.cl-warning {
	color: #ffaf55 !important;
}

.btn {
	display: inline-block;
	font-family: "M PLUS 1",sans-serif;
	font-weight: 400;
	color: #333;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background-color: rgba(0,0,0,0);
	border: 1px solid rgba(0,0,0,0);
}

.btn:focus,
.btn.focus {
	outline: 0;
}

.btn.disabled,
.btn:disabled {
	opacity: .6;
}

.btn:not(:disabled):not(.disabled) {
	cursor: pointer;
}

.btn-headMail {
	background-color: #ffaf55;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .08em;
}

.btn-headMail::before {
	content: "";
	background: url("../images/icon_mail.svg") no-repeat center/contain;
	height: 2.8rem;
	width: 2.8rem;
	margin-right: 1.4rem;
}

.btn-headTel {
	background-color: #e9edf1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.btn-headTel__ttl {
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: .08em;
}

.btn-headTel__num {
	color: #0056a4;
	display: flex;
	align-items: center;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1;
}

.btn-headTel__num::before {
	content: "";
	background: url("../images/icon_phone.svg") no-repeat center/contain;
	flex-shrink: 0;
	width: 2.6rem;
	height: 2.6rem;
	margin-right: 1.4rem;
}

.btn-headTel__txt {
	font-size: 2rem;
	letter-spacing: .08em;
}

.btn-mail {
	background: linear-gradient(to bottom, #ffaf55 0%, #ffaf55 50%, #ff9824 51%, #ffaf55 100%);
	border: .4rem solid #ffaa3c;
	border-radius: 6.8rem;
	box-shadow: 0 .8rem 0 rgba(113,113,113,.8),inset 0 0 2.4rem rgba(255,255,255,.26);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 5.6rem;
	font-weight: bold;
	letter-spacing: .08em;
	height: 13.9rem;
}

.btn-mail::before {
	content: "";
	background: url("../images/icon_mail.svg") no-repeat center/contain;
	height: 3.2rem;
	width: 4.6rem;
	margin-right: 1.6rem;
}

.btn-tel {
	background: linear-gradient(to bottom, #0056a4 0%, #0056a4 50%, #063e7e 51%, #0056a4 100%);
	border: .4rem solid #025099;
	border-radius: 6.8rem;
	box-shadow: 0 .8rem 0 rgba(113,113,113,.8),inset 0 0 2.4rem rgba(255,255,255,.26);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 13.9rem;
}

.btn-tel__ttl {
	font-weight: bold;
	letter-spacing: .08em;
	margin-bottom: .2rem;
	font-size: 2.8rem;
}

.btn-tel__num {
	display: flex;
	align-items: center;
	font-size: 6.4rem;
	font-weight: bold;
	line-height: 1;
}

.btn-tel__num::before {
	content: "";
	background: url("../images/icon_phone_white.svg") no-repeat center/contain;
	height: 4.4rem;
	width: 4.4rem;
	flex-shrink: 0;
	margin-right: .8rem;
}

.btn-tel__txt {
	font-size: clamp(10px,1.6rem,1.6rem);
	font-weight: bold;
	line-height: 1.1;
	letter-spacing: .08em;
}

.btn-back {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background-color: #333;
	width: 40rem;
	height: 9.6rem;
	border-radius: .8rem;
	margin: 0 auto;
	font-weight: bold;
}

.p-header {
	border-bottom: 1px solid #aac1d5;
}

.p-header__float {
	display: flex;
}

.p-header__float .btn {
	flex: 1 1;
	height: initial;
}

.p-header__txt {
	background-color: #072744;
	color: #fff;
	padding: .5rem .1rem .6rem;
	font-size: 2rem;
	display: flex;
	width: 100%;
	overflow: hidden;
}

.p-header__main {
	background-color: #fff;
	display: flex;
	align-items: center;
	height: 11.5rem;
	padding-left: 2.4rem;
}

.p-header__logo {
	margin-right: auto;
	width: 34.5rem;
}

.p-header__logo img {
	width: 100%;
}

.hamburger-box {
	border-left: .1rem solid #aac1d5;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin: auto;
	height: 7rem;
	width: 7rem;
	z-index: 1100;
}

.hamburger-box.is-active .hamburger-inner {
	transition-delay: .12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transform: rotate(45deg);
}

.hamburger-box.is-active .hamburger-inner:before {
	transition: top 75ms ease,opacity 75ms ease .12s;
	opacity: 0;
	top: 0;
}

.hamburger-box.is-active .hamburger-inner:after {
	transition: bottom 75ms ease,transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) .12s;
	transform: rotate(-90deg);
	bottom: 0;
}

.hamburger-inner:after,
.hamburger-inner:before {
	display: block;
	content: "";
}

.hamburger-inner:after,
.hamburger-inner:before,
.hamburger-inner {
	width: 2.8rem;
	height: .2rem;
	background-color: #000;
	transition: transform .15s ease;
	border-radius: 1.5px;
}

.hamburger-inner {
	position: relative;
	display: block;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	transition-duration: 75ms;
}

.hamburger-inner:before {
	position: absolute;
	top: -0.8rem;
	transition: top 75ms ease .12s,opacity 75ms ease;
}

.hamburger-inner:after {
	position: absolute;
	bottom: -0.8rem;
	transition: bottom 75ms ease .12s,transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.form-control {
	display: block;
	width: 100%;
	padding: 1rem 2.5rem;
	font-family: "M PLUS 1",sans-serif;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1.5;
	color: #000;
	background-color: #fff;
	background-clip: padding-box;
	border: .1rem solid #aaa;
	border-radius: .8rem;
	height: 11.2rem;
}

.form-control::-ms-expand {
	background-color: rgba(0,0,0,0);
	border: 0;
}

.form-control:-moz-focusring {
	color: rgba(0,0,0,0);
	text-shadow: 0 0 0 #000;
}

.form-control::-moz-placeholder {
	color: #979797;
	opacity: 1;
}

.form-control::placeholder {
	color: #979797;
	opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
	background-color: #333;
	opacity: 1;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

label.error {
	color: #da0f0f;
	display: block;
	font-size: clamp(10px,1.4rem,1.4rem);
	margin-top: 1rem;
}

.table {
	width: 100%;
}

.sec-ttl {
	text-align: center;
	letter-spacing: .02em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 5rem;
}

.sec-ttl .sub {
	color: #ffaf55;
	font-size: 2.8rem;
	font-weight: 500;
}

.sec-ttl .ttl {
	font-size: 5.2rem;
	font-weight: bold;
	line-height: 1.3928571429;
}

.part-ttl {
	font-size: 4.6rem;
	font-weight: bold;
	letter-spacing: .02em;
	margin-bottom: 4rem;
	text-align: center;
}

.part-ttl .cl-primary {
	border-bottom: .4rem solid #0056a4;
}

.part-ttl .cl-primary.no-border {
	border-bottom: 0;
}

.font-en {
	font-family: "Spectral",serif !important;
}

.hover:hover {
	opacity: .7;
}

.byte {
	font-feature-settings: "palt" 1,"pkna" 1,"pwid" 1,"pkna" 1;
}

.nowrap {
	white-space: nowrap;
}

.p-mv {
	background: url("../images/bg01.jpg") repeat;
	border-bottom: .2rem solid #cecece;
}

.p-mv__left {
	margin: 0 auto;
	padding: 4rem 4rem 0;
}

.p-mv__right {
	position: relative;
	background: url("../images/mv_bg_sp.png") no-repeat center bottom/cover;
}

.p-mv__ttl {
	font-weight: bold;
	letter-spacing: .02em;
	line-height: 1.2;
	margin-bottom: 3rem;
	font-size: 4.2rem;
}

.p-mv__ttl span {
	display: inline-block;
	border-bottom: .4rem solid #0056a4;
	color: #0056a4;
	font-size: 4.8rem;
	margin: 0 .5rem;
	padding-bottom: .8rem;
}

.p-mv__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.4rem;
	margin-bottom: 2.4rem;
}

.p-mv__list li {
	background-color: #fff;
	border: .4rem solid #0056a4;
	box-shadow: 0 .3rem 0 #c2c1c0;
	border-radius: 1.2rem;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .02em;
	display: flex;
	align-items: center;
	height: 7.2rem;
	padding: 0 1.2rem;
}

.p-mv__list li::before {
	content: "";
	background: url("../images/icon_tick.svg") no-repeat center/contain;
	flex-shrink: 0;
	margin-right: 1.2rem;
	height: 2.4rem;
	width: 2.4rem;
}

.p-mv__point {
	display: flex;
	-moz-column-gap: 3.8rem;
	column-gap: 3.8rem;
	padding: 0 4rem;
	position: absolute;
	bottom: 6.8rem;
	left: 0;
	right: 0;
}

.c-contact {
	padding: 7.2rem 0 29.2rem;
	position: relative;
	z-index: 2;
}

.c-contact__ttl {
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: .02em;
	margin-bottom: 6rem;
	text-align: center;
}

.c-contact__txt {
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.2rem;
	z-index: -1;
}

.c-contact__txt img {
	display: block;
	width: 100%;
}

.c-bgLine {
	background: url("../images/bg03.jpg") repeat-x left bottom/auto .6rem;
}

.p-gallery {
	background: url("../images/bg01.jpg") repeat;
	padding: 5.5rem 0 7rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 100%;
}

.p-gallery::after {
	content: "";
	background: url("../images/bg02_sp.jpg") no-repeat center bottom/100% auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.2rem;
	top: 0;
	z-index: -1;
}

.p-gallery__row {
	display: flex;
	margin-bottom: 3rem;
}

.p-gallery .gallery-list {
	animation: aniRun 60s linear infinite;
	flex-shrink: 0;
	display: flex;
}

.p-gallery .gallery-list.gallery-list--reverse {
	animation-direction: reverse;
}

.p-gallery .gallery-list .gallery-item {
	flex-shrink: 0;
	margin-right: 3.2rem;
	width: 36rem;
}

.p-gallery .gallery-list .gallery-item img {
	border-radius: 2rem;
}

.intro-box {
	background-color: #fff;
	border: 1px solid #aac1d5;
	border-radius: 1.6rem;
	margin-top: 5.9rem;
	padding: 6.4rem 3.8rem 3.8rem;
}

.intro-box__img {
	margin: 0 -3.8rem;
}

.intro-box__img img {
	pointer-events: none;
	width: 100%;
}

.intro-box__ttl {
	font-weight: bold;
	letter-spacing: .02em;
	margin-bottom: 3.9rem;
	text-align: center;
	font-size: 4.4rem;
}

.intro-box__ttl .cl-primary {
	border-bottom: .4rem solid #0056a4;
	font-size: 5.2rem;
}

.intro-box__txt {
	background-color: #f5f8fb;
	font-weight: bold;
	border-radius: 3.2rem;
	font-size: 2.8rem;
	line-height: 1.5714285714;
	letter-spacing: .02em;
	padding: 5rem 1rem 5.5rem;
	text-align: center;
}

.p-point {
	background: url("../images/bg04.jpg") repeat;
	overflow: hidden;
	padding: 9rem 0 7.5rem;
	position: relative;
	z-index: 1;
}

.p-point::before {
	content: "";
	background: url("../images/logo_bg_sp.png") no-repeat center/contain;
	height: 61rem;
	width: 61rem;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	top: -5.4rem;
	z-index: -1;
}

.p-point::after {
	content: "";
	background: url("../images/point_bg_02_sp.png") no-repeat center bottom/contain;
	height: 58.3rem;
	width: 100%;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: -1;
}

.p-point .ver-dot {
	background-color: #aac1d5;
	border-radius: 50%;
	display: block;
	margin: 0 auto 6.4rem;
	position: relative;
	height: 1rem;
	width: 1rem;
}

.p-point .ver-dot::before,
.p-point .ver-dot::after {
	content: "";
	background-color: #aac1d5;
	border-radius: 50%;
	display: block;
	height: 1rem;
	width: 1rem;
	position: absolute;
}

.p-point .ver-dot::before {
	top: -2.6rem;
}

.p-point .ver-dot::after {
	bottom: -2.6rem;
}

.p-point__label {
	margin-bottom: 5.2rem;
	text-align: center;
}

.p-point__label span {
	border: .2rem solid #aac1d5;
	border-radius: 1.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .02em;
	height: 7.8rem;
	width: 32rem;
}

.p-point__ttl {
	margin-bottom: 5.5rem;
	text-align: center;
	color: #fff;
	font-size: 5.2rem;
	font-weight: bold;
	letter-spacing: .02em;
}

.p-point__ttl .box {
	position: relative;
	line-height: 1;
	display: inline-block;
}

.p-point__ttl .note {
	position: absolute;
	bottom: 100%;
	left: .4rem;
	font-weight: 300;
	color: #aac1d5;
	font-size: 2rem;
	letter-spacing: .4em;
}

.p-point__ttl .highlight {
	font-size: 7.2rem;
	color: #ffaf55;
	border-bottom: .4rem solid #ffaf55;
	padding-bottom: 0;
	line-height: 1;
	display: inline-block;
	padding-bottom: .5rem;
	margin-right: .5rem;
}

.p-point-check {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 3.8rem;
	margin-bottom: 6rem;
}

.p-point-check__item {
	font-weight: bold;
	border: .2rem solid #aac1d5;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4.8rem;
	letter-spacing: .02em;
	border-radius: 2.4rem;
	position: relative;
	min-width: 100%;
	height: 11rem;
}

.p-point-check__item::before {
	content: "";
	width: 3.4rem;
	height: 3.1rem;
	display: inline-block;
	background: url(../images/icon_check.png) no-repeat center center/contain;
}

.p-point__des {
	font-size: 5.6rem;
	letter-spacing: .02em;
	font-weight: bold;
	min-width: 57rem;
	color: #fff;
	line-height: 1.3928571429;
	text-align: center;
}

.p-point__des .line {
	position: relative;
}

.p-point__des .line::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 2.5rem;
	width: calc(100% - 5rem);
	background-color: #fff;
	height: 1px;
}

.point-box {
	background-color: #f5f8fb;
	border-radius: 3.2rem;
	padding: 5.5rem 3.5rem;
	margin-bottom: 9rem;
}

.point-box__list {
	display: grid;
	row-gap: 5.5rem;
}

.point-box__list .point-item {
	background-color: #fff;
	border-radius: 3.2rem;
	overflow: hidden;
	border: 1px solid #cecece;
}

.point-box__list .point-item__media {
	padding: 2.4rem;
}

.point-box__list .point-item__media .media-row {
	background-color: #f5f8fb;
	border-radius: .8rem;
	display: flex;
	justify-content: center;
	height: 14.2rem;
	margin-bottom: 1.6rem;
	padding: 0 3rem;
}

.point-box__list .point-item__media .media-row:last-child {
	margin-bottom: 0;
}

.point-box__list .point-item__media .media-row .label {
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 1rem;
	letter-spacing: .02em;
}

.point-box__list .point-item__media .media-row .txt {
	font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: .02em;
	margin-bottom: .5rem;
}

.point-box__list .point-item__media .media-row .txt .num {
	font-size: 4.6rem;
	line-height: 1;
}

.point-box__list .point-item__image img {
	width: 100%;
}

.point-box__list .point-item__info {
	padding: 4.5rem 2.4rem;
}

.point-box__list .point-item__label {
	color: #0056a4;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: .5rem;
}

.point-box__list .point-item__ttl {
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: .02em;
	margin-bottom: 3.5rem;
}

.point-box__list .point-item__ttl span {
	border-bottom: .4rem solid #0056a4;
}

.point-box__list .point-item__txt {
	font-size: 2.6rem;
	line-height: 1.8461538462;
	letter-spacing: .02em;
}

.p-reason {
	padding: 9rem 0 0;
	position: relative;
}

.p-reason-area {
	background-color: #f5f8fb;
	padding: 9rem 0;
	margin-bottom: 9rem;
	border-radius: 3.2rem;
}

.p-reason-area__image {
	margin-bottom: 3.5rem;
	display: flex;
	justify-content: center;
}

.p-reason-area__image .item {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 2rem;
	width: 28.5rem;
}

.p-reason-area__image .item img {
	width: 100%;
}

.p-reason-area__image .item .title {
	font-size: 3rem;
	letter-spacing: .02em;
	font-weight: bold;
}

.p-reason-area__txt {
	text-align: center;
	line-height: 1.6666666667;
}

.p-reason-list {
	display: flex;
	margin-bottom: 4.5rem;
}

.p-reason-list:last-child {
	margin-bottom: 0;
}

.p-reason-list__item {
	flex: 1 1;
	padding: 3rem;
	border: 1px solid #cecece;
	border-radius: 3.2rem;
	position: relative;
}

.p-reason-list__item:not(:last-child)::after {
	content: "";
	border: solid rgba(0,0,0,0);
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136,183,213,0);
	top: calc(100% + 3.5rem);
	left: calc(50% - 1.1rem);
}

.p-reason-list__sub {
	font-weight: bold;
	color: #0056a4;
	font-size: 2.4rem;
	margin-bottom: 1.2rem;
}

.p-reason-list__ttl {
	font-weight: bold;
	font-size: 4rem;
	margin-bottom: 1.2rem;
}

.p-reason__txt {
	font-weight: bold;
	text-align: center;
	color: #333;
	letter-spacing: .02em;
}

.p-reason-bnr {
	border-top: 1px solid #aac1d5;
	margin-top: 7rem;
	padding: 6rem 0 27rem;
	position: relative;
	z-index: 1;
}

.p-reason-bnr__ttl {
	font-size: 4rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 7rem;
	letter-spacing: .02em;
}

.p-reason-bnr__ttl .primary {
	font-size: 5.2rem;
	color: #0056a4;
	border-bottom: 2px solid #0056a4;
	line-height: 1;
	display: inline-block;
	padding-bottom: .2rem;
}

.p-reason-bnr__ttl .highlight {
	font-size: 4rem;
	color: #ffaf55;
	border-bottom: 2px solid #ffaf55;
	line-height: 1;
	display: inline-block;
	padding-bottom: .3rem;
}

.p-reason__bg {
	position: absolute;
	bottom: -0.2rem;
	left: 50%;
	width: 136.6rem;
	transform: translateX(-50%);
	z-index: -1;
}

.p-reason__bg img {
	display: block;
	width: 100%;
}

.p-steps {
	padding: 9rem 0 9.6rem;
	position: relative;
}

.p-strength {
	padding: 9rem 0;
	background: url(../images/strength_bg.jpg);
}

.p-case {
	padding: 9rem 0;
	background: url(../images/case_bg.jpg);
	position: relative;
	z-index: 2;
}

.p-case-list {
	margin-bottom: 25rem;
}

.p-case-list__item {
	background-color: #fff;
	border: 1px solid #bcbec0;
	border-radius: 2rem;
	border-bottom-width: .8rem;
	position: relative;
	width: 100%;
}

.p-case-list__item::before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 10rem;
	height: 1rem;
	background-color: #fff;
	z-index: 3;
}

.p-case-list__item::after {
	content: "";
	position: absolute;
	top: calc(100% - 1.8rem);
	width: 5rem;
	height: 4.5rem;
	z-index: 2;
	background: url(../images/icon_cmt.png) no-repeat center bottom/contain;
}

.p-case-list__item:nth-child(odd)::before {
	left: 1px;
}

.p-case-list__item:nth-child(odd)::after {
	left: -1px;
}

.p-case-list__item:nth-child(even) {
	margin-left: auto;
}

.p-case-list__item:nth-child(even)::before {
	right: 1px;
}

.p-case-list__item:nth-child(even)::after {
	right: -1px;
	transform: scaleX(-1);
}

.p-case-list__item:nth-child(even) .p-case-list__avata {
	right: 0;
	flex-direction: row-reverse;
}

.p-case-list__item:not(:last-child) {
	margin-bottom: 32rem;
}

.p-case-list__head {
	font-weight: bold;
	padding: 2.4rem 3rem 3rem;
	border-bottom: 1px solid #bcbec0;
}

.p-case-list__sub {
	color: #0056a4;
	font-size: 2.4rem;
	margin-right: 1.4rem;
}

.p-case-list__ttl {
	font-size: 3.2rem;
}

.p-case-list__ttl .cl-primary {
	border-bottom: .4rem solid #0056a4;
}

.p-case-list__txt {
	padding: 3.5rem 3rem;
}

.p-case-list__avata {
	position: absolute;
	top: calc(100% + 4rem);
}

.p-case-list__avata .img {
	width: 16rem;
	height: 16rem;
	border-radius: 50%;
	margin-bottom: 1.5rem;
}

.p-case-list__avata .name {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}

.p-qa {
	padding: 9rem 0 9.8rem;
	position: relative;
	background: url(../images/strength_bg.jpg);
	width: 100%;
	overflow: hidden;
}

.p-qa .inner {
	position: relative;
	z-index: 2;
}

.p-qa::after {
	content: "";
	background: url("../images/bg_case_sp.png") no-repeat center bottom/contain;
	height: 58.3rem;
	width: 100%;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
}

.p-qa-list {
	counter-reset: sec-counter;
}

.p-qa-list dl {
	background-color: #fff;
	border: 1px solid #cecece;
	border-radius: 1.2rem;
}

.p-qa-list dl:not(:last-child) {
	margin-bottom: 3.2rem;
}

.p-qa-list dt,
.p-qa-list dd {
	padding: 2rem 3rem;
	margin: 0;
}

.p-qa-list dt {
	border-bottom: .2rem solid #cecece;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: .02em;
}

.p-qa-list dt::before {
	content: "Q" counter(sec-counter);
	counter-increment: sec-counter;
	color: #0056a4;
	margin-right: 2rem;
}

.p-qa-list dd {
	letter-spacing: .02em;
	padding: 2rem 3rem 3rem;
}

.p-contact {
	background: url(../images/bg_primary.jpg);
	padding: 8.5rem 0 3rem;
}

.p-contact .sec-ttl {
	color: #fff;
}

.p-contact-area {
	background-color: #fff;
	padding: 5rem 3rem 9rem;
	border-radius: 3.2rem;
	margin-bottom: 5.5rem;
	border: 1px solid #cecece;
}

.p-contact-area fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.p-contact-area label {
	display: block;
}

.p-contact-area label:not(:last-child) {
	margin-bottom: 4rem;
}

.p-contact-area .head {
	margin-bottom: 1.5rem;
}

.p-contact-area .ttl {
	font-weight: bold;
}

.p-contact-area .required {
	border: .2rem solid #aaa;
	font-size: 2.4rem;
	padding: .2rem .6rem .3rem;
	color: #aaa;
	border-radius: .6rem;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	font-weight: 500;
	margin-right: 1.2rem;
}

.p-contact-area .required.active {
	color: #da0f0f;
	border-color: #da0f0f;
}

.p-contact-area textarea {
	min-height: 24rem;
	padding-top: 3rem;
}

.p-contact-area__privacy {
	background-color: #f5f8fb;
	border-radius: 1.6rem;
	margin-bottom: 2.9rem;
	margin-top: 5rem;
	padding: 1rem .4rem;
}

.p-contact-area__privacy .box {
	padding: 3rem 2.6rem;
	overflow-y: auto;
	width: 100%;
	height: 26rem;
}

.p-contact-area__privacy .box::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}

.p-contact-area__privacy .box::-webkit-scrollbar-thumb {
	border-radius: 8px;
	background-color: #b5b9bc;
}

.p-contact-area__privacy .box::-webkit-scrollbar-track {
	border-radius: 10px;
	background-color: rgba(0,0,0,0);
}

.p-contact-area__privacy .ttl {
	font-weight: bold;
}

.p-contact-area__privacy .txt {
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: .02em;
}

.p-contact-area__note {
	font-size: clamp(10px,2.4rem,2.4rem);
	letter-spacing: .02em;
	text-align: center;
	margin-bottom: 5rem;
}

.p-contact-area__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background-color: #ffaf55;
	width: 40rem;
	height: 9.6rem;
	border-radius: .8rem;
	margin: 0 auto;
	font-weight: bold;
}

.p-contact-area .form-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 3rem;
	margin-top: 4rem;
}

.p-contact-area .form-thanks {
	line-height: 1.8;
}

.p-contact-area .form-thanks h3 {
	font-size: clamp(10px,3.6rem,3.6rem);
	text-align: center;
	margin-bottom: 2rem;
}

.p-contact__txt {
	text-align: center;
	color: #fff;
	font-size: clamp(10px,1.6rem,1.6rem);
}

@media (min-width: 576px) {

.d-sm-none {
	display: none !important;
}

.d-sm-block {
	display: block !important;
}

.d-sm-flex {
	display: flex !important;
}

.text-sm-left {
	text-align: left !important;
}

.text-sm-right {
	text-align: right !important;
}

.text-sm-center {
	text-align: center !important;
}

}

@media (min-width: 768px) {

html {
	font-size: .7320644217vw;
}

body {
	font-size: 1.8rem;
}

.container {
	margin: auto;
	max-width: 119.6rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.inner {
	margin: auto;
	max-width: 99.6rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.d-md-none {
	display: none !important;
}

.d-md-block {
	display: block !important;
}

.d-md-flex {
	display: flex !important;
}

.text-md-left {
	text-align: left !important;
}

.text-md-right {
	text-align: right !important;
}

.text-md-center {
	text-align: center !important;
}

.btn-headMail {
	font-size: clamp(10px,1.6rem,1.6rem);
	width: 20.1rem;
	height: 100%;
}

.btn-headMail::before {
	margin-right: .6rem;
	height: 1.4rem;
	width: 2rem;
}

.btn-headTel {
	height: 100%;
	width: 25.5rem;
}

.btn-headTel__ttl {
	font-size: clamp(10px,1.4rem,1.4rem);
}

.btn-headTel__num {
	font-size: 2.6rem;
}

.btn-headTel__num::before {
	width: 2.2rem;
	height: 2rem;
	margin-right: .8rem;
}

.btn-headTel__txt {
	font-size: clamp(10px,1.2rem,1.2rem);
}

.btn-mail {
	height: 13.6rem;
	width: 55.5rem;
	font-size: 4rem;
}

.btn-tel {
	height: 13.6rem;
	width: 55.5rem;
}

.btn-tel__ttl {
	font-size: 2rem;
}

.btn-tel__num {
	font-size: 4.8rem;
}

.btn-tel__num::before {
	height: 3.3rem;
	width: 3.3rem;
}

.btn-back {
	width: 32rem;
	height: 6.4rem;
	border-radius: 1.2rem;
}

.p-header__float {
	height: 100%;
}

.p-header__txt {
	padding: .2rem 1.9rem .3rem;
	font-size: 10px;
}

.p-header__main {
	height: 8rem;
	padding-left: 4rem;
}

.p-header__logo {
	width: 24.2rem;
}

.form-control {
	padding: .5rem 2.5rem;
	font-size: 1.6rem;
	border-radius: .6rem;
	height: 6rem;
}

.sec-ttl .sub {
	font-size: 2.4rem;
}

.sec-ttl .ttl {
	font-size: 5.6rem;
}

.part-ttl .cl-primary {
	border-bottom-width: .2rem;
}

.part-ttl {
	font-size: clamp(10px,4rem,4rem);
	margin-bottom: 5.6rem;
}

a[href^=tel] {
	pointer-events: none;
}

.sp {
	display: none;
}

.p-mv {
	border-bottom-width: 1px;
}

.p-mv {
	display: flex;
	height: 66.8rem;
}

.p-mv__left {
	padding: 4rem 5.6rem 0;
	max-width: 77.4rem;
}

.p-mv__right {
	background: url("../images/mv_bg.png") no-repeat center right/cover;
	flex-shrink: 0;
	width: 43.3382137628%;
}

.p-mv__ttl {
	line-height: 1.1;
	font-size: 3rem;
	margin: 0 -2rem 3.2rem 0;
}

.p-mv__ttl span {
	border-bottom-width: .2rem;
	font-size: 1.26667em;
}

.p-mv__list li {
	box-shadow: 0 .3rem 0 rgba(0,0,0,.24);
	padding: 0 1.6rem;
	height: 5.8rem;
	letter-spacing: .06em;
	border-radius: .8rem;
	font-size: clamp(10px,1.8rem,1.8rem);
	border-width: .2rem;
}

.p-mv__list li::before {
	margin-right: 1.7rem;
}

.p-mv__point {
	bottom: 5rem;
	-moz-column-gap: 1.8rem;
	column-gap: 1.8rem;
	padding: 0 3.2rem;
}

.c-contact {
	padding: 6.4rem 0 10.4rem;
}

.c-contact__ttl {
	letter-spacing: .08em;
	margin-bottom: 5.6rem;
	font-size: 3rem;
}

.c-contact__btns {
	-moz-column-gap: 5.6rem;
	column-gap: 5.6rem;
	justify-content: center;
	display: flex;
}

.p-gallery {
	padding: 5.6rem 0 9.6rem;
}

.p-gallery::after {
	background: url("../images/bg02.png") no-repeat center bottom/100% auto;
}

.p-gallery .gallery-list {
	animation: aniRun 100s linear infinite;
}

.intro-box {
	padding: 6.4rem 2.4rem 2.4rem;
}

.intro-box__img {
	margin: 0 -2.4rem;
}

.intro-box__ttl {
	font-size: clamp(10px,4rem,4rem);
}

.intro-box__ttl .cl-primary {
	font-size: 1.15em;
	border-bottom-width: .2rem;
}

.intro-box__txt {
	border-radius: 1.6rem;
	font-size: clamp(10px,1.8rem,1.8rem);
	line-height: 1.6666666667;
	padding: 4.2rem 1rem;
}

.p-point {
	padding: 8.2rem 0 8.8rem;
}

.p-point::before {
	background: url("../images/logo_bg.png") no-repeat center/contain;
	height: 103.2rem;
	width: 103.2rem;
	top: -16rem;
}

.p-point::after {
	content: "";
	background: url("../images/point_bg_02.png") no-repeat center/contain;
	height: 58.3rem;
	width: 175.2rem;
}

.p-point .ver-dot {
	margin-bottom: 5.9rem;
}

.p-point__label span {
	height: 5.8rem;
	width: 31.9rem;
	border-radius: .8rem;
	font-size: clamp(10px,2rem,2rem);
}

.p-point__ttl {
	margin-bottom: 6rem;
	font-size: 6.4rem;
}

.p-point__ttl .note {
	font-size: clamp(10px,1.6rem,1.6rem);
}

.p-point__ttl .highlight {
	font-size: 8rem;
	padding-bottom: .5rem;
	margin-right: 1rem;
	border-bottom-width: .2rem;
}

.p-point-check {
	row-gap: 3.2rem;
}

.p-point-check__item {
	height: 9rem;
	font-size: 4rem;
	min-width: 57rem;
	border-radius: 1.2rem;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
}

.p-point-check__item::before {
	width: 2.7rem;
	height: 2.5rem;
}

.p-point__des {
	min-width: 57rem;
}

.point-box {
	border-radius: 1.6rem;
	margin-bottom: 7rem;
	padding: 6.4rem 5.6rem;
}

.point-box__list {
	row-gap: 4rem;
}

.point-box__list .point-item {
	border-radius: 1.6rem;
	display: flex;
}

.point-box__list .point-item__media {
	padding: 2.4rem 2.3rem;
	border-right: 1px solid #cecece;
	flex-shrink: 0;
	width: 40rem;
}

.point-box__list .point-item__media .media-row {
	flex-direction: column;
	height: 16.3rem;
	margin-bottom: 1.6rem;
	padding: 0 3rem;
}

.point-box__list .point-item__media .media-row .label {
	margin-bottom: .2rem;
	font-size: clamp(10px,1.4rem,1.4rem);
}

.point-box__list .point-item__media .media-row .txt {
	font-size: clamp(10px,2.6rem,2.6rem);
}

.point-box__list .point-item__media .media-row .txt .num {
	font-size: 1.5384615385em;
}

.point-box__list .point-item__image {
	flex-shrink: 0;
	border-right: 1px solid #cecece;
	width: 40.1rem;
}

.point-box__list .point-item__info {
	padding: 5rem;
}

.point-box__list .point-item__label {
	font-size: clamp(10px,1.4rem,1.4rem);
}

.point-box__list .point-item__ttl {
	margin-bottom: 2.5rem;
	font-size: clamp(10px,2.4rem,2.4rem);
}

.point-box__list .point-item__ttl span {
	border-bottom-width: .2rem;
}

.point-box__list .point-item__txt {
	font-size: clamp(10px,1.6rem,1.6rem);
	line-height: 1.6875;
}

.p-reason {
	padding: 9rem 0 0;
}

.p-reason-area {
	padding: 3.8rem 0;
	border-radius: 1.6rem;
}

.p-reason-area__image {
	-moz-column-gap: 6rem;
	column-gap: 6rem;
	margin-bottom: 3.5rem;
}

.p-reason-area__image .item {
	row-gap: 1.2rem;
	width: 15.8rem;
}

.p-reason-area__image .item .title {
	font-size: 2rem;
}

.p-reason-area__txt {
	line-height: 1.6666666667;
}

.p-reason-list {
	margin-bottom: 6rem;
	-moz-column-gap: 4.5rem;
	column-gap: 4.5rem;
}

.p-reason-list__item {
	border-radius: 1.6rem;
}

.p-reason-list__item:not(:last-child)::after {
	left: calc(100% + 1.8rem);
	top: 50%;
	border-left-color: #aac1d5;
	border-width: 1.1rem 0 1.1rem 1.5rem;
	margin-top: -1.1rem;
}

.p-reason-list__sub {
	font-size: clamp(10px,1.4rem,1.4rem);
}

.p-reason-list__ttl {
	font-size: 2.4rem;
	margin-bottom: 1.2rem;
}

.p-reason-list__txt.--small {
	font-size: clamp(10px,1.6rem,1.6rem);
}

.p-reason-bnr {
	margin-top: 8.5rem;
	padding: 6rem 0 9rem;
}

.p-reason-bnr__ttl {
	font-size: 3rem;
	margin-bottom: 6rem;
}

.p-reason-bnr__ttl .primary {
	font-size: 4rem;
}

.p-reason-bnr__ttl .primary small {
	font-size: 2.4rem;
}

.p-strength .point-item__image {
	width: 34.1rem;
}

.p-case {
	padding: 9rem 0;
}

.p-case-list {
	margin-bottom: 14rem;
}

.p-case-list__item {
	border-radius: 1.2rem;
	width: calc(100% - 13rem);
	border-bottom-width: .4rem;
}

.p-case-list__item::after {
	top: calc(100% - 1rem);
	width: 3.4rem;
	height: 3rem;
}

.p-case-list__item:nth-child(even)::after {
	right: -1px;
}

.p-case-list__item:not(:last-child) {
	margin-bottom: 4rem;
}

.p-case-list__head {
	padding: 2rem 3rem;
	display: flex;
	align-items: center;
}

.p-case-list__sub {
	font-size: clamp(10px,1.4rem,1.4rem);
	margin-right: 1.4rem;
}

.p-case-list__ttl {
	font-size: 2rem;
}

.p-case-list__ttl .cl-primary {
	border-bottom: .2rem solid #0056a4;
}

.p-case-list__txt {
	padding: 2rem 3rem 3rem 3rem;
	font-size: 1.6rem;
}

.p-case-list__avata {
	top: calc(100% + 2.5rem);
}

.p-case-list__avata .img {
	width: 8rem;
	height: 8rem;
}

.p-case-list__avata .name {
	font-size: clamp(10px,1.4rem,1.4rem);
}

.p-qa::after {
	content: "";
	background: url("../images/bg_case.png") no-repeat center/contain;
	height: 58.3rem;
	width: 175.2rem;
}

.p-qa-list dt {
	font-size: 2rem;
}

.p-qa-list dd {
	font-size: clamp(10px,1.6rem,1.6rem);
}

.p-contact-area {
	border-radius: 1.6rem;
	margin-bottom: 11rem;
	padding: 6rem 8rem;
}

.p-contact-area .required {
	border-width: 1px;
	padding: .3rem .8rem .4rem;
	font-size: clamp(10px,1.4rem,1.4rem);
	border-radius: .4rem;
	margin-right: 1.5rem;
}

.p-contact-area textarea {
	padding-top: 2rem;
	min-height: 20rem;
}

.p-contact-area__privacy {
	padding: 1rem .4rem;
}

.p-contact-area__privacy .box {
	height: 19.6rem;
	padding: 2.4rem 3rem;
}

.p-contact-area__privacy .txt {
	font-size: clamp(10px,1.4rem,1.4rem);
}

.p-contact-area__note {
	margin-bottom: 4rem;
	font-size: clamp(10px,1.2rem,1.2rem);
}

.p-contact-area__btn {
	width: 32rem;
	height: 6.4rem;
	border-radius: 1.2rem;
}

.p-contact-area .form-btn {
	flex-direction: row;
}

.p-contact-area .form-thanks {
	font-size: clamp(10px,1.6rem,1.6rem);
}

.p-contact-area .form-thanks h3 {
	font-size: clamp(10px,2.4rem,2.4rem);
}

}

@media (min-width: 992px) {

.d-lg-none {
	display: none !important;
}

.d-lg-block {
	display: block !important;
}

.d-lg-flex {
	display: flex !important;
}

.text-lg-left {
	text-align: left !important;
}

.text-lg-right {
	text-align: right !important;
}

.text-lg-center {
	text-align: center !important;
}

}

@media (min-width: 1200px) {

.d-xl-none {
	display: none !important;
}

.d-xl-block {
	display: block !important;
}

.d-xl-flex {
	display: flex !important;
}

.text-xl-left {
	text-align: left !important;
}

.text-xl-right {
	text-align: right !important;
}

.text-xl-center {
	text-align: center !important;
}

}

@media screen and (min-width: 1367px) {

html {
	font-size: 10px;
}

}

@media (max-width: 767px) {

.btn-headTel {
	padding: 1.5rem 0;
}

.btn-tel__txt {
	display: none;
}

.btn-back {
	font-size: 3rem;
}

.p-header__float {
	border-top: .2rem solid #cecece;
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 100;
}

.p-header__txt .item {
	animation: aniRun 15s linear infinite;
	flex-shrink: 0;
	display: flex;
}

.p-header__txt .item p {
	flex-shrink: 0;
}

.pc {
	display: none;
}

.p-mv__right {
	height: 75rem;
}

.p-mv__ttlImg {
	margin-bottom: 1rem;
}

.p-mv__ttl {
	padding: 0 3rem;
}

.p-mv__img {
	margin-bottom: 8rem;
}

.c-contact__btns .btn:not(:last-child) {
	margin-bottom: 4rem;
}

.intro-box__ttl .small {
	font-size: 3.2rem;
	display: block;
}

.p-point__ttl .highlight {
	margin-right: 1rem;
}

.p-point-check__item::before {
	position: absolute;
	left: 4rem;
	top: 50%;
	transform: translateY(-50%);
}

.point-box {
	margin-top: 7.5rem;
}

.point-box__list .point-item__media {
	border-bottom: 1px solid #cecece;
}

.point-box__list .point-item__media .media-row {
	align-items: center;
}

.point-box__list .point-item__media .media-row .body {
	flex: 1 1;
}

.point-box__list .point-item__media .media-row .icon {
	width: 16.8rem;
}

.point-box__list .point-item__image {
	width: 100%;
	border-bottom: 1px solid #cecece;
}

.point-box__list .point-item__ttl span {
	display: inline-block;
}

.p-reason .part-ttl {
	margin-bottom: 7.5rem;
}

.p-reason-area__image {
	flex-direction: column;
	align-items: center;
}

.p-reason-area__image .item:not(:last-child) {
	margin-bottom: 7.5rem;
}

.p-reason-list {
	row-gap: 8.5rem;
	flex-direction: column;
}

.p-reason-list__item:not(:last-child)::after {
	border-top-color: #aac1d5;
	border-width: 2rem 1.5rem 0 1.5rem;
}

.p-reason-bnr__ttl .highlight {
	margin-left: .8rem;
}

.p-case-list__ttl .cl-primary {
	display: inline-block;
}

.p-case-list__avata {
	display: flex;
	align-items: center;
	-moz-column-gap: 3.4rem;
	column-gap: 3.4rem;
}

.p-contact-area .ttl {
	font-size: 3rem;
}

.p-contact-area__privacy .ttl {
	font-size: 3rem;
}

.p-contact-area__btn {
	font-size: 3rem;
}

}

@keyframes aniRun {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-50%);
}

}

