@charset "UTF-8";
/* CSS Document */
body {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	background: url(../images/pattern.png) repeat;
	background-size: 5%;
	word-wrap: break-word;
}
/* ------------------------------
     common
------------------------------ */
#header {
	position: fixed;
	background: #ff0078;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
}
.logo {
	width: 150px;
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}
.small .logo {
	width: 120px;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}
.main_area { display: none; }
#wrap article {
	background: #FFF;
	font-size: 1.6em;
	line-height: 1.8;
}
#wrap .top_img_area {
	background: url(../images/top_images_bg.jpg) repeat;
	background-size: 100%;
}
#wrap h2 {
	text-align: center;
	padding: 5%;
	font-size: 2.5em;
	background: #000;
	color: #FFF;
	font-weight: 600;
}
.title_bg {
	background: url(../images/pattern2.png) repeat !important;
	color: #000 !important;
	font-weight: 600;
}
.title_bg span {
	display: block;
	text-align: center;
	font-weight: 100;
	font-size: .6em;
	padding: 1% 0 0 0;
}
.top_txt {
	width: 90%;
	margin: 0 auto;
}
.entry_btn {
	width: 70%;
	margin: 0 auto;
}
.cont_entry_btn {
	width: 70%;
	margin: 5px auto;
}
.h_img {
	width: 95%;
	margin: 10px auto;
}
.thum_img {
	width: 95%;
	margin: 0 auto;
}
.des_table table {
	width: 95%;
	margin: 10px auto;
	border: 3px solid #00aeff;
	box-sizing: border-box;
}
.des_table th, .des_table td { font-weight: 600; }
.des_table th {
	width: 35%;
	color: #00aeff;
	font-size: 1em;
	background: #dfedf8;
	vertical-align: middle;
	text-align: center;
}
.des_table td {
	color: #373737;
	padding: 10px;
	font-size: .7em;
}
.note {
	background: #000;
	color: #FFF;
	font-size: 1.2em;
	line-height: 2;
	padding: 3% 7% 0 7%;
}
#footer {
	background: #000;
	color: #FFF;
	font-size: 1.2em;
	line-height: 2;
	padding: 0 0 5% 0;
}
.copy {
	text-align: center;
	padding: 2% 0;
	font-size: .9em;
}
.pagetop a {
	display: block;
	text-decoration: none;
	font-size: 1.5em;
	position: fixed;
	bottom: 20px;
	right: 20px;
	background: rgba(0,0,0,0.50);
	color: #FFF;
	padding: 5%;
	z-index: 9999;
}
#l_content {
	padding: 3%;
	font-size: 1.2em;
	line-height: 2;
}
#l_content p { padding: 2% 0; }
#l_content b {
	font-weight: 600;
	padding: 0 5px;
}
.point_txt_1 {
	font-size: 1.3em;
	font-weight: 600;
	text-align: center;
}
.point_txt_1:first-letter { font-size: 1.6em; }
.txt_marker_1 {
	background: #FF0;
	color: #F00;
}
.txt_center { text-align: center; }
.flow_wrap { }
.flow_wrap h3 {
	font-size: 1.2em !important;
	font-weight: 600;
	text-align: center;
	border-bottom: 5px solid #EFEFEF;
	width: 100%;
	margin: 0 auto;
}
.flow_wrap h3 span { color: #FF54A4; }
.flow_wrap p { font-size: .8em; }
.message_box {
	background: #EAF4F6;
	padding: 5%;
	box-sizing: border-box;
	width: 90%;
	border: 1px solid #00F3FF;
	margin: 5% auto;
}
.message_box h4 {
	font-weight: 600;
	text-align: center;
	border-bottom: 5px solid #EEE;
	padding-bottom: 2%;
	margin-bottom: 2%;
}
.responsible_thum {
	width: 15%;
	padding: 0 2% 0 0;
	vertical-align: top;
}
.message_txt { padding: 2%:
}
.message_ef {
	font-size: 1.2em;
	padding: 5%;
}
.message_ef b {
	font-size: 1.3em;
	font-weight: 600;
}
.matters {
	font-size: .8em;
	background: #FCFCFC;
	padding: 3%
}
.faq_frame dl {
	border: 1px solid #ccc;
	margin-bottom: 2%;
}
.faq_frame dt {
	font-weight: 600;
	color: #111;
	background: #f4f4f4;
	padding: 2%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.faq_frame dt:first-child { border-top: none; }
.faq_frame dt:before {
	content: "Q.";
	font-weight: 600;
	margin-right: 2%;
}
.faq_frame dd {
	padding: 3% 0 3% 5%;
	margin: 0;
	line-height: 140%;
}
.faq_frame dd:first-line {
	font-weight: 600;
	color: rgba(255,0,120,1.00);
}
.faq_frame dd:before {
	content: "A.";
	font-weight: bold;
	margin-right: 0%;
	margin-left: -3%;
}
.prf_area {
	position: relative;
	margin: 0 0 2% 0;
	border-bottom: 5px solid #EEE;
}
.prf_thum {
	width: 100%;
	margin: 0 auto;
}
.prf_txt .in { padding: 2%; }
.prf_txt h3 {
	position: absolute;
	text-align: center;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(0,0,0,0.80);
	padding: 3% 0 1% 4%;
	font-size: 1.6em !important;
	color: #FFF;
	font-weight: 600;
}
.prf_list {
	font-size: .9em;
	margin: 2%;
}
.prf_list span {
	display: inline;
	color: #ff0078;
	font-weight: 600;
}
.video { margin: 5% 0 0 0; }
.video video {
	display: block;
	width: 80%;
	margin: 0 auto 5%;
}
.video_title {
	width: 80%;
	margin: 0 auto;
	background: #000;
	color: #FFF;
	text-align: center;
	font-size: 1em;
	font-weight: 100;
	padding: 2% 0;
}
.youtube {
	position: relative;
	width: 80%;
	margin: 0 auto 5%;
	padding-top: 46.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ------------------------------
     PC
------------------------------ */
@media screen and (min-width: 480px) {
#wrap .top_img_area { background: none; }
.main_area {
	display: block;
	position: absolute;
	top: 7, 343%;
	left: 0;
	width: 100%;
	z-index: -1;
}
#wrap article {
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
	transition: all .2s linear;
}
#header .wrap,  #footer .wrap {
	width: 960px;
	margin: 0 auto;
}
#wrap h2 {
	font-size: 3em;
	padding: 2.5%;
}
.top_txt {
	width: 50%;
	margin: 2% auto 0;
}
.entry_btn {
	width: 35%;
	margin: 0 auto 5%;
}
.cont_entry_btn {
	width: 45%;
	margin: 2% auto;
}
.h_img {
	width: 75%;
	margin: 5% auto;
}
.thum_img {
	width: 95%;
	margin: 0 auto;
}
.des_table table {
	width: 95%;
	margin: 2% auto;
	border: 5px solid #00aeff;
}
.des_table th {
	width: 25%;
	font-size: 1.3em;
}
.des_table td {
	font-size: 1em;
	padding: 2.5%;
}
#footer {
	font-size: 1.4em;
	line-height: 1.8;
	padding: 3% 5% 0 5%;
}
.copy { font-size: 1em; }
.pagetop a { padding: 2%; }
.message_box { width: 65%; }
.flow_wrap p { font-size: 1em; }
.flow_wrap h3 { font-size: 1.6em !important; }
.message_box h4 { font-size: 1.4em !important; }
.bn_area {
	width: 728px;
	margin: 2% auto;
}
.prf_txt h3 {
	position: inherit;
	top: 0;
	left: 0;
	width: 100%;
	text-align: left;
}
.prf_thum {
	width: 100%;
	margin: 0 auto;
}
.prf_txt,  .prf_thum {
	width: 50%;
	float: left;
	box-sizing: border-box;
	padding: 0 1% 0 0;
}
}
/* ------------------------------
   loopSlider
------------------------------ */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-slider img { width: 640px; }
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus { outline: none; }
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}
.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before, .slick-track:after {
	display: table;
	content: '';
}
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide {
	display: none;
	float: left;
	margin: 0;
	height: 100%;
	min-height: 1px;
}
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden { display: none; }
/* ------------------------------
     flex box gulid
------------------------------ */
.flex-container ul {
	display: -webkit-flex;
	display: flex;
	list-style: none;
}
.flex-container li {
	margin: 2px;
	padding: 10px;
	width: 20%;
	box-sizing: content-box;
	border-radius: 5px;
	line-hight: 1;
	color: #fff;
	background: #007bbb;
}
.flex-container li:nth-child(2) {
	width: 60%;
	background: #ff8080;
}
/*-----------------------------------------------------------------------------
bootstrap
-----------------------------------------------------------------------------*/
#tf-home {
	background-size: cover;
	/*background-position: center;*/
	background-attachment: fixed;
	background-repeat: no-repeat;
	color: #cfcfcf;
}
#tf-home .overlay {
	background: rgba(255,0,120,1.00);
	height: auto;
	background-attachment: fixed;
}
/* Navigation */
#tf-menu {
	margin-bottom: 0;
	background: transparent;
	border: 0;
	color: #fff !important;
	padding: 0;
	transition: all 0.5s;
}
#sticky {
	padding: 0.5ex;
	background-color: #333;
	color: #fff;
	font-size: 2em;
	border-radius: 0.5ex;
}
#tf-menu.stick {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
	background: rgba(255,0,120,0.70);
	padding: 0;
	border-radius: inherit;
}
#tf-menu.navbar-default .navbar-nav > li > a {
	color: #FFF;
	text-transform: uppercase;
	font-weight: 100;
	letter-spacing: 1px;
	font-size: 1.3em;
	position: relative;
	text-align: center;
}
#tf-menu.navbar-default .navbar-nav > li > a:hover { color: #FFF !important; }
#tf-menu.navbar-default .navbar-nav > li > a::after {
	background: #FFF;
	width: 0px;
	margin: 2px auto 0;
	display: block;
	height: 1px;
	content: '';
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
#tf-menu.navbar-default .navbar-nav > li > a:hover::after {
	width: 100%;
	height: 1px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
