@charset "utf-8";

/* base
-------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
html {
	line-height: 1;
}
ul, ol {
	list-style-type: none;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
a img {
	border: none;
}
img {
	vertical-align: bottom;
	border: none;
	max-width: 100%;
	height: auto;
}
img[src*=".svg"] {
	width: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
*,
:before,
:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font: inherit;
	border: none;
	border-radius: 0;
	outline: none;
}
textarea {
	resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}

/* --------------------------------------------------------
	フォントと背景
-------------------------------------------------------- */
html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	font-family: "Zen Maru Gothic", sans-serif;
	color: #333;
	font-size: 1.6em;
	font-weight: 500;
	background: #FFF9F0;
	overflow-x: hidden;
	letter-spacing: 0;
	line-height: 1.75;
}
.main_contents { padding: 0 0 0 min(24.1666vw, 290px); }

/* フォント */
.ff_yakuHan { font-family: YakuHanJP, sans-serif; }
.ff_suse {
	font-family: "SUSE", sans-serif;
	font-weight: 700;
}
.medium { font-weight: 500; }
.bold { font-weight: 700; }
.heavy { font-weight: 900; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }

/* 文字色 */
.fc_rd { color: #972529; }
.fc_bl { color: #0d9fd2; }
.fc_gy { color: #999; }
.fc_ju { color: #d79962; }

/* 文字サイズ */
@media screen and (max-width: 768px) {
}
/* マーカー */
/* 背景 */
.c-bg01 {
	background: #f9f8f2;
}
@media screen and (max-width: 1024px) {
	.main_contents { padding: 0; }
}
@media screen and (max-width: 768px) {
	body { font-size: 1.4em; }
}


/* --------------------------------------------------------
	リンク
-------------------------------------------------------- */
a {
	color: inherit;
	transition: .5s;
}
a:hover { opacity: 0.5; }
::-moz-selection {
	color: #fff;
	background: #34383b;
}
::selection {
	color: #fff;
	background: #34383b;
}

/* テキストリンク
-------------------------------------------------------- */
a.underline {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
a.underline:hover {
	text-decoration-color: transparent;
	opacity: 1;
}

/* アンカーリンク
-------------------------------------------------------- */
.anchor {
	margin-top: -90px;
	padding-top: 90px;
}
@media screen and (max-width: 1024px) {
.anchor {
	margin-top: -200px;
	padding-top: 200px;
}
}
@media screen and (max-width: 768px) {
.anchor {
	margin-top: -68px;
	padding-top: 68px;
}
}

/* --------------------------------------------------------
	共通
-------------------------------------------------------- */
.inner {
	padding: 0 25px;
}
@media screen and (max-width: 768px) {
.inner {
	padding: 0 4.96vw;
}
}

.c-illust-title__text {
	color: #31AE4B;
	font-size: 2.006rem;
	font-weight: 600;
	margin: 1px 0 0;
}
.c-illust-title__text.m-or {
	color: #F08300;
}
@media screen and (max-width: 768px) {
.c-illust-title__text {
	font-size: 3.98vw;
	margin: .1984vw 0 0;
}
}
.anime-shake {
    animation: 2s step-end infinite shake
}

.anime-shake-r {
    animation: 2s step-end 1s infinite shake
}

@keyframes shake {
    0% {
        transform: rotate(-2deg)
    }

    50% {
        transform: rotate(2deg)
    }

    to {
        transform: rotate(-2deg)
    }
}

#loading {
	width: 100%;
	height: 100dvh;
	background: #FFF9F0;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	transition: .5s;
	z-index: 500;
}
#loading.is-loaded {
	opacity: 0;
	visibility: hidden;
}
.loading__logo {
	max-width: 180px;
	width: 80%;
}
#loading.  .new-open__illust-are{
	margin: 0;
}

/* flex */
.flex {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}
.nowrap { flex-wrap: nowrap; }
.fd_c {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}
.fd_rr {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	flex-direction: row-reverse;
}
.ai_fs {
	-webkit-box-align: start;
	align-items: flex-start;
}
.ai_fe {
	-webkit-box-align: end;
	align-items: flex-end;
}
.ai_c {
	-webkit-box-align: center;
	align-items: center;
}
.jc_fs {
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.jc_fe {
	-webkit-box-pack: end;
	justify-content: flex-end;
}
.jc_c {
	-webkit-box-pack: center;
	justify-content: center;
}
.jc_sb {
	-webkit-box-pack: justify;
	justify-content: space-between;
}
.jc_sa {
	justify-content: space-around;
}
.order1 {
	-ms-flex-order: 1;
	-webkit-order: 1;
	order: 1;
}
.order2 {
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
}
.overflow_hidden {
	overflow: hidden;
}


.frame {
	max-width: 504px;
	width: 100%;
	height: 100%;
	background: #fff;
	border-right: solid 1px #333;
	border-left: solid 1px #333;
	margin: auto;
	position: relative;
	z-index: 10;
}
@media screen and (max-width: 768px) {
.frame { max-width: initial; }
}

#mv { position: relative; }
.mv_img {
	position: relative;
	z-index: 0;
}
.mv__deco {
	width: 100%;
	position: absolute;
	z-index: 1;
}
.mv__deco01 {
	max-width: 99px;
	right: 8px;
	bottom: 0;
}
.mv__deco02 {
	max-width: 132px;
	bottom: -7px;
	left: 14px;
}
@media screen and (max-width: 768px) {
.mv__deco01 {
	max-width: 19.6428vw;
	right: 1.5873vw;
}
.mv__deco02 {
	max-width: 25.9524vw;
	bottom: -1.375vw;
	left: 2.7714vw;
}
}

#new-open {
	text-align: center;
	position: relative;
	z-index: 1;
}
.new-open__text {
	position: relative;
	z-index: 1;	
}
.new-open__text__ja {
	font-size: 4.263rem;
	font-weight: 700;
	margin: 7px 0 0;
}
.new-open__text__en {
	font-weight: 800;
}
.new-open__text__en p {
	font-size: 8.024rem;
}
.new-open__text__en p:nth-child(1) {
	margin: -37px 0 0;
}
.new-open__text__en p:nth-child(2) {
	margin: -58px 0 0;
}
.new-open__illust-area {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	-webkit-box-pack: center;
	justify-content: center;
	margin-top: -28px;
}
.new-open__illust {
	width: 100%;
}
.new-open__illust01 {
	max-width: 84.68px;
	margin: 0 10px 0 0;
}
.new-open__illust02 {
	max-width: 46.77px;
	margin: 0 11px 0 0;
}
.new-open__illust03,
.new-open__illust04 {
	margin: 0 12px 0 0;
}
.new-open__illust03 {
	max-width: 42.89px;
}
.new-open__illust04 {
	max-width: 32.07px;
}
.new-open__illust05 {
	max-width: 46.19px;
}
.new-open__deco {
	width: 100%;
	position: absolute;
	z-index: 0;	
}
.new-open__deco01 {
	max-width: 62px;
	top: 131px;
	left: 8px;
}
.new-open__deco02 {
	max-width: 40px;
	top: 219px;
	right: 10px;
}
.new-open__deco03,
.new-open__deco04 {
	max-width: 75px;
}
.new-open__deco03 {
	bottom: -19px;
}
.new-open__deco04 {
	right: 20px;
	bottom: -10px;
}
@media screen and (max-width: 768px) {
.new-open__text__ja {
	font-size: 8.4583vw;
	margin: 1.3888vw 0 0;
}
.new-open__text__en p {
	font-size: 15.92vw;
}
.new-open__text__en p:nth-child(1) {
	margin: -7.3412vw 0 0;
}
.new-open__text__en p:nth-child(2) {
	margin: -11.6667vw 0 0;
}
.new-open__illust {
	max-width: 58.9285vw;
	margin-top: -5.5555vw;
}
.new-open__illust-area {
	margin-top: -5.5555vw;
}
.new-open__illust01 {
	max-width: 16.8vw;
	margin: 0 1.9841vw 0 0;
}
.new-open__illust02 {
	max-width: 9.2797vw;
	margin: 0 2.1825vw 0 0;
}
.new-open__illust03,
.new-open__illust04 {
	margin: 0 2.38vw 0 0;
}
.new-open__illust03 {
	max-width: 8.5vw;
}
.new-open__illust04 {
	max-width: 6.363vw;
}
.new-open__illust05 {
	max-width: 9.1646vw;
}

.new-open__deco01 {
	max-width: 12.3vw;
	top: 25.992vw;
	left: 1.5873vw;
}
.new-open__deco02 {
	max-width: 7.9365vw;
	top: 43.2vw;
	right: 2vw;
}
.new-open__deco03,
.new-open__deco04 {
	max-width: 14.88vw;
}
.new-open__deco03 {
	bottom: -3.7698vw;
}
.new-open__deco04 {
	right: 3.9682vw;
	bottom: -1.9841vw;
}
}

#access {
	background: #F2C844;
	border-radius: 25.07px;
	overflow: hidden;
	margin-top: -5px;
	padding: 50px 0 24px;
	position: relative;
	z-index: 0;
}
#access .c-illust-title__illust {
	max-width: 61.57px;
}
.access__text {
	text-align: center;
}
.access__text-access {
	font-size: 4.012rem;
	letter-spacing: 0.01em;
	margin: -37px 0 0;
}
.access__text-access span {
	font-size: 8.024rem;
	font-weight: 700;
}
.access__text-address {
	font-size: 2.006rem;
	margin: 12px 0 0;
}
.access__map-area {
	position: relative;
}
.access__noimage {
	max-width: 261.87px;
	width: 100%;
	margin: auto;
	position: relative;
	left: -10px;
}
.access__map {
	border-radius: 252px;
	overflow: hidden;
	margin: 23px 0 0;
	padding-top: 138.1227%;
	position: relative;
	z-index: 0;
}
.access__map iframe {
    width: 100%;
    height: calc(100% + (150px * 2));
    position: absolute;
    top: -150px;
    left: 0;
}
.access__map-illust {
	width: 100%;
	position: absolute;
	z-index: 1;
}
.access__map-illust01 {
	max-width: 58.09px;
	bottom: 44px;
	left: 24px;
}
.access__map-illust02 {
	max-width: 195.25px;
	right: -46px;
	bottom: 45px;
}
.access__link {
	margin: 47px 0 0;
}
.access__link-btn {
	color: #fff;
	font-size: 2.006rem;
	max-width: 238.21px;
	width: 100%;
	background: #F08300;
	border-radius: 31.34px;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	padding: 14px 0;
}
@media screen and (max-width: 768px) {
#access {
	border-radius: 4.9742vw;
	margin-top: -.992vw;
	padding: 9.92vw 0 4.7619vw;
}
#access .c-illust-title__illust {
	max-width: 12.2162vw;
}
.access__text-access {
	font-size: 7.96vw;
	margin: -7.3412vw 0 0;
}
.access__text-access span {
	font-size: 15.92vw;
}
.access__text-address {
	font-size: 3.98vw;
	margin: 2.38vw 0 0;
}
.access__map {
	border-radius: 50vw;
	margin: 4.5634vw 0 0;
}
.access__map iframe {
    height: calc(100% + (29.7619vw * 2));
    top: -29.7619vw;
}
.access__noimage {
	max-width: 51.9583vw;
	left: -1.9841vw;
}
.access__map-illust01 {
	max-width: 11.5257vw;
	bottom: 8.73vw;
	left: 4.7619vw;
}
.access__map-illust02 {
	max-width: 38.74vw;
	right: -9.1269vw;
	bottom: 8.92857vw;
}
.access__link {
	margin: 9.3333vw 0 0;
}
.access__link-btn {
	font-size: 3.98vw;
	max-width: 47.2638vw;
	border-radius: 6.2182vw;
	padding: 2.7777vw 0;
}
}

