/*　for iPhone Landscape　*/

/*-- 追加分 --*/

section.rules dl {
	padding: 0;
	margin: 35px auto;
	text-align: left;
	border-top: 1px solid #000;
	flex-wrap: wrap;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

section.rules dl dt {
	width: calc(25%);
	padding: 20px 15px;
	margin: 0;
	border-bottom: 1px solid #000;
}

section.rules dl dd {
	width: calc(75%);
	padding: 20px 15px 20px 0;
	margin: 0;
	border-bottom: 1px solid #000;
}

section.rules dl dd ul {
	margin-left: 18px;
	margin-bottom: 15px;
}

section.rules dl dd p {
	margin-bottom: 15px;
}

section.rules dl dd ul.ul02 {
	margin-bottom: 0px;
	margin-top: 15px;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.clr {
	width: 100%;
	height: 0;
	clear: both;
	float: none;
}

.pc {
	display: block !important;
}

.pc img {
	width: 100%;
}

.mb {
	display: none !important;
}

.mb img {
	width: 100%;
}

.appimg {
	padding: 35px 0;
}

@media screen and (max-width:850px) {
	/* flaot解除*/
	.box, .page, .box img, .side {
		float: none;
		margin: 0;
		width: auto;
	}
	#wrapper img {
		max-width: 100%;
		height: auto;
	}
	#wrapper .visual img {
		max-width: 40%;
	}
	.gnavi {
		display: none;
	}
	#main {
		margin: 10px 10px 40px;
	}
	.visual .visual_logo {
		top: 5px;
		left: 5px;
	}
	.visual .visual_logo img {
		width: 50px;
	}

	/*		トップページ
-----------------------------------------------------*/
	/* お知らせ */
	.info {
		max-width: 95%;
	}
	.info dl {
		margin-bottom: 40px;
		padding: 0 10px;
	}
	.info dl dt {
		float: left;
		width: 9em;
		padding: 10px 0;
	}
	.info dl dd {
		padding: 10px 0 10px 9em;
		border-top: solid 1px #000;
	}
	/* ページ内リンク */
	.page_nav ul {
		margin: 40px auto 0;
	}
	.page_nav li {
		margin: 0 3px 18px;
	}
	.page_nav li:last-child {
		margin-bottom: 0;
	}
	.page_nav li a {
		padding: 3px 25px 3px 10px;
		font-size: 16px;
	}
	/* 盛岡国際俳句大会とは */
	.haikutowa_in {
		height: auto;
		padding: 20px 10px;
	}
	.haikutowa_in .mhaiku p {
		font-size: 14px;
	}
	/*海外でも注目されている「HAIKU」*/
	.haiku_image {
		display: block;
		margin: 0 auto 10px;
	}
	.sakuhin {
		width: 100%;
		float: none;
		padding: 20px 10px 10px;
	}
	.sakuhin p {
		font-size: 17px;
	}
	.sakuhin p .jpn {
		font-size: 60%;
	}
	p.hia {
		font-size: 14px;
		text-align: right;
		margin-top: 10px;
	}
	/* 俳句に関わりのある盛岡の先人たち */
	/*.page p{ margin: 0 10px; }*/
	.terry img {
		margin: 0 auto -20px;
		display: block;
		width: 60%;
		max-width: 200px !important;
		height: auto;
	}
	.terry p {
		float: none;
		text-align: center;
		margin-bottom: 5px;
	}
	.box .box_image {
		float: none;
		margin: 0 auto 20px;
	}
	.box img {
		margin: 0 auto;
		display: block;
		width: 60%;
		max-width: 200px !important;
		height: auto;
	}
	.box h4 {
		text-align: center;
		margin-top: 10px;
		font-size: 17px;
	}
	.box .shimei, .furi, .bd {
		text-align: center;
	}
	.shimei {
		font-size: 25px;
	}
	.furi {
		font-size: 15px;
	}
	.ku {
		margin-bottom: 30px;
	}
	.tour {
		margin-bottom: 40px;
	}
	.tour a {
		font-size: 25px;
	}
	.banner {
		text-align: center;
	}
	.notice {
		float: none;
		margin: -10px auto 20px;
		width: 100%;
	}
	.bsyk.winning {
		width: calc(100% - 20px);
	}
	.bsyk.winning a {
		padding: 20px;
	}
	/*		コンテンツページ（共通）
-----------------------------------------------------*/
	/* tableを横スクロールする(スマホのみ) */
	.table_scroll {
		margin: 0 0 20px;
		overflow: auto;
		white-space: nowrap;
	}
	.table_scroll::-webkit-scrollbar {
		height: 5px;
	}
	.table_scroll::-webkit-scrollbar-track {
		background: #F1F1F1;
	}
	.table_scroll::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
	/*		Footer
-----------------------------------------------------*/
	address {
		font-size: 11px;
	}
	.go_top {
		width: 40px;
		height: 40px;
		bottom: 3px;
	}
	.page h2 {
		padding: 0 35px 10px;
		font-size: 24px;
	}
	.page h2:before, .page h2:after {
		width: 25px;
	}
	.page h3 {
		font-size: 17px;
	}
	h3.cont {
		font-size: 22px;
	}
	/*		大会のご案内
-----------------------------------------------------*/
	/* 応募の流れ */
	.step_flow dl {
		display: inline;
	}
	.step_flow dl p {
		padding: 18px 0 0;
	}
	.step_flow dt {
		width: 100%;
		height: 80px;
		border-bottom-left-radius: 0;
		border-top-right-radius: 10px;
		padding: 0 20px;
	}
	.step_flow dd {
		width: 100%;
		border-bottom-left-radius: 10px;
		border-top-right-radius: 10px;
		border-top-left-radius: 10px;
		padding: 90px 20px 10px;
		font-size: 14px;
	}
	.number {
		font-size: 55px;
		padding: 0 20px 10px 0;
	}
	.o-title {
		font-size: 18px;
	}
	.page dt.last {
		padding: 10px 0 5px 20px;
	}
	dt.last .number {
		margin-top: -10px;
	}
	.page dd.last {
		padding: 90px 20px 10px;
	}
	.page dl.last {
		margin-bottom: 50px;
	}
	/* 大会概要 */
	.outline dt {
		width: 100%;
		padding: 10px 0 5px 0;
		font-size: 20px;
		text-align: center;
		border-top: 1px solid #000;
	}
	.outline dd {
		width: 100%;
		padding: 0 0 10px;
		font-size: 15px;
		text-align: center;
		border-top: none;
	}
	.out-bottom dt {
		border-bottom: none;
		width: 100%;
		padding: 10px 0 5px 0;
	}
	.out-bottom dd {
		width: 100%;
		padding: 0 0 10px;
		margin-bottom: 60px;
		border-top: none;
	}
	.outline.guest dt {
		position: static;
	}
	.outline.guest dd {
		padding: 0 0 10px;
	}
	.guest img {
		float: none;
		width: 140px;
		margin: 0 auto 5px;
	}
	.outline dd.b-t_none img {
		padding-bottom: 0;
	}
	.guest_box {
		margin-right: 0;
	}
	.guest_profile {
		font-size: 14px;
	}
	/*		応募フォーム
-----------------------------------------------------*/
	.form_area iframe {
		width: 100%;
	}
	/*---------------------------------------------------------------------------
            　　　　　     ▽ハンバーガーメニューここから▽
---------------------------------------------------------------------------*/
	.hm_menu_check {
		display: none;
	}
	.hm_wrap {
		display: inline-block;
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		padding: 10px;
		background: #000;
		z-index: 100;
	}
	.hm_wrap.fixed {
		position: fixed;
	}
	.hm_title {
		width: 90%;
		color: #fff;
		display: inline-block;
		float: left;
		font-weight: 100;
		line-height: 30px;
		/*	margin: 0 0 0 15px;*/
	}
	.hm_title a {
		color: #fff;
	}
	.hm_title a:hover {
		color: #ccc;
	}
	.hm_btn {
		position: relative;
		width: 30px;
		height: 30px;
		cursor: pointer;
		display: block;
		float: right;
		z-index: 2;
	}
	.hm_btn::before {
		-webkit-box-shadow: #fff 0 12px 0;
		box-shadow: #fff 0 12px 0;
	}
	.hm_btn::after {
		bottom: 0;
	}
	.hm_btn::before, .hm_btn::after {
		width: 30px;
		height: 6px;
		background: #fff;
		display: block;
		content: '';
		position: absolute;
		-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
		transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
	}
	.hm_menu_wrap {
		width: 70%;
		height: 10000px;
		background: #fff;
		position: absolute;
		left: -100%;
		top: 0;
		-webkit-transition: left 0.4s;
		transition: left 0.4s;
	}
	.hm_menu_check:checked~.hm_title {
		opacity: 1;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
	}
	.hm_menu_check:checked~.hm_btn::before {
		-webkit-box-shadow: transparent 0 0 0;
		box-shadow: transparent 0 0 0;
		-webkit-transform: rotate(45deg) translate3d(6px, 11px, 0);
		transform: rotate(45deg) translate3d(6px, 11px, 0);
	}
	.hm_menu_check:checked~.hm_btn::after {
		-webkit-transform: rotate(-45deg) translate3d(6px, -11px, 0);
		transform: rotate(-45deg) translate3d(6px, -11px, 0);
	}
	.hm_menu_check:checked~.hm_menu_wrap {
		left: 0;
	}
	.hm_list {
		list-style-type: none;
		margin: 50px 0 0;
		padding: 0;
	}
	.hm_list li a {
		color: #777;
		display: block;
		overflow: hidden;
		padding: 8px 22px;
		position: relative;
		text-decoration: none;
		z-index: 1;
	}
	.hm_list li a::before {
		background: #eee;
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 100%;
		left: 0;
		-webkit-transition: bottom 0.4s;
		transition: bottom 0.4s;
		z-index: -1;
	}
	.hm_list li a:hover::before {
		bottom: 0;
	}
	.hm_list li a:hover::after {
		opacity: 0.5;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	.hm_menu_close {
		width: 0;
		height: 0;
		background: #000;
		opacity: 0;
		position: absolute;
		left: 70%;
		top: 0;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}
	.hm_menu_close label {
		display: block;
		width: 100%;
		height: 100%;
		cursor: pointer;
	}
	.hm_menu_check:checked~.hm_menu_close {
		width: 30%;
		height: 10000px;
		opacity: 0.8;
	}
	/*---------------------------------------------------------------------------
            　　　　　     △ハンバーガーメニューここまで△
---------------------------------------------------------------------------*/
	/*-- 追加分 --*/
	.pc {
		display: none !important;
	}
	.mb {
		display: block !important;
	}
	section.rules dl dt {
		width: calc(100%);
		text-align: center;
		border: none;
	}
	section.rules dl dd {
		width: calc(100%);
		margin-bottom: 10px;
		padding: 20px 15px;
	}
	/*-- 追加分ここまで --*/
}

