/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments



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

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

@media print, screen and (max-width:899px) { 

html {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 92%;
	-webkit-text-size-adjust: 100%;
}
/*font*/
.kiwimaru400 {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}
.kiwimaru500 {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-style: normal;
}

/* Box sizing
--------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #333333;
	font-family:inherit;
	line-height: 1.8;
	letter-spacing: 0.1em;
	overflow-x: hidden;
}
b,
strong {
	font-weight: bolder;
}

small {
	font-size: 80%;
}
blockquote {
	margin: 0 1.5em 1.6em;
	padding: 15px;
	border: 1px solid #e2e2e2;
	border-radius: 5px;
}
address {
	margin: 0 0 1.5em;
}
/* Elements
--------------------------------------------- */
body {
	background: #fff;
	position: relative;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
dt {
	font-weight: 700;
}
dd {
	margin: 0 1.5em 1.5em;
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}
img {
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}
figure {
	margin: 1em 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
/*SP用の要素を非表示*/
.pc_show {
	display: none !important;
}

/*作業中*/
.attention {
/*	display: inline-block;
	position: fixed;
	left: 0;
	bottom: 100px;
	padding: 1em;
	background: #fff;
	color: rgba(228,0,106,1.00);
	font-size: 80%;
	font-weight: 700;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	z-index: 1000;*/
	display: none;
}

/* Links
--------------------------------------------- */
a {
	color: #0C6CC1;
}
a:visited {
	color: #0C6CC1;
}
a:hover,
a:focus,
a:active {
	color: #0C6CC1;
	text-decoration: none;
}
a:focus {
	outline: none;
}
a:hover,
a:active {
	outline: 0;
}
/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.2em .5em 0.6em;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: inherit;
	border: 1px solid #969696;
	border-radius: 3px;
	padding: .3em .6em;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
	background: rgba(240,240,240,1.00);
}
select {
	border: 1px solid #ccc;
}
textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
main.contents_top {
	margin: 0 auto;
}

main .contents_page_inner {
	margin: 40px auto;
	width: 92%;
}
main .contents_page_inner.page_2col {
}
main .contents_page_inner.page_2col article {
}
main .contents_page_inner.page_2col aside {
}


/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* header
--------------------------------------------- */
.header {
	position: absolute;
	width: 100%;
	height: auto;
}
.header_inner {
	margin: 0 auto;
	padding: 25px 0;
	width: 90%;
}
.site_title {
	position: relative;
	width: 50%;
    max-width: 230px;
	z-index: 10;
}
.head_btn {
	display: none;
}



@media print, screen and (max-width:1100px) { 

}

/* Navigation
--------------------------------------------- */
/*ボタン外側*/
.openbtn{
	position: fixed;
	top: 15px;
	right: 15px;
	background:none;
	background-size: contain;
	cursor: pointer;
    width: 55px;
    height:55px;
	z-index: 100;
	
}
/*ボタン内側*/
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
	left: 21%;
    height: 2px;
    border-radius: 10px;
	background: #000;
  	width: 55%;
}
.openbtn span:nth-of-type(1) {
	top: 8px;
}
.openbtn span:nth-of-type(2) {
	top: 18px;
	/*left: unset;*/
	/*right: 0;*/
}
.openbtn span:nth-of-type(3) {
	top: 27px;
}
.openbtn span:nth-of-type(3)::after {
	content:"MENU";/*3つ目の要素のafterにメニュー表示を指定*/
	position: absolute;
	top:4px;
	left:-13px;
	width: 60px;
	text-align: center;
	color: #000;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

/*activeクラスが付与*/
.openbtn.active span {
	background: #fff;
	z-index: 100;
}
.openbtn.active span:nth-of-type(1) {
    top: 13px;
    transform: translateY(6px) rotate(-45deg);
    width: 60%;
	height: 2px;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
	transform: translateX(40px);
}
.openbtn.active span:nth-of-type(3){
    top: 26px;
    transform: translateY(-6px) rotate(45deg);
    width: 60%;
	height: 2px;
}
.openbtn.active span:nth-of-type(3)::after {
	content:"CLOSE";/*3つ目の要素のafterにとじる表示を指定*/
    transform: translateY(0) rotate(-45deg);
	position: absolute;
	top:7px;
	left:4px;
	width: 60px;
	color: #fff;
	text-align: center;
}


.menu_box{
  opacity:0;
  transform:translateY(-30px);
}
/* 出現 */
.menu_box.show{
  animation:menuFadeIn 0.6s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}
/* 消える */
.menu_box.hide{
  animation:menuFadeOut 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes menuFadeIn{
  from{
    opacity:0;
    transform:translateY(-30px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
@keyframes menuFadeOut{
  from{
    opacity:1;
    transform:translateY(0);
  }
  to{
    opacity:0;
    transform:translateY(-30px);
  }
}








/*ハンバーガーメニュー中身*/
nav.navigation {
	position: fixed;
	width: 100%;
	height: 100vh;
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
	display: none;
	z-index: 20;
}
nav.navigation a {
	color: #fff;
	text-decoration: none;
}
nav.navigation .innerwrap {
	display: flex;
    flex-direction: column;
    align-items: center;
	margin: 0 auto;
	padding-top: 45px;
	width: calc(100% - 20px);
    height: calc(100% - 60px);
    background: #1E1D1D;
    margin-top: 10px;
	overflow-y: scroll;
}
nav.navigation .innerwrap .menu_box {
	width: 83%;
	max-width: 400px;
    height: auto;
	color: #fff;
	font-size: 85%;
}
nav.navigation .innerwrap .menu_box > p {
	padding: .5em 0;
	border-bottom: 1px solid rgba(183,178,178,0.70);
}

/*ハンバーガーメニュー中身　事業紹介*/
nav.navigation ul.project {
	margin: 1.5em 0 1.5em 5px;
}
nav.navigation ul.project > li {
	position: relative;
	padding: 5px 15px 5px 40px;
}
nav.navigation ul.project > li:nth-child(1):before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	display: inline-block;
	background: url("images/navi/nav_list01.svg")no-repeat left/ contain;
	width: 35px;
	height: 35px;
}
nav.navigation ul.project > li:nth-child(2):before {
	content: "";
	position: absolute;
	top:5px;
	left: 0;
	display: inline-block;
	background: url("images/navi/nav_list02.svg")no-repeat left/ contain;
	width: 35px;
	height: 35px;
}
nav.navigation ul.project > li:nth-child(3):before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	display: inline-block;
	background: url("images/navi/nav_list03.svg")no-repeat left/ contain;
	width: 35px;
	height: 35px;
}
nav.navigation ul.project > li:nth-child(4):before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	display: inline-block;
	background: url("images/navi/nav_list04.svg")no-repeat left/ contain;
	width: 35px;
	height: 35px;
}
nav.navigation ul.project > li a {
	display: block;
	padding: 5px 0;
	color: #F6E0AC;
	font-size: 130%;
	line-height: 1.2;
	transition: all .2s;
}
nav.navigation ul.project > li > ul > li {
	position: relative;
	padding: 8px 0 0px 20px;
}
nav.navigation ul.project > li > ul > li:before {
	content: "ー";
	position: absolute;
	top: 0.8em;
    left: 2px;
}
nav.navigation ul.project > li > ul > li a {
	font-size: 100%;
}
nav.navigation ul.project > li > ul > li a:hover,
nav.navigation ul.project > li > ul > li a:active {
	text-decoration: underline;
}
nav.navigation ul.project > li > ul > li a span {
	display: inline-block;
	margin-right: 5px;
	padding: .2em;
	color: #fff;
	background: #986E09;
	border-radius: 3px;
	line-height: 1em;
}

nav.navigation ul.project > li > a:before {
	content: "";
	position: absolute;
	right: 3px;
	top: 15px;
	width: 11px;
	height: 4px;
	background: #F6E0AC;
	margin-top: 6px;
  -webkit-transform: rotate(-46deg);
          transform: rotate(-46deg);
	border-radius: 5px;
	transition: all .2s;
}
nav.navigation ul.project > li > a:after {
	content: "";
	position: absolute;
	right: 3px;
	top: 15px;
	width: 11px;
	height: 4px;
	background: #F6E0AC;
  -webkit-transform: rotate(46deg);
          transform: rotate(46deg);
	border-radius: 5px;
	transition: all .2s;
}
nav.navigation ul.project > li > a:hover,
nav.navigation ul.project > li > a:active {
	color: #BB7501;
	transition: all .2s;
}
nav.navigation ul.project > li > a:focus:before,
nav.navigation ul.project > li > a:active:before,
nav.navigation ul.project > li > a:focus:after,
nav.navigation ul.project > li > a:active:after {
	right: -5px;
	transition: all .2s;
}


/*ハンバーガーメニュー中身　基本コンテンツ群*/
nav.navigation dl {
	display: flex;
	flex-wrap: wrap;
	padding: 1.5em 0 1.5em 20px;
	border-top: 1px solid rgba(183,178,178,0.70);
	border-bottom: 1px solid rgba(183,178,178,0.70);
}

nav.navigation dl dt {
	position: relative;
	margin-bottom: 8px;
	padding-left: 15px;
	width: 130px;
}
nav.navigation dl dt a:hover,
nav.navigation dl dt a:active {
	text-decoration: underline;
}
nav.navigation dl dt:before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	display: inline-block;
	clip-path: polygon(0 0, 0% 100%, 50% 50%);
	background: #fff;
	width: 10px;
	height: 10px;
}
nav.navigation dl dt.with_line a:after {
	content: "";
	position: relative;
	top: -6px;
	right: -15px;
	display: inline-block;
	background: #C5C5C5;
	width: 25px;
	height: 1px;
}
nav.navigation dl dd {
	margin: 0 0 1em;
	width: calc(100% - 130px);
}
nav.navigation dl dd a {
	display: inline-block;
	margin-bottom: 5px;
}
nav.navigation dl dd a:hover,
nav.navigation dl dd a:active {
	text-decoration: underline;
}
nav.navigation .navi_tel {
	padding: 15px 10px 40px;
}
nav.navigation .navi_tel img {
	width: 340px;
}


/* TOPコンテンツ　共通パーツ
--------------------------------------------- */
/*左寄せ*/
h2.semicircle {
	padding-top: 30px;
	color: #000;
	font-size: clamp(150%,4vw,180%);
	letter-spacing: 0.11em;
}
/*中央寄せ*/
h2.semicircle.align_center {
	text-align: center;
}
h2.semicircle span {
	position: relative;
}
h2.semicircle span:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background: url("images/pages/h2title_illust.svg")no-repeat center bottom / contain;
	width: 57px;
	height: 19px;
}

/* TOPコンテンツ　MV
--------------------------------------------- */
.mv {
	position: relative;
	width: 100%;
	height: 96vh;
}
.mv:after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 150px;
	background: url("images/mv/wave_sp.svg")no-repeat center bottom / 105%;
}
.mv_slider,
.slick-list,
.slick-track,
.slick-slide {
	width: 100%;
	height: 100%;
}
.mv_slider .slick-slide img {
	width: 100%;
	height: 100%;
    object-fit: cover;
}
.mv_slider .slick-slide {
	position: relative;
	overflow: hidden;
}
.mv_slider .slick-slide img.mv01 {
	object-position: 50% 50%;
}
.mv_slider .slick-slide img.mv02 {
	object-position: 50% 55%;
}
.mv_txt {
	position: absolute;
	top: 37%;
	left: 0;
	width: 100vw;
	padding: 0 0 0 2vw;
}
.mv_txt img {
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.6s ease;
	margin: 0.7vw;
    width: 10.5vw;
}
.mv_txt img.show {
	opacity: 1;
	transform: translateY(0);
}
.mv_txt .second img {
	transition-delay: .3s;
}
.mv_txt span {
	display: inline-block;
}
.mv_txt .first {
	margin-bottom: 1.5vw;
}
.mv_txt .second {
	margin-left: calc(21vw + 2.8vw);
}
.onlinestore_sp {
	position: absolute;
	bottom: 15%;
	left: 0;
	width: 100%;
	text-align: right;
	z-index: 10;
}
.onlinestore_sp a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	padding: 50px 1em 1em;
	font-size: 70%;
	writing-mode: vertical-rl;
	background:#b03132 url("icon/icon_cart.svg")no-repeat 50% 12px/33px;
	border-radius: 5px 0 0 5px;
}

