/*-------------------------------------------------
  Nucleus CMS Stylesheet - bundled with version 3.2
  Based on the Stanch skin by Ivan Fong
  Mods by hcgtv and moraes
-------------------------------------------------*/

/*-------------------------------------------------
  General layout
-------------------------------------------------*/



body
{
	background: url();
	color: #1a1a1a; /*要変更　基本の文字色　デザイン提案書のカラーに合わせる*/
	/* font-family:"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro"; */
	font-size: 16px;
	padding: 0px 0;
	margin: 0;
	-webkit-text-size-adjust: 100%;

	/*Noto Sans Japanese*/
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
	}

.wf-hannari { font-family: "Hannari"; }

/*-------------------------------------------------
  追加CSSは以下へ
-------------------------------------------------*/
/* 問合せフォーム　エラーメッセージ */
.formError {
    z-index: 111111111 !important;
}

/*タグリストの仕切り「|」の表示非表示はここでコントロール*/
.tag_divider{
	display: none;
}

.pc-br{
    display: block; /* PC版は改行する*/
  }
.smp-br{
    display: none;/* PCの改行を隠す*/
  }
@media screen and (max-width:750px){
    .pc-br{
        display: none; /* スマホ版の改行を隠す */
      }
    .smp-br{
        display: block;/* スマホ版は改行する*/
      }
    
} 

/* ローディング */
#loader-bg {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #fff;
	z-index: 9999;
}

#loader-bg img {
	width: 233px;
    height: 85px;
}


@media screen and (max-width:750px){ /*スマホサイズ*/
	#loader-bg img {
		width: 153px;
		height: 56px;
	}
}

/* 資料請求固定バナー */
/* 固定バナー本体 */
.banner_catalog {
	position: fixed;
	top: 75%;
	right: 0;
	transform: translateY(-50%);
	z-index: 10000;
	transition: transform 0.3s ease;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* 閉じた状態（画像幅分だけ右へ） */
.banner_catalog:not(.is-open) {
	transform: translate(300px, -50%);
}

/* バナー画像 */
.banner_catalog img {
	display: block;
	width: 300px;
	height: auto;
}

/* 開閉ボタン */
.banner_toggle {
	width: 32px;
	height: 75px;
	background: #747474;
	border: none;
	cursor: pointer;
	position: absolute;
	left: -32px;
	top: 50%;
	transform: translateY(-50%);
}

/* 矢印 */
.banner_toggle::before {
	content: "≪";
	color: #fff;
	font-size: 16px;
}

/* 閉じている時の矢印 */
.banner_catalog:not(.is-open) .banner_toggle::before {
	content: "≫";
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.banner_catalog {
		top: 80%;
	}

	.banner_catalog img {
		width: 47vw;
		max-width: 260px;
		height: auto;
	}

	.banner_catalog:not(.is-open) {
		transform: translate(47vw, -50%);
	}
}

/* トップページ／リード */
.b_gaw_award {
    width: 90%;
    max-width: 655px;
    display: block;
    padding: 0;
    box-sizing: border-box;
    margin: 0 auto 25px;
}

.b_gaw_award img{
	width: 100%;
	height: auto;
}

.lead {
	position: relative;
	padding: min(75px, calc(75/2000*100vw)) 0 0;
	top: 40px;
	z-index: 0;
	overflow-x: clip;
}

.lead::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #ededed;
	transform: skewY(-5deg);
	z-index: -1;
}

.lead .box1180 {
	display: flex;
	align-items: center;
}

.lead_text {
	width: 50%;
	padding: 0 min(50px, calc(50/2000*100vw));
	box-sizing: border-box;
}

.lead_text p {
	margin: 0;
	line-height: 1.75;
	font-size: 18px;
}

.lead_text p.lead_text-title {
	font-size: clamp(24px, calc(24/751*100vw), 35px);
	font-weight: 500;
}

.lead_text p:nth-of-type(2) {
	margin-top: min(70px, calc(70/2000*100vw));
}

.lead_text p:last-of-type {
	margin-top: min(30px, calc(30/2000*100vw));
}

a:link.lead_link,
a:visited.lead_link {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 55px;
	border-radius: 3px;
	font-size: clamp(16px, calc(16/750*100vw) ,18px);
	color: #fff;
}

a:hover.lead_link {
	text-decoration: none;
	opacity: 0.8;	
}

.lead_link:not(:first-of-type) {
	margin-top: 10px;
}

.lead_link i {
	margin-left: min(20px, calc(20/2000*100vw));
}

.lead_link01 {
	margin-top: min(65px, calc(65/2000*100vw));
	background: #de0000;
}

.lead_link02 {
	background: #3f3f3f;
}

.lead_link03 {
	background: #00b400;
}

.lead_link03 img {
	max-width: 36px;
}

.lead_img {
	flex: 1;
	max-width: 1000px;
	margin-right: calc(50% - 50vw);
}

.lead_img img {
	width: 100%;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.lead {
		padding: 0;
		top: calc(90/750*100vw);
	}
	
	.lead::before {
		transform: skewY(-10deg);
	}
	
	.lead .box1180 {
		flex-direction: column-reverse;
	}
	
	.lead_text {
		width: 100%;
		padding: 0 calc(30/750*100vw);
		box-sizing: border-box;
	}
	
	.lead_text p {
		font-size: max(14px, calc(22/750*100vw));
	}
	
	.lead_text p.lead_text-title {
		margin-top: calc(35/750*100vw);
		font-size: calc(48/750*100vw);
	}
	
	.lead_text p:nth-of-type(2) {
		margin-top:calc(30/750*100vw);
	}
	
	.lead_text p:last-of-type {
		margin-top: 0;
	}

	a:link.lead_link,
	a:visited.lead_link {
		height: max(45px, calc(64/750*100vw));
		font-size: max(12px, calc(22/750*100vw));
	}

	.lead_link i {
		margin-left: calc(30/750*100vw);
	}

	.lead_link01 {
		margin-top: calc(82/750*100vw);
	}

	.lead_img {
		width: 100%;
		margin-right: initial;
	}
}


/* トップページ／グランドアートウォール */
.ground-art-wall {
	margin-top: 130px;
	padding-bottom: min(85px, calc(85/2000*100vw));
}

.ground-art-wall .box1180 {
	padding: 0 20px;
}

.ground-art-wall_content {
	max-width: 1120px;
	margin: auto;
	padding: min(55px, calc(55/2000*100vw)) min(50px, calc(50/2000*100vw)) min(65px, calc(65/2000*100vw));
	box-sizing: border-box;
	border: 1px solid #000;
}

.ground-art-wall_title {
	margin: 0;
	text-align: center;
	font-family: 'Shippori Mincho', serif;
	font-size: clamp(35px, calc(35/751*100vw), 40px);
	font-weight: 600;
}

.ground-art-wall_title span {
	color:#ff0000;
}

.ground-art-wall_sub-title {
	margin: 20px 0 0;
	text-align: center;
	font-size: 20px;
}

.ground-art-wall_inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: min(45px, calc(45/2000*100vw));
}

.ground-art-wall_img {
	width: 46%;
	text-align: center;
}

.ground-art-wall_img img {
	width: 100%;
	max-width: 400px;
	height: auto;
	object-fit: contain;
}

.ground-art-wall_text {
	flex: 1;
}

.ground-art-wall_text p {
	margin: 0;
	line-height: 1.75;
	font-size: 18px;
}

.ground-art-wall_text a:link,
.ground-art-wall_text a:visited  {
	display: inline-block;
	margin-top: min(35px, calc(35/2000*100vw));
	padding-bottom: 15px;
	font-size: 18px;
	color: #1a1a1a;
	border-bottom: 2px solid #1a1a1a;
}

.ground-art-wall_text a:hover {
	text-decoration: none;
	color: #e10000;
	border-bottom: 2px solid #ff0000;
}

.ground-art-wall_text a:link span,
.ground-art-wall_text a:visited span {
	margin-right: min(20px, calc(20/2000*100vw));
}

.ground-art-wall_text a:link i,
.ground-art-wall_text a:visited i {
	display: inline;
	padding-left: 10px;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.ground-art-wall {
		margin-top: calc(190/750*100vw);
		padding-bottom: calc(85/750*100vw);
	}

	.ground-art-wall .box1180 {
		padding: 0;
	}
	
	.ground-art-wall_content {
		width: 90%;
		padding: calc(55/750*100vw) calc(50/750*100vw) calc(65/750*100vw);
	}
	
	.ground-art-wall_title {
		font-size: max(14px, calc(22/750*100vw));
	}
	
	.ground-art-wall_sub-title {
		margin: max(10px, calc(20/750*100vw)) 0 0;
		font-size: max(16px, calc(20/750*100vw));
	}
	
	.ground-art-wall_inner {
		flex-direction: column;
		margin-top: calc(45/750*100vw);
	}
	
	.ground-art-wall_img {
		width: 100%;
	}

	.ground-art-wall_text {
		margin-top: calc(30/750*100vw);
	}
	
	.ground-art-wall_text p {
		font-size: max(14px, calc(22/750*100vw));

	}
	
	.ground-art-wall_text a:link,
	.ground-art-wall_text a:visited  {
		text-align: right;
		margin-top: calc(35/750*100vw);
		font-size: max(14px, calc(22/750*100vw));
	}
}


/* トップページ／YouTubeセクション */

.top_section_youtube{
	display: flex;
}

