/*-------------------------------------------------
  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: #383838; /*要変更　基本の文字色　デザイン提案書のカラーに合わせる*/
	/* font-family: "Josefin Sans", 'Noto Sans JP', sans-serif; */
	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;
}

/* 共通設定 */
.inner {
	max-width: 1180px;
	margin-inline: auto;
}

/* アイコンのマージン */
body i {
	margin-left: 5px;
}

@media screen and (min-width: 751px){ /*スマホサイズ*/
	.is-sp {
		display: none;
	}
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.is-pc {
		display: none;
	}
}

/* pickup news */
.pickup {
	position: relative;
	max-width: 2000px;
	margin-inline: auto;
	padding: 70px 0 100px;
	z-index: 0;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.pickup {
		padding: 37px 0 82px;
	}
}

.pickup::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    width: 30%;
    height: 100%;
    z-index: -1;
    background: url(images/bg_pickup.jpg);
}

.pickup_inner {
	margin-top: 60px;
}

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

/*==================================================
pickup newsのスライダー用
その他設定は js/slick-slider.js に記載
==================================================*/
.js-slider-pickup {/*横幅94%で左右に余白を持たせて中央寄せ*/
	width: calc(100% - 60px);
	max-width: 1260px;
	margin: 0 auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.js-slider-pickup {
		width: calc(100% - 80px);
		max-width: 500px;
	}
}

.js-slider-pickup img {
	width: 100%;/*スライダー内の画像を横幅100%に*/
	height: auto;
}

.js-slider-pickup .contents_box {
	margin-top: 40px;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.js-slider-pickup .slick-slide {
	margin:0 10px;
}

/*矢印の設定*/
.js-slider-pickup .slick-next:before,
.js-slider-pickup .slick-prev:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
	font-size: 22px;
    font-weight: 700;
	color: #808080;
}

.js-slider-pickup .slick-next:before {
    content: "\f054";
}

.js-slider-pickup .slick-prev:before{
    content: "\f053";
}

/*ドットナビゲーションの設定*/
.js-slider-pickup .slick-dots {
	bottom: -50px;
}

.js-slider-pickup .slick-dots li {
	margin: 0;
}

.js-slider-pickup .slick-dots button::before {
	opacity: 1 !important;
	font-size: 11px!important;
	color: #808181!important;
}

.js-slider-pickup .slick-dots li.slick-active button:before {
	opacity: 1 !important;
	color: #3e3a39 !important;
}

.js-slider-pickup .pickup_thumb {
	padding: 0;
}

/* concept */
.concept {
	display: flex;
	align-items: center;
	max-width: 2000px;
	margin-inline: auto;
	padding-block: 60px;
}

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

.concept_inner {
	position: relative;
	width: 49%;
	padding-right: min(100px, calc(100/2000*100vw));
	padding-bottom: min(186px, calc(186/2000*100vw));
	box-sizing: border-box;
}

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

.concept_small-img {
	position: absolute;
	display: none;
	width: 90%;
	max-width: 553px;
	object-fit: contain;
	bottom: 0;
	right: 0;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.concept_small-img {
		width: 62%;
		max-width: unset;
	}
}

.concept_text {
	flex: 1;
	max-width: 690px;
	padding-inline: 7.7% max(20px, 1.5%);
	box-sizing: border-box;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.concept_text {
		width: 100%;
		max-width: 100%;
		padding-inline: max(15px, calc(40/750*100vw));
	}
}

.concept_title {
	margin: 62px 0 0 ;
	font-size: min(35px, calc(35/1180*100vw));
	font-weight: bold;
	color: #1c98af;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.concept_title {
		margin: calc(68/750*100vw) 0 0 ;
		font-size: calc(47/750*100vw);
	}
}

.concept_desc {
	margin: 36px 0 0;
	line-height: 1.75;
	font-size: 18px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.concept_desc {
		font-size: max(16px, calc(24/750*100vw));
	}
}
.concept_slider_img img {
	width: 100%;
	height: auto;
}

/* news */
.news {
	padding-block: 90px;
	background: #f6f6ec;
}

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

.news_inner {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 25px;
	box-sizing: border-box;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.news_inner {
		padding-inline: min(10px, calc(25/750*100vw));
	}
}

/*==================================================
newsタブ用
その他設定は js/tab.js に記載
==================================================*/
.news_tab {
    margin-top: 50px;
}

.news_tab__header {
    overflow-x: visible;
    white-space: normal;
}

.news_tab__list {
    display: flex;
    justify-content: space-between;
	gap: 10px;
	width: calc(100% - 30px);
	margin-inline: auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.news_tab__list {
		flex-wrap: wrap;
		gap: 0;
		width: calc(100% - 20px);
	}
}

.news_tab__list li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25%;
    height: 60px;
    padding: 0 5px;
    box-sizing: border-box;
	border-radius: 10px 10px 0 0;
    text-align: center;
	font-size: min(18px, calc(13/751*100vw));
    font-weight: 500;
	background: #fff;
    cursor: pointer;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.news_tab__list li {
		width: 24%;
		height: max(50px, calc(60/750*100vw));
		font-size: max(14px, calc(18/750*100vw));
	}
}

@media screen and (max-width: 539px){ /*スマホサイズ*/
	.news_tab__list li {
		width: 50%;
	}
}

.tab-01 {
	color: #1c98af;
	border: 2px solid #1c98af;
	border-bottom: transparent;
}

.tab-02 {
	color: #d56579;
	border: 2px solid #d56579;
	border-bottom: transparent;
}

.tab-03 {
	color: #e18000;
	border: 2px solid #e18000;
	border-bottom: transparent;
}

.tab-04 {
	color: #3da267;
	border: 2px solid #3da267;
	border-bottom: transparent;
}

@media screen and (max-width: 539px){ /*スマホサイズ*/
	.tab-01,
	.tab-02 {
		padding-bottom: 5px;
		transform: translateY(5px);
	}
}

.news_tab__list li.current {
	color: #fff;
}

.tab-01.current {
	background: #1c98af;
}

.tab-02.current {
	background: #d56579;
}

.tab-03.current {
	background: #e18000;
}

.tab-04.current {
	background: #3da267;
}

.news_tab_content {
	display: none;
	padding: 25px;
	box-sizing: border-box;
	border-radius: 5px;
	background: #fff;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.news_tab_content {
		padding-inline: min(20px, calc(40/750*100vw));
		padding-top: 0px;
	}
}

.news_tab_content--01 {
	border: 3px solid #1c98af;
}

.news_tab_content--02 {
	border: 3px solid #d56579;
}

.news_tab_content--03 {
	border: 3px solid #e18000;
}

.news_tab_content--04 {
	border: 3px solid #3da267;
}

a:link.news_tab_link,
a:visited.news_tab_link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	max-width: 210px;
	height: 40px;
	margin: 20px auto 0;
	border-radius: 20px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	background-color: #808080;
	border: 2px solid #808080;
	box-sizing: border-box;
	transition: all .3s ease;
}

a:hover.news_tab_link {
	text-decoration: none;
	color: #808080;
	background-color: #fff;
}

.news_tab_link i {
	margin-left: 20px;
}

a:hover.news_tab_link:hover i {
	color: #808080;
}

.tab_item {
	width: 100%;
    height: 100%;
    display: block;
    padding: 2% 7%;
    box-sizing: border-box;
    border-bottom: 1px solid #949494;
    font-size: 1em;
    clear: both;
}

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

	a:link.news_tab_link,
