@charset "UTF-8";

/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
	display:none;
}

.cmn_maxbox {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.cmn_nav_sp {
	display: none;
}

.font_jun {
	font-family:"じゅん 501","Jun 501",'Kosugi Maru', sans-serif;
}

/* SUBページ mainimg */
.cmn_mainimg {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 448px;
	padding: 210px 0 0 0; /* ヘッダーの高さ */
	background-image: url(../img/home_mainimg04.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	text-align: center;
}

.cmn_mainimg::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	display: block;
	width: 100%;
	height: 0;
	padding: 5% 0 0 0;
	background: url(../img/cmn_submainimg_mask.png) no-repeat center bottom -2px / 100%;
}

.cmn_mainimg h2 {
	margin: 0; /* IE対策 */
	color: #FFF;
	font-size: 3.6rem;
	line-height: 1.4;
	letter-spacing: 0.4rem;
	text-align: center;
	text-shadow: 0 0 14px #243A1A;
}

/* 共通BOX */
.cmn_conts_wrap {
	padding: 80px 0;
}

.cmn_conts_wrap:nth-of-type(2n+1) {
	background: url(../img/cmn_bg_wave_w_top.png) repeat-x center top,
				url(../img/cmn_bg_wave_w_bottom.png) repeat-x center bottom,
				#FFF;
	/* background: url(../img/cmn_bg_wave_w_top.svg) repeat-x center top,
				url(../img/cmn_bg_wave_w_bottom.svg) repeat-x center bottom,
				#FFF; */
}

.cmn_conts_wrap:last-of-type {
	margin: 0 0 70px 0;
}

.cmn_conts_box {
	width: 100%;
	max-width: 940px;
	margin: 0 auto 30px;
}

.cmn_conts_inner {
	padding: 0 20px;
}

/* タイトル（枝付き） */
.cmn_tit_branch {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: 0 0 38px 0;
}

.cmn_tit_branch::before,
.cmn_tit_branch::after {
	content: '';
	display: block;
	width: 27%;
	height: 0;
	padding: 4% 0 0 0;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% 100%;
}

.cmn_tit_branch::before {
	background-image: url(../img/cmn_tit_branch_l.svg);
}

.cmn_tit_branch::after {
	background-image: url(../img/cmn_tit_branch_r.svg);
}

.cmn_tit_branch div {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-shrink: 0;
	min-width: 300px;
	max-width: 460px;
	padding: 0 30px 20px;
	margin: 0 20px;
	background-image: url(../img/cmn_tit_bg_w.svg);
	background-image: url(../img/cmn_tit_bg_w.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
}

.cmn_conts_wrap:nth-of-type(2n+1) .cmn_tit_branch div {
	background-image: url(../img/cmn_tit_bg_g.svg);
	background-image: url(../img/cmn_tit_bg_g.png);
	background-size: 100%;
}

.cmn_tit_branch img {
	flex-shrink: 0;
	display: block;
	width: 40px;
	margin: 0 12px 0 0;
}

.cmn_tit_branch p {
	color: #6E503C;
	font-size: 2.8rem;
	line-height: 1.4;
	letter-spacing: 0.3rem;
	text-align: center;
}

/* タイトル(葉) */
.cmn_tit_leaf {
	position: relative;
	display: flex;
	align-items: flex-end;
	padding: 0 0 14px 0;
	margin: 0 0 20px 0;
}

.cmn_tit_leaf img {
	flex-shrink: 0;
	width: 26px;
	margin: 0 12px 2px 0;
}

.cmn_tit_leaf p {
	width: 100%;
	color: #6E503C;
	font-size: 2.4rem;
}

.cmn_tit_leaf::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 0;
	padding: 1% 0 0 0;
	background: url(../img/cmn_tit_underline.svg) no-repeat left bottom / 100%;
	background: url(../img/cmn_tit_underline.png) no-repeat left bottom / 100%;
}


/* 共通テーブル01 */
.cmn_table01 {
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
}

.cmn_table01 th {
	width: 30%;
	padding: 17px 26px;
	border: 1px dashed rgba(160,130,80,0.5);
	text-align: left;
	color: #6E503C;
	background: rgba(255,235,125,0.5);
}

.cmn_table01 td {
	padding: 17px 26px;
	border: 1px dashed rgba(160,130,80,0.5);
	background: #FFF;
}

/* 共通リスト(img付き) */
.cmn_list_withimg li {
	display: flex;
	align-items: baseline;
	margin: 0 0 4px 0;
}

.cmn_list_withimg li::before {
	content: '';
	flex-shrink: 0;
	display: block;
	width: 10px;
	height: 11px;
	margin: 0 8px 0 0;
	background: url(../img/cmn_list_marker.svg) no-repeat center / 100% 100%;
}


/* ボタン(小) */
.cmn_btn_s {
	min-width: 100px;
	max-width: 200px;
    height: 30px;
}

.cmn_btn_s a {
    display: flex;
    justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
    padding: 8px 10px 8px 0;
    background: url(../img/cmn_btn_g.svg) no-repeat left top / 100% 100%;
    color: #FFF;
}

/* ボタン(大) */
.cmn_btn_l {
	width: 260px;
    height: 50px;
}

.cmn_btn_l a {
    display: flex;
    justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
    padding: 4px 0 0 0;
    background: url(../img/home_about_btn.svg) no-repeat left top / 100% 100%;
    color: #FFF;
	font-size: 1.7rem;
}


/* 共通ページ内リンク群 */
.cmn_pagelinks {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 60px auto 0;
}

.cmn_pagelinks li {
	position: relative;
	width: 20%;
	width: 46%;
	max-width: 220px;
	min-width: 136px;
	height: auto;
	margin: 0 22px 20px;
}

.cmn_pagelinks li::before {
	content: '';
	display: block;
	width: 100%;
	height: 0;
	padding: 36% 0 0 0;
}

.cmn_pagelinks a {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #FFF;
	font-size: 1.8rem;
	letter-spacing: 0rem;
	background: url(../img/cmn_link_bg.png) no-repeat left top / 100% 100%;
	text-align: center;
}

/* ページ送り */
.cmn_pagenation {
	pointer-events: none; /* サイドバーとの干渉回避 */
}

.cmn_pagenation .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
    position: relative;
    font-size: 16px;
}