/* .top_section_youtube img{
	width: 45%;
	height: auto;
} */

@media screen and (max-width:750px){ /*スマホサイズ*/
	.top_section_youtube {
		flex-direction: column;
	}
}

/* トップページ／ガウチャンネル */
.gaw-channel {
	padding: min(80px, calc(80/2000*100vw)) min(55px, calc(55/2000*100vw));
	background: #ededed;
	width: 50%;
	position: relative;
	z-index: 0;
}

.gaw-channel .box1180 {
	max-width: 1060px;
	margin: auto;
}

.gaw-channel_logo-sp {
	display: none;
}

.gaw-channel_title {
    position: relative;
    line-height: 2;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

.gaw-channel_title:before {
	position: absolute;
	content: "";
	width: 20%;
    height: 150px;
	/* width: clamp(135px, calc(135/751*100vw), 198px);
	height: clamp(107px, calc(107/751*100vw), 157px); */
	/* top: 50%;
	left: 0; */
	top: 35%;
    left: 3%;
	transform: translateY(-50%);
	z-index: -1;
}

.webp .gaw-channel_title:before {
	background: url(images/gaw-channel.webp) no-repeat center center / contain;
}

.no-webp .gaw-channel_title:before {
	background: url(images/gaw-channel.png) no-repeat center center / contain;
}


.gaw-channel_title span {
	font-size: 28px;
	font-weight: 600;
}

.gaw-channel_lead {
	margin: min(50px, calc(50/2000*100vw)) 0 0;
	text-align: center;
	font-size: 18px;
}

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

.gaw-channel__inner02 {
	position: relative;
    display: flex;
    margin: 20px 1%;
}

.gaw-channel__inner02 img {
    display: block;
    width: 100%;
    height: auto;
}

.top_channel_youtube {
  position: relative;
  display: inline-block;
}

.top_channel_youtube img {
  display: block;
  width: 100%;
  height: auto;
}

.top_channel_youtube::before {
  content: "\f167";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: #ff0000;
  pointer-events: none;
}

.gaw-channel .youtube {
	width: 49%;
	margin-top: min(35px, calc(35/2000*100vw));
}

a:link.gaw-channel_link,
a:visited.gaw-channel_link {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 500px;
	height: 55px;
	margin: min(50px, calc(50/2000*100vw)) auto 0;
	border-radius: 3px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	background: #ec5a24;
}

a:link.gaw-channel_link i,
a:visited.gaw-channel_link i {
	margin-left: 5px;
}

a:hover.gaw-channel_link {
	text-decoration: none;
	opacity: 0.8;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.gaw-channel {
		padding: calc(60/750*100vw) 0;
		width: 100%;
	}

	.gaw-channel_logo-sp {
		display: block;
		max-width: 150px;
		margin: 0 auto 10px;
	}

	.gaw-channel_logo-sp img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	.gaw-channel_title {
		padding: 0 20px;
	}
	
	.gaw-channel_title:before {
		display: none;
	}
	
	.gaw-channel_title span {
		font-size: clamp(20px, calc(20/320*100vw), 30px);
	}
	
	.gaw-channel_lead {
		padding: 0 20px;
		font-size: max(14px, calc(22/750*100vw));
	}
	
	.gaw-channel__inner {
		display: block;
		padding: 0 20px;
	}
	
	.gaw-channel .youtube {
		width: 100%;
		margin-top: 20px;
	}
	
	a:link.gaw-channel_link,
	a:visited.gaw-channel_link {
		width: 99%;
		height: clamp(45px, calc(45/320*100vw), 55px);
		margin: calc(50/750*100vw) auto 0;
		font-size: clamp(14px, calc(14/320*100vw), 18px);
	}
}

/* トップページ／ヨシコウ公式チャンネル */
.yoshikou-channel {
	padding: min(80px, calc(80/2000*100vw)) min(55px, calc(55/2000*100vw));
	background: #f9f9f9;
	width: 50%;
}

.yoshikou-channel .box1180 {
	max-width: 1060px;
	margin: auto;
}

.yoshikou-channel_logo-sp {
	display: none;
}

.yoshikou-channel_title {
    position: relative;
    line-height: 2;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

/* .yoshikou-channel_title:before {
	position: absolute;
	content: "";
	width: clamp(135px, calc(135/751*100vw), 198px);
	height: clamp(107px, calc(107/751*100vw), 157px);
	top: 50%;
	left: 0;
	transform: translateY(-50%);
} */

/* .webp .yoshikou-channel_title:before {
	background: url(images/yoshikou-channel.webp) no-repeat center center / contain;
}

.no-webp .yoshikou-channel_title:before {
	background: url(images/yoshikou-channel.png) no-repeat center center / contain;
} */


.yoshikou-channel_title span {
	font-size: 28px;
	font-weight: 600;
}

.yoshikou-channel_lead {
	margin: min(50px, calc(50/2000*100vw)) 0 0;
	text-align: center;
	font-size: 18px;
}

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

.yoshikou-channel .youtube {
	width: 49%;
	margin-top: min(35px, calc(35/2000*100vw));
}

a:link.yoshikou-channel_link,
a:visited.yoshikou-channel_link {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 500px;
	height: 55px;
	margin: min(50px, calc(50/2000*100vw)) auto 0;
	border-radius: 3px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	background: #de0000;
}

a:link.yoshikou-channel_link i,
a:visited.yoshikou-channel_link i {
	margin-left: 5px;
}

a:hover.yoshikou-channel_link {
	text-decoration: none;
	opacity: 0.8;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.yoshikou-channel {
		padding: calc(60/750*100vw) 0;
		width: 100%;
	}

	.yoshikou-channel_logo-sp {
		display: block;
		max-width: 150px;
		margin: 0 auto 10px;
	}

	.yoshikou-channel_logo-sp img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}

	.yoshikou-channel_title {
		padding: 0 5px;
		font-size: 14px;
	}
	
	.yoshikou-channel_title:before {
		display: none;
	}
	
	.yoshikou-channel_title span {
		font-size: clamp(20px, calc(20/320*100vw), 30px);
	}
	
	.yoshikou-channel_lead {
		padding: 0 20px;
		font-size: max(14px, calc(22/750*100vw));
	}
	
	.yoshikou-channel__inner {
		display: block;
		padding: 0 20px;
	}
	
	.yoshikou-channel .youtube {
		width: 100%;
		margin-top: 20px;
	}
	
	a:link.yoshikou-channel_link,
	a:visited.yoshikou-channel_link {
		width: 99%;
		height: clamp(45px, calc(45/320*100vw), 55px);
		margin: calc(50/750*100vw) auto 0;
		font-size: clamp(14px, calc(14/320*100vw), 18px);
	}
}

/* トップページ／コンタクト */
.contact {
	padding: min(95px, calc(95/2000*100vw)) 0;
}

.webp .contact {
	background: url(images/bg_contact.webp) no-repeat center center / cover;
}

.no-webp .contact {
	background: url(images/bg_contact.jpg) no-repeat center center / cover;
}

.contact .cta {
	margin-top: min(60px, calc(60/2000*100vw));
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.contact {
		padding: calc(95/750*100vw) 0;
	}
	
	.contact .cta {
		margin-top: calc(60/750*100vw);
	}
}


/* トップページ／WORKS */
.works {
	padding: min(90px, calc(90/2000*100vw)) 0  min(85px, calc(85/2000*100vw));
}

.works  .home_title {
	margin-bottom: min(50px, calc(50/2000*100vw));
}

.works #viewall {
	margin-bottom: min(130px, calc(130/2000*100vw));
}


@media screen and (max-width:750px){ /*スマホサイズ*/
	.works {
		padding: calc(90/750*100vw) 0  calc(85/750*100vw);
	}
	
	.works  .home_title {
		margin-bottom: calc(50/750*100vw);
	}
	
	.works #viewall {
		margin-bottom: calc(130/750*100vw);
	}
}

/* トップページ／Aboutus */
.about-us {
	padding-bottom: min(90px, calc(90/2000*100vw));
	background: #2e1d1c;
	overflow-x: clip;
}

.about-us_inner {
	display: flex;
	align-items: center;
}

.about-us_inner-reverse {
	flex-direction: row-reverse;
}

.about-us_img {
	flex: 1;
	width: 50%;
	margin-left: calc(50% - 50vw);
}

.about-us_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-us_inner-reverse .about-us_img {
	margin-left: 0;
	margin-right: calc(50% - 50vw);
}

.about-us_text {
	width: 50%;
	padding: min(60px, calc(60/2000*100vw));
	box-sizing: border-box;
}

.about-us_inner-reverse .about-us_text {
	padding-right: min(60px, calc(60/2000*100vw));
	padding-left: min(30px, calc(30/2000*100vw));
}

.about-us_text-center {
	text-align: center;
}

.about-us_text p {
	margin: min(70px, calc(70/2000*100vw)) 0 0;
	font-size: 18px;
	color: #fff;
}

p.about-us_text-title {
	font-size: min(30px, calc(30/2000*100vw));
	font-weight: 500;
}

.about-us_text ul {
	display: flex;
	justify-content: space-between;
	margin-top: min(55px, calc(55/2000*100vw));
}

.about-us_text li {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 31%;
	aspect-ratio: 1/1;
	border-radius: 50%;
	font-size: clamp(13px, calc(13/751*100vw), 18px);
	font-weight: bold;
	background: #fff;
}

