@charset "UTF-8";

/*-------------------------------

    reset

-------------------------------*/

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;
	vertical-align: baseline;
	font: inherit;
	font-size: 100%;

	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
}

object {
	vertical-align: bottom;
}


/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

html,
body {
	font-size: 16px;
}

@media screen and (max-width: 768px) {
	html,
	body {
		font-size: 15px;
		font-size: 0.9375rem;
	}
}

html {
	overflow-y: scroll;
}

body {
	width: 100%;
	background: #ffffcc;
	color: #33240a;
	font-family: "Noto Sans Japanese", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
	content: '';
	content: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

a {
	color: #333;
	text-decoration: none;
}

@media screen and (min-width: 769px) {
	.tel-a {
		cursor: default;
	}
}

p img {
	max-width: 100%;
	vertical-align: bottom;
}

::selection {
	background: #faa30c;
	/* Safari */
	color: #fff;
}

::-moz-selection {
	background: #faa30c;
	/* Firefox */
	color: #fff;
}


/* clearfix */

.clearfix::after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
}

.clearfix {
	display: block;
}


/* svgシート */

body > svg {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
}


/* 
img[src$=".svg"] {
	width: 100%;
} */

p {
	letter-spacing: .05em;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {
	p {
		font-size: 15px;
		font-size: 0.9375rem;
	}
}


/* hタグ
-------------------------------*/

h1 {
	font-size: 14px;
	line-height: 1.5;
}

.h-cover {
	margin-bottom: 55px;
	text-align: center;
}

h2 {
	margin-bottom: 35px;
	padding-left: .1em;
	text-align: center;
	letter-spacing: .1em;
	font-weight: 700;
	font-size: 36px;
	font-size: 2.25rem;
	font-family: "Rounded Mplus 1c", "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}

h2.common {
	color: #664100;
	text-align: center;
}

h2.common:after {
	display: block;
	margin: 0 auto;
	margin-top: 20px;
	width: 100px;
	height: 3px;
	background: #faa30c;
	content: "";
}

.bg02 h2.common {
	color: #fff;
	font-weight: 600;
	font-size: 35px;
	font-size: 2.1875rem;
}

.bg02 h2.common span {
	display: inline-block;
	padding: 10px 15px;
	min-width: 300px;
	border-radius: 8px;
	background: #80c204;
}

h3 {
	color: #664100;
	font-weight: 500;
	font-size: 26px;
	font-size: 1.625rem;
	font-family: "Rounded Mplus 1c", "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}

h3.common {
	margin-bottom: 20px;
	padding-left: 5px;
	border-left: 10px solid #fcc4e2;
	letter-spacing: .15em;
}

h3.common span {
	color: #f164af;
	font-size: 1.05em;
}

@media screen and (max-width: 768px) {
	h2 {
		margin-bottom: 25px;
		font-size: 26px;
		font-size: 1.625rem;
	}
	h2.common:after {
		margin-top: 10px;
		width: 50px;
	}
	.bg02 h2.common {
		font-size: 25px;
		font-size: 1.5625rem;
	}
	.bg02 h2.common span {
		min-width: inherit;
	}
	h3.common {
		margin-bottom: 10px;
		font-size: 22px;
		font-size: 1.375rem;
	}
}


/* commonクラス
-------------------------------*/


/* ガワ */

main {
	overflow: hidden;
}

article.last-article {
	margin-bottom: 20px;
}

main .inner {
	margin: 0 auto;
	margin-right: auto;
	margin-left: auto;
	max-width: 1100px;
	width: 92%;
	width: auto;
}

.wave::before {
	position: absolute;
	display: block;
	margin-top: -3px;
	width: 100%;
	height: 7px;
	background: url(../img/line.svg) center top repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

.wave.bg02.last-article {
	margin-bottom: 95px;
}

.wave.bg02.last-article::after {
	position: absolute;
	display: block;
	margin-top: -3px;
	width: 100%;
	height: 7px;
	background: url(../img/line.svg) center top repeat;
	background-position: center;
	background-size: contain;
	content: "";
}

.contents_wrapper {
	margin-top: 45px;
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
	main .inner {
		padding-right: 4%;
		padding-left: 4%;
	}
}

@media screen and (max-width: 768px) {
	main .inner {
		margin: 0 auto;
		width: auto;
	}
	.wave.bg02.last-article {
		margin-bottom: 40px;
	}
}


/* 文字回り */

.indent1e {
	padding-left: 1em;
	text-indent: -1em;
}

.txt-box p {
	text-align: center;
}

.txt-box p:not(:last-of-type) {
	margin-bottom: 10px;
}

.txt-box p.txt-btm {
	margin-bottom: 30px !important;
}

.txt-box span.dan {
	display: block;
	padding-top: 10px;
}

.txt-box span.bold {
	color: #664100;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.txt-box p {
		line-height: 1.6;
	}
	.txt-box p:not(:last-of-type) {
		margin-bottom: 10px;
	}
	.txt-box p.txt-btm {
		margin-bottom: 10px !important;
	}
	.txt-box span.dan {
		display: inline;
		padding-top: 0;
	}
}

.tel-btn {
	font-size: 31px;
	font-family: "Baloo", cursive;
}

.tel-btn a {
	display: inline-flex;
	display: -webkit-inline-flex;
	color: #664100;

	-webkit-box-align-items: center;
	-moz-box-align-items: center;
	-ms-align-items: center;
	-webkit-align-items: center;
	align-items: center;
}

.tel-btn svg {
	display: inline-block;
	padding-right: 5px;
	padding-bottom: 3px;
	width: 30px;
	height: 30px;

	fill: #664100;
}

.tel-btn svg use {
	width: 100%;
}

.btn01 {
	display: table;
	margin: 0 auto;
	width: 160px;
	height: 45px;
	text-align: center;
	line-height: 1;
}

.btn01 a {
	display: table-cell;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	background: #faa30c;
	color: #fff;
	vertical-align: middle;
	font-size: 16px;
	font-size: 1rem;
	-webkit-transition: all 0.1s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	-moz-transition: all 0.1s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	-o-transition: all 0.1s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	transition: all 0.1s cubic-bezier(0.205, 0.635, 0.4, 0.89);
}

.btn01 a:after {
	padding-left: 5px;
	font-size: 15px;
	font-size: 0.9375rem;
}

.btn01 a:before {
	padding-right: 5px;
	font-size: 15px;
	font-size: 0.9375rem;
}

.btn01 a:hover {
	background: #f164af;
}

@media screen and (max-width: 768px) {
	.btn01 a {
		font-size: 18px;
		font-size: 1.125rem;
	}
	.btn01 a:after {
		font-size: 13px;
		font-size: 0.8125rem;
	}
}


/* 装飾 */

.side-parts-box {
	position: relative;
}

.side-parts-box .flag {
	position: absolute;
	top: 0;
	right: -85px;
	width: 396px;
	height: auto;
}

.side-parts-box .flag img {
	width: 100%;
}

.side-parts-box .wood {
	position: absolute;
	top: -40px;
	left: -10px;
	width: 399px;
	height: 90px;
}

.side-parts-box .wood img {
	width: 100%;
}

.bigbnr-wrap .side-parts-box .wave .side-parts-box .flag {
	top: 6px;
}

@media screen and (max-width: 1600px) {
	.side-parts-box {
		margin: 0 auto;
		width: 1100px;
	}
	.side-parts-box .flag {
		right: -329px;
	}
	.side-parts-box .wood {
		left: -250px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
	.side-parts-box {
		width: 100%;
	}
	.side-parts-box .flag {
		right: -40px;
		width: 180px;
	}
	.side-parts-box .wood {
		left: -150px;
		width: 280px;
	}
}

@media screen and (max-width: 768px) {
	.side-parts-box {
		width: 100%;
	}
	.side-parts-box .flag {
		right: -50px;
		width: 45%;
	}
	.side-parts-box .flag img {
		width: 100%;
	}
	.side-parts-box .wood {
		display: none;
	}
}


/*  バナー */

#top-bigbnr {
	background: none;
}

#top-bigbnr p {
	margin: 0 auto;
	max-width: 860px;
	width: 100%;
}


/* header 
-------------------------------*/

@media screen and (min-width: 769px) {
	header {
		padding-top: 35px;
		background: url(../img/head-line.png) center top repeat-x;
		background-size: 62px auto;
	}
	header .info {
		display: flex;
		display: -webkit-flex;

		-webkit-box-justify-content: space-between;
		-moz-box-justify-content: space-between;
		-ms-justify-content: space-between;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-box-align-items: center;
		-moz-box-align-items: center;
		-ms-align-items: center;
		-webkit-align-items: center;
		align-items: center;
	}
	header .inner {
		margin-right: auto;
		margin-bottom: 170px;
		margin-left: auto;
		max-width: 1100px;
		width: 92%;
	}
	header .tel-a {
		margin-right: 30px;
	}
	header .logo {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 10001;
		margin: 0 auto;
		width: 300px;
		text-align: center;
	}
	header .logo a {
		display: block;
		width: 100%;
		-webkit-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-moz-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-o-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	}
	header .logo a:hover {
		opacity: .7;
	}
	header .logo img {
		display: block;
		margin: 0 auto;
	}
	header .logo .mark {
		margin-bottom: 8px;
	}
	header .logo .logoimage {
		margin-bottom: 12px;
	}
	header .wrapper {
		position: absolute;
		right: 0;
		left: 0;
		margin: 0 auto;
		padding-top: 40px;
		width: 100%;
		height: 95px;
	}
	header .wrapper #head-nav {
		position: absolute;
		top: inherit;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1000;
		margin: 0 auto;
		width: 100%;
		height: 95px;
	}
	header .wrapper #head-nav ul {
		display: flex;
		display: -webkit-flex;
		margin: 0 auto;
		max-width: 1100px;
		vertical-align: middle;
		text-align: center;

		-webkit-box-justify-content: space-between;
		-moz-box-justify-content: space-between;
		-ms-justify-content: space-between;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-box-align-items: center;
		-moz-box-align-items: center;
		-ms-align-items: center;
		-webkit-align-items: center;
		align-items: center;
	}
	header .wrapper #head-nav li {
		box-sizing: border-box;
		width: 126px;
		border-right: 1px dashed #8f8278;
		-webkit-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-moz-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-o-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
		transition-property: background-color;
	}
	header .wrapper #head-nav li a {
		position: relative;
		display: block;
		padding: 6px;
		width: auto;
		height: 100%;
		color: #664100;
		text-align: center;
		line-height: 1.4;
	}
	header .wrapper #head-nav li a img {
		vertical-align: bottom;
	}
	header .wrapper #head-nav li a::before {
		display: block;
		margin: 0 auto 13px;
		width: 50px;
		height: 50px;
		background-position: center;
		content: "";
	}
	header .wrapper #head-nav li a.home img[src$=".svg"] {
		width: 54px;
		height: 15px;
	}
	header .wrapper #head-nav li a.home::before {
		background: url(../img/nav01.png) center center no-repeat;
		background-size: 50px 50px;
	}
	header .wrapper #head-nav li a.news img[src$=".svg"] {
		width: 74px;
		height: 17px;
	}
	header .wrapper #head-nav li a.news::before {
		background: url(../img/nav02.png) center center no-repeat;
		background-size: 50px 50px;
	}
	header .wrapper #head-nav li a.about img[src$=".svg"] {
		width: 74px;
		height: 18px;
	}
	header .wrapper #head-nav li a.about::before {
		background: url(../img/nav03.png) center center no-repeat;
		background-size: 50px 50px;
	}
	header .wrapper #head-nav li a.admission img[src$=".svg"] {
		width: 94px;
		height: 17px;
	}
	header .wrapper #head-nav li a.admission::before {
		background: url(../img/nav04.png) center center no-repeat;
		background-size: 50px 50px;
	}
	header .wrapper #head-nav li a.day img[src$=".svg"] {
		width: 87px;
		height: 17px;
	}
	header .wrapper #head-nav li a.day::before {
		background: url(../img/nav05.png) center center no-repeat;
		background-size: 50px 50px;
	}
	header .wrapper #head-nav li a.event img[src$=".svg"] {
		width: 75px;
		height: 17px;
	}
	header .wrapper #head-nav li a.event::before {
		background: url(../img/nav06.png) center center no-repeat;
		background-size: 50px 50px;
	}
	header .wrapper #head-nav li:first-of-type,
	header .wrapper #head-nav li:nth-of-type(4) {
		border-left: 1px dashed #8f8278;
	}
	header .wrapper #head-nav li:nth-of-type(3) {
		margin-right: 31.4285714%;
	}
	header .wrapper #head-nav .nav-hover {
		background: #ffff89;
	}
	header.fixed #head-nav {
		position: fixed;
		top: 0;
		top: 0px;
		bottom: auto;
		padding: 10px 0;
		width: 100%;
		height: auto;
		background: rgba(255, 255, 178, 0.95);
		box-shadow: 0 0 20px 1px rgba(57, 51, 46, 0.2);
		animation-name: fix-nav;
		-webkit-animation-duration: .6s;
		-moz-animation-duration: .6s;
		animation-duration: .6s;
		-webkit-animation-timing-function: cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-webkit-animation-timing-function: cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-moz-animation-timing-function: cubic-bezier(0.205, 0.635, 0.4, 0.89);
		-o-animation-timing-function: cubic-bezier(0.205, 0.635, 0.4, 0.89);
		animation-timing-function: cubic-bezier(0.205, 0.635, 0.4, 0.89);
	}
	header.fixed #head-nav ul {
		margin: 0 auto;
		max-width: 1000px;
		width: 94%;
	}
	header.fixed #head-nav li {
		width: calc(100% / 6);
	}
	header.fixed #head-nav li a::before {
		display: block;
		margin: 0 auto 5px;
		width: 30px;
		height: 30px;
		background-position: center;
		content: "";
	}
	header.fixed #head-nav li a.home::before {
		background: url(../img/nav01.png) center center no-repeat;
		background-size: 30px 30px;
	}
	header.fixed #head-nav li a.news::before {
		background: url(../img/nav02.png) center center no-repeat;
		background-size: 30px 30px;
	}
	header.fixed #head-nav li a.about::before {
		background: url(../img/nav03.png) center center no-repeat;
		background-size: 30px 30px;
	}
	header.fixed #head-nav li a.admission::before {
		background: url(../img/nav04.png) center center no-repeat;
		background-size: 30px 30px;
	}
	header.fixed #head-nav li a.day::before {
		background: url(../img/nav05.png) center center no-repeat;
		background-size: 30px 30px;
	}
	header.fixed #head-nav li a.event::before {
		background: url(../img/nav06.png) center center no-repeat;
		background-size: 30px 30px;
	}
	header.fixed #head-nav li:nth-of-type(3) {
		margin-right: 0;
	}
	header.fixed #head-nav li:nth-of-type(4) {
		border-left: none;
	}
	header.fixed #head-nav .nav-hover {
		background: #fff;
	}
	.drawer-hamburger,
	header #head-nav .drawer-add-wrap {
		display: none;
	}
}