.cmn_pagenation .pagination span,
.cmn_pagenation .pagination a {
	display: block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	margin: 4px 5px;
	background-color: rgba(237,99,119,0.2);
	color: #ED6377;
    text-decoration: none;
    text-align: center;
    line-height: 46px;
	pointer-events: auto; /* サイドバーとの干渉回避 */
}

/* ホバー時 & 現在のページ */
.cmn_pagenation .pagination a:hover,
.cmn_pagenation .pagination .current  {
    color: #fff;
    background-color: #ED6377;
}

/* 前へ */
.cmn_pagenation .pagination .prev {
    margin-right: 8px;
}
/* 次へ */
.cmn_pagenation .pagination .next {
    margin-left: 8px;
}
/* 最初へ */
.cmn_pagenation .pagination .first {
    /* margin-right: 8px; */
}
/* 最後へ */
.cmn_pagenation .pagination .last {
	/* margin-left: 8px; */
}

/* Page x / y */
.cmn_pagenation .pagination .page_num {
    display: none;
}


/* アイコン 動的表現 */
.cmn_animate_fly img {
	animation: fly 3.0s linear 0s infinite normal;
}

.cmn_animate_rotate img {
	animation: rotate 1.8s linear 0s infinite normal;
}


@keyframes fly {
	0% { transform: translate(0,0); }
	25% { transform: translate(-6px,6px); }
	50% { transform: translate(-2px,16px); }
	75% { transform: translate(4px,8px); }
	100% { transform: translate(0.0); }
}

@keyframes rotate {
	0% { transform: rotateZ(0); }
	10% { transform: rotateZ(24deg); }
	20% { transform: rotateZ(0); }
	100% { transform: rotateZ(0); }
}
/* /end */



/* header・footer //////////////////////////////////////////////////////////////*/

body {
	background: url(../img/cmn_bg_sky_patt.png) repeat left top;
}

header {
	position: fixed;
	width: 100%;
	z-index: 99;
	height: 210px;
	background: url(../img/header_bg_sky.png) no-repeat center bottom / cover;
}

.header_top {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	padding: 16px 1% 0;
	margin: 0 0 22px 0;
}

.header_contact {
	flex-shrink: 0;
}

.header_contact .cmn_animate_fly {
	display: inline-block;
}

.header_logo {
	flex-shrink: 0;
	margin: 8px 0 0 80px;
}

.header_pnav {
	flex-shrink: 0;
	color: #6E503C;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: right;
}

.header_pnav li {
	display: inline-block;
	padding: 2px 10px;
}

.header_pnav li:not(:last-of-type) {
	border-right: 1px dashed #6E503C;
}

.header_pnav img {
	display: inline-block;
	margin: 0 6px 0 0;
	vertical-align: middle;
}


#cmn_schbutton {
	display: none;
}

.header_top > .cmn_animate_fly {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(250%, 150%);
}

.header_top > .cmn_animate_fly img {
	animation-delay: 1.4s;
}

.header_gnav {
	position: relative;
}

.header_gnav ul {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.header_gnav li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc( 100% / 8);
}

.header_gnav a {
	display: block;
	width: 100%;
	padding: 8px 0;
	background: none no-repeat center bottom 8px;
}

.header_gnav a:hover {
	transition: background-position 0.4s ease;
	background: url(../img/header_gnav_bg.svg) no-repeat center bottom;
}

.header_gnav a:hover,
.header_gnav a:hover img,
.header_gnav a img:hover {
	opacity: 1;
}

.header_gnav li::after,
.header_gnav li:first-of-type::before {
	content: '';
	flex-shrink: 0;
	display: block;
	width: 1px;
	height: 30px;
	border-left: 1px dashed #6E503C;
}

.header_gnav li img {
	display: block;
	margin: 0 auto;
}

.header_gnav li img:nth-of-type(1) {
	margin: 0 auto 14px
}


footer {
	/* 蟻による横スクロール 防止 */
	padding: 54px 0 0 0;
	overflow: hidden;
}

footer > div {
	position: relative;
	color: #FFF;
	background: url(../img/footer_bg_grass02.png) repeat center;
}

footer::before,
footer small::before {
	content: '';
	display: block;
	background-repeat: repeat-x;
	background-position: left bottom -1px;
	background-size: auto 100%;
}

footer::before {
	height: 52px;
	background-image: url(../img/footer_bg_grass01.png);
}

footer .copyright {
	position: relative;
	display: block;
	margin: -10px 0 0 0;
}

footer .copyright div {
	display: block;
	padding: 16px 20px 14px;
	color: #FFF;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.3;
	background: url(../img/footer_copyright_bg02.png) repeat center;
}

footer .copyright::before {
	height: 10px;
	background-image: url(../img/footer_copyright_bg01.png);
}

.footer_top {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 0 40px;
}

.footer_top .left {
	flex-shrink: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	width: 560px;
}

.footer_top .left > img {
	flex-shrink: 0;
	display: inline-block;
	margin: 0 20px 0 0;
}

.footer_top .left > div {
	flex-shrink: 0;
	margin: 0 20px 0 0;
}

.footer_top .left address {
	margin: 0 0 -2px 0;
	font-size: 1.3rem;
	font-style: normal;
}

.footer_top .left p {
	font-size: 2.1rem;
}

.footer_top .left span {
	display: inline-block;
	margin: 0 4px 0 0;
	font-size: 1.3rem;
	vertical-align: middle;
}

.footer_top .left a {
	flex-shrink: 0;
	display: inline-block;
}

.footer_top .right {
	width: 100%;
	padding: 0 0 0 20px;
	border-left: 1px solid #FFF;
}


/* 蟻と砂糖 */
.footer_ant {
	position: absolute;
	top: -100px;
	left: 40px;

	animation: antWalk 0.8s linear 0s infinite normal;
}

.footer_ant .ant01,
.footer_ant .ant02 {
	max-width: none;
}

.footer_ant .ant01 {
	display: inline;
}

.footer_ant .ant02 {
	display: none;
}

@keyframes antWalk {
    0% { transform:rotateZ(0); }
	25% { transform:rotateZ(-10deg); }
	50% { transform:rotateZ(0); }
	75% { transform:rotateZ(10deg); }
	100% { transform:rotateZ(0); }
}

