@charset "utf-8";


/* = override
----------------------------------------------- */
body {
	height: auto;
	font-family: sans-serif;
}
.Header {
	border-top: none;
	border-bottom: none;
}
.Header__skipLink {
	font-size: 0;
}
.sec-mainContents {
	overflow: hidden;
	background-color: #FFFFFF;
}
.mod-pageTop {
	bottom: 130px;
	right: 28px;
}
.mod-pageTop p a {
	background-color: #FFFFFF;
	border: 1px solid #EDE7E2;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.mod-pageTop p a:before {
	border-color: #ED6103;
}
@media (min-width: 768px) {
	.Header__inner {
		max-width: none;
		padding-right: 25px;
		padding-left: 25px;
	}
}
@media (max-width: 767.9px) {
	.Header__lhLogo {
		display: block;
		padding: 18px 4vw 20px;
	}
	.mod-pageTop {
		bottom: 100px;
		right: 6.4vw;
	}
}


/* = mod-sec
----------------------------------------------- */
:root {
	--bar-width: 17px;
	--vh: 100vh;
}
.mod-sec,
.mod-sec * {
	box-sizing: border-box;
}
.mod-sec {
	position: relative;
	color: #353535;
	font-family: LIFULLFONT, LIFULLYUGO, "Yu Gothic", YuGothic, LIFULLHIRAGINO, sans-serif;
	font-feature-settings: "palt", "kern";
	letter-spacing: 0.08em;
}
.mod-sec__inner {
	position: relative;
	max-width: 1100px;
	padding: 0 25px;
	margin: 0 auto;
}
.mod-sec sup {
	font-size: 60%;
	vertical-align: top;
}
.mod-sec .p-button--a {
	display: block;
	max-width: 510px;
	margin: 0 auto;
	text-align: center;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.5;
	text-decoration: none;
	border: 1px solid #ED6103;
	padding: 17px 0;
	border-radius: 40px 40px;
	color: #FFFFFF;
	background-color: #ED6103;
}
.mod-sec .p-button--a span {
	display: inline-block;
	padding: 0 30px 0 0;
	background-image: url(../img/arrow_blank.svg);
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: right center;
}
.mod-sec .p-button--b {
	display: block;
	max-width: 510px;
	margin: 0 auto;
	text-align: center;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.5;
	text-decoration: none;
	border: 1px solid #ED6103;
	padding: 17px 0;
	border-radius: 40px 40px;
	color: #ED6103;
}
.mod-sec .p-button--b span {
	display: inline-block;
	padding: 0 30px 0 0;
	background-image: url(../img/arrow_down.svg);
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: right center;
}
.mod-sec .p-h2__title {
	position: relative;
	z-index: 1;
	color: #ED6103;
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	margin: 0 -0.5em;
	letter-spacing: 0.12em;
}
.mod-sec .p-h2__title span {
	position: relative;
	display: inline-block;
	padding: 0 0.1em;
}
.mod-sec .p-h2__title span:before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0.2em;
	width: 0;
	height: 20px;
	background-color: rgba(252, 230, 214, 1);
	transition: width 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	border-radius: 4px 4px;
	transform: skew(-8deg);
}
.mod-sec .p-h2__title.is-show span:before {
	width: 100%;
}
.mod-sec .p-h2__title.is-show span:nth-of-type(1):before {
	transition-delay: 0s;
}
.mod-sec .p-h2__title.is-show span:nth-of-type(2):before {
	transition-delay: 0.3s;
}
.mod-sec .p-h2__title.is-show span:nth-of-type(3):before {
	transition-delay: 0.6s;
}
.mod-sec [class*=js-fadeIn] {
	position: relative;
	opacity: 0;
}
@media (min-width: 768px) {
	.mod-sec img {
		max-width: 100%;
	}
	.mod-sec .p-sp {
		display: none;
	}
	.mod-sec .p-button--a {
		transition: opacity .3s ease;
	}
	.mod-sec .p-button--a:hover {
		opacity: 0.6;
	}
	.mod-sec .p-button--b {
		transition: opacity .3s ease;
	}
	.mod-sec .p-button--b:hover {
		opacity: 0.6;
	}
}
@media (max-width: 767.9px) {
	.mod-sec img {
		width: 100%;
	}
	.mod-sec .p-pc {
		display: none;
	}
	.mod-sec__inner {
		padding: 0 4vw;
	}
	.mod-sec .p-button--a {
		max-width: none;
		text-align: left;
		font-size: 1.0rem;
		padding: 23px 4.347826086956522%;
		border-radius: 12px 12px;
	}
	.mod-sec .p-button--a span {
		display: block;
		padding: 0 0;
	}
	.mod-sec .p-button--b {
		max-width: none;
		text-align: left;
		font-size: 1.0rem;
		padding: 11px 4.347826086956522%;
		border-radius: 12px 12px;
	}
	.mod-sec .p-button--b span {
		display: block;
		padding: 0 0;
	}
	.mod-sec .p-h2__title {
		font-size: 1.625rem;
	}
	.mod-sec .p-h2__title span:before {
		height: 12px;
	}
}
@media (max-width: 320px) {
	.mod-sec .p-h2__title {
		font-size: 1.3rem;
	}
}