.about-us_text li::before {
    position: absolute;
    content: '';
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border: 2px solid #1a1a1a;
    border-radius: inherit;
    box-sizing: border-box;
}

a:link.about-us_link,
a:visited.about-us_link {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 500px;
	height: 60px;
	margin: min(60px, calc(60/2000*100vw))  auto 0;
	color: #fff;
	border: 1px solid #fff;
}

a:link.about-us_link i,
a:visited.about-us_link i {
	color: #fff;
	margin-left: min(20px, calc(20/2000*100vw));
}

a:hover.about-us_link {
	text-decoration: none;
	color: #2e1d1c;
	background: #fff;
	border: 1px solid #2e1d1c;
}

a:hover.about-us_link i {
	color: #2e1d1c;
}

.about-us .home_title {
	text-align: left;
	color: #fff;
}

.about-us_radio-sns {
	margin-top: min(65px, calc(65/2000*100vw));
	padding: min(40px, calc(40/2000*100vw)) 20px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.about-us_radio-sns .about-us_inner {
	align-items: stretch;
}

.about-us_radio-sns_title {
	text-align: center;
	font-size: 30px;
	font-weight: 500;
	color: #fff;
}
.about-us_radio-sns_title i {
	margin-right: 10px;
}

.about-us_radio-sns .about-us_inner {
	justify-content: space-between;
}

.about-us_item {
	width: 48%;
}

.about-us_item_box {
	aspect-ratio: 550/170;
	background: #fff;
}

.about-us_item_box a {
	display: block;
	width: 100%;
	height: 100%;
}

.about-us_item_box a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.about-us_item-radio .about-us_item_box a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.about-us_item-radio .about-us_item_box a p {
	position: relative;
	margin: 0;
	padding-left: 50px;
	font-size: 18px;
	font-weight: 500;
	color: #1a1a1a;
}

.about-us_item-radio .about-us_item_box a p::before {
	position: absolute;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f185";
	left: 0;
	bottom: 0;
	font-size: clamp(36px, calc(36/751*100vw), 42px);
	color: #ec5a24;
}

.about-us_item-radio .about-us_item_box a p span {
	font-size: clamp(22px, calc(22/751*100vw), 32px);
	font-weight: bold;
	color: #ec5a24;
}

.about-us_item-sns .about-us_item_box a:link,
.about-us_item-sns .about-us_item_box a:visited {
	display: flex;
	color: #1a1a1a;
}

.about-us_item_text {
	margin-top: 10px;
	line-height: 1.75;
	text-align: center;
	font-size: 18px;
	color: #fff;
}

.about-us_item_box_text,
.about-us_item_box_img {
	width: 50%;
}

.about-us_item_box_text {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: clamp(13px, calc(13/751*100vw), 18px);
	font-weight: 500;
}

.about-us_item_box_text p {
	position: relative;
	margin: 0;
	padding-left: clamp(30px, calc(30/751*100vw), 40px);
}

.about-us_item_box_text p::before {
	position: absolute;
	content: "";
	width: clamp(25px, calc(25/751*100vw), 34px);
	height: clamp(25px, calc(25/751*100vw), 34px);
	left: 0;
	bottom: 3px;
	background: url(images/icon_instagram.png) no-repeat center center / contain;
}

.about-us_item_box_text p span {
	font-size: clamp(24px, calc(24/751*100vw), 30px);
	font-weight: 500;
}

.about-us_item_box_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


@media screen and (max-width:750px){ /*スマホサイズ*/
	.about-us {
		padding-bottom: 90px;
	}
	
	.about-us_inner {
		flex-direction: column;
	}
	
	.about-us_inner-reverse {
		margin-top: 50px;
		flex-direction: column;
	}
	
	.about-us_img {
		width: 100%;
		margin-left: 0;
	}
	
	.about-us_inner-reverse .about-us_img {
		margin-right: 0;
	}
	
	.about-us_text {
		width: 100%;
		margin-top: calc(40/750*100vw);
		padding: 0;
	}
	
	.about-us_inner-reverse .about-us_text {
		padding-right: 0;
		padding-left: 0;
	}

	.about-us_text .home_title {
		padding: 0 20px;
	}
	
	.about-us_text p {
		padding: 0 20px;
		font-size: max(14px, calc(22/750*100vw));
	}
	
	p.about-us_text-title {
		font-size: clamp(20px, calc(20/320*100vw), 30px);
	}
	
	.about-us_text ul {
		display: flex;
		justify-content: space-between;
		margin-top: calc(55/750*100vw);
	}
	
	.about-us_text li {
		font-size: clamp(12px, calc(12/320*100vw), 18px);
	}

	a:link.about-us_link,
	a:visited.about-us_link {
		width: 99%;
		max-width: 550px;
		height: clamp(45px, calc(45/320*100vw),55px);
		margin: calc(60/750*100vw)  auto 0;
		font-size: clamp(14px, calc(14/768*100vw), 18px);
	}
	
	a:link.about-us_link i,
	a:visited.about-us_link i {
		margin-left: calc(20/750*100vw);
	}

	.about-us_radio-sns {
		width: 95%;
		margin-top: 65px;
		margin-right: auto;
		margin-left: auto;
		padding: calc(40/750*100vw) 0;
	}

	.about-us_radio-sns_title {
		font-size: clamp(20px, calc(20/320*100vw), 30px);
	}

	.about-us_item {
		width: 100%;
	}

	.about-us_item-sns {
		margin-top: calc(40/750*100vw);
	}
	
	.about-us_item_box {
		max-width: 500px;
		margin: auto;
		aspect-ratio: 550/170;
	}

	.about-us_item-radio .about-us_item_box a p {
		font-size: clamp(14px, calc(14/320*100vw), 18px);
	}
	
	.about-us_item-radio .about-us_item_box a p span {
		font-size: clamp(20px, calc(20/320*100vw), 32px);
	}

	.about-us_item_text {
		font-size: max(14px, calc(22/750*100vw));
	}
	
	.about-us_item_box_text {
		font-size: clamp(14px, calc(14/320*100vw), 18px);
	}
	
	.about-us_item_box_text p {
		padding-left: clamp(28px, calc(28/320*100vw), 40px);
	}
	
	.about-us_item-sns .about-us_item_box_text p {
		font-size: clamp(11px, calc(11/320*100vw), 18px);
	}

	.about-us_item_box_text p span {
		font-size: clamp(22px, calc(22/320*100vw), 30px);
	}
}

/* トップページ／Recommend */
.recommend {
	padding: min(90px, calc(90/2000*100vw)) 0;
}

.webp .recommend {
	background:url(images/bg_recommend.webp) no-repeat center center / cover;
}

.no-webp .recommend {
	background:url(images/bg_recommend.jpg) no-repeat center center / cover;
}

.recommend_lead {
	margin-top: min(50px, calc(50/2000*100vw));
	text-align: center;
	font-size: 18px;
	font-weight: 500;
}


@media screen and (max-width:750px){ /*スマホサイズ*/
	.recommend {
		padding: calc(90/750*100vw) 0;
	}

	.recommend_lead {
		margin-top: calc(50/750*100vw);
		font-size: max(14px, calc(22/750*100vw));
	}

	.recommend_lead br {
		display: none;
	}
}

/* キャンペーンページ　2026 */
.cp_serif{
	font-family: 'Shippori Mincho', serif;
	font-weight: 700;
}

/*-------------------------------------------------
人気記事とかタグ記事表示とか
-------------------------------------------------*/
.pvr{
	display: flex;
	-ms-display:flex;
	-webkit-display:flex;
	flex-wrap: wrap;
}
.popular{
	width: 24%;
	margin: 0.5%;
	padding-bottom: 1%;
	background: #f3f3f3;
	font-size: 15px;
}
.popuimg{
	display: inline-block;
	height: 180px;
}
.popuimg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width:960px){ /*スマホサイズ*/
	.popular{
		width: 49%;
		margin: 0.5%;
	}
	.popuimg{
		height: 200px;
	}
	}
	@media screen and (max-width:560px){ /*スマホサイズ*/
	.popuimg{
		height: 150px;
	}
}
/*-------------------------------------------------
  リンク
-------------------------------------------------*/

a:link, a:visited
{
	color: #e10000; /* リンク文字の色 */
	text-decoration: none;
}
a:hover, a:active
{
	color: #e10000; /* リンク文字の色　ホバー時 */
	text-decoration: underline;
	opacity: 0.8;
}

/*-------------------------------------------------
  ホームのメイン画像スライダー 画面幅に対して画像サイズがストレッチするタイプ
-------------------------------------------------*/

	.slideshow
	{
		max-width: 2000px;
		margin: auto;
		overflow: hidden; /*.viewerのmargin突き抜け問題対策*/
		/*display: none;*/
	}
	@media screen and (max-width: 750px){ /**/
		.slideshow
		{
			/* aspect-ratio: 750/667; */
		}
	}

	.viewer
	{
		position: relative;
		/* width: 100%; */
		aspect-ratio: 2000/800;
		margin: 112px auto 0 auto; /*メニュー帯に隠れないためのpadding*/
		overflow: hidden;
		height: auto !important;
		min-height: 500px;
	}

