.service-detail-item.none {
	position: relative;
}

.service-detail-item.none {
	opacity: 0;
	height: 0;
	padding: 0;
	z-index: -1;
	transition: 0.3s;

}

.service-detail-item.active {
	opacity: 1;
	height: auto;
	z-index: 1;
	padding: 7% 7%;
}

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

	.service-detail-item.active {
		padding: 19% 5%;
	}

}

/* ----------------------------------------
* base
---------------------------------------- */
a {
	text-decoration: none;
}


/* ----------------------------------------
* responsive
---------------------------------------- */
@media only screen and (min-width: 769px) {

	/* @media only screen and (min-width: 1024px) { */
	.pc {
		display: block !important;
	}

	.pc-flex {
		display: flex !important;
	}

	.sp,
	.sp-flex {
		display: none !important;
	}
}

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

	/* @media only screen and (max-width: 1023px) { */
	.pc,
	.pc-flex {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.sp-flex {
		display: flex !important;
	}
}

/* @media only screen and (min-width: 481px) and (max-width: 1023px){
	.tab {
		display: block!important;
	}
	.tab-flex {
		display: flex!important;
	}
}
@media only screen and (min-width: 1024px) and (max-width: 480px){
	.tab,
	.tab-flex {
		display: none!important;
	}
} */


/* ----------------------------------------
* fonts
---------------------------------------- */
.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.hiraginow3 {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 300;
}

.hiraginow4 {
	font-family: "ヒラギノ角ゴ ProN W4", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 400;
}

.hiraginow5 {
	font-family: "ヒラギノ角ゴ ProN W5", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
}

.hiraginow6 {
	font-family: "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 600;
}

.hiraginow7 {
	font-family: "ヒラギノ角ゴ ProN W7", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 700;
}

.koz {
	font-family: '小塚ゴシック Pro', 'Kozuka Gothic Pro', sans-serif;
	font-weight: 600;
}

.yu {
	font-family: yu-gothic-pr6n, sans-serif;
	font-style: normal;
	font-weight: 400;
}

.bold {
	/* font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; */
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-weight: 500;
}

