@charset "UTF-8";
/* ===================================================================
CSS information

 file name  :base.css
 style info :共通のスタイル指定(ヘッダー、フッターなど)
=================================================================== */

/* ================共通================== */
body {
	/*font-family: verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;*/
	font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
		"Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-feature-settings: "palt";
	background: #fff;
	color: #000000;
	line-height: 170%;
	font-size: 15px;
}

a,
a:hover {
	color: #666;
	text-decoration: none;
}

.btn-contact {
	background-color: #f39800;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	color: #fff !important;
	font-weight: bold;
	font-size: 18px;
}

.red {
	color: #e60012;
}

.pink {
	color: #ea5350;
}

.tar {
	text-align: right;
}

/* ================ヘッダー================== */
header {
	/*  border-bottom: solid 3px #ea5350;
  background: #ffffff url(../img/bg_header.jpg) center top repeat-x;*/
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

@media screen and (max-width: 1020px) {
	header {
		background: none;
		border-bottom: solid 0px #ea5350;
	}

	.header-inner {
		background: #ffffff url(../img/bg_header.jpg) center top repeat-x;
	}

	#dropmenu {
		border-bottom: solid 3px #ea5350;
	}
}

@media screen and (min-width: 1020px) {
	header {
		background: #ffffff url(../img/bg_header.jpg) center top repeat-x;
		border-bottom: solid 3px #ea5350;
	}
}

.header-pre-entry .btn-pre-entry {
	position: relative;
}

.header-pre-entry .btn-pre-entry:after {
	content: "";
	display: block;
	position: absolute;
	border: solid 1px #fff;
	left: 1px;
	right: 1px;
	top: 1px;
	bottom: 1px;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

/* ================フッター================== */
.bnr-footer {
	background-color: #fafafa;
	border-top: solid 1px #ccc;
}

footer {
	background-color: #ea5350;
	color: #fff;
}

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 77%;
}

#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 50px;
	height: 50px;
	text-align: center;
	display: block;
	border-radius: 50%;
	line-height: 50px;
	font-size: 16px;
}

/* ================MV================== */

.mv-container {
	border-bottom: solid 3px #ea5350;
	/*background: url(../img/bg_mv_sp.jpg) center center repeat-x;*/
	background-size: contain;
	margin-top: 171px;
}

#js-slide__nav {
	text-align: center;
	position: relative;
	top: -310px;
}

#js-slide__nav__inner {
	/* display: inline-block;*/
	position: relative;
	width: 1000px;
	margin: 0 auto;
}

.slider-arrow {
	position: absolute;
	top: 50%;
	width: 62px;
	height: 62px;
	z-index: 10;
	cursor: pointer;
}

.slider-prev {
	left: 20px;
}

.slider-next {
	right: 20px;
}

.pc_slide {
	display: block;
}

.sp_slide {
	display: none;
}

@media only screen and (max-width: 768px) {
	.mv-container {
		background: none;
	}

	#js-slide__nav {
		text-align: center;
		position: absolute;
		top: 37%;
		width: 100%;
		padding: 0 5px;
	}

	#js-slide__nav__inner {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		position: relative;
		width: 100%;
		margin: 0 auto;
	}

	.slider-arrow {
		position: static;
		top: 50%;
		width: 24px;
		height: 24px;
		z-index: 10;
		cursor: pointer;
	}

	.slider-prev {
		left: 20px;
	}

	.slider-next {
		right: 20px;
	}

	.pc_slide {
		display: none;
	}

	.sp_slide {
		display: block;
	}
}

/* ================TOPページ================== */
.unit-topinfo {
	/*	border: solid 1px #ccc;*/
}

.unit-news {
	border: solid 1px #ccc;
	border-top: solid 3px #f39800;
	font-size: 14px;
}

.unit-news h3 {
	font-size: 20px;
	margin-bottom: 15px;
}

.unit-news dl {
	border-bottom: solid 1px #ccc;
	font-weight: bold;
	padding: 0 0 15px;
	margin-bottom: 15px;
}

.unit-news dl:last-child {
	margin-bottom: 0;
}

.unit-news dl dt span {
	display: inline-block;
	background-color: #ea5350;
	padding: 0.4em;
	color: #fff;
	font-size: 10px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	line-height: 1em;
	margin-left: 1em;
}

.unit-news dl dd {
	font-weight: normal;
	line-height: 150%;
}

.unit-news dl dd a {
	text-decoration: underline;
}