a:visited.news_tab_link {
	font-size: max(14px, calc(24/750*100vw));
}

	.tab_item {
		padding: min(20px,calc(30/750*100vw)) 0;
		font-size: max(14px, calc(24/750*100vw));
	}
}

.tab_item_date {
	width: 20%;
    float: left;
}

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

/* service */
.service {
	padding-block: 110px 105px;
	background: #fff;
}

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

.service_inner {
	max-width: 1420px;
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
}

.service_banner {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 50px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.service_banner {
		display: block;
		max-width: 510px;
		margin-inline: auto;
	}
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.service_banner li:not(:first-child) {
		margin-top: 15px;
	}
}

.service_banner li a {
	display: block;
	width: 100%;
	height: 100%;
	transition: opacity .3s ease;
}

.service_banner li a:hover {
	opacity: .8;
}

.service_banner img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.service_link {
	margin-top: 40px;
	text-align: center;
	color: #098094;
}

.service_link span {
	padding-inline: calc(24/1180*100vw);
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.service_link span {
		display: none;
	}
}

.service_link a {
	display: inline-block;
	font-size: 24px;
	font-weight: bold;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.service_link a {
		display: block;
		margin-top: 30px;
		font-size: calc(33/750*100vw);
	}
}

.service_link a small {
	font-size: 14px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.service_link a small {
		font-size: calc(20/750*100vw);
	}
}

/* works */
.works {
	padding-block: 108px 100px;
	background: #e1eaef;
}

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

.works_inner {
	margin-top: 50px;
}

.works .thumbnail {
	border-radius: 20px 20px 0 0;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works .thumbnail {
		border-radius: 10px 10px 0 0;
	}
}

.works .date {
	display: none;
}

.works .title {
	width: 100%;
	border-radius: 0 0 20px 20px;
	background: #fff;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works .title {
		border-radius: 0 0 10px 10px;
	}
}


.works #viewall {
	max-width: 500px;
	margin-inline: auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works #viewall {
		max-width: 100%;
		margin-top: 45px;
	}
}

.works_search {
	margin-top: 90px;
	padding-inline: 25px;
}

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

.works_search_title {
	display: flex;
	align-items: center;
	font-size: 25px;
	font-weight: 500;
	color: #071a68;
}

.works_search_title i {
	margin-left: 20px;
}


@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works_search_title {
		font-size: max(18px, calc(25/750*100vw));
	}
}

.works_search_title::before {
	content: "";
	width: 70px;
	height: 2px;
	margin-right: 30px;
	background: #071a68;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works_search_title::before {
		width: calc(70/750*100vw);
		margin-right: max(10px, calc(30/750*100vw));
	}
}

.works_search_title img {
	width: 38px;
	height: 38px;
	margin-left: 20px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works_search_title img {
		width: max(20px, calc(38/750*100vw));
		height: max(20px, calc(38/750*100vw));
		margin-left: max(10px, calc(20/750*100vw));
	}
}

.works_search_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 95%;
	max-width: 924px;
	margin: 25px auto 0;
}

.works_search_list li {
	width: 24.2%;
	max-width: 222px;
	height: 50px;
	margin-top: 5px;
}

@media screen and (max-width: 1010px){ /*スマホサイズ*/
	.works_search_list li {
		width: 33%;
		height: max(40px, calc(60/750*100vw));
		max-width: 100%;
	}
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works_search_list li {
		width: 49.2%;
		max-width: 390px;
	}
}

.works_search_list li a:link,
.works_search_list li a:visited {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 2em;
	font-size: 18px;
	font-weight: 500;
	color: #1c98af;
	background: #fff;
	border: 3px solid #1c98af;
	box-sizing: border-box;
	transition: all .3s ease;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works_search_list li a:link,
	.works_search_list li a:visited {
		font-size: max(12px, calc(22/750*100vw));
	}
}

.works_search_list li a:hover {
	text-decoration: none;
	color: #fff;
	background: #1c98af;
}

.works_search_list li a:link.fz-small,
.works_search_list li a:visited.fz-small {
	font-size: 16px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.works_search_list li a:link.fz-small,
	.works_search_list li a:visited.fz-small {
		font-size: max(10px, calc(20/750*100vw));
	}
}


/* Google検索*/
.gsc-control-cse {
    border-color: #FFFFFF!important;
    border: none!important;
    background-color: unset!important;
    /* border-radius: 10px; */
    width: 100%;
    max-width: 630px;
}

.gsc-results-wrapper-overlay {
    z-index: 1000000!important;
}


/* voice */
.voice {
	padding-block: 110px 95px;
}

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

.voice .thumbnail {
	width: 57%;
	aspect-ratio: 3/2;
	margin-inline: auto;
	border-radius: 10px;
}

.voice .works_blogs {
	position: relative;
	border-radius: 20px;
	background: #fff;
	border: 15px solid #e8e5c2;
}

.voice .works_blogs::before {
	position: absolute;
	content: "";
	top: -32px;
	left: -20px;
	width: 61px;
	height: 61px;
	background: url(images/icon_voice.svg) no-repeat center center / contain;
}

.voice .slick-track {
	padding-top: 20px;
}

.voice .title {
	width: 100%;
	height: auto;
	float: unset;
	padding: 2% 0 0 0;
	line-height: 1.75;
	background: transparent;
	text-align: center;
}

.voice .title a:link,
.voice .title a:visited {
	font-size: 14px;
	font-weight: 500;
	color: #808080;
}

.voice .more {
	line-height: 1.75;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	color: #e18000;
}

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

	.voice .thumbnail {
		width: 80%;
	}

	.voice .title a:link,
	.voice .title a:visited {
		font-size: max(12px, calc(24/750*100vw));
	}

	.voice .more {
		font-size: max(14px, calc(24/750*100vw));
	}
}

/*==================================================
voiceのスライダー用（ドットナビゲーションの色以外はpickup newsと同じ）
その他設定は js/slick-slider.js に記載
==================================================*/
.js-slider-voice {/*横幅94%で左右に余白を持たせて中央寄せ*/
	width: calc(100% - 60px);
	max-width: 1260px;
	margin: 0 auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.js-slider-voice {
		width: calc(100% - 80px);
		max-width: 500px;
	}
}

.js-slider-voice img {
	width: 100%;/*スライダー内の画像を横幅100%に*/
	height: auto;
}

.js-slider-voice .contents_box {
	margin-top: 40px;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.js-slider-voice .slick-slide {
	margin:0 10px;
}

/*矢印の設定*/
.js-slider-voice .slick-next:before,
.js-slider-voice .slick-prev:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
	font-size: 22px;
    font-weight: 700;
	color: #808080;
}

.js-slider-voice .slick-next:before {
    content: "\f054";
}

.js-slider-voice .slick-prev:before{
    content: "\f053";
}

/*ドットナビゲーションの設定*/
.js-slider-voice .slick-dots {
	bottom: -50px;
}

.js-slider-voice .slick-dots li {
	margin: 0;
}

.js-slider-voice .slick-dots button::before {
	opacity: 1 !important;
	font-size: 11px!important;
	color: #f0d3b1!important;
}

.js-slider-voice .slick-dots li.slick-active button:before {
	opacity: 1 !important;
	color: #e18000 !important;
}

