@charset "utf-8";
/* GoogleFonts読み込み 下記のライセンス記述は削除禁止 */
/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("fonts/NS-900.woff2") format("woff2"), url("fonts/NS-900.woff") format("woff");
  font-display: swap;
}

:root {
	--internal-bg-color: linear-gradient(to right, #4095f8, #1b58f4 100%);
	--web-bg-color: linear-gradient(to right, #f49602, #ee5a01 100%);
	--tel-bg-color: linear-gradient(to right, #8661ef, #4129e6 100%);
	--bg-icon-setting: no-repeat right 19px center / 20px auto;
}
* {
	box-sizing: border-box;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

html {
	font-size: 62.5%;
}

body {
	font-family: 'Meiryo', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'sans-serif';
	font-size: 1.4rem;
	min-width: 1030px;
	line-height: 1.5;
	width: 100%;
	overflow-x: hidden;
	color: #222;
	background: #fff;
	word-break: break-all;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

a {
	color: inherit;
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	border: 1px solid #dfdfdf;
	background-color: #fff;
	margin: 30px 0;
	color: #222;
}
table th,
table td {
	vertical-align: middle;
	border: 0;
	border-bottom: 1px solid #dfdfdf;
	padding: 22px 10px;
	word-break: break-all;
	border-left: 1px solid #dfdfdf;
	text-align: center;
	vertical-align: middle;
	color: #333;
}
table th {
	font-size: 16px;
	background-color: #f0f0eb;
	font-weight: bold;
}
table td {
	padding: 14px;
	background: #fff;
}

.caption {
	text-align: center;
	font-size: 10px;
	color: #888;
	line-height: 1.4;
	display: block;
	word-wrap: break-word;
}
.caption a {
   color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
	border: 0 none;
}

img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

ul li {
	list-style-type: none;
}

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

input,
textarea {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

/* for IE6 */
* html body {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

* html input,
* html textarea {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

/* リンク
----------------------------------------------------*/
a {
	color: inherit;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
	opacity: .6;
	transition: .2s;
}

/* 汎用
----------------------------------------------------*/
/* clear clerfix */
.content:after,
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.content,
.clearfix {
	zoom: 1;
	/* for IE5.5 - IE7 */
}

/* box-sizing */
*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/*----------------------------------------------------
	各ページスタイル
----------------------------------------------------*/
/* 共通
-----------------------------------------------------------------------------------------------*/
#contents:after,
#contents_low:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.contents p {
	color: #141414;
	font-size: 1.4rem;
	line-height: 1.7;
	margin: 0 0 15px;
}

.sp,
.sp_br,
.forSP {
	display: none !important;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: bold;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
	color: inherit;
	font-weight: inherit;
}

.contents p span:not(.marker, .txt_marker),
span.txt_bold {
	font-weight: bold;
	font-size: 1.8rem;
}

span.marker,
span.txt_marker {
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
	background: linear-gradient(transparent 65%, #d1effe 65%) no-repeat bottom 5px left;
	padding: 0 0 0.3rem 0;
}

.caption {
	margin: 10px 0;
	overflow: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: #C0C0C0 #eee;
	text-align: center;
	font-size: 10px;
	color: #888;
	line-height: 1.4;
	display: block;
	word-wrap: break-word;
}
.caption::-webkit-scrollbar {
	height: 5px;
}
.caption::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #C0C0C0;
}
.caption::-webkit-scrollbar-track {
	border-radius: 2px;
	background: #eee;
}

/* header
----------------------------------------------------*/
.l-header-area {
	width: 100%;
	min-width: 1000px;
	margin: 0;
	padding: 0;
	position: relative;
	color: #222;
}
.l-header {
	margin: 0 auto;
	position: relative;
	padding: 18px 0;
	background: #fff;
}
.l-header__sitename {
	color: #000;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 1.6px;
	text-align: center;
	line-height: 1.4;
	width: fit-content;
	padding-right: 40px;
	margin: 0 auto;
}
.l-header__sitename::before {
	content: "PR";
  color: #fff;
	font-size: 18px;
	line-height: 1;
  background: #000;
	display: grid;
	place-content: center;
	width: 44px;
	height: 21px;
	margin: 0 0 7px 12px;
}
.l-header__sitename a {
	text-decoration: none;
}

/* g_nav_hamburger
----------------------------------------------------*/
.l-gnavi-btn {
	display: none;
}
.l-gnavi-area {
	width: 400px;
	height: 100vh;
	padding: 60px 0 0;
	position: fixed;
	background: #FFf;
	-webkit-transition: all .8s ease;
	transition: all .8s ease;
	opacity: 0;
	top: 0;
	left: 0;
	z-index: 300;
	overflow-x: hidden;
	overflow-y: scroll;
}
.l-gnavi-area--slide-right {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}
.l-gnavi-area--slide-left {
	left: auto;
	right: 0;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
.l-gnavi-area--slide-down {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
.l-gnavi-area--slide-up {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
.l-gnavi-banner {
	width: 90%;
	margin: 1rem auto;
}
.l-gnavi-banner a {
	display: block;
}
.l-gnavi-list {
	position: relative;
	-webkit-transition: all .8s ease;
	transition: all .8s ease;
}
.l-gnavi-list__item {
	padding: 5px 0;
}
.l-gnavi-list__link {
	width: 90%;
	margin: 0 auto;
	padding: 15px 45px 15px 10px;
	display: block;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	background: #2b68b1;
	position: relative;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link::after {
	content: "";
	right: 18px;
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link:hover::after {
	content: "";
	right: 18px;
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link.l-gnavi-list__link--menu::after {
	content: "・・・";
	position: absolute;
	color: #fff;
	right: 5%;
	top: 17%;
	font-size: 2rem;
	letter-spacing: -10px;
	border: 0;
	-webkit-transform: none;
	transform: none;
	bottom: auto;
	width: auto;
	height: auto;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__link--menu {
	position: relative;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__link--menu::after {
	content: "・・・";
	position: absolute;
	color: #fff;
	right: 5%;
	top: 17%;
	font-size: 2rem;
	letter-spacing: -10px;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link--back {
	background: #2b68b1;
	padding: 10px 10px 10px 45px;
	position: relative;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link--back::before {
	content: "";
	left: 18px;
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link--back::after {
	content: "";
	border: 0;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link--back:hover {
	background: #666;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link--back:hover::after {
	content: none;
}
.l-gnavi-list .l-gnavi-list__item .l-gnavi-list__sub .l-gnavi-list__item .l-gnavi-list__link--back:hover::before {
	content: "";
	left: 18px;
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	vertical-align: middle;
}
.l-gnavi-list__sub {
	width: 100%;
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
	padding-bottom: 60px;
}
.is-navi-open .l-gnavi-area {
	opacity: 1;
}
.is-navi-open .l-gnavi-area--slide-right {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
.is-navi-open .l-gnavi-area--slide-left {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
.is-navi-open .l-gnavi-area--slide-down {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.is-navi-open .l-gnavi-area--slide-up {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.is-navi-open .is-gnavi-cover {
	height: 100vh;
	overflow-y: scroll;
}
.is-navi-open .is-gnavi-cover .l-gnavi-area {
	position: static;
}

/* pc_g_nav
----------------------------------------------------*/
.l-gnavi-area02 {
	width: 100%;
	margin: 0 auto;
}
.l-gnavi-area02 .l-gnavi-list02 {
	max-width: 1000px;
	margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  place-content: center;
}
.l-gnavi-area02 .l-gnavi-list02__item {
	display: grid;
	text-align: center;
	position: relative;
}
.l-gnavi-area02 .l-gnavi-list02__item__link {
	color: #010101;
	font-size: 1.4rem;
	line-height: 1.57142857;
	display: grid;
	place-content: center;
	padding: 16px 15px;
	text-decoration: none;
}

/* footer
----------------------------------------------------*/
.l-footer-area {
	width: 100%;
	margin: 0;
	padding: 0;
	background: #ebf6fb;
	position: relative;
	overflow: hidden;
}
.l-footer-area__inner {
	margin: 0 auto;
	padding: 0 1.5rem;
	max-width: 1000px;
}
.l-footer-menu-wrapper {
	margin: 0 auto;
	padding: 49px 0 44px;
	position: relative;
}
.l-footer-menu {
	margin: 0;
}
.l-footer-menu + .l-footer-menu {
	margin-top: 60px;
}
.l-footer-menu__list {
	display: grid;
	margin: 0.8rem 2.7rem 0;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2rem 7.3rem;
}
.l-footer-menu__title__link {
	color: #333;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: left;
	text-decoration: none;
	padding: 0;
	display: block;
	width: fit-content;
	position: relative;
}
.l-footer-menu__list__link {
	padding: 5px 10px 5px 15px;
	margin: 0 0 0.5rem 0;
	display: block;
	text-align: left;
	font-size: 1.4rem;
	text-decoration: none;
	position: relative;
	padding: 10px 10px 10px 20px;
	color: #333;
}
.l-footer-menu__list__link::before {
	content: "";
	width: 10px;
	height: 10px;
	background: #4461d0;
	border-radius: 50%;
	position: absolute;
	top: 15px;
	left: 2px;
}
.l-footer-submenu__list__item {
	margin: 0.5rem 0 0 0;
}
.l-footer-submenu__list__link {
	padding: 5px 15px 5px 20px;
	display: block;
	text-align: left;
	font-size: 1.3rem;
	text-decoration: none;
	position: relative;
}
.l-footer-submenu__list__link::before {
	content: '└';
	color: #4461d0;
	position: absolute;
	top: 5px;
	left: 3px;
}
.l-footer-area .l-footer-area__inner .menseki {
	color: #333;
	font-size: 1.2rem;
	line-height: 1.7;
	text-align: center;
	padding: 2.8rem 0;
	max-width: min(100%, 700px);
	margin: 0 auto;
	position: relative;
}
.l-footer-area .l-footer-area__inner .menseki::before {
	content: "";
	width: 100vw;
	height: 1px;
	position: absolute;
	left: calc(50% - 50vw);
	top: 0;
	background-size: 6px 1px;
	background-image: linear-gradient(to right, #d2d2d2, #d2d2d2 4px, transparent 4px, transparent 6px);
	background-repeat: repeat-x;
}
.l-footer-area .l-footer-area__inner .menseki span {
	display: block;
}
.l-footer-area .l-footer-area__inner .ucp {
	font-size: 1.2rem;
	line-height: 1.5;
	text-align: center;
	margin: 0 auto 2.6rem;
}
.l-footer-copy-wrapper {
	background: #053b86;
	padding: 0 1.5rem;
}
.l-footer-copy {
	color: #fefbfb;
	font-size: 1.2rem;
	padding: .6rem 0;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
}
.l-footer-copy .sitemap {
	color: #fff;
	text-align: right;
}
.l-footer-copy .sitemap a {
	position: relative;
	padding-right: 3rem;
	flex: 0 0 auto;
}
.l-footer-copy .sitemap a::before {
	content: "";
	width: 20px;
	height: 20px;
	background: url(img/floor-painting/arrow02.png) no-repeat right center / contain;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.l-footer-copy a {
	text-decoration: none;
}
.l-pagetop {
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index: 299;
}
.l-pagetop__link {
	width: 73px;
	height: 73px;
	display: block;
	text-align: center;
	position: relative;
	background: url(img/floor-painting/pagetop.png) no-repeat center / contain;
}
.l-pagetop__link:hover {
	opacity: 0.6;
}


/* -----------------------------
 TOP
 -----------------------------*/
/* FV
----------------------------- */
.mv-wrap {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	position: relative;
	background: url(img/floor-painting/mv.jpg) no-repeat center top;
	background-size: cover;
}
.mv-wrap .mv-inner {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	z-index: 1;
	padding: 41px 0 48px;
	position: relative;
}
.mv-wrap .mv-inner .mv {
	width: min(100%, 616px);
	box-sizing: border-box;
	position: relative;
	background: rgba(255, 255, 255, .65);
	padding: 27px 97px 36px;
	margin: 0 auto;
}
.mv-wrap .mv-inner .mv .mv-title {
	color: #084396;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 1.9px;
	text-align: center;
	padding: 88px 4px 7px 0;
	margin-bottom: 17px;
	background: url(img/floor-painting/mv_icon.png) no-repeat top left calc(50% - 3px) / 64px auto;
	position: relative;
}
.mv-wrap .mv-inner .mv .mv-title .text-small {
	font-size: 18px;
	display: block;
}
.mv-wrap .mv-inner .mv .mv-title::after {
	content: "";
	width: 40px;
	height: 2px;
	background: #053b86;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.mv-txt p {
	color: #333;
	font-size: 14px;
	letter-spacing: 0.4px;
	text-align: justify;
	line-height: 1.75;
}
.mv-txt p + p {
	margin-top: 10px;
}
.mv-wrap .mv .btn-internal {
	margin-top: 4px;
}
.mv-wrap .mv .btn-internal a {
	line-height: 1.33333333;
	padding: 11px 40px 7px;
	border-radius: 33px;
	background-position: right 15px center;
	margin: 0 auto;
}

/* -----------------------------
 side
 -----------------------------*/
#side .side_freespace {
	background: url(img/floor-painting/side_freespace_icn.png) no-repeat top 25px center / 82px auto, url(img/floor-painting/side_freespace.png) no-repeat top center / cover;
	padding: 60px 20px 20px;
	margin-bottom: 30px;
}
#side .side_freespace img {
	max-width: 100%;
}
#side .side_freespace dl {
}
#side .side_freespace dl dt {
	color: #0f2d7e;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.3;
	padding-left: 4px;
	margin-right: -5px;
	margin-bottom: 18px;
}
#side .side_freespace dl dt a {
	text-decoration: none;
	display: block;
}
#side .side_freespace .btn-internal {
	margin: 23px auto 0;
}
#side .side_freespace .btn-internal a {
	font-size: 14px;
	line-height: 1.4285714;
	padding: 12px 35px 8px 15px;
	background-position: right 15px center, center;
	background-size: 16px auto, cover;
	margin: 0 auto;
}

/* -----------------------------
 pankuzu
 -----------------------------*/
#pankuzu {
	margin: 30px auto;
	font-size: 12px;
	width: min(1000px, 100%);
	white-space: nowrap;
	overflow: auto;
	scrollbar-width: thin;
	scrollbar-color: #C0C0C0 #eee;
}
#pankuzu span {
	font-family: 'Meiryo', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'sans-serif';
}
#pankuzu br {
	display: none!important;
}


/* -----------------------------
 テンプレートパーツ
 -----------------------------*/
#index h2,
#category h1,
#page h1 {
	color: #fff;
	font-size: 30px;
	line-height: 1.266666666;
	background-color: #053b86;
	padding: 33px 61px 30px;
	margin: 0 0 30px;
	position: relative;
}
.contents_top #index h2:first-child,
#category h1:first-child,
#page h1:first-child {
	margin: 0 auto 3rem;
}
#category h1,
#page h1 {
	margin-bottom: 3rem;
}
#index h2::after,
#category h1::after,
#page h1::after {
	content: "";
	width: 15px;
	height: 20px;
	background: url(img/floor-painting/h2.png) no-repeat top center / contain;
	position: absolute;
	left: 11px;
	right: 0;
	bottom: -20px;
	margin: 0 auto;
}

#index h3,
#category h2,
#page h2 {
	color: #053b86;
	font-size: 26px;
	line-height: 1.30769230;
	margin: 40px 0 20px;
	background: #fff url(img/floor-painting/h3.png) no-repeat left 13px center / 42px auto;
	border: 3px solid #1e54a1;
	padding: 22px 15px 18px 70px;
	position: relative;
}

#index h4,
#category h3,
#page h3 {
	margin: 40px 0 20px;
	line-height: 1.4;
	color: #333;
	font-size: 24px;
	padding: 0 21px 1px;
	position: relative;
	border-bottom: 4px solid #dfdfdf;
}
#index h4::after,
#category h3::after,
#page h3::after {
	content: "";
	width: min(168px, 25%);
	height: 4px;
	background: #0172bd;
	position: absolute;
	left: 0;
	bottom: -4px;
}
#index h5,
#category h4,
#page h4,
#category h5,
#page h5 {
	color: #333;
	font-size: 20px;
	line-height: 1.4;
	padding: 0 0 0 20px;
	position: relative;
	margin: 40px 0 20px;
}
#index h5::before,
#category h4::before,
#page h4::before,
#category h5::before,
#page h5::before {
	content: "";
	width: 4px;
	height: calc(100% - 9px);
	background: #2a88c8;
	position: absolute;
	left: 8px;
	top: 0;
	bottom: 2px;
	margin: auto 0;
}
#category h5,
#page h5 {
	margin: 30px 0 15px;
	font-size: 1.7rem;
}

/* アイコン付き見出し */
#contents .rank,
#contents .check {
	color: #333;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: normal;
	padding: 21px 15px 15px 101px;
	position: relative;
	background: #ebf6fb;
	margin: 40px 0 20px;
	border: none;
	border-radius: unset;
	width: auto;
}
#contents .rank::before,
#contents .check::before {
	content: "";
	width: 81px;
	height: 73px;
	position: absolute;
	left: 8px;
	top: 5px;
	bottom: 0;
	margin: auto 0;
	background: url(img/floor-painting/check.png) no-repeat 0 0 /contain;
}
#contents .rank.rank1::before {
	background-image: url(img/floor-painting/rank1.png);
}
#contents .rank.rank2::before {
	background-image: url(img/floor-painting/rank2.png);
}
#contents .rank.rank3::before {
	background-image: url(img/floor-painting/rank3.png);
}
#contents .rank.rank4::before {
	background-image: url(img/floor-painting/rank4.png);
}
#contents .rank.rank5::before {
	background-image: url(img/floor-painting/rank5.png);
}
#contents .rank::after,
#contents .check::after {
	content: none;
}

