@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Julius+Sans+One&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Noto+Sans:400,700');

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-family: "游ゴシック",YuGothic,"Helvetica","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
}
html {
	-webkit-text-size-adjust: 100%;
}
body {
	position: relative;
	color: #191919;
}
body:not(.sphone) {
	line-height: 1.5em;
	font-size: .94em;
}
.sphone {
	line-height: 1.5em;
	font-size: 15px;
}
a {
	text-decoration:underline;
	outline: none;
	color: #191919;
}
a:hover {
	text-decoration:none;
	color: #191919;
}
a:focus,a:visited {
	outline: none;
	color: #191919;
}
img {
	border: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden !important;
	backface-visibility: hidden !important;
}
li {
	list-style: none;
}
iframe {
	display: block;
}
::selection {
	background-color: #cdcdcd;
}
::-moz-selection {
	background-color: #cdcdcd;
}
iframe[name="google_conversion_frame"] { position:absolute; top:0; }

/* -------------------------------------------------------------------------- */
/* -- #Loading -- */
body::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:#fff;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	transition: all 400ms ease-out;
}
body.fadeout::after {
  opacity: 1;
}


/* -------------------------------------------------------------------------- */
/* -- other -- */
.opa {
	opacity: 1;
	transition: all 200ms 0s ease-out;
}
.opa:hover,.opa:focus {
	opacity: .5;
}

/* ----------------------------- */
.center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/* ----------------------------- */
.btn a {
	position: relative;
	display: block;
	letter-spacing: .03em;
	text-decoration: none;
	text-align: center;
	font-family: 'Julius Sans One', sans-serif;
	font-size: 1.2em;
	font-weight: 600;
	color: #fff;
	background-image: url("../images/arrow_right.png");
	background-position: 90% center;
	background-repeat: no-repeat;
	background-size: auto 40%;
	background-color: #191919;
	transition: all 200ms 0s ease-out;
}
.btn a:hover,.btn a:focus {
	color: #191919;
	background-image: url("../images/arrow_right_b.png");
	background-position: 95% center;
	background-color: #fff;
}
.btn a * {
	font-family: 'Julius Sans One', sans-serif;
}
body:not(.sphone) .btn a {
	width: 12em;
	height: 2.6em;
	line-height: 2.6em;
	border-radius: 1.3em;
}
.sphone .btn a {
	width: 70vw;
	height: 2.6em;
	line-height: 2.6em;
	border-radius: 1.3em;
}

/* ----------------------------- */
.spring_font {
	color: #ff91b2 !important;
}
.spring_back {
	background-color: #ff91b2 !important;
}
.summer_font {
	color: #ffc800 !important;
}
.summer_back {
	background-color: #ffc800 !important;
}
.autumn_font {
	color: #ff9b63 !important;
}
.autumn_back {
	background-color: #ff9b63 !important;
}
.winter_font {
	color: #6ac1ff !important;
}
.winter_back {
	background-color: #6ac1ff !important;
}

/* ----------------------------- */
body:not(.sphone) .margin05 {
	margin-top: .5rem !important;
}
body:not(.sphone) .margin1 {
	margin-top: 1rem !important;
}
body:not(.sphone) .margin2 {
	margin-top: 2rem !important;
}
body:not(.sphone) .margin3 {
	margin-top: 3rem !important;
}
.sphone .margin05 {
	margin-top: 2% !important;
}
.sphone .margin1 {
	margin-top: 4% !important;
}
.sphone .margin2 {
	margin-top: 7% !important;
}
.sphone .margin3 {
	margin-top: 10% !important;
}
/*
	font-family: 'Julius Sans One', sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
*/


/* -------------------------------------------------------------------------- */
/* -- #back -- */
#back {
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-size: cover;
}
body:not(.sphone) #back {
	background-image: url("../images/back.jpg");
}
.sphone #back {
	background-image: url("../images/back_sp.jpg");
}


/* -------------------------------------------------------------------------- */
/* -- nav -- */
nav .menuArea #menuList li,nav .menuArea #menuList li a {
	letter-spacing: .01em;
	font-family: 'Julius Sans One', sans-serif;
	font-weight: 600;
}
nav .menuArea #menuList li.none {
	text-decoration: line-through;
	color: #8e8d85;
}
nav .menuArea #menuList li a {
	position: relative;
	text-decoration: none;
}
nav .menuArea #menuList li a::after {
	content: '';
	position: absolute;
	width: 0;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	background-color: rgba(0,0,0,.2);
	transition: all 200ms 0s ease-out;
}
nav .menuArea #menuList li a:not(.now):hover::after,nav .menuArea #menuList li a:not(.now):focus::after {
	width: 100%;
}
nav .menuArea #menuList li a.now::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.3em;
	width: 2.4em;
	height: 2px;
	margin: auto;
	background-color: #191919;
}