.js-slider-voice .pickup_thumb {
	padding: 0;
}

/* マリノス */
.marinos {
	padding-block: min(190px, calc(190/2000*100vw));
	background: url(images/bg_marinos.jpg) no-repeat center center /cover;
}

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

.marinos_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 80%;
	max-width: 1180px;
	margin-inline: auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.marinos_inner {
		display: block;
		width: 93%;
	}
}

.marinos_logo {
	width: 24%;
	max-width: 274px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.marinos_logo {
		width: 50%;
		max-width: 220px;
		margin-inline: auto;
	}
}

.marinos_logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.marinos_text {
	flex: 1;
	padding-inline: 30px;
	box-sizing: border-box;
	text-align: center;
}

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

.marinos_text p {
	margin: 0;
	font-size: min(30px, calc(30/1180*100vw));
	font-weight: bold;
	color: #fff;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.marinos_text p {
		font-size: calc(30/750*100vw);
	}
}

.marinos_text #viewall {
	max-width: 500px;
	margin: 40px auto 0;
	border: 2px solid #fff;
	background: transparent;
	transition: all .3s ease;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.marinos_text #viewall {
		margin-top: calc(52/750*100vw);
	}
}

.marinos_text a#viewall:hover {
	background: #fff;
	color: #071a68;
	border: 2px solid #fff;
}

/* インスタグラム */
.instagram {
	padding-block: min(100px, calc(100/1180*100vw)) min(136px, calc(136/1180*100vw));
}

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

.instagram_inner {
	max-width: 1180px;
	margin-inline: auto;
}

.instagram_content {
	width: 80%;
	margin: 46px auto 0;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.instagram_content {
		width: 100%;
		margin-top: calc(50/750*100vw);
	}
}


/*-------------------------------------------------
人気記事とかタグ記事表示とか
-------------------------------------------------*/
.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: #1c98af; /* リンク文字の色 */
	text-decoration: none;
}
a:hover, a:active
{
	color: #1c98af; /* リンク文字の色　ホバー時 */
	text-decoration: underline;
}

a:hover img

{
opacity: 0.8;
transition: 0.3s;
}

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

	.slideshow {
		position: relative;
		display: flex;
		max-width: 2000px;
		overflow: hidden; /*.viewerのmargin突き抜け問題対策*/
		margin: 140px auto 0;
		background: #fff;
	}

	@media screen and (max-width: 1024px){ /**/
		.slideshow {
			margin-top: 95px;
		}
	}

	.mv_catch-left {
		display: flex;
		justify-content: center;
		align-items: center;;
		width: 10%;
	}

	@media screen and (max-width: 750px){ /**/
		.mv_catch-left {
			width: 14%;
		}
	}

	.mv_catch-left p {
		margin: 0;
		writing-mode: vertical-rl;
		transform: rotate(180deg);
		font-family: "Josefin Sans", 'Noto Sans JP', sans-serif;
		font-size: min(35px, calc(35/2000*100vw));
		font-weight: 300;
	}

	@media screen and (max-width: 750px){ /**/
		.mv_catch-left p {
			font-size: max(16px, calc(27/750*100vw));
		}
	}

	/* vegasスライドショー */
	#slider {
		position: relative;
		width: 100%;
		height: max-content !important;
		border-radius: 50px 0 0 50px;
		margin-bottom: 30px;
		/* padding-right: 20px; */
		aspect-ratio: 1769/900;
	}

	.vegas-slide {
		right: 20px !important;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		#slider {
			margin-bottom: calc(65/750*100vw);
			padding: 0;
			/* height: min(900px, 900vw / 750* 100) !important; */
			aspect-ratio: 645/900;
		}

		.vegas-slide {
			right: 0 !important;
		}
	}

	.viewer {
		position: relative;
		flex: 1;
		overflow: hidden;
		width: 100% !important;
		margin-bottom: 30px;
		padding-right: 20px;
		border-radius: 50px 0 0 50px;
	}

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

	.viewer ul {
		width: 100% !important;
		overflow: hidden;
		position: relative;
		margin: auto;
	}

	.viewer ul li {
		top: 0;
		left: 0;
		width: 100% !important;
		position: absolute;
	}

	.viewer ul li img {
		width: 100%;
	}

	.mv_catch-right {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: -20px;
		text-align: right;
		z-index: 100;
	}

	.mv_catch-right img {
		width: 50%;
		height: auto;
		object-fit: contain;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.mv_catch-right {
			top: 17%;
			transform: translateY(0);
		}
	
		.mv_catch-right img {
			width: 76%;
		}
	}



	/* 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;
	}


/*-------------------------------------------------
  トップページコンテンツ
-------------------------------------------------*/
.section_title {
	margin: 0;
	text-align: center;
	color: #071a68;
	font-family: "Josefin Sans", 'Noto Sans JP',sans-serif;
	font-size: 60px;
	font-weight: 600;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.section_title {
		font-size: max(35px, calc(60/750*100vw));
	}
}

/* pickup news */
.pickup .section_title {
	font-size: 35px;
}

.section_title i {
	font-size: 44px;
	margin-right: 20px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.pickup .section_title {
		font-size: max(21px, calc(35/750*100vw));
	}

	.section_title i {
		font-size: max(26px, calc(44/750*100vw));
		margin-right: max(12px, calc(20/750*100vw));
	}
}

/* concept */
.concept .section_title {
	display: flex;
	align-items: center;
	font-size: 35px;
}

.concept .section_title:after {
	display: inline-block;
	content: "";
	width: 70px;
	height: 2px;
	margin-left: 18px;
	background: #071a68;
}

/* news, works */
.news .section_title span,
.works .section_title span,
.voice .section_title span {
	display: block;
	margin-top: 20px;
	font-size: 18px;
	font-weight: 600;
	color: #333;
}

/* service */
.service .section_title span {
	display: block;
	margin-top: 20px;
	font-size: 30px;
	font-weight: 600;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.service .section_title span {
		font-size: calc(30/750*100vw);
	}

	/* news, works */
.news .section_title span,
.works .section_title span,
.voice .section_title span {
	margin-top: 10px;
}
}

/* instagram */
.instagram .section_title {
	font-size: 40px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.instagram .section_title {
		font-size: max(24px, calc(40/750*100vw));
	}
}

.instagram .section_title span {
	font-size: 35px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.instagram .section_title span {
		font-size: calc(35/750*100vw);
	}
}

.home_title
{
	width: 100%;
	display: table;
	margin: 5% 0 0 0;
}

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

		.home_title
		{
			margin: 10% 0 0 0;
		}

	}

.title_word
{
	width: 25%;
	display: table-cell;
	text-align: center;
	font-size: 4vw;
	color: #1c98af;
	/* color: #684928;ベースデザイン2 */
	/* color: #31772A;ベースデザイン3 */
	/* color: #755F5D;ベースデザイン4 */
	/* color: #241E35;ベースデザイン5 */
	vertical-align: middle;
	border-width: 0px 0px 2px 0px;
	border-style: solid;
	border-color: #1c98af;
	/* border-color: #684928;ベースデザイン2 */
	/* border-color: #31772A;ベースデザイン3 */
	/* border-color: #E89B7C;ベースデザイン4 */
	/* border-color: #241E35;ベースデザイン5 */
}

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

		.title_word
		{
			font-size: 3em;
		}

	}

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

		.title_word
		{
			width: 50%;
			font-size: 7vw;
		}

	}

