@charset "UTF-8";

/*============================================================================================
      初期設定　Initialize
=============================================================================================*/
:root {
	--title-color: #512900;
	--border-color: #dfdad4;
	--bg-color: #b6ac9f;
	--arrow-color: #b6ac9f;
	--lh-16-34: 2.13;
	--lh-14-34: 2.43
}

/*    html, body
=====================================================*/
/*
html{
	font-size: 10px;	 %表記の場合62.5%
}
*/
html{
    font-size: 62.5%;
}
@media screen and (min-width: 960px) {
	html{
		font-size: 76.5%;
	}
}

body{
    font-size:1.6rem;/* 16px*/
    line-height: 2;
	position: relative;
}
h1 {
    font-size: 36px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
	font-weight: normal;
}
h2 {
    font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
    line-height: 1.3;
	font-weight: normal;
}
h3 {
	line-height: 1.3;
	font-weight: normal;
}
@media (min-width: 1200px) {/* 1200px以上*/
    h1 {
        font-size: 3.6rem;/* 36px*/
    }
    h2 {
        font-size: 2.4rem;/* 24px*/
    }
}
@media screen and (max-width: 640px) {/* 640px以下*/
    body{
    line-height: 2;
    }
    h1{
        font-size: 2.4rem;/* 24px*/
    }
    h2 {
        font-size: 2rem;/* 20px*/
    }
}

body {
	font-family: 'M PLUS 1p', sans-serif;
	-webkit-text-size-adjust: 100%;
	color: #000;
}

.w_Contents {
	min-height: 100vh;
	position: relative;
	padding-bottom: 60px;
	box-sizing: border-box;
	background-color: #274c2b;
}

/*    SP Mode
===========================*/
/*
@media screen and (max-width: 768px){
	html{
		 スマホ表示時フォントサイズ1.5倍
		font-size: 3.7vw;
	}
	body {
		line-height: 1.5;
	}
}
*/
main {
	height: 100%;
	overflow: hidden;
	position: relative;
	min-height: 100vh;
	padding: 0 0 20vw;
}

.error-message {
    color: #f0506e;
    font-size: 1.4rem;
    padding: 4px;
}
.message {
	padding: 10px;
	margin-bottom: 30px;
	font-size: 1.4rem;
}

/*    Ulkit override
=====================================================*/
address, dl, fieldset, figure, ol, p, pre, ul {
	margin: 0;
	padding: 0;
}
.uk-input, .uk-select, .uk-textarea {
	border-radius: 5px;
	font-size: 1.6rem;
}
.uk-modal-body {
	font-size: 1.4rem;
	line-height: 1.4;
}
.uk-notification-message div {
	text-align: center;
}
/*
.uk-notification {
  width: 100%!important;
  display: flex!important;
  flex-direction: column;
}
.uk-notification-message {
  padding-right: 2em!important;
  width: auto!important;
  max-width: 70%!important;
  text-align: left;
  display: inline-flex;
}
.uk-notification-top-center,
.uk-notification-top-left,
.uk-notification-top-right {
  margin: 0!important;
  left: unset!important;
  text-align: center;
}
*/
.uk-notification-top-center > .uk-notification-message {
  margin: 20% auto 0;
}
.uk-notification-top-left > .uk-notification-message {
  margin: 20% auto 0 10px;
}
.uk-notification-top-right > .uk-notification-message {
  margin: 20% 10px 0 auto;
}

/*    a
=====================================================*/
a{
  color: inherit;
	text-decoration:none;
	font-size: inherit;
	text-align: inherit;
}
a:hover{
	opacity: 0.6;
	text-decoration:none;
}

a div:hover,
a p:hover,
a h3:hover,
a h4:hover {
	opacity: 0.6;
}

/*    img
=====================================================*/
img{
	line-height: 0;
	max-width: 100%;
	height: auto;
}


/*    em
=====================================================*/
em{
  display: inline-block;
}