/* list */
.contents ul {
	margin: 40px 0;
}
.contents ul > li {
	color: #444;
	font-size: 15px;
	padding-left: 31px;
	position: relative;
	margin-bottom: 4px;
}
.contents ul > li::before {
	content: "";
	width: 12px;
	height: 12px;
	background: #b68e4e;
	border-radius: 50%;
	position: absolute;
	top: 3px;
	left: 6px;
}

/* float-wrap */
.contents .float-wrap {
	margin: 40px 0;
}
.contents .float-wrap .fl {
	float: left;
	margin-right: 20px;
}
.contents .float-wrap .fr {
	float: right;
	margin-left: 20px;
}
.contents .float-wrap .float-img {
	margin-top: 6px;
	margin-bottom: 6px;
	max-width: 240px;
	width: 40%;
}
.contents .float-wrap .float-img .flame {
	position: relative;
}
.contents .float-wrap .catch {
	color: #333;
	font-size: 18px;
	font-weight: bold;
	background: url(img/floor-painting/catch-copy-02.png) repeat-x left bottom / 8px auto;
	display: grid;
	padding-bottom: 11px;
	margin-bottom: 12px;
}
.contents .float-wrap p {
	color: #444;
	font-size: 15px;
	line-height: 1.75;
	text-align: justify;
	margin: 0;
}
.contents .float-wrap p + p {
	margin-top: 10px;
}
.contents .float-wrap .float-img .caption {
	font-size: 10px;
	text-align: center;
	color: #999;
	margin: 13px 0 0;
	line-height: 1.65;
}