#tf-menu.navbar-default .navbar-nav > li > a:hover, #tf-menu.navbar-default .navbar-nav > li > a:focus {
	color: #00a2ff;
	background-color: transparent;
}
#tf-service {
	background: #FFF;
	padding: 7% 0;
}
.media-left.media-middle i {
	padding: 20px 30px 20px 0;
	font-size: 30px;
	color: #ff0078;
}
.media-body h4 {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: 700;
	color: #ff0078;
}
#tf-portfolio {
	background: #f1f1f1;
	padding: 5% 0 8% 0;
	text-align: center;
}
.section-title hr {
	border-color: #EEE;
	width: 200px;
}
.section-title h2 { font-weight: 700; }
button.btn, a.btn {
	margin: 15px 5px;
	transition: all 0.5s;
}
button.btn.btn-primary.my-btn, a.btn.btn-primary.my-btn {
	background: #00a2ff;
	border-color: transparent;
	border-radius: 0px;
	border-width: 2px;
	padding: 10px 30px;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
	font-weight: 600;
}
button.btn.btn-primary.my-btn:hover, a.btn.btn-primary.my-btn:hover {
	background: #FFFFFF;
	color: #00a2ff;
	border-color: transparent;
}
button.btn.btn-primary.my-btn.dark:hover, a.btn.btn-primary.my-btn.dark:hover {
	background: #222222;
	color: #ffffff;
	border-color: transparent;
}
a.btn.btn-primary.my-btn2 {
	background: rgba(47, 147, 123, 0);
	border-color: #FFFFFF;
	border-radius: 0px;
	border-width: 2px;
	padding: 10px 30px;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
	font-weight: 600;
	color: #FFFFFF;
}
a.btn.btn-primary.my-btn2:hover {
	background: #00a2ff;
	color: #ffffff;
	border-color: transparent;
}
ul.cat.list-inline li a {
	border: 1px solid #00a2ff;
	padding: 5px 15px;
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
	color: #00a2ff;
	transition: all 0.5s;
}
ul.cat.list-inline li a:hover {
	background: #00a2ff;
	color: #ffffff;
}
.space { padding: 20px; }
.toppadding { padding-top: 30px; }
.nopadding { padding: 0; }
#tf-about {
	background-size: cover;
	background-position: center;
	background-attachment: scroll;
	background-repeat: no-repeat;
	color: #222222;
}
#tf-about .overlay {
	height: auto;
	background-attachment: fixed;
	padding: 5% 0;
}
#tf-why-me {
	background-size: cover;
	background-position: center;
	background-attachment: scroll;
	background-repeat: no-repeat;
	color: #222222;
}
#tf-why-me .overlay {
	height: auto;
	background-attachment: fixed;
	padding: 5% 0;
}
ul.why-me li { margin: 10px 0; }
#tf-contact {
	background-size: cover;
	background-position: center;
	background-attachment: scroll;
	background-repeat: no-repeat;
	padding: 5% 0;
	text-align: center;
}
form#contact {
	padding: 5%;
	background: #f1f1f1;
	outline: 6px solid rgba(34, 34, 34, 0.08);
}
#tf-contact input.form-control { height: auto; }
#tf-contact .form-control {
	display: block;
	width: 100%;
	margin-bottom: 20px;
	padding: 16px 12px;
	font-size: 14px;
	line-height: 1.42857143;
	color: #555;
	background-color: #FFF;
	background-image: none;
	border: 1px solid #FFF;
	border-radius: 0;
	border-top: 2px solid transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-transition: none;
	-o-transition: none;
	transition: all 0.8s;
}
#tf-contact .form-control:focus, #tf-contact .form-control:hover { border-top: 2px solid #ff0078; }
nav#tf-footer {
	background: #222222;
	padding: 3% 0 2% 0;
	color: #f1f1f1;
}
.content {
	padding: 0 0 5% 0;
	text-align: center;
}
.content h3 { line-height: 2; }
#tf-home .overlay { }
#tf-menu.stick { }
.item_list {
	width: 80%;
	margin: 5% auto;
	line-height: 2;
}
.item_list div { float: left; }
.item_name {
	width: 40%;
	padding: 2% 0 0 0;
}
.result_txt { width: 60%; }
.in { padding: 5%; }
.result_end {
	margin-bottom: 5%;
	line-height: 2;
}