.unit-bnr {
	/*	border-top: 1px dashed #d9d9d9; */
	margin: 0 0 20px auto;
	/*	padding-top: 20px;*/
	text-align: center;
	max-width: 420px;
}

ul.bnr_block_a {
	margin-bottom: 20px;
}

ul.bnr_block_a li {
	padding-bottom: 10px;
}

ul.bnr_block_a li:last-child {
	padding-bottom: 0px;
}

ul.bnr_block_b {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

ul.bnr_block_b li {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 20px;
	width: 48%;
}

ul.bnr_block_b li:nth-child(2n) {
	margin-right: 0px;
}

.unit-fb {
	border: solid 1px #ccc;
	border-top: solid 3px #ea5350;
	margin: 20px auto 0;
	padding-top: 20px;
}

.bnr_block {
	margin-bottom: 20px;
}


.container .youtube {
	text-align: center;
	margin-bottom: 10px;
}


/* ===================================================================
スマホ
=================================================================== */
@media only screen and (max-width: 768px) {

	/* ================共通================== */
	.hide-pc {
		display: none;
	}

	.container {
		padding: 0px 10px 10px;
	}

	.container_top {
		padding-top: 70px;
	}

	body.top .container {
		padding-top: 40px;
	}

	li.nav-null ul {
		display: none;
	}

	/* ================バナー================== */
	.bnr-footer ul {
		padding: 10px;
		overflow: hidden;
	}

	.bnr-footer ul li {
		float: left;
		margin-bottom: 2%;
		width: 49%;
		margin-right: 2%;
	}

	.bnr-footer ul li:nth-child(2n) {
		margin-right: 0;
	}

	/* ================ヘッダー================== */
	header {
		/* height: 70px; */
	}

	header h1 {
		width: 212px;
	}

	header h1 img {
		max-height: 99px;
	}

	header .header-inner {
		padding: 5px 15px;
	}

	.header-info,
	.header-pre-entry {
		display: none;
	}

	#menu {
		display: none;
	}

	.js .slicknav_menu {
		display: block;
	}

	/* ================フッター================== */
	footer {
		padding: 20px 10px;
	}

	.footer-info {
		border-bottom: solid 1px rgba(255, 255, 255, 0.5);
	}

	.footer-info p {
		font-weight: bold;
	}

	.footer-info .guide-bnr {
		margin-bottom: 20px;
	}

	.footer-info ul {
		font-size: 12px;
		padding: 10px 0;
	}

	.footer-info ul li {
		line-height: 160%;
	}

	.footer-info ul li a {
		color: white;
	}

	.copyright {
		font-size: 10px;
		line-height: 140%;
		padding-top: 10px;
		padding-bottom: 50px;
	}

	#page-top {
		display: none !important;
	}

	/* ================MV================== */
	.mv-container {
		border-bottom: solid 3px #ea5350;
		position: relative;
		margin-top: 65px;
		margin-top: 70px;
	}

	.mv-container .mv-sp {
		width: 100vw;
		margin: 70px auto 0;
		padding: 0;
	}

	.mv-sp .mv-catch {
		margin-bottom: 0px;
	}

	.mv-sp ul li {
		margin-bottom: 10px;
		text-align: center;
	}

	.mv-sp2 ul li {
		margin-top: 10px;
		margin-bottom: 10px;
		text-align: center;
	}

	/* ================トップページ================== */
	.unit-news {
		margin-bottom: 10px;
		padding: 10px;
	}

	ul.bnr_block_a {
		text-align: center;
		padding-top: 20px;
	}

	ul.bnr_block_b {
		text-align: center;
	}

	ul.bnr_block_b li {
		display: inline-block;
		margin-right: 15px;
		margin-bottom: 20px;
		width: 47%;
	}

	ul.bnr_block_b li:nth-child(2n) {
		margin-right: 0px;
	}

	.unit-fb {
		padding: 10px;
		margin-bottom: 10px;
	}

	.bnr_block {
		text-align: center;
		margin-top: 10px;
	}

	.container iframe {
		max-width: 100%;
		height: 54vw;
	}
}