.quicksand {
	/* font-family: quicksand, sans-serif; */
	font-family: 'Quicksand', sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* ----------------------------------------
* color
---------------------------------------- */
.bl {
	color: #131313;
}

.bl2 {
	color: #2f2f2f;
}

.wh {
	color: #fff;
}

.gr {
	color: #333333;
}

.orange {
	color: #e88a1b;
}

.gray {
	color: #2a2723;
}

.gray2 {
	color: #324648;
}

/* ----------------------------------------
* color
---------------------------------------- */
.ls10 {
	letter-spacing: 0.01em;
}

.ls25 {
	letter-spacing: 0.025em;
}

.ls40 {
	letter-spacing: 0.04em;
}

.ls50 {
	letter-spacing: 0.05em;
}

.ls60 {
	letter-spacing: 0.06em;
}

.ls75 {
	letter-spacing: 0.075em;
}

.ls100 {
	letter-spacing: 0.1em;
}

.ls120 {
	letter-spacing: 0.12em;
}

.ls135 {
	letter-spacing: 0.135em;
}

.ls140 {
	letter-spacing: 0.14em;
}

.ls200 {
	letter-spacing: 0.2em;
}

.ls215 {
	letter-spacing: 0.215em;
}


/* ----------------------------------------
* margin
---------------------------------------- */
.mg0 {
	margin: 0;
}


/* ----------------------------------------
* flex
---------------------------------------- */
.flex {
	display: flex;
}


/* ----------------------------------------
* block
---------------------------------------- */
.block {
	display: block;
	width: 100%;
}


/* ----------------------------------------
* transform
---------------------------------------- */
.center-middle {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


/* ----------------------------------------
* shadow
---------------------------------------- */
.box-shadow {
	box-shadow: 0px 0 20px rgba(0, 0, 0, 0.34);
}


/* ----------------------------------------
* effect
---------------------------------------- */
.translucent:hover {
	opacity: 0.8 !important;
}


/* ----------------------------------------
* background image
---------------------------------------- */
.bg-img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}


/* ----------------------------------------
* bread crumb
---------------------------------------- */
.bread-crumb {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0.5% 9.5%;
	z-index: 10;
	font-weight: 500;
}

.bread-crumb li {
	display: inline-block;
	color: #36322a;
	font-size: 80%;
}

@media only screen and (max-width: 768px) {
	.bread-crumb {
		top: 0;
		right: auto;
		left: 0;
		padding: 5%;
	}

	.bread-crumb li {
		font-size: 110%;
	}
}

@media only screen and (max-width: 479px) {
	.bread-crumb li {
		font-size: 3.75vw;
	}
}


/* ----------------------------------------
* page main
---------------------------------------- */
.page-main-image {
	width: 100%;
	margin: 0;
	position: relative;
	/* margin: 149px 0 0 0; */
}

.page-main-image img {
	width: 100%;
	display: block;
	position: relative;
	height: auto;
}

@media only screen and (max-width: 768px) {
	.page-main-image {
		width: 100%;
		position: relative;
		margin: 20px 0 0 0;
	}
}


/* ----------------------------------------
* slick
---------------------------------------- */
.slick-dots {
	width: 100%;
	padding: 0;
	bottom: 5%;
	left: 0;
	z-index: 10;
	text-align: center;
}

.slick-dots li {
	width: 12px;
	border-radius: 6px;
	margin: 0 12px;
}

.slick-dots li button {
	width: 12px;
	height: 12px;
	border-radius: 6px;
	padding: 0;
	background: none;
}

.slick-dots li button:before {
	width: 12px;
	height: 12px;
	border-radius: 6px;
	content: '';
	background: #cfc0ae;
	opacity: 1;
}

.slick-dots li.slick-active button:before {
	opacity: 1;
	background: #e88a1b;
}

.about-slider .slick-dots li.slick-active button:before {
	background: #fff;
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-prev,
.slick-next {
	top: 43%;
	width: calc(34 / 1920 * 100vw);
	height: calc(62 / 1920 * 100vw);
}

.slick-prev {
	background: rgba(0, 0, 0, 0);
	left: -7%;
}

.slick-prev:hover {
	opacity: 0.8;
}

.slick-prev:before {
	display: block;
	content: '';
	width: calc(34 / 1920 * 100vw);
	height: calc(62 / 1920 * 100vw);
	background-image: url(../images/main/arrows01.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.slick-next {
	background: rgba(0, 0, 0, 0);
	right: -7%;
}

.slick-next:hover {
	opacity: 0.8;
}

.slick-next:before {
	display: block;
	content: '';
	width: calc(34 / 1920 * 100vw);
	height: calc(62 / 1920 * 100vw);
	background-image: url(../images/main/arrows02.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}


/* ----------------------------------------
* slick
---------------------------------------- */
.post-slider {
	margin: 0;
	padding: 0 0 12% 0;
}

.post-slide {
	position: relative;
	margin: 20px;
}

.post-slide>a {
	display: block;
	width: 100%;
	background: #fff;
}

.post-slide>a>.thumb {
	position: relative;
	width: 100%;
	height: 0;
	padding: 67% 0 0 0;
}

.post-slide>a>.thumb>.meta {
	position: absolute;
	bottom: 0;
	left: 0;
}



.post-slide>a>.thumb .cat {
	position: absolute;
	bottom: 8px;
	left: 8px;
	display: block;
	padding: 4px 30px;
	margin: 0;
	font-size: 75%;
	background: #3b92eb;
	color: #fff;
	border-radius: 9999px;
}

.post-slide>a>.text {
	padding: 3% 5% 6%;
}

.post-slide>a>.text>.date {
	font-size: 80%;
	margin: 0 0 .25em 0;
}

.post-slide>a>.text>h3 {
	margin: 0 0 0.2em !important;
	font-size: 104% !important;
	text-align: justify !important;
	line-height: 1.6;
}

.post-slide>a>.text div.flex {
	align-items: flex-start;
	padding-bottom: 0.7em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #e88a1b;
	flex-wrap: wrap;
}

.post-slide>a>.text .date {
	margin: 0;
	font-size: 85%;
	font-weight: 500;
	line-height: 1.25;
}

.post-slide>a>.text .cat {
	display: table;
	padding: 4px 18px;
	margin: 0 0 0 1.2em;
	font-size: 73%;
	line-height: 1;
	background: #e88a1b;
	min-width: fit-content;
}

.post-slide>a>.text .cat:nth-child(2),
.post-slide>a>.text .cat:nth-child(3),
.post-slide>a>.text .cat:nth-child(4),
.post-slide>a>.text .cat:nth-child(5) {
	margin: 0.5em 0 0 1.2em;
}

.post-slide>a>.text>p {
	margin: 0 !important;
	font-size: 75% !important;
	text-align: justify !important;
	font-weight: 600;
}

.post-slide>a>.text>.linktext {
	font-size: 75%;
	text-align: right !important;
	margin: 0;
}

@media only screen and (max-width: 768px) {
	.post-slider {
		margin: 0;
		padding: 0 0 7% 0;
	}

	.post-slide {
		position: relative;
		margin: 20px;
	}

	.post-slide>a {
		display: block;
		width: 100%;
		background: #fff;
	}

	.post-slide>a>.thumb {
		padding: 64% 0 0 0;
	}

	.post-slide>a>.thumb>.meta {
		position: absolute;
		bottom: 0;
		left: 0;
	}



	.post-slide>a>.thumb .cat {
		position: absolute;
		bottom: 8px;
		left: 8px;
		display: block;
		padding: 4px 30px;
		margin: 0;
		font-size: 75%;
		background: #3b92eb;
		color: #fff;
		border-radius: 9999px;
	}

	.post-slide>a>.text {
		padding: 3% 12% 6%;
	}

	.post-slide>a>.text>.date {
		font-size: 80%;
		margin: 0 0 .25em 0;
	}

	.post-slide>a>.text>h3 {
		font-size: 120% !important;
		line-height: 1.4;
	}

	.post-slide>a>.text div.flex {
		padding-bottom: 0.75em;
		margin-bottom: 0.75em;
	}

	.post-slide>a>.text .date {
		font-size: 100%;
		letter-spacing: 0.1em;
	}

	.post-slide>a>.text .cat {
		padding: 4px 18px 2px;
		margin: 0 0 0 1.5em;
		font-size: 95%;
	}

	.post-slide>a>.text .cat:nth-child(2),
	.post-slide>a>.text .cat:nth-child(3),
	.post-slide>a>.text .cat:nth-child(4),
	.post-slide>a>.text .cat:nth-child(5) {
		margin: 0.5em 0 0 1.5em;
	}

	.post-slide>a>.text>p {
		margin: 0 !important;
		font-size: 75% !important;
		text-align: justify !important;
		font-weight: 500;
	}

	.post-slide>a>.text>.linktext {
		font-size: 75%;
		text-align: right !important;
		margin: 0;
	}
}

@media only screen and (max-width: 479px) {
	.post-slide>a>.thumb .cat {
		font-size: 75%;
	}

	.post-slide>a>.text>.date {
		font-size: 80%;
	}

	.post-slide>a>.text>h3 {
		font-size: 4vw !important;
	}

	.post-slide>a>.text .date {
		font-size: 3.33vw;
	}

	.post-slide>a>.text .cat {
		font-size: 3.15vw;
	}

	.post-slide>a>.text>p {
		font-size: 75% !important;
	}

}


/* ----------------------------------------
* company info
---------------------------------------- */
.info-table {
	width: 48%;
	margin: 0;
	padding: 0;
	border-top: 1px dashed #e88a1b;
	width: 46%;
}

.info-table>li {
	align-items: flex-start;
	padding: 5% 0% 3%;
	border-bottom: 1px dashed #e88a1b;
}

.info-table>li>h3 {
	width: 30%;
	margin: 0 !important;
	text-align: left !important;
	font-size: 85% !important;
	font-weight: 500;
}

.info-table>li>p {
	width: 70%;
	margin: 0;
	text-align: justify !important;
	font-size: 85% !important;
	line-height: 1.75;
	font-weight: 500;
}

@media only screen and (max-width: 768px) {
	.info-table>li {
		flex-flow: row wrap;
		padding: 7% 0 5%;
	}

	.info-table>li>h3 {
		width: 100%;
		margin: 0 !important;
		font-size: 115% !important;
	}

	.info-table>li>p {
		width: 100%;
		font-size: 115% !important;
		line-height: 1.4;
		letter-spacing: 0.025em;
	}
}

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

	.info-table>li>h3 {
		font-size: 3.95vw !important;
	}

	.info-table>li>p {
		font-size: 3.95vw !important;
	}
}


/* ----------------------------------------
* map
---------------------------------------- */
.map-wrap {
	position: relative;
	width: 100%;
	height: 0;
	padding: 38% 0 0 0;
}

.map-wrap>iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

@media only screen and (max-width: 768px) {
	.map-wrap {
		padding: 100% 0 0 0;
	}
}


/* ----------------------------------------
* form
---------------------------------------- */
.wpcf7 {
	position: relative;
	width: 69%;
	margin: 5% auto 0 !important;
	border: none;
	font-size: 85%;
	z-index: 3;
}

.wpcf7 p {
	margin: 0;
	font-size: 100%;
	text-align: left;
}

.wpcf7 .form-title {
	margin-bottom: 0.5% !important;
	font-weight: 500;
}

.wpcf7 .form-title span {
	display: inline-block;
	background: #e94646;
	color: #fff;
	padding: 0.1% 2% 0;
	margin: 0 1%;
	font-size: 85%;
}

.wpcf7 .form-title span.any {
	background: #62d387;
}

.wpcf7 .form-record {
	margin: 2% 0;
}

form input[type="text"], form input[type="email"], form input[type="url"], form input[type="tel"], form input[type="number"], form input[type="date"], form textarea {
	width: 100%;
	border-radius: 5px;
	border: 1px solid #4b4b4b;
	background: #fff;
	font-family: yu-gothic-pr6n, sans-serif;
	font-weight: 500;
	padding: 0.5% 1%;
}

.wpcf7 select {
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	background: #fff;
	color: #e88a1b;
	border-radius: 5px;
	padding: 0 10px;
	border: 1px solid #4b4b4b;
	cursor: pointer;
	font-size: 100%;
	font-family: yu-gothic-pr6n, sans-serif;
	font-weight: 500;
}

.wpcf7 .c-menu-01::before,
.wpcf7 .c-menu-01::after,
.wpcf7 .c-menu-02::before,
.wpcf7 .c-menu-02::after,
.wpcf7 .c-menu-03::before,
.wpcf7 .c-menu-03::after,
.wpcf7 .c-menu-04::before,
.wpcf7 .c-menu-04::after {
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	border: 1px solid transparent;
	width: 0;
	height: 0;
	right: 16px;
}

.wpcf7 .c-menu-01::before,
.wpcf7 .c-menu-02::before,
.wpcf7 .c-menu-03::before,
.wpcf7 .c-menu-04::before {
	top: 12px;
	border-width: 0 4px 6px 4px;
	border-bottom-color: #333333;
	z-index: 2;
}

.wpcf7 .c-menu-01::after,
.wpcf7 .c-menu-02::after,
.wpcf7 .c-menu-03::after,
.wpcf7 .c-menu-04::after {
	border-width: 6px 4px 0 4px;
	border-top-color: #333333;
	top: 22px;
}

.wpcf7 .remarks {
	font-size: 90%;
}

.select-date {
	display: flex;
	align-items: center;
	margin: .5em 0 !important;
	font-weight: bold;
}

.select-time {
	font-weight: bold;
}

.wpcf7 .c-menu-03,
.wpcf7 .c-menu-04 {
	margin: 0 1em;
}

.wpcf7 .c-menu-03 select,
.wpcf7 .c-menu-04 select {
	display: block !important;
	padding: 10px 30px;
}

.wpcf7 input.wpcf7-submit {
	width: 62%;
	height: 60px;
	margin: 6% 0 0 19%;
	background-color: #e88a1b;
	cursor: pointer;
	color: #fff;
	border: 2px solid #e88a1b;
	letter-spacing: 0.14em;
	text-align: center;
	text-decoration: none;
	font-size: 115%;
	line-height: 0;
	border-radius: 10px;
	font-family: yu-gothic-pr6n, sans-serif;
	font-weight: 400;
	padding: 10px 0 5px;
}

.wpcf7 input[type="reset"] {
	width: 35%;
	height: 50px;
	margin: 5% 0 0 0;
	background-color: rgba(255, 255, 255, 0);
	cursor: pointer;
	color: #fff;
	border: 2px solid #fff;
	letter-spacing: 0.1em;
	text-align: center;
	text-decoration: none;
	font-size: 100%;
	line-height: 0;
	border-radius: 10px;
}

.wpcf7 input.wpcf7-submit:hover {
	opacity: 0.8;
}

.wpcf7 input[type="reset"]:hover {
	opacity: 0.8;
}

div.wpcf7-mail-sent-ok {
	border: 2px solid #fff !important;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border: 2px solid #fff !important;
}

div.wpcf7-response-output {
	border: 2px solid #fff;
}

.wpcf7-form-control-wrap {
	position: relative;
	display: block;
}

.wpcf7-form-control-wrap select {
	height: 40px;
	line-height: 40px;
}

@media only screen and (max-width: 768px) {
	.wpcf7 {
		width: 100%;
		margin: 0 auto !important;
		padding: 0 !important;
		font-size: 100%;
	}

	.wpcf7 .form-title {
		margin-bottom: 2% !important;
		letter-spacing: 0.14em;
		font-size: 115%;
	}

	.wpcf7 .form-title span {
		display: inline-block;
		padding: 0 12px;
		margin: 0 2%;
		font-size: 80%;
	}

	.wpcf7 .form-record {
		margin: 4% 0;
	}

	.wpcf7 select {
		font-size: 3.5vw;
	}

	form input[type="text"], form input[type="email"], form input[type="url"], form input[type="tel"], form input[type="number"], form input[type="date"], form textarea {
		width: 100%;
		border-radius: 6px;
		padding: 2% 1%;
	}

	.wpcf7 input.wpcf7-submit {
		width: 100%;
		margin: 10% 0 0 0;
		font-size: 140%;
		line-height: 0;
	}

	.wpcf7 input[type="reset"] {
		width: 90%;
		height: 50px;
		margin: 0 auto 0 5%;
		cursor: pointer;
		color: #fff;
		border: 2px solid #fff;
		text-align: center;
		text-decoration: none;
		font-size: 100%;
		line-height: 0;
	}
}

@media only screen and (max-width:479px) {
	.wpcf7 {
		font-size: 3.33vw;
	}

	.wpcf7 .form-title {
		font-size: 3.95vw;
	}

	.wpcf7 select {
		font-size: 3.5vw;
	}

	.wpcf7 input.wpcf7-submit {
		font-size: 4.7vw;
	}

	.wpcf7 input[type="reset"] {
		font-size: 3.33vw;
	}
}


/* ----------------------------------------
* footer
---------------------------------------- */
footer {
	background-color: #e88a1b;
}

.footer-nav {
	background-color: #fff;
}

.footer-nav ul {
	padding: 1.7% 0 1.2%;
	justify-content: center;
}

.footer-nav ul li {
	margin: 0 2.5em;
}

.footer-nav ul li a {
	font-size: 80%;
	color: #312c26;
	font-weight: 600;
}

.footer-inner {
	flex-flow: row wrap;
	padding: 2% 15% 2% 17%;
}

.footer-inner > .banner {
	width: 100%;
	padding: 2% 0 4% 0;
	text-align: center;
}

.footer-inner>.info {
	width: 26%;
	margin: 0 11% 0 0;
	align-items: center;
}

.footer-inner>.info>.logo {
	display: block;
	width: 30%;
	margin: 0 5% 0 0;
}

.footer-inner>.info>.text {
	width: 100%;
}

.footer-inner>.info>.text p {
	font-size: 72%;
	padding: 4% 0;
	margin: 0;
	border-bottom: 1px solid #366ab5;
}

.footer-info {
	padding: 3% 0 0;
}

.footer-info a img {
	width: calc(343/1920*100vw);
}

.footer-info div.flex {
	font-size: 73%;
	margin-top: 6%;
}

.footer-info div.flex p {
	margin: 0 1.5em 0 0;
	font-weight: 500;
}

.footer-info div.flex p span {
	background-color: #fff;
	padding: 0.1em 0.5em;
	margin-right: 0.5em;
	font-weight: 600;
}

.footer-contact {}

.footer-contact a {
	background-color: #fff;
	border-radius: 5px;
	align-items: center;
	width: calc(325/1920*100vw);
	justify-content: center;
	padding: 10% 0 9%;
	margin: 11% 37%;
	font-size: 90%;
	line-height: 1;
	letter-spacing: 0.1em;
	font-weight: 500;
}

.footer-contact a img {
	margin-right: 0.7em;
	width: calc(24/1920*100vw);
}

.footer-inner>.footer-nav {
	width: 65%;
}

.footer-inner>.footer-nav ul {
	margin: 0;
	padding: 0;
	align-items: stretch;
}

.footer-inner>.footer-nav ul li {
	display: block;
	width: 20%;
	padding: 0 2%;
	border-left: 1px solid #366ab5;
}

.footer-inner>.footer-nav ul li a {
	display: block;
	font-size: 60%;
	padding: 2% 0;
}

.footer-inner>.footer-nav ul li a.parent {
	font-size: 70%;
	margin: 0 0 1em 0;
	color: #366ab5;
}

.copyright {

	text-align: center;
	font-size: 75%;
	margin: 0;
	padding: 0 0 1%;

}



@media only screen and (max-width: 768px) {
	footer {
		background-color: #fff;
	}

	.footer-inner {
		padding: 10% 10% 3%;
		flex-flow: row wrap;
		background: #fff;
		flex-direction: column;
		align-items: center;
	}

	.footer-inner > .banner {
		width: 100%;
		padding: 2% 0 12% 0;
		text-align: center;
	}

	.footer-inner>.info {
		width: 100%;
		margin: 0;
		flex-flow: row wrap;
	}

	.footer-info {
		padding: 15% 0 0;
	}

	.footer-info div.flex {
		font-size: 105%;
		margin-top: 6%;
		letter-spacing: 0.075em;
	}

	.footer-info div.flex p {
		margin: 0 1em 0 0;
		color: #000;
	}

	.footer-info div.flex p span {
		background-color: #e88a1b;
		color: #fff;
		padding: 0.1em 0.5em;
		margin-right: 0.5em;
	}

	.footer-info div.flex p:nth-child(2) {
		margin: 0;
	}

	.footer-info a img {
		width: calc(375/480*100vw);
	}

	.footer-inner .text p:last-of-type {
		padding: 4% 16%;
	}

	.footer-inner .text p:last-of-type a {
		margin: .5em 0;
	}

	.footer-nav {
		padding: 2% 0;
		background: #e88a1b;
	}

	.footer-nav ul {
		margin: 0;
		padding: 0;
		flex-flow: row wrap;
	}

	.footer-nav ul li {
		display: block;
		width: 90%;
		margin: 0 auto;
		padding: 0;
		border-bottom: 1px solid #fff;
	}

	.footer-nav ul li:last-child {
		border-bottom: unset;
	}

	.footer-nav ul li a {
		display: block;
		width: 100%;
		padding: 4% 3% 4% 6%;
		text-align: left;
		color: #fff;
		font-size: 110%;
	}

	.footer-nav ul li:nth-child(last) {
		border-bottom: unset;
	}

	.footer-nav ul li a::after {
		content: '＞';
		float: right;
	}

	.copyright {
		padding: 0 0 16% 0;
		background: #fff;
		font-size: 105%;
		color: #e88a1b;
	}

	.footer-contact {}

	.footer-contact a {
		background-color: #e88a1b;
		color: #fff;
		padding: 7% 0;
		margin: 11% auto;
		font-size: 125%;
		width: calc(380/480*100vw);
	}

	.footer-contact a img {
		margin-right: 0.5em;
		width: calc(24/480*100vw);
	}

}

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

	.footer-info div.flex {
		font-size: 3.5vw;
	}

	.footer-nav ul li a {
		font-size: 3.75vw;
	}

	.copyright {
		font-size: 3.5vw;
	}

	.footer-contact a {
		font-size: 4.15vw;
	}

}


/* ----------------------------------------
* sp fixed footer
---------------------------------------- */
@media only screen and (min-width: 769px) {
	.mobile-footer-fixed {
		display: none !important;
	}
}

@media only screen and (max-width: 768px) {
	.mobile-footer-fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		font-size: 70%;
		z-index: 100;
	}

	.mobile-footer-fixed a:nth-of-type(1) {
		width: 60%;
		background: rgba(255, 255, 255, 0.8);
		color: #000;
		text-align: center;
	}

	.mobile-footer-fixed a:nth-of-type(2) {
		width: 40%;
		background: rgba(233, 138, 27, 0.8);
		text-align: center;
	}

	.mobile-footer-fixed a:nth-of-type(1) img {
		width: 20px;
		display: block;
		margin: 10px auto 8px auto;
	}

	.mobile-footer-fixed a:nth-of-type(2) img {
		width: 20px;
		display: block;
		margin: 10px auto 11px auto;
	}
}


/* ----------------------------------------
* category buttons
---------------------------------------- */
.genre-btn {
	padding: 3% 0 2%;
}

.genre-btn ul {
	padding: 0;
	margin: 0 auto;
	font-weight: 600;
	justify-content: center;
}

.genre-btn ul li {
	display: block;
	width: fit-content;
	margin: 2% 2.2%;
	padding: 10px 3px 5px;
	text-align: center;
	cursor: pointer;
	font-size: 90%;
	color: #36322a;
}

.genre-btn ul li.cat-active {
	border-bottom: 2px solid #e88a1b;
}


@media only screen and (max-width: 768px) {
	.genre-btn {
		padding: 16% 0;
	}

	.genre-btn ul {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		flex-flow: row wrap;
	}

	.genre-btn ul li {
		display: block;
		margin: 2% 5% !important;
		width: fit-content;
		font-size: 125%;
		padding: 10px 3px 0;
	}
}

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

	.genre-btn ul li {
		font-size: 4.15vw;
	}
}


/* ----------------------------------------
* post archives
---------------------------------------- */
.post-archives-inner {
	flex-flow: row wrap;
	padding: 4% 7%;
	margin: 0;
}

.post-archives-inner .post-slide {
	width: 28%;
	margin: calc(16%/6);
}

.post-archives-inner .post-slide>a>.text {
	padding: 3% 8% 6%;
}

.post-archives-inner .post-slide>a>.text>h3 {
	font-size: 111% !important;
}

.post-archives-inner .post-slide>a>.text .date {
	font-size: 95%;
}

.post-archives-inner .post-slide>a>.text .cat {
	font-size: 80%;
}

.post-archives-inner .post-slide>a>.text>p {
	font-size: 85% !important;
}

@media only screen and (max-width: 768px) {
	.post-archives-inner {
		padding: 0 5% 5%;
	}

	.post-archives-inner .post-slide {
		width: 100%;
		margin: 8% 0;
	}

	.post-archives-inner .post-slide>a>.text {
		padding: 3% 11% 6%;
	}

	.post-archives-inner .post-slide>a>.text>h3 {
		font-size: 140% !important;
	}

	.post-archives-inner .post-slide>a>.text .date {
		font-size: 115%;
	}

	.post-archives-inner .post-slide>a>.text .cat {
		font-size: 100%;
	}

	.post-archives-inner .post-slide>a>.text>p {
		font-size: 110% !important;
	}
}

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

	.post-archives-inner .post-slide>a>.text>h3 {
		font-size: 4.7vw !important;
	}

	.post-archives-inner .post-slide>a>.text .date {
		font-size: 3.95vw;
	}

	.post-archives-inner .post-slide>a>.text .cat {
		font-size: 3.33vw;
	}

	.post-archives-inner .post-slide>a>.text>p {
		font-size: 3.75vw !important;
	}
}