/* = visual
----------------------------------------------- */
.sec-visual {
	position: relative;
	overflow: hidden;
	background-image: url(../img/visual_bg.png);
	background-position: calc(50% + 50px) calc(50% - 50px);
	height: calc(100vh - 80px);
	min-height: 620px;
}
.sec-visual .mod-sec__inner {
	height: 100%;
}
.sec-visual .visual__title {
	position: absolute;
	max-width: 800px;
	width: 100%;
	top: calc(50% - 290px);
	left: 50%;
	padding: 0 25px;
	transform: translateX(-50%);
}
.sec-visual .visual__title:before {
	content: "";
	position: absolute;
	top: -70px;
	left: 23px;
	width: calc(100% - 46px);
	height: calc(100% + 20px);
	background-color: #FEF9F5;
}
.sec-visual .visual__title:after {
	content: "";
	position: absolute;
	top: calc(100% - 80px);
	left: -50px;
	width: calc(100% + 100px);
	height: 150px;
	background-color: #FEF9F5;
}
.sec-visual .visual__title picture {
	position: relative;
	z-index: 1;
	display: block;
	opacity: 0;
}
.sec-visual .visual__homeskun {
	position: absolute;
	z-index: 2;
	max-width: 320px;
	width: 100%;
	bottom: -90px;
	left: 50%;
	transform: translateX(-50%);
}
.sec-visual .visual__homeskun img {
	position: relative;
	display: block;
	transform: translateY(100%);
}
@media (min-width: 768px) and (max-height: 860px) {
	.sec-visual .visual__homeskun {
		max-width: calc(320 * ((100vh - 80px) / 780));
		min-width: 280px;
	}
}
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
	.sec-visual {
		background-image: url(../img/visual_bg_sp.png);
		background-position: center top;
		background-size: cover;
		height: calc(var(--vh) * 100 - 64px);
	}
	.sec-visual .visual__title {
		max-width: none;
		top: 30%;
		width: 75.46666666666667%;
		padding: 0 0;
		transform: translate(-50%, -50%);
	}
	.sec-visual .visual__title:before {
		top: -10px;
		left: 50%;
		width: 100vw;
		height: calc(100% + 20px);
		transform: translateX(-50%);
	}
	.sec-visual .visual__title:after {
		content: none;
	}
	.sec-visual .visual__homeskun {
		max-width: none;
		width: 52.46376811594203%;
		bottom: 0px;
	}
}
@media (max-width: 767.9px) and (orientation: landscape) {
	.sec-visual {
		min-height: calc(100vw * 1.6);
	}
}