/* ===================================================================
PC
=================================================================== */
@media print,
screen and (min-width: 769px) {

	/* ================共通================== */
	.hide-sp {
		display: none;
	}

	.container {
		padding: 0px 0 40px;
		margin: 0 auto 0;
		width: 1000px;
	}

	.container_top {
		padding-top: 171px;
	}

	body.top .container {
		padding-top: 40px;
	}

	/* ================ヘッダー================== */
	.header-inner {
		width: 1000px;
		height: 110px;
		margin: 0 auto;
		overflow: hidden;
	}

	.header-inner h1 {
		float: left;
		margin-top: 10px;
	}

	.header-inner h1 img {
		width: 280px;
	}

	.header-info {
		float: right;
		display: flex;
		/* gap: 20px; */
		font-size: 12px;
		position: relative;
		margin-top: 15px;
		margin-top: 3px;
		/* margin-top: 22px;
		margin-left: 75px;
		margin-right: 15px; */
		/*	margin-left: 20px;*/
		flex-direction: column;
	}

	.header-info ul {
		position: absolute;
		right: 0;
		top: 30px;
		overflow: hidden;
	}

	.header-info ul li {
		float: left;
		margin-left: 10px;
	}

	.btn-header a {
		display: block;
		padding: 2px 15px;
		color: #fff;
		border-radius: 2px;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
	}

	.header-info .btn-access a {
		background-color: #37ced3;
	}

	.header-info .btn-entry a {
		background-color: #ea5350;
	}

	.header-info dl {
		/*	overflow: hidden;*/
		line-height: 180%;
	}

	.header-info dl dt {
		float: left;
		background-color: #727171;
		padding: 4px 0;
		text-align: center;
		color: #fff;
		border-radius: 2px;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		width: 80px;
		line-height: 1em;
	}

	.header-info dl dd {
		margin-left: 90px;
		font-weight: bold;
		line-height: 1.1;
	}

	.header-info dl dd span {
		font-size: 24px;
		font-weight: bold;
	}

	.header-pre-entry {
		float: right;
		margin-top: 3px;
		width: 450px;
		display: flex;
		justify-content: end;
		/*	margin-top: 25px;*/
		/*margin-left: 30px;*/
	}

	.header-pre-entry a {
		/*	width: 330px;*/
		width: 225px;
		display: block;
	}

	.header-pre-entry a img {
		max-width: 100%;
		image-rendering: -webkit-optimize-contrast;
	}

	.header-pre-entry a:hover {
		opacity: 0.7;
	}

	/* お問い合わせボタン */

	.head_contact {
		float: left;
		width: 235px;
		background: #72cc49;
		overflow: hidden;
		margin-bottom: 12px;
	}

	.head_contact ul {
		text-align: center;
		color: #f3ffff;
	}

	.head_contact ul li {
		display: inline-block;
		height: 50px;
		line-height: 50px;
	}

	.head_contact ul li.contact_icon {
		padding-right: 12px;
	}

	.head_contact ul li.contact_icon img {
		width: 27px;
		vertical-align: middle;
	}

	.head_contact ul li.contact_arrow {
		padding-left: 15px;
	}

	.head_contact ul li.contact_arrow img {
		width: 8px;
		vertical-align: middle;
	}

	a>.head_contact:hover {
		background: rgba(114, 204, 73, 0.8);
	}

	/* ================ナビゲーション================== */
	.gnavi {
		border-top: solid 1px #ccc;
		background-color: #fcebea;
	}

	.gnavi ul {
		width: 1000px;
		margin: 0 auto;
	}

	.gnavi ul li {
		width: calc(100% / 5);
		width: auto;
	}

	.gnavi ul li.nav-wide {
		width: 200px;
	}

	.gnavi ul li.nav-first {
		/* width: calc(100% / 7); */
		/*166px*/
		float: left;
		border-right: solid 1px #ccc;
		text-align: center;
		height: 60px;
		position: relative;
		font-size: 13px;
		font-weight: bold;
	}

	.gnavi ul li.nav-first:first-child {
		border-left: solid 1px #ccc;
		/*width: 170px; */
	}

	.gnavi ul li.nav-first>a {
		display: block;
		height: 100%;
		width: 100%;
		line-height: 120%;
		position: relative;
		color: #666;
	}

	.gnavi ul li.nav-first span {
		display: block;
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		/* Safari用 */
		transform: translateY(-50%);
	}

	.gnavi ul li.nav-first a span em {
		display: block;
		font-size: 10px;
		font-style: normal;
		color: #ea5350;
	}

	.gnavi ul li.nav-nomal a.current,
	.gnavi ul li.nav-nomal a:hover {
		background-color: #ea5350;
		color: #fff !important;
	}

	.gnavi ul li.nav-nomal a:hover span em {
		color: #fff;
	}

	.gnavi ul li.nav-contact a {
		background-color: #f39800;
		color: #fff;
	}

	.gnavi ul li.nav-null {
		color: #999;
	}

	.gnavi ul li i {
		font-size: 10px;
		color: #fff;
		position: absolute;
		right: 0;
		top: 6px;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		z-index: 5;
		font-style: normal;
	}

	.nav-new:after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		border-bottom: 3em solid transparent;
		border-right: 3em solid #ff797d;
		width: 0;
		height: 0;
	}

	.slicknav_menu {
		display: none;
	}

	/* ================プルダウン================== */

	.dropmenu {
		*zoom: 1;
	}

	.dropmenu:before,
	.dropmenu:after {
		content: "";
		display: table;
	}

	.dropmenu:after {
		clear: both;
	}

	.dropmenu li {
		/* background-color: #fff; */
		position: relative;
		width: 165px;
		float: left;
		text-align: center;
	}

	.dropmenu li a {
		display: block;
		margin: 0;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		right: 0;
	}

	.dropmenu li ul {
		position: absolute;
		z-index: 9999;
		top: 100%;
		left: 0;
	}

	.dropmenu li.nav-first {
		border-bottom: solid 1px #ccc;
	}

	.dropmenu li:hover ul li {
		border-top: solid 1px #ccc;
	}

	#dropmenu li ul li {
		clear: both;
		overflow: hidden;
		height: 0;
		transition: 0.2s;
	}

	#dropmenu li:hover ul li {
		overflow: visible;
		height: 40px;
	}

	#dropmenu li:hover ul li a {
		line-height: 40px;
	}

	#dropmenu li ul li a:hover {
		color: #ea5350;
	}

	/* ================バナー================== */
	.bnr-footer {
		padding: 40px 0;
	}

	.bnr-footer ul {
		width: 1000px;
		margin: 0 auto;
		overflow: hidden;
	}

	.bnr-footer ul li {
		width: 235px;
		float: left;
		margin-right: 20px;
	}

	.bnr-footer ul li:last-child {
		margin-right: 0;
	}

	/* ================フッター================== */
	footer .footer-inner {
		width: 1000px;
		margin: 0 auto;
		background-color: #ea5350;
	}

	.footer-info {
		overflow: hidden;
		padding: 40px 0;
		border-bottom: solid 1px rgba(255, 255, 255, 0.5);
	}

	.footer-info .footer-sitetitle {
		width: 250px;
		float: left;
	}

	.footer-info ul {
		font-size: 12px;
		float: left;
		width: 560px;
	}

	.footer-info .guide-bnr {
		float: left;
		width: 240px;
	}

	.copyright {
		padding: 15px;
	}

	.copyright p {
		text-align: center;
		font-size: 10px;
	}

	.mv-container2 {
		height: 150px;
		text-align: center;
		padding: 15px 0 0;
	}

	.mv-pc {
		width: 860px;
		margin: 164px auto 0;
		position: relative;
	}

	.mv-pc .list-btn {
		overflow: hidden;
		padding: 30px 60px;
	}

	.mv-pc .list-btn li {
		display: inline-block;
		padding: 0 5px;
	}

	.mv-pc .list-btn li:last-child {
		margin-right: 0;
	}

	/* ================トップページ================== */
	.top-container {
		overflow: hidden;
	}

	.unit-topinfo {
		width: 450px;
		float: left;
		margin-top: 30px;
	}

	.unit-topinfo_left {
		width: 550px;
	}

	.unit-topinfo:first-child {
		margin-right: 0px;
		margin-top: 30px;
	}

	.unit-news {
		padding: 25px;
	}

	.unit-news .news {
		height: 300px;
		overflow: auto;
	}

	.unit-fb {
		padding: 15px;
		margin-bottom: 20px;
	}
}

