@charset "utf-8";

/*
 * cmn_layout.css
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, main, section, aside, article
{ display: block;}
figure,figcaption
{ margin: 0; padding: 0;}
/* !Reseting
---------------------------------------------------------- */
body {
	color: #111;
	/*font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;*/
	font-family: Arial, Helvetica, Verdana, sans-serif;
	font-size: 14px;
	-webkit-text-size-adjust: none;
	line-height: 1.6;
}
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input
{ /* outline: none; */ }
abbr, acronym
{ border: 0;}
/* !Clearfix
---------------------------------------------------------- */
.clearfix,
#contents,
.section,
.row
{
	display: block;
	min-height: 1%;
}
.clearfix:after,
#contents:after,
.section:after,
.row:after
{
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix,
* html #contents,
* html .section,
* html .row
{
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
.fclear {
	clear: both;
}

/* !Layout
---------------------------------------------------------- */
html { /*overflow-y: scroll;*/}
body {
	/*text-align: center;*/
}

/* miniTAB */
@media screen and (min-width:640px) {
}

/* PC */
@media screen and (min-width:960px) {

}

/* !Common
---------------------------------------------------------- */
.pc {
	display: none;
}
.sp {
	display: inline-block;
}
img {
	max-width: 100%;
	height: auto;
}
a {
	-webkit-transition: all .2s;
	transition: all .2s;
}
a img {
	-webkit-transition: all .2s;
	transition: all .2s;
}

/* miniTAB */
@media screen and (min-width:640px) {
	.pc {
		display: inline-block;
	}
	.sp {
		display: none;
	}
}

/* !header
---------------------------------------------------------- */
/* Index */
#index header#header {
	position: fixed;
	width: 32.7%;
	height: 100%;
	background: url(../../images/bg_index01.jpg) no-repeat 50%;
	background-size: cover;
	text-align: center;
	padding-top: 20px;
}
#index_lang {
	margin: 20px 0;
}
#index_lang li {
	display: inline-block;
	text-align: center;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 1.5em;
}
#index_lang li a {
	display: block;
	padding: 5px 10px;
	background: rgba(255,255,255,0.90);
	color: #000;
	text-decoration: none;
}
#index_lang li.current-lang a {
	background: rgba(191,235,201,.9);
}
#index_lang li a:hover {
	opacity: .7;
}

#dominwari {
	margin: 0 20px;
	border-radius: 10px;
	background-color: #FFF;
}
#dominwari a:hover img {
	opacity: .8;
}



/* Lower */
#lower header#header {
	position: relative;
	box-sizing: border-box;
	margin: 25px 150px 0 58px;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #b0b0b0;
}
	#lower header#header p {
		position: absolute;
		top: 30px;
		right: 0;
		color: #b0b0b0;
		font-size: 0.71em;
	}
		#lower header#header p span {
			display: inline-block;
			margin-left: -0.2em;
			font-weight: bold;
		}
.index_banner {
	margin: 0 25px 20px 0;
}
.index_banner img {
	width: 100%;
	height: auto;
}
.index_banner a:hover img {
	opacity: .8;
}

@media screen and (max-width:900px) {
	#index header#header {
		position: relative;
		width: 100%;
		height: auto;
		padding-bottom: 15px;
		background: url(../../images/bg_index01.jpg) no-repeat 50%;
		background-size: cover;
		text-align: center;
		padding-top: 20px;
	}
	#index header#header img {
		width: 150px;
	}
	#index header#header #dominwari img {
		width: 100%;
		height: auto;
	}
	.index_banner {
		margin: 0 15px 15px 0;
	}
}
@media screen and (max-width:639px) {
	#lower header#header {
		margin: 15px 15px 0 15px;
		padding-bottom: 15px;
		text-align: center;
	}
	#lower header#header p {
		position: relative;
		top: 0;
		left: 0;
		margin-top: 10px;
	}
	#lower header#header img {
		max-width: 180px;
		height: auto;
	}

}


/* !gNavi
---------------------------------------------------------- */
#global_nav {
	position: fixed;
	z-index: 999;
	top: 0;
	right: 0;
	width: 100px;
	height: 100%;
}
#global_nav ul {
	width: 100px;
}
#global_nav ul li {
	position: relative;
	right: 0;
	margin: 20px 0;
	text-align: center;
	font-size: 71.4%;
	line-height: 1.5;
	font-weight: bold;
}
#global_nav ul li:last-child {
	margin-top: 40px;
}
#global_nav ul li a {
	display: block;
}
#global_nav ul li a:before {
	display: block;
}
#global_nav ul li:nth-child(1) a:before {
	content: url(../images/ico_nav01.png);
}
#global_nav ul li:nth-child(2) a:before {
	content: url(../images/ico_nav02.png);
}
#global_nav ul li:nth-child(3) a:before {
	content: url(../images/ico_nav03.png);
}
#global_nav ul li:nth-child(4) a:before {
	content: url(../images/ico_nav04.png);
}
#global_nav ul li:nth-child(5) a:before {
	content: url(../images/ico_nav05.png);
}
#global_nav ul li:nth-child(6) a:before {
	content: url(../images/ico_nav06.png);
}
#global_nav ul li:nth-child(7) a:before {
	content: url(../images/ico_nav07.png);
}
#global_nav ul li:nth-child(8) a:before {
	content: url(../images/ico_nav08.png);
}
#global_nav ul li a {
	text-decoration: none;
	color: #000;
}
#global_nav ul li a:hover {
	opacity: .7;
}
/* ハンバーガーメニュー PC時は非表示 */
.menu-trigger {
	display: none;
}