/*　btn
----------------------------- */
.contents .btn-tel {
	display: none;
}
.mv .btn-internal,
.contents .btn-internal,
.contents .btn-web,
.contents .btn-tel {
	margin: 30px auto;
	width: min(320px, 100%);
}
.mv .btn-internal a,
.contents .btn-internal a,
.contents .btn-web a,
.contents .btn-tel a {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	display: block;
	padding: 19px 40px 16px;
	text-decoration: none !important;
	border-radius: 30px;
	position: relative;
	color: #fff;
	box-shadow: 0 2px 0 0 #cbcbcb;
	border: 1px solid #cbcbcb;
}
.mv .btn-internal a,
.contents .btn-internal a {
	background: url(img/floor-painting/arrow02.png) var(--bg-icon-setting), var(--internal-bg-color);
}
.mv .btn-internal.type-anchor a,
.contents .btn-internal.type-anchor a {
	background: url(img/floor-painting/arrow02_anchor.png) no-repeat right 15px center / 19px auto, var(--internal-bg-color);
}
.contents .btn-web a {
	background: url(img/floor-painting/arrow03.png) var(--bg-icon-setting), var(--web-bg-color);
}
.contents .btn-link {
	text-align: right;
}
.contents .btn-link a {
	color: #333;
	font-weight: bold;
	text-decoration: underline;
	text-underline-offset: 3px;
	padding-right: 25px;
	display: inline-block;
	position: relative;
	background: url(img/floor-painting/arrow04.png) no-repeat right bottom 3px / 16px auto;
}
.contents .btn-link a:hover {
	text-decoration: none;
}

/* box-wrap */
.box-wrap {
	margin: 40px auto;
	max-width: min(100%, 720px);
	display: grid;
	gap: 35px 20px;
	grid-template-columns: 1fr 1fr;
}
.box-wrap::after {
	content: none;
}
.box-wrap .box {
	padding: 19px 20px 12px;
	background: #fff;
	border: 1px solid #dfdfdf;
	display: grid;
	row-gap: 10px;
}
#contents .box-wrap .box .box-head {}
#contents .box-wrap .box .box-head > *:not(a) {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1.4px;
	line-height: 1.5;
	padding: 12px 15px 8px;
	background: #2a88c8;
	border: none;
	border-radius: unset;
	margin: 0;
}
#contents .box-wrap .box .box-head > *:not(a)::before,
#contents .box-wrap .box .box-head > *:not(a)::after {
	content: none;
}
.box-wrap .box .box-head a {
	text-decoration: none;
	padding-right: 20px;
	background: url(img/floor-painting/arrow02.png) no-repeat right 0 top 45% / 16px auto;
	display: block;
	position: relative;
}
.box-wrap .box-body p {
	color: #333;
	line-height: 1.75;
	letter-spacing: 0.7px;
	text-align: justify;
	margin: 0;
}
.box-wrap .box-body p + p {
	margin-top: 10px;
}