/* ----------------------------------------
* page nate
---------------------------------------- */
.page-nate {
	text-align: center;
	font-size: 100%;
	padding: 5% 0;
}

.page-numbers {
	background: #e88a1b;
	color: #fff;
	margin: 0 0.5%;
	font-family: quicksand, sans-serif;
	font-weight: 500;
	font-style: normal;
	width: 35px;
	height: 35px;
	line-height: 35px;
	display: inline-block;
}

.page-nate .current {
	color: #e88a1b;
	background: #fff;
	border: 1px solid #e88a1b;
}

.page-nate .next,
.page-nate .prev {
	display: none;
}

@media only screen and (max-width: 768px) {
	.page-nate {
		padding: 10% 0;
	}


}


/* ----------------------------------------
* single works
---------------------------------------- */
#single-construction {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 10% 13% 5%;
}

#single-construction>h2 {
	font-size: 125%;
	text-align: left;
	width: 100%;
	margin: 0 auto 2.5% auto;
	padding: 0% 3.5% 1.5%;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 2px solid #e88a1b;
}

#single-construction .construction-genre {
	margin: 0 0 0 4%;
	padding: 0 6%;
	height: 30px;
	border: 2px solid #fff;
	font-size: 55%;
	line-height: 28px;
	border-radius: 9999px;
}