@media screen and (max-width:900px) {
#global_nav {
	position: static;
	-webkit-transition: all .5s;
	transition: all .5s;
	z-index: 9999;
}
	#global_nav.active {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 500;
		width: 100%;
		height: 100%;
		background: rgba(255,255,255,.7)
	}
	#global_nav ul {
		display: none;
		width: auto;
		height: auto;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	#global_nav.active ul {
		display: block;
		position: relative;
		top: 60px;
		z-index: 555;
	}
	
	/* ハンバーガーメニュー */
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: fixed;
		top: 15px;
		right: 15px;
		width: 50px;
		height: 44px;
		z-index: 9999;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #000;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 20px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	/* ハンバーガーメニュー モーション */
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(20px) rotate(-45deg);
		transform: translateY(20px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-20px) rotate(45deg);
		transform: translateY(-20px) rotate(45deg);
	}
	
	/* メニュー内 文字調整 */
	#global_nav ul li {
		font-size: 125%;
		margin: 0;
	}
	#global_nav ul li a:before {
		content: none !important;
	}
	#global_nav ul li a {
		display: block;
		padding: 15px 0;
		border-bottom: 1px solid rgba(204,204,204,0.58);
	}
}


/* !footNavi
---------------------------------------------------------- */

/* !section common
---------------------------------------------------------- */
#lower .section_inner {
	margin-bottom: 30px;
}
/* SP */
@media screen and (max-width:639px) {
}

/* !contents
---------------------------------------------------------- */


/* !main
---------------------------------------------------------- */
#main {
}


/* !sideNavi
---------------------------------------------------------- */

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
	box-sizing: border-box;
	margin: 0 0 20px 0;
	padding: 5px 10px;
	width: 100%;
	background: #efefef;
}
	#breadcrumb ol {
		margin: 0 auto;
		width: 100%;
		font-size: 0.8em;
	}
	#breadcrumb li {
		display: inline-block;
		padding: 2px 0 2px 0;
		line-height: 1;
		color: #7e7e7e;
	}
		#breadcrumb li:before {
			content: ">";
			padding: 0 2px 0 0;
		}
	#breadcrumb li:first-child {
		/*padding: 2px 0 2px 23px;*/
	}
		#breadcrumb li:first-child:before {
			content: "";
			padding: 0;
		}
		#breadcrumb li a {
			padding: 0;
			text-decoration: underline;
			color: #7e7e7e;
		}

/* miniTAB */
@media screen and (min-width:640px) {
}

/* !side
---------------------------------------------------------- */

/* !pageTop
---------------------------------------------------------- */
.to_top {
	margin-bottom: 40px;
	text-align: center;
	clear: both;
}
.to_top a {
	display: inline-block;
	border: 1px solid #000;
	padding: 10px 25px;
	text-decoration: none;
	border-radius: 15px;
		transition-duration: 0.7s;
}
.to_top a:link,
.to_top a:visited {
	color: #000;
}
.to_top a:hover {
	border-radius: 5px;
	background: rgba(253,255,239,1.00);
}

/* !footer
---------------------------------------------------------- */
footer#footer {
	padding: 20px 0 20px 0;
	text-align: center;
}
#copy_right {
	margin-top: 10px;
	font-size: 0.92em;
}
#index_footer {
	
}
#index_footer div {
	display: table;
}
#index_footer #ft_logo,
#index_footer dl {
	display: table-cell;
}
#index_footer #ft_logo {
	padding-right: 10px;
}
#index_footer dl {
	vertical-align: middle;
}
#index_footer dt {
	font-weight: bold;
}
#index_footer dd {
	font-size: .875em;
}
#index_footer #copy_right {
	margin-top: 25px;
	text-align: center;
}
@media screen and (max-width:639px) {
	footer#footer img {
		max-width: 170px;
		height: auto;
	}
	#index_footer div {
		display: block;
	}
	#index_footer #ft_logo,
	#index_footer dl {
		display: block;
	}
	#index_footer #ft_logo {
		width: 70%;
		margin: 0 auto;
	}
	#index_footer dl {
		width: 90%;
		margin: 0 auto;
	}
}


/* !h(n)eading
---------------------------------------------------------- */

/* Link Style
----------------------------------------------------- */

/* List Style
----------------------------------------------------- */

