button, input, select, textarea {
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none
}
button {
	cursor: pointer
}
img, svg {
	height: auto
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold
}
.c-button {
	color: #146cae;
	border: 1px solid #146cae;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
}
@media only screen and (min-width:769px) {
	.c-button {
		border-width: 1px
	}
}
.c-button:hover {
	color: #fff;
	background-color: #146cae;
}
.c-button:hover path {
	fill: #fff
}
.c-button path {
	-webkit-transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}
.c-icon-plus {
	width: 3rem;
	height: 3rem;
	position: relative;
	background-color: #f9bfbf;
	border-radius: 50%
}
.c-icon-plus.is-active:after {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.c-icon-plus:after, .c-icon-plus:before {
	content: "";
	width: 40%;
	height: .1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #fff;
	-webkit-transition: .2s cubic-bezier(.215, .61, .355, 1);
	transition: .2s cubic-bezier(.215, .61, .355, 1)
}
.c-icon-plus:before {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.c-icon-plus:after {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	-ms-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg)
}
.c-link {
	text-decoration: underline
}
.c-link:hover {
	text-decoration: none
}
.c-magic-fade {
	opacity: 0;
	-webkit-transition: opacity .3s linear;
	transition: opacity .3s linear
}
.c-magic-fade.is-active {
	opacity: 1;
	-webkit-transition-duration: .5s;
	transition-duration: .5s
}
@media only screen and (max-width:768px) {
	.c-magic-fade.is-active {
		-webkit-transition-duration: 1s;
		transition-duration: 1s;
		-webkit-transition-delay: .1s;
		transition-delay: .1s
	}
}
.c-modal {
	position: fixed;
	z-index: 10000;
	opacity: 0;
	display: none;
	width: 100%;
	height: 120%;
	height: 120vh;
	top: 0;
	left: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	background-color: rgba(0, 0, 0, .5);
	-webkit-animation-duration: .3s;
	animation-duration: .3s;
	-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards
}
.c-modal-inside {
	width: 100%;
	min-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	pointer-events: none
}
.c-modal-area {
	width: 33.5rem;
	margin: 0 auto;
	padding: 5rem 0 calc(5rem + 20vh);
	text-align: center;
	pointer-events: auto
}
.c-modal-close-button {
	width: 24.8rem;
	margin: 4rem auto 0;
	padding: 1.6rem;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: .1em;
	color: #fff;
	background-color: #b97739
}
.c-modal-close-icon {
	width: 4rem;
	height: 4rem;
	position: fixed;
	z-index: 10001;
	top: 3rem;
	right: .3rem;
	display: none;
	opacity: 0;
	background-color: #b97739;
	border-radius: 50%;
	-webkit-animation-duration: .3s;
	animation-duration: .3s;
	-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	font-size: 0;
	color: transparent
}
.c-modal-close-icon:after, .c-modal-close-icon:before {
	content: "";
	width: 2rem;
	height: .1rem;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%
}
.c-modal-close-icon:before {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg)
}
.c-modal-close-icon:after {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	-ms-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg)
}
.c-modal.is-enter, .c-modal.is-enter+.c-modal-close-icon {
	display: block;
	-webkit-animation-name: anime-enter;
	animation-name: anime-enter
}
.c-modal.is-leave, .c-modal.is-leave+.c-modal-close-icon {
	-webkit-animation-name: anime-leave;
	animation-name: anime-leave
}
@-webkit-keyframes anime-enter {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.02);
		transform: scale(1.02)
	}
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}
@keyframes anime-enter {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.02);
		transform: scale(1.02)
	}
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}
@-webkit-keyframes anime-leave {
	0% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	to {
		opacity: 0;
		-webkit-transform: scale(1.02);
		transform: scale(1.02)
	}
}
@keyframes anime-leave {
	0% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	to {
		opacity: 0;
		-webkit-transform: scale(1.02);
		transform: scale(1.02)
	}
}
.c-page-header {
	margin-bottom: 11rem
}
@media only screen and (min-width:769px) {
	.c-page-header {
		margin-bottom: 10.8rem;
		padding-left: 2rem;
		padding-right: 2rem
	}
}
.c-page-header-inside {
	position: relative;
	z-index: 1;
	height: 16rem
}
@media only screen and (min-width:769px) {
	.c-page-header-inside {
		height: 14rem
	}
}
.c-page-header-title {
	width: 100%;
	position: absolute;
	top: calc(100% - 1rem);
	left: 0;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
@media only screen and (min-width:769px) {
	.c-page-header-title {
		top: calc(100% - 1.2rem)
	}
}
.c-page-header-title img {
	opacity: 0
}
.c-page-header-bg {
	overflow: hidden
}
.c-page-header-bg, .c-page-header-bg figure {
	z-index: -1;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0
}
.c-page-header-bg figure {
	-webkit-transition: 1.2s cubic-bezier(.645, .045, .355, 1);
	transition: 1.2s cubic-bezier(.645, .045, .355, 1);
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover
}
.c-page-header-bg.is-leave figure {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0)
}
.c-page-header-bg.is-leave:after, .c-page-header-bg.is-leave:before, .c-page-header-bg.is-leave span {
	-webkit-transform: scaleY(0);
	-ms-transform: scaleY(0);
	transform: scaleY(0)
}
.c-page-header-bg:after, .c-page-header-bg:before, .c-page-header-bg span {
	content: "";
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	position: absolute;
	top: -1px;
	left: -1px;
	-webkit-transform-origin: center top;
	-ms-transform-origin: center top;
	transform-origin: center top;
	-webkit-transition-duration: 1.2s;
	transition-duration: 1.2s;
	-webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
	transition-timing-function: cubic-bezier(.77, 0, .175, 1)
}
.c-page-header-bg:before {
	background-color: hsla(0, 100%, 99%, .8);
	-webkit-transition-delay: .14s;
	transition-delay: .14s
}
.c-page-header-bg span {
	background-color: #fffbfb;
	-webkit-transition-delay: 70ms;
	transition-delay: 70ms
}
.c-page-header-bg:after {
	background-color: #fff7f7
}
.c-page-desc {
	margin-bottom: 8.2rem;
	font-size: 1.2rem;
	line-height: 2;
	text-align: center
}
@media only screen and (min-width:769px) {
	.c-page-desc {
		margin-bottom: 7.7rem;
		font-size: .8rem;
		line-height: 2.4
	}
}
.c-page-desc a {
	display: inline-block
}
.c-page-body {
	padding-bottom: 12rem
}
.c-page-back-top {
	font-size: 1.2rem;
	line-height: 1;
	color: #b97739;
	font-family: "GFS Didot", serif
}
@media only screen and (max-width:768px) {
	.c-page-back-top {
		padding: 4rem 2rem
	}
}
@media only screen and (min-width:769px) {
	.c-page-back-top {
		padding-bottom: 4.5rem;
		font-size: .8rem;
		max-width: 1280px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 2rem;
		padding-right: 2rem
	}
}
.c-page-back-top a {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}
.c-page-back-top a:hover {
	opacity: .8
}
.c-page-back-top a svg {
	width: 2.7rem;
	margin-right: .8rem;
	-webkit-transition: .4s cubic-bezier(.215, .61, .355, 1);
	transition: .4s cubic-bezier(.215, .61, .355, 1)
}
@media only screen and (min-width:769px) {
	.c-page-back-top a svg {
		width: 2.4rem;
		margin-right: 1rem;
		padding-bottom: .2rem
	}
}
.c-page-back-top a:hover svg {
	-webkit-transform: translateX(-.5rem);
	-ms-transform: translateX(-.5rem);
	transform: translateX(-.5rem)
}
.c-page-back-bottom {
	height: 9.5rem;
	font-size: 2rem;
	position: relative;
	color: #b97739;
	border: .1rem solid currentColor;
	background-color: #fff;
	font-family: "GFS Didot", serif;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}
