@charset "UTF-8";

/* 縦スクロールバーエリアを表示 */
html {
    overflow-y: scroll;
    overflow-x: hidden;
}

body {
    width: 100%;
    font-family: 'じゅん 201', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif, 'ヒラギノUD丸ゴ W3 JIS2004', 'Hiragino UD Sans Rd W3 JIS2004', 'Hiragino UD Sans F W5 JIS2004', 'ヒラギノUD角ゴF W5 JIS2004';
    margin: 0;
    padding: 0;
    height: 100%;
    color: #000000;
    font-size: 14px;
    position: relative;
    text-size-adjust: none;
}

.mac,
.iphone,
.ipad,
.android {
    line-height: 1.78em;
}

/* @group Reset */
* {
    margin: 0;
    padding: 0;
    word-break: normal !important;
    word-wrap: break-word;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
}

/* 通常 */
a:link {
    /* color: rgba(107, 58, 6, 1); */
    color: #000000;
    text-decoration: none;
    padding-right: 1px;
    padding-left: 1px;
    transition: .3s;
}

/* 閲覧済み */
a:visited {
    /* color: rgba(107, 58, 6, 1); */
    text-decoration: none;
}

/* マウスオン */
a:hover {
    /* color: rgba(107, 58, 6, 1); */
}

/* クリック中 */
a:active {
    /* color: rgba(107, 58, 6, 1); */
    text-decoration: none;
    background-color: transparent;
}

/* クリック時の枠線 */
a {
    padding: 0;
    outline: none;
    color: #000000;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
}

ul,
ol {
    list-style: none;
}

img {
    vertical-align: middle;
    max-width: none;
}

svg {
    fill: currentcolor;
}

/* @end */

/* @group Fluid-img */
img {
    width: auto;
}

/* @end */

/* @group HTML */
html {
    width: 100%;
    font-size: 100%;
    line-height: 148%;
}

/* @end */
div,
p {
    text-align: justify;
    text-justify: inter-ideograph;
}

label {
    cursor: pointer;
}

#is-loading {
    display: none;
}

#container {
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    position: relative;
}

#container.top .bg img {
    position: absolute;
    left: 0%;
    right: 0;
    margin: 0 auto;
    margin-top: -2vw;
    max-width: 303px;
    z-index: 5;
}

#container.top .bg img:first-child {
    left: -73em;
}

#container.top .bg img:nth-child(2) {
    max-width: 300px;
    right: -65em;
}

#container.free_page #main::before,
#container.free_page #main::after {
    content: '';
    display: block;
    max-width: 280px;
    height: 3520px;
    background: url('../parts/sub_bg_L.png') no-repeat;
    background-size: contain;
    background-position: top center;
    position: absolute;
    top: 13.5%;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 5;
}

#container.free_page #main::after {
    background-image: url('../parts/sub_bg_R.png');
    max-width: 250px;
    right: -77em;
}

#container.free_page #main::before {
    left: -79em;
}

#container.seasonal-plants #main::before,
#container.seasonal-plants #main::after,
#container.downloads #main::before,
#container.downloads #main::after{
    content: none;
}

#container.hanamori #main::before,
#container.hanamori #main::after {
    top: 26.5%;
}

#container.renewal #main::before,
#container.renewal #main::after {
    top: 550px;
}

.free_page .text-area a{
    color: #645000;
}

header {
    width: 100%;
    margin: 0 auto 25px;
    padding: 20px 0;
    background: #f5f4e0;
    transition: .3s;
    border-bottom: 10px solid #80b95b;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top header {
    margin-bottom: 0;
    background: #f5f4e0;
    padding: 20px 0;
    position: relative;
}

/* .top header:before{
		content:"";
		background:url(../parts/scroll.svg) no-repeat;
		width: 40px;
		height: 75px;
		display: block;
		position: absolute;
		z-index: 99;
		top: -95px;
		-webkit-animation:blink 1.5s ease-in-out infinite alternate;
		-moz-animation:blink 1.5s ease-in-out infinite alternate;
		animation:blink 1.5s ease-in-out infinite alternate;
	}
		@-webkit-keyframes blink {
		  0% {opacity:0;}
		  100% {opacity:1;}
		}
		@-moz-keyframes blink {
		  0% {opacity:0;}
		  100% {opacity:1;}
		} */
header .inner,
footer .inner {
    width: auto;
    margin: 0;
    padding: 0;
    position: relative;
}

header .inner {
    display: flex;
    justify-content: space-between;
    padding: 0;
}

.top header .inner {
    justify-content: flex-end;
}

header h1 {
    display: block;
    position: relative;
    z-index: 9999;
    margin-right: 34px;
}

header .sns {
    display: flex;
}

.win header .sns {
    margin-top: 5px;
}

header .sns a {
    margin-right: 7px;
    background: url('../parts/top_sns_h_fb.svg') no-repeat;
    background-position: center bottom;
    padding: 0;
    display: flex;
    align-items: center;
}

header .sns a:nth-child(2) {
    background-image: url('../parts/top_sns_h_insta.svg');
}

header .sns a:last-child {
    margin-right: 0;
    background-image: url('../parts/top_sns_h_yt.svg');

    /* background-position: 1px 7px; */
    background-position: center;
}

header .sns a img {
    transition: .3s;
    display: inline-block;
    min-width: 20px;
}

header .sns a:hover img {
    opacity: 0;
}

nav {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top nav {
    position: relative;
    z-index: 10;
}

nav > ul {
    font-size: 26px;
    padding: 10px 0;
    margin: 0;
}

nav > ul > li {
    width: auto;
    position: relative;
    cursor: pointer;
    text-align: left;
    margin-right: 20px;
    display: inline-block;
}

nav > ul > li > a {
    position: relative;
    display: block;
    padding: 0 !important;
    width: 100%;
    height: 100%;
}

nav > ul > li > a::after {
    content: '';
    display: block;
    background: url('../parts/menu_makino.svg') no-repeat;
    background-color: #f5f4e0;
    background-size: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: .3s;
    opacity: 0;
}

nav:not(.sp) > ul > li:nth-child(4) > a,
nav:not(.sp) > ul > li:nth-child(5) > a{
    height: 13px;
}

nav:not(.sp) > ul > li:nth-child(1) > a,
nav:not(.sp) > ul > li:nth-child(3) > a,
nav:not(.sp) > ul > li:nth-child(2) > a,
nav:not(.sp) > ul > li:nth-child(6) > a{
    height: 14px;
}

nav:not(.sp) > ul > li:nth-child(1) > a{
    width: 71px;
}

nav > ul > li:nth-child(2) > a::after {
    background-image: url('../parts/menu_park.svg');
}

nav > ul > li:nth-child(3) > a::after {
    background-image: url('../parts/menu_active.svg');
}

nav > ul > li:nth-child(4) > a::after {
    background-image: url('../parts/menu_plate.svg');
}

nav > ul > li:nth-child(5) > a::after {
    background-image: url('../parts/menu_news.svg');
}

nav > ul > li:nth-child(6) > a::after {
    background-image: url('../parts/menu_contact.svg');
}

nav > ul > li > a > img {
    transition: .3s;
    display: block;
}

nav > ul > li > a:hover::after {
    z-index: 3;
    opacity: 1;
}

nav > ul > li > a:hover > img {
    z-index: 1;
    opacity: 0;
}

/* ヘッダー固定時 */
.is-fixed,
.top .is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    background: #f5f4e0;
    border-bottom: 10px solid #80b95b;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top .is-fixed .inner {
    margin: 0;
}

.is-fixed h1,
.top .is-fixed h1 {
    display: flex;
    align-items: center;
    margin-right: 55px;
}

.is-fixed nav {
    background: none;
    border: none;
}

.is-fixed nav > ul {
    margin-right: 35px;
}

video {
    display: block;
    width: 100%;
    position: relative;
    z-index: 10;
}

.v_area {
    position: relative;

    /* padding-bottom: 56.25%; */
}

/* .v_area iframe{
	position:absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
} */

.v_area .sp_top {
    display: none;
}

.video-bg{
    position: relative;
    overflow: hidden;

    /* width: 100%;
	height: 100vh; */
    width: 100%;
    aspect-ratio: 16 / 9;
}

.video-bg iframe{
    /* position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  min-width: 1920px;
  min-height: 100%;
  transform: translate(-50%, -50%); */
    width: 100%;
    height: 100%;
}

/* .v_area:before{
	content:"";
	background:url(../parts/logo_footer.svg) no-repeat;
	background-size: contain;
	width: 300px;
	height: 84px;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	z-index:20;
} */

.music {
    position: absolute;
    width: 30px;
    top: 20px;
    left: 20px;
    z-index: 99;
    background: none;
    border: none;
}

.music img {
    display: block;
    width: 100%;
    position: absolute;
}

.music img + img {
    opacity: 0;
}

.top#container {
    display: flex;
    flex-direction: column;
}

.top header {
    order: 2;
}

.top video {
    order: 1;
}

.top #box {
    order: 3;
}

.top footer {
    order: 4;
}