.footer-menu {
	display: none;
}

@media only screen and (max-width: 769px) {
	.footer-menu ul {
		text-align: center;
		min-height: 55px;
		line-height: 55px;
	}

	.footer-menu ul li {
		display: inline-block;
		vertical-align: middle;
		color: #ffffff;
		font-size: 13px;
		font-weight: bold;
		padding: 0;
		line-height: 1.5;
	}

	.mail_btn {
		display: inline-block;
		width: calc(100% * 260 / 640);
		vertical-align: middle;
		border-right: 1px solid rgba(0, 0, 64, 0.2);
	}

	.mail_btn img {
		width: 85%;
	}

	.tel_btn {
		display: inline-block;
		width: calc(100% * 260 / 640);
		vertical-align: middle;
		border-right: 1px solid rgba(0, 0, 64, 0.2);
	}

	.tel_btn img {
		width: 85%;
	}

	.top_btn {
		display: inline-block;
		width: calc(100% * 100 / 640);
		vertical-align: middle;
	}

	.top_btn img {
		width: 60px;
	}

	.footer-menu {
		width: 100%;
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		background: #009e41;
		background: -moz-linear-gradient(top, #009e41 0%, #147e34 100%);
		background: -webkit-linear-gradient(top, #009e41 0%, #147e34 100%);
		background: linear-gradient(to bottom, #009e41 0%, #147e34 100%);
		box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
		-moz-box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
		-webkit-box-shadow: 1px -5px 6px 3px rgba(0, 0, 0, 0.2);
		z-index: 1;
	}

	.footer-menu {
		left: 0px;
	}
}

.attention_txt {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 20px;
	background-color: #ffffff;
	border: 5px solid #f39800;
	padding: 2%;
}

.attention_txt p {
	font-size: 18px;
	font-weight: 700;
}

.attention_txt a {
	border-bottom: 2px solid #df3236;
	padding: 0 3px;
}

@media only screen and (max-width: 768px) {
	.attention_txt {
		width: 90%;
	}

	.attention_txt p {
		font-size: 16px;
	}
}

.is-fixed {
	position: fixed;
	top: 0;
	/*	left: 0;*/
	z-index: 1;
	width: 100%;
}

.pc_none {
	display: none;
}

@media only screen and (max-width: 769px) {
	.sp_none {
		display: none;
	}

	.pc_none {
		display: block;
	}
}

span.s_size {
	font-size: 14px;
	font-weight: normal;
	color: #000000 !important;
}

.l_size {
	font-size: 150% !important;
}

@media only screen and (max-width: 769px) {
	.l_size {
		font-size: 120% !important;
	}
}

.mt0 {
	margin-top: 0px !important;
}

.mb2 {
	margin-bottom: 2em;
}

/* 印刷用指定
----------------------------------------------------*/
@page {
	size: A4;
	margin: 10mm;
}

@media print {
	body {
		font-family: "游ゴシック", Yu Gothic, "ヒラギノ角ゴ Pro",
			"Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
		min-width: 1000px;
		/* 値はデザインに準拠 */
		width: 190mm;
		/* needed for Chrome */
		zoom: 0.75;
		-webkit-print-color-adjust: exact;
		/* Chrome 背景まで印刷する指定 */
		overflow-y: visible;
		overflow-x: visible;
	}

	header {
		border-bottom: solid 3px #ea5350;
		background: #ffffff url(../img/bg_header.jpg) center top repeat-x;
		position: static;
	}

	#page-top {
		/* ページ上部へ戻るを消す */
		display: none !important;
	}

	.special_area,
	.merit-container {
		page-break-after: always;
		/* 直後に改ページさせる */
	}

	.show,
	.merit-container,
	.item-act {
		page-break-inside: avoid;
		/* 途中改ページを防ぐ */
	}
}

@media print and (-ms-high-contrast: none) {

	/* IE10以降ハック */
	body {
		zoom: 92%;
	}
}


#portal_block {
	margin-top: 0 !important;
}

.f_r {
	float: right;
}

.fr_img {
	max-width: 40%;
	width: 300px;
	margin: 0 0 10px 10px;
	text-align: right;
	font-size: 90%;
}

/* -------------------------------
追加:20220105
------------------------------- */

.unit-topinfo .top_bnr_ttl {
	width: 100%;
	background: #23ac38;
	padding: 0;
	position: relative;
	margin-bottom: 24px;
	border-radius: 5px;
	margin-top: 0;
}


.unit-topinfo .top_bnr_ttl p {
	background: #23ac38;
	position: relative;
	color: #fff;
	font-size: 16px;
	padding: 10px 0;
	text-align: center;
	border-radius: 5px;
}

.unit-topinfo .top_bnr_ttl p:after {
	content: " ";
	width: 0;
	height: 0;
	position: absolute;
	border: 10px solid transparent;
	border-top-color: #23ac38;
	top: 100%;
	left: 48%;
}

.unit-topinfo .top_bnr_ttl_smalltext p {
	/* font-size: 14px;
	line-height: 1.4; */
	background-color: #B3424A;
}

.unit-topinfo .top_bnr_ttl_smalltext p:after {
	border-top-color: #B3424A;
}

.unit-topinfo .top_bnr_ttl_smalltext br {
	display: none;
}

@media only screen and (max-width: 769px) {
	.unit-topinfo .top_bnr_ttl_smalltext br {
		display: block;
	}
}

/* -------------------------------
20220930
------------------------------- */

.unit-topinfo .top_bnr_ttl2 p {
	background-color: #68bc54;
}

.unit-topinfo .top_bnr_ttl2 p:after {
	border-top-color: #68bc54;
}

/* -------------------------------
20230220
------------------------------- */
#page-top a, #page-top div.scroll_to_top {
	background: #b3b3b3;
	text-decoration: none;
	color: #fff;
	width: 100px;
	padding: 30px 0;
	text-align: center;
	height: auto;
	display: block;
	border-radius: 0;
	line-height: initial;
}