/* Table Style
----------------------------------------------------- */
.table_form {
	border-bottom: 1px solid #999;
	margin-top: 30px;
	margin-bottom: 40px;
}
	.table_form th,
	.table_form td {
		padding: 10px 0;
	}
	.table_form tr:last-child th,
	.table_form tr:last-child td {
		padding-bottom: 40px;
	}
	.table_form th {
		font-weight: bold;
	}
		.table_form th span {
			color: #8C0000;
		}

/* SP */
@media screen and (max-width:640px) {
	.table_form,
	.table_form th,
	.table_form td {
		display: block;
		padding: 15px 0 0 0;
	}
	.table_form tr:last-child th {
		padding-bottom: 0;
	}
	.table_form tr:last-child td {
		padding-bottom: 10px;
	}
}

/*Form Style
----------------------------------------------------- */
input[type=text], button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input,textarea {
	box-sizing: border-box;
	border: 1px solid #CCCCCC;
	padding: 10px;
	border-radius: 5px;
	font-size: 1.25em;
	background: #F8F8F8;
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
	box-shadow: 0 0 7px #1abc9c;
	border: 1px solid #1abc9c;
}
textarea {
	width: 100%;
}

/* placeholder */
/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
    color: #BABABA; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color: #BABABA; }

/* Firefox 18- */
:-moz-placeholder {
    color: #BABABA; opacity: 1; }

/* Firefox 19+ */
::-moz-placeholder {
    color: #BABABA; opacity: 1; }

/* IE 10+ */
:-ms-input-placeholder {
    color: #BABABA; }


/*確認画面へ進むボタン用*/
.mw_wp_form_input .btn input{
	background:url(../../images/btn_contact01.png) no-repeat;
	width:106px;
	height:36px;
	text-indent:-9999px;
	overflow:hidden;
	border:none;
	cursor:pointer;
}

.btn_submit input[type=submit],
.mw_wp_form_confirm .btn input{
	/*送信ボタン用*/
	background:url(../../images/btn_contact01.png) no-repeat;
	width:260px;
	height:60px;
	text-indent:-9999px;
	overflow:hidden;
	border:none;
	cursor:pointer;
	border-radius: 0;
}
 
#submitback input{
	/*戻るボタン用*/
	background:url(../../images/btn_contact01.png) no-repeat;
	width:106px;
	height:36px;
	text-indent:-9999px;
	overflow:hidden;
	border:none;
	cursor:pointer;
	border-radius: 0;
}
.btn_submit {
	text-align: center;
}
.table_form td label {
	margin-right: 10px;
	font-size: 1.14em;
}
.table_form td p {
	padding-top: 5px;
}
.table_form td p a {
	color: #2498C4;
	text-decoration: none;
}
.table_form td p a:hover {	
	opacity: .7;
}


/* Block Style
----------------------------------------------------- */
.row {
	box-sizing: border-box;
	width: 100%;
}
.col_half {
	box-sizing: border-box;
	width: 49.2%;
}
.col_ptn01_wide {
	box-sizing: border-box;
	width: 55%;
}
.col_ptn01_narrow {
	box-sizing: border-box;
	width: 42%;
}
.col_ptn02_wide {
	box-sizing: border-box;
	width: 50%;
}
.col_ptn02_narrow {
	box-sizing: border-box;
	width: 48.5%;
}
.col_ptn03_wide {
	box-sizing: border-box;
	width: 60%;
}
.col_ptn03_narrow {
	box-sizing: border-box;
	width: 35.5%;
}



/* SP */
@media screen and (max-width:640px) {
	.flR,
	.flL{
		width: 100%;
		float: none;
	}
}

/* !CV area
---------------------------------------------------------- */


/* !Page Style -- Common
---------------------------------------------------------- */
.pagination {
	text-align: center;
	margin: 60px 0 30px 0;
}
.pagination span,
.pagination a {
	display: inline-block;
	margin: 0 5px;
	border: 1px solid #000;
	border-radius: 15px;
	width: 30px;
	height: 30px;
	font-weight: bold;
	line-height: 30px;
}
.pagination span.current {
	background: #efefef;
}
.pagination a {
	text-decoration: none;
	color: #000;
}
.pagination a:hover {
	background: #efefef;
}
.pagination a.prev:before {
	font-family: "FontAwesome";
	content: "\f0d9";
}
.pagination a.next:before {
	font-family: "FontAwesome";
	content: "\f0da";
}

/* !Page Style -- Index
---------------------------------------------------------- */
#index main {
	overflow: hidden;
}
#index main .section_inner {
	box-sizing: border-box;
	padding:25px 88px 0 35%;
	width: 100%;
}
.index_box {
	position: relative;
	z-index: 50;
	float: left;
	margin: 0 26px 26px 0;
	border-radius: 15px;
	overflow: hidden;
}
.index_box p.scale img {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 15px;
}
.index_box p.scale img {
	transition-duration: 0.7s;
}
.index_box:hover > p.scale img {
	transform: scale(1.1);
	transition-duration: 0.7s;
}
.index_box dl,
.index_box .ttl {
	position: relative;
	z-index: 100;
}
.index_box.col_w_1 {
	width : -webkit-calc(100% / 3 - 26px);
	width: calc(100% / 3 - 26px);
}
.index_box.col_w_2 {
	width : -webkit-calc(2*(100% / 3) - 26px);
	width: calc(2*(100% / 3) - 26px);
}
.index_box .index_box.col_w_1 {
	width: 47%;
	margin-right: 0;
}
.index_box dl {
	position: absolute;

}
.index_box.tit_ptn01 dl {
	left: 15px;
	bottom: 20px;
}
.index_box.tit_ptn02 dl {
	top: 15px;
	left: 10px;
}
.index_box.tit_ptn03 dl {
	top: 15px;
	right: 10px;
}
.index_box dt {
	display: inline-block;
	padding: 0 10px;
	background: rgba(0,0,0,.5);
	color: #fff;
	text-align: center;
}
.index_box dd {
	font-size: 1.5em;
	color: #fff;
	line-height: 1.3;
	text-shadow:0px 0px 3px #000000;
	font-weight: bold;
}
.index_box.tit_black dd {
	color: #000;
	line-height: 1.3;
	text-shadow:0px 0px 3px #ffffff;
}
#box_no04 {
	background: #666666;
}
#box_no04 form {
	margin: 50px auto 0 0;
	text-align: center;
}
#box_no04 form input.s {
	display: inline-block;
	box-sizing: border-box;
	width: 65%;
	padding: 2px 5px;
}
#box_no04 form input.searchsubmit {
	display: inline-block;
}
	#box_no04 #poplar_search {
		margin: 15px 10px 18px 10px;
		background: #e2ba94;
		font-size: 0.85em;
		text-align: center;
	}
	#box_no04 a:hover img {
		opacity: .8;
	}
	#box_no04 ul {
		box-sizing: border-box;
		display: table;
		margin: 0 auto;
		padding: 0 15px;
		width: 100%;
		table-layout: fixed;
	}
	#box_no04 ul li {
		display: table-cell;
		padding: 0 5px;
	}

	#box_no04 ul li .pc {
		display: block;
	}
	#box_no04 ul li .sp {
		display: none;
	}