.footer_sugar {
	position: absolute;
	z-index: -1;
	top: -66px;
	display: none;
}
/* /end */


.footer_gotop {
	position: fixed;
	top: auto;
	bottom: 270px;
	right: 20px;
	z-index: 89;
	display: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

.footer_nav ul {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	max-width: 800px;
	padding: 0 0 40px 0;
	margin: 0 auto -14px;
}

.footer_nav li {
	margin: 0 0 14px 0;
	border-style: solid;
	border-color: #FFF;
	line-height: 100%;
}

.footer_nav li a {
	display: block;
	padding: 0 20px;
}

.footer_nav li:not(:last-of-type) {
	border-width: 0 0 0 1px;
}

.footer_nav li:last-of-type {
	border-width: 0 1px 0 1px;
}

.footer_nav small {
	font-size: 1.3rem;
}


/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_mainimg {
	position: relative;
	z-index: 9;
}

.home_mainimg .tit {
	position: absolute;
	/* 画面の高さ - headerの高さ - 草の高さ / 2 + headerの高さ */
	top: calc((100% - 210px - 80px) / 2 + 210px);
	left: 0;
	right: 0;
	z-index: 9;
	transform: translateY(-50%);
	text-align: center;
}

.home_mainimg li[class^="slide"] {
	height: 700px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

.home_mainimg .slide01 {
	background-image: url(../img/home_mainimg01.jpg);
}

.home_mainimg .slide02 {
	background-image: url(../img/home_mainimg02.jpg);
}

.home_mainimg .slide03 {
	background-image: url(../img/home_mainimg03.jpg);
}

.home_mainimg .slide04 {
	background-image: url(../img/home_mainimg04.jpg);
}

.home_mainimg .slide05 {
	background-image: url(../img/home_mainimg05.jpg);
}

.home_mainimg .slide06 {
	background-image: url(../img/home_mainimg06.jpg);
}

.home_mainimg .grass {
	position: absolute;
	bottom: -130px;
	left: 0;
	transform: translateY(100%);
	transition: transform 1s;
	display: none;
	width: 100%;
	height: 210px;
	background: url(../img/home_mainimg_grass.png) repeat-x center top / auto 100%;
}

.home_mainimg .grass.on {
	transform: translateY(0);
}

.home_topmsg {
	position: relative;
	z-index: 10;
	overflow: hidden;
}

.home_topmsg::before,
.home_topmsg::after {
	content: '';
	display: block;
	height: 0;
	padding: 6% 0 0 0;
	background-repeat: no-repeat;
	background-size: 101% auto;
}

.home_topmsg::before {
	background-image: url(../img/home_cmn_bg_cloud_01.svg);
	background-position: center bottom -1px;
}

.home_topmsg::after {
	background-image: url(../img/home_cmn_bg_cloud_02.svg);
	background-position: center top -1px;
}

.home_topmsg > div {
	background: #FFF;
}

.home_topmsg .cmn_maxbox {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	text-align: center;
}

.home_topmsg .imgbox_01 {
	flex-shrink: 0;
	align-self: center;
	width: 32%;
	margin: 0 20px 0 0;
}

.home_topmsg .txtbox {
	width: 100%;
}

.home_topmsg .txtbox h2 {
	margin: 0 0 80px 0;
}

.home_topmsg .txtbox > div {
	padding: 30px 0;
	margin: 0 0 60px 0;
	background: url(../img/home_topmsg_dots.svg) no-repeat center top,
				url(../img/home_topmsg_dots.svg) no-repeat center bottom;
}

.home_topmsg .imgbox_02 {
	flex-shrink: 0;
	align-self: center;
	width: 30%;
	margin: 0 0 0 20px;
}

.home_topmsg .cmn_animate_fly {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(250%, 10%);
}

.home_topmsg .cmn_animate_fly > img {
	animation-delay: 2.6s;
}

.home_news_tweet {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	height: 320px;
	margin: 60px auto;
}

.home_news {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	width: 54%;
	height: 100%;
	margin: 0 30px 0 0;
}

.home_news::before,
.home_news::after {
	flex-shrink: 0;
	content: '';
	display: block;
	height: 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.home_news::before {
	padding: 7% 0 0 0;
	background-image: url(../img/home_news_bg_top.png);
	background-position: left bottom -2px;
}

.home_news::after {
	padding: 4% 0 0 0;
	background-image: url(../img/home_news_bg_bottom.png);
	background-position: left top -2px;
}

.home_news > div {
	height: 100%;
	padding: 0 6%;
	background: url(../img/home_news_bg_middle.png) repeat-y left top / 100% auto;
}

.home_news .tit {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 22px 0;
}

.home_news dl {
	height: 70%;
	overflow-y: auto;
}

.home_news dt {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0 0 8px 0;
}

.home_news dt p {
	margin: 0 12px 0 0;
	color: rgba(110,80,60,0.7);
	font-size: 1.3rem;
}

.home_news dt span {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 0.4rem;
	margin: 0 14px 0 0;
	color: #FFF;
	font-size: 1.4rem;
}

.home_news dt .news {
	background: #FFAA50;
}

.home_news dt .restaurant {
	background: rgba(237,99,119,0.8);
}

.home_news dt .cafe {
	background: rgba(160,130,80,0.8);
}

.home_news dt .others {
	background: #B3B3B3;
}

.home_news dd:not(:last-of-type) {
	padding: 0 0 14px 0;
	margin: 0 0 14px 0;
	border-bottom: 1px dashed #6E503C;
}

.home_news dd:only-of-type {
	border-bottom: 1px dashed #6E503C;
}

.home_news dd:last-of-type {
	padding: 0 0 14px 0;
}

.home_news dd a {
	display: block;
}

.home_tweet {
	position: relative;
	flex-shrink: 0;
	width: 30%;
	height: 100%;
	padding: 60px 50px 40px 40px;
	background: url(../img/home_tweet_bg.png) no-repeat left center / 100% auto;
}

.home_tweet h2 {
	position: absolute;
	top: 0;
	right: -32%;
}

.home_tweet > a {
	position: absolute;
	top: 100px;
	right: -42%;
}

.home_tweet div span {
	display: inline-block;
	margin: 0 0 10px 0;
	color: rgba(110,80,60,0.7);
	font-size: 1.3rem;
}

.home_tweet > img {
	position: absolute;
	width: 160px;
	top: 50%;
	right: -46%;
}

.home_diary {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.home_diary .cmn_maxbox {
	position: relative;
}

.home_diary::before,
.home_diary::after {
	content: '';
	display: block;
	height: 0;
	padding: 6% 0 0 0;
	background-repeat: no-repeat;
	background-size: 101% auto;
}

.home_diary::before {
	background-image: url(../img/home_cmn_bg_cloud_01.svg);
	background-position: center bottom -1px;
}

.home_diary::after {
	background-image: url(../img/home_cmn_bg_cloud_02.svg);
	background-position: center top -1px;
}

.home_diary > div {
	padding: 0 0 34px 0;
	background: #FFF;
}

.home_diary .tit {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 30px 0;
}

.home_diary .tit a {
	position: absolute;
	right: 0;
	bottom: 40px;
}

.home_diary ul {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}

.home_diary ul::before,
.home_diary ul::after {
	order: 1;
	content: '';
	display: block;
	width: 22%;
}

.home_diary li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	width: 22%;
	height: 370px;

    -webkit-filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));
    -moz-filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));
    -ms-filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));
	filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));

	transition: transform 100ms;
}