@keyframes fix-nav {
	0% {
		top: -80px;
	}
	100% {
		top: 0;
	}
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
	header .logo {
		position: relative;
		top: -75px;
	}
	header .inner {
		margin-bottom: 255px;
	}
	header .wrapper {
		height: 180px;
	}
	header .wrapper #head-nav ul {
		max-width: 1000px;
		width: 94%;
	}
	header .wrapper #head-nav li {
		width: calc(100% / 6);
	}
	header .wrapper #head-nav li:nth-of-type(3) {
		margin-right: 0;
	}
	header .wrapper #head-nav li:nth-of-type(4) {
		border-left: none;
	}
}

@media screen and (max-width: 768px) {
	h1 {
		display: none;
	}
	header .logo {
		margin: 0 auto;
		padding: 0 70px;
	}
	header .logo a {
		display: block;
	}
	header .logo img {
		display: block;
		margin: 0 auto;
	}
	header .logo .mark {
		margin-bottom: 3px;
		width: 40px;
	}
	header .logo .logoimage {
		margin-bottom: 7px;
		width: 230px;
	}
	header .inner {
		top: 0;
		z-index: 1;
		padding-top: 8px;
		padding-bottom: 10px;
		width: 100%;
	}
	header .inner .contact .tel-btn {
		position: fixed;
		top: 0px;
		right: 0px;
		z-index: 3;
		box-sizing: border-box;
		width: 60px;
		height: 60px;
		border: 2px solid #d18500;
		background: #faa30c;
		font-size: 0;
	}
	header .inner .contact .tel-btn a {
		display: flex;
		display: -webkit-flex;
		padding: 0;
		width: 100%;
		height: 100%;
		border-width: 2px;
		border-radius: 0;
		font-size: 0;

		-webkit-box-align-items: center;
		-moz-box-align-items: center;
		-ms-align-items: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-box-justify-content: center;
		-moz-box-justify-content: center;
		-ms-justify-content: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	header .inner .contact .tel-btn svg {
		padding-right: 0;
		padding-bottom: 0;

		fill: #fff;
	}
	/* navボタン */
	header .drawer-hamburger {
		margin: 0 !important;
		padding: 10px 0.75rem 33px !important;
		border: 2px solid #6ca602 !important;
		background: #80c204;
		line-height: 0 !important;
	}
	header .drawer-hamburger span,
	header .drawer-hamburger span:before,
	header .drawer-hamburger span:after {
		background-color: #fff;
	}
	header .button-wrap::after {
		position: absolute;
		right: 0;
		bottom: 12px;
		left: 0;
		color: #fff;
		content: "menu";
		font-size: 14px;
	}
	/* メニュー */
	header #head-nav.drawer-nav {
		background: url(../img/head-line.png) center top repeat-x, rgba(255, 255, 255, 0.95);
		background-size: 62px auto;
	}
	header #head-nav ul.drawer-menu {
		display: flex;
		display: -webkit-flex;
		padding-top: 60px;
		width: 100%;

		-webkit-box-flex-wrap: wrap;
		-moz-box-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-justify-content: center;
		-moz-box-justify-content: center;
		-ms-justify-content: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	header #head-nav ul.drawer-menu li:not(.drawer-add-wrap) {
		margin: 0 auto;
		min-height: 55px;
		width: 43%;
		border-bottom: 3px dashed #ffe6d2;
	}
	header #head-nav ul.drawer-menu li:not(.drawer-add-wrap) a {
		display: flex;
		display: -webkit-flex;
		width: auto;
		height: 100%;
		color: #664100;
		letter-spacing: .05em;
		line-height: 1.3em;

		-webkit-box-align-items: center;
		-moz-box-align-items: center;
		-ms-align-items: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-box-justify-content: flex-start;
		-moz-box-justify-content: flex-start;
		-ms-justify-content: flex-start;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	header #head-nav ul.drawer-menu li:not(.drawer-add-wrap) a:hover {
		background: #ffffb2;
	}
	header #head-nav ul.drawer-menu li:not(.drawer-add-wrap):nth-of-type(even) {
		margin-left: 0;
	}
	header #head-nav li:not(.drawer-add-wrap) a::before {
		display: block;
		display: block;
		margin: 0;
		margin-right: 10px;
		width: 30px;
		height: 30px;
		background-position: center;
		content: "";
	}
	header #head-nav li a.home::before {
		background: url(../img/nav01.png) center center no-repeat;
		background-size: contain;
	}
	header #head-nav li a.news::before {
		background: url(../img/nav02.png) center center no-repeat;
		background-size: contain;
	}
	header #head-nav li a.about::before {
		background: url(../img/nav03.png) center center no-repeat;
		background-size: contain;
	}
	header #head-nav li a.admission::before {
		background: url(../img/nav04.png) center center no-repeat;
		background-size: contain;
	}
	header #head-nav li a.day::before {
		background: url(../img/nav05.png) center center no-repeat;
		background-size: contain;
	}
	header #head-nav li a.event::before {
		background: url(../img/nav06.png) center center no-repeat;
		background-size: contain;
	}
	header #head-nav .drawer-add-wrap {
		margin-top: 20px;
		width: 90%;
		text-align: center;
	}
	header #head-nav .drawer-add-wrap div {
		display: inline-block;
		margin-bottom: 5px;
	}
	header #head-nav .drawer-add-wrap .logo {
		padding: 0;
		width: 200px;
	}
	header #head-nav .drawer-add-wrap .add {
		margin-bottom: 10px;
		font-size: 13px;
		font-size: 0.8125rem;
	}
}