#concept {
	overflow: hidden;
	padding: 64px 0 96px;
}
#concept .c-illust-title__illust {
	max-width: 51.38px;
}
.concept__title {
	font-size: 4.012rem;
	line-height: 1.4456;
	margin: 16px 0 0;
}
.concept__text {
	font-size: 2.257rem;
	line-height: 1.4621;
	margin: 28px 0 0;
}
.concept__text p:not(:last-child) {
	margin: 0 0 30px;
}
.concept__img-list {
	margin: 48px 0 0;
}
.concept__img-list > li {
	position: relative;
}
.concept__img-list > li:not(:last-child) {
	margin: 0 0 24px;
}
.concept__img {
	border-radius: 25.07px;
	overflow: hidden;
	padding-top: 75%;
	position: relative;
	z-index: 0;
}
.concept__img img {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
}
.concept__illust {
	width: 100%;
	position: absolute;
	z-index: 1;
}
.concept__illust01 {
	max-width: 124.12px;
	top: -26px;
	left: -10px;
}
.concept__illust02 {
	max-width: 69.16px;
	top: 85px;
	right: -15px;
}
.concept__illust03 {
	max-width: 93.02px;
	top: 27px;
	left: -8px;
}
.concept__illust04 {
	max-width: 73.51px;
	top: 70px;
	right: -17px;
}
.concept__illust05 {
	max-width: 77.63px;
	bottom: -32px;
	left: -2px;
}
.concept__illust06 {
	max-width: 112.38px;
	right: 14px;
	bottom: -17px;
}
.concept__illust07 {
	max-width: 79.58px;
	right: 17px;
	bottom: -63px;
}
.concept__illust08 {
	max-width: 115.04px;
	bottom: -48px;
	left: -45px;
}
.concept__illust09 {
	max-width: 214.26px;
	bottom: -16px;
	left: -28px;
}
@media screen and (max-width: 768px) {
#concept {
	padding: 12.698vw 0 19.048vw;
}
#concept .c-illust-title__illust {
	max-width: 10.1944vw;
}
.concept__title {
	font-size: 7.96vw;
	margin: 3.175vw 0 0;
}
.concept__text {
	font-size: 4.478vw;
	margin: 5.5555vw 0 0;
}
.concept__text p:not(:last-child) {
	margin: 0 0 5.952vw;
}
.concept__img-list {
	margin: 9.524vw 0 0;
}
.concept__img-list > li:not(:last-child) {
	margin: 0 0 4.762vw;
}
.concept__img {
	border-radius: 4.9742vw;
}
.concept__illust01 {
	max-width: 24.627vw;
	top: -5.159vw;
	left: -1.984vw;
}
.concept__illust02 {
	max-width: 13.722vw;
	top: 16.865vw;
	right: -2.976vw;
}
.concept__illust03 {
	max-width: 18.456vw;
	top: 5.357vw;
	left: -1.587vw;
}
.concept__illust04 {
	max-width: 14.585vw;
	top: 13.889vw;
	right: -3.373vw;
}
.concept__illust05 {
	max-width: 15.403vw;
	bottom: -6.349vw;
	left: -0.397vw;
}
.concept__illust06 {
	max-width: 22.298vw;
	right: 2.778vw;
	bottom: -3.373vw;
}
.concept__illust07 {
	max-width: 15.790vw;
	right: 3.373vw;
	bottom: -12.5vw;
}
.concept__illust08 {
	max-width: 22.825vw;
	bottom: -9.524vw;
	left: -8.929vw;
}
.concept__illust09 {
	max-width: 42.512vw;
	bottom: -3.175vw;
	left: -5.556vw;
}
}
.wakuwaku__ring {
	width: 100%;
	height: 140px;
	overflow: hidden;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

/* 共通 */
.wakuwaku__ring-item {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	animation: rotateText 120s linear infinite;
}

/* 外側 */
.wakuwaku__ring-item:nth-child(1) {
	width: 1357px;
	top: 0;
}

/* 内側 */
.wakuwaku__ring-item:nth-child(2) {
	width: 1257px;
	top: 56px;
	animation-direction: reverse; /* 逆回転にすると映える */
}

.wakuwaku__ring-item img {
	width: 100%;
	height: auto;
	display: block;
}

@keyframes rotateText {
	from {
		transform: translateX(-50%) rotate(0deg);
	}
	to {
		transform: translateX(-50%) rotate(360deg);
	}
}

#reason {
	overflow: hidden;
	margin: -32px 0 0;
}
.reason-top__body {
	background: #B6EEE6;
	padding: 0 0 72px;
}
.reason-top__body .c-illust-title {
	margin: 0 0 -10px;
	position: relative;
	top: -10px;
}
.reason-top__body .c-illust-title__illust {
	max-width: 47.11px;
}
.reason-top__title {
	font-size: 4.012rem;
	line-height: 1.4456;
	margin: 7px 0 28px;
}
.reason-top__list > li {
	position: relative;
}
.reason-top__item-title {
	font-size: 3.009rem;
	line-height: 1.462;
	position: absolute;
}
.reason-top__item-illust,
.reason-top__item-deco {
	width: 100%;
	position: absolute;
}
.reason-top__list-item01 {
	margin: 0 0 10px;
	padding: 0 54px 0 0;
}
.reason-top__list-item01 .reason-top__item-title {
	top: 48px;
	left: 48px;
}
.reason-top__list-item01 .reason-top__item-illust {
	max-width: 227.03px;
	top: 5px;
	left: 190px;
}
.reason-top__list-item01 .reason-top__item-deco {
	max-width: 64.98px;
	top: 164px;
	right: 15px;
}
.reason-top__list-item02 {
	margin: 0 0 18px;
	padding: 0 0 0 94px;
}
.reason-top__list-item02 .reason-top__item-title {
	top: 56px;
	left: 140px;
}
.reason-top__list-item02 .reason-top__item-illust {
	max-width: 195.45px;
	top: 42px;
	left: 286px;
}
.reason-top__list-item02 .reason-top__item-deco01 {
	max-width: 99.49px;
	top: -19px;
	left: 16px;
}
.reason-top__list-item02 .reason-top__item-deco02 {
	max-width: 55.63px;
	right: 17px;
	bottom: -6px;
}
.reason-top__list-item03 {
	padding: 0 72px 0 0;
}
.reason-top__list-item03 .reason-top__item-title {
	top: 93px;
	left: 50px;
}
.reason-top__list-item03 .reason-top__item-illust {
	max-width: 153.05px;
	top: 42px;
	left: 249px;
}
.reason-top__list-item03 .reason-top__item-deco01 {
	max-width: 106.16px;
	top: -29px;
	left: 10px;
}
.reason-top__list-item03 .reason-top__item-deco02 {
	max-width: 103.37px;
	right: -5px;
	bottom: 8px;
}
.reason-btm {
	overflow: hidden;
	padding: 65px 0 122px;
}
.reason-btm__list > li:not(:last-child) {
	margin: 0 0 118px;
}
.reason-btm__list > li:nth-child(odd) {
	padding: 0 78px 0 0;
}
.reason-btm__list > li:nth-child(even) {
	padding: 0 0 0 78px;
}
.reason-btm__item-in {
	background: #F1CBC0;
	border-radius: 0 25.07px 25.07px 0;
	padding: 48px 24px 54px;
	position: relative;
}
.reason-btm__list > li:nth-child(even) .reason-btm__item-in {
	background: #D9E8BF;
	border-radius: 25.07px 0 0 25.07px;
	padding-left: 34px;
}
.reason-btm__item-title {
	font-size: 4.012rem;
	line-height: 1.445;
	text-align: center;
}
.reason-btm__item-text {
	font-size: 2.257rem;
	line-height: 1.4621;
	margin: 24px 0 0;
}
.reason-btm__item-deco {
	width: 100%;
	position: absolute;
}
.reason-btm__list-item01 .reason-btm__item-deco01 {
	max-width: 44.68px;
	top: -24px;
	left: calc(50% - 22.34px);
}
.reason-btm__list-item01 .reason-btm__item-deco02 {
	max-width: 166.75px;
	right: -57px;
	bottom: -77px;
}
.reason-btm__list-item02 .reason-btm__item-deco01 {
	max-width: 60.42px;
	top: -18px;
	left: calc(50% - 30.21px);
}
.reason-btm__list-item02 .reason-btm__item-deco02 {
	max-width: 115.1px;
	bottom: -35px;
	left: -90px;
}
@media screen and (max-width: 768px) {
#reason {
	margin: -6.3492vw 0 0;
}
.reason-top__body {
	padding: 0 0 14.2857vw;
}
.reason-top__body .c-illust-title {
	margin: 0 0 -1.9841vw;
	top: -1.9841vw;
}
.reason-top__body .c-illust-title__illust {
	max-width: 9.3472vw;
}
.reason-top__title {
	font-size: 7.96vw;
	margin: 1.3889vw 0 5.5556vw;
}
.reason-top__list > li {
	position: relative;
}
.reason-top__item-title {
	font-size: 5.97vw;
}
.reason-top__list-item01 {
	margin: 0 0 1.9841vw;
	padding: 0 10.7143vw 0 0;
}
.reason-top__list-item01 .reason-top__item-title {
	top: 9.5238vw;
	left: 9.5238vw;
}
.reason-top__list-item01 .reason-top__item-illust {
	max-width: 45.0456vw;
	top: 0.9921vw;
	left: 37.6984vw;
}
.reason-top__list-item01 .reason-top__item-deco {
	max-width: 12.8929vw;
	top: 32.5397vw;
	right: 2.9762vw;
}
.reason-top__list-item02 {
	margin: 0 0 3.5714vw;
	padding: 0 0 0 18.6508vw;
}
.reason-top__list-item02 .reason-top__item-title {
	top: 11.1111vw;
	left: 27.7778vw;
}
.reason-top__list-item02 .reason-top__item-illust {
	max-width: 38.7798vw;
	top: 8.3333vw;
	left: 56.7460vw;
}
.reason-top__list-item02 .reason-top__item-deco01 {
	max-width: 19.7401vw;
	top: -3.7698vw;
	left: 3.1746vw;
}
.reason-top__list-item02 .reason-top__item-deco02 {
	max-width: 11.0377vw;
	right: 3.3730vw;
	bottom: -1.1905vw;
}
.reason-top__list-item03 {
	padding: 0 14.2857vw 0 0;
}
.reason-top__list-item03 .reason-top__item-title {
	top: 18.4524vw;
	left: 9.9206vw;
}
.reason-top__list-item03 .reason-top__item-illust {
	max-width: 30.3671vw;
	top: 8.3333vw;
	left: 49.4048vw;
}
.reason-top__list-item03 .reason-top__item-deco01 {
	max-width: 21.0635vw;
	top: -5.7540vw;
	left: 1.9841vw;
}
.reason-top__list-item03 .reason-top__item-deco02 {
	max-width: 20.5099vw;
	right: -0.9921vw;
	bottom: 1.5873vw;
}
.reason-btm {
	padding: 12.8968vw 0 24.2063vw;
}
.reason-btm__list > li:not(:last-child) {
	margin: 0 0 23.4127vw;
}
.reason-btm__list > li:nth-child(odd) {
	padding: 0 15.4762vw 0 0;
}
.reason-btm__list > li:nth-child(even) {
	padding: 0 0 0 15.4762vw;
}
.reason-btm__item-in {
	border-radius: 0 4.9742vw 4.9742vw 0;
	padding: 9.5238vw 4.7619vw 10.7143vw;
}
.reason-btm__list > li:nth-child(even) .reason-btm__item-in {
	border-radius: 4.9742vw 0 0 4.9742vw;
	padding-left: 6.7460vw;
}
.reason-btm__item-title {
	font-size: 7.96vw;
}
.reason-btm__item-text {
	font-size: 4.4781vw;
	margin: 4.7619vw 0 0;
}
.reason-btm__list-item01 .reason-btm__item-deco01 {
	max-width: 8.8651vw;
	top: -4.7619vw;
	left: calc(50% - 4.4325vw);
}
.reason-btm__list-item01 .reason-btm__item-deco02 {
	max-width: 33.0853vw;
	right: -11.3095vw;
	bottom: -15.2778vw;
}
.reason-btm__list-item02 .reason-btm__item-deco01 {
	max-width: 11.9881vw;
	top: -3.5714vw;
	left: calc(50% - 5.9940vw);
}
.reason-btm__list-item02 .reason-btm__item-deco02 {
	max-width: 22.8373vw;
	bottom: -6.9444vw;
	left: -17.8571vw;
}
}