.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);
}

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

.works_sub .works_blogs
{
	padding: 1%;
}

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

.works_sub_searchbox{
	background: #dee7ec;
	padding: 3%;
	box-sizing: border-box;
	border-radius: 15px;
	margin: 1%;
	margin-bottom: 40px;
}

.works_sub .thumbnail {
    border-radius: 20px 20px 0 0;
	box-shadow: 0px 0px 15px -5px #777777;
}

.works_sub .date {
    display: none;
}

.works_sub .title
{
	width: 100%;
	height: 110px;
    border-radius: 0 0 20px 20px;
    background: #fff;
    box-shadow: 0px 0px 15px -5px #777777;
}

.works_sub .works_card_category
{
	color: #1c95ac;
	font-size: 14px;
	padding-top: 2%;
	box-sizing: border-box;
}

.works_card_category br {
    display: none;
}

.works_sub .works_search {
	margin-top: 20px;
	padding-inline: 25px;
}

.works_sub .works_search_list {
	margin: 25px auto 35px;
}

.works_sub_catname{
	padding: 1.5% 0 0 0;
	font-size: 1.5rem;
	color: #071a68;
}

.works_sub_catname span{
	font-size: 1rem;
}

.works_sub_catname br{
	display: none;
}

.gsearch_example{
	margin-top: 0;
}

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

	.works_sub .works_search_list {
		width: 100%;
	}

	.works_sub .works_search {
		margin-top: calc(50/750*100vw);
		padding-inline: 0;
	}

	.works_sub .title
{
	height: 120px;
}

.works_sub .works_card_category {
    font-size: 12px;
}

}

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

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

		.works_sub .thumbnail {
			border-radius: 10px 10px 0 0;
		}

	}

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

.date
{
	width: 25%;
	height: 100px;
	float: left;
	padding: 3%;
	box-sizing: border-box;
	background: #ededed;/* ベースデザイン1・5 */
	/* background: #F4E6D4;ベースデザイン2 */
	/* background: #F4EFDC;ベースデザイン3 */
	/* background: #FCEAD9;ベースデザイン4 */
	text-align: center;
}

.title
{
	width: 75%;
	height: 100px;
	float: left;
	padding: 5% 8% 10% 8%;
	box-sizing: border-box;
	overflow: hidden;
	font-size: 14px;
	background: #f4f4f4;/* ベースデザイン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;
			font-size: 13px;
		}

	}

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

/*　ブログサムネイル　*/

.blog_box {
    display: flex;
    justify-content: center;
    padding: 12px 7px;
    border-bottom: 1px solid #afafaf;
}

.staffblog_sub .blog_box {
    padding: 4%;
}

.blog_img {
    width: 26.2%;
    margin-right: 4%;
}

.blog_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
	border-radius: 15px;
}

.blog_inner {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    flex: 1;
}

.staffblog_sub .blog_inner {
    justify-content: space-evenly;
}

.blog_date {
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif;
    font-size: min(16px, calc(14/751*100vw));
    color: #1c95ac;
}

.staffblog_sub .blog_title,.media_sub .blog_title{
    font-size: 1.2em;
}

.staffblog_sub .blog_comments {
    display: block;
    font-size: 0.9em;
    color: #959595;
    height: 65px;
    overflow: hidden;
}

a:link.staffblog_readmore, a:visited.staffblog_readmore {
    width: fit-content;
    text-align: center;
    display: block;
    margin: 1% 0 0 auto;
    padding: 0.2% 12px;
    border-radius: 3px;
    background: #1c95ac;
    font-size: 14px;
    color: #fff;
}

@media screen and (max-width: 750px) {
	.blog_date {
		font-size: min(16px, calc(12/320*100vw));
	}

	.staffblog_sub .blog_title,.media_sub .blog_title {
		font-size: min(16px, calc(12/320*100vw));
	}

	.staffblog_sub .blog_comments {
		display: none;
	}

	a:link.staffblog_readmore, a:visited.staffblog_readmore {
		font-size: min(14px, calc(11/320*100vw));
	}
}



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

#viewall {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	margin-top: 70px;
	border-radius: 30px;
	background-color: #1c98af;
	border: 2px solid #1c98af;
	box-sizing: border-box;
}

#viewall.viewall_green {
    background-color: #35ad72;
    border-color: #35ad72;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	#viewall {
		height: max(40px, calc(80/750*100vw));
		margin-top: calc(70/750*100vw);
		border-radius: 40px;
	}
}

a#viewall:link , a#viewall:visited {
	font-size: 18px;
	color: #fff;
	transition: all .3s ease;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	a#viewall:link , a#viewall:visited {
		font-size: max(14px, calc(24/750*100vw));
	}
}

a#viewall:hover {
	text-decoration: none;
	background-color: #fff;
	color: #1c98af;
	border: 2px solid #1c98af;
}

a#viewall.viewall_green:hover {
    background-color: #fff;
    color: #35ad72;
    border-color: #35ad72;
}

#viewall i {
	display: inline-block;
	margin-left: min(30px, calc(30/1180*100vw));
}


@media screen and (max-width: 750px){ /*スマホサイズ*/
	#viewall {
		width: 99%;
	}
}


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


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


.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_title a:link,.oshirase_title  a:visited
{
	color: #383838;
}

.oshirase_title a:hover,.oshirase_title  a:active
{
	color: #1c98af;
	text-decoration: underline;
}


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

.oshirase_marker_r
{
	width: 2%;
	float: left;
	background: #FF3939;
	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: 100%;
			float: left;
			margin-top: 5px;
		}

		.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: 100%;
	/* max-width: 868px; */
	height: 1%;
	margin-inline: auto;
	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;
    /* background: #1c98af0a; */
    font-size: 1.3em;
    padding: 2% 1.5%;
    box-sizing: border-box;
    margin: 0;
    font-weight: 500;
    border-width: 2px 0;
    border-style: solid;
    border-color: #1c98af87;
    /* border-bottom: 4px solid #1c98af; */
    /* border-radius: 3px; */
}

/* .contenttitle h2:before {
	content: "";
		display: inline-block;
		position: absolute;
		left: 0;
		bottom: -7px;
		width: 100%;
		height: 5px;
		border-radius: 5px;
	  background: #1c98af;
	} */

.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;
}
.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% 10%;
	border-width: 0;
	border-style: solid;
	border-color: #E0E0E0;
	text-align: justify;
	margin: 0px 0px 40px 0px;
	font-size:16px;
	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;
	word-break: break-all;
}

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

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

	.contenttitle h2 {
		font-size: 1.1em;
	}

		.contentbody2 /*記事の囲い*/
	{
		padding: 4%;
		font-size:15px;
	}
}

/*-------------------------------------------------
  サブページ装飾
-------------------------------------------------*/

.deco_strength
{
	text-align: center;
    color: #071a68;
    font-family: "Josefin Sans", 'Noto Sans JP', sans-serif;
    font-size: 1.1em;
    font-weight: 600;
}

.deco_lightblue
{
	display: inline-block;
    text-align: center;
    color: #fff;
	background: #1c98af;
    font-size: 0.9em;
    font-weight: 500;
	border-radius: 2em;
	padding: 0.1em 1em;
}

.deco_orange
{
	display: inline-block;
    text-align: center;
    color: #fff;
	background: #efa139;
    font-size: 0.9em;
    font-weight: 500;
	border-radius: 2em;
	padding: 0.1em 1em;
}

