* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family: YuGothic, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Questrial", "Noto Sans JP", sans-serif;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	padding: 0;
	color: #3E3A39;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

picture {
	display: block;
	width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

a {
	color: #3E3A39;
	text-decoration: none;
	transition: 0.3s;
}

a:hover {
	cursor: pointer;
}

.pc-none {
	display: none;
}

.sp-none {
	display: block;
}

.container {
	width: min(100%, 1280px);
	margin-right: auto;
	margin-left: auto;
	padding: 0 min(7.8125vw, 100px);
}

.page-inner {
	padding: min(7.8125vw, 100px) 0 min(11.71875vw, 150px) 0;
}

.footer {
	position: relative;
	padding: min(4.6875vw, 60px) 0 min(3.515625vw, 45px) 0;
}

.footer__container {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: min(100vw, 1280px);
	margin: 0 auto;
	padding: 0 min(5.46875vw, 70px);
}

.footer__logos {
	-moz-column-gap: min(2.34375vw, 30px);
	display: flex;
	column-gap: min(2.34375vw, 30px);
	align-items: center;
	justify-content: center;
}

.footer-logo.--tsubasa {
	width: min(15.9375vw, 204px);
}

.footer-logo.--alpha {
	width: min(10.859375vw, 139px);
}

.footer-copy {
	margin-top: min(1.015625vw, 13px);
}

.footer-copy_text {
	font-size: min(1.09375vw, 14px);
}

.footer-nav {
	width: min(37.5vw, 480px);
}

.footer-nav__list {
	display: flex;
	row-gap: min(1.71875vw, 22px);
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.footer-nav__item {
	width: min(14.84375vw, 190px);
}

.footer-nav__link {
	font-weight: 400;
	font-size: min(1.328125vw, 17px);
	line-height: 1.6;
}

.header {
	z-index: 1100;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.7);
}

.header__container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100vw, 1280px);
	margin-right: auto;
	margin-left: auto;
	padding: min(0.625vw, 8px) min(9.375vw, 120px) min(0.625vw, 8px) min(9.0625vw, 116px);
}

.header__logo {
	width: 177px;
}

.header__wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header__nav {
	width: 100%;
}

.header__nav-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.header__nav-item {
	width: -moz-fit-content;
	width: fit-content;
}

.header__nav-link {
	display: inline-block;
	padding: min(1.5625vw, 20px);
}

.header__nav-link-text {
	width: -moz-fit-content;
	width: fit-content;
	font-weight: 400;
	font-size: min(1.25vw, 16px);
}

.header__nav-link-text.--tel-bottom {
	margin-top: min(0.625vw, 8px);
	font-size: min(0.9375vw, 12px);
}

.header__contact-link {
	display: inline-block;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	padding: min(1.25vw, 16px) min(1.09375vw, 14px) min(1.25vw, 16px) min(2.8125vw, 36px);
	border: 1px solid #34bdf0;
	background: #34bdf0;
	transition: all 0.5s;
}

.header__contact-link:hover {
	background: #ffffff;
	color: #34bdf0;
}

.header__contact-link::after {
	-webkit-mask: url("./../img/icon-mail.svg");
	-webkit-mask-size: cover;
	position: absolute;
	top: 50%;
	left: min(1.09375vw, 14px);
	width: min(1.109375vw, 14.2px);
	height: min(0.859375vw, 11px);
	transform: translateY(-50%);
	background-color: #ffffff;
	content: "";
	mask: url("./../img/icon-mail.svg");
	mask-size: cover;
	transition: all 0.5s;
}

.header__contact-link:hover::after {
	background-color: #34bdf0;
}

.header__contact-link-text {
	color: #ffffff;
	font-weight: 700;
	font-size: min(1.25vw, 16px);
	white-space: nowrap;
	transition: all 0.5s;
}

.header__contact-link:hover .header__contact-link-text {
	color: #34bdf0;
}

.btn {
	text-align: center;
}