/* ダウンロードリンク */
div.download{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 99;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 50px;
}
div.download a{
    background: url('../parts/link_makipe.svg') no-repeat;
    width: 40px;
    height: 144px;
    display: block;
}
div.download .dl{
    background: url('../parts/link_dl.svg') no-repeat;
    width: 40px;
    height: 144px;
    display: block;
}

div.download a::after{
    content: '';
    background: url('../parts/link_dl_h.svg') no-repeat;
    width: 40px;
    height: 144px;
    display: block;
    position: relative;
    left: -1px;
    opacity: 0;
    transition: .3s;
}
div.download .makipe::after{
	background: url('../parts/link_makipe_h.svg') no-repeat;
}

div.download a:hover::after{
    opacity: 1;
}

#box {
    width: 950px;
    margin: 0 auto;
}

.top #box {
    width: auto;
    overflow: hidden;
    position: relative;
    margin: 0;
}

.detail #box {
    width: 750px;
}

/* ファイル別アイコン */
.pdf a,
.xls a,
.doc a {
    color: #000000;
    font-weight: 600;
    padding-right: 19px;
}

.pdf a {
    background: url('../parts/icon_pdf.png') no-repeat right 0;
}

.xls a {
    background: url('../parts/icon_excel.png') no-repeat right 0;
}

.doc a {
    background: url('../parts/icon_word.png') no-repeat right 0;
}

.Contents_Block {
    width: 800px;
    margin: 0 auto 80px;
    clear: both;
}

.top .Contents_Block:first-child {
    background: #f5f4e0;
    width: 100%;
    padding: 50px 0 20px;
    position: relative;
    z-index: 10;
}

.t_about {
    display: flex;
    align-items: center;
    width: 800px;
    margin: 0 auto;
}

.t_about div {
    margin-left: 50px;
}

.t_about h2 {
    font-family: 'じゅん 501';
    font-size: 22px;
    color: #80b95c;
    margin: 0 0 15px;
}

.t_about div p {
    font-size: 16px;
}

.t_about + p img {
    display: block;
    margin: 0 auto;
    width: 890px;
}

#new_list {
    width: 100%;
    margin: 0 auto;
    padding: 60px 0 0;
    background: #f5f4e0;
}

#new_list h2 {
    font-size: 38px;
    font-weight: 500;
    padding: 0 20px;
    text-align: center;
    margin: 0 0 70px;
    position: relative;
}

#new_list h2::after {
    content: '';
    background: url('../parts/top_hito_02.png') no-repeat;
    display: block;
    width: 154px;
    height: 178px;
    background-size: contain;
    position: absolute;
    bottom: -27px;
    right: 0;
    left: 350px;
    margin: 0 auto;
}

#info_area {
    width: 800px;
    margin: 0 auto;
    padding-bottom: 70px;
    border-bottom: 1px solid #645000;
}

#new_list a.backnumber {
    float: right;
    font-size: .75rem;
}

#new_list ul#List .label span {
    background: #aaf0ff;
    margin-right: 10px;
    color: #645000;
    min-width: 80px;
    width: auto;
}

#new_list ul#List .label span.plate {
    background: #FF9BAE;
}

#new_list ul#List .label span.blooming {
    background: #ffed3c;
}

#new_list ul#List .label span.activity{
	background: #c4f000;
}

time.new_info_date {
    white-space: nowrap;
    font-size: 14px;
}

div.page a,
.button_area a {
    display: block;
    width: 160px;
    margin: 0 auto;
    padding: 5px 10px;
    background: #80b95c;
    border: 2px solid #80b95c;
    color: #ffffff;
    text-align: center;
    border-radius: 10px;
    transition: .3s;
    font-size: 16px;
    font-family: 'じゅん 501';
}

div.page a:hover {
    background: #ffffff;
    color: #80b95c;
}

div.page a:hover::after {
    background: url('../parts/arrow_green.svg') no-repeat;
}

.button_area a {
    font-size: 15px;
    background: #ffffff;
    border: 2px solid #80b95c;
    color: #80b95c;
    width: 170px;
    padding: 3px 0 0;
}

.win .button_area a {
    padding: 0 0 3px;
}

.button_area a:hover {
    background: #80b95c;
    color: #ffffff;
}

a.more::after {
    content: '';
    background: url('../parts/top_more_arrow.svg') no-repeat;
    width: 10px;
    height: 15px;
    background-size: contain;
    display: inline-block;
    margin-left: 10px;
    position: relative;
    top: 2px;
}

.button_area a.to_list:nth-of-type(2)::before {
    content: none;
}

.button_area a.to_list::before {
    content: '<';
    float: left;
    display: inline-block;
    position: relative;
    top: -3px;
    left: 10px;
    bottom: 0;
    margin: auto;
}

.win .button_area a.to_list::before {
    top: -1px;
}

.button_area a.to_list:hover::before {}

.new_info_ttl {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 16px;
}

ul#List {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.spot ul#List {
    background: #f5f4e0;
    margin: 0 auto;
    padding: 50px 0%;
    width: 800px;
}

ul#List li {
    width: 255px;
    height: 255px;
    background: #ffffff;
    margin-right: 15px;
    margin-bottom: 25px;
    border-radius: 10px;
}

ul#List li:nth-of-type(3n) {
    margin-right: 0;
}

ul#List li a {
    display: block;
    padding: 10px 15px;
}

ul#List li .img_box {
    height: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 5px;
}

ul#List li img {
    display: block;
    width: 100%;
    height: auto;
    min-width: auto;
}

ul#List .label {
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}

ul#List .label span {
    display: inline-block;
    margin-right: 2.23%;
    border-radius: 5px;
    font-size: 12px;
    width: 31.8%;
    padding: 2px 7px 1px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.win ul#List .label span {
    padding: 1px 7px 2px;
}

ul#List .label span:nth-child(3n) {
    margin-right: 0;
}

ul#List .title {
    font-size: 20px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 21px;
    color: #000000;
}

.bunner_area {
    background: #f5f4e0;
    padding: 60px 0 80px;
}

.bunner_area h2 {
    text-align: center;
    margin: 0 0 30px;
}

.bunner_area h2::after,
.contact_area h2::after {
    content: '';
    display: block;
    width: 328px;
    height: 124px;
    background: url('../parts/top_hito_03.png') no-repeat;
    background-size: contain;
    margin: 30px auto 0;
}

.contact_area h2 {
    position: relative;
}

.contact_area h2::after {
    width: 128px;
    height: 126px;
    background-image: url('../parts/top_hito_04.png');
    position: absolute;
    bottom: -25px;
    left: 0;
    right: -440px;
}

.bunner_area .bunner_box {
    width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.bunner_area a {
    display: inline-block;
    width: 255px;
    height: 100%;
    position: relative;
    z-index: 10;
    bottom: 0;
    background: url('../parts/bun_fb_h.svg') no-repeat;
    background-size: contain;
}

.bunner_area .bunner:nth-of-type(2) a {
    background-image: url('../parts/bun_insta_h.svg');
}

.bunner_area .bunner:nth-of-type(3) a {
    background-image: url('../parts/bun_yt_h.svg');
}

.bunner_area a img {
    display: block;
    max-width: 100%;
    transition: .3s;
}

.bunner_area a:hover img {
    opacity: 0;
}

.bunner_area p.out {
    text-align: center;
    font-family: 'jun 501';
    color: #645000;
    margin: 15px 0 0;
}

.bunner_area p.out a {
    background: no-repeat;
    width: auto;
    color: #80b95c;
    text-decoration: underline;
}

.contact_area {
    padding: 60px 0 0;
}

.contact_area h2,
.contact_area p {
    text-align: center;
}

.contact_area p {
    font-size: 16px;
    margin-bottom: 10px;
}

.contact_area h2,
.contact_area .info_box {
    margin: 0 0 50px;
}

.top .map_area {
    text-align: center;
    margin: 50px 0;
}

footer span.tel,
.contact_area .info_box span.tel {
    display: inline-block;
    margin-right: 10px;
}

.contact_area .mail,
footer .mail {
    border-bottom: 1px solid;
}

footer {
    clear: both;
    width: 100%;
    margin: 0;
    padding: 30px 0 0;
    background: #80b95b;
    color: #ffffff;
    position: relative;
    z-index: 10;
}

footer a {
    color: #ffffff;
}

footer ul {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    font-size: 14px;
    font-family: 'じゅん 501';
}

footer ul li a {
    display: inline-block;
    background: url('/parts/btn_yakuba_hover.svg') no-repeat;
    background-size: 0 0;
    width: 180px;
    height: 40px;
    transition: .3s;
}

footer ul li:nth-child(2) a {
    background: url('/parts/btn_kyoukai_hover.svg') no-repeat;
    background-size: 0 0;
}

footer ul li a:hover {
    background-size: cover;
}

footer ul li img {
    transition: .3s;
}

footer ul li a:hover img {
    opacity: 0;
}

footer ul li:first-child {
    margin-right: 40px;
}

footer .f_info {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 25px;
}

footer .f_info dt {
    margin-right: 50px;
}

footer .f_info a {
    color: #ffffff;
}

footer .copy {
    width: 100%;
    clear: both;
    height: auto;
    font-size: 14px;
    text-align: center;
    display: block;
    background: #438e58;
    color: #ffffff;
    padding: 10px 0;
    margin: 0;
}

/* ロゴプレート */
.detail h2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    border-top: 1px solid #b7b3a8;
    border-bottom: 1px solid #b7b3a8;
    padding: 15px 0 0;
    margin: 0 0 20px;
    font-size: 20px;
}

