@charset "utf-8";
*{
	box-sizing: border-box;
}
html {
	font-size: calc(10px * 500 / 750);
}
body {
	font-size: 2.8rem;
	color: #333333;
	line-height: 1.5;
	letter-spacing: 0.02em;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight:normal;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
	padding: 0;
}
body::before{
	background: #333;
	background-size: cover;
	content: "";
	display: block;
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	z-index: -1;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0
}
ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 2.6rem;
}
address {
	font-style: inherit
}
a {
	text-decoration: none;
	color: #393327;
	transition: 0.3s ease;
}
p {
	margin-bottom: 1.5em;
}
p:last-child{
	margin-bottom: 0;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	height: auto;
	width: 100%;
	vertical-align: bottom;
}
table {
	width: 100%;
	border-collapse: collapse;
}
hr {
	border: none;
	height: 1px;
	background: #1c1c1c;
	margin-bottom: 1em;
}
strong{
	font-weight: bold;
}
.hide{
	display: none;
}
.fa-phone{
	margin-right: 0.3em;
}

/* 501px for PC */
@media screen and (min-width: 501px) {
	.sp_only{
		display: none;
	}
}

/* 500px for SP */
@media screen and (max-width: 500px) {
	html{
		font-size: 1.33333vw;
	}
	.pc_only{
		display: none;
	}
}

/*---------------------------------------------------------*/
/* wrapper & inner */
#wrapper{
	background: #f7f7f7;
	margin: 0 auto;
    max-width: 500px;
	position: relative;
}
.inner{
	margin: 0 3rem;
}

/* bg */
.bg_gray{
	background: #f7f7f7;
	padding: 9rem 0 8rem;
}
.bg_yellow{
	background: #fbf5e5;
	padding: 9rem 0 8rem;
}