/*    button
=====================================================*/
button{
	font-size: inherit;
	font-family: inherit;
	border: none;
	padding: 0;
	cursor: pointer;
	background-color: transparent;
}
button:focus{
	outline: none;
}


/*    micro clearfix
=====================================================*/
.clearfix:before,
.clearfix:after{
	content: " ";
	display: table;
}
.clearfix:after{
	clear: both;
}
/* for IE */
.clearfix{
	*zoom: 1;/* hasLayout on */
}


/*    box sizing
=====================================================*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


/*    word wrap
=====================================================*/
* {
	word-wrap: break-word;
}


/*    web font
=====================================================*/
/* Safari, Android, iOS */
/*
@font-face {
	font-family: 'ipaexm';
	src: url('font/ipaexm.ttf')  format('truetype');
}
*/
/* Safari, Android, iOS */
/*
@font-face {
	font-family: 'Hannari';
	src: url('font/Hannari.otf')  format('opentype');
}
*/


/*    max height
=====================================================*/
/*
html.sp *{
	max-height: 100%;
}
*/


/*============================================================================================
*		z-index note
*		- Describe and manage z-index
*
*		Navigation：100
*
=============================================================================================*/


/*============================================================================================
      共通スタイル設定　Utility
=============================================================================================*/
.u_pc{
	display: none;
}
.u_pc.u_inlineB{
	display: none;
}
.u_pc.u_inline{
	display: none;
}
.u_sp{
	display: block;
}
.u_sp.u_inlineB{
	display: inline-block;
}
.u_sp.u_inline{
	display: inline;
}

@media screen and (min-width: 960px) {
	.u_pc{
		display: block;
	}
	.u_pc.u_inlineB{
		display: inline-block;
	}
	.u_pc.u_inline{
		display: inline;
	}
	.u_sp{
		display: none;
	}
}


/*    Wrapper
=====================================================*/
.u_wrp{
	width: 100%;
	min-width: 100vw;
	margin: 0 auto;
}
.u_wrp__full {
	min-width: 100%;
}
.u_wrp_chd {
	max-width: 90vw;
	min-width: 90vw;
	margin: auto;
}
.u_wrp_chd__sm {
	max-width: 90vw;
	min-width: 90vw;
	margin: auto;
}
.u_wrp_chd__wd {
	max-width: 94vw;
	min-width: 94vw;
	margin: auto;
}
.u_wrp_chd__sm2 {
	max-width: 80vw;
	min-width: 80vw;
	margin: auto;
}

@media screen and (min-width: 960px) {
	.u_wrp {
		min-width: 960px;
		margin: 0 auto;
	}
	.u_wrp_chd__pc {
		max-width: 780px;
		min-width: 780px;
		margin: 0 auto;
	}
	.u_wrp_chd {
		max-width: 780px;
		min-width: 780px;
		margin: 0 auto;
	}
	.u_wrp_chd__sm {
		max-width: 480px;
		min-width: 480px;
		margin: auto;
	}
	.u_wrp_chd__wd {
		max-width: 780px;
		min-width: 780px;
		margin: auto;
	}
	.u_wrp_chd__sm2 {
		max-width: 640px;
		min-width: 640px;
		margin: auto;
	}
}