.title_strength {
    text-align: center;
    color: #071a68;
    font-size: 1.8em;
    font-weight: 500;
	position: relative;
	letter-spacing: 1px;
}

.title_strength:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 50%;
    bottom: -24px;
    width: 100px;
    height: 3px;
    border-radius: 5px;
    background: #1c98af;
    transform: translateY(-50%) translateX(-50%);
}

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

	.title_strength {
		font-size: 1.5em;
	}
}

.sub_heading01{
	background: #ecf6fb;
	border-radius: 10px;
	position: relative;
	font-size: 1.3em;
	font-weight: 500;
	border-radius: 0px 10px 10px 0px;
	padding: 2% 2% 2% 3%;
}

.sub_heading01:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5px;
    height: 100%;
    border-radius: 5px;
    background: #1c98af;
}

.sub_heading02 {
    display: block;
    font-weight: 600;
    font-size: 1.3em;
    color: #1c98af;
}

.sub_heading03 {
    display: block;
    font-weight: 500;
    font-size: 1.2em;
    color: #ffffff;
    margin: 0;
    background: #1c98af;
    padding: 1%;
    border-radius: 5px;
}

.sub_heading04 {
    display: block;
    font-weight: 500;
    font-size: 1.2em;
    color: #1c98af;
    margin: 0;
}

.sub_heading05 {
    position: relative;
    font-size: 1.3em;
    font-weight: 500;
    padding: 1% 1% 1% 3%;
}

.sub_heading05:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5px;
    height: 100%;
    border-radius: 5px;
    background: #1c98af;
}

.sub_heading06 {
    font-size: 1.2em;
    font-weight: 500;
    padding: 1%;
    border-bottom: solid 3px #1c98af;
}

.contentbody2 .concept_text {
    padding-inline: 0;
}

.contentbody2 .concept_title {
    margin: 0;
}

.blue_back {
	background: #ecf6fb;
    padding: 30px;
	box-sizing: border-box;
	border-radius: 10px;
}

.contentbody2 #viewall,.contentbody #viewall {
    margin-top: 0;
	max-width: 700px;
	margin: auto;
}

/*サブページ　工事の流れ*/

.flow_heading {
    font-family: "Josefin Sans", sans-serif;
    color: #071a68;
}

.flow_heading span {
    font-size: 1.2rem;
}

.custom-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
  }

  .custom-list br {
    display: contents;
}
  
.custom-list li {
	display: flex;
	align-items: baseline;
	margin-bottom: 10px; 
  }
  
.custom-list i {
	color: #1c98af;
	margin-right: 8px;
  }

/*　サブページ　補助金　*/

.subsidy_box {
    display: flex;
    padding: 25px;
    box-sizing: border-box;
    gap: 10px;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-around;
}
.subsidy_img{
	width: 20%;
	height: auto;
}

.subsidy_desc {
    width: 70%;
}

.subsidy_con {
    background: #fff;
    padding: 10px;
    width: 100%;
    text-align: center;
    margin-top: 20px;
}

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

	.subsidy_box {
		justify-content: center;
	}

	.subsidy_img {
		width: 40%;
	}

	.subsidy_desc {
		width: 100%;
	}

	.subsidy_con {
		margin-top: 0px;
	}
}


/*　サブページ　マリノス　*/
.marinos_desc{
	margin: 0px 0px 40px 0px;
}

.button_parallel{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.button_parallel #viewall {
    max-width: 500px;
    width: 45%;
    margin-inline: auto;
    margin: 3% auto;
}

.marinos_sub_report .sub_heading06{
	margin-bottom: 30px;
}

.marinos_sub_report .section_title{
	text-align: left;
	font-size: 50px;
}

.marinos_sub_report .section_title span {
    display: inline-block;
    margin-top: 20px;
    margin-left: 20px;
    font-size: 22px;
    font-weight: 500;
    color: #333;
}

.marinos_thumbnail .date {
    display: block;
    background: none;
    width: 100%;
    text-align: left;
    height: 40px;
	color: #1c95ac;
	padding: 3% 5%;
}

.marinos_thumbnail .bg_date_title {
	background: #fff;
    box-shadow: 0px 0px 15px -5px #777777;
    height: auto;
    display: grid;
    border-radius: 0 0 20px 20px;
}

.marinos_thumbnail .title {
    width: 100%;
    height: 100px;
    box-shadow: none;
}

.marinos_thumbnail .works_card_category {
    display: none;
}

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

	.marinos_desc {
		padding: 4%;
		font-size: 15px;
	}

	.marinos_sub_report .section_title{
		font-size: 2.5rem;
	}

	.marinos_sub_report .section_title span{
		font-size: 1.3rem;
	}

	.button_parallel {
		display: flex;
		flex-direction: column;
	}

	.button_parallel #viewall {
		max-width: none;
		width: 100%;
	}

	.marinos_thumbnail .title {
		height: 80px;
		padding: 0% 8% 10% 8%;
	}

	.marinos_thumbnail .date{
		font-size: 13px;
		height: 100%;
	}
}

/*-------------------------------------------------
  タブ切り替え　cssのみ
-------------------------------------------------*/
.tab-wrap {
	display: flex;
	flex-wrap: wrap;
	margin:20px 0;
  }

  .tab-wrap:after {
	content: '';
	width: 100%;
	height: 3px;
	background: #1c98af;
	display: block;
	order: -1;
  }


  .tab-label {
    color: #1c98af;
    background: #fff;
    font-size: 18px;
    /* white-space: nowrap; */
    text-align: center;
    padding: 15px .5em;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    flex: 1;
    border-style: solid;
    border-width: 3px 3px 0 3px;
    border-color: #1c98af;
    display: flex;
    justify-content: center;
    align-items: center;
	margin: 0 5px;
}

  .tab-label:not(:last-of-type) {
	margin-right: 10px;
  }

  .tab-content {
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
  }

  /* アクティブなタブ */
  .tab-switch:checked+.tab-label {
    background: #1c98af;
    color: #fff;
}

  .tab-switch:checked+.tab-label+.tab-content {
    height: auto;
    overflow: auto;
    padding: 40px 0;
    opacity: 1;
    transition: .5s opacity;
    /* box-shadow: 0 0 3px rgba(0,0,0,.2); */
}

  /* ラジオボタン非表示 */
  .tab-switch {
	display: none;
  }

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

	.tab-label {
		font-size: max(14px, calc(24/750*100vw));
		padding: 8px .5em;
	}
}

/* サブページ／スタッフ一覧ページ */
.contentbody2.staff {
	padding: min(30px, calc(30/1180*100vw)) min(45px, calc(45/1180*100vw));
	padding-top: 0;
	/* background: #f7f7f7; */
}

.staff_manager .contentbody2 {
	margin-bottom: 0px;
}

/* .contentbody2.staff:not(:first-child) {
	margin-top: 20px;
} */

.contentbody2.staff h2 {
	margin-top: 0;
	border-bottom: 0px;
}

.staff_lead {
	text-align: center;
	margin: 35px auto;
}

.staff-intro-container {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 25px;
}

.staff-intro_inner {
    width: 26%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
	margin-bottom: 30px;
}

.staff-intro_inner .bg_date_title{
	width: 100%;
}

.staff-intro_inner .thumbnail {
	width: fit-content;
}