/* IE11用 */
_:-ms-lang(x)::-ms-backdrop, .home_diary li {
    box-shadow: 15px 15px 10px -10px rgba(175,165,140,0.5);
}

.home_diary li:hover {
	transform: scale(1.02);
}

.home_diary li > div {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	height: 100%;
	padding: 4px 20px 0 20px;
	background: url(../img/home_diary_bg_middle.png) repeat-y left top / 100% auto;
}

.home_diary li::before {
	flex-shrink: 0;
	content: '';
	display: block;
	height: 0;
	padding: 25% 0 0 0;
	background-image: url(../img/home_diary_bg_top.png);
	background-position: center bottom -1px;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.home_diary li .date {
	display: block;
	margin: 0 0 10px 0;
}

.home_diary li .date img {
	display: inline-block;
	margin: 0 0 0 10px;
}

.home_diary li h3 {
	margin: 0 0 12px 0;
	font-size: 1.8rem;
	line-height: 1.3;
}

.home_diary li > div div {
	flex-shrink: 0;
    position: relative;
	display: block;
    width: 100%;
    height: 0;
    padding: 75% 0 0 0;
	margin: 0 auto 10px;
	border-radius: 1.0rem;
    overflow: hidden;
}

.home_diary li > div div img {
	position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: auto;
}

.home_diary li > div > p {
	margin: 0 0 8px 0;
}

.home_diary li .more {
	display: inline-block;
	align-self: flex-end;
    margin: auto 0 16px 0;
}

.home_diary li > a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.home_diary .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-130%, 140%);
}

.home_outline {
	overflow: hidden;
	margin: 0 0 100px 0;
}

.home_outline section {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 0 60px;
	background: url(../img/home_about_dots.svg) no-repeat center bottom / 90% auto;
}

.home_outline section:last-of-type {
	background: none;
}

.home_outline section .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
}

.home_outline section:nth-of-type(2n-1) .cmn_animate_rotate {
	right: 0;
	transform: translate(150%, 50%);
}

.home_outline section:nth-of-type(2n) .cmn_animate_rotate {
	left: 0;
	transform: translate(-150%, 50%);
}

.home_outline .about .cmn_animate_rotate img {
	animation-delay: 0.9s;
}

.home_outline .action .cmn_animate_rotate img {
	animation-delay: 1.4s;
}

.home_outline .life .cmn_animate_rotate img {
	animation-delay: 1.9s;
}

.home_outline dl {
	flex-shrink: 0;
	width: 50%;
}

.home_outline dt {
	position: relative;
	height: 0;
	padding: 24% 0 0 0;
	background: url(../img/home_about_bg_top.png) no-repeat left top / 100% auto;
}

.home_outline dt div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 64%;
	margin: 0 auto;
}

.home_outline dt .page_ico {
	flex-shrink: 0;
	display: inline-block;
	width: 10%;
	min-width: 28px;
	max-width: 38px;
	margin: 0 20px 0 0;
}

.home_outline dt .flw {
	position: absolute;
	bottom: 0;
	z-index: 10;
}

.home_outline section:nth-of-type(2n-1) dt .flw {
	right: 0;
	transform: translate(80%, 40%);
}

.home_outline section:nth-of-type(2n) dt .flw {
	left: 0;
	transform: translate(-120%, -100%);
}

.home_outline dd {
	padding: 20px 40px 60px;
	background: url(../img/home_about_bg_bottom.png) no-repeat left top / 100% 100%;
}

.home_outline dd a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 260px;
	padding: 4px 0 0 0;
	height: 50px;
	margin: 30px auto 0;
	background: url(../img/home_about_btn.svg) no-repeat left top / 100% auto;
	color: #FFF;
	font-size: 1.7rem;
}

.home_outline section > a {
	flex-shrink: 0;
	position: relative;
	z-index: 9;
	display: block;
	width: 53%;
}

.home_outline section:nth-of-type(2n-1) > a {
	order: 1;
	margin: 0 0 0 -3%;
}

.home_outline section:nth-of-type(2n) > a {
	order: -1;
	margin: 0 -3% 0 0;
}


/* news /////////////////////////////////////////////////////////////////////////////////////////// */
.news_mainimg {
	background-image: url(../img/news_mainimg.jpg);
}

.news_wrap .list {
	padding: 36px 30px 36px 50px;
	background: url(../img/cmn_bg_whiteboard.svg) no-repeat left top / 100% 100%;
}

.news_wrap dl {
	/*max-height: 450px;*/
	padding: 0 20px 0 0;
	/*overflow-y: auto;*/
}

.news_wrap dl div {
	padding: 0 24px;
}

.news_wrap dl div:not(:last-of-type) {
	border-bottom: 1px dashed #6E503C;
	margin: 0 0 16px 0;
}

.news_wrap dt {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0 0 12px 0;
}

.news_wrap dt p {
	margin: 0 12px 0 0;
	color: rgba(110,80,60,0.7);
	font-size: 1.3rem;
}

.news_wrap dt span {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 0.4rem;
	margin: 0 14px 0 0;
	color: #FFF;
	font-size: 1.4rem;
}