/*    Layout
=====================================================*/
/*-- Flex --*/
.u_flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.u_flex__nowrap{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.u_flex_chd:first-child{
	margin-left: 0;
}

/*-- InlineBlock --*/
.u_col{
	font-size: 0;
	letter-spacing: 0;
	text-align: left;
}
.u_col_chd{
	display: inline-block;
	vertical-align: top;
}
.u_col_chd:first-child,
.u_col_chd:first-of-type{
	margin-left: 0;
}

/*-- TableCell --*/
.u_tblCell{
	display: table-cell;
	width: inherit;
	height: inherit;
	vertical-align: middle;
	text-align: inherit;
}


/*    Contents
=====================================================*/
/*-- Images --*/
.u_img{
	overflow: hidden;
}
.u_img img{
	display: block;
	margin: 0 auto;
}

/*-- Icon --*/
.u_icown{
  margin: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  position: absolute;
}
.u_ic{
  position: relative;
}
.u_ic:before,
.u_ic:after{
  content: "";
  margin: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  position: absolute;
}

/*-- Border --*/
.u_nobdT{
	border-top: none;
}
.u_nobdR{
	border-right: none;
}
.u_nobdB{
	border-bottom: none;
}
.u_nobdL{
	border-left: none;
}

/*-- Br --*/
.u_br{
	display: none;
}

/*-- Clear text --*/
.u_clearTxt{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

/*-- Text Indent --*/
.u_indent{
	text-indent: -1em;
	padding-left: 1em;
}

/*-- infinite-scroll --*/
.infinite-scroll-request {
	text-align: center;
	padding: 10px 0;
	font-size: 1.0rem;
	color: #182750;
}



/*============================================================================================
      Header
=============================================================================================*/
/*    Head
=====================================================*/
/*    Head
=====================================================*/
.w_Head {
	background-color: #274c2b;
}
.Head {
	padding: 1.5vw;
}
.Head_wrp {
	align-items: center;
}
.Head_img a {
	line-height: 0;
}
.Head_img img, 
.Head_img_right img{
	object-fit: cover;
	font-family: 'object-fit: cover';
	width: 13vw;
	height: 13vw;
	border-radius: 50%;
}

.Head_user {
	line-height: 1;
	align-items: center;
	margin-left: 2vw;
	padding-top: 1vw;
	max-width: 223px;
    width: 100%;
}
.Head_name {
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1.43;
	font-weight: 600;
}
.Head_info_name{
  margin: 0 10px;
}
.Head_info_name_home{
	margin: 0 10px;
	max-width: 55%;
  	width: 100%;
}

.Head_date_wrp {
	align-items: center;
	padding-top: 1.3vw;
}
.Head_date_title {
	color: #b5bbb5;
	font-size: 1rem;
}
.Head_date {
	color: #ffffff;
	font-size: 1.2rem;
	margin-left: 2vw;
}
.Head_date_label {
	color: #ffffff;
	font-size: 1rem;
	margin-left: 3vw;
}
.Head_date_info {
	color: #ffffff;
	font-size: 1.1rem;
}

.Head_info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-left: auto;
	/*padding-right: 2vw;
	width: 500px;*/
	padding-right: 0;
	width: 650px;
}
.Head_info_img {
	margin-right: 6vw;
}
.Head_info_img a {
	line-height: 0;
	position: relative;
}
.Head_info_img img {
	width: 6.4vw;
}
.Head_info_badge {
	position: absolute;
	top: -1.5vw;
	right: -2vw;
	width: 5.07vw;
	height: 5.07vw;
	border-radius: 50%;
	background-color: #e31414;
	color: #fff;
	color: #ffffff;
	font-size: 0.9rem;
	text-align: center;
	line-height: 5.07vw;
}
.Head_grp_item.ffi_menu img {
	width: 4vw;
}

@media screen and (min-width: 960px) {
	.Head {
		padding: 10px 40px;
	}
	.Head_img img,
	.Head_img_right img {
		object-fit: cover;
		font-family: 'object-fit: cover';
		width: 60px;
		height: 60px;
	}
	.Head_user {
		margin-left: 15px;
		padding-top: 5px;
	}
	.Head_date_wrp {
		padding-top: 10px;
	}
	.Head_date {
		margin-left: 10px;
	}
	.Head_date_label {
		margin-left: 15px;
	}

	.Head_info {
		padding-right: 0;
	}
	.Head_info_img {
		margin-right: 30px;
	}
	.Head_info_img img {
		width: 30px;
	}
	.Head_info_badge {
		position: absolute;
		top: -10px;
		right: -10px;
		width: 24px;
		height: 24px;
		border-radius: 50%;
		background-color: #e31414;
		color: #fff;
		color: #ffffff;
		font-size: 0.9rem;
		text-align: center;
		line-height: 24px;
	}

	.Head_grp_item.ffi_menu img {
		width: 30px;
	}

}


/*    Head_cost
=====================================================*/
.Head_cost {
	border-top: 1px solid #98ad9a;
}
.Head_cost_before {
	padding: 2vw;
}
.Head_cost_before_ttl {
	color: #b4bbb5;
	font-size: 0.9rem;
	line-height: 1.11;
}
.Head_cost_before_val {
	color: #ffffff;
	line-height: 1;
	font-size: 1.2rem;
	padding-top: 0.5vw;
}
.Head_cost_before_val span {
	font-size: 1rem;
	display: inline-block;
	margin-left: 1vw;
}
.Head_cost_after {
	padding: 1.2vw 2vw;
	margin-left: auto;
}
.Head_cost_after_box {
	border-radius: 3px;
	background-color: #ffffff;
	padding: 1.5vw 2vw 1vw;
	align-items: center;
	/* width: 68vw; */
	line-height: 1;
}
.Head_cost_after_ttl {
	color: #274c2b;
	font-size: 0.9rem;
	line-height: 1;
}
.Head_cost_after_val {
	margin-left: 1vw;
	color: #e18838;
	line-height: 1;
	font-size: 1.4rem;
	font-weight: 600;
}
.Head_cost_after_val span {
	font-size: 1rem;
	display: inline-block;
	margin-left: 1vw;
}
.Head_cost_after_link {
	margin-left: 2vw;
	margin-bottom: 1.2vw;
}
.Head_cost a {
	color: #274c2b;
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 600;
	text-decoration: underline;
}

@media screen and (min-width: 960px) {
	.Head_cost_before {
		padding: 10px 60px;
	}
	.Head_cost_before_val {
		padding-top: 8px;
	}
	.Head_cost_before_val span {
		margin-left: 5px;
	}
	.Head_cost_after {
		padding: 10px 0 10px;
		margin-left: 0;
	}
	.Head_cost_after_box {
		padding: 6px 20px 6px;
		/* width: 410px; */
	}
	.Head_cost_after_val {
		margin-left: 14px;
	}
	.Head_cost_after_val span {
		margin-left: 5px;
	}
	.Head_cost_after_link {
		margin-left: 20px;
		margin-bottom: 5px;
	}
}


/*    Head_news
=====================================================*/
.Head_news {
	background-color: #f4f1ed;
}
.Head_news_line {
	line-height: 1;
	padding: 0 2vw;
}
.Head_news_line a {
	display: block;
	color: #512900;
	font-size: 1.1rem;
	line-height: 8vw;
/*	border: 1px solid #ff0000;*/
	position: relative;
	max-width: 96vw;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-right: 4vw;
}
.Head_news_line a::after {
	content: '';
	position: absolute;
	width: 1.8vw;
	height: 1.8vw;
	border-top: 3px solid #b6ac9f;
	border-right: 3px solid #b6ac9f;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: calc(50% - 1.4vw);
	right: 1vw;
}

@media screen and (min-width: 960px) {
	.Head_news_line {
		padding: 0 60px;
	}
	.Head_news_line a {
		line-height: 36px;
		max-width: 96vw;
		padding-right: 20px;
	}
	.Head_news_line a::after {
		content: '';
		position: absolute;
		width: 10px;
		height: 10px;
		border-top: 3px solid #b6ac9f;
		border-right: 3px solid #b6ac9f;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: calc(50% - 7px);
		right: 10px;
	}

}


/*    HeaderFloat
=====================================================*/
#HeaderFloat.fixed {
	border-top: none;
	background-color: #274c2b;
	display: block;
	/* height: 11vw; */
	position: fixed;
	top: 0;
	right: 0;
	z-index: 50;
}