.gaw_label {
    position: absolute;
    width: clamp(40px,9vw,100px);
    height: auto;
    top: 0;
    left: 6%;
    z-index: 100;
}

	.slide_catch {
		position: absolute;
		width: min(835px, calc(750/2000*100vw));
		top: clamp(23%, calc(20/751*100vw), 28%);
		left: 50%;
		transform: translateX(-50%);
		z-index: 100;
		min-width: 500px;
	}

		@media screen and (max-width: 750px){ /*スマホサイズ*/
			.viewer
			{
				height: 100% !important;
				min-height: 0;
				/* aspect-ratio: 750/740; */
				aspect-ratio: 750 / 550;
				margin: 75px auto 0 auto; /*メニュー帯に隠れないためのpadding*/
			}

			.slide_catch {
				/* width: max(82%, calc(613/750*100vw)); */
				/* width: max(100%, calc(613/750*100vw)); */
				min-width: 0;
				/* top: 58%; */
				width: max(80%, calc(613 / 750 * 100vw));
				top: 29%;
			}
		}

	.viewer ul
	{
		width: 100%;
		overflow: hidden;
		position: relative;
		margin: auto;
		height: 100% !important;
	}
	.viewer ul li
	{
		top: 0;
		left: 0;
		width: 100%;
		position: absolute;
		height: 100% !important;
	}
	.viewer ul li img
	{
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}

	/* sideNavi
	------------------------- */
	.viewer .btnPrev,
	.viewer .btnNext
	{
		margin-top: -25px;
		top: 50%;
		width: 50px;
		height: 50px;
		position: absolute;
		z-index: 101;
	}
	.viewer .btnPrev
	{
		left: 10px;
		background: #ccc url(../img/btnPrev.jpg) no-repeat center center;
	}
	.viewer .btnNext
	{
		right: 10px;
		background: #ccc url(../img/btnNext.jpg) no-repeat center center;
	}


/* =======================================
    ClearFixElements
======================================= */
.viewer ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}

.viewer ul {
    display: inline-block;
    overflow: hidden;
}

/*-------------------------------------------------
  横スライドショー 画面幅に対して画像サイズがストレッチするタイプ
-------------------------------------------------*/

	.wideslider {
		width: 100%;
		text-align: left;
		position: relative;
		overflow: hidden;
	}

	.wideslider ul,
	.wideslider ul li {
		float: left;
		display: inline;
		overflow: hidden;
	}

	.wideslider ul li img {
		width: 100%;
		display: none;
	}

	.wideslider_base {
		top: 0;
		position: absolute;
	}
	.wideslider_wrap {
		top: 0;
		position: absolute;
		overflow: hidden;

	}
	.slider_prev,
	.slider_next {
		top: 0;
		overflow: hidden;
		position: absolute;
		z-index: 100;
		cursor: pointer;
	}
	.slider_prev {background: #fff url(homeimg/prev.jpg) no-repeat right center;}
	.slider_next {background: #fff url(homeimg/next.jpg) no-repeat left center;}

	.pagination {
		bottom: 10px;
		left: 0;
		width: 100%;
		height: 15px;
		text-align: center;
		position: absolute;
		z-index: 200;
	}

	.pagination a {
		margin: 0 5px;
		width: 15px;
		height: 15px;
		display: inline-block;
		overflow: hidden;
		background: #333;
	}
	.pagination a.active {
		filter:alpha(opacity=100)!important;
		-moz-opacity: 1!important;
		opacity: 1!important;
	}


	/* =======================================
		ClearFixElements
	======================================= */
	.wideslider ul:after {
		content: ".";
		height: 0;
		clear: both;
		display: block;
		visibility: hidden;
	}

	.wideslider ul {
		display: inline-block;
		overflow: hidden;
	}


/*-------------------------------------------------
  トップページコンテンツ
-------------------------------------------------*/

.home_title {
	text-align: center;
	font-size: 20px;
}

.home_title span {
	font-family: 'Shippori Mincho', serif;
	font-size: clamp(40px, calc(40/751*100vw), 60px);
}

.home_title::first-letter {
	color: #ff0000;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.home_title {
			font-size: clamp(14px, calc(14/320*100vw), 20px);
		}
		
		.home_title span {
			font-size: calc(60/750*100vw);
		}
	}


.desc_word
{
	/* width: 75%;
	display: table-cell;
	padding: 3.75% 0 2% 0;
	box-sizing: border-box;
	border-width: 0px 0px 2px 0px;
	border-style: solid;
	border-color: #9ADBA5; */
	/* border-color: #B28F5D;ベースデザイン2 */
	/* border-color: #C0DDBC;ベースデザイン3 */
	/* border-color: #F2D1C7;ベースデザイン4 */
	/* border-color: #9691A8;ベースデザイン5 */
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.desc_word
		{
			/* width: 50%;
			padding: 0% 0 2% 0; */
		}
	}


/*施工例＆ブログサムネイル*/

.thumbnail
{
	width: 100%;
	/* height: ; */
	overflow: hidden;
	background: #f4f4f4 url(images/noimg.png) center no-repeat;
	background-size: 50%;
}

.thumbnail img
{
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.thumbnail:hover img
{
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}

.youtube_sub
{
	aspect-ratio: 354 / 198;
}

.works_blogs
{
	width: 25%;
	float: left;
	padding: 0.5%;
	box-sizing: border-box;
}

.works_blogs_sub /*施工例ページでは3列*/
{
	width: 33%;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.works_blogs
		{
			width: 50%;
			float: left;
			padding: 0.5%;
			box-sizing: border-box;
		}

	}

.works_blogs img
{
	width: 100%;
	height: auto;
	display: block;
}


.date
{
	/*display: none;*/
	width: 100%;
	height: 100%;
	float: left;
	padding: 3% 3% 0;
	box-sizing: border-box;
	font-size: 0.8em;
	color: #737373;
	background: rgb(255 255 255 / 70%);
	/* background: #ededed;ベースデザイン1・5 */
	/* background: #F4E6D4;ベースデザイン2 */
	/* background: #F4EFDC;ベースデザイン3 */
	/* background: #FCEAD9;ベースデザイン4 */
}

.title
{
	width: 100%;
	height: 100px;
	float: left;
	padding: 5% 8% 10% 8%;
	box-sizing: border-box;
	overflow: hidden;
	font-size: 0.8em;
	background: rgb(255 255 255 / 70%);/* ベースデザイン1・5 */
	/* background: #F4EEE6;ベースデザイン2 */
	/* background: #FCF8EB;ベースデザイン3 */
	/* background: #FFF6EE;ベースデザイン4 */
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.date
		{
			width: 100%;
			height: 100%;
			text-align: left;
		}

		.date br
		{
			display: none;
		}

		.title
		{
			width: 100%;
			height: 100px;
		}

	}

/*　↑施工例＆ブログサムネイル↑　*/

/*すべての施工例・ブログを見るボタン*/

#viewall
{
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 550px;
	height: 55px;
	margin: min(50px, calc(50/2000*100vw)) auto 0;
	border-radius: 3px;
	font-size: 18px;
	font-weight: 500;
	background: #2e1d1c;
}

a#viewall:link , a#viewall:visited
{
	color: #fff;
}

a#viewall:hover
{
	text-decoration: none;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}

a#viewall:link i {
	margin-left: min(20px, calc(20/2000*100vw));
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		#viewall
		{
			width: 99%;
			height: clamp(45px, calc(45/320*100vw), 55px);
			margin: min(50px, calc(50/2000*100vw)) auto 0;
			font-size: clamp(14px, calc(14/320*100vw), 18px);
		}
	}


/*　↑すべての施工例・ブログを見るボタン↑　*/


/*-------------------------------------------------
  施工例スライドショー
-------------------------------------------------*/


.homecontents
{
	width: 100%;
	height: 40%;

}

.homecontents_inner
{
	width: 80%;
	margin: auto;
	position: relative;
    z-index: 999;
}

.works_trim2
{
	width: 33.3%;
	height: 100%; /*高さはjquery.heightLine.jsで自動で揃います*/
	float: left;
	margin: 20px 6px 20px 7px;
	padding: 0px;
	display: inline;
	background: #efefef url(images/) bottom;
}

.works_trim2_img
{
	width: 100%;
	height: auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/

	.homecontents_inner
	{
		width: 90%;
	}
}

.works_blogs2
{
	width: 33.3%;
	float: left;
	/* padding: 0.5%; */
	/* box-sizing: border-box; */
}

@media screen and (max-width: 750px){ /*スマホサイズ*/

	.works_blogs2
	{
		width: 50%;
		float: left;
		padding: 0.5%;
		box-sizing: border-box;
	}

}

.works_blogs2 img
{
width: 100%;
height: auto;
display: block;
transform: scale(1.1);
-webkit-transform: scale(1.1);
}

/*お知らせ*/
.oshirase
{
	width: 100%;
	height: 100%;
	display: block;
	background: #f7f7f7;/* ベースデザイン1・4・5 */
	/* background: #F4EEE6;ベースデザイン2 */
	/* background: #F4EFDC;ベースデザイン3 */
	padding: 2% 7%;
	box-sizing: border-box;
	border-bottom: 2px solid #fff;
	font-size: 1.05em;
	clear: both;
}

.oshirase_title
{
	width: 77%;
	float: left;
}

.oshirase_marker_l
{
	width: 13%;
	float: left;
	background: #808080;
	padding: 0.3%;
	box-sizing: border-box;
	font-size: 0.8em;
	color: #fff;
	text-align: center;
}

.oshirase_marker_r
{
	width: 2%;
	float: left;
	background: #808080;
	padding: 0.3%;
	box-sizing: border-box;
	margin-right: 7%;
	font-size: 0.8em;
	color: #fff;
	text-align: center;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.oshirase
		{
			padding: 2% 4%;
		}

		.oshirase_title
		{
			width: 70%;
			float: left;
			font-size: max(14px, calc(22/750*100vw));
		}

		.oshirase_marker_l
		{
			width: 20%;
		}

		.oshirase_marker_r
		{
			width: 5%;
			margin-right: 3%;
		}

	}

/*-------------------------------------------------
  お知らせ カテゴリ付き
-------------------------------------------------*/
.bg_news{

	width: 100%;
	background: #DBDBDB;
}

.news_news{

	width: 80%;
	max-width: 1600px;
	padding: 4.25% 0 7.5% 0;
	margin: auto;
}

.news_title{

	width: 100%;
	margin: 2.8% 0 4.2% 0;
	text-align: center;
}

.nt_b{

	padding: 1.6% 0;
	font-size: 3.6vw;
	line-height: 3.6vw;
	font-family: 'Kozuka Mincho Pro',serif;
	font-weight: 400;
}

.subject{

	display: flex;
	width: 100%;
	margin: auto;
	padding: 0.35% 0;
	border-bottom: 1px solid #FFFFFF;
	font-size: 1.2vw;
}

.news_date{

	width:25%;
	text-align: center;
}

.news_text{

	/* width: 65%; */

}

.news_cat{

	width: 105px;
    margin: 6px 0 6px auto;
    font-size: 12px;
    text-align: center;
    color: #FFFFFF;
    background: #7E962C;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 2000px){ /*PCサイズ*/

	.subject{

		font-size: 24px;
	}

	.news_cat{

		font-size: 12px;
	}
}

@media screen and (max-width: 1450px){ /*PCサイズ*/

	.subject{

		font-size: 16px;
	}

	.news_cat{

		width: 85px;
		min-width: 85px;
		max-height: 15px;
		margin: 6px 0 6px auto;
		font-size: 10px;
	}
}


@media screen and (max-width: 750px){ /*スマホサイズ*/

	.news_news{

		padding: 12% 0 12.6% 0;

	}

	.subject{

		display: flex;
		flex-wrap: wrap;
		padding: 0.35% 0;
		font-size: 18px;
		margin-bottom: 15px;
	}

	.news_date{

		width:50%;
		font-size: 18px;
		text-align: left;
		order: 1;
	}

	.news_title{

		width: 100%;
		margin: 0;
		padding-bottom: 12%;
		text-align: center;
	}

	.news_text{

		width: 100%;
		order: 3;
	}

	.news_cat{

		/* width: auto; */
		width: 100px;
		min-width:none;
		height: 24px;
		max-height: none;
		/* padding: 0 8px; */
		padding: 0;
		margin: 0px 0 0px auto;
		font-size: 12px;
		text-align: center;
		color: #FFFFFF;
		background: #7E962C;
		border-radius: 4px;
		display: flex;
		justify-content: center;
		align-items: center;
		order: 2;
	}

	.nt_b{

		padding: 0;
		font-size: 8vw;
		line-height: 8vw;
	}

}

/*ボックス全体*/
.accbox {
	margin: 0 0;
	padding: 0;
	max-width: 1152px;/*最大幅*/
}

/*ラベル*/
.accbox label {
	display:block;
	width:100%;
	cursor :pointer;
}

/*ラベルホバー時*/
.accbox label:hover {
	/* background :#; */
}

/*チェックは隠す*/
.accbox input {
	display: none;
	transition: 0;
}

/*中身を非表示にしておく*/
.accbox .accshow {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
}

.accshow img{
	max-width: 100%;
	height: auto;
}

/*クリックで中身表示*/
.cssacc:checked + .accshow {
	position: absolute;
	width: 100%;
	top: 40px;
	left: 0;
	height: auto;
	padding: 5%;
	box-sizing: border-box;
	background: #fff;
	opacity: 1;
	transition: 0.2s;
	z-index: 8888;
	text-align: left;
	/* box-shadow */
	box-shadow:0px 0px 5px 1px #dbdbdb;
}







/*About us*/
.aboutus
{
	padding: 7% 14%;
	border-width: 0px 2px 2px 2px;
	border-style: solid;
	border-color: #EEEEEE;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.aboutus
		{
			padding: 7% 2.5% 14% 2.5%;
		}

	}

.aboutus img
{
	max-width: 100%;
	height: auto;
}

/*-------------------------------------------------
  ボディー　body部の囲い
-------------------------------------------------*/

#mainwrapper
{
	width: 100%;
	background: #fff url(images/) repeat-y;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;
	padding: 0px 0px 0px 0px;
	margin: auto;
}
#wrapper
{
	/* max-width: 1180px; */
	padding: 0px 0px 0px 0px;
	margin: auto;
}
#sub_wrapper{
	max-width: 1180px;
	margin: auto;
}
.box1180{
	max-width: 1180px;
	margin: auto;
}
.back{
	width: 100%;
	background: #fff;
}