/* TOPコンテンツ　お知らせ
--------------------------------------------- */
section.news {
	margin-bottom: 70px;
	padding: 20px 0;
	background: url("images/pages/news_bg.png")repeat;
}
.news_inner {
	margin: 0 auto;
	width: 90%;
}
ul.news_wrapper {
	margin: 15px 0;
	font-size: 85%;
}
li.news_box {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	border-bottom: 1px dotted #888888;
	padding: 1.2em;
}
li.news_box time {
	font-size: .95em;
}
li.news_box .catname {
	margin: 3px 1em 0;
	padding: 1px 0;
	min-width: 8em;
	color: #fff;
	font-size: .76em;
	font-weight: 500;
	text-align: center;
	border-radius: 2px;
}
.catname {
	background: #6A9A49;
}
.catname.cat-office {
	background: #B03132;
}
.catname.cat-machiyu {
	background: #D49414;
}
li.news_box .title {
	margin-top: 10px;
	width: 100%;
	font-weight: 600;
}

/*リンク色*/
ul.news_wrapper li.news_box a,
ul.news_wrapper li.news_box a:visited {
	color: #222;
	text-decoration: none;
}
ul.news_wrapper li.news_box a:hover,
ul.news_wrapper li.news_box a:active {
	text-decoration: underline;
}
img.mark_new {
	position: relative;
	top: 0;
    right: 0;
	width: 37px;
    height: auto;
}