/* footer
-------------------------------*/

footer {
	padding-top: 40px;
	width: 100%;
	background: url(../img/triangle.svg) center top repeat-x, url(../img/bg-stripe.svg);
	background-size: 42px 14px, 18px 18px;
}

footer .inner {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	max-width: 1100px;
	width: 92%;
	background: url(../img/foot-parts02.svg) left bottom 30px no-repeat;
	background-size: 86px 83px;
}

footer .inner::before {
	position: absolute;
	top: -120px;
	right: 0;
	display: block;
	width: 141px;
	height: 141px;
	background: url(../img/foot-parts01.svg);
	background-position: center;
	content: "";
}

footer #foot-nav {
	margin: 0 auto 25px;
	text-align: center;
	font-size: 0;
}

footer #foot-nav li {
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
}

footer #foot-nav li:not(:last-of-type)::after {
	display: inline-block;
	margin: 0 5px;
	content: "｜";
}

footer #foot-nav li a {
	display: inline-block;
	padding: 5px 0;
	background: none;
	line-height: 1;
	-webkit-transition: all 0.3s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	-moz-transition: all 0.3s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	-o-transition: all 0.3s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	transition: all 0.3s cubic-bezier(0.205, 0.635, 0.4, 0.89);
}

footer #foot-nav li a:hover {
	background: #f5f56e;
}