/* frame-wrap */
.frame-wrap {
	margin: 3rem 0 5rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px 26px;
}
.frame-wrap .frame {
	background: #fff;
	border: 2px solid #f0f0eb;
}
.frame-wrap .frame .frame-head {
	background: #f0f0eb;
	padding: 18px 18px 13px;
}
.frame-wrap .frame .frame-head *:not(a) {
	color: #060606;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.444444444;
	text-align: center;
	background: none;
	border: none;
	border-radius: unset;
	padding: 0;
	margin: 0;
}
#contents .frame-wrap .frame .frame-head > *:not(a)::before,
#contents .frame-wrap .frame .frame-head > *:not(a)::after {
	content: none;
}
.frame-wrap .frame .frame-head a {
	display: block;
	background: url(img/floor-painting/arrow05.png) no-repeat right top calc(50% - 2px) / 16px auto;
	padding-right: 20px;
	text-decoration: none;
}
.frame .frame-body {
	padding: 15px 19px 14px;
}
.frame .frame-body p {
	color: #333;
	line-height: 1.5;
	letter-spacing: 1px;
	text-align: justify;
	margin: 0;
}
.frame .frame-body p + p {
	margin-top: 10px;
}

/*--------------------------------------
 Slider
---------------------------------------*/
.slider-area {
  margin: 1rem 0 3rem;
  max-width: 740px;
}

.slider-area .slider {
  position: relative;
	min-height: unset;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.slider-area .slider::after {
	content: none;
}
.slider-area .slider-for,
.slider-area .slider-nav {
	opacity: 0;
	transition: opacity .2s linear;
}
.slider-area .slider-for.slick-initialized,
.slider-area .slider-nav.slick-initialized {
	opacity: 1;
}

.slider-area .slider img {
  max-width: 100%;
  margin: 0 auto;
  height: auto;
}

.slider-area .slick-slide {
  flex-flow: column;
}

.slider-area .slick-slide:focus {
  outline: 0;
}

.slider-area .slick-slide {
  text-align: center;
  display: flex;
  align-content: initial;
}

.slider-area .slick-slide span img {
  margin: 0 auto;
}

.slider-area .slider-for {
  width: min(600px, calc(100% - 157px));
  padding: 0;
  display: flex;
  align-items: center;
	padding-top: 4px;
}

.slider-area .slider-for .slick-track {
  display: flex;
  align-items: flex-start;
}

.slider-area .slider-for img {
  max-width: 98%;
}

.slider-area .slider-for .slick-next,
.slider-area .slider-for .slick-prev {
  width: 34px;
  height: 34px;
  background: #053b86;
  border-radius: 50%;
  box-shadow: 0px 0px 5px 0px #d4d4d4;
  position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
  z-index: 5;
  text-indent: 9999px;
  overflow: hidden;
}

.slider-area .slider-for .slick-next::before,
.slider-area .slider-for .slick-prev::before {
  content: '';
  left: 0;
  right: 0;
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 auto;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  opacity: 1;
}

.slider-area .slider-for .slick-next:hover,
.slider-area .slider-for .slick-prev:hover {
  opacity: .8;
}

.slider-area .slider-for .slick-prev {
  left: -9px;
}

.slider-area .slider-for .slick-prev::before {
  transform: rotate(135deg);
  margin-left: 14px;
}

.slider-area .slider-for .slick-next {
  right: -9px;
}

.slider-area .slider-for .slick-next::before {
  transform: rotate(-45deg);
  margin-right: 14px;
}

.slider-area .slider-nav {
  width: 122px;
  padding: 0;
}

.slider-area .slider-nav .slick-list {
  padding: 0 !important;
	height: auto!important;
}

.slider-area .slider-nav .slick-track {
  left: 0 !important;
}

.slider-area .slider-nav .slick-slide {
  height: 90px;
  border: none;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  opacity: 1;
  cursor: pointer;
}
.slider-area .slider-nav .slick-slide + .slick-slide {
	margin-top: 12px;
}

.slider-area .slider-nav .slick-slide img {
  height: 100%;
  margin: 0 auto;
}

.slider-area .slider-nav .slick-slide:hover {
  opacity: .5;
}

.slider-area .caption,
.slider-area .slick-slide span + span {
	overflow: hidden;
	width: 100%;
	white-space: unset;
	text-align: center;
	font-size: 13px;
	color: #999;
	line-height: 1.4;
	word-wrap: break-word;
	padding: 0.5rem 0 0;
	display: block;
	margin: 0.5rem 0 0;
}


/* 下層共通パーツ
----------------------------------------------------*/
.lower-bottom-wrap {
	background: #ebf6fb;
	padding: 20px 0 35px;
	display: grid;
	row-gap: 28px;
	margin: 80px auto 0;
}
.lower-bottom-wrap.type-top {
	margin: 2.5rem auto 5rem;
	background: none;
	padding: 0;
}
.lower-bottom-wrap .lower-bottom-title {
	color: #fff;
	font-size: 27px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.4px;
	padding: 26px 15px 14px;
	background: url(img/floor-painting/lower_bottom_bg.png) no-repeat center / cover;
	margin: 0;
}
.lower-bottom-wrap:not(.type-top) > p:not([class]) {
	padding: 0 20px;
}
.lower-bottom-wrap .lower-bottom-title .text-small {
	color: inherit;
	font-size: 17px;
	line-height: 1.3;
	display: block;
}
.lower-bottom-wrap .block-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 21px;
	padding: 0 20px;
}
.lower-bottom-wrap.type-top .block-wrap {
	padding: 0;
}
.lower-bottom-wrap .block {
	padding: 17px 12px 24px;
	background: #fff;
	border: 2px solid #053b86;
}
.lower-bottom-wrap .block-catch {
	color: #053b86;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 1.45;
	padding-bottom: 8px;
	position: relative;
	margin: 0 auto;
	display: grid;
	place-content: center;
}
.lower-bottom-wrap .block-catch::after {
	content: "";
	width: 58px;
	height: 5px;
	background: #053b86;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#contents .lower-bottom-wrap .block-title {
	color: #222;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.7;
	text-align: center;
	background: none;
	border: unset;
	padding: 0;
	margin: 7px auto 0;
	display: grid;
	place-content: center;
}
#contents .lower-bottom-wrap .block-title::before,
#contents .lower-bottom-wrap .block-title::after {
	content: none;
}
.lower-bottom-wrap .img-wrap {
	margin: 4px auto 0;
}
.lower-bottom-wrap .img-wrap img {
	display: block;
	margin: 0 auto;
}
.lower-bottom-wrap .caption {
	font-size: 10px;
	color: #999;
	line-height: 1.4;
	white-space: unset;
	margin: 7px auto 0;
}
.lower-bottom-wrap .block-text {
	text-align: center;
	margin: 14px auto 0;
}
.lower-bottom-wrap .block-text .marker {
	color: #000;
	font-size: 16px;
	font-weight: bold;
}
.lower-bottom-wrap .block-list {
	margin: 6px auto 0;
}
.lower-bottom-wrap .block-list li {
	font-size: 14px;
	letter-spacing: -0.4px;
	padding-left: 21px;
}
.lower-bottom-wrap .block-list li::before {
	width: 11px;
	height: 11px;
	top: 5px;
	left: 6px;
}
.lower-bottom-wrap div[class^="btn-"] {
	margin: 29px auto 0;
}
.lower-bottom-wrap div[class^="btn-"] + div[class^="btn-"] {
	margin: 14px auto 0;
}
.lower-bottom-wrap div[class^="btn-"] a,
.lower-bottom-wrap .btn-internal.type-anchor a {
	font-size: 14px;
	padding: 12px 25px 11px;
	border-radius: 18px;
	background-size: 12px auto, cover;
	background-position: right 11px center, center;
}