#single-construction>h2 span.title-cat {
	margin: 0 0 0 4%;
	padding: 4px 24px 8px 24px;
	color: #fff;
	font-size: 80%;
	line-height: 28px;
	background-color: #e88a1b;
	min-width: fit-content;
	font-weight: 500;
	line-height: 1;
}

@media only screen and (max-width: 768px) {
	#single-construction {
		margin: 0;
		padding: 24% 10% 12%;
	}

	#single-construction>h2 {
		width: 100%;
		text-align: left;
		margin: 0;
		padding: 6% 0;
		flex-flow: row wrap;
		font-size: 155%;
	}

	#single-construction>h2 span.title-cat {
		margin: 0;
	}

	#single-construction>h2>span.title {
		display: block;
		width: 100%;
		margin: 0.75em 0 0 0;
		color: #000;
	}
}

@media only screen and (max-width: 479px) {
	#single-construction>h2 {
		font-size: 5.0vw;
	}
}

#single-construction section {
	width: 90%;
	margin: 3.25% auto;
	border-bottom: 2px solid #e88a1b;
	font-size: 85%;
	letter-spacing: 0.06em;
	padding-bottom: 1.2em;
	font-weight: 500;
	text-align: justify;
	line-height: 1.65;
}

@media only screen and (max-width: 768px) {
	#single-construction section {
		width: 100%;
		margin: 3% auto;
		font-size: 115%;
		letter-spacing: 0.06em;
		padding-bottom: 0;
	}
}