footer .logo {
	margin-bottom: 10px;
	text-align: center;
}

footer .logo a {
	-webkit-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	-moz-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	-o-transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
	transition: all 0.2s cubic-bezier(0.205, 0.635, 0.4, 0.89);
}

footer .logo a:hover {
	opacity: .7;
}

footer .add {
	margin-bottom: 30px;
	text-align: center;
}

footer .contact {
	margin-bottom: 30px;
	text-align: center;
}

footer .contact li {
	display: inline-block;
	margin: 0 5px;
	font-size: 24px;
	font-size: 1.5rem;
	font-family: "Baloo", cursive;
}

footer .contact li.foot-tel * {
	color: #cc2f83;
}

footer .contact li.foot-fax {
	color: #0290bf;
}

footer .copy {
	padding-bottom: 30px;
	color: #6ca602;
	text-align: center;
	font-size: 10px;
	font-size: 0.625rem;
}

@media screen and (max-width: 768px) {
	footer {
		padding-top: 40px;
	}
	footer .inner {
		padding-bottom: 55px;
		background-position: left bottom 20px;
		background-size: 18% auto;
	}
	footer .inner::before {
		display: none;
	}
	footer #foot-nav {
		margin-bottom: 20px;
	}
	footer #foot-nav li {
		margin-bottom: 5px;
	}
	footer .logo {
		margin-bottom: 5px;
	}
	footer .add {
		margin-bottom: 20px;
	}
	footer .contact {
		margin-bottom: 20px;
	}
	footer .contact li.foot-tel {
		margin-bottom: 10px;
	}
	footer .copy {
		padding-bottom: 20px;
		text-align: center;
	}
}


