@charset "UTF-8";


/* reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{font-size:100%;}
legend{color:#000;}
select,input,button,textarea{font-size:inherit;font-family:inherit;box-sizing: border-box;}
pre,code,kbd,samp{font-family:monospace;font-size:108%;line-height:100%;}
figure{padding:0;margin:0;}
input[type="submit"],
input[type="button"],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {display: none;}
input[type="submit"]::focus,
input[type="button"]::focus,
button::focus {outline-offset: -2px;}


/* base ---------------------------------------*/

*{box-sizing:border-box;}

html,body{height:100%;}

body{
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #000;
}

a{
	text-decoration: none;
	color:inherit;
	transition: all .25s ease;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

a:hover{opacity: 0.5;}

img{
	vertical-align: top;
	line-height: 1;
	max-width:100%;
	height:auto;
}


/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h{overflow: hidden;}

.fc-orange {color: #ff9149;}
.fc-white {color: #fff;}
.fc-black {color: #000;}


/* layout ---------------------------------------*/
.bodywrapper {
	overflow: clip;
}
.wrapper {

}

.inner{
	max-width:1200px;
	margin:0 auto;
}

.overlay{display: none;}

.d-none {display: none;}

.text-link {text-decoration: underline;}
.text-link:hover {text-decoration: none;}


/* icon ---------------------------------------*/

.icon-instagram {
	display: inline-block;
	-webkit-mask-image: url('../img/common/icon_instagram.svg');
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url('../img/common/icon_instagram.svg');
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
}


/* header ---------------------------------------*/

header {
	position: relative;
	left: 0;
	top: 0;
	z-index: 102;
	width: 100%;
}

.pageheader {
	background: #fff
}

.header-inner {
	position: relative;
	height: 80px;
	margin: 0 auto;
	width: 100%;
}

.header-logo {
	position: absolute;
	top: 50%;
	left: calc(20 / 1440 * 100vw);
	z-index: 1;
	transform: translateY(-50%);
	width: calc(190 / 1440 * 100vw);
}

.header-logo img {
	width: 100%;
}

#openmenu {display:none;}

/* gnav ---------------------------------------*/

.gnav {
	position:absolute;
	top: 50%;
	right: calc(20 / 1440 * 100vw);
	transform: translateY(-50%);
	width: fit-content;
}

.gnav-list {
	display: flex;
	gap: min(calc(20 / 1440 * 100vw), 20px);
	font-size: 0px;
}

.gnav-list > li {
}

.gnav-list > li a {
	display: block;
	font-size: 16px;
	line-height: 1.1;
	letter-spacing: 0.08em;
}


/* fixedheader ---------------------------------------*/
header.fixedheader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.8);
	transition: all 0.6s ease;
	transform: translate(0,-100%);
	z-index: 110;
	padding: 0 20px;
}

header.fixedheader.is-active {
	transform: translate(0,0);
}

.fixedheader-inner {
	height: 65px;
	margin:0 auto;
	position:relative;
	width: 100%;
}

.fixedheader-logo {
	position: absolute;
	top: 50%;
	left: calc(20 / 1440 * 100vw);
	z-index: 1;
	transform: translateY(-50%);
	max-width: min(calc(202 / 1440 * 100vw), 202px);
	width: 100%;
}

.fixedheader-logo img {
	width: 100%;
}


/* fixedheadergnav ---------------------------------------*/
.fixedheadergnav {
	position:absolute;
	top: 50%;
	right: calc(20 / 1440 * 100vw);
	transform: translateY(-50%);
	max-width: 514px;
	width: 100%;
}

.fixedheadergnav-list {
	display: flex;
	justify-content: space-between;
	font-size: 0px;
}

.fixedheadergnav-list > li {
	display: inline-block;
}

.fixedheadergnav-list > li a {
	display: block;
	font-size: 16px;
	line-height: 1.1;
	letter-spacing: 0.08em;
}


/* common ---------------------------------------*/
.section-title {
	margin-bottom: 16px;
}

.section-title span {
	display: block;
	font-size: 16px;
	line-height: 1.1;
	letter-spacing: 0.2em;
}

.section-title small {
	margin-left: 12px;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.2em;
}

.section-title b {
	display: block;
	margin-left: -4px;
	font-size: 36px;
	font-weight: 500;
	line-height: calc(116 / 72);
	letter-spacing: 0.035em;
}

.section-text {
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: 0.07em;
}


/* footer ---------------------------------------*/
.footer {
	position: relative;
	z-index: 10;
	padding: 40px 20px;
	background: #ff9149;
	overflow: hidden;
}

.footer-inner {
	margin:0 auto;
	max-width: 1200px;
	width: 100%;
}

.footer-logo {
	display: block;
	width: 116px;
	margin: 0 auto 24px;
}

.footer-logo img {
	width: 100%;
}

.footer-info {
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.75;
	text-align: center;
	letter-spacing: 0.05em;
	color: #fff;
}

.footer-nav {
	margin: 0 auto 44px;
}

.footer-nav-list {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.footer-nav-list > li {
	position: relative;
}

.footer-nav-list > li + li::after {
	position: absolute;
	top: 54%;
	left: -10px;
	transform: translateY(-50%);
	z-index: 1;
	width: 1px;
	height: 60%;
	background: #fff;
	content: '';
}

.footer-nav-list > li a {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.2em;
	color: #fff;
}


/* ↓↓変更予定↓↓ */
.footer-nav-list > li a {text-decoration: underline;}
.footer-nav-list > li a:hover {text-decoration: none;}
/* ↑↑変更予定↑↑ */


.footer-sns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
}

.footer-sns > a {
	display: block;
}

.footer-sns .icon-instagram {
	width: 36px;
	height: 36px;
	background: #fff;
}

.footer-copyright {
	position: absolute;
	bottom: 18px;
	left: 20px;
}

.copyright {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.2em;
	color: #fff;
}

.footer-privacy {
	position: absolute;
	bottom: 20px;
	right: 30px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.2em;
	color: #fff;
}

.footer-image-01 {
	position: absolute;
	bottom: 32px;
	left: 20px;
	width: min(calc(216 / 1440 * 100vw), 216px);
}
.footer-image-01 img {
	width: 100%;
}

.footer-image-02 {
	position: absolute;
	bottom: 52px;
	right: 4px;
	width: min(calc(462 / 1440 * 100vw), 462px);
}
.footer-image-02 img {
	width: 100%;
}


/* btn ---------------------------------------*/
/* .btn {
	display: inline-block;
	position: relative;
	max-width: 265px;
	width: 100%;
	height: 46px;
	border-radius: 50px;
	padding: 0 20px;
	font-size: 16px;
	text-align: center;
	line-height: 46px;
	letter-spacing: 0.3em;
	background: #000;
	border: 1px solid #000;
	color: #fff;
}

.btn.is-disable {
	background: #aaa;
	border: 1px solid #aaa;
	cursor: auto;
	pointer-events: none;
}

.btn .icon-arrow {
	position: absolute;
	top: 46%;
	transform: translateY(-50%);
}

.btn .icon-arrow.icon-arrow-next {right: 14px;}
.btn .icon-arrow.icon-arrow-prev {left: 14px;}

.btn:hover {
	background: rgba(255, 255, 255, 0);
	color: #000;
	opacity: 1;
}

.btn:hover .icon-arrow {background: #000;} */


/* Not Found ---------------------------------------*/
.wrapper-notfound {
	min-height: calc(100vh - 348px);
}

.notfound {
	padding: 160px 20px;
}

.notfound-title {
	font-size: 28px;
	line-height: 1.95;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}

.notfound-text {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.95;
	text-align: center;
	letter-spacing: 0.18em;
}

.notfound-btn {
	margin-top: 70px;
	text-align: center;
}


/* animation ---------------------------------------*/
.animation,
.animation-bottom {
	transition: all 1.2s ease;
	transform:translate(0, 20px);
	opacity:0;
}

.animation.on,
.animation-bottom.on {
	transform:translate(0, 0);
	opacity:1;
}

.animation.animation-image {transform:translate(-50%, 20px)}
.animation.animation-image.on {transform:translate(-50%, 0);}
.animation.animation-center {transform:translate(-50%, calc(-50% + 20px))}
.animation.animation-center.on {transform:translate(-50%, -50%);}

/* pc only */
@media screen and (min-width: 768px){
	.sp{display: none !important;}
	.spbr{display: none;}
}

/* large pc */
@media screen and (min-width: 1575px){

}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 850px){

}

@media screen and (min-width: 768px) and (max-width: 1100px){
	.footer {
		padding: 40px 20px 100px;
	}
}


/* sp only */
@media screen and (max-width: 767px){
	/* common item ---------------------------------------*/

	.pc{display: none !important;}
	.pcbr{display: none;}

	/* layout ---------------------------------------*/

	.inner,
	.wrapper{
		min-width: 0;
		width: 100%;
	}


	/* header ---------------------------------------*/
	header {
		position: fixed;
		transition: all .25s ease;
	}

	.header-inner {
		height:50px;
	}

	.header-logo {
		left: 16px;
		width: 96px;
	}

	header.is-active {background: rgba(255, 255, 255, 0.8);}

	#openmenu {
		display:block;
		width:60px;
		height:50px;
		text-indent: -99em;
		overflow: hidden;
		position:absolute;
		right: 0;
		top: 0;
		z-index: 101;
		transition: all .25s ease;
	}

	#openmenu span {
		content:'';
		display: block;
		width:30px;
		height:1px;
		background: #000;
		position: absolute;
		left:15px;
		transition: all .25s ease;
	}
	#openmenu span:nth-child(1) {top:20px;}
	#openmenu span:nth-child(2) {top:29px;}

	#openmenu.is-open span {
		top: 24px;
		left: 16px;
		background: #fff;
	}
	#openmenu.is-open span:nth-child(1) {transform:rotate(45deg);}
	#openmenu.is-open span:nth-child(2) {transform:rotate(-45deg);}

	.indexheader #openmenu span {
		background: #fff;
	}

	.indexheader.is-active #openmenu span {background: #000;}
	.indexheader.is-active #openmenu.is-open span {background: #fff;}



	/* gnav ---------------------------------------*/
	.gnav {
		background: #ff9149;
		padding-bottom: 65px;
		overflow:auto;
		z-index:100;
		right:0;
		top:0;
		width:100%;
		min-width: 151px;
		max-width: unset;
		height: 100vh;
		transition: all .25s ease;
		transform:translate3d(100%,0,0);
		padding: 74px 30px;
	}

	.gnav.is-active {
		position: fixed;
		transform:translate3d(0,0,0);
		opacity:1;
	}

	.gnav-list {
		display: block;
	}

	.gnav-list > li + li {
		margin-top: 41px;
	}

	.gnav-list > li a {
		font-size: 14px;
	}


	/* fixedheader ---------------------------------------*/
	header.fixedheader {
		display: none;
	}

	.bodyfixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}


	/* common ---------------------------------------*/
	.section-title {
		margin-bottom: 12px;
	}

	.section-title span {
		font-size: 11px;
	}

	.section-title small {
		margin-left: 12px;
		font-size: 9px;
	}

	.section-title b {
		margin-left: -2px;
		font-size: 18px;
	}

	.section-text {
		font-size: 14px;
	}


	/* footer ---------------------------------------*/
	.footer {
		padding: 36px 16px 10px;
		overflow: unset;
	}
	
	.footer-inner {
		max-width: unset;
	}
	
	.footer-logo {
		width: 74px;
		margin: 0 auto 24px;
	}
		
	.footer-info {
		margin-bottom: 24px;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.2em;
	}
	
	.footer-nav {
		margin: 0 auto 12px;
	}
	
	.footer-nav-list {
		display: block;
		font-size: 0;
	}
	
	.footer-nav-list > li {
		text-align: center;
	}

	.footer-nav-list > li + li {
		margin-top: 6px;
	}

	.footer-nav-list > li + li::after {
		display: none;
	}
	
	.footer-nav-list > li a {
	}
	
	.footer-sns {
		gap: 20px;
		margin-bottom: 116px;
	}
	
	.footer-sns .icon-instagram {
		width: 29px;
		height: 29px;
	}
	
	.footer-copyright {
		position: unset;
		text-align: center;
	}
	
	.copyright {
		font-size: 10px;
	}
	
	.footer-image-01 {
		position: absolute;
		bottom: calc(100% - 56px);
		left: 8px;
		width: 108px;
	}
	
	.footer-image-02 {
		position: absolute;
		bottom: 42px;
		right: 14px;
		width: 231px;
	}

	
	/* btn ---------------------------------------*/
	/* .btn {
		max-width: 134px;
		height: 30px;
		padding: 0 16px;
		font-size: 12px;
		line-height: 28px;
	}

	.btn .icon-arrow.icon-arrow-next {right: 10px;}
	.btn .icon-arrow.icon-arrow-prev {left: 10px;}

	.btn:hover {
		background: #000;
		color: #fff;
	}

	.btn:hover .icon-arrow {background: #fff;}

	.btn:active {
		background: rgba(255, 255, 255, 0);
		color: #000;
		opacity: 1;
	}

	.btn:active .icon-arrow {background: #000;} */


	/* Not Found ---------------------------------------*/
	.wrapper-notfound {
		margin-top: 108px;
		min-height: calc(100vh - 191px);
	}

	.notfound {
		padding: 74px 28px 70px;
	}

	.notfound-title {
		font-size: 22px;
		margin-bottom: 40px;
	}

	.notfound-text {
		font-size: 14px;
	}

	.notfound-btn {
		margin-top: 60px;
	}

}




/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}