/* = lead
----------------------------------------------- */
.sec-lead {
	padding: 120px 0;
}
.sec-lead .lead__title {
	margin-bottom: 60px;
}
.sec-lead .lead-cols {
	display: flex;
	margin-bottom: 90px;
}
.sec-lead .lead__text {
	font-size: 1.0rem;
	line-height: 2.0;
	flex: 1;
	text-align: justify;
}
.sec-lead .lead__text p + p {
	margin-top: 1.6em;
}
.sec-lead .lead__image {
	width: 29.62962962962963%;
	min-width: 260px;
	margin-left: 5.555555555555556%;
	align-self: flex-start;
	border-radius: 10px 10px;
	overflow: hidden;
}
.sec-lead .lead-links {
	margin-bottom: 60px;
}
.sec-lead .lead-links a + a {
	margin-top: 20px;
}
.sec-lead .lead__note {
	text-align: right;
	color: #797979;
	font-size: 0.875rem;
}
.sec-lead .lead__note a {
	color: inherit;
}
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
	.sec-lead {
		padding: 60px 0;
	}
	.sec-lead .lead__title {
		margin-bottom: 30px;
	}
	.sec-lead .lead-cols {
		display: block;
		margin-bottom: 30px;
	}
	.sec-lead .lead__text {
		margin-bottom: 30px;
	}
	.sec-lead .lead__image {
		width: 100%;
		min-width: 0;
		margin-left: 0;
		align-self: flex-start;
		border-radius: 10px 10px;
		overflow: hidden;
	}
	.sec-lead .lead-links {
		margin-bottom: 30px;
	}
	.sec-lead .lead-links a + a {
		margin-top: 15px;
	}
	.sec-lead .lead__note {
		font-size: 0.75rem;
	}
}


/* = comic
----------------------------------------------- */
.sec-comic {
	padding: 120px 0;
	background-color: #FEF9F5;
}
.sec-comic .mod-sec__inner {
	max-width: 1260px;
	padding: 0 0;
}
.sec-comic .comic + .comic {
	margin-top: 120px;
}
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
	.sec-comic {
		padding: 60px 0;
	}
	.sec-comic .mod-sec__inner {
		max-width: none;
	}
	.sec-comic .comic + .comic {
		margin-top: 0;
	}
}


/* = flow
----------------------------------------------- */
.sec-flow {
	padding: 120px 0;
}
.sec-flow .flow__title {
	margin-bottom: 60px;
}
.sec-flow .flow__list {
	display: flex;
	margin: 0 -2.777777777777778% 60px;
}
.sec-flow .flow__list li {
	text-align: center;
	width: 33.333333333333%;
	padding: 0 2.631578947368421%;
}
.sec-flow .flow__list li .num {
	position: relative;
	z-index: 1;
}
.sec-flow .flow__list li .num span {
	display: inline-block;
	width: 60px;
	height: 60px;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	font-size: 0;
}
.sec-flow .flow__list li:nth-of-type(1) .num span {
	background-image: url(../img/icon_num01.svg);
}
.sec-flow .flow__list li:nth-of-type(2) .num span {
	background-image: url(../img/icon_num02.svg);
}
.sec-flow .flow__list li:nth-of-type(3) .num span {
	background-image: url(../img/icon_num03.svg);
}
.sec-flow .flow__list li .image {
	margin: -30px 0 20px;
	border-radius: 10px 10px;
	overflow: hidden;
}
.sec-flow .flow__list li .title {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
.sec-flow .flow__list li .text {
	font-size: 1.0rem;
	line-height: 1.4;
}
.sec-flow .flow-links a + a {
	margin-top: 20px;
}
@media (min-width: 768px) and (max-width: 880px){
	.sec-flow .flow__list li .text br {
		display: none;
	}
}
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
	.sec-flow {
		padding: 60px 0;
	}
	.sec-flow .flow__title {
		margin-bottom: 30px;
	}
	.sec-flow .flow__list {
		display: block;
		margin: 0 0 30px;
	}
	.sec-flow .flow__list li {
		width: 100%;
		padding: 0 0;
	}
	.sec-flow .flow__list li + li {
		margin-top: 25px;
	}
	.sec-flow .flow__list li .num span {
		width: 50px;
		height: 50px;
	}
	.sec-flow .flow__list li .image {
		margin: -25px 0 20px;
	}
	.sec-flow .flow__list li .title {
		font-size: 1.0rem;
	}
	.sec-flow .flow__list li .text {
		font-size: 0.875rem;
	}
	.sec-flow .flow-links a + a {
		margin-top: 15px;
	}
}