/* Page top
-------------------------------*/

#pageTop {
	position: fixed;
	right: 15px;
	bottom: 20px;
	line-height: 1;
}

#pageTop:hover,
#pageTop:active {
	opacity: .7;
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	#pageTop {
		right: 5px;
		bottom: 10px;
		width: 70px;
		height: auto;
	}
	#pageTop img {
		width: 100%;
	}
}


/* コンテンツフェード
-------------------------------*/

.js-scroll-fade {
	position: relative;
	opacity: 0;
	transition: all 0.5s cubic-bezier(0.155, 0.91, 0.695, 0.9);
	transform: translate(0, 40px);
}

.js-scroll-fade.fade-right {
	transform: translate(10px, 40px);
}

.js-scroll-fade.fade-left {
	transform: translate(-10px, 40px);
}

.js-scroll-fade .scroll-fade.fade-right,
.js-scroll-fade .scroll-fade.fade-left,
.js-scroll-fade.is-animation {
	opacity: 1;
	transform: translate(0, 0);
}


/* mv
-------------------------------*/

#mv {
	position: relative;
	overflow: hidden;
	background: url(../img/mv-bg.jpg);
	background-size: 16px 16px;
}

#mv::after {
	position: absolute;
	bottom: 0px;
	z-index: 2;
	display: block;
	width: 100%;
	height: 10.5vw;
	background: url(../img/cloud.svg) center bottom -14.8vw / 110% no-repeat;
	content: "";
}