/*-------------------------------------------------
  サブページ　ボディー　body内部
-------------------------------------------------*/
#container /*にわ・なび表示用*/
{
	width: 944px;
	height: 1%;
	overflow: visible;
/*にわ・なびの記事幅表示と合わせるために以下はすべて0にすること。paddingは.contentで入力*/
	padding: 0;
	box-sizing: border-box;
}

#container_site /*実サイト表示用*/
{
	width: 80%;
	max-width: 944px;
	height: 1%;
	overflow: visible;
	float: left;
	padding: 0;
	box-sizing: border-box;
}

.content
{
	padding: 4%;
	margin: 0;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		#container_site /*実サイト表示用*/
		{
			width: 100%;
			height: 1%;
			overflow: visible;
			float: left;
			padding: 0;
			box-sizing: border-box;
		}

		.content
		{
			padding: 0;
		}

	}


/*-------------------------------------------------
  サブページ　記事の表示
-------------------------------------------------*/

.contenttitle h2
{
	position: relative;
	height: 100%;
	clear: both;
	font-size: 1.3em;
	padding: 1.5%;
	box-sizing: border-box;
	margin: 0;
	font-weight: normal;
	border-bottom: solid 2px #949494;
}

.contenttitle h2::after {
	position: absolute;
	content: " ";
	display: block;
	width: 30%;
	left: 0;
	bottom: -2px;
	border-bottom: solid 2px #de0000;
}

.contentbody
{
	/*↓にわ・なびでレイアウトを崩さないためにはwidthを指定しておく必要がある*/
	width: 100%;
	/*----------------------*/
	background: #ffffff url(images/);
	text-align: justify;
	padding: 3.5%;
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color: #E0E0E0;
	/*↓Indexテンプレートのコメントが消えないためのcss*/
	line-height: 20px;
	font-size: 15px;
}

.contentbody2 h2, .contentbody h2 {
    font-size: 1.3em;
    padding: 1% 2%;
    box-sizing: border-box;
    margin: 3% 0 0;
    font-weight: normal;
    border-left: 4px solid #de0000;
    line-height: normal;
}

.contentbody2 h3, .contentbody h3 {
    font-size: 1.3em;
    padding: 1% 2%;
    box-sizing: border-box;
    margin: 3% 0 0;
    font-weight: normal;
    line-height: normal;
	background: linear-gradient(transparent 50%, #e7e7e7 50%);
}

.contentbody2 #viewall, .contentbody #viewall {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    background: #de0000;
}

.contentbody table tr td
{
	font-size: 15px;
	text-align: justify;
	line-height: 23px;

}

.contentbody img
{
	max-width: 100%;
	margin: 0px;

}

.contentbody2 /*記事の囲い*/
{
	background: #ffffff url(images/);
	text-align: justify;
	padding: 4%;
	border-width: 0;
	border-style: solid;
	border-color: #E0E0E0;
	text-align: justify;
	margin: 0px 0px 0px 0px;
	font-size:15px;
	line-height: 1.6;
}

.contentbody2 img
{
	max-width: 100%;
	height: auto;
}

.contentbody2 table.style
{
	border-collapse: collapse;

}

.contentbody2 a:link, .contentbody2 a:visited
{
	/*color: #12ae05;*/
	text-decoration: none;
}

.contentbody2 a:hover, .contentbody2 a:active
{
	/*color: #a0c148;*/
	text-decoration: underline;
}

.contentbody2 #viewall a,.contentbody #viewall a {
    color: #fff;
}

/*-------------------------------------------------
  パンくずリスト
-------------------------------------------------*/

.catdesc /*パンくずリストの囲い*/
{
	font-size: 16px;
	/* width:; */
	/* height:; */
	background: url(images/);
	padding: 20px 0px 20px 0px;
}

.pankuzu
{
	padding-left:0;
	margin-left:0;
}

.pankuzu li{
	display:inline;/*横に並ぶように*/
	list-style: none;
}

.pankuzu li:after{/* >を表示*/
	content: '>';
	padding: 0 1.8%;
	color: #aaa;
}

.pankuzu li:last-child:after{
	content: '';
}

.pankuzu li a {
	text-decoration: none;
}

.pankuzu li a:hover {
	text-decoration: underline;
}


/*-------------------------------------------------
  施工例カテゴリ分けボタン表示枠
-------------------------------------------------*/