.detail h2 p,
.detail .label_area {
    padding-bottom: 15px;
}

.label_area {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.label_area span,
.label_area a {
    min-width: 70px;
    color: #ffffff;
    text-align: center;
    border-radius: 5px;
    font-size: 12px;
    padding: 3px 7px 0;
    margin: 0 7px 0 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.win .label_area a,
.win .label_area span {
    padding: 2px 7px 5px;
}

.label_area a:hover {
    opacity: .6;
}

.image_area {
    margin: 0 0 20px;
    border-radius: 10px;
    overflow: hidden;
}

#main_img {
    width: 100%;
}

#main_img img {
    border-radius: 10px;
}

.images {
    margin-right: -13px;
    margin-bottom: -10px;
}

.images img {
    width: 120px;
    margin-right: 13px;
    margin-bottom: 10px;
    border-radius: 5px;
    cursor: pointer;
}

.description {
    margin: 40px 0 60px;
    overflow: hidden;
}

#map {
    width: 100vw;
    height: 500px;
    margin: 0 calc(50% - 50vw);
}

#map h2 p,
#map .label_area {
    padding-bottom: 10px;
}

#map .label_area span {
    padding: 2px;
}

#map h2 {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.25em;
    border: none;
}

#map .label_area {
    justify-content: flex-start;
}

#map .plate_image {
    display: block;
    height: 160px;
    margin: 0 auto 15px;
}

#map p.gm-style-mot {
    text-align: center;
}

#map .to_map {
    color: #1a73e8;
}

.top .map {
    margin: 0;
    position: relative;
    z-index: 10;
}

.top .map iframe {
    height: 360px;
}

.detail .button_area {
    margin: 0 -100%;
    background: #f5f4e0;
    padding: 30px 0;
}

.page_view {
    text-align: center;
    padding: 30px 0;
    margin: 0 -100%;
}

.page_view button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    margin: 0 4px;
    border: 1px solid #80b95b;
    color: #80b95b;
    font-family: 'じゅん 501';
}

.page_view button.more{
    border: none;
    width: auto;
    height: auto;
    font-size: 20px;
    position: relative;
    top: 3px;
    margin: 0 0 0 10px;
}

.page_view button.prev,
.page_view button.next {
    background: none;
    letter-spacing: -9px;
    border: none;
}

.page_view button.prev {
    letter-spacing: 9px;
}

.page_view button.active {
    background: #80b95b;
    color: #ffffff;
}

/* フリーページ */
main .intro {
    background: #80b95b;
    color: #ffffff;
    text-align: center;
    font-size: 16px;
    padding: 15px 100%;
    margin: 0 -100% 45px;
    font-family: '丸フォーク M';
}

.ttl_area {
    margin-bottom: 20px;
}

h1.page_title {
    padding: 0 20px;
    font-weight: 500;
    font-size: 40px;
    text-align: center;
    margin: 0 0 30px;
}

.free_page h1.page_title {
    margin: 0 0 50px;
}

h2.ttl_main {
    font-size: 26px;
    padding: 0;
    margin: 0 0 20px;
    color: #80b95c;
}

.free_page h2.ttl_main {
    text-align: center;
    width: 420px;
    margin: 0 auto 50px;
}

.free_page h2.ttl_main span {
    display: block;
    border-top: solid 1px #645000;
    font-size: 20px;
}

h3.ttl_sub {
    position: relative;
    padding: 0;
    margin: 0;
    border: none;
    font-weight: normal;
    font-size: 17px;
}

#container #main {
    width: 100%;
}

#main .contents {
    width: 100%;
    position: relative;
    margin: 0 0 80px;
}

.top_link {
    display: flex;
    justify-content: space-between;
}

.top_link li {
    background: #80b95b;
    border-radius: 20px;
    border: 3px solid #80b95b;
    width: 250px;
    padding: 10px 0;
    text-align: center;
    transition: .3s;
    position: relative;
    z-index: 10;
}

.top_link li:hover {
    background: none;
}

.top_link li a img {
    transition: .3s;
}

.top_link li a {
    display: block;
    border-radius: 20px;
}

.top_link li a::after {
    content: url('../parts/top_link_park_h.svg');
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: -1;
    transition: .3s;
}

.top_link li:nth-child(2) a::after {
    content: url('../parts/top_link_act_h.svg');
}

.top_link li:nth-child(3) a::after {
    content: url('../parts/top_link_logo_h.svg');
}

.top_link li a:hover {
    background: #ffffff;
}

.top_link li a:hover::after {
    z-index: 1;
}

.top_link li a:hover img {
    opacity: 0;
}

.top_makino {
    margin-bottom: 15px;
}

.guide_area {
    background: #ffffff;
    overflow: hidden;
    position: relative;
    z-index: 10;
}

label.guide-label {
    font-size: 22px;
    background: #80b95b;
    display: block;
    padding: 50px 10px;
    text-align: center;
    border-radius: 15px;
    margin: 0;
    position: relative;
    transition: .3s;
    cursor: pointer;
}

.top_makino label.guide-label {
    background-image: url('../parts/top_hito_01.png');
    background-repeat: no-repeat;
    background-position: 22% center;
    background-size: 171px;
    position: relative;
    z-index: 10;
}

label.guide-label::after {
    content: '';
    width: 15px;
    height: 15px;
    background: url('../parts/top_more_arrow.svg') no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    margin: 0 auto;
    display: block;
    transform: rotate(90deg);
}

.top_makino .guide-check:checked + label.guide-label {
    padding-bottom: 60px;
}

.top_makino .guide-check:checked + label.guide-label::after {
    bottom: 20px;
}

.top .label_box ul li {
    display: flex;
    margin-bottom: 50px;
	justify-content: center;
}

.top .label_box ul li:last-child {
    margin-bottom: 20px;
}

.label_box li.tomi img {
    max-width: 250px;
    margin: 0 55px;
}

.label_box li.tomi span{
    display: block;
    text-align: center;
    font-size: 21px;
    letter-spacing: 7px;
    margin: 6px 0 0;
    line-height: 1.2;
}

.label_box li.tomi small{
    display: block;
    letter-spacing: 1px;
    margin: 6px 0 0;
}

.label_box li.study img {
    max-width: 345px;
    margin-top: 20px;
}

.label_box li.life img {
    max-width: 357px;
    margin-top: 20px;
}

.guide-check {
    display: none;
}

.label_box {
    max-height: 0;
    visibility: hidden !important;
    transition: max-height 1s, padding 1s, visibility 1s !important;
    overflow: hidden;
    position: relative;
    top: -12px;
    border: 2px solid #80b95b;
    padding: 0 30px;
}

.small_label {
    position: absolute;
    right: 0;
    bottom: 22px;
    padding: 0;
    margin: 0;
    font-size: medium;
    display: none;
    cursor: pointer;
    z-index: 10;
}

.guide-check:checked ~ .label_box {
    max-height: 1800px;
    visibility: visible !important;
    border-radius: 0;
    position: relative;
    top: -12px;
    background: #ffffff;
    padding: 55px 30px 20px;
}

.guide-check:checked ~ label.small_label {
    display: block;
    height: 32px;
    padding: 0;
}

/* 牧野公園 */
.free_page .Contents_Block:nth-child(2) {
    background: #80b95b;
    margin: 0 -100% 40px;
    padding: 0 100%;
    width: auto;
    display: flex;
    justify-content: center;
    color: #ffffff;
}

.activities .Contents_Block:nth-child(2) p,
.downloads .Contents_Block:nth-child(2) p{
    margin: 30px 0;
    font-size: 16px;
}

.nav_menu {
    display: flex;
    justify-content: space-between;
}

.nav_menu li.active,
.nav_menu li a {
    display: block;
    background: #d8df20 url('../parts/tab_ayumi.svg') no-repeat;
    text-indent: -999em;
    width: 180px;
    padding: 15px 0 10px;
    background-position: center;
    margin: 30px 10px 0 0;
    border-radius: 20px 20px 0 0;
    position: relative;
}

.hanamori .nav_menu li.active,
.nav_menu li:nth-child(2) a {
    background-image: url('../parts/tab_love.svg');
}

.renewal .nav_menu li.active,
.nav_menu li:nth-child(3) a {
    background-image: url('../parts/tab_rinewal.svg');
}

.seasonal-plants .nav_menu li.active,
.nav_menu li:nth-child(4) a {
    background-image: url('../parts/tab_siki.svg');
}