#request {
	padding: 0 0 66px;
}
#request .inner {
	padding: 0 40px;
}
#request .c-illust-title__illust {
	max-width: 33.9px;
}
#request .c-illust-title__text {
	color: #3F6B3C;
}
.request__title {
	font-size: 4.012rem;
	line-height: 1.4456;
	margin: 18px 0 0;
}
.request__text {
	font-size: 2.257rem;
	line-height: 1.4621;
	margin: 34px 0 0;
}
.request__list {
	margin: 36px 0 0;
}
.request__list > li:not(:last-child) {
	margin: 0 0 28px;
}
.request__list > li > a {
	background: #D9E8BF;
	border-radius: 25.07px;
	display: block;
	overflow: hidden;
	padding-top: 52.9413%;
	position: relative;
}
.request__list > li > a::before {
    content: "";
    position: absolute;

    /* 1. 左上ではなく、基準点（0, 0）から配置する */
    top: 0;
    left: 0;

    /* 2. 左上に引っ張る分、右下に十分な余白（移動する1パターン分）を足す */
    width: calc(100% + 456px);
    height: calc(100% + 256px); /* ★SVGの縦幅を足す */

    background-image: url("../img/request_bg01.svg");
    background-repeat: repeat;
    background-size: 456px 256px; /* ★ここもお使いのSVGの縦幅に */

    animation: bgMoveReverse 12s linear infinite;
    will-change: transform;
}