.works_index
{
	background: #ffffff url(images/);
	padding: 0;
	margin: 0px 0px 30px 0px;
	filter:alpha(opacity=95);
	-moz-opacity: 0.95;
	opacity: 0.95;
}

.works_index a
{
	width: 32%;
	float: left;
	background: #efefef;
	padding: 1%;
	box-sizing: border-box;
	margin: 0.5% 0.5%;
	text-align: center;
}

.works_index a:link, .works_index a:visited {
    color: #372726;
    text-decoration: none;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

	.works_index a
	{
		width: 49%;
	}

	}

/*-------------------------------------------------
  施工例目次表示　1施工例分の囲い
-------------------------------------------------*/

.works_trim
{
	width: 200px;
	height: 100%; /*高さはjquery.heightLine.jsで自動で揃います*/
	float: left;
	margin: 20px 6px 20px 7px;
	padding: 0px;
	display: inline;
	background: #efefef url(images/) bottom;
}

.works_trim_img
{
	width: 100%;
	height: auto;
}

.works_trim_title
{
	width: 100%;
	float: left;
	margin: auto;
	padding: 10px 10px 10px 10px;
	font-size: 16px;
	line-height: 130%;
	box-sizing: border-box;
}

.works_trim_desc
{
	width: 100%;
	float: left;
	margin: auto;
	padding: 10px 10px 10px 10px;
	font-size: 14px;
	line-height: 130%;
	box-sizing: border-box;
}

/*-------------------------------------------------
  施工例画像hoverでタイトルが出る
-------------------------------------------------*/

.rect
{
	width: 49%;
	float: left;
	overflow: hidden;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #f6f6ea;
	box-sizing: border-box;
	margin: 1px;
}

.works_content
{
	position:relative;
	margin:0px auto;
	width:100%;
	height:100%;
	overflow:hidden;
}
.inner
{
	padding:0px;
}
.caption1
{
	position:absolute;
	left:0;
	top:0px;
	background-color: rgba(0, 0, 0, 0.6);
	color:#efefef;
	padding:10px;
	width:100%;
	height:100%;
	font-size: 12px;
}
.caption2
{
	position:absolute;
	left:0;
	bottom:0;
	display:none;
	background-color: rgba(0, 0, 0, 0.6);
	color:#efefef;
	padding:10px;
	width:100%;
	height:40%;
	text-align:left;
	box-sizing: border-box;
	font-size: 12px;
}


/*-------------------------------------------------
  次の記事へ　前の記事へ　ボタン
-------------------------------------------------*/

.nextlink
{
	width: 49%;
	height: 100%;
	float: left;
	padding: 0px 0px 0px 0px;
	background: url(images/prevs.png) left no-repeat;
	display: box;
	font-size: 13px;
	text-align: right;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;
}

.prevlink
{
	width: 50%;
	height: 100%;
	float: right;
	padding: 0px 0px 0px 0px;
	background: url(images/nexts.png) right no-repeat;
	display: box;
	font-size: 13px;
	text-align: left;
	border-width: 0px 0px 0px 1px;
	border-style: solid;
	border-color: #E0E0E0;
}

/*-------------------------------------------------
  Q&Aの表示
-------------------------------------------------*/

.QA-Abox01
{
	background: #ffffff;
	font-family:"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";
	font-size: 16px; /*Aのフォントサイズ*/
	padding: 10px 10px 10px 10px;
	margin: 0px 0px 0px 60px;
	/* : #000000; */
	text-indent: 1em;
	line-height: 2em;
	border-width: 0px 1px 1px 1px;
	border-style: dotted;
	border-color: #2b6d0e;
}

.QA-textcolor
{
	color: #704d2a;
}

/*-------------------------------------------------
  お問合せフォーム関連
-------------------------------------------------*/

.inq
{
	width: 100%;
	border: 1px solid #aaaaaa;
	border-collapse: collapse;
	border-spacing: 0;
}
.inq td, th
{
	padding: 15px;
	width: 30px;
	height: 25px;
	font-size: 18px;
}

.inq th
{
	width: 22%;
	background: #efefef;
	text-align: center;
	font-size: 18px;
}

.inq td
{
	width: 78%;
	background: #ffffff;
	font-size: 18px;
}

.formtext
{
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
	height: 2.3em;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 18px;
}

/*-------------------------------------------------
  サイドバー sidebar
-------------------------------------------------*/

#sidebarcontainer
{
	float: right;
	width: 20%;
	padding: 5% 0px 0px 0px;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		#sidebarcontainer
		{
			display: none;
		}
	}

#sidebarcontainer img
{
	max-width: 100%;
	height: auto;
}

.sidebar
{

}

/* NP_List 今いるページのメニュー項目文字色*/
.current
{
	color: #e10000; /*要変更　カレント文字の色*/
	/*background: #ffffff;*/
	/*font-weight: bold;*/
	padding: 0px;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #888888;
	text-decoration: none;
}


/*-------------------------------------------------
  ブログカレンダー
-------------------------------------------------*/

table.calendar {width: 100%; background-color:#fff;border-collapse: collapse;font-family:sans-serif;border:1px solid #ddd; font-size: 0.85em;}
table.calendar caption {color:#aaa;letter-spacing:2px;padding:4px;}
table.calendar th,table.calendar td {border:1px solid #ddd;padding:2px 4px; font-weight: normal;}
table.calendar th {text-align:center;}
table.calendar td {text-align:right;color:#999;letter-spacing:1px;}
tr.calendardateheaders {background-color:#ccc;color:#fff;}
td.blank {background-color:#f5f5f5;}
td.saturday {background-color:#f7f9fd;}
td.sunday {background-color:#fff3ee;}
td.holiday {background-color:#fff3ee;}
td.today {background-color:#ffffcc;}

/*以下、defaultスキン用 */
table.calendar a:link,table.calendar a:visited
{
	background:none;padding:0;
}
table.calendar
{
	margin:0 auto;
}

/*-------------------------------------------------
  フッター　Footer
-------------------------------------------------*/
#footer
{
	width: 100%;
	height: 100%;
	background: #333333 url(images/) no-repeat;
	padding: 60px 0px 75px 0px;
	/* border-width: 2px 0px 0px 0px; */
	/* border-style: solid; */
	/* border-color: #DDDDDD; */
	margin: 0 auto 0 auto;
}

#copyrights
{
	max-width: 1180px;
	margin: auto;
	padding: 0px 0px 0px 0px;
}

.footermenu{
	width: 90%;
	/* max-width: 800px; */
	margin: auto;
	/* display: block; */
	font-size: 0.8em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#footer #menubutton{
	display: block;
	width: 20%;
	min-width: max-content;
	/* height: ; */
	background: url(images/) no-repeat;
	/* height: ; */
	/* line-height: ; */
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
	float: left;
	/*padding: 0.4% 1.5%;*/
	box-sizing: border-box;
	/*border-width: 0px 1px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;*/
	margin: 1.5% 0 0 0;
	/* font-size: 0.95em; */
	overflow: hidden;
	white-space: nowrap;
	color: #fff;
}

#footer #menubutton:last-child{
	border: none;
}

#footer #menubutton:hover {
	opacity: 0.8;
}

#footer #menubutton i{
	display: none;
}

#footer #menubutton.footer_sns-link {
	display: flex;
	justify-content: space-around;
}

.footer_sns-link a {
	display: block;
	width: 30px;
	height: 30px;
}

.footer_sns-link a:hover {
	opacity: 0.8;
}

.footer_sns-link img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}



	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.footermenu{
			width: 97%;
			/* margin: auto; */
			/* display: block; */
			font-size: 1em;
		}

		#footer #menubutton{
			display: block;
			width: 50%;
			/* height: ; */
			background: url(images/) no-repeat;
			/* height: ; */
			/* line-height: ; */
			vertical-align: middle;
			text-decoration: none;
			text-align: left;
			float: left;
			padding: 0.8% 1.5%;
			/* box-sizing: border-box; */
			/* border-width: 0px 1px 0px 0px; */
			/* border-style: solid; */
			/* border-color: #E0E0E0; */
			border: none;
			margin: 3% 0 0 0;
			font-size: clamp(12px, calc(12/320*100vw), 20px);
			overflow: hidden;
			white-space: nowrap;
		}

		#footer .menutextcolor
		{
			color: #fff;
		}

		#footer #menubutton i{
			display: inline-block;
			margin-right: 2px;
		}

		#footer #menubutton.footer_sns-link {
			justify-content:flex-start;
		}
		
		/* .footer_sns-link a:first-child {
			margin-right: 20px;
		} */

		.footer_sns-link a {
			margin-right: 20px;
		}

		.footer_sns-link a:last-child {
			margin-right: 0;
		} 
		
	}


.copyrights_l
{
	width: 100%;
}

.copyrights_r
{
	width: 100%;
}

.copyrights_r img
{
	max-width: 50%;
	height: auto;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
	#copyrights
	{
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr;
		-ms-grid-columns: 1fr; /*ie*/
		-ms-grid-rows: 1fr 1fr; /*ie*/
	}

	.copyrights_r
	{
		grid-column: 1/1;
		grid-row: 2/2;
		-ms-grid-column: 1; /*ie*/
		-ms-grid-row: 2; /*ie*/
		width: 100%;
	}

	.copyrights_l
	{
		grid-column: 1/1;
		grid-row: 1/1;
		-ms-grid-column: 1; /*ie*/
		-ms-grid-row: 1; /*ie*/
		width: 100%;
	}

	}

#copyrights a:link, #copyrights a:visited
{
	color: #1a1a1a; /* フッター内のリンク文字の色 */
}
#copyrights a:hover, #copyrights a:active
{
	color: #1a1a1a; /* フッター内のリンク文字の色 ホバー時*/
}

.footer_banner {
	display: flex;
	justify-content: center;
	gap: clamp(10px, calc(10/320*100vw), 20px);
	margin: 20px 5px 30px;
}

.footer_banner a:hover {
	opacity: 0.8;
}

.footer_banner_item01 {
	text-align: center;
}

.footer_banner_item01 a {
	display: block;
	width: 100%;
}

.footer_banner_caption {
	margin: 0;
	text-align: center;
	font-size: clamp(11px, calc(11/320*100vw), 14px);
	color: #fff;
}

.footer_banner_item02 a {
	display: block;
	width: 100%;
}

#bg_footer_contact
{
	display: grid;
	display: -ms-grid; /*ie*/
	grid-gap: 0px;
	grid-template-columns: 3fr 2fr 1fr;
	-ms-grid-columns: 3fr 2fr 1fr; /*ie*/
	width: 100%;
	position: fixed;
	bottom: 0;
	z-index: 9000;
	background: #fff;
	/* box-shadow */
	box-shadow:0px 2px 13px -3px #000000;
	padding: 1px 0 0 0;
}

#bg_footer_contact a{
	color: #1a1a1a;
	font-weight: bold;
}