@media screen and (min-width: 960px) {
	#HeaderFloat.fixed {
		/* height: 56px; */
	}
}




/*    Navigation
=====================================================*/
.Navi_close {
	display: table;
	width: 80px;
	height: 80px;
	position: fixed;
	right: 0;
	top: 0;
	cursor: pointer;
	align-items: flex-end;
}
.Navi_close span::before,
.Navi_close span::after {
	display: block;
	content: "";
	position: absolute;
	top: 40%;
	left: 30%;
	width: 40%;
	height: 1px;
	background: #b6ac9f;
}
.Navi_close span::before {
	transform: rotate(-45deg);
}
.Navi_close span::after {
	transform: rotate(45deg);
}
.Navi_close span {
	display: table-cell;
	font-size: 1.0rem;
	color: #000;
	text-align: center;
	vertical-align: bottom;
}
.Navi_lst {
	margin: 80px 60px 40px;
}
.Navi_lst {

	border-top: solid 1px #dfdad4;
}
.Navi_lst .menu-item,
.Navi_item {
	width: 100%;
	border-bottom: solid 1px #dfdad4;
}
.Navi_lst .menu-item > a,
.Navi_item > a {
	display: block;
	color: var(--title-color);
	font-size: 1.2rem;
	line-height: 50px;
	transition: all .2s;
	position: relative;
	padding-left: 0.5em;
}
.Navi_lst .menu-item > a::after,
.Navi_item > a::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	border-top: 2px solid #b6ac9f;
	border-right: 2px solid #b6ac9f;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: calc(50% - 5px);
	right: 20px;
}
.Navi_sub_lst {
	border-top: solid 1px #dfdad4;
}
.Navi_sub_lst .Navi_item:last-child {
	border-bottom: none;
}
.Navi_sub_lst .Navi_item a {
	padding-left: 2em;
}