@media (min-width: 768px) {
.navbar-right {
	width: 70%;
	line-height: 1;
}
.navbar-nav > li {/*width:20%;*/ }
}

@media screen and (max-width: 480px) {
h1 { font-size: 20em!important; }
.content h3 { font-size: 12px; }
h3 { font-size: 2em !important; }
#tf-menu.navbar-default .navbar-nav > li > a {
	width: 60%;
	margin: 0 auto;
}
}

/* ------------------------------
     SNS
------------------------------ */
@media screen and (max-width: 479px) {
#tw li {
	float: left;
	padding: 0 5px 0 0;
	margin: 5px 0;
}
.tw_button a {
	display: block;
	background: #55acee;
	padding: 5px 5px 5px 15px;
	font-size: .8em;
	color: #FFF;
	position: relative;
}
.tw_button a::before {
	background: url(../images/tw_ic.png) no-repeat;
	background-size: 100%;
	width: 12px;
	height: 10px;
	position: absolute;
	top: 5px;
	left: 2px;
	content: '';
}
.tw_button a:hover {
	color: #FFF;
	text-decoration: none;
	background: #4396D5;
}
}

@media screen and (min-width: 480px) {
#tw { position: relative; }
.tw_right_fixed {
	position: fixed;
	top: 300px;
	right: -70px;
	z-index: 99999;
	-moz-transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.tw_right_fixed li {
	float: left;
	padding: 0 10px 0 0;
}
.tw_button a {
	display: block;
	background: #55acee;
	padding: 10px 15px 10px 32px;
	font-size: 1.6em;
	color: #FFF;
	position: relative;
}
.tw_button a::before {
	background: url(../images/tw_ic.png) no-repeat;
	background-size: 100%;
	width: 18px;
	height: 14px;
	position: absolute;
	top: 10px;
	left: 10px;
	content: '';
}
.tw_button a:hover {
	color: #FFF;
	text-decoration: none;
	background: #4396D5;
}
}
.tw_btn a {
	display: block;
	background: #55acee;
	font-size: 1.6em;
	color: #FFF;
	position: relative;
	padding: 0 0 0 40px;
}
.tw_btn a::before {
	background: url(../images/tw_ic.png) no-repeat;
	background-size: 100%;
	width: 30px;
	height: 23px;
	position: absolute;
	top: 17px;
	left: 10px;
	content: '';
}
.tw_btn a:hover {
	color: #FFF;
	text-decoration: none;
	background: #4396D5;
}

/* 活動内容追加分 */
@media screen and (min-width: 1200px) {
.grid-container {
	-webkit-column-count: 3;
	-webkit-column-gap: 15px;
	-webkit-column-fill: auto;
	-moz-column-count: 3;
	-moz-column-gap: 15px;
	-moz-column-fill: balance !important;
	column-count: 3;
	column-gap: 15px;
	column-fill: auto;
}
}

@media screen and (min-width: 993px) and (max-width: 1199px) {
.grid-container {
	-webkit-column-count: 3;
	-webkit-column-gap: 15px;
	-webkit-column-fill: auto;
	-moz-column-count: 3;
	-moz-column-gap: 15px;
	-moz-column-fill: balance !important;
	column-count: 3;
	column-gap: 15px;
	column-fill: auto;
}
}

@media screen and (min-width: 769px) and (max-width: 992px) {
.grid-container {
	-webkit-column-count: 3;
	-webkit-column-gap: 15px;
	-webkit-column-fill: auto;
	-moz-column-count: 3;
	-moz-column-gap: 15px;
	-moz-column-fill: balance !important;
	column-count: 3;
	column-gap: 15px;
	column-fill: auto;
}
}

@media screen and (min-width: 481px) and (max-width: 768px) {
.grid-container {
	-webkit-column-count: 2;
	-webkit-column-gap: 15px;
	-webkit-column-fill: auto;
	-moz-column-count: 2;
	-moz-column-gap: 15px;
	-moz-column-fill: balance !important;
	column-count: 2;
	column-gap: 15px;
	column-fill: auto;
}
}

@media screen and (max-width: 480px) {
.grid-container {
	-webkit-column-count: 1;
	-webkit-column-gap: 15px;
	-webkit-column-fill: auto;
	-moz-column-count: 1;
	-moz-column-gap: 15px;
	-moz-column-fill: balance !important;
	column-count: 1;
	column-gap: 15px;
	column-fill: auto;
}
}
.grid {
	display: inline-block;
	-webkit-column-break-inside: avoid;
	-moz-column-break-inside: avoid;
	column-break-inside: avoid;
}

/* Google Chorome BugFix */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
.grid { display: block !important; }
}