.footer_tel
{
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column: 1/2;
	-ms-grid-column: 1; /*ie*/
	width: 100%;
	background: #efefef;
	text-align: center;
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
}

.footer_tel img {
	display: block;
	margin-right: 10px;
	max-width: 27px;
}

.footer_mail-container
{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	grid-column: 2/3;
	-ms-grid-column: 2; /*ie*/
	width: 100%;
	background: #e1e1e1;
	text-align: center;
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
}

.footer_mail-container a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer_line img {
	display: block;
	max-width: 20px;
	margin-right: 5px;
}

.footer_gototop
{
	grid-column: 3/4;
	-ms-grid-column: 3; /*ie*/
	width: 100%;
	background: #e1e1e1;
	text-align: center;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/

	.footer_line img {
		margin-right: 0px;
	}
	
	.footer_line span,
	.footer_mail span {
		display: none;
	}
}
/*-------------------------------------------------
 end of @media only screen and (max-width: 1180px)
-------------------------------------------------*/


/*-------------------------------------------------
  このページのトップへボタン
-------------------------------------------------*/

.pagetop {
	width: 100%;
	position: relative;
	right: 0;
	bottom: 0;
	z-index: 9999;
	display: none;
	filter:alpha(opacity=95);
	-moz-opacity: 0.95;
	opacity: 0.95;
}

.pagetop a {
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
	display: block;
	color: #ffffff;
	/* padding: ; */
	margin: 0;
	background: #2e1d1c url(images/); /*「このページのトップへ」ボタンの背景色*/
	text-decoration: none;
	font-weight: normal;
	font-size: 1.3em;
}

.pagetop a:hover {
	background: #888 url(images/bg_gototop.png); /*「このページのトップへ」ボタンの背景色*/
	color: #FFFFFF;
}

/*-------------------------------------------------
  スマートフォンサイト切替えボタン
-------------------------------------------------*/
.viewchange_button
{
	width: 100%;
	height: 100px;
	background: #000000;
	text-align: center;
	font-size: 50px;
	padding-top: 20px;
	/*position: fixed;*/
	z-index: 1000;
	color: #ffffff;
}

/*-------------------------------------------------
  ついてくるお問合せ
-------------------------------------------------*/

#rightbox
{
	position: absolute;
	right: 0px;
	top: 0px;
	width: 220px;
	height: 150px;
	padding: 0px 0px 0px 0px;
	z-index: 1000;
}

.contactbox
{
	position: relative;
	right: 0px;
	top: 0px;
	width: 220px;
	height: 80px;
	background: #cfcfcf;
	margin: 0px 0px 0px 0px;
	z-index: 1000;
}

/*-------------------------------------------------
 　基本（編集する必要はほぼなし）
-------------------------------------------------*/

img
{
	border: 0;
	vertical-align: bottom;
}
form
{
	margin: 0;
}

/* Lists */
ul
{
	list-style: none;
	padding: 0;
	margin: 0;
}
li
{
	background: url(images/arrow.gif) left 5px no-repeat;
	padding: 0px;
	margin: 0px;
}

.hidden
{
	display: none;
}
.centerize
{
	text-align: center;
}
.clearing
{
	height: 0px;
	width: 100px;
	clear: both;
	line-height: 0px;
	zoom: 1;
	display: hidden;
	font-size: 0px;
}

/*-------------------------------------------------
  改行
-------------------------------------------------*/

.c_line
{
	clear: both;
	height: 0px;
}
.c_line5
{
	clear: both;
	height: 5px;
}
.c_line10
{
	clear: both;
	height: 10px;
}
.c_line15
{
	clear: both;
	height: 15px;
}
.c_line20
{
	clear: both;
	height: 20px;
}
.c_line25
{
	clear: both;
	height: 25px;
}
.c_line30
{
	clear: both;
	height: 30px;
}
.c_line35
{
	clear: both;
	height: 35px;
}
.c_line40
{
	clear: both;
	height: 40px;
}
.c_line45
{
	clear: both;
	height: 45px;
}
.c_line50
{
	clear: both;
	height: 50px;
}
.c_line55
{
	clear: both;
	height: 55px;
}
.c_line60
{
	clear: both;
	height: 60px;
}
.c_line65
{
	clear: both;
	height: 65px;
}
.c_line70
{
	clear: both;
	height: 70px;
}
.c_line75
{
	clear: both;
	height: 75px;
}
.c_line80
{
	clear: both;
	height: 80px;
}
.c_line85
{
	clear: both;
	height: 85px;
}
.c_line90
{
	clear: both;
	height: 90px;
}

/*-------------------------------------------------
  Forms
-------------------------------------------------*/
.loginform, .searchform
{
	margin: 5px 0;
}
.commentform, .mailform
{
	margin-top: 0px;
    margin-left: 0px;

    padding: 0px;
    background: #EEEEEE;
    /* Rounded borders, for Mozilla browsers */
    /* -moz-border-radius: 10px; */
}
.commentform img{
    margin: 5px 0 0 0;
}
.formfield
{
	font-size: 11px;
	background: white;
	color: #494949;
	border-top: 1px solid #868686;
	border-left: 1px solid #868686;
	border-bottom: 1px solid #D4D2CF;
	border-right: 1px solid #D4D2CF;
	margin: 1px 0 0 0;
}
.formbutton
{
	font-size: 11px;
	background: white;
	color: #494949;
	border-top: 1px solid #D4D2CF;
	border-left: 1px solid #D4D2CF;
	border-bottom: 1px solid #868686;
	border-right: 1px solid #868686;
	margin: 1px 0 0 0;
}
.searchform .formfield
{
	width: 168px;
    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 0;
	margin: 0 2px 2px 0;
}
.searchform .formbutton
{
	width: 60px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 2px;
}
.loginform .formfield
{
	width: 130px;
    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 0;
	margin: 0 2px 2px 0;
}
.loginform .formbutton
{
	width: 60px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 2px;
}
.mainform .formfield
{
	width: 280px;
    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 0;
	margin: 0 2px 2px 0;
}
.mailform .formbutton
{
	width: 100px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 2px;
}
#nucleus_cf_name, #nucleus_cf_mail
{
    width: 540px;
    margin-right: 0px;
    font-family: Arial, Trebuchet MS, Verdana, sans-serif;
}
.commentform textarea, .commentform .formfield, .mailform textarea, .mailform .formfield
{
    width: 545px;
	margin-left: 0px;
}
.commentform .formbutton
{
	width: 100px;
	height: 22px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
}
.error
{
	color: red;
	font-weight: bold;
}


/*-------------------------------------------------
  Miscelaneous
-------------------------------------------------*/
/* VBlog image onion skin shadow - From AListApart.com*/
.wrap1, .wrap2, .wrap3
{
	display:inline-table;
	/* \*/display:block;/**/
}
.wrap1
{
	float:left;
	background:url(images/shadow.gif) right bottom no-repeat;
	margin: 0 5px 3px 0;
}
.wrap2
{
	background:url(images/corner_br.gif) left bottom no-repeat;
}
.wrap3
{
	background:url(images/corner_tr.gif) right top no-repeat;
	padding:0 5px 5px 0;
}
.wrap3 img
{
	display:block;
	border: 3px solid white;
}

/* Search highlight color */
.highlight
{
	background: #DEFFA9;
}

/* Leftbox and Rightbox toolbar buttons */
.leftbox, .rightbox {
	margin: 3px;
	padding: 10px; /*3px;*/
	/* #: larger; */
}
.leftbox {
	float: left;
	width: 50%; /*45%;*/
	border-right: 1px dashed #ddd;
}
.rightbox {
	float: right;
	width: 50%; /*45%;*/
/*	border-left: 1px dashed #ddd;*/
}