@media only screen and (max-width:534px) {
	.visual{
		margin-top: 85px;
	}
}
@media screen and (max-width:480px) {
	br.sp {
		display: inline-block;
	}

}

@media only screen and (max-width:414px) {
	.visual {
		max-width: 100%;
		height: 547px;
		background-image: url("../img/common/main_bg@sp.jpg");
	}
	.visual-2023 {
		background-image: url("../img/common/main_bg-2023@sp.jpg");
	}
	.visual-2023 {
		background-image: url("../img/common/main_bg-2024@sp.webp");
	}
}

@media screen and (max-width: 414px), (-webkit-min-device-pixel-ratio:2), (min-resolution: 2dppx) {
	.visual {
		background-image: url("../img/common/main_bg@2x.jpg");
	}
	.visual-2023 {
		background-image: url("../img/common/main_bg-2023@2x.jpg");
	}
	.visual-2024 {
		background-image: url("../img/common/main_bg-2024@2x.webp");
	}
}

@media screen and (max-width: 414px), (-webkit-min-device-pixel-ratio:3), (min-resolution: 3dppx) {
	.visual {
		background-image: url("../img/common/main_bg@3x.jpg");
	}
	.visual-2023 {
		background-image: url("../img/common/main_bg-2023@3x.jpg");
	}
	.visual-2024 {
		background-image: url("../img/common/main_bg-2024@3x.webp");
	}
}

@media screen and ( min-width:850px) {
	.hm_wrap {
		display: none;
	}
}