#box_no05 {
	background: #00d1ee;
}
	#box_no05:hover {
		opacity: .8;
	}
	#box_no05 p {
		text-align: center;
		font-weight: bold;
	}
	#box_no05 p.photo {
		max-height: 115px;
		overflow: hidden;
	}
	#box_no05.info_tit {
		padding: 10px 0 0 0;
	}
	#box_no05 img {
		width: 100%;
		height: auto;
	}
	#box_no05 a {
		text-decoration: none;
		color: #000;
	}
	#box_no05 {
		box-sizing: border-box;
		padding: 0 10px;
	}
	#box_no05 dl {
		margin-top: 5px;
		position: relative;
	}
	#box_no05 dt {
		margin-bottom: 3px;
	}
	#box_no05 dt,
	#box_no05 dd {
		padding: 0;
		text-align: left;
		background: none;
		color: #000;
		font-size: 1em;
		text-shadow: none;
	}
	#box_no05 .cat {
		padding: 1px 3px;
		font-size: 0.92em;
		color: #fff;
	}
	#box_no05 .cat_event {
		background: #004ea2;
	}
	#box_no05 .cat_news {
		background: #51B753;
	}
	#box_no05 .more_read {
		margin-top: 10px;
		text-align: right;
		font-size: 1em;
	}
	#box_no05 .more_read:before {
		padding-right: 3px;
		font-family: FontAwesome;
		content: "\f0da";
	}
#box_no06 {
}
	#box_no06 div {
		border: 1px solid #b0b0b0;
	}
#box_no11 {
	text-align: center;
}
	#box_no11 p {
		font-size: 0.85em;
	}
	#box_no11 p.ttl {
		padding-top: 25%;
		color: #000;
	}
#box_no12 {
}
	#box_no12 div {
		width: 100%;
	}
	#box_no12 p.ttl {
		padding-top: 20px;
		text-align: center;
		color: #fff;
	}
#box_no101 {
	border: 1px solid #B0B0B0;
}


/* 英語版インデッククスレイアウト調整 */
#index_panels_en {
	padding-right: 13px;
}
	#index_panels_en li {
		overflow: hidden;
		position: relative;
		border-radius: 15px;
		margin-bottom: 25px;
	}
	#index_panels_en li:nth-child(1),
	#index_panels_en li:nth-child(4) {
		width: 100%;
		height: auto;
	}
	#index_panels_en li:nth-child(2),
	#index_panels_en li:nth-child(3) {
		width: 48%;
	}
	#index_panels_en li:nth-child(2) {
		float: left;
	}
	#index_panels_en li:nth-child(3) {
		float: right;
	}
		#index_panels_en li img {
			width: 100%;
			height: auto;
			transform: scale(1.0);
			transition-duration: 0.7s;
		}
		#index_panels_en li:hover img {
			transform: scale(1.1);
			transition-duration: 0.7s;
		}