/*
div.leftbox10 {
	float: left;
	width: 10%;
}
div.leftbox20 {
	float: left;
	width: 20%;
}
div.leftbox30 {
	float: left;
	width: 160px;
}
div.leftbox40 {
	float: left;
	width: 40%;
}
div.leftbox45 {
	float: left;
	width: 45%;
}
div.leftbox55 {
	float: left;
	width: 55%;
}
div.leftbox60 {
	float: left;
	width: 60%;
}
div.leftbox65 {
	float: left;
	width: 65%;
}
div.leftbox70 {
	float: left;
	width: 70%;
}
div.leftbox75 {
	float: left;
	width: 75%;
}
div.leftbox80 {
	float: left;
	width: 80%;
}

div.leftbox100px {
	float: left;
	width: 105px;
}

div.leftbox150px {
	float: left;
	width: 155px;
}

div.leftbox200px {
	float: left;
	width: 205px;
}

div.leftbox250px {
	float: left;
	width: 255px;
}

div.leftbox300px {
	float: left;
	width: 305px;
}

div.leftbox350px {
	float: left;
	width: 355px;
}
div.leftbox400px {
	float: left;
	width: 405px;
}

div.leftbox450px {
	float: left;
	width: 455px;
}
div.leftbox500px {
	float: left;
	width: 505px;
}

div.leftbox550px {
	float: left;
	width: 555px;
}
div.leftbox600px {
	float: left;
	width: 605px;
}

div.leftbox650px {
	float: left;
	width: 655px;
}
div.leftbox700px {
	float: left;
	width: 705px;
}

div.leftbox750px {
	float: left;
	width: 755px;
}

div.leftbox800px {
	float: left;
	width: 805px;
}
*/

.leftbox10 {
	float: left;
	width: 10%;
}
.leftbox20 {
	float: left;
	width: 20%;
}
.leftbox30 {
	float: left;
	width: 160px;
}
.leftbox40 {
	float: left;
	width: 40%;
}
.leftbox45 {
	float: left;
	width: 45%;
}
.leftbox55 {
	float: left;
	width: 55%;
}
.leftbox60 {
	float: left;
	width: 60%;
}
.leftbox65 {
	float: left;
	width: 65%;
}
.leftbox70 {
	float: left;
	width: 70%;
}
.leftbox75 {
	float: left;
	width: 75%;
}
.leftbox80 {
	float: left;
	width: 80%;
}

.leftbox100px {
	float: left;
	width: 105px;
}

.leftbox150px {
	float: left;
	width: 155px;
}

.leftbox200px {
	float: left;
	width: 205px;
}

.leftbox250px {
	float: left;
	width: 255px;
}

.leftbox300px {
	float: left;
	width: 305px;
}

.leftbox350px {
	float: left;
	width: 355px;
}
.leftbox400px {
	float: left;
	width: 405px;
}

.leftbox450px {
	float: left;
	width: 455px;
}
.leftbox500px {
	float: left;
	width: 505px;
}

.leftbox550px {
	float: left;
	width: 555px;
}
.leftbox600px {
	float: left;
	width: 605px;
}

.leftbox650px {
	float: left;
	width: 655px;
}
.leftbox700px {
	float: left;
	width: 705px;
}

.leftbox750px {
	float: left;
	width: 755px;
}

.leftbox800px {
	float: left;
	width: 805px;
}

/*-------------------------------------------------
  Item info
-------------------------------------------------*/
.contentitemcategory
{
	background: url(images/bgcategory.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 14px;
}
.contentitempostedby
{
	background: url(images/bgpostedby.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 12px;
}
.contentitemcomments
{
	background: url(images/bgcomment.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 13px;
}
.contentitemedit
{
	background: url(images/bgedit.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 11px;
}
.contentitem
{
	padding: 3px 0 0 0;
	margin: 0 0 16px 0;
	text-align: right;
}
.contentitem1
{
	display: inline;
}
.contentitem2
{
	display: inline;
	background: url(images/dotv.gif) left repeat-y;
	padding: 0 0 0 10px;
}
.contentitem3
{
	display: inline;
	background: url(images/dotv.gif) left repeat-y;
	padding: 0 0 0 10px;
}
.contentitem4
{
	display: inline;
	padding: 0 0 0 10px;
	background: url(images/dotv.gif) left repeat-y;
}

/*-------------------------------------------------
  Comments
-------------------------------------------------*/
.itemcomment
{
	background: url(images/commentquote01.gif) no-repeat;
	background-position: 6px 9px;
	padding: 6px 42px;
	border: 1px solid white;
	margin: 10px 0 0 0;
}
.itemcomment:hover
{
	background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
	background-position: 6px 9px;
	border: 1px solid #CCCCCC;
}
.id1 /*This is to give the admin a special comment style, to distinguish him/her from the rest of the commentors*/
{
	background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
	background-position: 6px 9px;
	border: 1px solid #B3C492;
}
.id1:hover
{
	background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
	background-position: 6px 9px;
	border: 1px solid #B3C492;
}
.itemcomment h3
{
	font-size: 12px;
}

/*-------------------------------------------------
  table
-------------------------------------------------*/

table#table-01 {
	background: #f5f5f5;
    width: 620px;
    border: 0px #E3E3E3 solid;
    /*border-collapse: collapse;*/
  /*  border-collapse: 5px;*/
    border-spacing: 4px;
}

table#table-01 th {
	width: 110px;
	color: #ffffff;
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    background: #72ad06;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    white-space: nowrap;
}
table#table-01 td {
	/*width: 500px;*/
	background: #ffffff;
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    text-align: left;
    white-space: nowrap;

}
table#table-02 {
	background: #f5f5f5;
    /*width: 625px;*/
    border: 0px #E3E3E3 solid;
    /*border-collapse: collapse;*/
  /*  border-collapse: 5px;*/
    border-spacing: 4px;
}

table#table-02 th {
	width: 300px;
	color: #e5f4bb;
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    background: #72ad06;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    white-space: nowrap;
}
table#table-02 td {
	width: 340px;
	background: #ffffff;
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    text-align: left;
    white-space: nowrap;

}

/*-------------------------------------------------
instagram api
-------------------------------------------------*/

.instagram-container{
	display: flex;
	flex-wrap: wrap;
	/* margin: 0 -1px; */
  }

  .instagram-item{
	width: 50%;
	/* padding: 1px; */
  }

  @media screen and (min-width: 768px){
	.instagram-item {
		width: 25%;
	}
  }

  a.instagram-card{
	display: block;
	position: relative;
	/* margin-bottom: 16px; */
	/* background-color:#000; */
	color: #000;
  }

  .instagram-card__img{

	width:calc(500vw / 2000 * 100);
	height:calc(500vw / 2000 * 100);
  }

  @media screen and (max-width: 750px){

	.instagram-card__img{

		width:calc(375vw / 750 * 100);
		height:calc(375vw / 750 * 100);
	  }
  }

 /* いいね数、コメント数 */
  .instagram-card__badge{
	position: absolute;
	top: 8px;
	left: 8px;
	display: flex;
	align-items: center;
	line-height: 1;
	font-size: 14px;
	color: #ffffff;
  }

  /* /いいねアイコン、コメントアイコン */
  .instagram-icon{
	display: block;
	width: 20px;
	height: 20px;
  }

  /* コメント */
  .instagram-card__comment{
	padding-left: 8px;
	padding-right: 8px;
	font-size: 1.2rem;
	overflow: hidden;
	text-overflow: ellipsis;
	/* white-space: nowrap; *//* 文章1行 */
  }

  .instagram-item:hover img{
	opacity: 0.6;
	transition-duration: 0.3s;
  }


   .instagram-item .caption {

	font-size:400%;
	text-align:center;
	color:#fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

	.instagram-item .mask {
	/* width:			100%; */
	/* height:			100%; */
	font-size:50%;
	text-align:center;
	color:#fff;
	background-color:rgba(0,0,0,0.4);
	position: absolute;
	top: 90%;
	left: 90%;
	transform: translate(-50%,-50%);
	-webkit-transition:	all 0.4s ease-out;
	transition:	all 0.4s ease-out;
}

.instagram-item:hover .mask {

	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform:scale(4);	/* 4倍に拡大 */
	transform:scale(4);
}

/*-------------------------------------------------
youtube レスポンシブ化
-------------------------------------------------*/
.youtube {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅 */
	/* height: 0; */
	/*aspect-ratio: 16/11;*/
	overflow: hidden;

    width: 100%;
}


.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.youtube_play {
	position: relative;
	aspect-ratio: 16/11;
	/* padding-bottom: 56.25%; アスペクト比 16:9の場合の縦幅 */
	/* height: 0; */
	overflow: hidden;
}


.youtube_play img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube_play:hover {
   cursor:pointer;
}

.youtube .youtube_btn {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 cursor: pointer;

}

.youtube .youtube_btn:after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
 width: 100%;
 height: 100%;
 background: url("images/y_icon.png") center center no-repeat;
 background-size: 96px 96px;
 -webkit-transition: 0.5s;
 transition: 0.5s;
}

.youtube .youtube_btn:hover:after {
 -webkit-transform: scale(1.1);
 transform: scale(1.1);
 background: url("images/y_icon.png") center center no-repeat;
 background-size: 96px 96px;
}


.youthumbnail {
	position: relative;
	padding-bottom: 49.8%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youthumbnail-s {
	position: relative;
	padding-bottom: 100%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youthumbnail {
	position: relative;
	padding-bottom: 49.8%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youthumbnail-s {
	position: relative;
	padding-bottom: 100%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
