@charset "utf-8";

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

	グローバル

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

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

.container { width: 100%;}

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

.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-50 { margin-bottom: 50px !important;}
.mb120-60 { margin-bottom: 60px !important;}


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

.header .box { display: block; padding: 7px 0px;}
.header h1 img { width: auto; height: 36px;}


/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #e40070;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 5px;
	right: 5px;
	width: 40px;
	border-radius: 100%;
	height: 40px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 20px;
	height: 2px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 12px;}
.humberger span:nth-of-type(2) { top: 19px;}
.humberger span:nth-of-type(3) { top: 26px;}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(7px) rotate(-45deg);
	  -ms-transform: translateY(7px) rotate(-45deg);
		  transform: translateY(7px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-7px) rotate(45deg);
	  -ms-transform: translateY(-7px) rotate(45deg);
		  transform: translateY(-7px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: #f2f2f2;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
}

.sp-navi .logo { text-align: center; padding: 7px; background-color: #fff;}
.sp-navi .logo img { height: 36px; width: auto;}
.sp-navi .list01 { border-top: solid 1px #999;}
.sp-navi .list01 a { display: block; text-decoration: none; border-bottom: solid 1px #999; padding: 7px 5px 7px 40px; font-size: 1.15em; position: relative; color: #231815;}
.sp-navi .list01 a:before, .sp-navi .list01 span:before { content: ""; position: absolute; left: 15px; top: 50%; margin-top: -1.5px; width: 10px; height: 3px; background: #e40070;}
.sp-navi .footer { padding: 5px 20px;}
.sp-navi .footer li:first-child { padding: 0px 28% 15px;}
.sp-navi .footer li:last-child { padding: 0px 12% 0px 7%;}


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

.footer .back_yellow { padding: 30px 0px;}
.footer .back_yellow .pos_ab { width: 20%; right: 5px; bottom: -30px;}
.footer .back_yellow ul.mb30 { margin-bottom: 15px !important;}
.footer .back_yellow li:first-child { margin-right: 3%;}

.footer .btn_area a { border-radius: 60px; width: 100%; max-width: 270px; padding: 15px;}
.footer .btn_area a img { width: 20px; height: auto;}

.footer .gn { flex-wrap: wrap; font-size: 0.85em;}
.footer .gn li { margin: 0px 0.5em;}
.footer .gn li:first-child { margin-left: 0px;}
.footer .gn li:last-child { margin-right: 0px;}
.gn a:before { width: 7px; height: 7px; position: relative; top: -0.05em;}

.footer h2 { padding: 0px 15%;}

.pagetop { width: 30px;}

@media only screen and (max-width: 640px) {
	.footer .back_yellow ul.mb30 { padding-right: 0px; display: block;;}
	.footer .back_yellow li:first-child { margin: 0px 28% 10px;}
	.footer .back_yellow li:last-child { padding-right: 5%;}
	.footer .back_yellow .pos_ab { display: none;}
}


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

	トップページ

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

.mainimage { background-image: url("../images/top/mainimage_bg_sp.jpg"); height: auto; padding: 5% 3% 40%;}
.mainimage .pos_ab { bottom: -40px; left: 50%; transform: translateX(-50%); width: 30%;}

.top_sec01 { background-size: 25% auto; padding-top: 70px;}
.top_sec01 .list01 li { width: 48.5%;}

.top_heading { padding: 0px 20%;}

.top_sec02 { padding: 40px 0px;}
.top_sec02 li { width: 31.3333%; height: auto; padding: 20px 10px;}
.top_sec02 h3 { font-size: 1.4em;}

.top_sec03 { padding: 40px 0px 30px;}

.top_sec04 iframe { height: 250px;}

.nosya { padding: 40px 0px 30px;}
.nosya .box { padding: 35px 15px 20px;}
.nosya .pos_ab { left: -10px; top: -13px;}
.nosya .pos_ab > div { font-size: 1.2em; padding: 4px 15px 4px 20px;}
.nosya .pos_ab > div:after { width: 8px; right: -8px;}
.nosya .pos_ab > div:before { bottom: -10px; border-width: 0 10px 10px 0;}
.nosya .img01 { width: 90px; right: -10px; top: -10px;}
.nosya .box02 figure { width: 40%;}
.nosya .box02 .box_inner { width: 56%;}
.nosya .fo_red p { font-size: 1.4em;}

@media only screen and (max-width: 640px) {
	.top_sec02 ul { display: block;}
	.top_sec02 li { width: auto; margin-bottom: 20px;}
	.top_sec02 li figure img { width: 60px; height: auto; margin-bottom: -30px;}

	.nosya .box02 { display: block;}
	.nosya .box02 > * { width: auto !important;}
	.nosya .box02 figure { margin-bottom: 25px;}
}

@media only screen and (max-width: 480px) {
	.top_sec01 .list01 { display: block;}
	.top_sec01 .list01 li { width: auto; margin-bottom: 30px; padding: 0px 5%;}
}


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

	下層ページ

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

.more_btn a { min-width: 250px;}

.pagettl { padding: 25px 20% 20px;}

.heading_underline span { font-size: 1.7em;}

.table_bordered th, .table_bordered td { padding: 10px 0px;}
.table_bordered th { text-align: left; width: 8em; padding-right: 1em;}

@media only screen and (max-width: 480px) {
}

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

.about_sec01 { padding: 25px 0px;}
.about_sec01 .box01.mb50 { border-radius: 15px; padding: 20px 15px 40px; margin-bottom: 30px !important}
.about_sec01 table { max-width: 600px; margin: auto;}

.about_sec01 .bg { padding: 10px 60% 0px 2%;}

.about_sec01 .box02 { display: block;}
.about_sec01 .box02 div { width: auto; max-width: 640px; margin: 50px auto 0px;}
.about_sec01 .box02 figcaption > span { height: 35px;}
.about_sec01 .box02 figcaption > span:before { width: 10px; bottom: -10px; left: -15px; border: 15px solid #cc0066; border-left-color: transparent;}
.about_sec01 .box02 figcaption > span:after { width: 10px; right: -15px; border: 15px solid #cc0066; border-right-color: transparent; bottom: -10px;}
.about_sec01 .box02 figcaption > span span { padding: 0 1em; line-height: 35px; font-size: 1.4em;}
.about_sec01 .box02 figcaption > span span:before, .about_sec01 .box02 figcaption > span span:after { border-bottom: solid 10px transparent;}

.about_sec02 { padding: 25px 0px;}
.about_sec02 .box01 { border-radius: 15px; padding: 25px 15px;}
.about_sec02 .box01 p.mb40, .about_sec03 p.mb40 { margin-bottom: 25px !important;}

.about_sec03 .mb50 { margin-bottom: 30px !important;}
.about_sec03 iframe { height: 250px;}

@media only screen and (max-width: 640px) {
	.about_sec01 .box01.mb50 { padding-bottom: 20px;}
}


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

.con_sec01 { padding: 30px 0px;}
.con_sec01 h3.mb30 { padding: 0px 5%; margin-bottom: 15px !important;}
.con_sec01 dl { border-radius: 10px; padding: 15px;}
.con_sec01 dt { margin-right: 10px;}
.con_sec02 h3.fo17.mb20 { font-size: 1.4em !important; margin-bottom: 5px !important;}

.contact_box th, .contact_box td { padding-top: 10px; padding-bottom: 10px;}
.contact_box th { text-align: left; padding-right: 0.7em; width: 12em;}
.contact_box td { width: auto;}

.contact_box .btn_area input { min-width: 200px; width: auto; padding: 10px 30px;}

@media only screen and (max-width: 640px) {
	.con_sec01 { padding-bottom: 85px;}
	.con_sec01 dl { display: block;}
	.con_sec01 dt { padding: 0px 25% 10px;}

	.contact_box table, .contact_box tbody, .contact_box tr, .contact_box th, .contact_box td { display: block; width: 100%;}
	.contact_box th { border-bottom: none; padding-bottom: 10px;}
	.contact_box td { padding: 0px 0px 10px 0px; border-top: none;}
}


/* ------------------------
	投稿
------------------------ */

.single_wrap h1 { font-size: 1.6em;}

/*WP用 投稿表示*/
img.aligncenter, img.alignright, img.alignleft {
	display: block;
	margin: 20px auto;
}
.alignright, .alignleft { float: none;}

/* ページャー(シングル) */
.pager li { margin: 0px 10px 5px;}
.pager .previous, .pager .next { position: static; transform: none;}

.pagination span.current, .pagination a { margin: 0px 5px 8px; min-width: 30px; height: 30px; font-size: 1.4em; line-height: 27px;}

@media only screen and (max-width: 640px) {
	.archive li { width: 46%; margin: 0px 2% 35px;}
}
