@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;}

/* ボックス */
.box50 { float: none; 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-60 { margin-bottom: 60px !important;}
.mb120-80 { margin-bottom: 80px !important;}

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

.header h1 { width: 200px; top: 15px; left: 10px;}
.header.en h1 { top: 20px;}


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

.humberger { top: 0px; margin-top: 0px;}
.sp-navi .sp-navi-inner { width: 100%; padding: 30px 5%;}

.sp-navi .list01 { justify-content: center;}
.sp-navi .list01 img { width: auto; height: 80px;}

.lang_sp dt { cursor: pointer; position: absolute; right: 75px; z-index: 100; top: 10px;}
.lang_sp dt span { display: block; font-size: 0.8em; margin-bottom: 3px;}
.lang_sp dt img { width: 22px; height: auto;}
.lang_sp dd { position: absolute; left: 15px; right: 15px; top: 70px; background-color: rgba(0,0,0,0.9); z-index: 999; padding: 0px 15px; color: #999; display: none;}
.lang_sp dd li:not(:last-child) { border-bottom: solid 1px #5a5c5d;}
.lang_sp dd a, .lang_sp dd span { display: block; padding: 15px; font-size: 1.1em;}
.lang_sp dd a { color: #fff; text-decoration: none;}

@media only screen and (max-width: 540px) {
	.sp-navi .list01 li { width: 50% !important; border: none !important;}
}

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

.footer .bg { padding: 50px 0px 25px;}

.footer .bg .left, .footer .bg .right { float: none; width: 100%;}

@media only screen and (max-width: 640px) {
	.footer .bg { padding: 40px 0px;}
	.footer .bg .left, .footer .bg .right { float: none !important; width: 100% !important;}
	.footer .bg .left p { width: 100%; margin-bottom: 15px;}
	.footer .bg .left ul { width: 50%;}
	.footer .bg .btn_area { text-align: center;}
	.footer .bg .btn_area a { width: 100%; max-width: 300px;}
	.footer .bg .right li { display: inline-block; margin-left: 2em;}
	.footer figure { padding: 0px 15%;}
}


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

	トップページ

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

.mainimage { padding: 85px 0px; height: auto;}
.mainimage .img01 { width: 60%;}
.mainimage .img02 { width: 15%; left: 25%; top: 53%;}

.mainimage .text01 { font-size: 4.5vw;}

.top_nav { padding: 0px 15px; margin-top: -80px;}
.top_nav h2 { margin-left: 15px;}
.top_nav li { width: 20%; margin: 0px 2.5% 40px;}

.top_sec01 { padding-top: 80px;}
.top_sec01:before { width: 80%; height: 70%;}
.top_sec01 .text01 {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
	left: 50%;
	transform: translateX(-50%);
	top: -1.3em;
}
.top_sec01 .text01.en { display: inline-block; margin-top: -1em;}
.top_sec01 p { line-height: 2;}
.top_sec01 .box01 > figure { width: 40%; padding-left: 0px;}
.top_sec01 .box01 > figure div { height: auto; background: none; }
.top_sec01 .box01 .text_box { padding: 0px 15px 30px 30px;}

.top_sec01 .box02 { background: none; padding-bottom: 0px;}
.top_sec01 .box02 > figure { width: 60%;}
.top_sec01 .box02 > figure div { background: none; height: auto;}
.top_sec01 .box02 .text_box { padding: 50px 3% 20px;}

.top_sec02 ul { padding: 0px;}

.top_event { padding-top: 60px;}
.top_event .left { width: 50%;}
.top_event .right { width: 50%; padding-left: 30px; padding-right: 15px;}
.top_event h2 { margin-left: -80px;padding: 0px 0px 20px 20px;}
.top_event h3 { font-size: 1.8em;}

.top_sec03 { padding: 0px;}
.top_sec03 h2 { margin-left: 30px;}
.top_sec03 li { width: 23%; margin: 0px 1% 40px;}

.top_sec04 .box { padding: 40px 8%; margin: auto;}

@media only screen and (max-width: 800px) {
	.top_sec01 { padding-top: 0px;}
	.top_sec01 .box01, .top_sec01 .box01 > figure, .top_sec01 .box01 .text_box,
	.top_sec01 .box02, .top_sec01 .box02 > figure, .top_sec01 .box02 .text_box{ display: block; width: 100%;}
	.top_sec01 .hide_sp { display: none !important;}
	.top_sec01 .show_sp { display: block !important;}
	.top_sec01 .text01 { width: 100%; text-align: center; position: static; transform: none; display: inline-block; margin-top: -1.3em;}
	.top_sec01 .text01.en { margin-top: -2em;}
	.top_sec01 .box02 .text_box { padding: 30px 3%;}
	
	.top_event { padding-top: 50px;}
	.top_event .left, .top_event .right { float: none !important; width: 100%;}
	.top_event .right { padding: 0px 15px 30px;}
	.top_event h2 { margin-left: 0px;padding: 0px;}

	.top_sec03 li { width: 47%; margin: 0px 1.5% 40px;}
}

@media only screen and (max-width: 640px) {
	.top_nav li { width: 30.3333%; margin: 0px 1.5% 40px;}

	.top_sec02 li { width: 100%; margin-bottom: 60px;}
}

@media only screen and (max-width: 480px) {
	.top_nav { margin-top: -100px;}
	.top_nav li { width: 47%;}
}


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

.pagettl, .pagettl h2, .pagettl figure { display: block; height: auto; width: 100% !important;}
.pagettl { margin-bottom: 50px; padding-top: 90px !important;}
.pagettl.en { padding-top: 70px !important;}
.pagettl h2 { padding: 25px 15px !important; font-size: 2em; background-color: #eeeeee; position: relative !important; text-align: left;}
.pagettl h2.pagettl_fixed, .pagettl.gyojado h2, .pagettl.hirata h2, .pagettl.sadagoro h2 { padding-left: 80px !important; height: auto;}
.pagettl figure { height: 300px;}
.pagettl.single figure { height: 150px;}
.pagettl h2 br { display: none;}
.pagettl.privacy h2 br { display: inline;}
.pagettl h2 img { width: auto; height: 50px; margin-bottom: 0px; position: absolute; left: 15px; top: 15px;}

.pagettl.topics figure .pos_ab { width: 40%;}
.pagettl.kawa figure .pos_ab { width: 55%;}
.pagettl.hirata figure .pos_ab { width: 65%;}
.pagettl.sadagoro figure .pos_ab { width: 50%;}

.pagettl.hachiman h2 img { height: 45px; left: 10px;}
.pagettl.hirata h2 img { height: 37px; left: 10px; top: 20px;}
.pagettl.sadagoro h2 img { height: 45px; top: 17px;}


.sp_ml15 { margin-left: 15px;}

.table_bordered th, .table_bordered td { padding: 15px 0px;}
.table_bordered th { width: 100px; padding: 15px 10px;}

.full40_box { margin-left: 0px; padding: 0px 15px;}
.full40_box > .box_inner { padding-right: 0px;}
.full40_box h2 { margin-left: 10px;}

.cmn_nav .container_full { padding: 50px 15px 1px;}
.cmn_nav .container_full h2 { margin-left: 10px;}
.cmn_nav li { margin: 0px 5% 50px;}
.cmn_nav li figure { line-height: 100px;}
.cmn_nav li figure img { height: auto; width: 100px;}
.cmn_nav li.hachiman figure img { height: auto; width: 130px;}
.cmn_nav li.yabuta figure img { height: auto; width: 110px;}
.cmn_nav li.hirata figure img { height: auto; width: 130px;}

.youtube a:after { width: 15%;}

@media only screen and (max-width: 640px) {
	.pagettl figure { height: 250px;}
	.pagettl.single figure { height: 100px;}

	.cmn_nav li { margin: 0px 5% 50px;}
	.cmn_nav li figure { line-height: 80px;}
	.cmn_nav li figure img { height: auto; width: 80px;}
	.cmn_nav li.hachiman figure img { height: auto; width: 100px;}
	.cmn_nav li.yabuta figure img { height: auto; width: 95px;}
	.cmn_nav li.hirata figure img { height: auto; width: 100px;}
}


/* ------------------------
	kawamata
------------------------ */

.kawa_sec01 section:before { right: -15px;}

.kawa_sec02 .map { margin-right: 0px;}

@media only screen and (max-width: 640px) {
	.kawa_sec01 section:before { right: -15px; height: auto; bottom: -15px;}
	.kawa_sec01 section .box, .kawa_sec01 section .box_inner { display: block; width: 100% !important;}
	.kawa_sec01 section .box_inner:first-child { margin-bottom: 25px;}
}


/* ------------------------
	gyojado
------------------------ */

.gyojado_sec01 .box01 { padding: 0px 15px; display: block;}
.gyojado_sec01 .box01 figure, .gyojado_sec01 .box01 .box_inner { width: 100%;}
.gyojado_sec01 .box01 figure { margin-bottom: 40px;}

@media only screen and (max-width: 640px) {
	.gyojado_sec02 ul { display: block;}
	.gyojado_sec02 li { width: 100%;}
}


/* ------------------------
	sadagoro
------------------------ */

@media only screen and (max-width: 640px) {
	.sadagoro_sec03 ul { display: block;}
	.sadagoro_sec03 li { width: 100%; margin: 0px 0px 20px;}
}

.copy_sec .box { padding: 30px 6%;}


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

.contact_sec dl { padding: 20px 0px 20px 10px;}
.contact_sec .btn_area input { min-width: 250px; padding: 15px;}

@media only screen and (max-width: 740px) {
	.contact_sec dl, .contact_sec dt, .contact_sec dd { display: block;}
	.contact_sec dt { width: 100% !important; margin-bottom: 10px;}
}

@media only screen and (max-width: 640px) {
	.contact_sec .text01.fo19 { font-size: 5vw !important;}
}

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

.archive.top_sec03, .single { padding: 0px;}
.archive.top_sec03 li { margin-bottom: 50px;}

.single article, .single article .box_inner { display: block; width: 100% !important;}
.single article figure.box_inner { padding-left: 0px;}
.single article div.box_inner { padding: 25px 15px 0px;}
.single article .sp_content { padding: 40px 15px 0px;}

.bx-controls-direction { width: 100%; text-align: center;}

.pager .previous a, .pager .next a { width: 45px;}
.pager .return a:before { width: 13px; height: 13px; top: -10px;}

.pagination .number { position: static; margin-right: 15px;}

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