#index_panels_en dl {
	position: absolute;
	top: 4%;
	left: 4%;
	width: 92%;
	z-index: 999;
}
#index_panels_en dt {
	display: inline-block;
	padding: 0 10px;
	background: rgba(0,0,0,.5);
	color: #fff;
}
#index_panels_en  dd {
	font-size: 1.5em;
	color: #fff;
	line-height: 1.3;
	text-shadow:0px 0px 3px #000000;
}
.index_campaign {
	margin-right: 26px;
	margin-bottom: 30px;
}
.index_campaign a:hover img {
	opacity: .8;
}


/* SP*/
@media screen and (max-width:900px) {
	#index_panels_en  dd {
		font-size: 1.14em;
		color: #fff;
		line-height: 1.3;
		text-shadow:0px 0px 3px #000000;
	}
}

@media screen and (max-width:1500px) {
	#box_no04 form {
		margin: 15px auto 0 0;
	}
}

@media screen and (max-width:1200px) {
	#box_no03 div {
		width: 100%;
	}
	#box_no03 div img {
		width: 100%;
		height: auto;
	}
	#box_no05 dl {
		font-size: .85em;
	}
	#box_no07 div {
	}
	#box_no07 div img {
		position: relative;
		left: -50px;
		width: 350px;
		max-width: 350px;
		height: auto;
	}
	#box_no04 {
		width: 100%;
	}
	#box_no04 form {
		margin: 5% auto 0 0;
		text-align: center;
	}
	#box_no04 ul {
		padding: 0 10px;
	}
	#box_no04 ul li .pc {
		display: none;
	}
	#box_no04 ul li .sp {
		display: block;
	}
}
/* SP*/
@media screen and (max-width:900px) {
	#index main .section_inner {
		box-sizing: border-box;
		padding: 25px 0 25px 13px;
		width: 100%;
	}
	.index_box {
		position: relative;
		z-index: 50;
		float: left;
		margin: 0 13px 13px 0;
		border-radius: 15px;
		overflow: hidden;
	}
	#box_no101.index_box {
		margin: 0 0 11px 0;
	}

	.index_box p.scale img {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		width: 100%;
		height: auto;
		transition-duration: 0.7s;
		border-radius: 15px;
	}
	.index_box p.scale img:hover {
		transform: scale(1.1);
		transition-duration: 0.7s;
	}
	.index_box.col_w_1 {
		width : -webkit-calc(2*(100% / 4) - 13px);
		width: calc(2*(100% / 4) - 13px);
	}
	.index_box.col_w_2 {
		width : -webkit-calc(3*(100% / 3) - 13px);
		width: calc(3*(100% / 3) - 13px);
	}
	.index_box .index_box.col_w_1 {
		width: 48%;
		margin-right: 0;
	}
	#box_no03 div.index_box,
	#box_no04,
	#box_no06 div.index_box {
		box-sizing: border-box;
		width : 100%;
	}
	#box_no05 {
		width: calc(3*(100% / 3) - 13px);
	}
	#box_no05 p.photo {
		max-height:inherit;
		overflow: visible;
	}
	#box_no02 {
		padding: 0;
	}
	#box_no07 div.index_box,
	#box_no09 div.index_box,
	#box_no13 div.index_box {
		width : -webkit-calc(100% - 13px);
		width: calc(100% - 13px);
	}
	#box_no07 div img {
		position: relative;
		left: 0;
		width: 100%;
		max-width: 100%;
		height: 100%;
	}
	#box_no10 div {
		float: right;
	}
	.index_campaign {
		margin-right: 13px;
		margin-bottom: 30px;
	}
}

/* !Page Style -- Lower
---------------------------------------------------------- */
/* common */
#lower main {
	box-sizing: border-box;
	padding: 25px 150px 0 58px;
	width: 100%;
}
#lower main h2 {
	margin-bottom: 5px;
	font-size: 2.57em;
	font-weight: bold;
	vertical-align: middle;
}
#lower main h2 span {
	position: relative;
	display: inline-block;
	top: -8px;
	padding: 3px 15px;
	font-size: 0.44em;
	color: #fff;
	background : rgba(0, 0, 0, .5);
}
.indext_3em {
	text-indent: -3em;
	margin-left: 3em;
}
.indext_4em {
	text-indent: -4em;
	margin-left: 4em;
}
.indext_5em {
	text-indent: -5em;
	margin-left: 5em;
}
.image_list {
}
.image_list li {
	margin-bottom: 15px;
}
.img_responsive,
.img_responsive img {
	width: 100%;
	height: auto;
}
@media screen and (max-width:639px) {
	#lower main {
		padding: 25px 15px 0 15px;
	}
}

/* !Page Style -- About
---------------------------------------------------------- */
body.about {
}
body.about p {
	padding-bottom: 25px;
}