@keyframes bgMoveReverse {
    from {
        transform: translate3d(0, 0, 0);
    }
    /* 3. マイナス方向に動かすことで、左上に向かって進むようになります */
    to {
        transform: translate3d(-456px, -256px, 0); /* ★縦幅をマイナス値で指定 */
    }
}
.request__list > li:nth-child(2) > a {
	background: #FFF9F0;
}
.request__list > li:nth-child(2) > a::before {
    background-image: url("../img/request_bg02.svg");
}
.request__list > li > a > div {
	width: 100%;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-align: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.request__entry-btn {
	color: #fff;
	font-size: 2.006rem;
	max-width: 250px;
	width: 100%;
	background: #3F6B3C;
	border-radius: 50.12px;
	line-height: 1.4456;
	text-align: center;
	padding: 20px 0;
}
.request__tel-title {
	font-size: 2.257rem;
	margin: 0 0 7px;
}
.request__tel-num,
.request__tel-sub {
	color: #3F6B3C;
}
.request__tel-num {
	font-size: 4.012rem;
	font-weight: 500;
}
.request__tel-num span {
	display: inline-block;
	padding: 0 0 0 46px;
	position: relative;
}
.request__tel-num span::before {
	content: "";
	width: 40.14px;
	height: 38.95px;
	background: url("../img/request_tel.svg") no-repeat;
	background-size: contain;
	position: absolute;
	top: 12px;
	left: 0;
}
.request__tel-sub {
	font-size: 2.006rem;
}
@media screen and (max-width: 768px) {
#request {
	padding: 0 0 13.0952vw;
}
#request .inner {
	padding: 0 7.9365vw;
}
#request .c-illust-title__illust {
	max-width: 6.7262vw;
}
.request__title {
	font-size: 7.96vw;
	margin: 3.5714vw 0 0;
}
.request__text {
	font-size: 4.4781vw;
	margin: 6.746vw 0 0;
}
.request__list {
	margin: 7.1429vw 0 0;
}
.request__list > li:not(:last-child) {
	margin: 0 0 5.5556vw;
}
.request__list > li > a {
	border-radius: 4.9742vw;
	padding-top: 52.9413%;
}
.request__list > li > a::before {
    width: calc(100% + 90.4762vw);
    height: calc(100% + 50.7937vw); /* ★SVGの縦幅を足す */
    background-size: 90.4762vw 50.7937vw; /* ★ここもお使いのSVGの縦幅に */
}