#mv .wrap {
	position: relative;
	max-height: 630px;
	width: 100%;
	height: 50.72vw;
}

#mv .inner {
	position: relative;
	margin: 0 auto;
	max-width: 1100px;
	height: 100%;
}

#mv .bird,
#mv .plane {
	position: absolute;
}

#mv .bird {
	top: 325px;
	left: 60px;
}

#mv .bird img {
	width: 66px;
	height: 55px;
}

#mv .plane {
	top: 40px;
	right: 0;
}

#mv .plane img {
	width: 534px;
	height: 160px;
}

@media screen and (max-width: 1600px) {
	#mv .wrap {
		margin: 0 auto;
		width: 1100px;
	}
	#mv .inner {
		margin: 0 auto;
		width: 100%;
	}
	#mv .bird {
		top: 325px;
		left: -180px;
	}
	#mv .plane {
		top: 40px;
		right: -240px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
	#mv .wrap {
		margin: 0 auto;
		width: 100%;
	}
	#mv .bird {
		top: 325px;
		left: -130px;
	}
	#mv .plane img {
		width: 430px;
	}
}

@media screen and (max-width: 768px) {
	#mv .wrap {
		width: 100%;
		height: 100%;
	}
	#mv .bird {
		display: none;
	}
	#mv .plane {
		top: 20px;
		right: -50px;
		width: 50vw;
	}
	#mv .plane img {
		width: 100%;
		height: auto;
	}
}