/* ----------------------------- */
.sphone nav {
	position: fixed;
	left: 0;
	top: 0;
	display: none;
	box-sizing: border-box;
	z-index: 199;
	width: 100%;
	padding: 3% 3%;
	background-color: #fff;
}
.sphone nav .menuArea {
	position: relative;
	text-align: left !important;
	letter-spacing: -.4em;
}
.sphone nav .menuArea #menuList li,nav .menuArea #menuList li a {
	text-align: center;
	display:inline-block;
	letter-spacing: normal;
	vertical-align:top;
	*display: inline;
	*zoom: 1;
}
.sphone nav .menuArea h1,.sphone nav .menuArea h2 {
	text-align: center;
}
.sphone nav .menuArea h1 img,.sphone nav .menuArea h2 img {
	width: 50vw;
}
.sphone nav .menuArea #menuList {
	margin-top: 6%;
}
.sphone nav .menuArea #menuList li {
	width: 49%;
	padding-top: 1.2em;
	padding-bottom: 1.2em;
}
.sphone nav .menuArea #menuList li:nth-child(odd) {
	margin-right: 2%;
}
/* 一旦 */
.sphone nav .menuArea #menuList li {
	border-bottom: #191919 1px dotted;
}
/* メニュー奇数なら↓有効 */
/*.sphone nav .menuArea #menuList li:not(:last-child) {
border-bottom: #191919 1px dotted;
}*/
/* メニュー偶数なら↓有効 */
/*.sphone nav .menuArea #menuList li:not(:nth-last-child(-n+2)) {
	border-bottom: #191919 1px dotted;
}*/
.sphone nav .menuArea #menuList li a {
	/*padding: 0 2em;*/
	padding: 0;
}



/* -------------------------------------------------------------------------- */
/* -- #sns -- */
#sns {
	letter-spacing: -.40em;
}
#sns li {
	display:inline-block;
	letter-spacing: normal;
	vertical-align:top;
	*display: inline;
	*zoom: 1;
}
#sns li:not(:first-child) {
	margin-left: .6em;
}
#sns li a {
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 50% auto;
	background-color: #fff;
	border: #191919 1px solid;
	border-radius: 50%;
	transition: all 160ms 0s ease-out;
}
#sns li:hover a,#sns li:focus a {
	background-size: 55% auto;
	transform: rotate(-30deg);
}
#sns li.tw a {
	background-image: url(../images/sns_tw.png);
}
#sns li.fb a {
	background-image: url(../images/sns_fb.png);
}
#sns li.line a {
	background-image: url(../images/sns_line.png);
}
/* ----------------------------- */
.pc:not(#index) #sns {
	position: absolute;
	right: -7.5vw;
	top: 0;
	bottom: 0;
	height: 2.2vw;
	margin: auto;
}
.pc#index #sns,.tablet#index #sns {
	text-align: center;
}
.pc #sns li {
	width: 2.2vw;
}
.pc #sns li a {
	height: 2.2vw;
}
/* ----------------------------- */
.tablet:not(#index) #sns {
	position: absolute;
	right: 1%;
	top: 0;
}
.tablet #sns li {
	width: 4vw;
}
.tablet #sns li a {
	height: 4vw;
}
/* ----------------------------- */
.sphone #sns {
	height: 100vh;
	padding: 6% 0 0;
	text-align: center;
	background-color: #fff;
}
.sphone #sns li {
	width: 3em;
}
.sphone #sns li a {
	height: 3em;
}

/* -------------------------------------------------------------------------- */
/* -- #menuBtn スマホのみ -- */
#menuBtn {
	position: fixed;
	z-index: 200;
	right: 1%;
	top: 1%;
	width: 15vw;
	height: 0;
	padding-top: 15vw;
	cursor: pointer;
	background-color: #fff;
	border: #191919 1px solid;
	border-radius: 50%;
}
#menuBtn span {
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	width: 50%;
	height: 2px;
	margin: auto;
	background-color: #191919;
	transition: all 120ms 0s ease-out;
}
#menuBtn span:first-of-type {
	top: 4.5vw;
}
#menuBtn span:nth-of-type(2),#menuBtn span:nth-of-type(3) {
	top: 0;
	bottom: 0;
}
#menuBtn span:last-of-type {
	bottom: 4.5vw;
}
/* ホバー */
#menuBtn:focus span:first-of-type,#menuBtn:focus span:last-of-type {
	opacity: 0;
}
#menuBtn:focus span:nth-of-type(2) {
	transform: rotate(45deg);
}
#menuBtn:focus span:nth-of-type(3) {
	transform: rotate(-45deg);
}
/* メニュー表示時 */
#menuBtn.cloth span:first-of-type,#menuBtn.cloth span:last-of-type {
	opacity: 0;
}
#menuBtn.cloth span:nth-of-type(2) {
	transform: rotate(45deg);
}
#menuBtn.cloth span:nth-of-type(3) {
	transform: rotate(-45deg);
}
#menuBtn.cloth:focus span:nth-of-type(2),#menuBtn.cloth:focus span:nth-of-type(3) {
	transform: rotate(0);
}

/* -------------------------------------------------------------------------- */
/* -- footer -- */
footer {
	text-align: center;
}
body:not(.sphone) footer {
	margin-top: 7rem;
	padding-bottom: 2rem;
}
.sphone footer {
	margin-top: 16%;
	padding-bottom: 4%;
}



/* max-width 1380px */
/* -------------------------------------------------------------------------- */
@media screen and (max-width: 1380px) {
.pc {
	width: 1380px;
}
}