.nav_menu li a::after {
    content: '';
    display: block;
    background: url('../parts/tab_ayumi_w.svg') no-repeat;
    width: 180px;
    height: 50px;
    position: absolute;
    top: 0;
    background-position: center;
    opacity: 0;
    transition: .3s;
}

.nav_menu li:nth-child(2) a::after {
    background-image: url('../parts/tab_love_w.svg');
}

.nav_menu li:nth-child(3) a::after {
    background-image: url('../parts/tab_rinewal_w.svg');
}

.nav_menu li:nth-child(4) a::after {
    background-image: url('../parts/tab_siki_w.svg');
}

.nav_menu li a:hover {
    background-color: #645000;
}

.nav_menu li a:hover::after {
    opacity: 1;
    z-ibdex: 30;
}

.nav_menu li.active {
    background-color: #ffffff;
}

/* はなもり */
.hanamori .text-area {
    display: flex;
    align-items: center;
}

.hanamori .Contents_Block:nth-child(4),
.hanamori .Contents_Block:nth-child(5) {
    margin-top: -7em;
}

.hanamori .Contents_Block:nth-child(4) .text-area {
    flex-direction: row-reverse;
}

.hanamori .text-area p {
    width: 370px;
}

.hanamori .Contents_Block:nth-child(3) p {
    margin-bottom: 3em;
}

.hanamori em {
    font-family: 'じゅん 501';
}

.hanamori h2 em {
    font-style: normal;
}

.hanamori .text-area div {
    width: calc(100% - 370px);
}

.hanamori .ImgLeft {
    margin-left: 30px;
}

.hanamori .ImgRight {
    margin-right: 30px;
}

/* 四季の植物たち */
.seasonal-plants h3 {
    font-size: 30px;
    background: #ff96b4;
    color: #ffffff;
    text-align: center;
    border-radius: 10px;
    margin: 0 0 20px;
    padding: 0;
    line-height: 40px;
    font-family: '丸フォーク M';
    letter-spacing: 10px;
}

.win .seasonal-plants h3 {
    padding-bottom: 5px;
}

/* _::-webkit-full-page-media, _:future, :root .seasonal-plants h3{
	padding: 0 0 0px;
} */
.lead {
    text-align: center;
    margin: 0 0 30px;
}

.rare .lead {
    margin-bottom: 60px;
}

.photo_area {
    position: relative;
    padding: 0 0 120px;
}

.photo_area .item {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    align-items: flex-start;
}

.photo_area .item li {
    width: 32%;
    transition: .5s;
    margin-right: 15px;
    margin-bottom: 20px;
    position: relative;
}

.rare .photo_area .item li {
    width: 31.4%;
    position: relative;
}

.photo_area .item li.caption {
    width: 100%;
}

.spring .photo_area .item li:nth-child(3n) {
    margin-right: 0;
}

.rare .item {
    margin-right: -10px;
}

.photo_area .item li img {
    display: block;
    max-width: 100%;
}

.item .name {
    color: #ffffff;
    background: #ff96b4;
    text-align: center;
    font-size: 18px;
    padding: 2px 0 3px;
    margin: -28px 0 5px;
    position: relative;
    font-family: 'じゅん 501';
}

.item .sub {
    font-size: 18px;
    text-align: center;
    font-family: 'じゅん 501';
    color: #645000;
}

.item .sub span {
    display: block;
    font-size: 14px;
}

.rare h3 {
    background: #c0272c;
}

.rare dl {
    text-align: left;
    position: absolute;
    width: 810px;
}

.rare dl dt,
.rare dl dd {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.rare dl dt {
    float: left;
    clear: left;
}

.rare dl dt::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #c0262e;
    vertical-align: middle;
    margin-right: 5px;
}

.rare dl.Brank dt::before {
    background: #f19601;
}

.rare dl.Crank dt::before {
    background: #fee100;
}

.rare dl.Drank dt::before {
    background: #00aeeb;
}

.rare .item .rankA .name {
    background: #c0272c;
}

.rare .item .rankB .name {
    background: #f19600;
}

.rare .item .rankC .name {
    background: #fee101;
    color: #604c3f;
}

.rare .item .rankD .name {
    background: #00aeeb;
}

.rare .item .sub {
    font-size: 14px;
}

.rare .item .sub span {
    font-size: 10px;
    line-height: normal;
}

.siki-check {
    display: none;
}

.siki-label,
p.max {
    display: block;
    text-align: center;
    margin: 0 auto;
    transition: .3s;
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    cursor: pointer;
}

.siki-label::after,
p.max::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #ff96b4;
    position: absolute;
    top: 20px;
    z-index: -1;
}

.is-hidden {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0 !important;
}

.is-show {
    max-height: 250px;
    opacity: 1;
    margin-right: 15px;
    margin-bottom: 20px;
}

li.meimei:before{
    content:"";
    display: block;
    background: url(../parts/icon_meimei.png) no-repeat;
    width: 70px;
    height: 55px;
    background-size: contain;
    position: absolute;
    right: -5px;
    top: -5px;
}

p.max {
    z-index: -1;
}

p.max img {
    transform: rotate(-180deg);
}

/* .siki-label + .close{
	max-height:0;
	overflow: hidden;
	transition:max-height 1.5s!important;
}
.siki-check:checked + .siki-label{
	margin-bottom:0;
	z-index: 10;
}
.siki-check:checked + .siki-label img{
	transform: scale(1,1);
	transition:.3s;
}
.siki-check:checked + .siki-label + .close{
	max-height: 1400px;
} */
.rare .siki-label {
    margin-bottom: 0;
}

.rare .siki-label::after,
.rare p.max::after {
    background: #c0272c;
}

.sanya-label {
    position: absolute;
    margin: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 10px;
}

.sanya-label::after {
    content: none;
}

.sanya-label + img {
    height: 0;
    width: 100%;
    transition: 1s;
}

.sanya-check:checked + .sanya-label + img {
    height: 565.5px;
}

.seasonal-plants .Contents_Block:nth-child(3) {
    margin-bottom: 50px;
}

.catalog {
    overflow: hidden;
}

.catalog dl {
    margin: 0 0 30px;
    position: relative;
}

.catalog dl dt {
    font-size: 30px;
    color: #ffffff;
    background: #ff96aa;
    text-align: center;
    height: 45px;
    line-height: 40px;
    font-family: '丸フォーク M';
    letter-spacing: 10px;
}

.mac .catalog dl dt,
.iphone .catalog dl dt,
.ipad .catalog dl dt,
.android .catalog dl dt {
    padding-top: 3px;
}

.catalog dl.summer dt {
    background: #01b9ff;
}

.catalog dl.autumn dt {
    background: #faaf3a;
}

.catalog dl.winter dt {
    background: #c6b098;
}

.catalog dl img {
    display: block;
    max-width: 100%;
}

.catalog dl + a {
    font-size: 16px;
    color: #645000;
    border: 2px solid #645000;
    display: flex;
    width: 250px;
    border-radius: 10px;
    height: 40px;
    justify-content: center;
    align-items: center;
    float: right;
    position: relative;
}

.catalog dl + a::after {
    content: '＞';
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    font-size: 20px;
    height: 100%;
    line-height: 35px;
}

.catalog dl + a:hover {
    border: 2px solid #ffffff;
    background: #645000;
    color: #ffffff;
}

.catalog label img {
    transform: scale(1, -1);
}

.sanya-check:checked + .sanya-label img {
    transform: scale(1, 1);
}

.sanya-label {
    z-index: 1 !important;
}

/* 活動紹介 */
.activities .Contents_Block {
    margin-bottom: 50px;
}

.activities .Contents_Block .text-area {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.activities .Contents_Block:nth-child(2) .text-area,
.downloads .Contents_Block:nth-child(2) .text-area{
    font-family: '丸フォーク M';
}

.activities .Contents_Block:nth-child(odd) .text-area {
    flex-direction: row-reverse;
}

.activities .Contents_Block h2.ttl_main {
    float: left;
    margin: 0 0 20px;
    text-align: left;
    font-family: '丸フォーク M';
}

.activities .Contents_Block:nth-child(even) h2 {
    float: right;
    width: 340px;
    margin-right: 20px;
}

.activities .a_txt {
    width: 400px;
}

.activities .ImgRight,
.activities .ImgLeft {
    margin-bottom: 0;
}

.activities .Contents_Block p {
    clear: both;
    letter-spacing: -.2px;
}

.activities .Contents_Block:nth-child(3) img {
    max-width: 425px;
}

.activities .Contents_Block:nth-child(4) img {
    max-width: 450px;
}

.activities .Contents_Block:nth-child(5) img {
    max-width: 433px;
}

.activities .Contents_Block:nth-child(6) img {
    max-width: 440px;
}

.activities .Contents_Block:nth-child(7) img {
    max-width: 460px;
}

.activities .Contents_Block:nth-child(8) img {
    max-width: 420px;
}

.activities .Contents_Block:nth-child(9) img {
    max-width: 433px;
}

/* ロゴプレート */
.spot #box {
    width: auto;
}

.logo_number {
    position: relative;
    width: 900px;
    margin: 0 auto;
}

