@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}

/* ボックス */
.container { width: 100%;}

.hidden_s { display: none !important;}

/* margin */
.mb40-20 { margin-bottom: 20px !important;}
.mb60-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-80 { margin-bottom: 80px !important;}

/* ------------------------
	ヘッダー
------------------------ */

.header { background-size: auto 3px; padding-top: 15px;}
.header h1.fo09.mb15 { font-size: 0.8em !important; margin-bottom: 20px !important;}
.header .logo .text01 { font-size: 2em;}
.header .pos_rel.mb30 { margin-bottom: 20px !important;}

/* ハンバーガーメニュー */
.humberger {
	background: #8cc63f;
	border-radius: 4px;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
	z-index: 10000;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 9999;
}
.sp-navi .sp-navi-inner {
	background: url("../images/common/header_line.png") repeat-x left top, url("../images/common/bg.jpg");
	background-size: auto 3px, auto;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
}

.sp-navi .logo { padding-top: 20px;}
.sp-navi .logo .text01 { font-size: 1.7em;}
.sp-navi .sp_nav li:first-child > a { border-top: dashed 1px #ccc;}
.sp-navi .sp_nav li > a { display: block; text-decoration: none; border-bottom: dashed 1px #ccc; padding: 10px; font-size: 1.15em; color: #333;}
.sp-navi .list01 li { display: inline-block; vertical-align: middle; margin: 0px 2px;}
.sp-navi .list01 .tel a { display: inline-block; vertical-align: bottom; background: url("../images/common/header_tel.png") no-repeat left 50%; background-size: 15px auto; padding-left: 22px; font-size: 1.75em; line-height: 1; text-decoration: none; color: #333;}
.sp-navi .list01 li:last-child { width: 40px;}

@media only screen and (max-width: 480px) {
	.sp-navi .logo .text01 { font-size: 5.5vw;}
}


/* ------------------------
	フッター
------------------------ */

.footer_nav li:after { letter-spacing: -0.3em;}
.footer .back_white:before { background-size: auto 13px; height: 13px; top: -13px;}
.footer .bg { background-size: 170% auto; background-position: center 60px;}
.footer .logo .text01 { font-size: 2em;}
.footer_contact li:last-child { width: 42%; max-width: 252px;}

.footer hr { background-size: auto 3px; height: 3px;}

.footer .logo02 { background-size: 30% auto; padding: 20px 28% 0px;}

.pagetop { width: 55px;}

@media only screen and (max-width: 640px) {
	.footer_contact .text02.fo095 { font-size: 0.7em !important;}
}

@media only screen and (max-width: 480px) {
	.footer .logo .text01 { font-size: 8vw;}
	.footer_contact .text02.fo095 { font-size: 2vw !important;}
	
	.footer_contact li { display: block; width: 100% !important; max-width: 500px !important;}
	.footer_contact li:last-child { padding: 0px 20%;}
	.footer_contact .text02.fo095 { font-size: 0.9em !important;}
	.footer_contact .tel a { font-size: 5.8vw;}
}


/* ------------------------
	コンテンツ
------------------------ */

.under_mainimage { height: 200px;}

.pagettl { font-size: 2.2em; background-size: auto 110px; background-position: left top, right top; min-height: 110px; padding-top: 30px;}

.heading_flower { background-size: 27px auto; padding-top: 35px; font-size: 1.8em;}

@media only screen and (max-width: 640px) {
	.pagettl { font-size: 2em; background-size: auto 80px; min-height: 80px;}
}

@media only screen and (max-width: 480px) {
	.pagettl.mb80-40 { background-size: auto 60px; min-height: 60px; margin-bottom: 60px !important;}
}


/* ------------------------
	トップページ
------------------------ */

.mainimage { background-size: cover; padding: 20px 20%; height: auto;}

.top_sec01 h2 { font-size: 1.7em; background-size: 25% auto; min-height: 0px; padding: 40px 0px; margin-bottom: 0px;}
.top_sec01 .img_box .pos_ab { position: static !important; display: inline-block; vertical-align: middle; width: 40%; margin: 0px 3% 30px;}
.top_sec01 .img03 { width: 60px; left: -5px; bottom: auto; top: -60px;}
.top_sec01 .img04 { width: 120px; right: -5px; bottom: -40px;}

.top_sec02 li { width: 48%; margin-bottom: 40px;}
.top_sec02 h2 { font-size: 2.7vw;}
.top_sec02 .box_inner { padding: 25px 13px;}

.top_sec01, .top_sec03 { overflow: visible;}
.top_sec03 .img02 img { width: 27px; height: auto;}
.top_sec03 h2 { font-size: 1.8em;}
.top_sec03 .left { float: none; width: 100%;}
.top_sec03 .right { float: none; margin: 15px 0px 0px; padding: 0px 10% 0px 20%;}
.top_sec03 .box dl, .top_sec03 .box dt, .top_sec03 .box dd { display: block; width: 100%;}
.top_sec03 .box dt { border-bottom: solid 1px #ccc; border-right: none; padding-bottom: 5px;}
.top_sec03 .box dd { padding: 10px 0px 0px 0px;}
.top_sec03 .box .img01 { width: 30%; top: auto; bottom: -40px;}

@media only screen and (max-width: 640px) {
	.top_sec01 .box, .top_sec03 .box { padding: 20px 5%;}
	.top_sec01 dl, .top_sec01 dt, .top_sec01 dd { display: block; width: 100% !important;}
	.top_sec01 dt { border-bottom: solid 1px #ccc; border-right: none; padding-bottom: 5px;}
	.top_sec01 dd { padding: 10px 0px 0px 0px;}
	.top_sec01 .img03 { width: 50px; top: -60px;}
	.top_sec01 .img04 { width: 100px; bottom: -50px;}
	
	.top_sec02 ul { display: block}
	.top_sec02 li { width: 100%; max-width: 500px; margin: 0px auto 50px;}
	.top_sec02 .pos_ab { width: 50px;}
	.top_sec02 h2 { font-size: 1.8em; padding: 30px 10px 10px;}
	.top_sec02 .btn_area { padding: 0px 8%;}

	.top_sec03 .box .img01 { width: 160px; top: -60px; bottom: auto;}
}


/* ------------------------
	about
------------------------ */

.about_sec01 .box { max-width: 710px; width: 100%;}
.about_sec01 .img01 { width: 180px; left: -15px; top: -110px;}
.about_sec01 .img02 { width: 120px; right: -15px; top: auto; bottom: -20px;}

@media only screen and (max-width: 640px) {
	.about_sec01 .box { padding: 30px 4%;}

	.about_sec02 ul { margin: 0px -1.5%;}
	.about_sec02 li { width: 47%; margin: 0px 1.5% 40px;}
}

@media only screen and (max-width: 480px) {
	.about_sec01 .img01 { width: 130px; left: -10px; top: -75px;}
	.about_sec01 .img02 { width: 90px; right: -10px; bottom: -30px;}

	.about_sec02 li { width: 97%;}
}


/* ------------------------
	access
------------------------ */

.access_sec01 { margin-top: -10px;}
.access_sec01 .box { align-items: center;}
.access_sec01 .box > div { padding-top: 0px; margin-right: 4%;}
.access_sec01 .box > figure { max-width: 328px; width: 45%;}
.access_sec01 dt { width: 27px; padding-right: 10px;}
.access_sec01 .map iframe { height: 300px;}
.access_sec01 .btn_area .pos_ab { left: 8%; width: 80px;}

@media only screen and (max-width: 740px) {
	.access_sec01 .btn_area .pos_ab { width: 50px; height: auto; left: 4%; top: -10px;}
}

@media only screen and (max-width: 640px) {
	.access_sec01 .box { display: block;}
	.access_sec01 .box > * { width: auto !important; margin: auto !important;}
	.access_sec01 .box figure { padding: 20px 5% 0px; max-width: 100%;}
	.access_sec01 .btn_area { padding: 0px 22%;}
}


/* ------------------------
	letter
------------------------ */

.letter_sec01 { padding-top: 0px; margin-top: 0px;}
.letter_sec01 .img_box .pos_ab { position: static; display: inline-block; vertical-align: middle; margin: 20px 1% 0px; width: 45%}
.letter_sec01 .img03 { width: 180px; right: 0px;}
.letter_sec01 li { max-width: 295px; width: 48%; margin: 0px 1% 30px;}

.fukushi_sec01 .img_box .pos_ab.img01 { width: 35%; max-width: 165px;}
.fukushi_sec01 .img_box .pos_ab.img02 { width: 37%; max-width: 200px;}

@media only screen and (max-width: 680px) {
	.letter_sec01 .img03 { width: 120px; top: 30%;}

	.letter_sec01 li a { background-size: 17px auto; background-position: 8px 50%; padding: 15px 5px 15px 30px; font-size: 0.95em;}
}


@media only screen and (max-width: 480px) {
	.letter_sec01 .btn_area img { width: 140px; height: auto;}
	.letter_sec01 .img03 { width: 110px;}
	.letter_sec01 li a { background-size: 15px auto; background-position: 7px 50%; padding: 13px 5px 13px 25px; font-size: 0.75em;}
}


/* ------------------------
	contact
------------------------ */

.contact_sec01 { margin-top: 0px;}


.event_img_box { display: flex; justify-content: center; flex-wrap: wrap; align-items: center;}
.event_img_box.box02 { margin: -50px 0px 60px;}
.event_img_box .pos_ab { position: static; width: 47%; margin: 0px 1% 1%;}