.news_wrap dt img {
	width: 42px;
}

.news_wrap dt .news {
	background: #FFAA50;
}

.news_wrap dt .restaurant {
	background: rgba(237,99,119,0.8);
}

.news_wrap dt .cafe {
	background: rgba(160,130,80,0.8);
}

.news_wrap dt .others {
	background: #B3B3B3;
}

.news_wrap dl div:not(:last-of-type) dd {
	padding: 0 0 14px 0;
}

.news_wrap dd a {
	display: block;
}

.news_pagenation {
	margin: 70px 0 40px 0;
}

.news_single_conts {
	padding: 52px 62px;
	margin: 0 0 56px 0;
	background: url(../img/cmn_bg_whiteboard.svg) no-repeat left top / 100% 100%;
}

.news_single_conts .subinfo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0 0 34px -8px;
}

.news_single_conts .subinfo p {
	margin: 0 12px 0 0;
	color: rgba(110,80,60,0.7);
	font-size: 1.3rem;
}

.news_single_conts .subinfo span {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 0.4rem;
	margin: 0 14px 0 0;
	color: #FFF;
	font-size: 1.4rem;
}

.news_single_conts .subinfo .news {
	background: #FFAA50;
}

.news_single_conts .subinfo .restaurant {
	background: rgba(237,99,119,0.8);
}

.news_single_conts .subinfo .cafe {
	background: rgba(160,130,80,0.8);
}

.news_single_conts .subinfo .others {
	background: #B3B3B3;
}

.news_single_btn {
	margin: 0 auto;
}


/* tweet /////////////////////////////////////////////////////////////////////////////////////////// */
.tweet_mainimg {
	background-image: url(../img/tweet_mainimg.jpg);
}

.tweet_conts_wrap {
	overflow: hidden;
}

.tweet_conts_box {
	position: relative;
}

.tweet_conts_box .list {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0 0 30px 0;
}

.tweet_conts_box .list::before,
.tweet_conts_box .list::after {
	content: '';
	order: 1;
	display: block;
	width: 266px;
	margin: 0 10px 0;
}

.tweet_conts_box .list li {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	width: 266px;
	height: 257px;
	padding: 40px 32px 32px;
	margin: 0 10px 48px;
	background: url(../img/tweet_hukidashi.png) no-repeat left top / 100% 100%;
}

.tweet_conts_box .list li:nth-of-type(2) {
	background: url(../img/cmn_ico_tentoumushi) no-repeat right 20px top 20px,
				url(../img/tweet_hukidashi.png) no-repeat left top / 100% 100%;
}

.tweet_conts_box .list li span {
	display: block;
	margin: 0 0 12px 0;
	color: rgba(110,80,60,0.7);
	font-size: 1.3rem;
}

.tweet_conts_box .list li p {
	font-size: 1.4rem;
}

.tweet_conts_box .list li .text_short {
	margin: 0 0 6px 0;
}

.tweet_conts_box .list li a {
	align-self: flex-end;
	display: block;
}

.tweet_conts_box .list li .text_full,
.tweet_conts_box .list .photo {
	display: none;
}

.tweet_conts_box .pagination {
	margin: 0;
}

.tweet_conts_box .cmn_animate_fly,
.tweet_conts_box .cmn_animate_rotate,
.tweet_conts_box .cmn_flw {
	position: absolute;
}

.tweet_conts_box .cmn_animate_fly {
	top: 0;
	right: 0;
	transform: translate(160%, 0%);
}

.tweet_conts_box .cmn_animate_rotate {
	top: 50%;
	left: 0;
	transform: translate(-160%, 0%);
}

.tweet_conts_box .cmn_flw {
	bottom: 0;
	left: 30%;
	transform: translate(0%, -100%);
}


/* tweet popup */
.tweet_modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
    display: none;
    width: 100%;
	height: 100vh;
}

.tweet_modal__bg {
	position: absolute;
    width: 100%;
    height: 100vh;
	background: rgba(0,0,0,0.5);
}

.tweet_modal__content {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	padding: 0 6%;
	pointer-events: none;
}

.tweet_modal__content .arr_prev,
.tweet_modal__content .arr_next {
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	display: none;
	width: 14px;
	text-align: center;
	font-size: 4.0rem;
	color: #FFF;
	cursor: pointer;
	pointer-events: auto;
}

.tweet_modal__content .arr_prev {
	left: 1%;
}

.tweet_modal__content .arr_next {
	right: 1%;
}

.tweet_modal__content article {
	width: 100%;
	max-width: 740px;
	height: 514px;
	padding: 80px 100px 140px 80px;
	background: url(../img/tweet_hukidashi_popup.png) no-repeat left top / 100% 100%;
	pointer-events: auto;
}

.tweet_modal__content span {
	display: block;
	margin: 0 0 20px 30px;
	color: rgba(110,80,60,0.7);
	font-size: 1.3rem;
}

.tweet_modal__content article div {
	height: 100%;
	padding: 8px 20px 8px 0;
	overflow-y: auto;
}

.tweet_modal__content div::-webkit-scrollbar {
	width: 10px;
	background: rgba(255,235,125,0.6);
}

.tweet_modal__content div::-webkit-scrollbar-thumb {
	height: 80px;
	background: rgba(255,170,80,0.6);
}

.tweet_modal__content p {
	margin: 0 0 34px 0;
	font-size: 1.4rem;
	line-height: 1.5;
}

.tweet_modal__content ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.tweet_modal__content li {
	width: 48%;
	margin: 0 0 18px 0;
	text-align: center;
}

.tweet_modal__content li:only-of-type {
	width: 100%;
	margin: 0 auto 18px;
}

.tweet_modal__content li img {
	width: 100%;
	max-width: none;
	border-radius: 1.0rem;
}



/* about /////////////////////////////////////////////////////////////////////////////////////////// */
.about_mainimg {
	background-image: url(../img/about_mainimg.jpg);
}

.about_target {
	overflow: hidden;
}

.about_target_conts {
	position: relative;
}

.about_target_conts p {
	margin: 0 0 70px 0;
	text-align: center;
}

.about_target_conts ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.about_target_conts li {
	position: relative;
	width: 48%;
	margin: 0 0 50px 0;
}