.logo_number strong {
    position: absolute;
    right: 9pc;
}

.logo_number .all {
    width: 720px;
    margin: 0 auto;
    overflow: hidden;
    position: absolute;
    top: 4pc;
    left: 6pc;
}

.logo_number .all::before {
    content: '';
    background: url('../parts/plate_map_icon.svg') no-repeat;
    background-size: contain;
    width: 90px;
    height: 102px;
    display: inline-block;
    float: left;
}

.logo_number .all dt {
    font-size: 16px;
    margin: 0 0 5px;
    padding-top: 13px;
}

.logo_number .all dd {
    font-size: 24px;
    border: 1px solid #000000;
    display: inline-block;
    width: 165px;
    text-align: right;
    padding: 3px 10px;
    background: #ffffff;
}

.win .logo_number .all dd {
    padding: 2px 10px 5px;
}

.spot .area_map {
    margin: 0 auto;
}

.spot .area_map img {
    display: block;
    max-width: 100%;
}

.spot .area_map::after {
    content: '';
    display: block;
    background: url('../parts/plate_map_number.svg') no-repeat;
    width: 140px;
    height: 175px;
    position: absolute;
    right: 6.5em;
    bottom: 5em;
}

.spot section {
    background: #f5f4e0;
    padding: 80px 0 40px;
}

.search_box {
    border: 2px solid #80b85d;
    border-radius: 20px;
    padding: 40px 70px 25px;
    align-items: center;
    width: 800px;
    margin: 0 auto 70px;
    background: #ffffff;
}

section dl {
    display: flex;
    border-bottom: 1px solid #80b85d;
    padding: 10px 0;
    line-height: 27px;
}

section dl.area {
    border-top: 1px solid #80b85d;
}

section dl dt {
    max-width: 85px;
    width: 100%;
    border-radius: 5px;
    background: #48bac4;
    color: #ffffff;
    margin-right: 40px;
    text-align: center;
    line-height: 27px;
    padding: 3px 0 0;
    align-self: baseline;
}

.win section dl dt {
    padding: 0;
}

section dl.season dt {
    background: #eb9c7d;
}

section dl.tour dt {
    background: #bdbe00;
}

section dl.search{
    margin: 0 0 43px;
}

section dl.search dt {
    background: #988575;
    white-space: nowrap;
}

section dl.search dd{
    position: relative;
}

section dl.search dt:nth-child(3){
    margin: 0 20px 0 25px;
    max-width: 110px;
}

section dl.search dd:nth-child(4){
    flex: 1;
}

section dl.search input[type='text']{
    border: 1px solid #80b95c;
    height: 20px;
    max-width: 318px;
    width: 100%;
}

/* _::-webkit-full-page-media, _:future, :root section dl dt{
		padding-top:3px;
	} */
section dl label {
    position: relative;
    font-family: 'じゅん 501';
    white-space: nowrap;
}

section dl.area label {
    margin-right: 40px;
}

section dl.season label {
    margin-right: 54px;
}

section dl.tour label {
    margin-right: 20px;
    letter-spacing: -1px;
}

section dl.tour label:last-child {
    margin-right: 0;
}

section dl label span {
    position: relative;
    display: inline-block;
}

section button {
    background: #80b95b;
    border: 2px solid #ffffff;
    color: #ffffff;
    width: 200px;
    padding: 3px 10px 5px 0;
    border-radius: 9px;
    font-size: 16px;
    margin: 0 auto;
    display: block;
    position: relative;
    transition: .3s;
    line-height: inherit;
}

section button::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url('../parts/icon_plate_sarch.svg') no-repeat;
    background-size: contain;
    position: absolute;
    top: 10px;
    right: 15px;
}

section button:hover {
    border: 2px solid #80b95b;
    background: #ffffff;
    color: #80b95b;
}

section button:hover::after {
    background-image: url('../parts/icon_plate_sarchH.svg');
}

section input[type='checkbox'] {
    display: none;
}

section span::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #80b95c;
    margin-right: 3px;
    position: relative;
    top: 4px;
}

section input[type='checkbox']:checked + span::after,
section input[type='checkbox']:checked + span::after{
    content: '';
    width: 15px;
    height: 10px;
    border-left: 2px solid #80b95c;
    border-bottom: 2px solid #80b95c;
    transform: rotate(-45deg);
    display: block;
    position: absolute;
    top: 6px;
    left: 2px;
}

.spot box {
    background: #f5f4e0;
    display: block;
}

.spot ul#List li {
    height: auto;
    position: relative;
}

.spot ul#List li.new::before{
    content: '';
    display: block;
    background: url('../parts/plate_new.svg') no-repeat;
    background-size: auto;
    width: 50px;
    height: 50px;
    position: absolute;
    left: -8px;
    top: -8px;
    z-index: 10;
}

.spot ul#List li a {
    padding: 15px;
}

.label span {
    width: 70px;
    text-align: center;
    color: #ffffff;
    font-size: 12px;
    margin: 0 0 3px;
}

span.area {
    background: #48bac5;
}

span.season {
    background: #eb9c7d;
}

span.tour {
    background: #bebe00;
}

p.empty {
    margin: 100px 0;
    font-size: 2em;
    text-align: center;
    background: #ffffff;
}

/* 見学マナー */
.manner_box {
    width: 800px;
    margin: 0 auto;
}

.manner_box h2 {
    background: #80b95c;
    color: #ffffff;
    padding: 14px 0 13px;
    border-radius: 10px;
    text-align: center;
    font-family: 'じゅん 501';
    position: relative;
    z-index: 1;
}

.manner_box h2 span{
    margin-left: 8px;
}

.manner_box h2 span::before{
    content: none;
}

.visit_manners {
    border: 2px solid #80b95c;

    /* border-radius: 10px 10px 0 0; */
    padding: 0 40px;
    max-height: 0;
    overflow: hidden;
    background: #ffffff;
    margin: -11px 0 0;
    transition: 1s !important;
    position: relative;
    font-family: 'じゅん 501';
}

.visit_manners dl {
    display: block;
    border: none;
    padding: 0;
    margin: 0 0 40px;
}

.visit_manners dt {
    font-size: 20px;
    text-align: left;
    background: none;
    color: #80b95c;
    margin: 40px 0 15px;
    font-family: 'じゅん 501';
    width: auto;
    max-width: none;
}

.visit_manners li {
    font-size: 16px;
}

.visit_manners li::before {
    content: '●';
    color: #80b95c;
    margin-right: 5px;
}

.manner-label {
    position: relative;
    display: block;
}

.manner-label:nth-child(2){
    margin-top: 70px;
}

.manner-label::after {
    content: url('../parts/siki_arrow_white.svg');
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    height: 26px;
    margin: auto;
    transform: scale(1, -1);
    z-index: 1;
}

.manner-label:last-child {
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
}

.manner-label:last-child::after {
    content: none;
}

.manner-label:last-child img {
    width: 30px;
}

.manner-check:checked ~ .manner-label::after {
    transform: scale(1, 1);
}

.manner-check:checked ~ .visit_manners {
    height: auto;
    max-height: 1000px;
    padding: 30px 40px 40px;
    margin: -7px 0 0;
}

.manner-check:checked ~ .manner-label:last-child {
    height: auto;
}

/* サポーター募集 */
.manner-check:checked ~ .supporter{
    padding: 20px 48px 76px;
}

.spot .supporter h3{
    color: #ff7789;
    margin: 0 0 15px;
    font-size: 20px;
}

.spot .supporter h3::before{
    content: '';
    display: block;
    background: url('../parts/spt_makino.svg') no-repeat;
    background-size: contain;
    width: 336px;
    height: 176px;
    margin: 0 auto 14px;
}

.spot .supporter p{
    font-size: 16px;
}

.spot .supporter .txt p,
.supporter dl dd p:last-child,
.spot .supporter p.note{
    font-family: 'じゅん 201';
}

.supporter .txt{
    margin: 0 0 25px;
}

.spt_img{
    display: flex;
    justify-content: center;
    align-items: center;
}

.spt_img img:nth-child(2){
    margin: 0 25px 0 10px;
}

.spt_img img:nth-child(3){
    position: relative;
    top: -12px;
}

.supporter dl{
    margin: 0 0 76px;
}

.supporter dl dt{
    margin: 15px 0 5px;
    font-size: 20px;
    max-width: none;
}

.supporter dl dd p{
    font-weight: bold;
}

.supporter dl dd p.tel{
    font-size: 20px;
    margin: 5px 0;
}

.supporter dl dd p:last-child{
    font-weight: normal;
}

.spot .supporter p.note{
    font-size: 13px;
    font-weight: normal;
    margin: 10px 0 0;
}

.supporter .gift{
    background: #55a16e;
    max-width: 650px;
    width: 100%;
    border-radius: 10px;
    margin: 0 auto;
    padding: 20px 40px 23px;
    color: #ffffff;
    position: relative;
}

.spot .supporter .gift{
    font-size: 20.44px;
    line-height: 1.5;
}

.spot .supporter .gift span{
    font-size: 24.53px;
    margin: 0 3px 0 0;
    display: inline-block;
    color: #ffff00;
}