.staff-intro_inner .title {
    width: 100%;
    background: none;
    text-align: center;
    padding: 5%;
    height: 100%;
	font-size: 15px;
}

.staff-intro_inner .staffpost a {
	text-decoration: none;
	color: #1c95ac !important;
	pointer-events: none;
	cursor: default;
  }

/* 部長表示 */
.staff_manager {
	padding: 4%;
    box-sizing: border-box;
}

.staff_manager .staff-intro_inner {
    width: 100%;
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-bottom: 0px;
    flex-direction: row;
    justify-content: center;
}

.staff_manager_right {
    width: 70%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.staff_manager .staff-intro_inner .bg_date_title {
    display: flex;
    flex-wrap: wrap;
}

.staff_manager .staff-intro_inner .title {
    text-align: left;
    padding: 2% 5%;
}

.staff_manager a:link.staff-intro_link, .staff_manager a:visited.staff-intro_link {
    margin: 3% auto 0 0;
}

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

	.staff_manager_right {
		width: 100%;
	}

	.staff_manager .staff-intro_inner {
		align-items: center;
		flex-direction: column;
	}

	.staff_manager .staff-intro_inner .title {
		text-align: center;
	}

	.staff_manager a:link.staff-intro_link, .staff_manager a:visited.staff-intro_link {
		margin: 5% auto 0;
	}
	
}


/* .staff-intro_inner:nth-child(n+3) {
	margin-top: 20px;
} */

.staff-intro_inner .contentbody2 {
	position: relative;
	padding: 0;
	/* border: 1px solid #c5c5c5 !important; */
	/* box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1); */
}

.staff-intro_inner .contentbody2 table {
	border-spacing: 0;
}

.staff-intro_inner .contentbody2 img {
	width: 60%;
	height: 100%;
	aspect-ratio: 1/1.3;
	object-fit: cover;
}

.staff_post,
.staff_name {
	display: inline-block;
	/* padding-left: min(20px, calc(20/1180*100vw)); */
	/* font-size: 14px; */
}

.staff_post {
	padding-top: min(20px, calc(20/1180*100vw));
	color: #7d7d7d;
}

/*.staff_name {
	 font-size: 18px; 
}*/

.staff .staff_profile {
	display: none;
}

.staff_profile {
	display: block;
    padding-left: min(20px, calc(20 / 1180* 100vw));
}

a:link.staff-intro_link, a:visited.staff-intro_link {
    /* position: absolute; */
    display: block;
    padding: 3px 10px;
    text-align: center;
    margin: 0 auto;
    width: 70%;
    max-width: 130px;
    /* height: 2em; */
    /* bottom: 0; */
    /* right: 30px; */
    border-radius: 3px;
    background: #1c98af;
    font-size: 14px;
    color: #fff !important;
    transition: opacity .3s ease-in-out;
}

.outsourcing a:link.staff-intro_link, a:visited.staff-intro_link {
    display: none;
}

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

	.staff-intro-container {
		margin-top: 0;
	}
	
	.staff-intro_inner {
		width: 46%;
		/* margin-top: 30px; */
	}
	
	/* .staff-intro_inner:not(:first-child) {
		margin-top: 45px;
	} */

	a:link.staff-intro_link, a:visited.staff-intro_link {
		font-size: clamp(0.9em, 16vw/750*100, 16px);
		width: 90%;
		max-width: 150px;
        box-sizing: border-box;
	}
}

.balloon1 {
    position: relative;
    width: 100%;
    height: 80px;
    margin: 7% 0 10%;
    padding: 7px 10px;
    background: #ecf6fb;
    border-radius: 15px;
    text-align: center;
    box-sizing: border-box;
	display: flex;
    align-items: center;
    justify-content: center;
}
  
  .balloon1:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #ecf6fb;
  }

  .balloon1-top {
    position: relative;
    display: inline-block;
    margin: 3% 5% 0;
    padding: 4%;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    background: #ecf6fb;
    border-radius: 40px;
	box-sizing: border-box;
}
  
  .balloon1-top:before {
    content: "";
    position: absolute;
	top: 40px;
    left: -15px;
    margin-left: -15px;
    border: 15px solid transparent;
	border-right: 15px solid #ecf6fb;
    /* border-bottom: 15px solid #ecf6fb; */
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.balloon1 {
		font-size: clamp(0.9em, 16vw/750*100, 16px);
	}

	.balloon1-top {
		margin: 5% 0;
        padding: 8%;
	}

	.balloon1-top:before {
		top: -30px;
        left: 50%;
        margin-left: -15px;
        border: 15px solid transparent;
        border-bottom: 15px solid #ecf6fb;
	}

}

/*お客様の声　After/Before*/
.voice_afterbefore {
    text-align: center;
    font-size: clamp(1.3rem, 30vw/750*100, 28px);
    color: #60b6c7;
    padding: 20% 0;
    font-weight: 500;
}

.voice_aftertext {
    display: block;
    text-align: center;
    font-weight: 500;
    font-size: 1.2em;
    color: #1c98af;
    margin: 0;
    background: #ddf0f3;
    border-radius: 5px;
}

.voice_beforetext {
    display: block;
    text-align: center;
    font-weight: 500;
    font-size: 1.2em;
    color: #7b7b7b;
    margin: 0;
    background: #e3e3e3;
    border-radius: 5px;
}

/* メディア・受賞歴　*/

.media_sub {
    padding: clamp(4%, 30vw/1180*100, 30px);
    background: #ecf6fb;
    max-width: 950px;
    margin: auto;
    border-radius: 10px;
}

.media_sub .blog_box {
    padding: 4%;
}

.media_sub .media_box{
	width:100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
	padding: 20px 0px;
	box-sizing: border-box;
	height: 100%;
	border-bottom: 1px solid #afafaf;
}

.media_sub .blog_img {
    width: 30%;
    max-width: 200px;
    margin-right: 4%;
}

.media_sub .blog_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
	border-radius: 15px;
}

.media_sub .media_inner {
    width: 70%;
    padding: 0px 0px 0px 10px;
    box-sizing: border-box;
    line-height: 1.7;
}

.click_detail{
	font-size: 0.9rem;
	color: #666;
}



.media_sub .contentbody2{
	margin: 0;
}

.QA-Qbox01 {
    padding-left: 0px;
    margin-top: 0px;
    clear: both;
}

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

	.click_detail {
		font-size: min(16px, calc(12/320*100vw));
	}
	
	}

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

.catdesc /*パンくずリストの囲い*/
{
	font-size: 15px;
	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:link,
.pankuzu li a:visited {
	color: #071a68;
}

.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 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 95%;
    max-width: 924px;
    margin: 25px auto 0;
}