/* V-CMSからの移行 edit.css の内容
----------------------------------------------------*/
/* -- edit.css -- */
.center {
  text-align: center;
}

.contents .time_function {
  font-size: 12px;
  color: gray;
	margin: 0 0 15px;
}


/* oki_20220705 */
.kanren {
  border: 1px solid #16b7bf;
  padding: 20px 30px 0;
  margin: 30px 0;
  border-radius: 3px;
  position: relative;
  box-sizing: border-box;
}

.midasi {
  border-bottom: 1px solid #16b7bf;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
  padding-bottom: 5px;
}

.kanren br {
  display: none;
}

/* アコーディオンのときに下記追加 */
.readmore-content {
  position: relative;
  overflow: hidden;
  height: 120px;
}
.readmore-content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
  /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
  height: 50px;
  z-index: 1;
  background: -webkit-linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
  background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
}

/* 続きを読むボタン */
.readmore-label {
  display: table;
  bottom: 5px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  margin: 5px auto;
  z-index: 2;
  padding: 3px 10px;
  background-color: #16b7bf;
  border-radius: 10px;
  color: #FFF;
}
.readmore-label:before {
  content: "\7D9A\304D\3092\8AAD\3080";
}
.readmore-check {
  display: none;
}
/*チェック時にボタンを非表示*/
.readmore-check:checked~.readmore-label {
  position: static;
  transform: translateX(0);
  -webkit-transform: translateX(0);
  /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
  /* display: none; */
}
.readmore-check:checked~.readmore-label:before {
  content: "\9589\3058\308B";
}
/*チェック時に高さを自動に戻す*/
.readmore-check:checked~.readmore-content {
  height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore-check:checked~.readmore-content::before {
  display: none;
}
/* V-CMSからの移行 edit.css の内容 ここまで */


/*--------------------------------------
	toc_parts
---------------------------------------*/
.toc-wrap {
	margin: 3rem auto;
}
.toc_parts {
	font-family: "Noto Sans JP";
	color: #303030;
	background: #f7f7f7;
	padding: 2.8rem 4.1rem 3.6rem;
	box-sizing: border-box;
}
.toc_parts .ttl {
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.2;
	padding: 0 0 0.1rem 0.9rem;
	border-left: 4px solid #053b86;
}
#toc {
	margin: 1.7rem 0 0 0;
	padding: 0 2rem 0;
	border-top: 1px solid #272727;
}
#toc .chapter {
	margin: 0;
  counter-reset: count;
}
#toc .chapter .chapter-h {
	font-size: 1.6rem;
	line-height: 1.8;
	margin: 2.2rem 0 0;
	padding: 0 0 0 3.4rem;
	position: relative;
	counter-increment: count;
	background: none;
}
#toc .chapter .chapter-h:last-child {
	margin-bottom: 0;
}
#toc ul.chapter .chapter-h::before {
	content: counter(count, decimal-leading-zero);
	color: #053b86;
	font-size: 2rem;
	font-weight: 900;
	position: absolute;
	top: -5px;
	left: -1px;
	background: none;
	width: auto;
	height: auto;
  border-radius: 0;
}
#toc .chapter .chapter-h a {
	font-weight: 900;
	text-decoration: none;
}
#toc li.chapter-h.chapter-h-three {
  margin: 0.55rem 0 0.55rem 3.6rem;
	padding: 0 0 0 1.5rem;
	counter-increment: none;
}
#toc li.chapter-h.chapter-h-three::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: solid 1px #0b072b;
	border-right: solid 1px #0b072b;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
#toc li.chapter-h.chapter-h-three a {
	font-weight: 400;
}
#toc .chapter br {
	display:none;
}

/*--------------------------------------
	accordion
---------------------------------------*/
.contents .ac-btn {
	width: min(320px, 100%);
	margin: 0 auto;
	padding: 19px 45px 16px;
	display: block;
	background: #efeff0;
	border-radius: 50px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	color: #272727;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	position: relative;
}
.ac-btn .ac-btn-off {
  color: inherit!important;
}
.ac-btn::after {
    content: "";
    width: 14px;
    height: 13px;
    background: url(img/floor-painting/ac-btn_off.png) no-repeat center / contain;
    position: absolute;
    right: 23px;
    top: 1px;
    bottom: 0;
    margin: auto 0;
}
.ac-btn:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
	transition: .2s;
}
.ac-btn.is-open .ac-btn-off {
  display: none;
}
.ac-btn.is-open::after {
 background-image: url(img/floor-painting/ac-btn_on.png);
}
.ac-btn.is-open::before {
  content: '目次を閉じる';
}
.accordion-item {
    display: none;
		margin: 15px auto 0;
		width: min(660px, 100%);
}


/*----------------------------------------------------
	PCサイトcss
----------------------------------------------------*/
@media screen and (min-width: 481px) {
	.sp {
		display: none !important;
	}

	/* for chrome, safari */
	#pankuzu::-webkit-scrollbar {
		height: 5px;
	}
	#pankuzu::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #C0C0C0;
	}
	#pankuzu::-webkit-scrollbar-track {
		border-radius: 2px;
		background: #eee;
	}

	#contents {
		margin: 60px auto 130px;
		max-width: 1000px;
		width: 100%;
	}

	#index,
	#category,
	#page {
		float: left;
		max-width: 724px;
		width: 73%;
		box-sizing: border-box;
	}

	#side {
		float: right;
		max-width: 240px;
		width: 26%;
	}

	.inner {
		margin: 0 auto;
		max-width: 1000px;
		width: 100%;
	}

	/* side */
	#side .category_list {
		padding: 0;
    border: solid 1px #dfdfdf;
	}
	#side .category_list + .category_list {
		margin-top: 30px;
	}
	#side .category_list .ttl {
		position: relative;
		width: 100%;
		color: #333;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
		text-align: justify;
	}
	#side .category_list .ttl a {
		padding: 2rem 2.5rem;
		border-bottom: 0;
		width: 100%;
		display: block;
		text-decoration: none;
	}
	#side .category_list .ttl a:hover {
		opacity: 0.6;
		filter: alpha(opacity=60);
		-ms-filter: "alpha( opacity=60 )";
	}
	#side .category_list .ttl + ul {
		margin-top: -1.1rem;
	}
	#side .category_list ul {
		margin: 0;
	}
	#side .category_list ul li {
		color: #473320;
		margin: 0;
		padding: 0;
		background: none;
		position: relative;
	}
	#side .category_list ul li::before,
	#side .category_list ul li.sub_cat:first-child::before,
	#side .category_list ul li.sub_cat:first-child::after,
	#side .category_list > ul > li:last-child li.sub_cat::before {
		content: "";
		width: calc(100% - 20px);
		height: 1px;
		background: #dcdcdc;
		position: absolute;
		top: unset;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		border-radius: unset;
	}
	#side .category_list ul li.sub_cat:first-child::after {
		bottom: unset;
		top: 0;
	}
	#side .category_list > ul > li:last-child li.sub_cat:last-child::before {
		content: none;
	}
	#side .category_list ul li.sub_cat a {
		padding-left: 5rem;
	}
	#side .category_list ul li.sub_cat a::before {
		content: "└";
		position: absolute;
	    left: 30px;
	    top: 17px;
	}
	#side .category_list ul li a {
		display: block;
		text-decoration: none;
	    padding: 1.55rem 4.5rem 1.55rem 2.4rem;
	    position: relative;
	}
	#side .category_list > ul > li:last-child::before {
		content: none;
	}
	#side .category_list ul li a::after {
	    content: "";
		width: 16px;
		height: 16px;
		background: url(img/floor-painting/arrow01.png) no-repeat right center / contain;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 23px;
		margin: auto 0;
	}
	#side .category_list ul li a:hover {
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha( opacity=70 )";
	}
}