@media only screen and (max-width: 479px) {
	#single-construction section {
		font-size: 3.95vw;
	}
}


.construction-slider {
	width: 94%;
	margin: 0 auto 0 3%;
	display: flex;
	justify-content: space-between;
}

#photo {
	width: 72%;
	position: relative;
	padding: calc(72% * 0.67) 0 0 0;
	margin: 0;
}

#photo li {
	position: absolute;
	display: block;
	width: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

#photo li>a {
	display: block;
	width: 100%;
	height: 100%;
}

#photo li>a>img {
	display: block;
	width: 100%;
	height: auto;
}

#thumbnail {
	width: 27%;
	height: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: left;
	margin: 0;
	padding: 0;
}

#thumbnail li {
	position: relative;
	display: block;
	width: 47%;
	height: 0;
	margin: 2% 1.5%;
	cursor: pointer;
	padding: 32% 0 0 0;
}

#thumbnail li span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

.modaal-container img {
	display: block;
	width: 100%;
	height: auto;
	transform: scale(1.01);
}

@media only screen and (max-width: 768px) {
	.construction-slider {
		width: 100%;
		flex-flow: row wrap;
		padding: 6% 0;
		margin: 5% auto;
	}

	#photo {
		width: 100%;
		position: relative;
		margin: 0 0 calc(5px / 2) 0;
		padding: 75% 0 0 0;
	}

	#photo li {
		position: absolute;
		display: block;
		width: 100% !important;
		height: 100% !important;
		top: 0;
		left: 0;
	}

	#photo li a {
		display: block;
		width: 100% !important;
		height: 100% !important;
	}

	#thumbnail {
		width: 100%;
		margin: 3% 0px;
		display: flex;
		justify-content: flex-start;
		flex-flow: row wrap;
		padding: 0;
	}

	#thumbnail li {
		display: block;
		width: calc(33% - 5px);
		cursor: pointer;
		margin: 1.5% calc(5px / 2);
		padding: calc(67%/3) 1% 0 1%;
	}

	.modaal-close {
		top: 100px !important;
	}
}




