@charset "utf-8";

/* common */
:root {
    --color-green: #02C470;
    --color-beige: #F1E9D8;
    --color-white: #fff;
    --color-black: #333;
    --color-gray: #ccc;
    --color-dark-gray: #757575;
    --color-orange: #FF7F48;
    --color-red: #E60012;
    --easeOutBack: cubic-bezier(0.34, 1.56, 0.64, 1);
}

.font_rounded {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 900;
    font-style: normal;
}
.font_noto_sans {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
}
.fw400 {
    font-weight: 400;
}
.fw500 {
    font-weight: 500;
}
.fw700 {
    font-weight: 700;
}

.wrapper {
    background-color: var(--color-beige);
    overflow: hidden;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    color: var(--color-black);
}
.wrapper a,
.wrapper button {
    text-decoration: none;
    color: inherit;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
body {
    font-size: 16rem;
}
@media (min-width: 961px) {
    html {
        font-size: 1px;
    }
}
@media (max-width: 960px) and (min-width: 641px) {
    html {
        font-size: calc(100 / 960 * 1vw);
    }
}
@media (min-width: 641px) {
    .sp_only {
        display: none !important;
    }
}
@media (max-width: 640px) {
    html {
        font-size: 1.64103px;
        font-size: calc(100 / 390 * 1vw);
    }
    body {
        font-size: 16rem;
    }
    .pc_only {
        display: none !important;
    }
}


/* footer */
.footer {
    text-align: center;
    position: relative;
    z-index: 1;
}
.footer_logo,
.footer_logo_one {
    position: relative;
    z-index: 1;
}
.footer::before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    background: url(../img/common/footer_circle.svg) no-repeat 0 0 / contain;
}
.footer_left,
.footer_right,
.footer_car {
    position: absolute;
    left: 50%;
}
.com-footer {
    position: relative;
    z-index: 2;
}
@media (min-width: 641px) {
    .footer {
        padding-top: 90px;
        padding-bottom: 48px;
    }
    .footer_logo_one {
        left: 7px;
    }
    .footer::before {
        bottom: -117px;
        margin-left: -470px;
        width: 944px;
        height: 468px;
    }
    .footer_left {
        bottom: 31px;
        margin-left: -800px;
    }
    .footer_right {
        bottom: 140px;
        margin-left: 266px;
    }
    .footer_car {
        bottom: 0;
        margin-left: 405px;
    }
}
@media (max-width: 640px) {
    .footer {
        padding-top: 57rem;
        padding-bottom: 134rem;
    }
    .footer_logo {
        width: 273rem;
        margin: auto;
    }
    .footer_logo_one {
        width: 176rem;
        margin: auto;
    }
    .footer::before {
        bottom: 82rem;
        margin-left: -235rem;
        width: 471rem;
        height: 234rem;
    }
    .footer_left {
        bottom: -46rem;
        width: 296rem;
        margin-left: -356rem;
    }
    .footer_right {
        bottom: -28rem;
        width: 210rem;
        margin-left: 96rem;
    }
    .footer_car {
        bottom: 0;
        margin-left: -40rem;
        width: 80rem;
    }
}

/* footer animation */
.animation_ready .footer_left,
.animation_ready .footer_right {
    scale: 0;
}
.animation_loaded .footer.is_animated .footer_left {
    transition: scale .6s var(--easeOutBack);
    scale: 1;
    transform-origin: 80% 80%;
}
.animation_loaded .footer.is_animated .footer_right {
    transition: scale .6s 0.2s var(--easeOutBack);
    scale: 1;
    transform-origin: 20% 80%;
}
.animation_loaded .footer.is_animated .footer_moku:nth-of-type(3n+1) {
    animation: fuwafuwa 2s 0.4s ease-in-out infinite alternate;
}
.animation_loaded .footer.is_animated .footer_moku:nth-of-type(3n+2) {
    animation: fuwafuwa 2.4s 0.4s ease-in-out infinite alternate;
}
.animation_loaded .footer.is_animated .footer_moku:nth-of-type(3n+3) {
    animation: fuwafuwa 2.2s 0.4s ease-in-out infinite alternate;
}

/******************************************************/
/* footer */
/******************************************************/
footer {
	background: #636769;
	width: 100%;
	height: 82px;
	position: relative;
    z-index: 1;
}
#footer {
	color: #ccc;
	max-width: 980px;
	margin: 0 auto;
	position: relative;
    padding: 0 20px;
}
#footer a {
	color: #ccc;
	text-decoration: none;
    transition: opacity .5s;
}
#footer a:hover {
    opacity: .7;
}
#footerNavi {
	position: relative;
	z-index: 1;
	max-width: 640px;
	float: right;
	text-align: right;
	margin: 16px 0 0 0;
}
#footerNavi .wrap {
	max-width: 640px;
}
#footerNavi ul {
	display: inline-block;
}
#footerNavi ul li {
	float: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	margin-left: 27px;
}
#footerNavi ul li:first-child {
	margin-left: 0;
}
#footerNavi ul li a {
	display: block;
	font-size: 12px;
	-webkit-font-smoothing: subpixel-antialiased;
}
#footerNavi ul li a.linkExt {
	background: url(/common/images/icn_link_03.svg) right center no-repeat;
	background-size: 14px 14px;
	padding-right: 17px;
}
#footerMain {
	max-width: 340px;
	float: left;
	margin: 17px 0 0 0;
}
#footerMain:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
#footerMain ul {
}
#footerMain .copyright {
	font-size: 11px;
	-webkit-font-smoothing: subpixel-antialiased;
}

@media screen and (max-width:640px) {
    footer {
        width: 100%;
        min-width: 100%;
        height: auto;
        background-color: #666666;
    }
    #footer {
        width: 100%;
        min-width: 100%;
        display: table-cell;
    }
    #footerNavi {
        width: auto;
        text-align: left;
        margin: 35rem 0 0 50rem;
        display: block;
        float: left;
    }
    #footerNavi .wrap {
        margin: 0;
        padding: 0;
        display: block;
        width: 100%;
    }
    #footerNavi ul {
        display: block;
        float: none;
        margin: 0;
        padding: 0;
    }
    #footerNavi ul li {
        float: none;
        width: auto;
        margin: 0;
        display: block;
    }
    #footerNavi ul li a {
        width: auto;
        display: block;
        font-size: 12rem;
        -webkit-font-smoothing: subpixel-antialiased;
        padding: 15rem 0;
        box-sizing: border-box;
    }
    #footerNavi ul li a.linkExt {
        background: url(/common/images/icn_link_03.svg) right center no-repeat;
        background-size: 25rem 22rem;
        padding-right: 33rem;
        display: table-cell;
        width: 100%;
    }
    #footerMain {
        width: auto;
        float: left;
        margin: 70rem 0 0 50rem;
    }
    #footerMain:after {
        visibility: hidden;
        display: block;
        font-size: 0;
        content: " ";
        clear: both;
        height: 0;
    }
    #footerMain .copyright {
        font-size: 10rem;
        -webkit-font-smoothing: subpixel-antialiased;
        padding-bottom: 45rem;
    }
}