/* .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 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 25px;
    font-size: 18px;
    font-weight: 500;
    color: #1c98af;
    background: #fff;
    border: 3px solid #1c98af;
    box-sizing: border-box;
    transition: all .3s ease;
	width: 24.2%;
    max-width: 222px;
    height: 50px;
    margin-top: 5px;
}

.tags a:link, .tags a:visited {
    background: #e1eaef;
    display: inline-block;
    padding: 0.5% 2%;
    margin: 0.5%;
    border-radius: 1em;
    color: #333333;
    font-size: 15px;
}

	@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;
}

.bg_brown h2 {
	background: rgba(102, 58, 31, 0.6);
	padding: 1% 2%;
	margin: 0 1%;
	color: #fff;
	font-size: 1.2em;
	font-weight: normal;
	border-radius: 5px 5px 0 0;
}

.text-red {
	color: red;
}

.file_title1{
	font-size: 2em;
}
.file_title2{
	font-size: 1.25em;
}
p.indent-1 {
	padding-left:1em;
	text-indent:-1em;
	color: #ff6464;
}

input:-webkit-autofill {
transition: background-color 5000s ease-in-out 0s !important;
}

.form {
    /* max-width: 750px; */
    /* margin: 0 1% 40px; */
    padding: 4% 15%;
    background: #ecf6fb;
}

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

	.form {
            /* margin-top: 40px; */
            padding: 4%;
        }
    }

	.form-item {
        /* display: flex; */
        /* align-items: center; */
        width: 100%;
        padding: 12px 0;
        box-sizing: border-box;
    }

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

	.form-item {
            /* display: block; */
            padding: 16px 0;
            flex-wrap: wrap;
        }
    }

/* ラベル */
    .form-item-label {
		font-weight: 500;
        display: flex;
        width: 100%;
        /* max-width: 248px; */
        letter-spacing: 0.05em;
        font-size: 1.1em;
        align-items: center;
        margin: 0;
        color: #071a68;
    }

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

	.form-item-label {
            display: flex;
            align-items: center;
            /* max-width: inherit; */
            margin: 0;
            font-size: 1.1em;
        }
    }

	.form-item-label.ismsg {
        margin: 8px 0 auto;
    }
    @media screen and (max-width: 767px) {
        .form-item-label.ismsg {
            margin-top: 0;
        }
    }

	/* 必須・任意ボタン */
	.form-item-label-required, .form-item-label-optional {
        display: inline-block;
        width: 48px;
        margin-left: 10px;
        padding: 4px 0;
        border-radius: 6px;
        line-height: 1;
        text-align: center;
        font-size: 0.8em;
        color: #fff;
    }

	/* 必須 */
	.form-item-label-required {
        background: #ff6464;
    }

	/* 任意 */
	.form-item-label-optional {
        background: #c9c9c9;
    }
    @media screen and (max-width: 767px) {
        .form-item-label-required, .form-item-label-optional {
            width: 32px;
            padding: 4px 0;
            line-height: 10px;
            border-radius: 4px;
            font-size: 10px;
        }
    }

	/* インプット */
	.form-item-input {
	    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif;
        flex: 1;
        width: 100%;
        height: 48px;
        margin-left: 0px;
        margin-top: 1%;
        padding: 0 1em;
        border: 1px solid #aaa;
        background: #fff;
        font-size: 1rem;
        box-sizing: border-box;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }

	.form-item-input::placeholder {
        /* font-size: clamp(12px, 2vw, 15px); */
        font-size: 1rem;
        color: #b0b0b0;
    }
    @media screen and (max-width: 767px) {
        .form-item-input {
            flex: inherit;
            height: 40px;
            /* font-size: clamp(12px, 3vw, 15px); */
            font-size: 1rem;
        }
    }

	/* テキストエリア */
	.form-item-textarea {
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
        flex: 1;
        width: 100%;
        height: 150px;
        margin-left: 0px;
        margin-top: 1%;
        padding: 0.75em 1em;
        border: 1px solid #aaa;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        background: #fff;
        font-size: 1rem;
        box-sizing: border-box;
    }

	.form-item-textarea::placeholder {
        padding-top: 0px;
        /* font-size: clamp(12px, 2vw, 15px); */
        font-size: 1em;
        color: #b0b0b0;
    }
    @media screen and (max-width: 767px) {
        .form-item-textarea {
            flex: inherit;
            height: 200px;
            margin-top: 1%;
            margin-left: 0;
            font-size: 1em;
        }
    }

	/* チェックボックス */
	.check-container {
        display: block;
        margin-left: 0px;
        line-height: 1.5;
        width: 100%;
        padding: 2% 0;
    }
    
    .check-container .label {
    padding: 1% 0 0;
    display: block;
	font-size: 1.1rem;
}

	@media screen and (max-width: 767px) {
        .check-container {
            margin-top: 1%;
            margin-left: 0;
        }

		.check-container .label {
			font-size: 1rem;
		}
		
    }
    .check-box {
        display: none;
    }

	.check-box+span {
        position: relative;
        display: inline-block;
        margin: 0 0.4em 0 0;
        padding: 0 0 0 1.5em;
        font-size: 15px;
        cursor: pointer;
    }
    .check-box+span::before {
        position: absolute;
        display: block;
        content: "";
        width: 1.2em;
        height: 1.2em;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        background: #fff;
        border: 1px solid #7f7f7f;
        border-radius: 2px;
    }
    .check-box+span::after {
        position: absolute;
        display: block;
        content: "";
        width: 0.8em;
        height: 0.4em;
        margin-top: -0.1em;
        top: 50%;
        left: 0.2em;
        transform: translateY(-50%) rotate(-45deg);
        border-bottom: 3px solid #565656;
        border-left: 3px solid #565656;
        opacity: 0;
        transition: all 0.3s ease 0s;
    }
    .check-box:checked+span::after {
        opacity: 1;
    }
    /* 画像添付 */
	.form-item-img {
        padding-left: 10px;
    }
    .form-item-img input {
        display: block;
        max-width: 100%;
        margin: 15px 0;
    }
    @media screen and (max-width: 767px) {
        .form-item-img {
            padding-left: 0;
        }
        .form-item-img input {
            display: block;
            margin: 15px 0;
            font-size: 14px;
        }
    }
    /* 送信ボタン */
	.form-btn {
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
        display: block;
        width: 100%;
        margin: 32px auto 0;
        padding: 10px 0;
        letter-spacing: 0.05em;
        font-size: 20px;
        color: #fff;
        border: none;
        background: #1c98af;
		border-radius: 5px;
    }

    .form-btn:hover {
        opacity: 0.7;
    }
    @media screen and (max-width: 767px) {
        .form-btn {
            width: 100%;
            margin-top: 24px;
            padding: 8px 0;
            font-size: 16px;
        }
    }

    /* 追加記述 */
    
    .halfsize {
        width: 50%;
    }

    .notes01 {
        margin-bottom: 0;
        font-size: 1em;
    }

    .notes02 {
        margin: 1% auto;
        font-size: 0.9em;
    }

    .contact_box{
        width: 80%;
        text-align: center;
        background: #fff;
        padding: 4%;
        margin: 4% auto;
    }

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

        .contact_box{
            width: 100%;
            padding: 4%;
            margin: 40px auto;
            box-sizing: border-box;
        }
    }

/*-------------------------------------------------
  サイドバー 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: #1c98af; /*要変更　カレント文字の色*/
	/*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%; max-width: 700px;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: #000d66 url(images/) no-repeat;
	padding: 60px 0px 75px 0px;
	/* border-width: 2px 0px 0px 0px;
	border-style: solid;
	border-color: #DDDDDD; */
	margin: 0 auto;
	color: #fff;
}

.footer_title {
	margin: 0;
	text-align: center;
	font-family: "Josefin Sans", sans-serif;
	font-size: 30px;
	font-weight: 600;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_title {
		font-size: max(22px, calc(45/750*100vw));
	}
}

.footer_link-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_link-btn {
		display: block;
		margin-top: 24px;
	}
}