.about_target_conts li:nth-of-type(2n) img {
	position: absolute;
	top: 60px;
	left: 0;;
}

.about_target_conts .cmn_flw:nth-of-type(1) {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-150%, 0%);
}

.about_target_conts .cmn_flw:nth-of-type(2) {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(150%, 0%);
}



/* this */
.about_env,
.about_facility {
	overflow: hidden;
}

.about_env_inner,
.about_facility_inner {
	position: relative;
}

.about_env_inner > .cmn_animate_rotate,
.about_facility_inner > .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-150%, 0%);
}

.about_env .topmsg,
.about_facility .topmsg {
	position: relative;
	margin: 0 0 50px 0;
	text-align: center;
}

.about_env .topmsg .sp,
.about_facility .topmsg .sp {
	display: none;
}

.about_env .topmsg p,
.about_facility .topmsg p {
	position: absolute;
	width: 280px;
	text-align: left;
	line-height: 1.6;
}

.about_env .topmsg p {
	top: 0;
	right: 0;
	transform: translate(-14%,36%);
}

.about_facility .topmsg p {
	top: 0;
	left: 0;
	transform: translate(30%,34%);
}

.about_env .topmsg > .cmn_animate_rotate,
.about_facility .topmsg > .cmn_animate_fly {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(200%, -100%);
}

.about_env ul,
.about_facility ul {
	margin: 0 0 60px 0;
}

.about_env li,
.about_facility li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 34px 0;
}

.about_env li div,
.about_facility li div {
	width: 100%;
}

.about_env li div > p,
.about_facility li div > p {
	padding: 0 10px;
}

.about_env li > img,
.about_facility li > img {
	flex-shrink: 0;
	display: block;
	width: 38%;
	min-width: 180px;
}

.about_env li:nth-of-type(2n-1) > img,
.about_facility li:nth-of-type(2n) > img {
	order: -1;
	margin: 0 24px 0 0;
}

.about_env li:nth-of-type(2n) > img,
.about_facility li:nth-of-type(2n-1) > img {
	margin: 0 0 0 24px;
}

/* this */


.about_access {
	overflow: hidden;
}

.about_access_inner {
	position: relative;
}

.about_access_inner > p {
	margin: 0 0 40px 0;
	color: #6E503C;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.6;
}

.about_access_inner .googlemap {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 56% 0 0 0;
}

.about_access_inner .googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 1.0rem;
}

.about_access_inner .cmn_flw {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(150%, 0%);
}

/* action /////////////////////////////////////////////////////////////////////////////////////////// */
.action_mainimg {
	background-image: url(../img/action_mainimg.jpg);
}

.action_pagelinks {
	padding: 0 60px;
}

.action_play,
.action_restaurant {
	overflow: hidden;
}

.action_play_inner,
.action_restaurant_inner {
	position: relative;
}

.action_play_inner > .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-150%, 0%);
}

.action_restaurant_inner > .cmn_flw {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(150%, 0%);
}

.action_play .topmsg,
.action_restaurant .topmsg {
	position: relative;
	margin: 0 0 50px 0;
	text-align: center;
}

.action_play .topmsg > .cmn_animate_fly {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(200%, 40%);
}

.action_restaurant .topmsg > .cmn_flw {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-200%, 40%);
}

.action_play ul,
.action_restaurant ul {
	margin: 0 0 60px 0;
}

.action_play li,
.action_restaurant li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 34px 0;
}

.action_play li div,
.action_restaurant li div {
	width: 100%;
}

.action_play li div > p,
.action_restaurant li div > p {
	padding: 0 10px;
}

.action_play li > img,
.action_restaurant li > img {
	flex-shrink: 0;
	display: block;
	width: 38%;
	min-width: 180px;
}

.action_play li:nth-of-type(2n-1) > img,
.action_restaurant li:nth-of-type(2n) > img {
	order: -1;
	margin: 0 24px 0 0;
}

.action_play li:nth-of-type(2n) > img,
.action_restaurant li:nth-of-type(2n-1) > img {
	margin: 0 0 0 24px;
}


.action_marching,
.action_school,
.action_meal {
	overflow: hidden;
}

.action_marching .topmsg,
.action_school .topmsg,
.action_meal .topmsg {
	position: relative;
	margin: 0 0 50px 0;
	text-align: center;
}

.action_marching .topmsg p,
.action_school .topmsg p,
.action_meal .topmsg p {
	line-height: 1.6;
}


.action_marching ul,
.action_school ul,
.action_meal ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.action_marching li,
.action_school li,
.action_meal li {
	width: 32%;
}

.action_marching li:nth-of-type(2) img,
.action_school li:nth-of-type(2) img,
.action_meal li:nth-of-type(2) img {
	display: block;
	margin: 0 0 -90px 0;
}

.action_marching .topmsg > .cmn_animate_rotate {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(200%, 40%);
}

.action_school .topmsg > .cmn_animate_rotate {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-200%, 40%);
}

.action_meal .topmsg > .cmn_flw {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(200%, 40%);
}




/* life /////////////////////////////////////////////////////////////////////////////////////////// */
.life_mainimg {
	background-image: url(../img/life_mainimg.jpg);
}

.life_scd .topmsg {
	margin: 60px 0;
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: center;
}

.life_scd .year li {
	position: relative;
	padding: 0 0 50px 0;
	margin: 0 0 44px 0;
	background: url(../img/home_about_dots.svg) no-repeat center bottom / 100% auto;
}

.life_scd .year li:last-of-type {
	background: none;
}

.life_scd .year .pc,
.life_scd .year .sp {
	margin: 0 auto;
}

.life_scd .year .sp {
	display: none;
}

.life_scd .sometimes .sp {
	display: none;
}

.life_day {
	overflow: hidden;
}

.life_day .topmsg {
	position: relative;
	margin: 60px 0;
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: center;
}

.life_day .topmsg .cmn_animate_rotate {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(150%, 0%);
}

.life_day_conts {
	position: relative;
}

.life_day_conts .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-220%, 0%);
}

.life_day_conts .imgbox .pc,
.life_day_conts .imgbox .sp {
	margin: 0 auto;
}

.life_day_conts .imgbox .sp {
	display: none;
}


/* admission /////////////////////////////////////////////////////////////////////////////////////////// */
.admission_mainimg {
	background-image: url(../img/admission_mainimg.jpg);
}

