@charset "UTF-8";
/* CSS Document */

.font-1st {
	/*font-family: 'Lobster', cursive;*/
	font-family: 'Bree Serif', serif;
}
/*----- カラー -----*/
.font-color-1st {
	color: rgba(255,94,152,1);
}
.font-color-2nd {
	color: rgba(48,187,216,1);
}
.bg-color-1st {
	background-color: rgba(255,94,152,1);
}
.bg-color-2nd {
	background-color: rgba(48,187,216,1);
}
.bg-color-3rd {
	background-color: rgba(94,234,255,1);
}
.border-color-1st {
	border-color: rgba(255,94,152,1);
}
.border-color-2nd {
	border-color: rgba(48,187,216,1);
}
.border-color-3rd {
	border-color: rgba(0,0,0,1);
}
.shadow-color-1st {
	box-shadow: 0px 0px 4px rgba(255,94,152,.6);
}
.shadow-color-2nd {
	box-shadow: 0px 0px 4px rgba(48,187,216,.6);
}
/*----- ボーダー背景 -----*/
.border-bg {
	background-color: rgba(255,255,255,1);
}
/*----- パディング無し -----*/
.no-gutters {
	padding: 0;
	margin: 0;
}
/*----- マーカー -----*/
.marker-yellow {
	background: linear-gradient(transparent 70%, #ffff66 70%);
	border-radius: 2px;
}
.marker-red {
	background: linear-gradient(transparent 70%, rgba(255,0,0,.2) 70%);
	border-radius: 2px;
}
a img {
	transition: opacity 0.2s ease-out;
}
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
body {
	animation: fadeIn 1.4s ease 0s 1 normal;
	-webkit-animation: fadeIn 1.4s ease 0s 1 normal;
}
 @keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
 @-webkit-keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
.body-bg {
	background-image: url(../image/bg/bg-main.jpg);
	background-size: contain;
	background-repeat: repeat-y;
}
.section-padding {
	padding-top: 80px;
	padding-bottom: 100px;
}
.section-padding-s {
	padding-top: 80px;
	padding-bottom: 20px;
}
/*----- ナビゲーションバー -----*/
.navbar-margin {
	font-size: 24px;
	z-index: 3;
}
.navbar-logo {
	filter: drop-shadow(0px 0px 6px rgba(255,255,255,.2));
	margin-top: 8px;
	margin-right: 10px;
}
.navbar-center-logo {
	padding-left: 20px;
	padding-right: 20px;
}
.navbar-link-margin {
	padding-left: 12px;
	padding-right: 12px;
}
.navbar-main {
	margin-bottom: 0px;
	padding-bottom: 0px;
	line-height: 42px;
}
.navbar-sub {
	font-size: 10px;
	font-weight: 900;
	text-align: center;
	letter-spacing: 1px;
	padding-left: 3px;
}
.navbar-right-contents {
	text-align: right;
}
.navbar-right-margin {
	margin-top: -70px;
	margin-bottom: -120px;
}
.navbar-right-shadow {
	filter: drop-shadow(1px 2px 6px rgba(0,0,0,.6));
}
.navbar-sns-link {
	font-size: 48px;
	padding-top: 15px;
}
.X {
	padding-top: 10px;
	width: 40px;
}
/*----- タイトルボーダー -----*/
.title-border {
	display: flex;
	align-items: center;
	font-size: 38px;
	margin-bottom: 60px;
	line-height: 40px
}
.title-border:before, .title-border:after {
	border-top: 1px solid;
	content: "";
	flex-grow: 1;
}
.title-border:before {
	margin-right: 1.8rem;
}
.title-border:after {
	margin-left: 1rem;
}
.title-border-prof {
	display: flex;
	align-items: right;
	text-align: right;
	line-height: 0px;
	margin-top: 14px;
}
.title-border-prof:after {
	border-top: 1px solid rgba(0,0,0,.2);
	content: "";
	flex-grow: 1;
}
.title-border-prof:after {
	margin-left: 0.4rem;
}
/*----- リボンタグ -----*/
.ribbon-tag {
	display: inline-block;
	position: relative;
	height: 22px;/*高さ*/
	line-height: 22px;/*高さ*/
	vertical-align: middle;
	text-align: center;
	padding: 0 20px 0 16px;/*文字の左右の余白*/
	font-size: 13px;/*文字サイズ*/
	font-weight: 700;
	letter-spacing: 4px;
	background: #ffc668;/*背景色*/
	border-radius: 2px;
	color: #FFF;/*文字色*/
	box-sizing: border-box;
}
.ribbon-tag:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}
.ribbon-tag:after {
	top: 0;
	right: 0;
	border-width: 11px 10px 11px 0px;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
}
/*----- ビデオ全画面 -----*/
video {
	position: fixed;
	right: 0;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
	height: auto;
	width: auto;
	z-index: -1;
}
.video-dots {
 　 background-color:background: rgba(255,255,255,.1);
	background-image: radial-gradient(rgba(255,255,255,.2) 20%, transparent 0), radial-gradient(rgba(255,255,255,.2) 20%, transparent 0);
	background-position: 0 0, 6px 6px;
	background-size: 6px 6px;
	box-shadow: 0px 0px 200px rgba(255,255,255,1) inset;
	width: 100vw;
	height: auto;
	min-height: 100vh;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
/*----- ナビゲーションバーをスクロールに合わせて拡大・縮小 -----*/
.navbar-custom {
	font-size: 23px;
	color: rgba(0,0,0,1);
	background-color: rgba(255,255,255,0);
	background-image: url(../image/bg/bg-navbar-clear.png);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: auto;
	padding-top: 10px;
	padding-bottom: 30px;
	margin-top: 0px;
	-moz-transition: all .4s;
	-o-transition: all .4s;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.navbar-custom a {
	color: rgba(255,94,152,1);
	text-shadow: 0px 0px 4px rgba(0,0,0,.2);
}
.navbar-custom a:hover {
	color: rgba(0,0,0,.7);
}
.navbar-custom.smaller {
	background-color: rgba(255,255,255,0);
	background-image: url(../image/bg/bg-navbar.png);
	padding-top: 0px;
	padding-bottom: 24px;
	filter: drop-shadow(0px 0px 8px rgba(0,0,0,.5));
	/*box-shadow: 0px 0px 10px rgba(0,0,0,.5);*/
	border-top-style: groove;
	border-top-width: 4px;
	/*border-bottom-style: solid;
	border-bottom-width: 1px;*/
	margin-top: 0px;
}
.navbar-custom.smaller a {
	color: rgba(0,0,0,.7);
	text-shadow: 0px 0px 4px rgba(0,0,0,0);
}
.navbar-custom.smaller a:hover {
	color: rgba(255,94,152,1);
}
.navbar-custom.smaller.active {
	color: rgba(0,0,0,.5);
}
.navbar-custom-template {
	font-size: 23px;
	color: rgba(0,0,0,1);
	background-color: rgba(255,255,255,0);
	background-image: url(../image/bg/bg-navbar.png);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: auto;
	padding-top: 0px;
	padding-bottom: 24px;
	margin-top: 0px;
	border-top-style: groove;
	border-top-width: 4px;
}
.navbar-custom-template a {
	color: rgba(0,0,0,.7);
	text-shadow: 0px 0px 4px rgba(0,0,0,0);
}
.navbar-custom-template a:hover {
	color: rgba(255,94,152,1);
}
.navbar-custom-template.active {
	color: rgba(0,0,0,.5);
}
/*----- スクロール用カスタムナビゲーションバー -----*/
.navbar-custom .navbar-brand {
/*color: rgba(0,0,0,.9)*/
}
.navbar-custom .navbar-brand:focus, .navbar-custom .navbar-brand:hover {
/*color: rgba(0,0,0,.9)*/
}
.navbar-custom .navbar-nav .nav-link {
/*color: rgba(255,255,255,.5)*/
}
.navbar-custom .navbar-nav .nav-link:focus, .navbar-custom .navbar-nav .nav-link:hover {
/*color: rgba(0,0,0,.7)*/
}
.navbar-custom .navbar-nav .nav-link.disabled {
/*color: rgba(0,0,0,.3)*/
}
.navbar-custom .navbar-nav .active>.nav-link, .navbar-custom .navbar-nav .nav-link.active, .navbar-custom .navbar-nav .nav-link.show, .navbar-custom .navbar-nav .show>.nav-link {
/*color: rgba(0,0,0,.9)*/
}
.navbar-custom .navbar-toggler {
/*color: rgba(0,0,0,.5);
	border-color: rgba(0,0,0,.1)*/
}
.navbar-custom .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")
}
.navbar-custom-template .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")
}
.navbar-custom .navbar-text {
/*color: rgba(0,0,0,.5)*/
}
.navbar-custom .navbar-text a {
/*color: rgba(0,0,0,.9)*/
}
.navbar-custom .navbar-text a:focus, .navbar-custom .navbar-text a:hover {
/*color: rgba(0,0,0,.9)*/
}
/*----- YouTube埋め込み -----*/
.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
/*----- ロード画面 -----*/
#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #000;
	z-index: 100;
}
#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 160px;
	height: 100px;
	margin-top: -50px;
	margin-left: -80px;
	text-align: center;
	color: #fff;
	z-index: 200;
}
.load-text {
	font-size: 24px;
	letter-spacing: 4px;
	margin-top: 20px;
}
/*----- google maps -----*/
.ggmap {
	position: relative;
	padding-bottom: 46%;
	padding-top: 30px;
	margin-bottom: 20px;
	height: 0;
	overflow: hidden;
	box-shadow: 0px 0px 1px rgba(0,0,0,1);
}
.ggmap iframe, .ggmap object, .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*----- ホバーエフェクト -----*/
@import url(https://fonts.googleapis.com/css?family=Raleway:400,500,800);
figure.snip1353 {
	font-family: 'Raleway', Arial, sans-serif;
	position: relative;
	float: left;
	overflow: hidden;
	min-width: 100px;
	max-width: 500px;
	max-height: 500px;
	width: 100%;
	color: #000000;
	text-align: center;
	box-shadow: 0px 0px 1px rgba(0,123,255,1);
}
figure.snip1353 * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.6s ease;
	transition: all 0.6s ease;
}
figure.snip1353 img {
	opacity: 1;
	width: 100%;
}
figure.snip1353:after, figure.snip1353:before {
	background: linear-gradient(-135deg, #E4A972, #9941D8);
	width: 200%;
	height: 200%;
	position: absolute;
	content: '';
	opacity: 0.5;
	-webkit-transition: all 0.55s ease-in-out;
	transition: all 0.55s ease-in-out;
	z-index: 1;
}
figure.snip1353:after {
	top: 0;
	left: 0;
	-webkit-transform: skew(-45deg) translateX(-150%);
	transform: skew(-45deg) translateX(-150%);
}
figure.snip1353:before {
	right: 0;
	bottom: 0;
	-webkit-transform: skew(-45deg) translateX(150%);
	transform: skew(-45deg) translateX(150%);
}
figure.snip1353 figcaption {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 2;
}
figure.snip1353 h2, figure.snip1353 h1, figure.snip1353 p {
	margin: 0;
	width: 100%;
	opacity: 0;
}
figure.snip1353 h2 {
	padding: 0 10px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 10px;
	text-shadow: 1px 2px 3px rgba(255,255,255,.5);
}
figure.snip1353 h1 {
	padding: 4px 10px;
	font-weight: 700;
	text-transform: uppercase;
	margin-top: 10px;
	background-color: rgba(0,0,0,1);
	color: rgba(255,255,255,1);
	font-size: 28px;
	letter-spacing: 8px;
	margin-top: 20px;
	padding-left: 16px;
}
figure.snip1353 p {
	padding: 0 30px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 2px;
	text-shadow: 1px 2px 3px rgba(255,255,255,.5);
}
figure.snip1353 a {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	position: absolute;
	z-index: 2;
}
figure.snip1353:hover img, figure.snip1353.hover img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}
figure.snip1353:hover:after, figure.snip1353.hover:after {
	-webkit-transform: skew(-45deg) translateX(-50%);
	transform: skew(-45deg) translateX(-50%);
}
figure.snip1353:hover:before, figure.snip1353.hover:before {
	-webkit-transform: skew(-45deg) translateX(50%);
	transform: skew(-45deg) translateX(50%);
}
figure.snip1353:hover figcaption h2, figure.snip1353.hover figcaption h2, figure.snip1353:hover figcaption h1, figure.snip1353.hover figcaption h1, figure.snip1353:hover figcaption p, figure.snip1353.hover figcaption p {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
figure.snip1353:hover figcaption h2, figure.snip1353.hover figcaption h2 {
	opacity: 1;
}
figure.snip1353:hover figcaption h1, figure.snip1353.hover figcaption h1 {
	opacity: 1;
}
figure.snip1353:hover figcaption p, figure.snip1353.hover figcaption p {
	opacity: 0.7;
}
/*----- アニメーション -----*/
.invisible {
	transition: opacity 0.5s ease;
	opacity: 0.0;
}
.visible {
	transition: opacity 0.5s ease;
	opacity: 1.0;
}
/*----- フィルタリング -----*/
.filter a {
	position: relative;
	color: rgba(0,0,0,1);
	padding: 2px 15px 2px 22px;
	border: 1px solid rgba(0,0,0,0);
	text-decoration: none;
}
.filter a:hover {
	position: relative;
	color: rgba(0,0,0,1);
	border: 1px solid rgba(0,0,0,1);
	text-decoration: none;
}
.filter a.active {
	background-color: rgba(0,0,0,1);
	color: rgba(255,255,255,1);
	text-decoration: none;
}
.boxes {
	display: flex;
	flex-wrap: wrap;
}
.boxes a {
}
@keyframes zoom-in {
 0% {
 transform: scale(.1);
}
 100% {
 transform: none;
}
}
@keyframes rotate-right {
 0% {
 transform: translate(-100%) rotate(-100deg);
}
 100% {
 transform: none;
}
}
.is-animated {
	animation: .6s zoom-in;
 // animation: .6s rotate-right;
}
/*----- トップへ戻るボタン -----*/
/* パソコン・スマホ共通のCSS */
#PageTopBtn {
	position: fixed; /*ボタンの配置場所を固定*/
	bottom: -20px; /*下からのボタンの配置場所を指定*/
	right: 2px; /*右からのボタンの配置場所を指定*/
	z-index: 9999;
}
#PageTopBtn a {
	display: block; /*配置の調整*/
	text-decoration: none; /*文字の下線を消す*/
	text-shadow: 0px 0px 2px rgba(0,0,0,.2);
 background: #; /*ボタンの背景色*/
	text-align: center; /*文字を中央に配置*/
	border-radius: 5%; /*ボタンの角を少し丸くする*/
	outline: none; /*クリックしたときの黒い枠を消す*/
}
#PageTopBtn a:hover {
	text-decoration: none;
 background: #; /*マウスオーバー時の背景色*/
}
.pagetopbtn-img {
	margin-left: 1px;
	margin-bottom: 0px
}
.pagetopbtn-text {
	padding: 0px 4px 0px 6px;
	border-radius: 4px;
}
/* パソコンで表示する場合のCSS */
@media (min-width: 768px) {
#PageTopBtn {
	font-size: 12px; /*文字のサイズ*/
	font-weight: 700;
}
#PageTopBtn a {
	width: 80px; /*ボタンの幅*/
	height: 80px; /*ボタンの高さ*/
	padding: 10px 0; /*文字の配置場所の調整*/
}
}