.btn.--service {
	position: relative;
	padding: min(0.78125vw, 10px) min(5.625vw, 72px) min(0.78125vw, 10px) min(3.75vw, 48px);
	border-radius: 9999px;
	background: linear-gradient(to top left, #34bdf0, #0090d1);
	color: #ffffff;
	font-weight: 700;
	font-size: min(1.25vw, 16px);
}

.btn.--service::after {
	-webkit-mask: url("./../img/icon-arrow-right.svg");
	-webkit-mask-size: cover;
	position: absolute;
	top: 50%;
	right: min(2.578125vw, 33px);
	width: min(1.953125vw, 25px);
	height: min(1.953125vw, 25px);
	transform: translateY(-50%);
	background-color: #ffffff;
	content: "";
	mask: url("./../img/icon-arrow-right.svg");
	mask-size: cover;
	transition: all 0.5s;
}

.btn.--contact,
.btn.--res {
	border: 1px solid #D9CFB4;
	background: #D9CFB4;
	color: #ffffff;
	transition: all 0.5s;
}

.btn.--contact:hover,
.btn.--res:hover {
	background: #ffffff;
	color: #D9CFB4;
}

.ff-goudy {
	font-family: "Sorts Mill Goudy", "Noto Sans JP", serif;
}

.ff-gothic {
	font-family: "Questrial", sans-serif;
}

.page-header {
	display: flex;
	align-items: center;
	width: 100%;
	height: min(5.46875vw, 70px);
	margin-top: min(13.125vw, 168px);
	background: #D9CFB4;
}

.page-header__title {
	width: min(100vw, 1280px);
	margin: 0 auto;
	padding: 0 min(7.8125vw, 100px);
	color: #ffffff;
	font-weight: 400;
	font-size: min(2.5vw, 32px);
}

.sp-menu {
	display: none;
}

.hamburger-menu__line {
	position: absolute;
	width: min(12.3076923077vw, 48px);
	height: min(0.2564102564vw, 1px);
	background-color: #3E3A39;
	transition-duration: 0.5s;
	will-change: transform;
}

.hamburger-menu__line:first-of-type {
	top: 0px;
}

.hamburger-menu__line:nth-of-type(2) {
	top: 50%;
}

.hamburger-menu__line:last-of-type {
	bottom: 0;
}

.hamburger-menu.--active .hamburger-menu__line:first-of-type {
	-webkit-transform: translateY(-50%) rotate(20deg);
	-ms-transform: translateY(-50%) rotate(20deg);
	top: 50%;
	transform: translateY(-50%) rotate(20deg);
}

.hamburger-menu.--active .hamburger-menu__line:nth-of-type(2) {
	transform: scale(0);
}

.hamburger-menu.--active .hamburger-menu__line:last-of-type {
	-webkit-transform: translateY(-50%) rotate(160deg);
	-ms-transform: translateY(-50%) rotate(160deg);
	top: 50%;
	transform: translateY(-50%) rotate(160deg);
}

.sp-menu-nav__res,
.sp-menu-nav__tel {
	width: -moz-fit-content;
	width: fit-content;
}

.sp-menu-nav__res {
	margin-top: min(9.4871794872vw, 37px);
}

.sp-menu-nav__res-link {
	display: inline-block;
	padding: min(2.8205128205vw, 11px);
	border-radius: 3px;
	background: #3E3A39;
}

.sp-menu-nav__res-link-text {
	color: #ffffff;
	font-weight: 400;
	font-size: min(4.1025641026vw, 16px);
}

.sp-menu-nav__res-link-text.--en {
	text-transform: uppercase;
}

.sp-menu-nav__res-link-text.--jp {
	padding-top: min(1.5384615385vw, 6px);
	font-size: min(2.5641025641vw, 10px);
}

.sp-menu-nav__tel-link {
	display: inline-block;
	position: relative;
	padding: min(6.4102564103vw, 25px) 0 0 min(1.2820512821vw, 5px);
}

.sp-menu-nav__tel-link-text {
	font-weight: 400;
	font-size: min(3.8461538462vw, 15px);
	letter-spacing: 0.1em;
}

.js__placeholder.hidden {
	display: none;
}

.logo-simple {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.logo-simple__img {
	width: min(10.078125vw, 129px);
	height: min(10.546875vw, 135px);
}

.logo-simple__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.logo-simple__text {
	position: relative;
	margin-left: min(2.96875vw, 38px);
	padding: min(0.625vw, 8px) min(4.0625vw, 52px) min(0.625vw, 8px) min(1.796875vw, 23px);
	background: #fafafa;
	font-weight: 700;
	font-size: min(1.40625vw, 18px);
}

.logo-simple__text::before {
	z-index: -1;
	position: absolute;
	bottom: max(-0.625vw, -8px);
	left: max(-1.5625vw, -20px);
	transform: rotate(-15deg);
	border: min(2.5vw, 32px) solid transparent;
	border-bottom: min(2.5vw, 32px) solid #fafafa;
	content: "";
}

.contact-btn {
	padding: min(4.6875vw, 60px) 0;
}

.contact-btn__titles {
	position: relative;
	text-align: center;
}

.contact-btn__title {
	display: inline-block;
	font-weight: 700;
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
}

.contact-btn__text {
	margin-top: min(2.34375vw, 30px);
	font-size: min(1.25vw, 16px);
	line-height: 1.5;
}

.contact-btn__bg {
	position: absolute;
	top: 50%;
	left: calc(50% - min(36.171875vw, 463px));
	width: min(36.171875vw, 463px);
	height: min(7.5vw, 96px);
	transform: translate(-40%, -50%);
	content: "";
}

.contact-btn__items {
	-moz-column-gap: min(2.734375vw, 35px);
	display: flex;
	column-gap: min(2.734375vw, 35px);
	align-items: center;
	justify-content: center;
	margin-top: min(3.125vw, 40px);
}

.contact-btn__item {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(26.71875vw, 342px);
	height: min(16.71875vw, 214px);
	padding-top: min(4.6875vw, 60px);
}

.contact-btn__item::after {
	-webkit-mask-size: contain;
	position: absolute;
	top: min(3.515625vw, 45px);
	left: 50%;
	transform: translateX(-50%);
	background-color: #ffffff;
	content: "";
	mask-size: contain;
	transition: all 0.5s;
}

.contact-btn__item.--tel {
	background: #34bdf0;
}

.contact-btn__item.--tel::after {
	-webkit-mask: url("./../img/icon-tel.svg");
	width: min(3.28125vw, 42px);
	height: min(3.28125vw, 42px);
	mask: url("./../img/icon-tel.svg");
}

.contact-btn__item.--contact {
	background: #0090d1;
}

.contact-btn__item.--contact::after {
	-webkit-mask: url("./../img/icon-mail-form.svg");
	width: min(3.90625vw, 50px);
	height: min(3.90625vw, 50px);
	mask: url("./../img/icon-mail-form.svg");
}

.contact-btn__item-text {
	color: #ffffff;
	font-weight: 700;
	font-size: min(2.109375vw, 27px);
	line-height: 1.6;
}

.contact-btn__item-text.--bottom {
	font-size: min(1.71875vw, 22px);
}

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

.pc-none {
	display: block;
}

.sp-none {
	display: none;
}

.container {
	padding: 0 min(7.6923076923vw, 30px);
}

.page-inner {
	padding: min(12.8205128205vw, 50px) 0 min(25.641025641vw, 100px) 0;
}

.footer {
	padding: min(15.3846153846vw, 60px) 0 min(11.5384615385vw, 45px) 0;
}

.footer__container {
	padding: 0 min(7.6923076923vw, 30px);
}

.footer-copy {
	margin-top: min(3.3333333333vw, 13px);
}

.footer-copy_text {
	font-size: min(3.0769230769vw, 12px);
}

.header {
	display: none;
}

.btn.--service {
	padding: min(2.5641025641vw, 10px) min(18.4615384615vw, 72px) min(2.5641025641vw, 10px) min(12.3076923077vw, 48px);
}

.page-header {
	height: min(12.8205128205vw, 50px);
	margin-top: min(21.5384615385vw, 84px);
}

.page-header__title {
	font-size: min(6.1538461538vw, 24px);
}

.sp-menu {
	display: flex;
	z-index: 700;
	position: fixed;
	top: 0;
	left: 0;
	align-items: center;
	justify-content: space-between;
	width: 100vw;
	padding: min(6.4102564103vw, 25px) min(7.6923076923vw, 30px);
	transition: background 0.5s;
}

.sp-menu.--bg-white {
	background: rgba(255, 255, 255, 0.7);
}

.sp-menu.--active {
	background: #ffffff;
}

.sp-menu__logo {
	z-index: 700;
	width: min(34.6153846154vw, 135px);
	height: auto;
}

.hamburger-menu {
	display: block;
	z-index: 700;
	position: relative;
	width: min(12.3076923077vw, 48px);
	height: min(3.8461538462vw, 15px);
	cursor: pointer;
}

.sp-menu-nav {
	z-index: 700;
	position: fixed;
	top: min(21.5384615385vw, 84px);
	right: 0;
	width: 80vw;
	height: calc(100vh - min(21.5384615385vw, 84px));
	padding: min(7.6923076923vw, 30px);
	overflow: scroll;
	transform: translateX(100%);
	background-color: #ffffff;
	opacity: 0;
	pointer-events: none;
	transition-duration: 0.7s;
	will-change: opacity;
}

.sp-menu-nav.--active {
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}

.sp-menu-nav__list {
	display: flex;
	z-index: 700;
	flex-direction: column;
	height: auto;
}

.sp-menu-nav__item {
	width: 100%;
}

.sp-menu-nav__link-block {
	width: 100%;
}

.sp-menu-nav__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: min(3.3333333333vw, 13px) 0;
	background: #ffffff;
	font-weight: 400;
	font-size: min(4.6153846154vw, 18px);
}

.sp-menu-nav__link:hover {
	cursor: pointer;
}

}