/* ----------------------------------------
* pager
---------------------------------------- */
#paging {
	width: 32%;
	margin: 0 auto;
	padding: 0;
	justify-content: center;
}

#paging div {
	width: 40%;
	font-size: 100%;
	text-align: center;
	font-weight: 500;
}

.prev-post a,
.next-post a {
	color: #e88a1b;
}

#paging div a:hover {
	opacity: 0.8;
}

@media only screen and (max-width: 768px) {
	#paging {
		width: 80%;
		padding: 4% 0;
	}

	#paging div {
		font-size: 135%;
	}
}

@media only screen and (max-width: 479px) {
	#paging div {
		font-size: 4.6vw;
	}
}

.construction-single-page-link>div {
	width: calc(100%/3);
}

@media only screen and (max-width: 768px) {
	.construction-single-page-link {
		display: block !important;
	}

	.construction-single-page-link>div {
		width: 100%;
	}
}


/* ----------------------------------------
* 404
---------------------------------------- */
#page-notfound {
	padding: 16% 8%;
	text-align: center;
}

#page-notfound h1 {
	font-size: 150%;
	margin: 0 0 2em 0;
}

@media only screen and (max-width: 768px) {
	#page-notfound {
		padding: 16% 0;
	}

	#page-notfound h1 {
		font-size: 110%;
	}

	#page-notfound p {
		font-size: 90%;
	}
}