.spot .supporter .gift span::before,
.spot .supporter .gift span::after{
    content: none;
}

.spot .supporter .gift img{
    max-width: 320px;
    display: block;
    position: absolute;
    right: 36px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.spot .supporter p.note{
    font-size: 14px;
    margin: 10px 0 0;
}

/* 各種ダウンロード */
.downloads .text-area ul{
    font-family: 'じゅん201';
    font-size: 20px;
    display: flex;
    flex-direction: column;
    gap: 32px 0;
    max-width: 312px;
    width: 100%;
    margin: 90px auto 200px;
}

.downloads .text-area ul span{
    font-size: 16px;
    margin: 0 0 0 -8px;
}

/* ファイル別アイコン */
.upfile {
    margin-top: 15px;
}

a.icon_pdf,
a.icon_excel,
a.icon_word {
    color: #000000;
    font-weight: 600;
    padding-right: 19px;
}

a.icon_pdf {
    background: url('../parts/icon_pdf.png') no-repeat right 0;
}

a.icon_excel {
    background: url('../parts/icon_excel.png') no-repeat right 0;
}

a.icon_word {
    background: url('../parts/icon_word.png') no-repeat right 0;
}

.table_typeA,
.table_typeA th,
.table_typeA td {
    width: 570px;
    text-align: center;
    font-weight: normal;
    border: 1px solid #cccccc;
    padding: 5px;
}

.table_typeA {
    margin: 10px 0;
}

.table_typeA th {
    background: #e8f5fd;
}

/* 表作成 */
.f_tbl table {
    width: 100%;
    font-size: .95rem;
    margin: 10px 0;
    box-sizing: border-box;
    border-top: 1px solid #b7b3a8;
}

.f_tbl table td {
    padding: 10px;
    font-weight: 100;
    border-bottom: solid 1px #b7b3a8;
    vertical-align: top;
}

.f_tbl table td:first-child {
    width: 25%;
    text-align: left;
    background: #e9e4bc;
}

/* フリーページ（画像の配置） */

/* ######################################
        フリーページの画像位置設定
    [配置対応番号]
    0_ImgTopLeft:左上        1_ImgTopCenter:中上            2_ImgTopRight:右上
    3_ImgLeft:左                            4_ImgRight:右
    5_ImgBottomLeft:左下        6_ImgBottomCenter:中下        7_ImgBottomRight:右下
    ######################################## */
.ImgTopCenter,
.ImgBottomCenter,
.ImgRight,
.ImgLeft,
.ImgTopLeft,
.ImgTopRight,
.ImgBottomLeft,
.ImgBottomRight {
    max-width: 100%;
    position: relative;
    z-index: 100;
}

.ImgTopCenter img,
.ImgBottomCenter img,
.ImgRight img,
.ImgLeft img,
.ImgTopLeft img,
.ImgTopRight img,
.ImgBottomLeft img,
.ImgBottomRight img {
    border-radius: 2px;
    max-width: 100%;
}

/* ----------------------------------
    上の左（回り込なし）に表示の設定
------------------------------------ */
.ImgTopLeft {
    margin-left: 0;
}

/* ----------------------------------
    上に表示の共通設定
------------------------------------ */
.ImgTopCenter,
.ImgRight,
.ImgLeft,
.ImgTopLeft,
.ImgTopRight {
    margin-bottom: 15px;
}

/* ----------------------------------
    下に表示の共通設定
------------------------------------ */
.ImgBottomLeft,
.ImgBottomCenter,
.ImgBottomRight {
    margin-top: 15px;
    clear: both;
}

/* ----------------------------------
    左に表示の共通設定
------------------------------------ */
.ImgTopLeft,
.ImgLeft,
.ImgBottomLeft {
    text-align: left;
    margin: 0 15px 15px 0;
}

.ImgTopLeft {
    margin-top: 15px;
}

.freeImg0 {
    margin-top: 20px;
}

/* ----------------------------------
    中央に表示の共通設定
------------------------------------ */
.ImgTopCenter,
.ImgBottomCenter {
    text-align: center;
}

.ImgTopCenter {
    margin-top: 20px;
}

/* ----------------------------------
    右に表示の共通設定
------------------------------------ */
.ImgTopRight,
.ImgRight,
.ImgBottomRight {
    text-align: right;
    margin-left: 15px;
}

.ImgRight {
    margin-left: 27px;
}

.ImgTopRight {
    margin-top: 20px;
}

/* ----------------------------------
    上下の共通設定
------------------------------------ */
.ImgTopLeft,
.ImgTopRight,
.ImgBottomLeft,
.ImgBottomCenter,
.ImgBottomRight {
    clear: both;
}

/* ----------------------------------
    左に表示
------------------------------------ */
.ImgLeft {
    float: left;
    margin: 0 20px 15px 0;
}

/* ----------------------------------
    右に表示
------------------------------------ */
.ImgRight {
    float: right;
}

/* ----------------------------------
    左下に表示
------------------------------------ */
.ImgBottomLeft {
    margin-top: 15px;
}

/* 一つ目のcontentsの直下の画像は上にマージンをとらない */
#left > .contents:nth-child(1) > .text-area > .ImgTopCenter {
    margin-top: 0;
}

/* パンくず */
.breadcrumb {
    display: none;
}

#page-top {
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 9999999;
    cursor: pointer;
}

#page-top a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 90px;
    text-align: center;
    color: #ffffff;
    font-size: 12px;
    transition: 1s;
    background: url('../parts/pagetop.svg') no-repeat 0 0;
}

/* 404 */
.caution {
    text-align: center;
    margin: 100px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.caution p {
    margin: 20px 0;
}

.caution a {
    width: 200px;
    padding: 6px 0 5px;
    text-indent: 15px;
    border: solid 2px #80b95c;
    border-radius: 10px;
    color: #80b95c;
    display: block;
    position: relative;
    background: #ffffff;
    font-family: 'Jun 501';
    font-size: 16px;
}

.caution a:hover {
    color: #ffffff;
    background: #80b95c;
    border: solid 2px #ffffff;
}

/* 1024px以下 */
@media screen and (max-width: 1024px) {
    body,
    footer .inner,
    #container,
    #box {
        width: 100%;
    }

    #container {
        overflow: hidden;
    }

    #container #main {
        width: auto;
        margin-right: 20px;
        margin-left: 20px;
    }

    header h1,
    nav > ul,
    .is-fixed h1,
    .is-fixed nav > ul {
        margin-right: 4vw;
    }

    .top nav {
        width: auto;
    }

    #box {
        width: auto;
    }

    /* トップコンテンツ */
    #container.top #main,
    .top .Contents_Block:first-child {
        width: auto;
    }

    #container.top #main {
        margin: 0;
    }

    /* リスト */
    ul#List li {
        margin-right: 2vw;
        width: 24.7vw;
    }

    /* ロゴプレート */
    .spot section {
        margin: 0 -20px;
    }


}