/* = setup
----------------------------------------------- */
.sec-setup {
	padding-top: 60px;
	background-color: #FEF9F5;
}
.sec-setup .setup-cols {
	display: flex;
	justify-content: space-between;
}
.sec-setup .setup__body {
	width: 47.22222222222222%;
	padding-bottom: 60px;
	align-self: center;
}
.sec-setup .setup__title {
	margin-bottom: 30px;
}
.sec-setup .setup__text {
	font-size: 1.0rem;
	line-height: 2.0;
	text-align: justify;
}
.sec-setup .setup__text p + p {
	margin-top: 1.6em;
}
.sec-setup .setup__image {
	width: 47.22222222222222%;
	align-self: flex-end;
}
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
	.sec-setup {
		padding-top: 60px;
	}
	.sec-setup .setup-cols {
		display: block;
	}
	.sec-setup .setup__body {
		width: 100%;
		padding-bottom: 30px;
	}
	.sec-setup .setup__image {
		width: 96.81159420289855%;
		margin: 0 auto;
	}
}


/* = shop
----------------------------------------------- */
.sec-shop {
	padding: 120px 0;
}
.sec-shop .shop-frame {
	border: 10px solid #EDE7E2;
	border-radius: 20px 20px;
	padding: 80px 4.166666666666667%;
}
.sec-shop .shop__title {
	margin-bottom: 20px;
}
.sec-shop .shop__lead {
	font-size: 1.125rem;
	line-height: 1.8;
	margin-bottom: 60px;
	text-align: center;
}
.sec-shop .shop__list .item + .item {
	margin-top: 20px;
}
.sec-shop .shop__list .item__title {
	position: relative;
	display: block;
	border: 1px solid #ED6103;
	color: #ED6103;
	font-size: 1.25rem;
	font-weight: bold;
	text-decoration: none;
	padding: 19px 20px;
	border-radius: 10px 10px;
	background-color: #FEF9F5;
}
.sec-shop .shop__list .item__title:after {
	content: "";
	position: absolute;
	top: calc(50% - 10px);
	right: 20px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #ED6103;
	border-left: 2px solid #ED6103;
	transform: rotate(-135deg);
}
.sec-shop .shop__list .item__title.is-active:after {
	top: calc(50% - 4px);
	transform: rotate(45deg);
}
.sec-shop .shop__list .item__body {
	display: none;
}
.sec-shop .shop__list .item__body .area {
	padding: 20px 20px;
	font-size: 1.25rem;
	font-weight: bold;
	color: #353535;
}
.sec-shop .shop__list .item__body .list {
	letter-spacing: 0;
	border-bottom: 1px solid #E7E7E7;
}
.sec-shop .shop__list .item__body > li:last-child .list {
	border-bottom: none;
	padding-bottom: 40px;
}
.sec-shop .shop__list .item__body .list li {
	border-top: 1px solid #E7E7E7;
}
.sec-shop .shop__list .item__body .list .button {
	display: block;
	padding: 20px 20px;
	color: inherit;
	text-decoration: none;
	line-height: 1.4;
}
.sec-shop .shop__list .item__body .list .button:after {
	content: "";
	clear: both;
	display: table;
}
.sec-shop .shop__list .item__body .list .type {
	font-size: 0.75rem;
	line-height: 1;
	color: #FFFFFF;
	float: left;
	padding-top: 5px;
	letter-spacing: -0.4em;
}
.sec-shop .shop__list .item__body .list .type span {
	display: inline-block;
	padding: 2px 4px;
	letter-spacing: 0;
}
.sec-shop .shop__list .item__body .list .type span + span {
	margin-left: 1px;
}
.sec-shop .shop__list .item__body .list .type span.type--01 {
	background-color: #ED6204;
}
.sec-shop .shop__list .item__body .list .type span.type--02 {
	background-color: #397DAF;
}
.sec-shop .shop__list .item__body .list .name {
	font-size: 1.125rem;
	float: left;
	margin-left: 20px;
}
.sec-shop .shop__list .item__body .list .address {
	font-size: 1.0rem;
	color: #797979;
	float: right;
	margin-left: 20px;
	padding-top: 2px;
}
@media (min-width: 768px) {
	.sec-shop .shop__list .item__body .list a.button {
		transition: opacity .3s ease;
	}
	.sec-shop .shop__list .item__body .list a.button:hover {
		opacity: 0.6;
	}
}
@media (max-width: 767.9px) {
	.sec-shop {
		padding: 60px 0;
	}
	.sec-shop .shop-frame {
		border-width: 8px;
		padding: 52px 6.376811594202899%;
	}
	.sec-shop .shop__title {
		font-size: 1.375rem;
		margin-bottom: 20px;
	}
	.sec-shop .shop__lead {
		font-size: 1.0rem;
		margin-bottom: 30px;
		text-align: left;
	}
	.sec-shop .shop__list .item + .item {
		margin-top: 10px;
	}
	.sec-shop .shop__list .item__title {
		font-size: 1.0rem;
		padding: 16px 15px;
		border-radius: 10px 10px;
	}
	.sec-shop .shop__list .item__title:after {
		top: calc(50% - 9px);
		right: 15px;
		width: 10px;
		height: 10px;
	}
	.sec-shop .shop__list .item__title.is-active:after {
		top: calc(50% - 3px);
	}
	.sec-shop .shop__list .item__body .area {
		padding: 20px 0;
		font-size: 1.0rem;
	}
	.sec-shop .shop__list .item__body > li:last-child .list {
		padding-bottom: 5px;
	}
	.sec-shop .shop__list .item__body .list .button {
		padding: 20px 0;
	}
	.sec-shop .shop__list .item__body .list .type {
		float: none;
		padding-top: 0;
		margin-bottom: 10px;
	}
	.sec-shop .shop__list .item__body .list .name {
		font-size: 1.0rem;
		float: none;
		margin-left: 0;
	}
	.sec-shop .shop__list .item__body .list .address {
		font-size: 0.875rem;
		float: none;
		margin-left: 0;
		padding-top: 5px;
	}
}
@media (max-width: 320px) {
	.sec-shop .shop__title {
		font-size: 1.2rem;
	}
}


/* = fixed-button
----------------------------------------------- */
.fixed-button {
	position: fixed;
	z-index: 100;
	bottom: 28px;
	right: 28px;
}
.fixed-button .inner {
	position: relative;
	width: 440px;
	background-color: #FFFFFF;
	border-radius: 40px 40px;
}
.fixed-button .p-button--a {
	position: relative;
	font-size: 1.25rem;
	padding: 24px 0;
	border-radius: 40px 40px;
	width: 100%;
}
.fixed-button .inner {
	top: 120px;
	transition: top .4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.fixed-button.is-active .inner {
	top: 0;
}
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
	.fixed-button {
		bottom: 24px;
		right: 6.4vw;
	}
	.fixed-button .inner {
		width: 87.2vw;
	}
	.fixed-button .p-button--a {
		font-size: 1.125rem;
		padding: 17px 0;
		text-align: center;
	}
	.fixed-button .inner {
		top: 100px;
	}
	.fixed-button.is-active .inner {
		top: 0;
	}
	.fixed-button .p-button--a span {
		display: inline-block;
		padding-right: 30px;
	}
}


/* = ※※※※※
----------------------------------------------- */
@media (min-width: 768px) {
}
@media (max-width: 767.9px) {
}