/* ----------------------------------------
* modal window
---------------------------------------- */
/* body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}
.service-modal-window {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.41);
	padding: 0;
	z-index: 9999;
}
.service-modal-window-inner {
	position: relative;
	width: 90%;
	height: 80vh;
	margin: 10vh 5%;
	padding: 3% 5%;
	background: rgba(255, 255, 255, 1);
	overflow-y: scroll;
}
.service-modal-window .r-closebtn {
	position: relative;
	cursor: pointer;
	text-align: center;
	font-weight: bold;
	transition: 0.3s;
	font-size: 1.25vw;
	z-index: 9999;
	color: #3b92eb;
	margin: 3em 0 0 0;
}
.service-modal-window .closebtn {
	position: absolute;
	top: 12vh;
	right: 7%;
	cursor: pointer;
	text-align: center;
	font-weight: bold;
	transition: 0.3s;
	font-size: 1.25vw;
	z-index: 9999;
	color: #3b92eb;
}
@media only screen and (max-width: 768px) {
	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
	}
	.service-modal-window {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.41);
		padding: 15vh 5%;
		z-index: 9999;
	}
	.service-modal-window-inner {
		position: relative;
		width: 100%;
		height: 70vh;
		top: 0;
		left: 0;
		padding: 10% 5%;
		margin: 0;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		overflow-y: scroll;
	}
	.service-modal-window .r-closebtn {
		font-size: 4vw;
	}
	.service-modal-window .closebtn {
		position: absolute;
		top: 18vh;
		right: 8%;
		cursor: pointer;
		text-align: center;
		font-weight: bold;
		transition: 0.3s;
		font-size: 4vw;
		z-index: 9999;
	}
}

.service-modal-window-inner > h3 {
	margin: 2em 0 .5em 0;
	font-size: 2vw;
	color: #3b92eb;
	border-bottom: 2px solid #3b92eb;
}
.service-modal-window-inner > h4 {
	margin: 1em 0 .5em 0;
	font-size: 1.25vw;
	color: #3b92eb;
}
.service-modal-window-inner p {
	text-align: justify;
	margin: 0 0 1em 0;
	color: #333;
}
@media only screen and (max-width: 768px) {
	.service-modal-window-inner img:not(.pc):not(.arrow) {
		display: block!important;
		width: 100%!important;
	}
	.service-modal-window-inner > h3 {
		font-size: 6vw;
		text-align: justify;
	}
	.service-modal-window-inner > h4 {
		font-size: 5vw;
	}
	.service-modal-window-inner p {
		text-align: justify;
		margin: 0;
		color: #000;
	}
	.service-modal-window-inner > p {
		padding: 0;
	}
	.service-modal-window-inner .alert {
		width: 100%;
		margin: 5% auto;
		padding: 5%;
		border-radius: 8px;
		background: #e84242;
		color: #fff;
	}
} */