@keyframes bgMoveReverse {
    from {
        transform: translate3d(0, 0, 0);
    }
    /* 3. マイナス方向に動かすことで、左上に向かって進むようになります */
    to {
        transform: translate3d(-90.4762vw, -50.7937vw, 0); /* ★縦幅をマイナス値で指定 */
    }
}
.request__entry-btn {
	font-size: 3.98vw;
	max-width: 49.6032vw;
	border-radius: 9.9444vw;
	padding: 3.9683vw 0;
}
.request__tel-title {
	font-size: 4.4781vw;
	margin: 0 0 1.3889vw;
}
.request__tel-num {
	font-size: 7.96vw;
}
.request__tel-num span {
	padding: 0 0 0 9.127vw;
}
.request__tel-num span::before {
	width: 7.9643vw;
	height: 7.7282vw;
	top: 2.381vw;
}
.request__tel-sub {
	font-size: 3.98vw;
}
}

.ftr-main {
	background: #F1E5DA;
	display: -webkit-box;
	display: flex;
	overflow: hidden;
	padding: 48px 0 12px;
}
.ftr-logo__text {
	font-size: 3.009rem;
	padding: 0 0 0 56px;
}
.ftr-logo__img {
	max-width: 192.28px;
	width: 100%;
	margin: 12px 0 0;
	position: relative;
	left: -10px;
}
.ftr-link {
	max-width: 238.21px;
	width: 100%;
	margin: 0 0 0 30px;
}
.ftr-link__list > li {
	position: relative;
}
.ftr-link__list > li:not(:last-child) {
	margin: 0 0 14px;
}
.ftr-link__list > li::after {
	content: "";
	width: 100%;
	height: 2.51px;
	background: url(../img/ftr_link_line.svg) no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 0;
}
.ftr-link__list > li > a {
	font-size: 2.006rem;
	display: block;
	padding: 0 0 8px 10px;
}
#copyright {
	color: #fff;
	font-size: 1.504rem;
	background: #3F6B3C;
	text-align: center;
	padding: 24px 12px;
}
@media screen and (max-width: 768px) {
.ftr-main {
	padding: 9.5238vw 0 2.381vw;
}
.ftr-logo__text {
	font-size: 5.97vw;
	padding: 0 0 0 11.1111vw;
}
.ftr-logo__img {
	max-width: 38.1508vw;
	margin: 2.381vw 0 0;
	left: -1.9841vw;
}
.ftr-link {
	max-width: 47.2639vw;
	width: 100%;
	margin: 0 0 0 5.9524vw;
}
.ftr-link__list > li:not(:last-child) {
	margin: 0 0 2.7778vw;
}
.ftr-link__list > li::after {
	height: 0.498vw;
}
.ftr-link__list > li > a {
	font-size: 3.98vw;
	padding: 0 0 1.5873vw 1.9841vw;
}
#copyright {
	font-size: 2.9841vw;
	padding: 4.7619vw 2.381vw;
}
}