/* スマホで表示する場合のCSS */
@media (max-width: 767px) {
#PageTopBtn {
	font-size: 12px;
	font-weight: 700;
}
#PageTopBtn a {
	width: 80px;
	height: 120px;
	padding: 17px 0;
}
}
/*----- ホバーエフェクト (カギカッコ) -----*/
.button {
	position: relative;
	padding: 0.6em 1.5em 0.6em 2em;
	border: none;
	background-color: transparent;
	cursor: pointer;
	outline: none;
	font-size: 24px;
	letter-spacing: 12px;
	margin: 0em 0.8em;
}
.button.type3 {
	color: rgba(255,255,255,1);
}
.button.type3.type3::after, .button.type3.type3::before {
	content: "";
	display: block;
	position: absolute;
	width: 20%;
	height: 20%;
	border: 2px solid;
	transition: all 0.6s ease;
	border-radius: 2px;
}
.button.type3.type3::after {
	bottom: 3px;
	right: 3px;
	border-top-color: transparent;
	border-left-color: transparent;
	border-bottom-color: rgba(255,255,255,1);
	border-right-color: rgba(255,255,255,1);
}
.button.type3.type3::before {
	top: 3px;
	left: 3px;
	border-bottom-color: transparent;
	border-right-color: transparent;
	border-top-color: rgba(255,255,255,1);
	border-left-color: rgba(255,255,255,1);
}
.button.type3.type3:hover:after, .button.type3.type3:hover:before {
	border-bottom-color: rgba(255,255,255,1);
	border-right-color: rgba(255,255,255,1);
	border-top-color: rgba(255,255,255,1);
	border-left-color: rgba(255,255,255,1);
	width: 100%;
	height: 100%;
}
/*----- ホバーエフェクト (上下ライン) -----*/
.line-effect {
	position: relative;
	display: inline-block;
	transition: .3s;
}
.line-effect::before, .line-effect::after {
	position: absolute;
	content: '';
	width: 0;
	height: 2px;
	background-color: rgba(255,94,100,.8);
	transition: .3s;
	box-shadow: 0px 0px 2px rgba(0,0,0,.1);
}
.line-effect::before {
	top: 0;
	left: 0;
}
.line-effect::after {
	bottom: 0;
	right: 0;
}
.line-effect:hover::before, .line-effect:hover::after {
	width: 100%;
}
/*----- ホバーエフェクト (ズーム) -----*/
.hover-zoom {
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
}
.hover-zoom:hover {
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
	-webkit-transform: scale(0.9) rotate(-3deg);
	-moz-transform: scale(0.9) rotate(-3deg);
	-ms-transform: scale(0.9) rotate(-3deg);
	-o-transform: scale(0.9) rotate(-3deg);
	transform: scale(0.9) rotate(-3deg);
}
/*----- 背景スライダー -----*/
.bg-slider {
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}
/*----- テンプレート -----*/
.template-body-margin {
	padding-top: 160px;
}
.template-body-gradation {
	background: -moz-linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0));
	background: -webkit-linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0));
	background: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0));
}
.template-contents-margin {
	margin-bottom: 60px;
}
.template-contents-title-border {
	border-width: 4px;
	width: 68px;
	border-radius: 100%;
	margin-bottom: 10px;
}
.template-contents-title-border-margin {
	padding-right: 6px;
}
.template-contents-title-margin {
	margin-bottom: 60px;
}
.template-contents-title-text {
	font-size: 36px;
	margin-bottom: 40px;
	letter-spacing: 4px;
}
.template-line-body {
	background-color: #1dcd00;
	border-radius: 4px;
	color: #FFF;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	padding: 20px
}
.template-banner-line {
	margin-bottom: 20px
}
/*----- ホーム -----*/
.home-section-padding {
	padding-top: 80px;
	padding-bottom: 60px;
}
.home-header-body {
	/*background-image: url(../image/bg/bg-header.jpg);
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;*/
	padding-top: 240px;
	padding-bottom: 160px;
}
.home-header-contents-bg {
	background-color: rgba(255,255,255,.6);
	padding: 30px;
	display: inline-block;
	box-shadow: 0px 0px 40px rgba(0,0,0,1);
}
.home-header-contents {
	border-image: linear-gradient(to right bottom, red, purple);
	border-image-slice: 1;
	border-width: 2px;
	border-style: solid;
	padding: 30px;
}
.home-slide-top-border {
	margin-top: -20px;
}
.home-slide-margin {
	margin-bottom: 40px;
}
.home-slide-body {
	padding-top: 40px;
	padding-bottom: 30px;
	background-color: #fafaec;
}
.home-slide-contents-margin {
	margin-bottom: 20px;
}
.home-slide-img {
	border-radius: 4px;
	border: solid 1px rgba(0,0,0,.1);
}
.home-contents-catch-1st {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 4px;
	line-height: 76px;
}
.home-contents-catch-1st span {
	font-size: 36px;
	font-style: italic;
}
.home-contents-catch-1st-mobile {
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 4px;
	line-height: 56px;
}
.home-contents-catch-1st-mobile span {
	font-size: 26px;
	font-style: italic;
}
.home-contents-title-border {
	border-width: 4px;
	width: 68px;
	border-radius: 100%;
	margin-bottom: 10px;
}
.home-contents-title-border-margin {
	padding-right: 6px;
}
.home-contents-title-margin {
	margin-bottom: 80px;
}
.home-contents-title-text {
	font-size: 36px;
	margin-bottom: 40px;
	letter-spacing: 4px;
}
.home-info-contents {
	margin-bottom: 60px;
}
.home-info-img-border-1st {
	border: 2px solid rgba(0,0,0,1);
	border-radius: 8px;
	padding: 28% 20%;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	transition: all 0.2s;
}
.home-info-img-border-1st:hover {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.home-info-img-border-2nd {
	border: 2px solid rgba(0,0,0,1);
	border-radius: 8px;
	padding: 2px;
	margin-bottom: 10px;
}
.home-info-img-margin {
	margin-bottom: 10px;
}
.home-info-img-text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 2px;
	color: rgba(255,255,255,1);
	padding-left: 8px;
}
.home-info-line {
	margin-bottom: 10px;
}
.home-info-text-margin {
	margin-bottom: 10px;
}
.home-info-day {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 4px;
}
.home-info-text {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 2px;
}
.home-info-more {
	display: inline-block;
	padding: 20px 60px 24px 68px;
	border-radius: 40px;
	border-width: 2px;
	border-style: solid;
	color: rgba(255,255,255,1);
	font-size: 28px;
	letter-spacing: 8px;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	transition: all 0.2s;
}
.home-info-more:hover {
	border-radius: 20px;
	background-color: rgba(255,255,255,1);
	color: rgba(0,0,0,1);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.home-line-body {
	background-color: #1dcd00;
	color: #fff;
	padding-top: 40px;
	padding-bottom: 20px;
	margin-top: 40px;
}
.home-line-text {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 2px;
}
.home-rental img{
	margin: 0;
	padding: 0;
}

.home-rental img:hover{
	opacity: 0.6;
	transition: .5s;
}
/*----- インフォ -----*/
.info-contents {
	border-bottom: dotted 1px #000;
	padding-bottom: 0px;
	margin-bottom: 40px;
}
.info-title-contents {
	border-bottom: solid 2px #000;
	padding-bottom: 4px;
	margin-bottom: 10px;
}
.info-day {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 4px;
	margin-bottom: 2px;
}
.info-title {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 1px;
}
.info-text {
	letter-spacing: 1px;
	line-height: 32px;
}
.info-calender-margin {
	margin-top: 40px;
}
/*----- アイドル -----*/
.idol-category {
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 30px;
}
.idol-contents-body {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	padding-bottom: 20px;
	margin-bottom: 40px;
}
.idol-name {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 2px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	margin-bottom: 20px;
}
.idol-name-en {
	font-size: 16px;
	letter-spacing: 1px;
}
.idol-left-contents {
	margin-bottom: 10px;
}
.idol-right-contents {
	height: 260px;
	overflow: auto;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: rgba(102,102,102,1);
}
.idol-img {
	border-radius: 4px;
	margin-bottom: 8px;
}
.idol-url {
	font-size: 14px;
}
.idol-text {
	font-size: 14px;
	color: rgba(51,51,51,1);
}
.idol-students-contents {
	margin-bottom: 20px;
	overflow: hidden;
	position: relative;
}
.idol-students-contents .caption {
	font-size:		100%;
	font-weight: 600;
	color:			#000000;
	padding-top:		80px;
	padding-left:		0px;
	text-align: center;
}
.idol-students-contents .mask {
	width:			100%;
	height:			100%;
	position:		absolute;
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(255,255,255,0.8);
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
}
.idol-students-contents:hover .mask {
	opacity:		1;	/* マスクを表示する */
	padding-left:		90px;	/* 右にずらす */
}

.idol-students-name {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
}
.idol-profile {
	font-weight: 800;
}
.idol-profile a {
	color: #ffffff;
	background-color: #FF5E98;
	padding: 2px 5px;
}
.idol-profile :hover {
	color: #FF5E98;
	background-color: #FFFFFF;
	border: solid #FF5E98 2px;
	text-decoration: none;
}
.bluu-box {
	margin-bottom: 45px;
	padding: 0 20px 20px 20px;
	border-right: dashed 1px #FF5E98;
}
/*----- メニュー -----*/
.menu-contents-body {
	margin-bottom: 40px;
}
.menu-title {
	padding-bottom: 4px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	margin-bottom: 20px;
}
.menu-title-inner {
	font-size: 36px;
	letter-spacing: 4px;
	color: #FFF;
	padding: 0px 0px 4px 18px;
}
.menu-time {
	font-size: 24px;
	letter-spacing: 2px;
	font-weight: 600;
}
.menu-category-body {
	padding: 20px;
	border-style: solid;
	border-width: 1px;
}
.menu-category-contents {
	border-bottom: dotted 1px #000;
}
.menu-category-contents-inner {
	margin-bottom: 30px;
}
.menu-category-name {
	font-size: 32px;
	letter-spacing: 8px;
	margin-bottom: 20px;
}
.menu-category-price {
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 2px;
	margin-bottom: 10px;
}
.menu-point-title {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 8px;
	border-bottom: solid 2px #000;
	margin-bottom: 20px;
}
.menu-point-text {
	font-size: 14px;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
/*----- アクセス -----*/
.access-contents {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	padding-bottom: 20px;
	margin-bottom: 40px;
}
.access-contents-title {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 1px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	padding-bottom: 2px;
	margin-bottom: 20px;
}
.access-contents-text {
	font-weight: 600;
	letter-spacing: 1px;
}
/*----- リクルート -----*/
.recruit-title {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 2px;
	border-bottom: solid 2px #000;
	margin-bottom: 20px;
}
.recruit-text-1st-contents {
	margin-bottom: 40px;
	border-bottom: dotted 1px #999;
}
.recruit-text-1st {
	font-size: 14px;
	letter-spacing: 1px;
}
.recruit-text-1st span {
	font-size: 18px;
	font-weight: 600;
}
.recruit-text-2nd-contents {
	margin-bottom: 30px;
}
.recruit-text-2nd-title {
	color: #FFF;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 2px;
	padding-left: 8px;
	margin-bottom: 10px;
}
.recruit-text-2nd-title-sub {
	font-weight: 600;
	letter-spacing: 2px;
	margin-bottom: 4px;
}
.recruit-text-2nd-text {
	font-size: 14px;
}
.recruit-text-2nd-text span {
	font-weight: 500;
	letter-spacing: 2px;
}
.recruit-form-category {
	font-weight: 600;
	letter-spacing: 2px;
}
/*----- レンタル -----*/
.rental-header-body {
	border: solid 1px #000;
	padding: 4px;
	margin-bottom: 40px;
}
.rental-header-contents {
	background-image: url(../image/bg/bg-rental-header.jpg);
	background-position: center center;
	background-size: cover;
	font-size: 48px;
	letter-spacing: 8px;
	color: #FFF;
	text-shadow: 1px 2px 3px rgba(0,0,0,1);
	box-shadow: 0px 0px 100px rgba(0,0,0,1) inset;
	padding: 60px 0px;
}
.rental-price {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 4px;
	margin-bottom: 14px;
}
.rental-text-1st {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	margin-bottom: 30px;
}
.rental-text-2nd-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 2px;
	border-bottom: solid 1px #000;
	margin-bottom: 4px;
}
.rental-text-2nd-text {
	font-size: 15px;
	letter-spacing: 1px;
	margin-bottom: 18px;
}
/*----- コンタクト -----*/
.contact-form-margin {
	margin-bottom: 40px;
}
.contact-form-text {
	font-weight: 600;
	letter-spacing: 1px;
}
.contact-text {
	font-size: 14px;
}
.contact-text-title {
	font-size: 16px;
}
.contact-text-title-sub {
	font-weight: 600;
}
/*----- プリフッター -----*/
.pre-footer-body {
	background-image: url(../image/bg/bg-header-1st.jpg);
	background-position: center center;
	background-size: cover;
	border-top-style: solid;
	border-top-width: 2px;
	margin-top: 120px;
	color: rgba(255,255,255,1);
	text-shadow: 1px 2px 3px rgba(0,0,0,.8);
	box-shadow: 0px 0px 400px rgba(0,0,0,1) inset;
}
.pre-footer-padding {
	padding-top: 60px;
	padding-bottom: 60px;
}
.pre-footer-bg {
	background-color: rgba(0,0,0,.2);
	padding: 20px 20px 0px;
}
.pre-footer-contents {
	margin-bottom: 10px;
}
.pre-footer-title {
	color: rgba(255,255,255,1);
	font-size: 26px;
	letter-spacing: 4px;
	border-bottom: 2px solid rgba(255,255,255,1);
	margin-bottom: 10px;
}
.pre-footer-img {
	border: 1px solid rgba(0,0,0,.2);
	border-radius: 4px;
}
.pre-footer-img-bg {
	background-color: rgba(255,255,255,1);
	border-radius: 4px;
	margin-bottom: 20px;
}
.pre-footer-text {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 4px;
}
/*----- フッター -----*/
.footer-body {
	background-color: rgba(255,255,255,1);
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 4px;
	padding-top: 20px;
	padding-bottom: 40px;
}
.footer-border {
	margin-top: -16px;
}
.kyugyou {
	margin: 0 auto;
	text-align: center;
	box-shadow: 1px 1px 6px 1px #4f4f4f;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.kyugyou-margin { 
    margin: 20px auto;
}
.kyugyou-1 { 
	font-size: 20px;
	font-weight: 600;
}
.kyugyou-2 { 
	font-size: 16px;
	font-weight: 100;
}
.pc_area{
  display:block;
}
.phone_area{
  display:none;
}
@media screen and (min-width: 768px){	
  .pc-area { display:block; }
  .phone-area { display:none; }
}
@media screen and (max-width: 768px){	
  .pc-area { display:none; }
  .phone-area { display:block; }
}
@media screen and (max-width:768px){
.idol-right-contents {
	height: 130px;
}
.kyugyou-1 {
		font-size: 16px;
	}
	.kyugyou-2 {
		font-size: 12px;
	}
}
/*QAプルダウン*/
.qa-list dl {
    position: relative;
    margin: 0;
    padding: 10px 80px 10px 20px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}
.qa-list dl:first-child {
    border-top: 1px solid #000;
}
.qa-list dl::before {
    position: absolute;
    top: 20px;
    right: 25px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 40px;
    font-weight: bold;
    font-size: 18px;
}
/*Q*/
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 1px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #FF5E98;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}