.admission .topimg {
	margin: 0 0 8% 0;
	text-align: center;
}

.admission .hoikushi {
	margin: 0 0 50px 0;
}

.admission .hoikushi li div {
	width: 100%;
}

.admission .hoikushi li span {
	display: block;
	color: #6E503C;
	font-size: 1.6rem;
	letter-spacing: 0;
}

.admission .hoikushi li p {
	margin: 2px 0 8px 1%;
}

.admission .join p a {
	color: #83D175;
	text-decoration: underline;
}

.admission .join_btn {
	width: 500px;
	height: 100px;
	margin: 60px auto 0;
	text-align: center;
}



/* diary /////////////////////////////////////////////////////////////////////////////////////////// */
.diary_mainimg {
	/*background-image: url(../img/diary_mainimg.jpg);*/
	background-image: url(../img/diary_mainimg_2.jpg);
}

.diary_tit {
	margin: 0 0 20px 0;
	text-align: center;
}

.diary_2col_wrap {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.diary_2col_wrap ul {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	width: 74%;
}

.diary_2col_wrap ul::after {
	content: '';
	display: block;
	width: 32%;
	margin: 0 0 46px 0;
}

.diary_2col_wrap li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	width: 32%;
	height: 390px;
	margin: 0 0 46px 0;

    -webkit-filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));
    -moz-filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));
    -ms-filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));
	filter:drop-shadow(5px 5px 10px rgba(175,165,140,0.5));

	transition: transform 100ms;
}

/* IE11用 */
_:-ms-lang(x)::-ms-backdrop, .diary_2col_wrap li {
    box-shadow: 15px 15px 10px -10px rgba(175,165,140,0.5);
}

.diary_2col_wrap li:hover {
	transform: scale(1.02);
}

.diary_2col_wrap li > div {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	height: 100%;
	padding: 4px 20px 0 20px;
	background: url(../img/home_diary_bg_middle.png) repeat-y left top / 100% auto;
}

.diary_2col_wrap li::before {
	flex-shrink: 0;
	content: '';
	display: block;
	height: 0;
	padding: 25% 0 0 0;
	background-image: url(../img/home_diary_bg_top.png);
	background-position: center bottom -1px;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.diary_2col_wrap li .date {
	display: block;
	margin: 0 0 10px 0;
}

.diary_2col_wrap li .date img {
	display: inline-block;
	margin: 0 0 0 10px;
}

.diary_2col_wrap li h3 {
	margin: 0 0 12px 0;
	font-size: 1.8rem;
	line-height: 1.3;
}

.diary_2col_wrap li > div div {
	flex-shrink: 0;
    position: relative;
	display: block;
    width: 100%;
    height: 0;
    padding: 75% 0 0 0;
	margin: 0 auto 10px;
	border-radius: 1.0rem;
    overflow: hidden;
}

.diary_2col_wrap li > div div img {
	position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: auto;
}

.diary_2col_wrap li > div > p {
	margin: 0 0 8px 0;
}

.diary_2col_wrap li .more {
	display: inline-block;
	align-self: flex-end;
    margin: auto 0 16px 0;
}

.diary_2col_wrap li > a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.diary_pagenation {
	position: absolute;
	bottom: -90px;
	left: 50%;
	transform: translate(-50%,0);
	width: 100%;
}

.diary_2col_wrap .sidebar {
	width: 22%;
	margin: 16px 0 -36px 0;
}

.diary_2col_wrap .sidebar dl {
	padding: 20px 20px;
	margin: 0 0 36px 0;
	background: url(../img/diary_whiteboard.png) no-repeat left top / 100% 100%;
}

.diary_2col_wrap .sidebar .cmn_tit_leaf {
	padding: 0 0 10px 0;
	margin: 0 0 12px 0;
}

.diary_2col_wrap .sidebar .cmn_tit_leaf p {
	font-size: 2.0rem;
}

.diary_2col_wrap .sidebar .cmn_tit_leaf::after {
	padding: 3% 0 0 0;
	background: url(../img/cmn_tit_underline.png) no-repeat left bottom / 100% 100%;
}

.diary_2col_wrap .sidebar dd {
	display: flex;
	align-items: baseline;
	padding: 0 0 8px 0;
	border-bottom: 1px dashed rgba(110,80,60,0.5);
	margin: 0 0 10px 0;
}

.diary_2col_wrap .sidebar dd:last-of-type {
	margin: 0;
}

.diary_2col_wrap .sidebar dd::before {
	content: '';
	flex-shrink: 0;
	display: block;
	width: 10px;
	height: 11px;
	margin: 0 8px 0 0;
	background: url(../img/diary_list_marker.svg) no-repeat center / 100% 100%;
}

.diary_2col_wrap .sidebar dd a {
	display: block;
	width: 100%;
}

.diary_single_tit::before,
.diary_single_tit::after {
	width: 0;
}

.diary_single_tit div {
	max-width: 100%;
    padding: 0 30px 10px;
    margin: 0 20px;
    background-image: url(../img/cmn_tit_bg_w.svg);
    background-image: url(../img/cmn_tit_bg_w.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 60%;
	
}

.diary_single_conts {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.diary_single_conts img {
	flex-shrink: 0;
	display: block;
	width: 48%;
	margin: 0 28px 0 0;
	border-radius: 0.5rem;
}

.diary_single_conts div {
	width: 100%;
}

.diary_single_conts div span {
	display: block;
	padding: 14px 20px;
	margin: 0 0 20px 0;
	font-size: 1.6rem;
	text-align: right;
	background: url(../img/diary_date_bg.png) no-repeat center / cover;
}

.diary_single_gallery {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0 0 -24px 0;
}

.diary_single_gallery::before,
.diary_single_gallery::after {
	order: 1;
	content: '';
	display: block;
	width: 23%;
}

.diary_single_gallery li {
	width: 23%;
	height: auto;
	margin: 0 0 24px 0;
}

.diary_single_gallery a {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding: 76% 0 0 0;
	border-radius: 1.0rem;
	margin: 0 0 8px 0;
	overflow: hidden;
}

.diary_single_gallery img {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	width: 100%;
	height: auto;
}

.diary_single_btn  {
	margin: 0 auto 140px;
}


/* recruit /////////////////////////////////////////////////////////////////////////////////////////// */
.recruit_mainimg {
	background-image: url(../img/recruit_mainimg.jpg);
}

.recruit_conts > img {
	display: block;
	margin: 50px auto 36px;
}

.recruit_staff_inner ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 60px -14px 0 0;
}

.recruit_staff_inner li {
	margin: 0 14px 40px 0;
	text-align: center;
}

.recruit_staff_inner li:nth-of-type(3n+2)::before,
.recruit_staff_inner li:nth-of-type(3n+3)::before {
	content: '';
	display: block;
	width: 100%;
}

.recruit_staff_inner li:nth-of-type(3n+2)::before {
	margin: 20px 0 0 0;
}

.recruit_staff_inner li:nth-of-type(3n+3)::before {
	margin: -10px 0 0 0;
}

.recruit_staff_inner div {
	margin: 0 0 10px 0;
	color: #6E503C;
	letter-spacing: 0;
}

.recruit_staff_inner div span {
	display: block;
	margin: 0 0 2px 0;
	font-size: 1.3rem;
}

.recruit_staff_inner div p {
	font-size: 1.6rem;
}

.recruit_staff_inner li img {
	display: inline-block;
	margin: 0 0 14px 0;
}

.recruit_jobinfo table {
	margin: 0 0 60px 0;
}

.recruit_jobinfo .holiday li {
	text-indent: -16px;
	padding: 0 0 0 26px;
	margin: 3px 0;
}

.recruit_visit > p {
	margin: 0 0 30px 0;
}

.recruit_visit > span {
	display: inline-block;
	margin: 0 0 12px 0;
	font-size: 1.4rem;
}


/* company /////////////////////////////////////////////////////////////////////////////////////////// */
.company_mainimg {
	background-image: url(../img/company_mainimg.jpg);
}

.company_aisatsu {
	overflow: hidden;
}

.company_aisatsu .msg {
	position: relative;
}

.company_aisatsu .msg .namebox {
	margin: 30px 0 42px 0;
	color: #6E503C;
	font-weight: bold;
	text-align: right;
}

.company_aisatsu .msg .namebox span {
	display: inline-block;
	margin: 0 20px 0 0;
}

.company_aisatsu .msg .namebox p {
	display: inline-block;
	margin: 0 20px 0 0;
	font-size: 1.8rem;
}

.company_aisatsu .riji .cmn_animate_fly {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(126%, 0%);
}

.company_aisatsu .enchou .cmn_flw {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-120%, 0%);
}

.company_outline {
	overflow: hidden;
}

.company_outline .info {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 60px 0;
}

.company_outline .info .table {
	width: 100%;
}

.company_outline .info .mark {
	flex-shrink: 0;
	width: 116px;
	margin: 0 0 0 30px;
}

.company_outline .info .mark p {
	margin: 12px 0 0 0;
	color: #6E503C;
	font-size: 1.8rem;
	text-align: center;
}

.company_outline .info .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(180%, 0%);
}