.fixed-nav {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: calc((100vw - 504px) / 2);
	padding: 0 3.125%;
}
.fixed-nav > div {
	max-width: 340px;
	background: #fff;
	border: solid 1px #333;
	border-radius: 20px;
	padding: 30px 20px 40px;
}
.fixed-nav__title {
	font-weight: 600;
	text-align: center;
	margin: 0 0 16px;
}
.fixed-nav__list {
	max-width: 260px;
	width: 100%;
	margin: auto;
}
.fixed-nav__list > li:not(:last-child) {
	margin: 0 0 30px;
}
.fixed-nav__list > li > a {
	height: 70px;
	background: #FFCDBF;
	border-radius: 35px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	text-align: center;
	position: relative;
}
.fixed-nav__item-illust,
.fixed-nav__item-arrow {
	font-size: 0;
	position: absolute;

}
.fixed-nav__item-illust {
	max-width: 36px;
	bottom: -2px;
	left: 35px;
}
.fixed-nav__item-text {
	line-height: 1.4375;
	padding: 0 0 0 10px;
}
.fixed-nav__item-arrow {
	max-width: 21px;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
.fixed-nav__list > li.fixed-nav__entry.is-coming > a {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	pointer-events: none;
}
.fixed-nav__list > li.fixed-nav__entry.is-coming .fixed-nav__item-arrow {
	display: none;
}
.fixed-nav__list > li.fixed-nav__request > a {
	background: #D9E8BF;
}
.fixed-nav__list > li.fixed-nav__request .fixed-nav__item-illust {
	max-width: 44px;
	left: 30px;
}
@media screen and (max-width: 1199px) {
.fixed-nav {
	display: none;
}
}

.bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
}
.bg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	z-index: 0;
}
@media screen and (max-width: 768px) {
.bg { display: none; }
}