.Navi_fontsize {
	color: var(--title-color);
	font-size: 1.2rem;
	margin: 0 60px;
	align-items: center;
}
.Navi_fontsize_lst {
	align-items: center;
}
.Navi_fontsize_lst li {
	border: solid 1px #dfdad4;
	font-size: 14px;
	width: 32px;
	height: 32px;
	margin-left: 10px;
	cursor: pointer;
	text-align: center;
	justify-content: center;
	align-items: center;
	transition: all .2s;
}
.Navi_fontsize_lst li.active,
.Navi_fontsize_lst li:hover {
	background-color: #512900;
	color: #fff;
}

@media screen and (max-width: 959px){
	.Navi_close {
		display: table;
		width: 14vw;
		height: 14vw;
		position: fixed;
		right: 0;
		top: 0;
		cursor: pointer;
		align-items: flex-end;
	}
	.Navi_close span::before,
	.Navi_close span::after {
		display: block;
		content: "";
		position: absolute;
		top: 40%;
		left: 30%;
		width: 40%;
		height: 1px;
		background: #b6ac9f;
	}
	.Navi_close span::before {
		transform: rotate(-45deg);
	}
	.Navi_close span::after {
		transform: rotate(45deg);
	}
	.Navi_close span {
		display: table-cell;
		font-size: 1.0rem;
		color: #000;
		text-align: center;
		vertical-align: bottom;
	}
	.Navi_lst {
		margin: 14vw 14vw 14vw;
	}
	.Navi_lst {

		border-top: solid 1px #dfdad4;
	}
/*
	.Navi_lst::after {
		content: '';
		width: 100vw;
		height: 200px;
		background: url(img/common/navi_bg.png) no-repeat;
		background-size: 60vw;
		position: absolute;
		background-position: bottom right -14vw;
		bottom: -12vw;
		right: -14vw;
	}
*/
	.Navi_lst .menu-item,
	.Navi_item {
		width: 100%;
/*		height: auto;*/
		border-bottom: solid 1px #dfdad4;
	}
/*
	.Navi_lst > .menu-item:first-child,
	.Navi_lst .menu-item:last-child,
	.Navi_item:last-child {
		border-bottom: none;
	}
*/
	.Navi_lst .menu-item > a,
	.Navi_item > a {
		display: block;
		color: var(--title-color);
		font-size: 1.4rem;
		line-height: 13vw;
		transition: all .2s;
		position: relative;
	}
	.Navi_lst .menu-item > a::after,
	.Navi_item > a::after {
		content: '';
		position: absolute;
		width: 2vw;
		height: 2vw;
		border-top: 2px solid #b6ac9f;
		border-right: 2px solid #b6ac9f;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: calc(50% - 1vw);
		right: 2vw;
	}
/*
	.Navi_lst .menu-item:last-child > a,
	.Navi_item:last-child > a {
		font-size: 1.2rem;
	}
*/
	.Navi_sub_lst {
		border-top: solid 1px #dfdad4;
	}
	.Navi_sub_lst .Navi_item:last-child {
		border-bottom: none;
	}
	.Navi_sub_lst .Navi_item a {
		padding-left: 2em;
	}

}
/*============================================================================================
      Footer
=============================================================================================*/
.w_Footer{
	position: absolute;
	bottom: 0;
}
.w_FooterCopy {
	margin-bottom: 33vw;
}
.FooterCopy {
	padding: 6vw 0 2vw;
}
.FooterCopy_ttl {
	text-align: center;
	color: #cfcfcf;
	font-size: 1.2rem;
}
.FooterCopy_company {
	text-align: center;
	color: #cfcfcf;
	font-size: 1.0rem;
	/* font-weight: 600; */
	line-height: 1.0;
}
.FooterCopy_address {
	text-align: center;
	color: #cfcfcf;
	padding-bottom: 7vw;
}
.FooterCopy_copy {
	color: #cfcfcf;
	font-size: 1rem;
	line-height: 2;
	text-align: center;
}