/*過去一覧*/
.news_more {
	margin-top: 20px;
	text-align: right;
}
.news_more a {
	display: inline-block;
	padding: 4px 1.5em;
	color: #333;
	font-size: .9em;
	text-decoration: none;
	transition: all .2s;
	background: #fff;
	border: 1px solid #333;
	border-radius: 2px;
}
.news_more a:hover,
.news_more a:active {
	transition: all .2s;
	color: #999;
	border: 1px solid #999;
}

/* TOPコンテンツ　イグゼあまるめについて
--------------------------------------------- */
section.about {
	margin: 60px 0;
}
section.about .about_inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 0 5% 0;
	width: 94%;
	height: 70vh;
	max-height: 570px;
	background: url("images/pages/concept_bg_sp.webp")no-repeat;
	background-position: center;
	background-size: cover;
	border-right: 1px solid #e3e7e8;
	border-bottom: 1px solid #e3e7e8;
	box-shadow: 7px 7px 0 rgba(238,234,223,0.75);
}

section.about h2 {
	margin-left: -2%;
	margin-top: -10px;
}
section.about h2 img {
	width: 97%;
	max-width: 950px;
}
section.about .txt_wrap {
	/*align-self: flex-end;*/
	/*margin-right: -9px;*/
}
section.about .txt_wrap .txt p {
	margin-bottom: 40px;
	margin-left: -5px;
	font-size: clamp(102%,3.6vw,130%);
	font-weight: 700;
	line-height: 1.4em;
	letter-spacing: 0.11em;
}
section.about .txt_wrap .txt p span {
	display: inline-block;
	margin: 6px 0;
	padding: 3px 3px 5px 8px;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
section.about .txt_wrap .btn_about {
	text-align: center;
}
section.about .txt_wrap .btn_about a {
	position: relative;
	display: inline-block;
	padding: 1em 80px 1em 3em;
	color: #fff;
	font-size: 100%;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	background: #B03132;
	border: 4px solid #B03132;
	border-radius: 50px;
	transition: all .2s;
}
section.about .txt_wrap .btn_about a:before {
	content: "";
	position: absolute;
	right: 40px;
	top: 44%;
	width: 11px;
	height: 4px;
	background: #fff;
	margin-top: 6px;
  -webkit-transform: rotate(-46deg);
          transform: rotate(-46deg);
	border-radius: 5px;
	transition: all .2s;
}
section.about .txt_wrap .btn_about a:after {
	content: "";
	position: absolute;
	right: 40px;
	top: 44%;
	width: 11px;
	height: 4px;
	background: #fff;
  -webkit-transform: rotate(46deg);
          transform: rotate(46deg);
	border-radius: 5px;
	transition: all .2s;
}
section.about .txt_wrap .btn_about a:hover,
section.about .txt_wrap .btn_about a:active {
	color: #B03132;
	background: #fff;
	transition: all .2s;
}
section.about .txt_wrap .btn_about a:hover:before,
section.about .txt_wrap .btn_about a:active:before,
section.about .txt_wrap .btn_about a:hover:after,
section.about .txt_wrap .btn_about a:active:after {
	background: #B03132;
	right: 25px;
	transition: all .2s;
}

/* TOPコンテンツ　私たちの事業
--------------------------------------------- */
section.project {
	margin: 70px 0;
}

/*見出しナンバリング*/
section.project .project01 hgroup {
	background: url("images/pages/h3top_illust01.svg")no-repeat left top/ 60px;
}
section.project .project02 hgroup {
	background: url("images/pages/h3top_illust02.svg")no-repeat left top/ 60px;
}
section.project .project03 hgroup {
	background: url("images/pages/h3top_illust03.svg")no-repeat left top/ 60px;
}
section.project .project04 hgroup {
	background: url("images/pages/h3top_illust04.svg")no-repeat left top/ 60px;
}
/*レイアウト*/
section.project .project_wrap {
	margin: 50px auto 0;
	width: 80%;
	max-width: 390px;
}
section.project .project_btn_col2,
section.project .project_btn_col3 {
	position: relative;
	margin-top: 30px;
}
/*@media print, screen and (min-width:650px) {
section.project .project_btn_col2 {
	position: relative;
	display: flex;
	justify-content: space-around;
	margin-top: 40px;
}*/

section.project .project01 hgroup,
section.project .project02 hgroup,
section.project .project03 hgroup,
section.project .project04 hgroup {
	margin-bottom: 20px;
	padding: 65px 0px 0px 0;
}

section.project .project01 hgroup h3,
section.project .project02 hgroup h3,
section.project .project03 hgroup h3,
section.project .project04 hgroup h3 {
	font-size: clamp(190%,5vw,230%);
	line-height: 1.1;
}
section.project .project01 .subtitle,
section.project .project02 .subtitle,
section.project .project03 .subtitle,
section.project .project04 .subtitle {
	margin-top: .7em;
	color: #B03132;
	font-size: clamp(90%,3.2vw,110%);
	font-weight: 700;
}


/*ボタンのレイアウト*/
a.project_btn {
	transition: all .2s;
}
a.project_btn .pic img {
	width: 100%;
    height: 100%;
    object-fit: contain;
	object-position: center;
}
a.project_btn:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(100% + 15px);
	right: 0px;
	width: 100%;
	height: 23px;
	background: url("images/pages/jigyo_more.svg")no-repeat right center/ contain;
	opacity: 0.25;
	transition: all .1s;
}
/*導入文*/
section.project .intro {
	margin: 40px 7%;
	text-align: center;
}
section.project .intro p {
	display: inline-block;
	padding: 1.3em .8em;
	font-size: clamp(79%,2vw,100%);
	font-weight: 500;
	line-height: 1.9;
	border-top: 1px solid #555;
	border-bottom: 1px solid #555;
}
/*ボタンリンクのスタイル*/
a.project_btn.machiyu:hover,a.project_btn.addeba:hover,
a.project_btn.machiyu:active,a.project_btn.addeba:active {
	box-shadow: 0 0 0 6px #F0E8CB;
	background: rgba(251,243,212,0.70) url("images/pages/bg_btn_texture.png")repeat;
	transition: all .2s;
}
a.project_btn.furusato:hover,
a.project_btn.furusato:active {
	box-shadow: 0 0 0 6px #F3DFDF;
	background: rgba(255,230,230,0.7) url("images/pages/bg_btn_texture.png")repeat;
	transition: all .2s;
}
a.project_btn.nandemoya:hover,
a.project_btn.nandemoya:active {
	box-shadow: 0 0 0 6px #D5E7EF;
	background: rgba(213,237,248,0.7) url("images/pages/bg_btn_texture.png")repeat;
	transition: all .2s;
}
a.project_btn.kamekome:hover,
a.project_btn.kamekome:active {
	box-shadow: 0 0 0 6px #E2EDDE;
	background: rgba(225,248,218,0.65) url("images/pages/bg_btn_texture.png")repeat;
	transition: all .2s;
}
a.project_btn:active:after,
a.project_btn:focus:after {
	right: -20px;
	opacity: 1;
	transition: all .3s;
}

