@charset "utf-8";

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { animation: fadeIn 1s ease 0s 1 normal; -webkit-animation: fadeIn 1s ease 0s 1 normal; -webkit-font-smoothing: auto; -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; font-size: 15px; font-family: "A1明朝", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; text-align: center; letter-spacing: 0.25em; margin: 0px; box-sizing: border-box; background-color: #FFF; color: #333; padding: 0em; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #333333; color: #FFF; }
::-moz-selection { background: #333333; }

/* link */
a:link, a:visited, a:active { color: #333333; text-decoration: none; transition: 0.3s linear; }
a:hover { color: #333333; text-decoration: none; }
a img { transition: filter 0.5s ease; filter: brightness(1); }
a:hover img { filter: brightness(1.2); }
#main a { color:#579e4a; }
#main a:hover { color:#333333; }

/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: " "; clear: both; height: 0; display: block; visibility: hidden; }

/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; overflow: hidden; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.pc { display:block; }
.sp { display:none; }
.pcbr { display:block; }
.spbr { display:inline; }

/* flex */
.flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.fill { object-fit: cover; }

/* fadein */
.fadein { opacity : 0; transform: translateY(0); transition: all 1s; }
@keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }
@-webkit-keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }

/* wordpress */
#contents .wp-caption.alignleft { float: left;  }
#contents .wp-caption.alignleft img {  }
#contents .wp-caption.alignleft .wp-caption-text { font-size: 0.8em; }
#contents .wp-caption.alignright { float: right;  }
#contents .wp-caption.alignright img {  }
img.centered { display: block; margin-left: auto; margin-right: auto; }
img.alignright { padding: 0px; margin: 0 0 20px 2%; display: inline; max-width: 47%; }
img.alignleft { padding: 0px; margin: 0 20px 2% 0; display: inline; max-width: 47%; }
.aligncenter { margin-top: 15px; margin-bottom: 15px; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 20px; margin-left: 20px; }
.alignleft { float: left; margin-bottom: 20px; margin-right: 20px; }
img.aligncenter { display: block; }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* wrapper */
#wrapper { min-width:1200px; max-width:1680px; margin:auto; }
.in { width:80%; margin:auto; }

/* list */
.l1 li { margin:0 0 3.5em 0; }
.l1 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l2 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
.l2 li { width:48%; margin:0 0 3.5em 0; }
.l2 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l2 li i { margin-right:1em; }
.l3 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
.l3 li { width:31%; margin:0 3.5% 3em 0; }
.l3 li:nth-child(3n) { margin:0 0 3em 0; }
.l3 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l4 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
.l4 li { width:22%; margin:0 4% 3em 0; }
.l4 li:nth-child(4n) { margin:0 0 3em 0; }
.l4 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l4 li i { margin-right:1em; }
.l5 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
.l5 li { width:18.5%; margin:0 1.875% 1.5em 0; font-size:1.2em; }
.l5 li:nth-child(5n) { margin:0 0 1.5em 0; }
.l5 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.sub { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
.sub li { width:33.333%; margin:0 0 3em 0; }

/* bot */
#main .bot a { display:block; text-align: center; font-size: 1.3em; line-height: 1em; padding:0.8em 0.6em; background-color:#579e4a; color:#ffffff; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 2px #579e4a; }
#main .bot a i { margin-right:0.5em; }
#main .bot a:hover { background-color:#ffffff; color:#333333; }

/* entry */
#entry { padding:0 0 7em 0; margin:0 10% 0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
#entry .entrybody { width:70%; text-align: left; padding:0; }
#entry .entrybody .head { margin-bottom:3em; }
#entry .entrybody .head h2, #entry .entrybody .head div { margin-left:20%; }
#entry .entrybody .head div.main { margin:0 0 3em 0; }
#entry .entrybody .txt { margin-left:20%; }
#entry .entrybody h2 { font-size: 2.2em; line-height: 2em; letter-spacing: 0.4em; text-align: left; margin:0 0 0.5em 0; }
#entry .entrybody .date { font-size: 1em; text-align: left; margin:1em 0 3em 0; }
#entry .entrybody .txt h2:first-child { margin:0 0 1em 0; }
#entry .entrybody h3 { font-size: 1.6em; color:#579e4a; line-height: 2em; letter-spacing: 0.4em; text-align: left; margin:3em 0 1em 0; }
#entry .entrybody p { font-size: 1.3em; line-height: 2.2em; text-align: justify; margin-bottom:2em; }
#entry .entrybody .end { font-size: 1.2em; line-height: 1em; padding:1em 0; text-align: center; margin-bottom:2em; background-color:#eee; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; overflow: hidden; }
#entry .side { width:20%; padding:3em 0 0 0; }
#entry .side li { margin-bottom:3em; }
#entry .side h2 { font-size: 1.5em; margin:0 auto 2em auto; }

/* links */
#main .links { width:90%; text-align: center; margin:auto; }
#main .links li { min-width:30%; margin:0 0.5% 2.5em 0.5%; display: inline-block; }
#main .links a { display:block; text-align: center; font-size: 1.4em; line-height: 1em; padding:1.5em 2em; background-color:#579e4a; color:#ffffff; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 2px #579e4a; }
#main .links a i { margin-right:0.5em; }
#main .links a:hover { background-color:#ffffff; color:#333333; }

/* fukidashi */
.fukidashi { font-size: 2.2em; letter-spacing: 0.4em; margin:3em 0 1.5em 0; }
.fukidashi span { color:#579e4a; }

/* tab */
.sort { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; font-size: 1.2em; margin:5em 0 0 0; }
.sort .sort_title { padding:1em; }
.sort .tab { display: flex; flex-direction: row; flex-wrap: wrap; justify-content:center; }
.sort .tab li { cursor:pointer; padding:1em 0.8em; }
.sort .tab li:hover,.sort .tab_current { background-color:#579e4a; color:#ffffff; }
.content0,.content1,.content2,.content3,.content4,.content5,.content6,.content7,.content8,.content9,.content10,.content11,.content12,.content13,.content14 { display : none; }
.content_current { display : block; }

/* header */
#header { margin:0 auto 0 auto; }
#header nav a { color:#333; }
#header nav a:hover,#header nav .current a { color:#579e4a; }

.about #header.other nav li.about a,
.life #header.other nav li.life a,
.job #header.other nav li.job a,
.iroha #header.other nav li.iroha a,
.faq #header.other nav li.faq a,
.service #header.other nav li.service a,
.contact #header.other nav li.contact a,
.house #header.other nav li.house a,
.voice #header.other nav li.voice a,
.spot #header.other nav li.spot a,
.furusato #header.other nav li.furusato a,
.news #header.other nav li.news a { color:#579e4a !important; }

/* header_top */
#header.top header { position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; }
#header.top h1 { z-index: 10; position: absolute; top:3em; left:4%; width:26%; }
#header.top dl.pickup { position: absolute; top:6.4em; right:0; width:auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
#header.top dl.pickup dt { padding:1em 2em; font-size: 1.1em; line-height: 1em; color:#ffffff; background-color:#579e4a; border-radius: 0.4em 0 0 0.4em; -webkit-border-radius: 0.4em 0 0 0.4em; -moz-border-radius: 0.4em 0 0 0.4em; overflow: hidden; }
#header.top dl.pickup dd { padding:1em 3em 1em 2em; font-size: 1.1em; line-height: 1em; background-color:#ddecdb; }
#header.top nav { text-align: left; padding:38em 0 0 4%; }
#header.top nav .nav_1 { margin:0 0 4em 0; }
#header.top nav .nav_1 li { font-size: 2.8em; line-height: 1em; letter-spacing: 0.4em; margin:0.8em 0 0 0; }
#header.top nav .nav_2 { position: absolute; top:2.5em; right:2.5%; width:auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
#header.top nav .nav_2 li { font-size: 1.5em; line-height: 1em; letter-spacing: 0.3em; margin:0 0 0 1.25em; }
#header.top nav .nav_2 li.facebook a { color:#3c5a99 !important; font-size: 1.5em; line-height: 1em; }
#header.top nav .nav_3 { position: absolute; top:12em; right:2.5%; width:auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
#header.top nav .nav_3 li { font-size: 1.8em; line-height: 1em; letter-spacing: 0.3em; margin:0 0 0 1.25em; }
#header.top .slide { margin-top:16em; padding:0; width:74%; }
#header.top .slide a { display:block; }
#header.top .slide .slide_contents { position: relative; }
#header.top .slide .slide_contents dt { width:100%; height:45em; }
#header.top .slide .slide_contents img { width:100%; height:100%; object-fit: cover; }
#header.top .slide .slide_contents .catch { font-size: 3.6em; line-height: 1em; letter-spacing: 0.3em; position:absolute; top:4rem; right:4rem; }
#header.top .slide .slide_contents .title { font-size: 2.2em; line-height: 1.8em; letter-spacing: 0.3em; position:absolute; bottom:7rem; left:4rem; text-align: left; }
#header.top .slide .slide_contents .ex { font-size: 1.4em; line-height: 1em; letter-spacing: 0.3em; position:absolute; bottom:4rem; left:4rem; }
#header.top .slide .slide_contents span { display:inline; line-height: 1em; background-color: #ffffff; }

/* header_other */
#header.other header { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; margin:3em auto 0 auto; }
#header.other h1 { z-index: 10; position: absolute; top:2.7em; left:5%; width:36%; }
#header.other nav { text-align: right; display: flex; flex-direction: column; flex-wrap: wrap; margin:0 5% 3em 0; }
#header.other nav .nav_1 { order: 2; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; margin:2em 0; }
#header.other nav .nav_1 li { font-size: 2.7em; line-height: 1em; letter-spacing: 0.4em; margin:0 0 0 0.6em; }
#header.other nav .nav_2 { order: 1; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
#header.other nav .nav_2 li { font-size: 1.5em; line-height: 1em; letter-spacing: 0.3em; margin:0 0 0 1.25em; }
#header.other nav .nav_2 li.facebook a { color:#3c5a99 !important; font-size: 1.5em; line-height: 1em; }
#header.other nav .nav_3 { order: 3; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
#header.other nav .nav_3 li { font-size: 1.5em; line-height: 1em; letter-spacing: 0.3em; margin:0 0 0 1.25em; }
#header.other .photo { width:100%; }

/* header_photo */
#header_photo { width:100%; height:35em; }
#header_photo img { width:100%; height:100%; object-fit: cover; }
#header_photo.iroha { background-color:#579e4a; width:100%; padding:3em 0; height:auto; }
#header_photo.iroha img { width:60%; height:auto; margin:auto; object-fit: cover; }

/* sp_navi */
#sp_navi { display:none; visibility: hidden; }

/* about */
#top_about { margin:3em auto 10em auto; position: relative; }
#top_about section { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#top_about .pref { width:36%; position: relative; padding:4em 0 0 0; }
#top_about .pref .bx-wrapper { margin-bottom:0 !important; }
#top_about .pref .pref_name { position: absolute; top:0; right:0; background-color: #ffffff; padding:0 0 1em 1em; font-size: 1.2em; line-height: 1em; }
#top_about .pref img { width:100%; height:100%; object-fit: cover; }
#top_about .map { width:60%; padding-right:3%; }
#top_about .map .lead { position: absolute; bottom:0; left:40%; width:22%; text-align: justify; }
#top_about .map .lead p { font-size: 1.05em; line-height: 2em; letter-spacing: 0.15em; text-align: justify; margin-bottom:1.5em; }

/* navi */
#navi { margin:7em auto 7em auto; }
#navi .search { margin:0 auto 3.5em auto; }
#navi .navi_main { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
#navi .navi_main li:nth-child(1) { width:47%; }
#navi .navi_main li:nth-child(2) { width:22%; }
#navi .navi_main li:nth-child(3) { width:22%; }
#navi .navi_main li:nth-child(4) { width:100%; margin-top:3.5em; }
#navi .navi_main li { position: relative; }
#navi .navi_main li a { display: block; }
#navi .navi_main li span { background-color: #fff; display: inline; }
#navi .navi_main li .title { font-size: 2.8em; line-height: 1em; position: absolute; top:0; left:0; background-color: #fff; }
#navi .navi_main li .ex { font-size: 1.7em; line-height: 1.8em; position: absolute; bottom:0.7em; right:1em; text-align: right; }
#navi .furusato_bn { margin:0 0 3em 0; }
#navi .furusato_bn ul li { position: relative; }
#navi .furusato_bn ul li a { display: block; }
#navi .furusato_bn ul li span { background-color: #fff; display: inline; }
#navi .furusato_bn ul li .title { font-size: 1.8em; line-height: 1em; position: absolute; top:0; left:0; background-color: #fff; }

/* main */
#main { margin:0 0 5em 0; }

/* about */
#main .about .photo { position: relative; }
#main .about .photo .lead { position: absolute; top:5em; left:7%; width:45%; text-align: justify; }
#main .about .photo .lead h2 { font-size: 2.4em; line-height: 1.7em; letter-spacing: 0.4em; margin-bottom:1em; }
#main .about .photo .lead p { font-size: 1.3em; line-height: 2em; text-align: justify; margin-bottom:1em; }

/* information */
#main .information .container { background-color: #ddecdb; padding:7em 0; }
#main .information .container .container_box { background-color: #fff; width:90%; margin:auto; padding:0 0 4em 0; }
#main .information .container .container_box .container_txt { width:60%; margin:auto; padding:5em 0; text-align: left; }
#main .information .container .container_box .container_txt h3 { font-size: 2em; letter-spacing: 0.3em; margin:1em 0 1em 0; line-height: 2em; text-align: justify; }
#main .information .container .container_box .container_txt p { font-size: 1.4em; margin:0 0 1em 0; line-height: 2.2em; text-align: justify; }
#main .information .container .container_box .container_photo { width:90%; margin:auto; }
#main .information .container .container_box .container_photo .l1 { width:70%; margin:0 auto 3.5em auto; }

#main .information .container.container_other { padding:7em 10%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .information .container.container_other .container_tag { width:30%; padding:0; text-align: right; align-self: flex-start; }
#main .information .container.container_other .container_tag li { background-color: #ffffff; padding:1em; font-size: 1.4em; }
#main .information .container.container_other .container_box { width:70%; margin:auto; }
#main .information .container.container_other .container_box .container_txt { width:88%; margin:auto; padding:3em 0 0 0; text-align: left; }
#main .information .container.container_other .container_box .container_txt p { font-size: 1.2em; line-height: 2em; }
#main .information .container.container_other .container_box .container_txt .container_entry { padding:4em 0; border-bottom:solid 1px #579e4a; }
#main .information .container.container_other .container_box .container_txt .container_entry:first-child { padding-top:0; }
#main .information .container.container_other .container_box .container_txt .container_entry:last-child { padding-bottom:0; margin-bottom:0; border-bottom:none; }

/* data */
#main dl.data { margin:3em 0 0 0; background-color: #fff; overflow: hidden; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; border:solid 2px #579e4a; }
#main dl.data+div,#main dl.data+p { margin:3em 0 0 0 }
#main dl.data dt { width:20%; padding:0.8em 1.2em; font-size: 1.2em; line-height: 1.6em; border-bottom:solid 1px #ffffff; background-color:#ddecdb; display: flex; justify-content: center; align-items: center; }
#main dl.data dd { width:80%; padding:0.8em 1.5em; font-size: 1.2em; line-height: 1.6em; border-bottom:solid 1px #ddecdb; text-align: left; }
#main dl.data dd p { font-size: 1em !important; }
#main dl.data dd p:last-child { margin:0 !important; }
#main dl.data dt:last-of-type,#main dl.data dd:last-of-type { border-bottom:none; }
#main dl.data.data_2 dt { width:30%; }
#main dl.data.data_2 dd { width:70%; }

#main dl.hp { margin:3em 0 3em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; border:solid 3px #579e4a; }
#main dl.hp dt { width:50%; padding:2em; }
#main dl.hp dd { width:50%; padding:2em; font-size: 1.2em; line-height: 1.8em; text-align: left; }
#main dl.noimage dt { display: none; }
#main dl.noimage dd { width:100%; padding:2em; font-size: 1.2em; line-height: 1.8em; text-align: left; }
#main .info { margin:2em 0 2em 0; padding:2em; background-color: #fff; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; }
#main .info p:last-child { margin-bottom:0 !important; }

/* furusato */
#main .furusato_pickup_ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; margin:0 0 3em 0; }
#main .furusato_pickup_ul li { width:31%; margin: 0 3.5% 1em 0; }
#main .furusato_pickup_ul li:nth-child(3n) { margin:0 0 1em 0; }
#main .furusato_pickup_ul li .thumb { height:12em; margin: 0 0 1.5em 0; }
#main .furusato_pickup_ul li .thumb img { width:100%; height:100%; object-fit: cover; }
#main .furusato_pickup_ul li .title { color: #579e4a; font-size: 1.3em; line-height: 1.4em; margin: 0 0 1em 0; }
#main .furusato_pickup_ul li .ex { font-size: 1em; line-height: 1.8em; }
#main .furusato_ul {}
#main .furusato_ul li a { font-size: 1.2em; display:block; border:solid 1px #ddecdb; background-color:#ddecdb; padding:1em 2em; margin:0 0 1em 0; border-radius: 0.5em; }
#main .furusato_ul li a:hover { border:solid 1px #ddecdb; background-color:#fff; color:#579e4a; }

/* contact */
#main .contact_box { width:90%; margin:5em auto 8em auto; }
#main table.contact { text-align: left; }
#main table.contact tr:first-child th:first-child { overflow: hidden; border-radius: 1em 0 0 0; -webkit-border-radius: 1em 0 0 0; -moz-border-radius: 1em 0 0 0; }
#main table.contact tr:first-child th:last-child { overflow: hidden; border-radius: 0 1em 0 0; -webkit-border-radius: 0 1em 0 0; -moz-border-radius: 0 1em 0 0; }
#main table.contact tr th { border-bottom:solid 1px #fff; padding:1.5em; white-space: nowrap; font-size: 1.2em; line-height: 1.6em; background-color:#579e4a; color:#ffffff; text-align: center; }
#main table.contact tr td { border-bottom:solid 1px #fff; padding:1.5em; font-size: 1.2em; line-height: 1.6em; }
#main table.contact tr td:nth-of-type(1)  { white-space: nowrap; }
#main table.contact tr td:nth-of-type(2)  { width:15%; }
#main table.contact tr td:nth-of-type(3) { white-space: nowrap; }
#main table.contact tr:nth-child(odd) th { background-color:#579e4a; color:#ffffff; text-align: center;  }
#main table.contact tr:nth-child(odd) td { background-color: #ddecdb; }
#main .contact_box .att { font-size: 0.8em; line-height: 1.8em; letter-spacing: 0.15em; }

/* container_entry */
#main .container_entry { }
#main .container_entry h4 { background-color:#579e4a; color:#ffffff; font-size: 1.5em; padding:0.6em 1em; margin:2em 0 2em 0; }
#main .container_entry h4:first-child { margin:0 0 2em 0; }
#main .container_entry h5 { border-left:solid 0.5em #579e4a; padding:0 0 0 1em; font-size: 1.6em; margin:2em 0 2em 0; }
#main .container_entry details { }
#main .container_entry summary { position: relative; display: block; padding: 1.5em 0 1.5em 4em; cursor: pointer; transition: 0.2s; outline: none; }
#main .container_entry summary:hover { color:#579e4a; }
#main .container_entry summary::-webkit-details-marker { display: none; }
#main .container_entry summary:before, #main .container_entry summary:after { content: ""; margin: auto 0 auto 0; position: absolute; top: 0; bottom: 0; left: 1em; }
#main .container_entry summary:before { width: 2em; height: 2em; border-radius: 1em; background-color: #579e4a; }
#main .container_entry summary:after { left: 1.85em; width: 0.8em; height: 0.8em; border: 0.4em solid transparent; border-left: 0.4em solid #fff; box-sizing: border-box; transition: .1s; }
#main .container_entry details[open] { background-color: #f1edac; }
#main .container_entry details[open] summary { background-color: #579e4a; color:#fff; }
#main .container_entry details[open] summary:after { transform: rotate(90deg); left: 1.6em; top: 0.5em; }
#main .container_entry details[open] .details-content { animation: fadeIn 0.5s ease; }
#main .container_entry details .container_entry_ex { padding:0 4em 3em 4em; }
@keyframes fadeIn { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: none; } }
#main .container_entry details .container_entry_ex .bot a { display:block; text-align: center; font-size: 1.3em; line-height: 1em; margin:0 0 1em 0; padding:0.8em 0.6em; background-color:#ffffff; color:#579e4a; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 2px #579e4a; }
#main .container_entry details .container_entry_ex .bot:last-child a { margin:0 0 0 0; }
#main .container_entry details .container_entry_ex .bot a i { margin-right:0.5em; }
#main .container_entry details .container_entry_ex .bot a:hover { background-color:#579e4a; color:#ffffff; }

/* other */
#main .other .txt { width:60%; padding:2em 0 2em 0; margin:auto; }
#main .other .txt h2 { font-size: 2.3em; letter-spacing: 0.4em; line-height: 2em; text-align: left; margin:1.5em 0; }
#main .other .txt p { font-size: 1.4em; line-height: 2.2em; text-align: justify; margin:1.5em 0; }
#main .other .txt p.photo { margin:4em 0; }

#main .other .txt.terms h3 { border-left:solid 5px #579e4a; padding-left: 1em; font-size: 1.8em; text-align: left; margin:5em 0 1.5em 0; }
#main .other .txt.terms h3:first-child { margin:0 0 1.5em 0; }
#main .other .txt.terms p { font-size: 1.2em; line-height: 2em; text-align: justify; margin:2em 0 1.5em 0; }
#main .other .txt.terms dt { color:#579e4a; font-size: 1.6em; text-align: left; margin:2em 0 0.5em 0; }
#main .other .txt.terms dd { font-size: 1.2em; padding-left:2em; line-height: 2em; text-align: justify; margin:0 0 0 0; }

/* faq */
#main .faq { }
#main .faq dt { padding:0 0 0 5rem; margin:2em 0; text-align: left; font-size: 1.8em; line-height: 2em; position: relative; color:#579e4a; }
#main .faq dd { padding:0 0 5em 5rem; margin:2em 0 5em 0; border-bottom:solid 1px #333; text-align: justify; font-size: 1.1em; line-height: 2em; position: relative;  }
#main .faq span { position: absolute; top:0; left:0; font-size: 3rem; color:#579e4a; }
#main .faq .bot { margin-top:1.5em; }

/* archive */
#archive.list_top { margin:2em auto 4em auto; }
#archive .head { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; margin:3em 0 2.5em 0; }
#archive .head h2 { font-size: 2em; letter-spacing: 0.3em; }
#archive .head h2 span { color:#579e4a; }
#archive .head p { font-size: 1.2em; letter-spacing: 0.3em; }
#archive .blog .head h2 { width:65%; }
#archive .blog .head p { text-align:left; line-height: 2em; }
#archive .list dl { position: relative; text-align: left; }
#archive .list dl dt { margin:0 0 0 0; position:relative; }
#archive .list dl dt .comment { margin:0; display:block; padding:0.4em; color:#333; background-color: #ffcc00; font-size: 1em; line-height: 1em; position: absolute; bottom:0; right:0; }
#archive .list dl dd.title { margin:0.75em 0 0 0; font-size: 1.4em; line-height: 1.6em; letter-spacing: 0.2em; }
#archive .list dl dd.ex { margin:0.5em 0 0 0; }
#archive .list dl dd.pref { padding:0 0.6em 0.6em 0; background-color: #fff; font-size: 1em; line-height: 1em; position: absolute; top:0; left:0; }
#archive .list dl dd.sub { margin:0 0 1em 0; }
#archive .list a { color:#333; }
#archive .list a:hover { color:#579e4a; }
#archive .list .tag { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: left; margin:1em 0 0 0; }
#archive .list .tag li { width:auto; margin:0 0 1em 0; letter-spacing: 0.15em; }
#archive .list .tag li a { background-color: #eee; font-size: 0.8em; line-height: 1em; padding:0.4em 1em; margin:0 0.6em 0.6em 0; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; }
#archive .list .tag li a:hover { background-color: #eee; color:#333; }

/* banner */
#banner { margin:0 auto 2em auto; }
#banner ul{ display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
#banner ul li { width:22%; margin:0 4% 3em 0; }
#banner ul li:nth-child(4n) { margin:0 0 3em 0; }
#banner ul li span { margin:1.25em 0; display: block; font-size: 1.3em; }
#banner a { line-height:1em; padding:2em; background-color: #fff; color:#579e4a; display: block; border:solid 1px #579e4a; }
#banner a:hover { background-color: #579e4a; color:#fff; }

/* footer */
#footer { background-color: #579e4a; color:#fff; padding:3em 0; text-align: left; }
#footer a { color:#fff; }
#footer footer { width:90%; margin:auto; max-width:1680px; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between;  }
#footer footer .logo { width:35%; }
#footer footer .logo h1 { margin:0.5em 0 2em 0; }
#footer footer .logo p { font-size: 0.8em; letter-spacing: 0.15em; }
#footer footer nav { width:58%; padding:0 0 0 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; }
#footer footer nav li { font-size: 1.3em; line-height: 2em; letter-spacing: 0.3em; }
#footer footer nav .nav_1 li { font-size: 2.2em; line-height: 1.55em; }
#footer footer nav .nav_4 li { font-size: 2.4em; line-height: 1.5em; }

/* pagetop */
#pagetop { display:none; }
#pagetop a { position: fixed; right:0; bottom:0; background-color: #579e4a; color:#fff; display:block; font-size:2em; width:2em; line-height: 2em;  }

/* mTagcloud */
#main .mTagcloud { background-color: #eeeeee; width: 100%; padding:3.5rem 0; margin: 0 auto 8em auto; }
#main .mTagcloud .mTagcloud_list { overflow-x: scroll; display: flex; flex-wrap: nowrap; border:solid 6px #579e4a; background-color: #ffffff; width: 80%; padding: 0 2em; margin: auto; }
#main .mTagcloud .mTagcloud_list::-webkit-scrollbar { display: none; }
#main .mTagcloud .mTagcloud_list .mTagcloud_list__item { font-size: 2em; white-space: nowrap; padding: 2em 0; margin:0 1em 0 0; }
#main .mTagcloud .mTagcloud_list .mTagcloud_list__item a { color: #333333; }
#main .mTagcloud .mTagcloud_list .mTagcloud_list__item a::before { content: "#"; }
#main .mTagcloud .mTagcloud_list .mTagcloud_list__item a:hover { color: #579e4a; }
#main .mTagcloud .mTagcloud_list--att { margin:2em auto 0 auto; font-size: 1.4em; line-height: 1.4em;}

#main .mTagcloud--pickup { width: 100%; margin: 0 auto 8em auto; }
#main .mTagcloud--pickup .mTagcloud--pickup_list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; width: 70%; padding:2.5em; margin: auto; }
#main .mTagcloud--pickup .mTagcloud--pickup_list::-webkit-scrollbar { display: none; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item { font-size: 1.6em; white-space: nowrap; margin:0 0.35em 1.5em 0.35em; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item a { background-color: #eee; padding:0.5em 1.5em; border-radius: 3em; color: #333333; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item a::before { content: "#"; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item a:hover { background-color: #579e4a; color: #ffffff; }

/* sp */
body { }
body { }
body { }
body { }
body { }
body { }
body { }

@media screen and (max-width: 599px) {
body { font-size: 12px; }

/* options */
.pc { display:none; }
.sp { display:block; }
.pcbr { display:inline; }
.spbr { display:block; }

/* sp_navi */
#sp_navi { display:none; visibility:visible; text-align: left; }
#sp_navi .drawer-nav { padding:9em 0 0 20%; }
#sp_navi .drawer-hamburger { left:0; top:0; width:8%; z-index: 9999; background-color:#579e4a; color:#ffffff; }
#sp_navi .drawer-menu li { font-size:2.5em; line-height:1em; margin-bottom:0.5em; letter-spacing: 0.4em; }
#sp_navi .drawer-menu li.mid_top { margin-top:1.5em; }
#sp_navi .drawer-menu li.mid { font-size:1.5em; line-height:1.4em; margin-bottom:0.4em; letter-spacing: 0.4em; }
#sp_navi .drawer-menu li.sub_top { margin-top:1.5em; }
#sp_navi .drawer-menu li.sub { font-size:1.5em; line-height:1.4em; margin-bottom:0.4em; letter-spacing: 0.4em; }

/* wrapper */
#wrapper { min-width:0; margin:auto; max-width:9999px;  }
.in { width:86%; margin:auto;  }

/* list */
.l1 li { width:100%; margin:0 0 3.5em 0; }
.l1 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l2 { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; }
.l2 li { width:100%; margin:0 0 1.5em 0; }
.l2 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l3 { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; }
.l3 li { width:100%; margin:0 0 3em 0; }
.l3 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l4 { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; }
.l4 li { width:100%; margin:0 0 3em 0; }
.l4 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.l5 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
.l5 li { width:48%; margin:0 0 1.5em 0; font-size:1.2em; }
.l5 li span { margin:1.25em 0; display: block; font-size: 1.3em; }
.sub { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
.sub li { width:100%; margin:0 0 1.5em 0; }

/* bot */
/* bot */
#main .bot a { display:block; text-align: center; font-size: 1.3em; line-height: 1.4em; padding:0.6em 1.5em; background-color:#579e4a; color:#ffffff; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 2px #579e4a; }
#main .bot a i { margin-right:0.5em; }
#main .bot a:hover { background-color:#ffffff; color:#333333; }

/* entry */
#entry { padding:0 0 3em 0; margin:0 0 0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
#entry .entrybody { width:100%; text-align: left; padding:0; margin-bottom:7em;}
#entry .entrybody .head { margin-bottom:2em; }
#entry .entrybody .head h2, #entry .entrybody .head div { margin:2em 10% 1em 10%; }
#entry .entrybody .head div.main { margin:0; }
#entry .entrybody .txt { margin:0 10%; border-bottom:solid 1px #333; padding-bottom:5em; }
#entry .entrybody h2 { font-size: 1.8em; line-height: 1.7em; letter-spacing: 0.3em; text-align: left; margin:2em 0 1em 0; }
#entry .entrybody h2 br { display:none; }
#entry .entrybody .txt h2:first-child { margin:2em 0 1em 0; }
#entry .entrybody h3 { font-size: 1.6em; color:#579e4a; line-height: 2em; letter-spacing: 0.4em; text-align: left; margin:3em 0 1em 0; }
#entry .entrybody p { font-size: 1.3em; line-height: 2em; text-align: justify; margin-bottom:2em; }
#entry .entrybody .end { font-size: 1.2em; line-height: 1em; padding:1em 0; text-align: center; margin-bottom:2em; background-color:#eee; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; overflow: hidden; }
#entry .side { width:86%; margin:auto; }
#entry .side li { margin-bottom:3em; }
#entry .side li:last-child { margin-bottom:0; }

/* links */
#main .links { width:90%; text-align: center; margin:auto; }
#main .links li { width:100%; margin:0 auto 1.5em auto; display: block; }
#main .links a { display:block; text-align: center; font-size: 1.2em; line-height: 1.4em; padding:1em 1em; background-color:#579e4a; color:#ffffff; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 2px #579e4a; }
#main .links a i { margin-right:0.5em; }
#main .links a:hover { background-color:#ffffff; color:#333333; }

/* fukidashi */
.fukidashi { font-size: 2em; letter-spacing: 0.3em; margin:2em 0 2em 0; }
.fukidashi span { color:#579e4a; }

/* tab */
.sort { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; font-size: 1.2em; margin:2em 0 0 0; }
.sort .sort_title { padding:1em; background-color:#ddecdb; width:100%; }
.sort .tab { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
.sort .tab li { width:25%; cursor:pointer; padding:1em 0; }
.sort .tab li:hover,.sort .tab_current { background-color:#579e4a; color:#ffffff; }
.content0,.content1,.content2,.content3,.content4,.content5,.content6,.content7,.content8,.content9,.content10,.content11,.content12 { display : none; }
.content_current { display : block; }

/* header */
#header { margin:0 auto 0 auto; }
#header nav { display:none; }

/* header_top */
#header.top header { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
#header.top h1 { z-index: 10; position: static; width:100%; margin:0; padding:3em 20% 3em 20%; }
#header.top dl.pickup { position: static; width:80%; margin:0 auto 1em auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; display:none; }
#header.top dl.pickup dt { width:100%; padding:1em 2em; font-size: 1.1em; line-height: 1em; color:#ffffff; background-color:#579e4a; border-radius: 0.4em 0.4em 0 0; -webkit-border-radius: 0.4em 0.4em 0 0; -moz-border-radius: 0.4em 0.4em 0 0; overflow: hidden; }
#header.top dl.pickup dd { padding:1em 2em; text-align: left; font-size: 1.1em; line-height:1.4em; background-color:#ddecdb; }
#header.top nav { text-align: left; padding:23em 0 0 5%; }
#header.top nav .nav_1 { margin:0 0 4em 0; }
#header.top nav .nav_1 li { font-size: 3em; line-height: 1em; letter-spacing: 0.4em; margin:0.8em 0 0 0; }
#header.top nav .nav_2 { position: absolute; top:4em; right:2.5%; width:auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
#header.top nav .nav_2 li { font-size: 1.6em; line-height: 1em; letter-spacing: 0.4em; margin:0 0 0 1.25em; }
#header.top nav .nav_3 li { font-size: 1.6em; line-height: 1em; letter-spacing: 0.4em; margin:1.3em 0 0 0; }
#header.top .slide { margin-top:0; padding:0; width:100%; }
#header.top .slide a { display:block; }
#header.top .slide .slide_contents { position: relative; }
#header.top .slide .slide_contents dt { height:55vh; }
#header.top .slide .slide_contents img { width:100%; height:100%; object-fit: cover; }
#header.top .slide .slide_contents .catch { font-size: 2.4em; line-height: 1em; letter-spacing: 0.3em; position:absolute; top:2rem; right:2rem; }
#header.top .slide .slide_contents .title { font-size: 1.8em; line-height: 1.5em; letter-spacing: 0.3em; position:absolute; bottom:4rem; left:2rem; text-align: left; }
#header.top .slide .slide_contents .ex { font-size: 1.4em; line-height: 1em; letter-spacing: 0.3em; position:absolute; bottom:2rem; left:2rem; }
#header.top .slide .slide_contents span { display:inline; background-color: #ffffff; }

/* header_other */
#header.other header { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; margin:0 auto 0 auto; }
#header.other h1 { z-index: 10; position: static; width:100%; margin:0; padding:2.5em 8% 2.5em 8%; }
#header.other nav { display:none;  }
#header.other .photo { width:100%; }

/* header_photo */
#header_photo { width:100%; height:50vh; }
#header_photo img { width:100%; height:100%; object-fit: cover; }
#header_photo.iroha { background-color:#579e4a; width:100%; padding:0; height:auto; }
#header_photo.iroha img { width:100%; height:auto; padding:0; margin:0; object-fit:cover; }

/* about */
#top_about { margin:5em auto 5em auto; position: relative; }
#top_about section { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#top_about .pref { order:2; width:100%; }
#top_about .pref img { width:100%; height:100%; object-fit: cover; }
#top_about .map { order:1; width:86%; margin:auto; padding:0; }
#top_about .map .lead { position: static; width:100%; margin:2em auto 4em auto; text-align: justify; }
#top_about .map .lead p { font-size: 1.3em; line-height: 2em; letter-spacing: 0.15em; text-align: justify; margin-bottom:1.8em; }

/* navi */
#navi { margin:3em auto 3em auto; }
#navi .search { margin:0 auto 3.5em auto; }
#navi .navi_main { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; }
#navi .navi_main li:nth-child(1) { width:100%; }
#navi .navi_main li:nth-child(2) { width:100%; }
#navi .navi_main li:nth-child(3) { width:100%; }
#navi .navi_main li:nth-child(4) { width:100%; margin-top:0; }
#navi .navi_main li { position: relative; margin-bottom:2.5em;  }
#navi .navi_main li a { display: block; }
#navi .navi_main li span { background-color: #fff; display: inline; }
#navi .navi_main li .title { font-size: 2.5em; line-height: 1em; position: absolute; top:0; left:0; background-color: #fff; }
#navi .navi_main li .ex { font-size: 1.8em; line-height: 1.8em; position: absolute; bottom:0.7em; right:1em; text-align: right; }
#navi .furusato_bn { margin:0 0 6em 0; }
#navi .furusato_bn ul li span { background-color: #fff; display: inline; }
#navi .furusato_bn ul li .title { font-size: 2em; line-height: 1em; position: absolute; top:0; left:0; background-color: #fff; }

/* main */
#main { margin:0 0 5em 0; }

/* about */
#main .about .photo { position: relative; }
#main .about .photo .lead { position: static; width:80%; margin:4em auto 4em auto; text-align: justify; }
#main .about .photo .lead h2 { font-size: 2em; line-height: 2em; letter-spacing: 0.4em; margin-bottom:1em; }
#main .about .photo .lead p { font-size: 1.35em; line-height: 1.8em; letter-spacing: 0.15em; text-align: justify; margin-bottom:1.5em; }

/* information */
#main .information .container { background-color: #ddecdb; padding:2em 0; }
#main .information .container .container_box { background-color: #fff; width:90%; margin:auto; padding:0 0 0 0; }
#main .information .container .container_box .container_txt { width:80%; margin:auto; padding:1em 0; text-align: left; }
#main .information .container .container_box .container_txt h3 { font-size: 1.6em; letter-spacing: 0.3em; margin:1em 0 1em 0; line-height: 1.5em; text-align: justify; }
#main .information .container .container_box .container_txt p { font-size: 1.2em; margin:0 0 1em 0; line-height: 1.8em; text-align: justify; }
#main .information .container .container_box .container_photo { width:90%; margin:auto; }
#main .information .container .container_box .container_photo .l1 { width:100%; margin:0 auto 2em auto; }

#main .information .container.container_other { padding:2em 4%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .information .container.container_other .container_tag { width:100%; padding:0; text-align: center; align-self: flex-start; margin-bottom:2em; }
#main .information .container.container_other .container_tag li { background-color: #ffffff; padding:1em; font-size: 1.6em; }
#main .information .container.container_other .container_box { width:100%; margin:auto; }
#main .information .container.container_other .container_box .container_txt { width:88%; margin:auto; padding:2em 0; text-align: left; }
#main .information .container.container_other .container_box .container_txt p { font-size: 1.2em; line-height: 2em; }
#main .information .container.container_other .container_box .container_txt .container_entry { padding-bottom:4em; margin-bottom:4em; border-bottom:solid 1px #579e4a; }
#main .information .container.container_other .container_box .container_txt .container_entry:last-child { padding-bottom:0; margin-bottom:0; border-bottom:none }

/* data */
#main dl.data { margin:1em 0 0 0; background-color: #fff; overflow: hidden; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; border:solid 2px #579e4a; }
#main dl.data+div,#main dl.data+p { margin:1.5em 0 0 0 }
#main dl.data dt { width:20%; padding:0.8em 1.2em; font-size: 1.2em; line-height: 1.5em; letter-spacing: 0.1em; border-bottom:solid 1px #ffffff; background-color:#ddecdb; display: flex; justify-content: center; align-items: center; }
#main dl.data dd { width:80%; padding:0.8em 1.5em; font-size: 1.2em; line-height: 1.5em; border-bottom:solid 1px #ddecdb; text-align: left; }
#main dl.data dd p { font-size: 1em !important; line-height: 1.4em !important; letter-spacing: 0.1em !important; }
#main dl.data dd p:last-child { margin:0 !important; }
#main dl.data dt:last-of-type,#main dl.data dd:last-of-type { border-bottom:none; }
#main dl.data.data_2 dt { width:30%; }
#main dl.data.data_2 dd { width:70%; }

#main dl.hp { margin:1em 0 2em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; border:solid 3px #579e4a; }
#main dl.hp dt { width:100%; padding:1em; }
#main dl.hp dd { width:100%; padding:1em; font-size: 1.2em; line-height: 1.8em; text-align: left; }
#main .info { margin:1em 0 1em 0; padding:2em; background-color: #fff; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; }
#main .info p { font-size: 1.2em !important; line-height: 1.7em !important; letter-spacing: 0.1em !important; }
#main .info p:last-child { margin-bottom:0 !important; }

/* furusato */
#main .furusato_pickup_ul { display: flex; flex-direction: column; margin:0 0 2em 0; }
#main .furusato_pickup_ul li { width:100%; margin: 0 0 1.5em 0; }
#main .furusato_pickup_ul li:nth-child(3n) { margin:0 0 1.5em 0; }
#main .furusato_pickup_ul li .thumb { height:18em; margin: 0 0 1.5em 0; }
#main .furusato_pickup_ul li .thumb img { width:100%; height:100%; object-fit: cover; }
#main .furusato_pickup_ul li .title { color: #579e4a; font-size: 1.3em; line-height: 1.4em; margin: 0 0 1em 0; }
#main .furusato_pickup_ul li .ex { margin: 0 0 1em 0; }
#main .furusato_ul {}
#main .furusato_ul li a { font-size: 1.2em; display:block; border:solid 1px #ddecdb; background-color:#ddecdb; padding:1em 2em; margin:0 0 1em 0; border-radius: 0.5em; }
#main .furusato_ul li a:hover { border:solid 1px #ddecdb; background-color:#fff; color:#579e4a; }

/* contact */
#main .contact_box { width:90%; margin:5em auto 8em auto; }
#main table.contact { text-align: left; display: block; overflow-x: scroll; white-space: nowrap; -webkit-overflow-scrolling: touch; }
#main table.contact tr:first-child th:first-child { overflow: hidden; border-radius: 1em 0 0 0; -webkit-border-radius: 1em 0 0 0; -moz-border-radius: 1em 0 0 0; }
#main table.contact tr:first-child th:last-child { overflow: hidden; border-radius: 0 1em 0 0; -webkit-border-radius: 0 1em 0 0; -moz-border-radius: 0 1em 0 0; }
#main table.contact tr th { border-bottom:solid 1px #fff; padding:1em 1em; width:1em; white-space: normal; font-size: 1.1em; line-height: 1.2em; background-color:#579e4a; color:#ffffff; text-align: center; }
#main table.contact tr td { border-bottom:solid 1px #fff; padding:0.5em 1em; font-size: 1.1em; line-height: 1.6em; }
#main table.contact tr td:nth-of-type(1)  { white-space: nowrap; }
#main table.contact tr td:nth-of-type(2)  { width:15%; }
#main table.contact tr td:nth-of-type(3) { white-space: nowrap; }
#main table.contact tr:nth-child(odd) th { background-color:#579e4a; color:#ffffff; text-align: center;  }
#main table.contact tr:nth-child(odd) td { background-color: #ddecdb; }
#main .contact_box .att { font-size: 0.8em; line-height: 1.8em; letter-spacing: 0.15em; }

/* container_entry */
#main .container_entry { }
#main .container_entry h4 { background-color:#579e4a; color:#ffffff; font-size: 1.5em; padding:0.6em 1em; margin:2em 0 2em 0; }
#main .container_entry h4:first-child { margin:0 0 2em 0; }
#main .container_entry h5 { border-left:solid 0.5em #579e4a; padding:0 0 0 1em; font-size: 1.6em; margin:2em 0 2em 0; }

#main .container_entry details { }
#main .container_entry summary { position: relative; display: block; padding: 1.5em 1.5em 1.5em 4em; cursor: pointer; transition: 0.2s; outline: none; }
#main .container_entry summary:hover { color:#579e4a; }
#main .container_entry summary::-webkit-details-marker { display: none; }
#main .container_entry summary:before, #main .container_entry summary:after { content: ""; margin: auto 0 auto 0; position: absolute; top: 0; bottom: 0; left: 1em; }
#main .container_entry summary:before { width: 2em; height: 2em; border-radius: 1em; background-color: #579e4a; }
#main .container_entry summary:after { left: 1.85em; width: 0.8em; height: 0.8em; border: 0.4em solid transparent; border-left: 0.4em solid #fff; box-sizing: border-box; transition: .1s; }
#main .container_entry details[open] { background-color: #f1edac; }
#main .container_entry details[open] summary { background-color: #579e4a; color:#fff; }
#main .container_entry details[open] summary:after { transform: rotate(90deg); left: 1.6em; top: 0.5em; }
#main .container_entry details[open] .details-content { animation: fadeIn 0.5s ease; }
#main .container_entry details .container_entry_ex { padding:1em 1em 2em 1em; }
@keyframes fadeIn { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: none; } }
#main .container_entry details .container_entry_ex .bot a { display:block; text-align: center; font-size: 1.2em; line-height: 1em; margin:0 0 1em 0; padding:0.8em 0.6em; background-color:#ffffff; color:#579e4a; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 2px #579e4a; }
#main .container_entry details .container_entry_ex .bot:last-child a { margin:0 0 0 0; }
#main .container_entry details .container_entry_ex .bot a i { margin-right:0.5em; }
#main .container_entry details .container_entry_ex .bot a:hover { background-color:#579e4a; color:#ffffff; }

/* other */
#main .other .txt { width:100%; padding:0 0 2em 0; margin:auto; }
#main .other .txt h2 { font-size: 2em; letter-spacing: 0.4em; line-height: 2em; text-align: left; margin:1.5em 0 1em 0; }
#main .other .txt p { font-size: 1.35em; line-height: 1.8em; letter-spacing: 0.15em; text-align: justify; margin:0 0 1.5em 0; }
#main .other .txt p.photo { margin:3em 0; }

/* faq */
#main .faq { }
#main .faq dt { padding:0 0 0 5rem; margin:2em 0; text-align: left; font-size: 1.8em; line-height: 2em; position: relative; color:#579e4a; }
#main .faq dd { padding:0 0 5em 5rem; margin:2em 0 5em 0; border-bottom:solid 1px #333; text-align: justify; font-size: 1.1em; line-height: 1.8em; position: relative;  }
#main .faq span { position: absolute; top:0; left:0; font-size: 3rem; color:#579e4a; }
#main .faq .bot { margin-top:1.5em; }

/* archive */
#archive.list_top { margin:3em auto 3em auto; }
#archive .head { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-between; align-items: center; margin:3em 0 2.5em 0; }
#archive .head h2 { font-size: 2.2em; letter-spacing: 0.3em;  }
#archive .head h2 span { color:#579e4a; }
#archive .head p { font-size: 1.2em; letter-spacing: 0.3em; margin-top:1em; line-height: 1.8em; }
#archive .list dl { position: relative; text-align: left; }
#archive .list dl dt { margin:0 0 0 0; position:relative; }
#archive .list dl dt .comment { margin:0; display:block; padding:0.4em; color:#333; background-color: #ffcc00; font-size: 1em; line-height: 1em; position: absolute; bottom:0; right:0; }
#archive .list dl dd.title { margin:0.75em 0 0 0; font-size: 1.6em; line-height: 1.6em; letter-spacing: 0.2em; }
#archive .list dl dd.ex { margin:0.5em 0 0 0; }
#archive .list dl dd.pref { padding:0 0.6em 0.6em 0; background-color: #fff; font-size: 1em; line-height: 1em; position: absolute; top:0; left:0; }
#archive .list dl dd.sub { margin:0 0 1em 0; }
#archive .list a { color:#333; }
#archive .list a:hover { color:#579e4a; }
#archive .list .tag { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: left; margin:1em 0 0 0; }
#archive .list .tag li { width:auto; margin:0 0 1em 0; letter-spacing: 0.15em; }
#archive .list .tag li a { background-color: #eee; font-size: 0.8em; line-height: 1em; padding:0.4em 1em; margin:0 0.6em 0.6em 0; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; }
#archive .list .tag li a:hover { background-color: #eee; color:#333; }

/* banner */
#banner { margin:0 auto 1em auto; }
#banner ul{ display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
#banner ul li { width:48%; margin:0 0 1.3em 0; }
#banner ul li:nth-child(4n) { margin: 0 0 1.3em 0; }
#banner ul li span { margin:1.25em 0; display: block; font-size: 1.3em; }
#banner a { line-height:1em; padding:0em; background-color: #fff; color:#579e4a; display: block; border:solid 1px #579e4a; }
#banner a:hover { background-color: #579e4a; color:#fff; }

/* footer */
#footer { background-color: #579e4a; color:#fff; padding:3em 0; text-align: left; }
#footer a { color:#fff; }
#footer footer { width:80%; margin:auto; max-width:1680px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
#footer footer .logo { width:100%; margin:1em auto 3em auto; }
#footer footer .logo h1 { margin:0 0 2em 0; }
#footer footer .logo p { font-size: 0.7em; letter-spacing: 0.15em; }
#footer footer nav { width:100%; padding:0 5% 0 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; }
#footer footer nav li { font-size: 1.4em; line-height: 2em; letter-spacing: 0.3em; }
#footer footer nav .nav_1 { margin-bottom:2em; }
#footer footer nav .nav_1 li { font-size: 2.5em; line-height: 1.7em; }
#footer footer nav .nav_2 { margin-bottom:2em; }
#footer footer nav .nav_3 { margin-bottom:2em; }

/* pagetop */
#pagetop a { position: fixed; right:0; bottom:0; background-color: #579e4a; color:#fff; display:block; font-size:2em; width:2em; line-height: 2em;  }

/* mTagcloud */
#main .mTagcloud { width: 100%; margin: 0 auto 4em auto; }
#main .mTagcloud .mTagcloud_list { width: 85%; padding:0 1.75em; }
#main .mTagcloud .mTagcloud_list .mTagcloud_list__item { font-size: 1.8em; white-space: nowrap; margin:0 1em 0 0; }

#main .mTagcloud--pickup { width: 100%; margin: 0 auto 4em auto; }
#main .mTagcloud--pickup .mTagcloud--pickup_list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; width: 100%; padding:0; margin: 0 auto; }
#main .mTagcloud--pickup .mTagcloud--pickup_list::-webkit-scrollbar { display: none; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item { font-size: 1.4em; white-space: nowrap; margin:0 0.35em 1.5em 0.35em; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item a { background-color: #eee; padding:0.5em 1em; border-radius: 3em; color: #333333; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item a::before { content: "#"; }
#main .mTagcloud--pickup .mTagcloud--pickup_list .mTagcloud--pickup_list__item a:hover { background-color: #579e4a; color: #ffffff; }

}


@media screen and (max-width: 1199px) {
}
@media screen and (max-width: 374px) {
body { font-size: 11px; }
}
@media screen and (min-width: 600px) and (max-width: 1280px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1281px) and (max-width: 1300px) {
body { font-size: 12.18px; }
}
@media screen and (min-width: 1301px) and (max-width: 1325px) {
body { font-size: 12.36px; }
}
@media screen and (min-width: 1326px) and (max-width: 1350px) {
body { font-size: 12.54px; }
}
@media screen and (min-width: 1351px) and (max-width: 1375px) {
body { font-size: 12.72px; }
}
@media screen and (min-width: 1376px) and (max-width: 1400px) {
body { font-size: 12.9px; }
}
@media screen and (min-width: 1401px) and (max-width: 1425px) {
body { font-size: 13.08px; }
}
@media screen and (min-width: 1426px) and (max-width: 1450px) {
body { font-size: 13.26px; }
}
@media screen and (min-width: 1451px) and (max-width: 1475px) {
body { font-size: 13.44px; }
}
@media screen and (min-width: 1476px) and (max-width: 1500px) {
body { font-size: 13.62px; }
}
@media screen and (min-width: 1501px) and (max-width: 1525px) {
body { font-size: 13.8px; }
}
@media screen and (min-width: 1526px) and (max-width: 1550px) {
body { font-size: 13.98px; }
}
@media screen and (min-width: 1551px) and (max-width: 1575px) {
body { font-size: 14.16px; }
}
@media screen and (min-width: 1576px) and (max-width: 1600px) {
body { font-size: 14.34px; }
}
@media screen and (min-width: 1601px) and (max-width: 1625px) {
body { font-size: 14.52px; }
}
@media screen and (min-width: 1626px) and (max-width: 1650px) {
body { font-size: 14.7px; }
}
@media screen and (min-width: 1651px) and (max-width: 1675px) {
body { font-size: 14.88px; }
}
@media screen and (min-width: 1676px) and (max-width: 1700px) {
body { font-size: 15px; }
}