@media only screen and (min-width:769px) {
	.c-page-back-bottom {
		font-size: 1.6rem;
		border-width: 1px
	}
}
.c-page-back-bottom svg {
	width: 2.4rem;
	height: .4rem;
	left: 1.8rem;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}
.c-page-back-bottom svg path {
	-webkit-transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}
.c-pagination {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}
.c-pagination, .c-pagination-inside {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
.c-pagination-inside {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex
}
@media only screen and (min-width:769px) {
	.c-pagination-inside {
		position: relative
	}
}
.c-pagination a, .c-pagination span {
	padding: 1rem;
	font-size: 1.4rem;
	line-height: 1;
	color: #b97739;
	-webkit-transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	transition-property: opacity, background-color, box-shadow, border-color, color, fill, stroke;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}
.c-pagination a:hover, .c-pagination span:hover {
	opacity: .8
}
@media only screen and (min-width:769px) {
	.c-pagination a, .c-pagination span {
		padding: .75rem;
		font-size: .8rem
	}
}
.c-rect {
	position: absolute;
	z-index: -1;
	background-color: #edf7ff;
}
.c-rect.mod-light {
	background-color: #fffbfb
}
@media only screen and (min-width:769px) {
	.u-sp {
		display: none!important
	}
}
@media only screen and (max-width:768px) {
	.u-pc {
		display: none!important
	}
}
.u-upper {
	position: relative;
	z-index: 10
}