/*01 まちの施設 管理運営*/
a.project_btn.machiyu,
a.project_btn.addeba {
	margin-bottom: 60px;
	width: 100%;
	position: relative;
	display: block;
	aspect-ratio: 11/9;
	text-decoration: none;
	color: #333;
	background: rgba(255,247,213,0.35) url("images/pages/bg_btn_texture.png")repeat;
	border: 1px solid #f2efe3;
	border-radius: 25px;
}
a.project_btn.machiyu .pic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 9/6.8;
	padding: 1%;
}
a.project_btn.addeba .pic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 9/6;
	margin-top: 7%;
    padding: 0 7%;
}
a.project_btn.machiyu .txt,
a.project_btn.addeba .txt {
	position: absolute;
	bottom: 6%;
	width: 100%;
}
a.project_btn.machiyu .txt p,
a.project_btn.addeba .txt p {
	color: #544a41;
	font-size: clamp(95%,3vw,135%);
	font-weight: 600;
	text-align: center;
}
a.project_btn.machiyu .txt p span,
a.project_btn.addeba .txt p span {
	display: inline-block;
	margin: 0 10px;
	font-size: 200%;
	position: relative;
	top: .15em;
}
a.project_btn.machiyu .txt p span {
	letter-spacing: 0.2em;
}

/*02ふるさと納税、03なんでも屋、04かめこめ*/
section.project .project_btn_col3 > div {
	margin-bottom: 50px;
}

/*通販アイコン*/
section.project .project03 hgroup h3 img {
	position: relative;
	top: .18em;
	width: 1.3em;
	height: 1.3em;
}
/*ふるさと納税ボタン*/
a.project_btn.furusato {
	position: relative;
	display: block;
	aspect-ratio: 11/8;
	text-decoration: none;
	color: #333;
	background: rgba(255,230,230,0.3) url("images/pages/bg_btn_texture.png")repeat;
	border: 1px solid #F1E6E6;
	border-radius: 20px;
}
a.project_btn.furusato .pic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 11/8;
    padding: 4% 5% 1%;
}
/*何でも屋ボタン*/
a.project_btn.nandemoya {
	position: relative;
	display: block;
	aspect-ratio: 11/8;
	text-decoration: none;
	color: #333;
	background: rgba(213,237,248,0.35) url("images/pages/bg_btn_texture.png")repeat;
	border: 1px solid #DFEBF0;
	border-radius: 20px;
}
a.project_btn.nandemoya .pic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 11/8;
	padding: 4% 4% 3%;
}
/*かめこめボタン*/
a.project_btn.kamekome {
	position: relative;
	display: block;
	aspect-ratio: 11/8;
	text-decoration: none;
	color: #333;
	background: rgba(225,248,218,0.35) url("images/pages/bg_btn_texture.png")repeat;
	border: 1px solid #E9F2E6;
	border-radius: 20px;
}
a.project_btn.kamekome .pic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 11/8;
	padding: 8% 0% 0%;
	border-radius: 25px;
}
a.project_btn.kamekome .pic img {
	object-fit: cover;
}