#page-top {
	position: fixed;
	bottom: -80px;
	right: 20px;
	transition: 0.3s;
}

.show_navi .ttl-line span {
	color: #026936;
}


.unit-topinfo .top_bnr_ttl.top_bnr_pr p {
	background: #e55b52;
}

.unit-topinfo .top_bnr_ttl.top_bnr_pr p:after {
	border-top-color: #e55b52;
}

@media only screen and (max-width: 769px) {
	#page-top a, #page-top div.scroll_to_top {
		display: none;
	}
}


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

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


.top_head {
	width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	padding: 30px 0 0;
	gap: 20px;
	/* flex-wrap: wrap; */
	max-width: 100%;


	.left {
		flex: 0 0 54%;


		.interview_youtube {
			margin: 0 auto;
			border: 1px solid red;
			padding-bottom: 17px;

			.youtube {
				justify-content: center;
				display: flex;
				padding-top: 15px;
			}

			.title {
				background-color: red;
				color: white;
				font-size: 20px;
				font-weight: bold;
				margin-bottom: 12px;
				line-height: 1;
				padding: 10px;
				text-align: center;

				span {
					font-size: 13px;
					font-weight: normal;
				}
			}
		}
	}

	.right {
		flex: 0 0 44%;

		a {
			display: block;
			text-align: right;
		}
	}

}