#copyrights .footer_link-btn a:link,
#copyrights .footer_link-btn a:visited {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45%;
	max-width: 370px;
	height: 65px;
	border-radius: 30px;
	color: #000d66;
	background: #fff;
	transition: opacity .3s ease;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	#copyrights .footer_link-btn a:link,
	#copyrights .footer_link-btn a:visited {
		width: 90%;
		max-width: 670px;
		height: max(40px, calc(80/750*100vw));
		border-radius: 40px;
		margin-inline: auto;
	}
}

#copyrights .footer_link-btn a:hover {
	text-decoration: none;
	opacity: .8;
}

.footer_link-btn i {
	margin-right: 16px;
}

.footer_link-btn_tel {
	font-size: 24px;
	font-weight: bold;
}

.footer_link-btn_mail {
	font-size: 20px;
	font-weight: 500;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_link-btn_tel {
		font-size: max(18px, calc(36/750*100vw));
	}

	.footer_link-btn_mail {
		margin-top: max(10px, calc(20/750*100vw));
		font-size:max(15px, calc(30/750*100vw));
	}
}

.footer_time {
	text-align: center;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_time {
		font-size: max(16px, calc(21/750*100vw));
	}
}

/* カレンダー */
.contact_calendar{
	display: flex;
    align-items: center;
	/* gap: 10px; */
}

.contact_calendar_left{
	display: block;
	width: 70%;
}

.contact_calendar_right .footer_title {
    text-align: left;
    font-size: 24px;
}

.contact_calendar_right .footer_title span {
    font-size: 0.9rem;
    margin-left: 10px;
    font-weight: normal;
}

.contact_calendar_right {
    display: block;
    box-sizing: border-box;
    margin-right: 2%;
    width: 35%;
}

.contact_calendar_box {
    display: block;
	width: 100%;
    background: #fff;
    padding: 2%;
    border-radius: 10px;
    box-sizing: border-box;
}

.contact_calendar_box .calender_guid{
	color: #333333;
	font-size: 0.9rem;
}

.contact_calendar_box .calender_guid a:link,.contact_calendar_box .calender_guid a:visited{
	color: #1c98af !important;
}

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

	.contact_calendar_left{
		width: 100%;
	}

	.contact_calendar_right {
		margin-right: 0;
		margin: 5%;
		width: 90%;
	}

	.contact_calendar_right .footer_title span {
		font-size: 0.9rem;
	}

	.contact_calendar_box {
		padding: 3%;
	}
}


.footermenu{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 25px;
	width: 97%;
	margin: 43px auto 0;
}


@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footermenu{
		gap: 0;
		width: 90%;
		margin-top: calc(80/750*100vw);
	}

	.footer_item {
		width: 48%;
	}

	.footer_item:nth-child(n+3) {
		margin-top: 10px;
	}
}

.footer_cat {
	font-size: 17px;
	font-weight: 500;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_cat {
		font-size: max(16px, calc(24/750*100vw));
	}
}

#copyrights .footer_submenu a:link,
#copyrights .footer_submenu a:visited {
	color: #fff;
}

.footer_submenu li {
	display: flex;
	align-items: center;
}

.footer_submenu li::before {
	display: block;
	content: "";
	width: 14px;
	height: 1px;
	margin-right: 12px;
	background: #fff;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_submenu li::before {
		width: max(14px, calc(20/750*100vw));
	}
}

.footer_submenu a {
	padding-block: 12px;
	font-size: 15px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_submenu a {
		font-size: max(13px, calc(20/750*100vw));
	}
}

.footer_logo-area {
	display: flex;
	justify-content: space-between;
	width: 97%;
	margin: 100px auto 0;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_logo-area {
		display: block;
		text-align: center;
		margin-top: calc(106/750*100vw);
	}
}

.footer_logo {
	max-width: 216px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_logo {
		width: 60%;
		max-width: 280px;
		margin-inline: auto;
	}
}

.footer_logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

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

.footer_address p {
	margin: 0;
	line-height: 1.75;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_address p {
		font-size: max(16px, calc(21/750*100vw));
	}
}

.footer_sns {
	margin-top: 20px;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.footer_sns {
		margin-top: max(15px, calc(30/750*100vw));
	}
}

#copyrights .footer_sns a:link,
#copyrights .footer_sns a:visited {
	display: inline-block;
	font-size: 30px;
	color: #fff;
	transition: opacity .3s ease;
}

#copyrights .footer_sns a:hover {
	opacity: .8;
}


.footer_sns a:not(:first-child) {
	margin-left: 10px;
}

.footer_area p {
	margin: 0;
	line-height: 1.75;
}

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


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

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

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


		#footer #menubutton{
			display: block;
			width: 33.3%;
			height: ;
			background: url(images/) no-repeat;
			height: ;
			line-height: ;
			vertical-align: middle;
			text-decoration: none;
			text-align: center;
			float: left;
			padding: 0.2% 0 0.2% 0;
			box-sizing: border-box;
			border-width: 0px 1px 0px 0px;
			border-style: solid;
			border-color: #E0E0E0;
			margin: 3% 0 0 0;
			font-size: 3vw;
			overflow: hidden;
			white-space: nowrap;
		}

		#footer .menutextcolor
		{
			color: #383838;
		}
	}


.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: #fff3ee; /* フッター内のリンク文字の色 */
}
#copyrights a:hover, #copyrights a:active
{
	color: #fff; /* フッター内のリンク文字の色 ホバー時*/
}

#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: #383838;
}

.footer_tel
{
	display: block;
	grid-column: 1/2;
	-ms-grid-column: 1; /*ie*/
	width: 100%;
	background: #efefef;
	text-align: center;
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
	font-size: 1.3em;

	visibility: hidden;
	opacity: 0;
}

.footer_mail
{
	display: block;
	grid-column: 2/3;
	-ms-grid-column: 2; /*ie*/
	width: 100%;
	background: #e1e1e1;
	text-align: center;
	height: 45px;
	line-height: 45px;
	vertical-align: middle;

	visibility: hidden;
	opacity: 0;
}

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

/*-------------------------------------------------
 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 {
    width: 60px;
    height: 60px;
    margin-right: 15px;
    margin-bottom: 15px;
    border-radius: 50%;
    color: #ffffff;
    background: #1c98af;
    text-decoration: none;
    font-weight: normal;
    font-size: 1.3em;
	display: flex;
    justify-content: center;
    align-items: center;
}

.pagetop a:hover {
	background: #1c98af; /*「このページのトップへ」ボタンの背景色*/
	color: #FFFFFF;
}

.pagetop i {
    margin: 0;
}

/*-------------------------------------------------
  スマートフォンサイト切替えボタン
-------------------------------------------------*/
.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: 2% 0 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: 60%;
    height: 40px;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    border-style: solid;
}
.searchform .formbutton {
    width: 15%;
	max-width: 100px;
    height: 40px;
    border-style: none;
    background: #1c95ac;
    color: #fff;
	font-size: 0.9rem;
}
.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: calc(100%/3);
/* padding: 1px; */
}


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

.instagram-card__img{
aspect-ratio: 1/1;
}

/* いいね数、コメント数 */
.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 {

	display: none;
	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;
}

@media screen and (max-width: 7420px){ /*スマホサイズ*/
	.instagram-item .mask {
		top: 83%;
		left: 83%;
	}
}

.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;
	overflow: hidden;
}


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


.youtube_play {
	position: relative;
	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;
}