/* Posts and pages
--------------------------------------------- */
.entry-content p {
	margin-bottom: 30px;
}
.entry-content ul,
.entry-content ol {
	margin: 0 0 1.5em 1.5em;
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content ul li,
.entry-content ol li {
	margin: 0 0 .5em;
}

.entry-content li > ul,
.entry-content li > ol {
	margin-bottom: 0;
	margin-left: 1.2em;
}
.entry-content .entry_meta {
	margin: 0 10px 20px;
	text-align: right;
	font-size: 90%;
}

.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

/*.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}
*/
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


/* Posts and pages（共通パーツ：見出し）
--------------------------------------------- */
h1.entry-title {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 30px 0 0;
	width: 100%;
	height: 45vh;
	min-height: 330px;
	max-height: 450px;
	line-height: 1.3;
	background: url("images/pages/page_h1bg_about.jpg")no-repeat 50% 61%/ cover;
}
h1.entry-title:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	display: inline-block;
	width: 100%;
	height: 100px;
	background: url("images/pages/wave_sp.svg")no-repeat center bottom/ 105%;
}
.page-id-8 h1.entry-title {
	background: url("images/pages/page_h1bg_about.jpg")no-repeat 50% 61%/ cover;
}
.page-id-12 h1.entry-title {
	background: url("images/pages/page_h1bg_project.jpg")no-repeat 50% 45%/ cover;
}
.page-id-14 h1.entry-title,
.page-id-362 h1.entry-title {
	background: url("images/pages/page_h1bg_recruit_b.jpg")no-repeat 50% 65%/ cover;
}


h1.entry-title span {
	position: relative;
	display: inline-block;
	padding: 0.7em 5px;
	width: 75%;
	color: #412F22;
	font-size: clamp(135%,3.7vw,190%);
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.15em;
	background: rgba(255,255,255,0.85);
	
}
.single h1.entry-title span {
	font-size: 110%;
}
/* H2 */
.entry-content .h2-style {
	margin: 55px 0 35px;
}
.entry-content .h2-style h2 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 18px 0;
	font-size: clamp(130%,4vw,190%);
	font-weight: 700;
	line-height: 1.3;
	background: url("images/pages/page_h3_line.svg")repeat-x left bottom;
}
.entry-content .h2-style h2:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 2px;
	bottom: -5px;
	width: 100%;
	height: 10px;
	background: rgba(176,49,50,0.10);
}
/* H3 */
.entry-content h3 {
	display: inline-block;
	margin: 8px 0;
	padding: 8px .5em;
	font-size: 100%;
	font-weight: 500;
}


/* Posts and pages（共通パーツ：ボタン）
--------------------------------------------- */
.entry-content p.btn_red {
	margin: 40px 0;
	text-align: center;
}
.entry-content p.btn_red a {
	position: relative;
	display: inline-block;
	padding: 1em 60px 1em 50px;
	min-width: 300px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none;
	background: #B03132;
	border: 4px solid #B03132;
	border-radius: 50px;
	transition: all .2s;
}
.entry-content p.btn_red a:before {
	content: "";
	position: absolute;
	right: 30px;
	top: 44%;
	width: 11px;
	height: 4px;
	background: #fff;
	margin-top: 6px;
  -webkit-transform: rotate(-46deg);
          transform: rotate(-46deg);
	border-radius: 5px;
	transition: all .2s;
}
.entry-content p.btn_red a:after {
	content: "";
	position: absolute;
	right: 30px;
	top: 44%;
	width: 11px;
	height: 4px;
	background: #fff;
  -webkit-transform: rotate(46deg);
          transform: rotate(46deg);
	border-radius: 5px;
	transition: all .2s;
}
.entry-content p.btn_red a:focus,
.entry-content p.btn_red a:active {
	color: #B03132;
	background: #fff;
	transition: all .2s;
}
.entry-content p.btn_red a:focus:before,
.entry-content p.btn_red a:active:before,
.entry-content p.btn_red a:focus:after,
.entry-content p.btn_red a:active:after {
	background: #B03132;
	right: 15px;
	transition: all .2s;
}


/* Posts and pages（会社案内）
--------------------------------------------- */
.first_message {
	position: relative;
	margin: 70px calc(50% - 50vw) 0;
	padding: 15px calc(50vw - 50%) 30px;
	background: url("images/pages/seamless_texture_beige.png")repeat;
	border-top: 2px solid #E9E2D3;
	border-bottom: 2px solid #E9E2D3;
}
.first_message .pic_area {
	position: relative;
	margin-top: -45px;
}
.first_message .pic_area:before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -40px;
	left: -20px;
	background: url("images/pages/page_illust_rice.svg")no-repeat left bottom/contain;
	width: 25%;
	height: 100%;
}
.first_message .pic_area figure {
	margin: 0;
}
.first_message .pic_area figure img {
	box-shadow: 8px 8px 0px 0px #D6CEB2;
	border-radius: 2px;
}
.first_message .txt_area {
	position: relative;
}
.first_message .txt_area:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -10px;
	right: 0px;
	background: url("images/pages/page_illust_circle.svg")no-repeat right top/contain;
	width: 32%;
	height: 100%;
	z-index: 0;
}
.first_message .txt_area h3 {
	position: relative;
	margin: 0;
	padding: 35px 0 45px 5px;
	font-size: clamp(160%,4.2vw,200%);
	line-height: 1.5;	
}
.first_message .txt_area h3 span.line_yellow {
	background: linear-gradient(transparent 55%, rgba(251,237,113,0.8) 55%);
}
.first_message .txt_area .txt {
	padding-left: 5px;
	font-weight: 500;
}

/*「イグゼあまるめ」由来*/
.our-thoughts {
	position: relative;
	margin: 20px calc(50% - 50vw) 0;
	padding: clamp(90px,20vw,230px) calc(50vw - 50%);
	background: url("images/pages/about_exe_bg.webp")no-repeat center 41%/cover;
}
.our-thoughts .white_box {
	padding: 3em 1em;
	font-size: clamp(105%,2.2vw,150%);
	font-weight: 700;
	background: rgba(255,255,255,0.7);
}
.our-thoughts .white_box span {
	display: inline-block;
}