/* 896px以下 */
@media screen and (max-width: 896px) {
    header .address,
    footer .footer_menu {
        display: none;
    }

    img {
        max-width: 100%;
    }

    html {
        min-width: 320px;
        overflow-y: scroll;
    }

    .bg {
        display: none;
    }

    #box,
    #container #main,
    .free_page #box,
    .guide #box,
    .t_about {
        width: auto;
    }

    #container.free_page #main::before,
    #container.free_page #main::after {
        content: none !important;
    }

    header {
        height: 60px;
        justify-content: flex-start;
        box-sizing: content-box;
        position: relative;
        padding: 0;
    }

    .top header {
        height: 0;
        overflow: hidden;
        padding: 0;
        border: 0;
    }

    header .inner {
        padding: 10px 20px;
    }

    .top header .inner {
        padding: 0;
    }

    .top header.is-fixed {
        height: auto;
        overflow: visible;
        border-bottom: 10px solid #80b95b;
    }

    header.is-fixed .inner,
    .top header.is-fixed .inner {
        padding: 5px 20px;
    }

    header h1 {
        height: 50px;
        display: flex;
        align-items: center;
    }

    .is-fixed,
    .top .is-fixed {
        justify-content: flex-start;
    }

    nav {
        display: none;
    }

    nav.sp {
        display: flex;
    }

    .top nav {
        display: flex;
        flex-direction: column;
        padding: 0 0 10px;
        height: auto;
    }

    .top nav > ul {
        margin: 0;
        padding: 0;
    }

    .top nav:nth-of-type(2) > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    /* トップコンテンツ */
    .Contents_Block {
        width: auto;
    }

    .top #box {
        width: 100%;
        padding: 0 20px;
    }

    .top .Contents_Block:first-child {
        padding: 50px 20px 0;
        margin: 0 -20px 50px;
    }

    .t_about div {
        margin: 0 0 20px 20px;
    }

    label.guide-label {
        padding: 30px 10px;
        padding: 6.3vw 10px;
    }

    .guide-check:checked ~ .label_box {
        padding-top: 30px;
        padding-bottom: 100px;
        max-height: 2600px;
        box-sizing: content-box;
    }

    .win .guide-check:checked ~ .label_box {
        padding-bottom: 40px;
    }

    .top_makino label.guide-label {
        background-position: 17% center;
        background-size: 20vw;
    }

    .top_link li {
        width: 32%;
    }

    .top_link li a img {
        height: 130px;
    }

    .top_link li a::after {
        content: '' !important;
        background: url('../parts/top_link_park_h.svg') no-repeat;
        background-size: contain;
        background-position: center;
        width: 100%;
        height: 130px;
    }

    .top_link li:nth-child(2) a::after {
        background-image: url('../parts/top_link_act_h.svg');
    }

    .top_link li:nth-child(3) a::after {
        background-image: url('../parts/top_link_logo_h.svg');
    }

    .top .label_box ul li {
        flex-direction: column;
    }

    .top .label_box ul li:nth-child(2) {
        flex-direction: column-reverse;
    }

    .top .label_box ul li p:first-child {
        margin-bottom: 20px;
    }

    .top .label_box ul li:nth-child(2) p:first-child {
        margin-bottom: 0;
    }

    .top .label_box ul li:nth-child(2) p:nth-child(2) {
        margin-bottom: 20px;
    }

    .top .label_box ul li img {
        display: block;
        margin: 20px auto 0;
    }

    #new_list a.backnumber {
        font-size: 1rem;
    }

    .contact_area h2::after {
        position: relative;
        top: 0;
        right: 0;
        bottom: 0;
    }

    ul#List {
        margin: 0 0 20px;
    }

    .spot ul#List {
        width: auto;
        margin: 0 -20px;
        padding: 50px 20px;
    }

    #info_area ul#List {
        justify-content: center;
    }

    ul#List li {
        height: auto;
        margin-right: 2.6%;
        width: 31.6%;
    }

    ul#List li .img_box {
        height: 20.67vw;
    }

    ul#List .label {}

    ul#List .label span {
        height: auto;
        padding: 0 5p 2px;
    }

    .text-area a.link {
        width: 80%;
    }

    footer {
        width: 100%;
        padding: 0;
    }

    footer .inner {
        padding: 40px 0 0;
    }

    footer .f_info {
        margin: 0 0 25px;
        flex-direction: column;
    }

    footer .f_info dt {
        margin: 0 0 45px;
    }

    footer .f_info p {
        text-align: center;
    }


    #info_area {
        width: auto;
        margin: 0 20px;
        padding-bottom: 50px;
    }

    #new_list {
        margin: 0 -20px;
        width: auto;
    }

    #new_list h2,
    .top h2.ttl_main {
        margin-bottom: 32px;
        font-size: 32px;
    }

    #new_list h2::after {
        position: relative;
        left: 0;
        bottom: 0;
        height: 150px;
        top: 15px;
    }

    .bunner_area {
        margin: 0 -20px;
        padding: 50px 20px;
    }

    .bunner_area .bunner_box {
        width: auto;
    }

    .bunner_box .bunner {
        width: 32%;
    }

    .bunner_area a {
        width: auto;
    }

    .top .map {
        margin: 0 -20px -7px;
    }


    .free_page h1.page_title {
        margin-bottom: 0;
        font-size: 30px;
    }

    .privacy h1.page_title,
    .convention h1.page_title {
        padding-bottom: 10px;
    }

    #page-top {
        bottom: 10px;
    }

    /* タイトル */
    .spot h1.page_title::before {
        height: 5vw;
        min-height: 50px;
    }

    /* 観光スポット */
    .map {
        margin: 0 -20px -7px;
    }

    .map iframe {
        width: 100%;
    }

    /* 牧野公園 */
    .free_page .Contents_Block:nth-child(2) {
        margin: 0 -20px 40px;
        padding: 0 0%;
    }

    .nav_menu {
        align-items: center;
        padding: 10px 0;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav_menu li,
    .nav_menu li.active {
        width: 40vw;
    }

    .nav_menu li:nth-child(2n) {
        margin-left: 10px !important;
    }

    .nav_menu li:nth-child(1),
    .nav_menu li:nth-child(2) {
        margin-bottom: 10px !important;
    }

    .nav_menu li.active,
    .nav_menu li a {
        margin: 0;
        border-radius: 10px;
    }

    .nav_menu li a,
    .nav_menu li a::after {
        width: 100%;
    }

    /* 表 */
    .f_tbl {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .f_tbl::before {
        content: '横にスクロールします>>';
        display: block;
    }

    table {
        width: 100% !important;
    }

    .f_tbl table {
        margin: 0;
    }

    .f_tbl table th,
    .f_tbl table td {
        padding: 10px;
    }

    /* フリーページ */
    .ttl_area {
        margin-bottom: 40px;
    }

    .free_page h2.ttl_main {
        margin-bottom: 40px;
    }

    /* 画像 */
    .ImgTopCenter,
    .ImgBottomCenter,
    .ImgRight,
    .ImgLeft,
    .ImgTopLeft,
    .ImgTopRight,
    .ImgBottomLeft,
    .ImgBottomRight {
        float: none;
    }

    .ImgTopCenter img,
    .ImgBottomCenter img,
    .ImgRight img,
    .ImgLeft img,
    .ImgTopLeft img,
    .ImgTopRight img,
    .ImgBottomLeft img,
    .ImgBottomRight img {
        width: auto;
    }

    /* はなもり */
    .hanamori .text-area,
    .hanamori .Contents_Block:nth-child(4) .text-area {
        flex-direction: column-reverse;
    }

    .hanamori .text-area p {
        width: auto;
        margin-bottom: 1em !important;
    }

    .hanamori .text-area div {
        width: 80%;
        max-width: 425px;
        margin-bottom: 4em;
    }

    .hanamori .text-area .map {
        max-width: none;
        width: 100vw !important;
    }

    /* 四季の植物たち */
    .photo_area .item {
        width: 94.8vw;
        justify-content: center;
    }

    .photo_area .item li {
        width: 30.1vw;
        margin-right: 1.5vw;
        margin-bottom: 20px;
    }

    .sanya-check:checked + .sanya-label + img {
        height: 63vw;
    }

    .siki-check:checked + .siki-label + .close {
        max-height: 6000px;
    }

    .rare dl {
        width: 92vw;
    }


    /* 活動紹介 */
    .activities .Contents_Block {
        margin-bottom: 70px !important;
    }

    .activities .Contents_Block:nth-child(2),
    .downloads .Contents_Block:nth-child(2){
        height: auto;
    }

    .activities .Contents_Block:nth-child(2) p ,
    .downloads .Contents_Block:nth-child(2) .text-area p{
        margin: 25px 20px;
    }

    .activities .Contents_Block .text-area,
    .activities .Contents_Block:nth-child(2n+1) .text-area {
        flex-direction: column-reverse;
    }

    .activities .Contents_Block h2.ttl_main {
        float: none;
        width: 100%;
    }

    .activities .Contents_Block:nth-child(3) img,
    .activities .Contents_Block:nth-child(4) img,
    .activities .Contents_Block:nth-child(5) img,
    .activities .Contents_Block:nth-child(6) img,
    .activities .Contents_Block:nth-child(7) img,
    .activities .Contents_Block:nth-child(8) img,
    .activities .Contents_Block:nth-child(9) img {
        min-width: 320px;
        width: 50vw;
    }

    a.link_btn {
        display: block !important;
        margin: 10px auto 0 !important;
    }

    .activities .ImgRight,
    .activities .ImgLeft {
        margin-top: 20px;
    }

    .activities .a_txt {
        width: auto;
    }

    /* ロゴプレート */
    .logo_number {
        width: 94vw;
    }

    .logo_number strong img {
        height: 32vw;
        min-height: 200px;
        max-height: 282px;
    }

    .spot .area_map {
        margin: 0 -20px 30px;
    }

    .spot .area_map::after {
        left: 4vw;
        top: 20vw;
        background-size: contain;
    }

    .logo_number .all {
        width: 280px;
        top: 0;
        left: 0;
        position: relative;
    }

    .logo_number strong {
        right: 4vw;
        top: 17vw;
    }

    .search_box {
        width: auto;
        margin: 0 20px 50px;
        padding: 20px;
    }

    .spot section {
        padding: 50px 0 0;
    }

    section dl {
        align-items: flex-start;
    }

    section dl label {
        white-space: nowrap;
        margin-right: 15px !important;
        display: inline-block;
    }

    section dl.tour label:last-child {
        display: block;
    }

    section dl label span {
        white-space: nowrap;
    }

    section input[type='checkbox']:checked + span::after {
        top: 6px;
    }

    section dl.search dt{
        white-space: nowrap;
        padding: 0 5px;
        width: auto;
        margin-right: 53px;
    }

    section dl.search dt:nth-child(3){
        margin: 0 10px 0 0;
    }

    section dl.search dd:nth-child(4){
        flex: auto;
    }

    .manner_box {
        width: auto;
        margin: 0 20px;
    }

    .visit_manners li {
        display: flex;
        align-items: flex-start;
    }

    .visit_manners {
        padding: 0 20px;
    }

    .manner-check:checked ~ .visit_manners {
        padding: 30px 20px 40px;
    }

    .manner-check:checked ~ .supporter{
        padding: 30px 20px 76px;
        max-height: 1100px;
    }

    .spt_img img:nth-child(1),
    .spt_img img:nth-child(3){
        display: none;
    }

    .spt_img img:nth-child(2){
        margin: 0;
    }

    .spot .supporter .gift img{
        width: calc(100% - 320px);
    }

    /* 詳細ページ */
    .detail #box {
        width: auto;
    }

    .detail h2 {
        flex-wrap: wrap;
    }

    .detail h2 .label_area {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .detail h2 .label_area span {
        min-width: 70px;
        width: auto;
        margin-bottom: 5px;
        margin-top: 5px;
        max-width: none;
    }

}

@media screen and (max-width: 700px) {
    .v_area::before {
        width: 50%;
        height: 23%;
    }

    ul#List li {
        width: 47.9%;
    }

    ul#List li:nth-of-type(3n) {
        margin-right: 2.6%;
    }

    ul#List li:nth-of-type(2n) {
        margin-right: 0%;
    }

    .spot ul#List li a {
        padding: 10px;
    }

    /* ロゴプレート */
    section dl dt {
        width: 100px;
    }

    section dl dd {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .supporter dl dd{
        display: block;
    }

}