/*---------------------------------------------------------*/
/* font */
/* family */
.notosans{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.notoserif{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}  
.montserrat{
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/* weight */
.ultralight{ font-weight: 100; }
.extralight{ font-weight: 200; }
.light{ font-weight: 300; }
.normal{ font-weight: 400; }
.medium{ font-weight: 500; }
.semibold{ font-weight: 600; }
.bold{ font-weight: 700; }
.extrabold{ font-weight: 800; }
.ultrabold{ font-weight: 900; }

/* size (percent) */
.size_l{ font-size: 110%; }
.size_s{ font-size: 87.5%; }
.size_ss{ font-size: 60%; }

/* size (rem) */
.size_20{ font-size: 2.0rem; }
.size_24{ font-size: 2.4rem; }
.size_26{ font-size: 2.6rem; }
.size_30{ font-size: 3.0rem; }
.size_32{ font-size: 3.2rem; }
.size_34{ font-size: 3.4rem; }
.size_36{ font-size: 3.6rem; }
.size_40{ font-size: 4.0rem; }
.size_44{ font-size: 4.4rem; }
.size_46{ font-size: 4.6rem; }
.size_48{ font-size: 4.8rem; }
.size_50{ font-size: 5.0rem; }
.size_70{ font-size: 7.0rem; }
.size_72{ font-size: 7.2rem; }

/* lineheight */
.lineheight_13{ line-height: 1.3; }
.lineheight_18{ line-height: 1.8; }
.lineheight_20{ line-height: 2; }

/* align */
.text_center{
	text-align: center;
}
.text_left{
	text-align: left;
}
.text_right{
	text-align: right;
}
.text_upper{
	vertical-align: super;
	font-size:0.6em;
}

/* color */
.color_white{
	color: #fff;
}
.color_yellow{
	color: #ffff00;
}
.color_red{
	color: #ff3300;
}
.color_orange{
	color: #ff6600;
}

/* decoration */
.underline{
	text-decoration: underline;
}

/* strong */
.strong_yellow{
	background: #ffff00;
}
.strong_orange{
	background: #ff6600;
}
.strong_yellow_harf{
	background-image: linear-gradient(0, #ff6 50%, rgba(255,255,255,0) 50%);
}

/* marker */
.marker_yellow{
	display: inline-block;
	margin: 0 auto;
	position: relative;
	width: fit-content;
}
.marker_yellow::after{
	background: #ffff66;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 33.33333%;
	width: 0;
	transition: 1s;
	transition-delay: 0.4s;
	z-index: -1;
}
.is-inview .marker_yellow::after{
	width: 100%;
}
.marker_dot{
	position: relative;
}
.marker_dot::after{
	content: "・";
	font-weight: 300;
	position: absolute;
	left: calc(50% - 0.5em);
	top: -0.8em;
}

.nowrap{
	white-space: nowrap;
}

/*---------------------------------------------------------*/
/* margin */
.mt_10{ margin-top: 1rem; }
.mt_20{ margin-top: 2rem; }
.mt_30{ margin-top: 3rem; }
.mt_40{ margin-top: 4rem; }
.mt_50{ margin-top: 5rem; }
.mt_60{ margin-top: 6rem; }
.mt_70{ margin-top: 7rem; }

/*---------------------------------------------------------*/
/* flex & float */
.flex_block{
	display: flex;
	justify-content: space-between;
	flex-grow: 1;
}
.align_center{
	align-items: center;
}
.justify_start{
	justify-content: flex-start;
}
.justify_end{
	justify-content: flex-end;
}
.justify_center{
	justify-content: center;
}
.justify_between{
	justify-content: space-between;
}
.justify_around{
	justify-content: space-around;
}
.float_right{
	float: right;
}
.float_left{
	float: left;
}
.flex_block.column_2 > div{
	box-sizing: border-box;
	width: 49%;
}
.flex_block.column_3 > div{
	box-sizing: border-box;
	width: 32%;
}

/*---------------------------------------------------------*/
/* basic_title_l */
.basic_title_l > span,
.basic_title_m > span{
		display: block;
}

/* basic_title_l */
.basic_title_l{
	margin-bottom: 5rem;
}
.basic_title_l .en{
	color: #b8b8b8;
	font-size: 3.6rem;
}
.basic_title_l .jp{
	font-size: 4rem;
	line-height: 1.5;
	margin: 2rem auto 4rem;
}

/* basic_title_m */
.basic_title_m{
	margin-bottom: 4rem;
}
.basic_title_m .en{
	color: #b8b8b8;
	font-size: 3.6rem;
}
.basic_title_m .jp{
	font-size: 4rem;
	margin-top: 1rem;
}

/*---------------------------------------------------------*/
/* link_reserve */
.link_reserve{
	background-image: linear-gradient( 0, rgb(255,66,0) 0%, rgb(255,102,0) 100%);
	border: 0.4rem #647eb8 solid;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.link_reserve:hover{
	background-image: linear-gradient( 0, rgb(255, 102, 0) 0%, rgb(255, 127, 42) 100%);
	transform: scale(1.06);
}
.link_reserve span{
	position: absolute;
	z-index: 10;
}
.link_reserve::after{
	animation: link_reserve_shining 3s infinite forwards;
	background-image: linear-gradient(135deg, rgba(255,255,255,0) 28%,  rgba(255,255,255,0.5) 35%,  rgba(255,255,255,0) 37%);
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: -100%;
}
@keyframes link_reserve_shining {
	0%{
		left: -100%;
	}
	40%{
		left: 100%;
	}
	100%{
		left: 100%;
	}
}
#head .link_reserve{
	border-radius: 2rem;
	height: 9rem;
	width: 19rem;
}
.reserve_block{
	margin-top: 4rem;
}
.reserve_block .link_reserve{
	border-width: 0.6rem;
	border-color: #fff;
	border-style: solid;
	border-radius: 3rem;
  	box-shadow: 0px 0px 2rem 0px rgba(0, 0, 0, 0.1);
	font-size: 5.1rem;
	height: 20rem;
	text-shadow: 0px 0.5rem 0px rgba(0, 0, 0, 0.1);
}

/*---------------------------------------------------------*/
/* link_tel */
.link_tel{
	border-radius: 2rem;
	background-image: linear-gradient( 0, rgb(205,167,64) 1%, rgb(249,238,126) 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0 auto;
	width: 100%;
	height: 24.4rem;
}

/*---------------------------------------------------------*/
/* table_basic */
.table_basic,
.page_lower .table_basic{
	width: 100%;
	border-collapse: collapse;
}
.table_basic th, .table_basic td,
.page_lower .table_basic th, .page_lower .table_basic td{
	text-align: left;
	padding:1.3rem 0.9rem;
	border:1px solid #dddddd;
	vertical-align: middle;
}
.table_basic th,
.page_lower .table_basic th{
	background: #fbf7f5;
	font-weight: bold;
	white-space: nowrap;
}
/* 768px for SP */
@media screen and (max-width: 768px) {
	.table_basic th, .table_basic td,
	.page_lower .table_basic th, .page_lower .table_basic td{
		padding: 1.6rem 0.5rem;
	}
}

/*---------------------------------------------------------*/
/* list */
.list_disc,
.list_number{
	margin-left:1.5em;
}
.list_disc > li{
	margin:0.6em 0;
	list-style-type: disc;
}
.list_number > li{
	list-style-type:decimal;
}
.list_check > li{
	padding:0.3em 0 0.3em 2em;
	background: url(../img/ic_check.svg) no-repeat left 0.5em;
	background-size: 1.4em auto;
}

/*---------------------------------------------------------*/
/* accordion */
.accordion_btn{
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 3rem 4rem;
}
.accordion_btn .icon{
	display: flex;
	transform: rotate(180deg);
	transition: 0.3s all;
	width: 2.6rem;
}
.accordion_btn.active .icon{
	transform: rotate(0);
}
.accordion_body{
	display: none;
	padding: 0 4rem 4rem;
}

/*---------------------------------------------------------*/
/* フェードイン(初期値) */
.js-fadeUp {
	opacity: 0;
	transform: translateY(2rem);
	transition: opacity 0.7s, transform 0.7s;
}
/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0s;
}

/* タイミングずらし */
.js-fadeUp.is-inview.order2{
	transition-delay: .3s;
}
.js-fadeUp.is-inview.order3{
	transition-delay: 0.6s;
}
.js-fadeUp.is-inview.order4{
	transition-delay: 0.9s;
}

/*---------------------------------------------------------*/
/* scroll-infinity */
@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
}
@keyframes infinity-scroll-right {
	from {
	  transform: translateX(-100%);
	}
	  to {
	  transform: translateX(0);
	}
}
.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}
.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}
.scroll-infinity__list--left {
	animation: infinity-scroll-left 40s infinite linear 0.5s both;
}
.scroll-infinity__list--right {
	animation: infinity-scroll-right 40s infinite linear 0.5s both;
}
.scroll-infinity__reason {
	animation: infinity-scroll-left 10s infinite linear 0.5s both;
}