/*代表メッセージ*/
.daihyou_pic {
	margin-bottom: 0;
	max-width: 230px;
}

/*事業沿革*/
dl.enkaku {
	display: flex;
	flex-wrap: wrap;
	padding: 15px 0;
}
dl.enkaku dt {
	position: relative;
	width: 6em;
	border-right: 1px dotted #B03132;
}
dl.enkaku dt:first-child {
	
}
dl.enkaku dt:after {
	content: "●";
	position: absolute;
	right: -7px;
	top: 5px;
	font-size: 65%;
	color: #B03132;
}

dl.enkaku dd {
	margin: 0 0 2.2em;
	padding-left: 1em;
	width: calc(100% - 6em);
}
dl.enkaku dd:last-child {
	margin: 0;
}

/*企業情報*/
.info table {
	margin: 0 auto;
	font-size: 88%;
}
.info table tr td:nth-child(1){
	color: #fff;
	font-weight: 700;
	width: 6em;
	background: #412424;
}
.info table tr:last-child td:nth-child(1) {
	border-bottom: 1px solid #412424;
}
.info table tr td:nth-child(2) {
	border-top: none;
	border-right: none;
	padding: .7em 5px;
}

/* Posts and pages（事業紹介）
--------------------------------------------- */
.project_firsttxt {
	margin: 30px 0;
	font-family: "Kiwi Maru", serif;
	font-weight: 500;
	font-style: normal;
	font-size: 6.8vw;
}

ul.page_project_menu {
	list-style: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 5%;
	margin: 0 auto 80px;
	max-width: 500px;
}
ul.page_project_menu li {
	width: 47.5%;
	text-align: center;
}
ul.page_project_menu li:nth-child(2),
ul.page_project_menu li:nth-child(4) {
	padding-top: 40px;
}
.entry-content .project_h2 {
	position: relative;
	margin: 0 0 60px;
	padding-top: 60px;
}
.entry-content .project_h2:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background: url("images/pages/h2title_illust.svg")no-repeat center bottom / contain;
	width: 62px;
	height: 23px;
}
.entry-content .project_h2 p {
	margin: 0;
	font-size: 115%;
	font-weight: 700;
}
.entry-content .project_h2 .h2-style {
	margin: 0;
	text-align: center;
}
.entry-content .project_h2 .h2-style h2 {
	padding: 10px 0 0;
	font-size: clamp(150%,5vw,240%);
	background: none;
	line-height: 1.3;
}
.entry-content .project_h2 .h2-style h2::before {
	display: none;
}

.projectwrap.odd {
	margin-top: 50px;
	margin-bottom: 60px;
	margin-right: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
	padding-left: 15px;
	border: 1px solid #F3F3F3;
	border-radius: 3px 0 0 3px;
	margin-left: 5px;
}
.projectwrap.even {
	margin-top: 50px;
	margin-bottom: 60px;
	margin-left: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: 15px;
	border: 1px solid #F3F3F3;
	border-radius: 0 3px 3px 0;
	margin-right: 5px;
}

/*背景色指定*/
.projectwrap.machiyu,
.projectwrap.addeba {
	background: rgba(255,243,209,0.65) url("images/pages/bg_noise30.png")repeat;

}
.projectwrap.furusato {
	background: rgba(255,235,241,0.65) url("images/pages/bg_noise30.png")repeat;
}
.projectwrap.nandemoya {
	background: rgba(213,237,248,0.45) url("images/pages/bg_noise30.png")repeat;
}
.projectwrap.kamekome {
	background: rgba(225,248,218,0.65) url("images/pages/bg_noise30.png")repeat;
}

/*事業写真*/
.projectwrap figure.leftpic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16/9;
	margin: 0;
}
.projectwrap figure.leftpic img {
	width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: 50% 30%;
}
.projectwrap.odd figure.leftpic,
.projectwrap.odd figure.leftmovie {
	margin-top: -15px;
	margin-left: -22px;
}
.projectwrap.even figure.leftpic {
	margin-top: -15px;
	margin-right: -22px;
}

/*スタッフコメント*/
div.comment_wrap {
	position: relative;
	margin: 0;
	margin: 3.5em 9% 2em 4%;
	padding: 1.5em 2em 10px 1.5em;
	max-width: 540px;
    font-size: 83%;
	background: rgba(255,255,255,0.6);
	border-radius: 15px;
	border: 1px solid rgba(0, 0, 0, 0.1);
}
.projectwrap.even div.comment_wrap {
	margin: 3.5em 4% 3em 9%;
}
div.comment_wrap:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -3em;
	left: -7%;
	background: url("images/pages/comment_head.svg")no-repeat left top/contain;
	width: 120px;
	height: 100%;
}
/*p.comment_wrap:after,
div.comment_wrap:after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -55px;
	right: -16%;
	background: url("images/pages/comment_staff.png")no-repeat center bottom/ contain;
	width: 110px;
	height: 120px;
}*/
.comment_wrap p,
.comment_wrap a {
	margin-bottom: 15px;
}
.comment_wrap a {
	color: #333;
	font-weight: 700;
}

.staff_pic {
	position: absolute;
	bottom: -55px;
	left: calc(100% - 50px);
	width: 21%;
	min-width: 95px;
	height: auto;
}
.kamekome .staff_pic {
	bottom: -35px;
	left: calc(100% - 50px);	
}
.staff_pic img {
	object-fit: contain;
	transform-origin: bottom center;
}
.staff_pic.shake img{
	animation: fanShake 1s cubic-bezier(.36,.07,.19,.97);
}

@keyframes fanShake{

  0%   { transform: rotate(0deg); }

  20%  { transform: rotate(-9deg); }

  80%  { transform: rotate(7deg); }

  100% { transform: rotate(0deg); }

}