@media screen and (max-width: 600px) {
    .bunner_area p.out {
        text-align: left;
    }

    /* リニューアル事業 */
    .r_block .text br {
        display: none;
    }

    .r_block.no_04 .text br {
        display: inline;
    }

    /* 四季の植物たち */
    .rare .lead {
        margin-bottom: 80px;
    }

    .lead br {
        display: none;
    }

    /* ロゴプレート */
    main .intro {
        text-align: left;
    }

    main .intro br {
        display: none;
    }

    .manner_box h2{
        font-size: 19px;
    }

}

@media screen and (max-width: 480px) {
    header {
        height: auto;
    }

    header .inner,
    header.is-fixed .inner,
    .top header.is-fixed .inner {
        padding: 0 20px;
    }

    .top nav:nth-of-type(2) > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .top nav:nth-of-type(2) > ul li {
        margin: 0 5px;
        text-align: center;
    }

    div.download a.dl,
	div.download a.makipe{
        width: 35px;
        height: 125px;
        background-size: contain;
    }

    div.download a.dl::after,
	div.download a.makipe::after{
        width: 35px;
        height: 125px;
        background-size: contain;
    }
	
	div.download{
		gap:20px;
	}

    .t_about div {
        margin-left: 0;
    }

    .v_area .sp_top {
        display: block;
    }

    .top video,
    .v_area button.music {
        display: none;
    }

    #new_list li a {
        padding: 10px;
    }

    footer ul {
        flex-wrap: wrap;
    }

    .t_about {
        flex-direction: column;
    }

    .t_about img {
        width: 100px;
        margin: 0 0 15px;
    }

    .top_makino label.guide-label {
        background-position: 5% center;
        background-size: 24vw;
    }

    label.guide-label::after {
        bottom: 0;
    }

    label.guide-label img {
        margin: 0 auto 0 20%;
        width: 50%;
    }

    .guide-check:checked ~ .label_box {
        padding: 15px 15px 30px;
        max-height: 3000px;
    }

    .top .label_box ul li img {
        width: 100%;
    }

    .top_link {
        justify-content: center;
        flex-direction: column;
    }

    .top_link li {
        width: 100%;
        margin-bottom: 15px;
        padding: 5px 0;
    }

    .contact_area h2,
    .contact_area .info_box {
        margin-bottom: 30px;
    }

    footer span,
    footer span.tel,
    .contact_area .info_box span,
    .contact_area .info_box span.tel {
        display: block;
        margin-right: 0;
    }

    .contact_area p {
        margin-bottom: 0;
    }

    footer p span:nth-child(5) {
        margin-bottom: -25px;
    }

    .bunner_area .bunner_box {
        flex-direction: column;
        justify-content: center;
    }

    .bunner_box .bunner {
        width: auto;
        text-align: center;
    }

    .bunner_area a {
        width: 200px;
    }

    .bunner_area a:hover {
        top: 0;
    }

    .Contents_Block {
        margin-bottom: 30px;
    }

    h2 img {
        display: block;
        height: 43px;
        margin: 0 auto;
    }

    ul.backnumber {
        padding: 50px 20px;
        margin: 0;
    }

    .new_info_ttl {
        width: 100%;
    }

    .label {
        background-position: center;
    }

    .label_area {
        flex-wrap: wrap;
    }

    .label_area a {
        width: 116px;
        margin-bottom: 10px;
    }

    .label_area a:last-child {
        margin-right: 10px;
    }

    .images img {
        width: 17.8vw;
        max-width: 120px;
    }

    footer .copy {
        padding: 10px 20px;
    }

    ul#List {
        margin: 0;
        justify-content: center;
        flex-direction: column;
    }

    ul#List li {
        width: 100%;
    }

    ul#List li a {
        padding: 15px;
    }

    ul#List li .img_box {
        max-height: 210px;
        height: 100%;
    }

    footer ul {
        flex-direction: column;
        align-items: center;
    }

    footer ul li:first-child {
        margin: 0 0 10px;
    }


    /* 牧野公園 */
    .nav_menu li,
    .nav_menu li.active {
        width: 45vw;
    }

    .nav_menu li a,
    .nav_menu li.active,
    .nav_menu li a::after {
        background-size: 75% auto;
    }

    /* はなもり */
    .hanamori h2.ttl_main {
        font-size: 6vw;
    }

    .hanamori h2 strong {
        white-space: nowrap;
        display: block;
        line-height: normal;
    }

    .hanamori h2 em {
        display: block;
        margin-top: -10px;
    }

    .hanamori .Contents_Block:nth-child(4),
    .hanamori .Contents_Block:nth-child(5) {
        margin-top: -3em;
    }

    /* 四季の植物たち */
    .photo_area .item {
        width: 100%;
    }

    .photo_area .item li,
    .rare .photo_area .item li {
        width: 100%;
        max-height: 400px;
    }

    .photo_area .item .is-hidden,
    .rare .photo_area .item li.is-hidden {
        max-height: 0;
    }

    .siki-check:checked + .siki-label + .close {
        height: auto;
    }

    .rare .lead {
        margin-bottom: 120px;
    }

    /* ラベルエリア */
    .detail .label_area {
        margin-bottom: 30px;
    }

    .detail h2 .label_area {
        margin-bottom: 0;
    }

    .detail .label_area span {
        margin-bottom: 10px;
        width: 29.9%;
    }

    /* ロゴプレート */
    .logo_number .all dd {
        font-size: 15px;
    }

    .logo_number .all::before {
        width: 55px;
        height: 100px;
    }

    .spot .area_map::after {
        top: 28vw;
        left: 0;
        width: 21vw;
        max-width: 115px;
        min-width: 90px;
    }

    .logo_number strong {
        right: 4vw;
        top: 27vw;
    }

    section dl {
        flex-direction: column;
    }

    section dl dt {
        margin-bottom: 5px;
    }

    section dl label {
        margin-right: 25px !important;
        margin-top: 5px;
    }

    section dl.tour label {
        display: block;
    }

    section dl.search dd:nth-child(2),
    section dl.search dt:nth-child(3){
        margin: 0 0 15px;
    }

    .visit_manners {
        padding: 0 10px;
    }

    .manner-check:checked ~ .visit_manners {
        padding: 30px 10px 40px;
    }

    .manner_box h2 {
        font-size: 18px;
        padding-right: 40px;
        padding-left: 10px;
    }

    .manner_box h2 span{
        display: block;
        margin: 0;
    }

    .detail h2 .label_area {
        justify-content: flex-start;
    }

    .detail .label_area span {
        margin-bottom: 0;
    }

    .detail h2 .label_area span {
        margin-bottom: 5px;
    }

    .manner-label:nth-child(2){
        margin-top: 50px;
    }

    .manner-check:checked ~ .supporter{
        max-height: 1500px;
    }

    .spot .supporter h3::before{
        max-width: 360px;
        width: 100%;
    }

    .supporter dl{
        margin: 0 0 30px;
    }

    .supporter dl dt{
        margin: 30px 0 5px;
    }

    .spot .supporter .gift{
        padding: 20px;
    }

    .spot .supporter .gift img{
        position: relative;
        right: 0;
        width: 100%;
        margin-top: 20px;
    }

    .spot .supporter .gift p{
        text-align: center;
    }

    /* 各種ダウンロード */
    .downloads .text-area ul{
        font-size: 18px;
    }

    .downloads .text-area ul span{
        display: block;
        margin-left: 1em;
    }

    .page_view button{
        width: 35px;
        height: 35px;
        margin: 0 2px;
    }

}

/* ------------print--------------------- */

/* 印刷 */
@page {
    margin: 12mm 7mm;
}

@media print {
    body {
        zoom: 95%;
    }

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