/* !Page Style -- Flowers
---------------------------------------------------------- */
body.flowers,
body.flowers-demo {
}
body.flowers #map_flowers,
body.flowers-demo #map_flowers {
	margin: -15px 0 15px 0;
}
body.flowers #map_flowers img,
body.flowers-demo #map_flowers img {
	width: 100%;
	height: auto;
}


body.flowers h3,
body.flowers-demo h3 {
	margin-bottom: 4px;
	font-size: 1.5em;
	font-weight: bold;
}
.flower_box_wrap {
	padding: 0 20px;
}
.flower_box {
	display: table;
	width: 33.3%;
	float: left;
}
.flower_box p,
.flower_box dl {
	display: table-cell;
}
.flower_box dl {
	padding: 0 10px;
	vertical-align: bottom;
}
.flower_box p {
	width: 164px;
}

@media screen and (max-width:999px) {
	.flower_box_wrap {
		padding: 0;
	}
	.flower_box {
		box-sizing: border-box;
		display: block;
		padding: 0 5px;
	}
	.flower_box p,
	.flower_box dl {
		display: block;
	}
	.flower_box p {
		width: auto;
	}
	.flower_box dl {
		padding: 5px 0 0 0 ;
	}
}

/* !Page Style -- Legend
---------------------------------------------------------- */
body.legend .legend_box {
	padding: 15px 18px;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
	body.legend .legend_box.ptn01 {
		background-image: url(../../images/bg_legend01.png);
	}
	body.legend .legend_box.ptn02 {
		background-image: url(../../images/bg_legend02.png);
	}
	body.legend .legend_box.ptn03 {
		background-image: url(../../images/bg_legend03.png);
	}
	body.legend .legend_box p:first-child {
		float: left;
		padding: 0 15px 0 0;
	}
	body.legend .legend_box p img {
		max-width: 200px;
		height: auto;
	}
	body.legend .legend_box dl ,
	body.legend .legend_box p:last-child {
		color: #fff;
		line-height: 1.8;
	}
@media screen and (max-width:1000px) {
	body.legend .legend_box {
		padding: 20px 18px;
	}
	body.legend .legend_box p:first-child {
		float: none;
		padding: 0 0 10px 0;
	}
	body.legend .legend_box p img {
		width:100%;
		max-width:100%;
		height: auto;
	}
	body.legend .legend_box.ptn01 {
		background-image: url(../../images/bg_legend01_sp.png);
	}
	body.legend .legend_box.ptn02 {
		background-image: url(../../images/bg_legend02_sp.png);
	}
	body.legend .legend_box.ptn03 {
		background-image: url(../../images/bg_legend03_sp.png);
	}
}

/* !Page Style -- Access
---------------------------------------------------------- */
.access iframe {
	width: 100%;
}
#access_map {
	position: relative;
}
#access_map dl {
	position: absolute;
	bottom: 0;
	left: 20px;
	font-size: 1.14em;
	width: 90%;
}
#access_map dt {
	margin-bottom: 12px;
}
#access_map dd:before {
	content: '●';
}
#access_map dd {
	text-indent: -0.5em;
	margin-left: 0.5em;
}
@media screen and (max-width:1000px) {
	#access_map dl {
		position: relative;
		margin-top: 15px;
	}
}

/* !Page Style -- Event
---------------------------------------------------------- */
body.event {
}
	body.event main p {
		margin-bottom: 20px;
	}
	body.event h3 {
		margin-bottom: 5px;
		font-size: 1.7em;
		font-weight: bold;
	}
		body.event h3 span.event_month {
			padding: 1px 5px;
			border: 1px solid #000;
			font-size: 1em;
		}
		body.event h3 span.event_sub_tit {
			font-size: 0.92em;
		}

/* !Page Style -- Info
---------------------------------------------------------- */
body.info {
}
	body#lower.info main h2 {
		position: relative;
		margin-bottom: 20px;
	}
		body.info h2:before {
			position: relative;
			top: 7px;
			display: inline-block;
			margin-right: 10px;
			content: url(../../images/ico_info01.png);
		}
		body.info h2:after {
			position: relative;
			top: -7px;
			display: inline-block;
			margin-left: 15px;
			content: 'Sightseeing Shakotan';
			font-size: 0.45em;
		}
	body.info .info_box {
		position: relative;
		z-index: 50;
		margin-bottom: 10px;
		border-radius: 15px;
		overflow: hidden;
	}
		body.info .info_box p img {
			z-index: 0;
			top: 0;
			left: 0;
			width: 100%;
			height: auto;
			border-radius: 15px;
		}
		body.info .info_box p img {
			transition-duration: 0.7s;
		}
		body.info .info_box:hover > p img {
			transform: scale(1.1);
			transition-duration: 0.7s;
		}
		body.info .info_box dl {
			position: absolute;
		}
		body.info a:nth-child(2n) .info_box dl {
			bottom: 10px;
			left: 10px;
		}
		body.info a:nth-child(2n+1) .info_box dl {
			top: 10px;
			left: 10px;
		}
		body.info .info_box dt {
			display: inline-block;
			padding: 0 10px;
			background: rgba(0,0,0,.5);
			color: #fff;
			text-align: center;
		}
		body.info .info_box dd {
			font-size: 1.8em;
			color: #fff;
			line-height: 1.3;
			text-shadow:0px 0px 3px #000000;
		}