/*紹介文*/
p.about_txt {
	margin: 0 0 7%;
	font-size: clamp(105%,3vw,125%);
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.8;
}
/*インフォメーション*/
dl.project_info {
	display: flex;
	flex-wrap: wrap;
	font-size: 80%;
}
dl.project_info dt {
	width: 7em;
	margin: 0;
    padding: .7em 1.5em .7em 0;
	text-align: right;
    border-bottom: 1px solid #A7A7A7;
}
dl.project_info dd {
	margin: 0;
	padding: .7em 0;
	width: calc(100% - 8em);
	border-bottom: 1px solid #A7A7A7;
}
/*ラストテキスト*/
.lasttxt_s {
	margin: 1.5em;
	font-size: 80%;
}

/*あっでばラインボタン*/
span.addeba_line {
	position: relative;
}
span.addeba_line:after {
	content: "";
	position: absolute;
	top: -2px;
	left: 96%;
	display: inline-block;
	background: url("icon/line-app-icon.png")no-repeat;
	width: 48px;
	height: 30px;
}
/*かめこめ商品*/
.entry-content p.items {
	position: relative;
	margin: 0 0 10px;
	padding-left: 1em;
	font-weight: 700;
}
.entry-content p.items:before {
	content: "";
	position: absolute;
	top: .4em;
	left: 0;
	display: inline-block;
	clip-path: polygon(0 0, 0% 100%, 50% 50%);
	background: #333;
	width: 1em;
	height: 1em;
}
.projectwrap.kamekome figure {
	margin: 0;
}
.projectwrap.kamekome figcaption {
	text-align: center;
	font-size: clamp(70%,2.8vw,90%) !important;
}


/* Posts and pages（採用情報）
--------------------------------------------- */
.recruit_firsttxt {
	font-family: "Kiwi Maru", serif;
	font-weight: 500;
	font-style: normal;
	font-size: 200%;
}
ul.job_list {
	list-style: none;
	margin: 0 0 60px 1em;
}
ul.job_list li {
	margin-bottom: 1.5em;
}
ul.job_list li span {
	display: inline-block;
	margin: 0 0 7px -10px;
	padding: .2em .6em;
	color: #fff;
	font-size: 110%;
	font-weight: 700;
	background: #572F2F;
	border-radius: 2px;
}
.voice_wrap img {
	box-shadow: 10px 10px 0px #EFECEC;
}


/* Posts and pages（ページナビ）
--------------------------------------------- */
main .wp-pagenavi {
	margin: 30px 0 0;
	text-align: left;
	font-size: 85%;
}
main .wp-pagenavi span,
main .wp-pagenavi a {
	display: inline-block;
	padding: 3px 9px 3px;
	color: #222;
	border-radius: 2px;
	border: 1px solid #444;
}
main .wp-pagenavi a 
,main .wp-pagenavi a:visited {
	color: #222;
}
main .wp-pagenavi a:hover
,main .wp-pagenavi a:active {
	background: #EFE9DE;
	text-decoration: none;
	color: #222;
	border: 1px solid #444;
}

main .wp-pagenavi span.pages {
	display: block;
	margin: 10px 5px;
	padding: 0;
	font-size: 80%;
	text-align: left;
	border: none;
}
main .wp-pagenavi span.current {
	color: #fff;
	background: #444;
	border: 1px solid #444;
}

main .wp-pagenavi span.extend {
	border: none;
	padding-right: 0px;
	padding-left: 0px;
}

/* Posts and pages（アーカイブぺージ）
--------------------------------------------- */
.archive .news_inner {
	max-width: 1200px;
    width: 100%;
}

/* Posts and pages（お問い合わせ）
--------------------------------------------- */
.inquiry_list {
}
.inquiry_list p {
	margin-bottom: 0;	
}
.inquiry_list dt.inquiry_title {
	display: inline-block;
	margin: 0 0 5px;
	width: 100%;
	font-weight: 500;
	vertical-align: top;
}

.inquiry_list dd {
	display: inline-block;
	margin: 0 0 18px;
	padding: 0;
	width: 100%;
}

.inquiry_list .must-txt {
	position: relative;
	top: -1px;
	left: 3px;
	padding: 0px 4px 1px;
	color: #fff;
	font-size: 60%;
	font-weight: 500;
	background: #db3b3b;
	border-radius: 2px;
	cursor: default;
	user-select: none;
}
.wpcf7-not-valid-tip {
	font-size: 80% !important;
}

.wpcf7-spinner {
	/*display: none;*/
}


.recaptcha {
	margin: 50px 0 0;
	color: #777;
	font-size: 65%;
	line-height: 1.5em;
}
#agreement {
	margin-top: 30px;
}
#agreement p {
	text-align: center;
}
input[type="submit"].wpcf7-form-control,
input[type="button"].wpcf7-form-control {
	padding: 25px 90px;
	border: solid 1px #999999;
	font-size: 100%;
	font-weight: 600;
	letter-spacing: 0.25em;
	cursor: pointer;
}
input[type="button"].wpcf7-form-control {
	padding: 25px 40px;
	background: #f5f5f5;
}
input[type="submit"].wpcf7-form-control:hover,
input[type="button"].wpcf7-form-control:hover {
	background: #aaa;
	transition: all .2s;
}
input[type="submit"].wpcf7-form-control:active,
input[type="submit"].wpcf7-form-control:focus,
input[type="button"].wpcf7-form-control:active,
input[type="button"].wpcf7-form-control:focus {
	background: #ccc;
	border: solid 1px #999;
	transition: all .2s;
}

select.con_details {
	padding: .3em .6em;
	background: #fff;
	width: 22em;
	border: 1px solid #969696;
	border-radius: 3px;
}