.company_outline .history {
	position: relative;
}

.company_outline .history dl div {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 12px 2%;
	border-top: 1px dashed rgba(160,130,80,0.5); 
}

.company_outline .history dt {
	flex-shrink: 0;
	width: 28%;
	margin: 0 16px 0 0;
	color: #6E503C;
	letter-spacing: 0;
}

.company_outline .history dd {
	width: 100%;
}

.company_outline .history dl div:last-of-type {
	border-bottom: 1px dashed rgba(160,130,80,0.5); 
}

.company_outline .history .cmn_animate_rotate {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-180%, 0%);
}

.company_koukai {
	overflow: hidden;
}

.company_koukai .info {
	position: relative;
}

.company_koukai .info td a {
	color: #83D175;
	text-decoration: underline;
}

.company_koukai .info .cmn_animate_rotate {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(180%, 0%);
}



/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
.contact_mainimg {
	background-image: url(../img/contact_mainimg.jpg);
}

.contact_msg_inner ul,
.contact_msg_inner > p {
	margin: 0 0 20px 0;
}

.contact_msg_inner li {
	text-indent: -14px;
	padding: 0 0 0 14px;
	margin: 0 0 4px 0;
}

.contact_info_inner img {
	display: block;
	margin: 0 auto;
}


/* midorikko /////////////////////////////////////////////////////////////////////////////////////////// */
.midorikko_mainimg {
	background-image: url(../img/midorikko_mainimg.jpg);
}

.midorikko_about {
	overflow: hidden;
}

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

.midorikko_about_inner .imgbox01 {
	flex-shrink: 0;
	align-self: center;
	width: 26%;
	margin: 30px -40px 0 0;
}

.midorikko_about_inner p {
	flex-shrink: 0;
	width: 80%;
	text-align: center;
	line-height: 1.8;
}

.midorikko_about_inner .imgbox02 {
	flex-shrink: 0;
	align-self: center;
	width: 26%;
	margin: -160px 0 0 -60px;
}


.midorikko_conts .topmsg {
	margin: 60px 0 60px 0;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.6;
}


.midorikko_conts .oyagg,
.midorikko_conts .jyoseikai,
.midorikko_conts .school {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 30px 0 66px 0;
}

.midorikko_conts .oyagg .txt,
.midorikko_conts .jyoseikai .txt,
.midorikko_conts .school .txt {
	width: 100%;
}

.midorikko_conts .oyagg img,
.midorikko_conts .jyoseikai img,
.midorikko_conts .school img {
	flex-shrink: 0;
	display: block;
	width: 38%;
	min-width: 180px;
	max-width: 300px;
}

.midorikko_conts .oyagg img,
.midorikko_conts .school img {
	margin: 0 0 0 24px;
}

.midorikko_conts .jyoseikai img {
	order: -1;
	margin: 0 24px 0 0;
}

.midorikko_conts .oyagg li {
	margin: 0 0 12px 0;
}

.midorikko_btmlink li {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 600px;
	height: 150px;
	padding: 0 4%;
	margin: 0 auto 34px;
	background: url(../img/midorikko_btmlink_bg.svg) no-repeat left top / 100% 100%;
}

.midorikko_btmlink img {
	display: block;
	margin: 0 auto 22px;
}

.midorikko_btmlink .cmn_btn_l {
	margin: 0 auto;
}