@media screen and (min-width: 960px) {
	.w_FooterCopy {
		margin-bottom: 120px;
	}
	.FooterCopy {
		padding: 30px 0 5px;
	}
	.FooterCopy_ttl {
		padding-bottom: 20px;
	}
	.FooterCopy_address {
		padding-bottom: 30px;
	}
}


/*    NaviFloat
=====================================================*/
.NaviFloat {
	height: 14vw;
	background-color: rgba(243, 240, 236, 0.95);
	border-top: 1px solid #dfdad4;
	width: 100%;
	position: fixed;
	bottom: 0;
	z-index: 30;
}
.NaviFloat_lst {
	justify-content: center;
	align-items: center;
}
.NaviFloat_item {
	text-align: center;
	width: 21.7vw;
	height: 14vw;
	border-left: 1px solid #dfdad4;
}
.NaviFloat_item:first-child {
	border-left: none;
}
.NaviFloat_item:last-child {
	border-right: none;
}
.NaviFloat_item a {
	position: relative;
	height: 100%;
	color: #512900;
	font-size: 1.1rem;
	line-height: 1.36;
	font-weight: 600;
	padding: 0 2vw;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.NaviFloat_item.btn_menu {
	width: 13.2vw;
}
.NaviFloat_item.btn_menu a {
	padding: 0;
	background: url(../img/nav_icon_build.png) no-repeat top 50% center;
	background-size: 5.73vw;
}

@media screen and (min-width: 960px) {
	.NaviFloat {
		height: 80px;
	}
	.NaviFloat_item {
		height: 80px;
		width: 160px;
	}
	.NaviFloat_item:first-child {
		border-left: 1px solid #dfdad4;
	}
	.NaviFloat_item:last-child {
		border-right: 1px solid #dfdad4;
	}
	.NaviFloat_item a {
		padding: 0 30px;
	}

	.NaviFloat_item.btn_menu {
		width: 80px;
	}
	.NaviFloat_item.btn_menu a {
		padding: 0;
		background: url(../img/nav_icon_build.png) no-repeat top 50% center;
		background-size: 24px;
	}
}