.con_name,
.con_tel {
	width: 75%;
	max-width: 25em;
}
.con_company,
.con_email {
	width: 90%;
	max-width: 28em;
}
.con_inquiry {
	width: 100%;
	height: 10em;
}
.wpcf7-spinner {
	display: block;
	margin: 15px auto 0;
	width: 24px;
	height: 24px;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* sidebar
--------------------------------------------- */
/* ▼side（これまでのお知らせ） */
aside h2 {
	padding: 10px 3px;
	color: #b03132;
	font-size: 95%;
	font-weight: 600;
	border-bottom: 2px solid #b03132;
}
aside a,
aside a:visited {
	color: #333;	
}
.past_entry {
	margin-top: 50px;
}
.past_entry,
.monthly-eachcat ul {
	margin-bottom: 25px;
}
.past_entry > ul,
.monthly-eachcat > ul {
	margin-top: 15px;
	font-size: 90%;
}
.past_entry ul li {
	position: relative;
	padding:11px 10px 13px 20px;
	border-bottom: 1px dotted #777;
}
.past_entry ul li time {
	display: block;
	margin-bottom: 4px;
	font-size: 90%;
}
.past_entry ul li time:before {
	content: "";
	position: absolute;
	top: 20px;
    left: 6px;
	display: inline-block;
	background: #6b6b6b;
	width: 5px;
	height: 5px;
	border-radius: 10px;
}
.past_entry ul li .catname {
	color: #fff;
	padding: 0 6px;
	font-size: 78%;
	border-radius: 2px;
}
.past_entry .more {
	margin: 0;
	text-align: right;
}
.past_entry .more a {
	font-size: 75%;
}
ul.monthly li {
	margin: 5px;
}
ul.eachcat li {
	margin: 5px;
}
ul.eachcat > li > ul {
	padding-left: 2.3em;
}
ul.eachcat > li > ul > li {
	position: relative;
}
ul.eachcat > li > ul > li:before {
	content: "ー";
	position: absolute;
	top: 0px;
    left: -20px;
	color: #c3c3c3;
	font-weight: 700;
}


/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
/*.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}*/


/* footer
--------------------------------------------- */
#site_footer {
	position: relative;
	margin-top: 50px;
	padding: 40px 0 40px;
	background: url("images/footers/bg_noise30.png")repeat;
}
#site_footer:after {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	display: inline-block;
	background: url("images/footers/wave_sp.svg")no-repeat center bottom/ 105%;
	width: 100%;
	height: 100px;
	transform: rotate(180deg);
}
#site_footer:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e9ddbc+0,f3e9cd+72,adecea+76,daf3f5+100 */
background: linear-gradient(to bottom,  #E1D1A5 0%,#f3e9cd 85%,#adecea 90%,#daf3f5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	z-index: -1;

}

.footer_innerwrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-content: center;
	margin: 0 auto;
	padding: 40px 0 0;
	width: 90%;
	max-width: 1250px;
}
.footer_innerwrap .map {
	order: 2;
	width: 100%;
}
.footer_innerwrap .about {
	order: 1;
	padding: 0 5% 25px;
}

p.footer_title {
	font-size: 160%;
	font-weight: 600;
	letter-spacing: 0.07em;
}
p.footer_info {
	font-size: clamp(77%,2.5vw,90%);
	line-height: 1.4em;
}
p.fotter_tel {
	margin: 25px 0 15px;
}
p.fotter_tel img {
	width: 98%;
}
p.footer_info a.txtlink {
	display: inline-block;
}
.footer_contact a {
	display: inline-block;
	padding: 1.3em 25% 1.3em 1em;
	width: 100%;
	color: #000;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	background:#fff url("images/footers/footer_contact_illust.png")no-repeat 85% center/ 42px;
	border-radius: 50px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	transition: all .2s;
}
.footer_contact a:hover {
	opacity: 0.75;
	transition: all .2s;
}
.footer_link {
	margin: 10px 5px;
}
.footer_link a {
	position: relative;
	padding-left: 1em;
	color: #333;
	font-size: 80%;
}
.footer_link a:before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	display: inline-block;
	clip-path: polygon(0 0, 0% 100%, 50% 50%);
	background: #333;
	width: 12px;
	height: 12px;
}
.footer_line {
	position: relative;
	overflow: hidden;
	aspect-ratio: 10/3;
}
.footer_line img {
	width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: 35% 80%;
}

/*コピーライト*/
#copyright {
	position: absolute;
	bottom: 40px;
	left: 0;
	padding: 20px 0 10px;
	width: 100%;
	font-size: 60%;
	text-align: center;
	letter-spacing: 0.2em;
}
#copyright a,
#copyright a:visited {
	color: #222;
	text-decoration: none;
}
#copyright a:hover,
#copyright a:active {
	text-decoration: underline;
}

/*下部固定メニュー*/
.footer_area {
	display: flex;
	align-items: center;
	position: fixed;
	padding:0;
	bottom: 0;
	width: 100%;
	background-color: #B03132;
	box-shadow: 0px 0px 4px rgba(0,0,0,0.25);
	z-index: 10000;
}
.footer_area .footer_area_inner {
	flex: 1;
	margin:7px 0;
}
.footer_area .footer_area_inner:nth-child(1) {
	border-right: 1px solid #fff;
}
a.inquiry_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	padding: 7px 0;
}
a.inquiry_btn img.tel {
	width: 12px;
	height: auto;
	margin-right: 6px;
}
a.inquiry_btn img.contact {
	width: 20px;
	height: auto;
	padding: 2px 0;
	margin-right: 6px;
}
a.inquiry_btn img.totop {
	width: 30px;
	/*height: 18px;*/
	margin-top: 10px;
	margin-bottom: 9px;
}
a.inquiry_btn p {
	color: #fff;
	font-size: 90%;
	font-weight: 700;
	line-height: 1;
}

.page-top {
	transform: none;
	position: fixed;
	bottom: 55px;
	right: 7px;
}
.page-top img {
	width: 50px;
	height: 50px;
}


/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875em;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*PDFアイコン*/
a[href $='.pdf'] {
    background:url(icon/ico_pdf.gif) no-repeat right 70%;
    padding:0 18px 0 0;
}
a[href $='.pdf'] a {
    text-decoration:none;
}

a[href $='.pdf'] a:hover {
    text-decoration:none;
}
}