.fixed-btn {
	display: none;
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	z-index: 10;
}
.fixed-btn__list > li {
	width: 50%;
}
.fixed-btn__list > li > a {
	height: 100%;
	background: #FFCDBF;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	position: relative;
}
.fixed-btn__item-illust,
.fixed-btn__item-arrow {
	position: absolute;
}
.fixed-btn__item-illust {
	max-width: 40.53px;
	width: 100%;
	bottom: -2px;
	left: 16px;
}
.fixed-btn__item-text {
	font-size: 1.6rem;
	line-height: 1.4375;
	padding: 12px 0;
}
.fixed-btn__item-arrow {
	max-width: 26px;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
.fixed-btn__list > li.fixed-btn__entry.is-coming > a {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	pointer-events: none;
}
.fixed-btn__list > li.fixed-btn__entry.is-coming .fixed-btn__item-arrow {
	display: none;
}
.fixed-btn__list > li.fixed-btn__request > a {
	background: #D9E8BF;
}
@media screen and (max-width: 1199px) {
.fixed-btn {
	display: block;
}
}
@media screen and (max-width: 768px) {
.fixed-btn__item-illust {
	max-width: 8.0416vw;
	bottom: -.3968vw;
	left: 3.1746vw;
}
.fixed-btn__item-text {
	font-size: 3.1746vw;
	padding: 2.38vw 0;
}
.fixed-btn__item-arrow {
	max-width: 5.1587vw;
	right: 3.1746vw;
}

}