/* 背景色
-------------------------------*/

.bg01 .inner {
	padding-top: 75px;
	padding-bottom: 75px;
}

.bg01.article-last .inner {
	padding-bottom: 0;
}

.bg02 {
	position: relative;
	background: url(../img/bg-dot.jpg);
	background-size: 15px 15px;
}

.bg02 .inner {
	position: relative;
	padding-top: 65px;
	padding-bottom: 75px;
}

.bg02 .inner .white {
	padding: 15px;
	background: #fff;
}

@media screen and (max-width: 768px) {
	.bg01 .inner {
		padding: 20% 4% 40px;
	}
	.bg02 .inner {
		padding: 35px 4% 40px;
	}
	.kasou .bg02 .inner .white {
		padding: 2%;
	}
	.kasou .bg02 .inner::before {
		position: absolute;
		top: -4.5vw;
		left: 4%;
		display: block;
		width: 12vw;
		height: 12vw;
		background: url(../img/parts-flower02.svg);
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		content: "";
	}
}


/* アンカー
-------------------------------*/

#download {
	margin-top: -100px;
	padding-top: 100px;
}

@media screen and (max-width: 768px) {
	#download {
		margin-top: -40px;
		padding-top: 40px;
	}
}


/*# sourceMappingURL=base.css.map */