/* !アーカイブページ共通
---------------------------------------------------------- */
.enjoy_box {
	padding: 15px;
	/*background: #666;*/
	background: #0079bf;
	border: 1px solid #8a8a8a;
	color: #fff;
	line-height: 1.8;
}
.enjoy_box h3 {
	margin-bottom: 10px;
	font-size: 2.57em;
}
.enjoy_box h3 a {
	position: relative;
	top: -8px;
	display: inline-block;
	padding: 1px 10px;
	font-size: 0.4em;
	background: #fff;
	color: #3f3f3f;
	border-radius: 5px;
	text-decoration: none;
}
.enjoy_box h3 a:hover {
	opacity: .8;
}
.enjoy_box h4 {
	margin-top: 30px;
}
.enjoy_box a {
	color: #fff;
}
@media screen and (max-width:639px) {
	.enjoy_box .flL {
		margin-bottom: 10px;
	}
}


/* !Souvenir
---------------------------------------------------------- */
.souvenir_box {
	margin-bottom: 15px;
	padding: 15px;
	background: #666;
	border: 1px solid #8a8a8a;
	color: #fff;
	line-height: 1.8;
}
.souvenir_box dt {
	margin-bottom: 10px;
	font-size: 2.57em;
}
.souvenir_box dt a {
	position: relative;
	top: -8px;
	display: inline-block;
	padding: 1px 10px;
	font-size: 0.4em;
	background: #fff;
	color: #3f3f3f;
	border-radius: 5px;
	text-decoration: none;
}
.souvenir_box dt a:hover {
	opacity: .8;
}
@media screen and (max-width:1000px) {
	.souvenir_box img {
		display: block;
		max-width: 328px;
		margin: 0 auto;
	}
}

/* !webcamera
---------------------------------------------------------- */
body.webcamera {
}

/* !Movie
---------------------------------------------------------- */
body.movie {
}
body.movie .video {
	position:relative;
	margin-bottom: 30px;
	width:100%;
	padding-top:56.25%;
}
body.movie .video iframe {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}

/* !Link
---------------------------------------------------------- */
body.link {
}
body.link dt {
	margin-top: 10px;
	font-size: 1.12em;
}
body.link dl a {
	font-weight: bold;
	text-decoration: none;
}
body.link dl a:hover {
	text-decoration: underline;
}
body.link dl a:before {
	content: '■';
}
body.link section#transport {
}
body.link section#transport h3 {
	background: #efefef;
	font-weight: bold;
	margin: 50px 0 0 0;
	padding: 0 0 0 5px;
}

/* !Sitemap
---------------------------------------------------------- */
body.sitemap {
}
body.sitemap .section_inner li {
}
body.sitemap .section_inner li a {
	display: block;
	margin-bottom: 10px;
	padding: 0 0.5em;
	background-color:#8BC8FF;
	color: #000;
	text-decoration: none;
	font-size: 0.85em;
}
body.sitemap .section_inner li a:hover {
	opacity: .8;
}
body.sitemap .section_inner li li a {
	display: block;
	padding: 0 1.5em;
	background-color:#BEE0FF;
}


/* !photo-contest
---------------------------------------------------------- */
body.type-contest,
body.photo-contest {
}

body.type-contest .photo-list,
body.photo-contest .photo-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 35px 0;
}
body.type-contest .photo-list li,
body.photo-contest .photo-list li {
	width: 48%;
	margin-bottom: 45px;
	text-align: center;
}
body.type-contest .photo-list dt,
body.photo-contest .photo-list dt {
}
body.type-contest .photo-list dd.title,
body.photo-contest .photo-list dd.title {
	padding: 10px 0;
	margin-bottom: 10px;
	font-size: 1.25rem;
	border-bottom: 1px solid #999;
}
body.type-contest .photo-list dd.title span,
body.photo-contest .photo-list dd.title span {
	display: inline-block;
	border: 1px solid #DDD;
	font-size: .85rem;
	margin-right: 4px;
	padding: 2px 10px;
	border-radius: 5px;
}

body.type-contest .past-prize,
body.photo-contest .past-prize {
	padding: 0 0 50px 0;
}
body.type-contest .past-prize h3,
body.photo-contest .past-prize h3 {
	font-size: 1.25rem;
	font-weight: bold;
	border-bottom: 1px solid #999;
}
body.type-contest .past-prize li a,
body.photo-contest .past-prize li a {
	display: block;
	padding: 5px 0;
	border-bottom: 1px dotted #999;
	text-decoration: none;
	color: #454545;
}
body.type-contest .past-prize li a:hover,
body.photo-contest .past-prize li a:hover {
	opacity: .8;
}
body.type-contest .past-prize li a:before,
body.photo-contest .past-prize li a:before {
	content: '・';
	font-weight: bold;
	color: blue;
}