/*----------------------------------------------------
	SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 480px) {
	body {
	    min-width: 100%;
	    font-weight: 500;
	    line-height: 1.7;
	}

	.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}

	img {
		max-width: 100%;
	}

	#contents {
		padding: 0 3%;
	    margin: 40px auto 118px;
	    width: 100%;
	    max-width: 100%;
	}

	.pc, .pc_br, .forPC, nav {
		display: none !important;
	}
	.sp, .sp_br, .forSP {
		display: block !important;
	}

	.contents p {
		font-size: 1.4rem;
	}
	.contents p span:not(.marker, .txt_marker),
	span.txt_bold {
		font-size: 1.5rem;
	}
	span.marker,
	span.txt_marker {
		font-size: 1.5rem;
	}

	/* header
	----------------------------------------------------*/
	.l-header-area {
		min-width: auto;
	}
	.l-header {
		width: 100%;
		padding: 1.2rem 6rem 0.9rem 3%;
		display: block;
	}
	.l-header__sitename {
	    font-size: 1rem;
	    line-height: 1.333;
	    text-align: left;
		width: auto;
		padding: 0;
	}
	.l-header__sitename::before {
		font-size: 11px;
	    margin: 0;
	    width: 25px;
	    height: 12px;
	    margin-bottom: 5px;
	}

	/* g_nav
	----------------------------------------------------*/
	.l-gnavi-area {
		width: 100%;
	}
	.l-gnavi-btn {
		width: 45px;
		height: 45px;
		display: block;
		position: fixed;
		top: 9px;
		right: 10px;
		z-index: 200;
		cursor: pointer;
		background: #fff;
	}
	.l-gnavi-btn span {
		width: 27px;
		height: 4px;
		display: inline-block;
		background: #2b68b1;
		-webkit-transition: all .4s;
		transition: all .4s;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.l-gnavi-btn:not(.is-active)::after {
		content: "MENU";
		color: #2b68b1;
		font-size: 1rem;
		font-weight: bold;
		letter-spacing: -0.2px;
		width: max-content;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		transform: scale(0.9);
	}
	.l-gnavi-btn.is-active {
		border: 0;
	}
	.l-gnavi-btn.is-active span {
		background: #2b68b1;
	}
	.l-gnavi-btn span:nth-of-type(1) {
		top: 8px;
	}
	.l-gnavi-btn span:nth-of-type(2) {
		top: 17px;
	}
	.l-gnavi-btn span:nth-of-type(3) {
		top: 26px;
	}
	.l-gnavi-btn:hover {
		color: #666;
	}
	.l-gnavi-btn:active {
		color: #666;
	}
	.l-gnavi-btn--gnavi {
		background: none;
		position: absolute;
		top: 16px;
		z-index: 200;
	}
	.l-gnavi-btn--gnavi span {
		width: calc(100% - 12px);
		left: 0;
	}
	.l-gnavi-btn--gnavi span:nth-of-type(1) {
		top: 0;
	}
	.l-gnavi-btn--gnavi span:nth-of-type(2) {
		top: 10px;
	}
	.l-gnavi-btn--gnavi span:nth-of-type(3) {
		top: 20px;
	}
	.l-gnavi-btn.is-active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}
	.l-gnavi-btn.is-active span:nth-of-type(2) {
		opacity: 0;
	}
	.l-gnavi-btn.is-active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(45deg);
		transform: translateY(-10px) rotate(45deg);
	}
	.is-navi-open .l-gnavi-area--slide-left {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.l-gnavi-area02 {
		display: none;
	}

	/* FV
	----------------------------- */
	.mv-wrap {
		background-image: url(img/floor-painting/mv.jpg);
	}
	.mv-wrap .mv-inner {
		padding: 2rem 0 2.6rem;
    max-width: 100%;
	}
	.mv-wrap .mv-inner .mv {
		width: 88%;
		padding: 1.9rem 1.7rem 2.5rem;
	}
	.mv-wrap .mv-inner .mv .mv-title {
		font-size: 1.8rem;
		line-height: 1.15;
		letter-spacing: 1px;
		text-align: left;
		padding: 0 1rem 0.5rem 4rem;
		background-size: 33px auto;
		background-position: left top;
		width: fit-content;
		margin: 0 auto 0.6rem;
	}
	.mv-wrap .mv-inner .mv .mv-title .text-small {
		font-size: 1.5rem;
	}
	.mv-wrap .mv-inner .mv .mv-title::after {
		content: none;
	}
	.mv-txt p {
		font-size: 1.2rem;
		line-height: 1.5;
		letter-spacing: normal;
	}

	/* pankuzu */
	#pankuzu {
		margin: 2rem auto;
		padding:0 1rem;
		font-size: 1.2rem;
		width: 100%;
		white-space: nowrap;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background: #ececeb;
	}

	/* footer
	----------------------------------------------------*/
	.l-footer-area__inner {
		padding: 0;
		max-width: 100%;
	}
	.l-footer-area__inner .l-footer-logo {
		color: #333;
		font-size: 1.6rem;
		font-weight: bold;
		letter-spacing: 1px;
		text-align: center;
		padding: 3.6rem 2rem 2rem;
		margin: 0;
	}
	.l-footer-area__inner .l-footer-logo a {
		display: inline-block;
		color: inherit;
	}
	.l-footer-area__inner .l-footer-menu-wrapper {
		margin: 0 auto;
		padding: 0;
	}
	.l-footer-menu {
		margin: 0;
		padding: 0;
	}
	.l-footer-menu + .l-footer-menu {
		margin-top: 11px;
	}
	.l-footer-menu__title .l-footer-menu__title__link {
		font-size: 1.6rem;
		width: auto;
		padding: 0.65rem 3.5rem 1.25rem 2rem;
	}
	.l-footer-menu__title .l-footer-menu__title__link.type-sitemap {
		font-size: 1.4rem;
		padding-left: 3.8rem;
		margin-top: 1.6rem;
	}
	.l-footer-menu__title .l-footer-menu__title__link::after,
	.l-footer-menu__list .l-footer-menu__list__item a::after {
		position: absolute;
		content: "";
		display: block;
		border-top: 3px solid #2b68b1;
		border-right: 3px solid #2b68b1;
		top: 0;
		bottom: 0.6rem;
		margin: auto 0;
		right: 22px;
		width: 11px;
		height: 11px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.l-footer-menu__list .l-footer-menu__list__item a::after {
		bottom: 0;
		right: 13px;
	}
	.l-footer-menu__title .l-footer-menu__title__link.type-sitemap::after {
		content: none;
	}
	.l-footer-menu__list {
		display: block;
		padding: 0 1rem;
		margin: 0;
	}
	.l-footer-menu__list .l-footer-menu__list__item {
		width: 100%;
		margin: 0;
	}
	.l-footer-menu__list .l-footer-menu__list__item a {
		font-size: 1.4rem;
		padding: 1rem 4rem 1rem 2.8rem;
		border-bottom: 1px solid #053b86;
		margin: 0;
	}
	.l-footer-menu__list__link::before,
	.l-footer-menu__title .l-footer-menu__title__link.type-sitemap::before {
		width: 15px;
		height: 15px;
		top: 1.4rem;
		left: 0.8rem;
	}
	.l-footer-menu__title .l-footer-menu__title__link.type-sitemap::before {
		content: "";
		background: #4461d0;
		border-radius: 50%;
		position: absolute;
		top: 1rem;
		left: 1.8rem;
	}
	.l-footer-submenu__list__item {
		margin: 0;
	}
	.l-footer-submenu__list__link::before {
		color: #333;
		font-size: 1.8rem;
		top: 10px;
		left: 2px;
	}
	.l-footer-area .l-footer-area__inner .menseki {
		width: 90%;
		font-size: 1.3rem;
		line-height: 1.65;
		padding: 3.1rem 0 1.3rem;
	}
	.l-footer-area .l-footer-area__inner .menseki::before {
		content: none;
	}
	.l-footer-area .l-footer-area__inner .ucp {
		font-size: 1.3rem;
		line-height: 1.65;
		margin: 0 auto 1.3rem;
	}
	.l-pagetop {
		right: 12px;
	}
	.l-pagetop__link {
		width: 55px;
		height: 55px;
	}
	.l-footer-copy-wrapper {
		padding: 0 1.5rem;
	}
	.l-footer-copy {
		color: #fffefe;
		font-size: 1.2rem;
		line-height: 1.666666666;
		padding: 1rem 0 1.3rem;
    display: block;
		max-width: 100%;
	}
	.l-footer-copy-wrapper .sitemap {
		display: none;
	}

	/* side */
	#side {
		display: none;
	}

	/* parts home */
	#index h2,
	#index h3,
	#index h4,
	#index h5 {
		width: 100%;
		margin: 4rem 0 3rem;
	}

	#index h2,
	#category h1,
	#page h1 {
		padding: 1.45rem 4rem 1rem;
		font-size: 2rem;
		line-height: 1.4;
		text-align: center;
	}
	#index h2::after,
	#category h1::after,
	#page h1::after {
		width: 15px;
		height: 24px;
		left: 6px;
		bottom: -23px;
	}

	#index h3,
	#category h2,
	#page h2 {
		font-size: 1.9rem;
		line-height: 1.4;
		padding: 1rem 1rem 0.5rem 4.5rem;
		background-size: 31px auto;
		background-position: left 7px center;
	}

	#index h4,
	#category h3,
	#page h3 {
		font-size: 1.8rem;
		line-height: 1.3;
		letter-spacing: 0.5px;
		padding: 0 0 0.7rem;
		border-bottom-width: 4px;
		margin: 3rem 0 2rem;
	}
	#index h4::after,
	#category h3::after,
	#page h3::after {
		width: min(80px, 23%);
		height: 4px;
		bottom: -4px;
	}

	#index h5,
	#category h4,
	#page h4,
	#category h5,
	#page h5 {
		font-size: 1.7rem;
		letter-spacing: 0.8px;
		padding-left: 1.1rem;
		margin: 3rem auto 2rem;
	}
	#category h5, #page h5 {
		font-size: 1.5rem;
	}
	#index h5::before,
	#category h4::before,
	#page h4::before,
	#category h5::before,
	#page h5::before {
		width: 4px;
		height: calc(100% - 3px);
		left: 0px;
		bottom: 2px;
	}

	/* slider
	----------------------------------------------------*/
	.slider-area .slider {
		display: block;
	}
	.slider-area .slider-for {
		width: 100%;
		padding: 0 1em;
		float: none;
	}
	.slider-area .slider-for .slick-slide {
		margin: 0 0 3rem;
	}
	.slider-area .slider-for img {
		max-width: 98%;
		width: auto;
		height: 160px;
	}
	.slider-area .slider-for .slick-next,
	.slider-area .slider-for .slick-prev {
		width: 40px;
		height: 40px;
	}
	.slider-area .slider-for .slick-next {
		right: 0;
	}
	.slider-area .slider-for .slick-prev {
		left: 0;
	}
	.slider-area .slider-for .slick-prev::before,
	.slider-area .slider-for .slick-next::before {
		width: 10px;
		height: 10px;
	}
	.slider-area .slider-for .slick-prev::before {
		margin-left: 16px;
	}
	.slider-area .slider-for .slick-next::before {
		margin-right: 16px;
	}
	.slider-area .slider-nav {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		position: static;
	}
	.slider-area .slider-nav img {
		width: auto;
	}
	.slider-area .slider-nav .slick-list {
		padding: 0 !important;
	}
	.slider-area .slider-nav .slick-track {
		width: 100% !important;
		left: 0 !important;
		opacity: 1;
		display: flex;
		justify-content: center;
	}
	.slider-area .slider-nav .slick-slide {
		width: 20% !important;
		height: 50px;
		padding: 5px .5rem;
	}
	.slider-area .slider-nav .slick-slide + .slick-slide {
		margin-top: 0;
	}

	/* 下層共通パーツ
	----------------------------------------------------*/
	.lower-bottom-wrap {
		row-gap: 2.5rem;
		margin-top: 6rem;
	}
	.lower-bottom-wrap .lower-bottom-title {
		font-size: 1.9rem;
		line-height: 1.4;
		padding: 2rem 1.5rem 1.4rem;
	}
	.lower-bottom-wrap .lower-bottom-title .text-small {
		font-size: 1.4rem;
		margin-bottom: 0.5rem;
	}
	.lower-bottom-wrap:not(.type-top) > p:not([class]) {
		padding: 0 3%;
	}
	.lower-bottom-wrap .block-wrap {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2rem 0;
		padding: 0 3%;
	}
	.lower-bottom-wrap .block {
		padding: 1.7rem 1.5rem 2.5rem;
	}
	.lower-bottom-wrap .block-catch {
		padding-bottom: 10px;
		display: block;
	}
	.lower-bottom-wrap .block-catch::after {
		width: 40px;
		height: 3px;
	}
	#contents .lower-bottom-wrap .block-title {
		font-size: 1.8rem;
		margin-top: 10px;
		display: block;
	}
	.lower-bottom-wrap .img-wrap {
		margin-top: 5px;
	}
	.lower-bottom-wrap .caption {
		margin-top: 8px;
		overflow: unset;
	}
	.lower-bottom-wrap .block-text {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.lower-bottom-wrap .block-text .marker {
		font-size: 1.8rem;
	}
	.lower-bottom-wrap .block-list {
		margin-top: 10px;
	}
	.lower-bottom-wrap .block-list li {
		font-size: 1.7rem;
		padding-left: 2rem;
	}
	.lower-bottom-wrap .block-list li::before {
		width: 10px;
		height: 10px;
		left: 2px;
	}
	.lower-bottom-wrap div[class^="btn-"] {
		margin-top: 2.5rem;
	}
	.lower-bottom-wrap div[class^="btn-"] + div[class^="btn-"] {
		margin-top: 1.5rem;
	}
	.lower-bottom-wrap div[class^="btn-"] a,
	.lower-bottom-wrap .btn-internal.type-anchor a {
	    font-size: 1.6rem;
	    padding: 1.5rem 4rem 1.4rem;
	    border-radius: 32px;
	    background-size: 17px auto, cover;
	    background-position: right 18px center, center;
	}

	/* アイコン付き見出し */
	#contents .rank,
	#contents .check {
		font-size: 1.8rem;
		line-height: 1.3;
		padding: 0.8rem 1rem 0.5rem 8.8rem;
		margin: 3.5rem 0 1.5rem;
	}
	#contents .rank::before,
	#contents .check::before {
		top: 1px;
		left: 4px;
		width: 58px;
		height: 52px;
	}

	/* list */
	.contents ul {
		margin: 1.5rem 0;
	}
	.contents ul > li {
		font-size: 1.7rem;
		line-height: 1.3;
		padding-left: 2rem;
		margin-bottom: 0.65rem;
	}
	.contents ul > li::before {
		width: 10px;
		height: 10px;
		top: 5px;
		left: 2px;
	}

	/* table */
	table,
	table th,
	table td {
		border-color: #333;
	}
	table th,
	table td {
		font-size: 1.6rem;
		letter-spacing: -1px;
		padding: 1.3rem 0.95rem;
	}
	.js-scrollable {
		padding: 1rem 0 1.2rem;
		width: 100%;
		margin: 3rem 0;
	}
	.js-scrollable::-webkit-scrollbar {
		height: 8px;
	}
	.js-scrollable::-webkit-scrollbar-track {
		background: #fff;
	}
	.js-scrollable::-webkit-scrollbar-thumb {
		background: #c0c0c0;
		border-radius: 50px;
	}
	.js-scrollable table {
		width: inherit !important;
		margin: 0;
	}
	.js-scrollable th,
	.js-scrollable td {
		white-space: nowrap;
		word-break: keep-all;
	}
	.js-scrollable td {
		/* border: 0;
		border-bottom: 1px solid #53a58e;
		border-left: 1px solid #53a58e !important; */
		padding: 15px;
	}
	.js-scrollable tr:last-child td {
		/* border-bottom: none; */
	}
	.js-scrollable th:first-child {
		/* border-left: none !important; */
	}

	/* float-wrap */
	#contents .float-wrap {
		margin: 3rem 0;
	}
	#contents .float-wrap .float-img {
		width: auto;
		max-width: 90%;
		margin: 0 auto 1.3rem;
		float: none;
	}
	#contents .float-wrap .float-img .caption {
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 1.6rem 0 0;
	}
	.contents .float-wrap .catch {
		font-size: 1.9rem;
		padding-bottom: 8px;
	}
	.contents .float-wrap p {
		font-size: 1.5rem;
		line-height: 1.5;
	}

	/* btn
	----------------------------- */
	.contents .btn-internal,
	.contents .btn-web,
	.contents .btn-link,
	.contents .btn-tel {
		width: 93.5%;
		margin: 10px auto 15px;
	}
	.contents .btn-link a {
		color: #053b86;
		border: 1px solid #d5d5d5;
		background: url(img/floor-painting/arrow02.png) no-repeat, linear-gradient(to right, #efeff0, #e6e6e7 100%);
	}
	.contents .btn-internal a,
	.contents .btn-web a,
	.contents .btn-link a,
	.contents .btn-tel a {
		font-size: 1.6rem;
		line-height: 1.5;
		text-align: center;
		text-decoration: none;
		display: block;
		border-radius: 32px;
		background-size: 17px auto, cover;
		background-position: right 18px center, center;
		padding: 1.5rem 4rem 1.4rem;
		box-shadow: 0 1px 0 0 #cbcbcb;
	}
	.contents .btn-link a::before {
		right: 22px;
		left: unset;
		top: 0;
		bottom: 0;
		margin: auto 0;
		border-top: 3px solid;
		border-right: 3px solid;
	}
	.contents .btn-tel {
		display: block;
	}
	.contents .btn-tel a {
		padding-left: 55px;
		padding-right: 50px;
		background: url(img/floor-painting/tel.png) no-repeat left 33px center / 19px auto, var(--tel-bg-color);
	}

	/* box-wrap
	----------------------------- */
	.box-wrap {
		margin: 3.5rem 0;
		grid-template-columns: 1fr;
		row-gap: 2.5rem;
		max-width: 100%;
	}
	.box-wrap .box {
		padding: 1.4rem 1.4rem 2rem;
		row-gap: 1.8rem;
	}
	#contents .box-wrap .box .box-head > *:not(a) {
		font-size: 1.8rem;
		line-height: 1.388888888;
		padding: 1.6rem 2rem 1.1rem 2.4rem;
	}
	.box-wrap .box .box-head a {
		padding-right: 2.5rem;
    background-size: 17px auto;
	}
	.box-wrap .box-body {
		padding: 0 1rem;
	}
	.box-wrap .box-body p {
		font-size: 1.5rem;
		letter-spacing: normal;
	}

	/* frame-wrap
	----------------------------- */
	.frame-wrap {
		grid-template-columns: 1fr;
		gap: 2.5rem 0;
		margin: 3rem auto;
	}
	.frame-wrap .frame {
	}
	.frame-wrap .frame .frame-head {
		padding: 1.3rem 2.3rem 1rem;
	}
	#contents .frame-wrap .frame .frame-head > *:not(a) {
		font-size: 1.8rem;
    line-height: 1.388888888;
		letter-spacing: 0.8px;
    text-align: left;
	}
	.frame-wrap .frame .frame-head a {
		background-size: 17px auto;
		padding-right: 2.2rem;
	}
	.frame .frame-body {
		padding: 2.1rem 2.4rem 2.8rem;
	}
	.frame .frame-body p {
    font-size: 1.6rem;
		letter-spacing: normal;
	}
	.frame .frame-body p + p {
		margin-top: 1.5rem;
	}

	/*--------------------------------------
		toc_parts
	---------------------------------------*/
	.contents .ac-btn .ac-btn-off,
	.contents  .ac-btn.is-open::before {
		font-size: 1.6rem;
	}
	.accordion-item {
		margin-top: 2rem;
		width: 100%;
	}
	.toc_parts {
		padding: 3rem 2.5rem;
	}
	.toc_parts .ttl {
		font-size: 1.6rem;
		border-left-width: 2px;
	}

	#toc {
		margin: 1.5rem 0 0 0;
		padding: 1rem 0 0;
	}
	#toc .chapter .chapter-h {
		margin: 1rem 0;
		padding: 0 0 0 3rem;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	#toc ul.chapter .chapter-h::before {
		top: -3px;
		font-size: 1.8rem;
	}

	#toc li.chapter-h.chapter-h-three {
		margin: 0.5rem 0 0.5rem 2rem;
	}
	#toc li.chapter-h.chapter-h-three::before {
		top: 6px;
		width: 6px;
		height: 6px;
	}

	#toc li.chapter-h-three + .chapter-h-two {
		margin-top: 2rem;
	}
}