@media only screen and (max-width: 769px) {
	.top_head {
		flex-direction: column;
		width: 100%;
		margin-bottom: 20px;
		padding-top: 0;

	}

}


/* -------------------------------
20250916
------------------------------- */


header {
	.language_wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-left: 5px;

	}

	.language_btn {
		line-height: 1.3;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 13px;
		text-align: center;
		padding: 5px;
		width: auto;

		img {
			max-width: 16px;
			margin-right: 5px;
		}
	}

	.language_btn:hover {
		background-color: #eee;
	}

}

.dropmenu {
	.sp_language {
		background-color: #555;

		a {
			color: white !important;
		}

	}
}


.premiumfood {
	-webkit-font-smoothing: antialiased; /* Webkit系ブラウザ (Chrome, Safari) */
	-moz-osx-font-smoothing: grayscale; /* Firefox (macOS向け) */
	text-rendering: optimizeLegibility; /* ブラウザに描画最適化を指示 */
	.container {
		max-width: 100%;
		width: 100%;
	}

	.pavilion-description_section {
		font-family: "Zen Old Mincho", serif;
		background-image: url(../img/premiumfood/premium_food_pavirion_back.png);
		background-position-y: 0px;
		background-size: cover;
		text-align: center;
		padding-top: 70px;
		padding-bottom: 70px;
		
		

		.pavilion-description {
			h1 {
				font-size: 52px;
				letter-spacing: 1px;
				font-family: "Zen Old Mincho", serif;
				font-weight: 700;
				line-height: 1;
				margin-bottom: 20px;
			}

			p {
				font-size: 26px;
				letter-spacing: 0;
				font-weight: bold;
				font-family: "Zen Old Mincho", serif;
				color: #810907;
			}
		}

		.pavilion-images {
			display: flex;
			justify-content: center;
			margin-top: 30px;
			margin-bottom: 25px;

			img {
				max-width: 200px;
				box-shadow: 2px 3px 4px #aaa;
			}

			img:nth-child(odd) {
				margin-bottom: 100px;
			}

			img:nth-child(even) {
				margin-top: 100px;
			}
		}

		.premium-food-info {
			h2 {
				font-family: "Zen Old Mincho", serif;
				color: #810907;
				font-size: 38px;
				font-weight: bold;
				line-height: 1;
				margin-bottom: 30px;
			}

			p {
				font-family: "Zen Old Mincho", serif;
				font-size: 22px;
				font-weight: normal;
				line-height: 1.5;
			}
		}
	}

	.forbg {
		background-image: url(../img/premiumfood/premium_food_pavirion_line_1.png);
		background-position-y: -150px;
		background-size: cover;
		background-position-x: center;
	}

	.pavilion-benefits_section {
		font-family: "Zen Old Mincho", serif;
		/* margin-top: 20px; */




		.pavilion-benefits {

			h2 {
				text-align: center;
				font-size: 46px;
				color: #810907;
				font-weight: normal;
				line-height: 1;
				padding: 0px 0 30px;

				span {
					font-size: 70px;
					font-weight: 500;
					margin: 0 10px;
				}
			}

			h2::before, h2::after {
				content: "";
				display: block;
				height: 20px;
				width: 100%;
				background-image: url(../img/premiumfood/line.png);
				background-repeat: repeat-x;
				background-size: cover;
			}

			h2::after {
				margin-top: 10px;
			}

			.benefit-list {
				max-width: 1000px;
				margin: 0 auto;
				display: flex;
				justify-content: center;
				gap: 30px;
				margin-top: 50px;

				.benefit-item {
					flex: 0 0 24%;
					box-shadow: 2px 3px 4px #aaa;
					background-color: white;

					div {
						background-color: #810907;
						padding: 10px 0 15px;
						color: white;
						font-size: 48px;
						display: flex;
						justify-content: center;
						align-items: center;
						line-height: 1;
					}

					h3 {
						color: #810907;
						text-align: center;
						font-size: 18px;
						margin-top: 0px;
						padding-top: 5px;
						line-height: 1.2;
						min-height: 48px;
						display: flex;
						align-items: center;
						justify-content: center;
					}

					p {
						padding: 10px 10px 10px;
						line-height: 1.3;
					}
				}

				.benefit-item {
					/* 枠線の太さを設定 */
					border: 10px solid transparent;
					/* 実際の枠線としてグラデーションを設定 */
					border-image-source: linear-gradient(45deg, #A17B45, #E5C384, #A17B45);
					/*
						グラデーションの方向と色を設定
						to bottom: 上から下へのグラデーション
						#A17B45: 濃いめの金色（開始と終了）
						#E5C384: 明るめの金色（中央）
					*/

					/* border-imageの伸縮方法を設定 */
					border-image-slice: 1;


				}

			}
		}
	}

	.access-guide_section {

		.access-guide {

			h2 {
				background-color: #810907;
				color: white;
				text-align: center;
				font-size: 42px;
				letter-spacing: 0;
				line-height: 1;
				padding: 15px 0;
				margin: 40px 0;
			}

			.map-and-image {
				max-width: 1000px;
				margin: 0 auto 50px;
				display: flex;
				justify-content: center;
				/* max-width: 100%; */
				
				
				
				
				img {
					max-width: 100%;
					flex: 0 0 100%;
					display: block;
				}

				img:last-child {}
			}
		}
	}

	.convarea {
		/* --- リッチな金色の共通設定 --- */
		max-width: 900px;
		margin: 0 auto;
		display: flex;
		flex-direction: column;


		/* 金色のグラデーションを構成する色 */
		--rich-gold-dark: #a17b45;
		/* 濃いシャドウ */
		--rich-gold-mid: #e5c384;
		/* ベースの色 */
		--rich-gold-light: #fff9e6;
		/* ハイライト */
		--rich-gold-darker: #7e5e34;
		/* 最も濃い色 */
		--border-thickness: 7px;
		/* 枠線の太さ */
		--button-radius: 8px;
		/* ボタンの角丸 */

		.button-wrapper-rich {
			position: relative;
			/* 疑似要素の基準点 */
			margin: 10px 0;
			display: inline-block;
			/* ボタンの幅に合わせる */
			padding: var(--border-thickness);
			/* 枠線の太さ分のパディング */
			border-radius: var(--button-radius);
		}

		/* --- リッチな金色の枠線本体 (::before) --- */
		.button-wrapper-rich::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			z-index: 0;
			/* ボタンの下に配置 */
			border-radius: var(--button-radius);

			/* 非常にリッチな多層グラデーションの定義 */
			/* to right: 左から右へ流れる横方向のグラデーション */
			background-image: linear-gradient(45deg,
					var(--rich-gold-darker) 0%,
					var(--rich-gold-dark) 5%,
					var(--rich-gold-light) 40%,
					var(--rich-gold-mid) 50%,
					var(--rich-gold-light) 60%,
					var(--rich-gold-dark) 95%,
					var(--rich-gold-darker) 100%);
		}

		/* --- ボタン本体のスタイル --- */
		.button-wrapper-rich a {
			display: block;
			text-decoration: none;
			color: white;
			font-size: 30px;
			font-weight: bold;
			padding: 20px 30px;
			text-align: center;
			max-width: 900px;

			/* 内側の光沢と立体感を維持 */
			text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
			box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.4),
				inset 0 -3px 0 rgba(0, 0, 0, 0.2);

			/* 枠線より少し小さい角丸 */
			border-radius: calc(var(--button-radius) - 1px);
			z-index: 1;
			position: relative;
		}

		/* --- 赤いボタンの背景 --- */
		.gold-border-red a {
			background: linear-gradient(to bottom, #d62d2d, #a00000);
		}
		.gold-border-red a:hover {
			background: linear-gradient(to bottom, #a00000, #a00000);
		}

		/* --- 緑のボタンの背景 --- */
		.gold-border-green a {
			background: linear-gradient(to bottom, #4caf50, #006400);
		}
		.gold-border-green a:hover {
			background: linear-gradient(to bottom, #006400, #006400);
		}
	}
}

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


	.premiumfood {
		.container {
			padding: 0;
		}

		.pavilion-description_section {
			padding-top: 30px;
			padding-bottom: 30px;
			background-position-x: center;
			
			
			
			
			
			
			

			.pavilion-description {
				h1 {
					font-size: 30px;
					line-height: 1.3;
				}

				p {
					font-size: 20px;
					line-height: 1.3;
				}

			}

			.pavilion-images {
				flex-wrap: wrap;
				padding: 0 30px;
				
				
				
				
				
				

				img {
					max-width: 48%;
					/* max-width: none; */
					flex: 0 0 48%;
					display: flex;
				}

				img:nth-child(even) {
					margin-top: 50px;
				}

				img:nth-child(odd) {
					margin-bottom: 50px;
				}
			}

			.premium-food-info {
				h2 {
					font-size: 20px;
				}

				p {
					font-size: 16px;
				}
			}

		}

		.pavilion-benefits_section {
			.pavilion-benefits {
				h2 {
					font-size: 30px;

					span {
						font-size: 38px;
					}
				}

				h2::before, h2::after {
					height: 18px;
				}

				.benefit-list {
					margin-top: 0px;
					gap: 10px;
					flex-wrap: wrap;

					.benefit-item {
						flex: 0 0 80%;
						border-width: 10px;
						
						

						div {
							font-size: 30px;
						}
					}
				}
			}

		}

		.access-guide_section {
			.access-guide {
				h2 {
					font-size: 26px;
					line-height: 1.3;
					padding: 15px 10px;
				}
			}
		}

		.convarea  {
			padding: 0 10px;
			.button-wrapper-rich a {
				font-size: 20px;
			}
		}


	}

}

/* 2026.01.30追加 outline.php_10年記念パート追加*/

.two-column-container {
    display: flex;
    align-items: center;
    margin: 40px auto;
    max-width: 1000px;
}

.column-image {
    flex: 2; 
    min-width: 80px;
}

.column-image img {
    width: 100%;
    height: auto;
    display: block;
}

.column-text {
    flex: 8; 
}

.column-text h2 {
    font-size: 35px; 
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.3; 
}

.column-text p {
    font-size: 25px; 
    line-height: 1.4;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .two-column-container {
        gap: 15px;
        padding: 0 15px;
    }
    .column-text h2 {
        font-size: 22px;
    }
    .column-text p {
        font-size: 16px;
		font-weight: 500;
    }
}

/* -------------------------------
20260305pc追尾ボタン
------------------------------- */
/* ボタン全体のコンテナ（位置決め） */
#fixed_btn {
	position: fixed;
	right: 0;
	top: 20%;
	z-index: 999;
	box-shadow: 0 0 6px #2d924930;
}

/* リンク要素（ボタンのデザイン本体） */
#fixed_btn a {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #00acdd;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	padding: 15px;
	text-decoration: none;
	color: #fff;
	font-weight: 600;
}

/* アイコン画像 */
.btn-icon {
	width: 25px !important;
	margin-bottom: 10px;
	display: block;
}

/* テキストのコンテナ */
.btn-text-container {
	/* PC版は縦書き */
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 1.5px;
}

/* テキストの各行 */
.btn-text-line1,
.btn-text-line2 {
	display: block;
}

/* 2行目のテキストを小さくする */
.btn-text-line2 {
	font-size: 0.95em;
}

/* --- スマホ版のスタイル --- */
@media only screen and (max-width: 768px) {
	#fixed_btn {
		display: none;
	}
}