@media screen and (max-width:639px) {
	body.type-contest .photo-list li,
	body.photo-contest .photo-list li {
		width: 100%;
		margin-bottom: 45px;
		text-align: center;
	}
	body.type-contest .photo-list dd.title span,
	body.photo-contest .photo-list dd.title span {
		display: block;
	}
}

/* !job-offers
---------------------------------------------------------- */
body.job-offers {
}

body.job-offers main p {
	margin: 12px 0 0 0;
}

body.job-offers main .wp-block-image img {
	width: 100%;
}



/* !リストページページ共通
---------------------------------------------------------- */
.list_box {
	box-sizing: border-box;
	display: table;
	width: 100%;
	/*background: #666;*/
	background: #0079bf;
	margin-bottom: 15px;
	padding: 15px;
	color: #fff;
	table-layout: fixed;
}
	.list_box p.list_box_img,
	.list_box p.more_read,
	.list_box dl {
		display: table-cell;
	}
	.list_box p.list_box_img {
		width: 180px;
		vertical-align: top;
		padding-right: 15px;
	}
	.list_box p.more_read {
		width: 115px;
		vertical-align: middle;
		text-align: right;
	}
	.list_box dt {
		font-size: 1.75em;
		font-weight: bold;
	}
	.list_box p.more_read a {
		display: inline-block;
		padding: 9px 13px;
		background: #fff;
		text-align: center;
		font-size: 1em;
		color: #3f3f3f;
		text-decoration: none;
		border-radius: 5px;
	}
	.list_box p.more_read a:hover {
		opacity: .8;
	}
@media screen and (max-width:639px) {
	.list_box {
		display: block;
	}
		.list_box p.list_box_img,
		.list_box p.more_read,
		.list_box dl {
			display: block;
		}
	.list_box p.list_box_img {
		margin-bottom: 10px;
		width: 100%;
		padding-right: 0;
	}
		.list_box p.list_box_img img {
			width: 100%;
			height: auto;
		}
	.list_box p.more_read {
		width: 100%;
		margin-top: 10px;
		text-align: center;
	}
	.list_box p.more_read a {
		box-sizing: border-box;
		width: 100%;
		padding: 8px;
	}
}

/* !Singleページ共通
---------------------------------------------------------- */
.acf-map {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 20px 0;
}

/* fixes potential theme css conflict */
.acf-map img {
   max-width: inherit !important;
}

/* !Singleページ
---------------------------------------------------------- */
#post_main {
	width: 65%;
	float: left;
}
#secondary {
	box-sizing: border-box;
	width: 25%;
	float: right;
	padding: 20px;
	background: #efefef;
}
#secondary h2 {
	font-size: 1.25em !important;
	border-bottom: 4px solid #DDD;
	margin-bottom: 5px;
}
#secondary li a {
	display: block;
	border-bottom: 1px dotted #666;
	padding: 4px 0;
	color: #454545;
	text-decoration: none;
}
#secondary li a:hover {
	color: #999;
}
#secondary li a:before {
	font-family: "FontAwesome";
	content: "\f0da";
	margin-right: 5px;
	color: #7DBB5B;
}
.entry_box .cat {
	padding: 2px 5px;
	font-size: 0.92em;
	color: #fff;
}
	.entry_box .cat_event {
		background: #004ea2;
	}
	.entry_box .cat_news {
		background: #51B753;
	}
.entry_box time {
	font-weight: bold;
	color: #454545;
}
.entry_box .entry-title {
	font-size: 1.75em !important;
	margin-bottom: 15px !important;
}
.eyecatch_image {
	margin-bottom: 15px;
}
.eyecatch_image img {
	width: 100%;
	height: auto;
}

@media screen and (max-width:900px) {
	#post_main {
		width: 100%;
		float: none;
	}
	#secondary {
		width: 100%;
		float: none;
	}
}


.select-wrap{
	position:relative;
	overflow:hidden;
	display:inline-block;
	margin-bottom: 30px;
	min-width:192px;
	min-width:12em;
	background-color:#ffffff;
	background-image:-webkit-linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	background-image:linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	border:1px solid #c0c0c0;
	color:#333;
}

.select-wrap select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	position:relative;
	z-index:2;
	display:block;
	width:200%;/* fallback non calc support */
	width:-webkit-calc(100% + 5em);
	margin:0;
	padding: 7px 35px 7px 11px;
	background:transparent;
	border:0;
	outline:none;
	font-size:16px;
	font-size:1rem;
	line-height:1.5;
}

.entypo-down-open-mini:before{
	content: "\f078";
	font-family: "FontAwesome";
	position:absolute;
	z-index:1;
	top:50%;
	right:12px;
	right:.75rem;
	margin-top:-8px;
	margin-top:-.5rem;
	font-size:16px;
	font-size:1rem;
	line-height:1;
	color:#333;
}

